Text Parser

Hallo!

Ich versuche mit dem WWWReader und dem Text Parser diese HTML-Ausgabe in eine Variable zu verpacken:

input0;OFF

Mehr gibt die Seite nicht aus. Ich habe jetzt schon verschiedenstes versucht um dieses OFF in eine Variable zu bringen. Wie muß ich die Text Parser Rule richtig setzen damit dies funktioniert?

edit: sorry, hab falschen Bereich erwischt! Bitte verschieben!

Hallo,

geht das so nicht viel einfacher?


$variable = "input;OFF";
$out = explode(";", $variable);
echo $out[1];

Danke mal für die Antwort. Ich bin noch ganz am Anfang mit meinen Programmierkenntnissen. Kann mir momentan noch nicht ganz vorstellen wie ich das jetzt mit dem WWWReader verbinde, mit dem ich ja die Abfrage der Seite machen muß, aber ich versuchs und probier einfach mal!

Keine Ahnung was du mir damit sagen willst. Habs mal durchgesehen. Nochmal zur Erklärung:

Ich gebe per WWWReader dieses Kommando

http://192.168.100.18/input0?PW=wut&

an mein W&T I/O Modul. Dieses gibt dann entweder

Input0:OFF od. Input0:ON

per HTML zurück. Dieses ON/OFF will ich jetzt in einer Variable haben, damit ich diese für weitere Skripte verwenden kann. Ich verstehe jetzt nicht ganz wie ich dieses Skript von dir mit dem Reader verbinde :confused: . Deswegen wollte ich dieses ON/OFF ja mit dem Text Parser ausschneiden…

Sorry, aber ich stehe erst am Anfang und versuchs mit „Learning by doing“.

Hallo hofimax,

Du musst im Textparser eine Rule anlegen (rechte Mousetaste: add rule),
dann gettext auswaehlen und das in eine variable ablegen. Dann in meinem Script diese Variable verwenden…

So wuerde ich das jetzt machen, wobei ich dieses Konstrukt noch nie benutzt habe.

Genau das habe ich gemacht, laut Doku. Jedoch kommt bei mir immer dann in der Variable immer der Fehler „No valid Rule definied“.

Wäre toll wenn mir jemand einen Tipp geben könnte?!

Habe das jetzt auch schon mit diversen Homepages versucht. Muß ich die Rules in irgendwelche Zeichen einbetten damit sie akzeptiert werden??

Hallo hofimax,

Was steht denn bei Dir in Tag one?

Eine Variable(String) hast Du angelegt.

Das kennst Du auch schon.

Ansonsten stell doch mal deinen HTML-Code rein, was Du zurück bekommst.

HTML gibt aus:

input0;OFF

Variable habe ich angelegt

Nach dem Wiki hab ichs versucht :wink:

In Tag One habe ich entweder gar nix reingeschrieben bzw. mit ; habe ich es schon versucht…

Ich will nur dieses OFF bzw. halt ON in der Variable haben.

Wenn da wirklich nur das drin steht, probier doch mal CutText after.
In Tag schreibst Du dann

input0;

So hab ich gleich so versucht, funktioniert auch nicht:

Cut Text after:

Tag one: input0;

Get text -> variable

Bei Get text habe ich nichts in den Tag geschrieben, das stimmt doch so oder?

Sorry, Blödsinn, er schneidet ja dahinter ab.

Was ich nicht versteh, warum GetText nicht geht.

Tag one: input0;

Genaú so habe ich es ja gemacht…

Verstehe ehrlich gesagt auch nicht warum „Get text“ nicht funktioniert. Habe zum Testen nur mal „Get text“ versucht, bringt alles nix. Es kommt immer die Fehlermeldung „No valid Rules defined! Please check your Tags!“

Hab keine Ahnung mehr :frowning:

Schreibs doch mal voll rein.

input0;off

Nö, hilft auch ned. Bringt mir ja auch nix, da sich OFF ja auf ON ändern kann, je nach Zustand. Schon sonderbar, schaut so einfach aus und geht nicht. Ich denke ich mache hier irgendeinen grundlegenden Fehler.

Ist schon klar das Dir das nichts bringt, nur muss wenn das selbe drin steht es auch in der Variable erscheinen, denke ich :confused:

So, ich gebs auf für heute, vielleich haben ja Steiner&Co noch eine Idee!!! Danke dir mal!!

Das muss doch gehen. Probier das nochmal.

Du schreibst einmal mit; und dann wieder mit: aufpassen das es richtig ist.

Textparser.png

So bekomme ich jetzt wenigstens einen Wert:

Cut text between i / ;

dann bekomme ich als Variable

nput0

Jetzt stellt sich für mich die Frage, kann ich ein „offenes Ende“ irgendwie als Tag definieren? Also das nach dem OFF bzw. ON?!

Ich frag mal anderst rum. Kannst Du das mit einer Webseite abrufen, wenn ja sieh doch mal in den Quelltext. Kann ja nicht sein das da nur Input drin stehen soll. Das ist doch mit Sicherheit noch irgendwo eingebettet. Wenn ja, kannst Du das schön rausschneiden.

Ich habe das mal nachgestellt mit einer Webseite, das funktioniert einwandfrei.

Das kann ich mit einer Website aufrufen, ja. Aber wenn ich in den Quelltext gehe, steht genau dasselbe drin. Daran hatte ich auch schon gedacht.

Gibt es eine Alternative diese Ausgabe in einer Variable unterzubringen bzw. in IPS zu kriegen? Ich will unbedingt diese Inputzustände in IPS abbilden. Das Schalten der Outputs funktioniert ja schon ganz wunderbar mit dem WWWReader!

Wobei ich sowieso einen Nachteil sehe mit dem WWWReader und dem Abfragen der Inputs: Der Reader macht minimal nur alle Minuten ein Update des Inputs? Ich würde es gerne jede Sekunde machen…