NEWS
File auslesen und auf Datenpunkte legen
-
Hallo zusammen
Ich habe ein File in folgender Form
Alarm_A=true; Alarm_B=true; Alarm_C=true; Ausfall_Sensor_1=true; Ausfall_Sensor_2=true; Ausfall_Sensor_3=true; Ausfall_Sensor_4=true; Stoerung_A=true; Stoerung_B=true; Stoerung_C=true; Serverstoerung=true; Netzwerkstoerung=true; Datenbankstoerung=true; Wartungsbetrieb=true;
welches ich gerne auslesen und auf Datenpunkte legen möchte. Wie lässt sich das am besten erreichen? Mit dem Parser Modul hatte ich leider noch keinen Erfolg, bzw. wie müsste da der Regex-Code genau aussehen? Oder wie lässt sich das Ganze auch direkt mit Javascript erlediden?
Besten Dank schon mal
Gruss
Andi -
@king_dingeling sagte in File auslesen und auf Datenpunkte legen:
wie müsste da der Regex-Code genau aussehen?
Was willst du denn als Ergebnis haben?
-
Am liebsten für jede Zeile einen Bool-DP Die Datenpunkte sollen anschliessend per Modbus-Slave weitergereicht werden.
-
@king_dingeling ich weiß nicht ob der Parser auch Files auslesen kann.
- RegEx:
=(\w+);
- Typ Bool
- Num 0-13 für jede Zeile
- RegEx:
-
Vielen Dank schon mal! Regex scheint zu passen:
Leider zeigen die Datenpunkt aber immer true an. Was mache ich noch falsch? Auch ein 0 oder 1 als Value ändert am Verhalten nichts...
-
@king_dingeling sagte in File auslesen und auf Datenpunkte legen:
Regex scheint zu passen:
Natürlich
@king_dingeling sagte in File auslesen und auf Datenpunkte legen:
Leider zeigen die Datenpunkt aber immer true an
Bitte Screenshot von dem Editor einer Regel (Bleistift)
EDIT: am besten wenn die Zeile im text auf false steht.
In deinem Testtext steht ja alles auf true -
@Homoran Siehe Beitrag über dir
-
Du hast auch auf den play-Button geklickt?
Wenn ja, ändere mal auf Zeichenkette, ggf. Regel löschen und neu anlegen -
@king_dingeling sagte:
Leider zeigen die Datenpunkt aber immer true an.
Probier mal diesen RegEx: =(true);
Das Ergebnis soll ja kein String "false" oder "true" sein, sondern als "boolean", dass der Match passt. -
@Homoran Mit String funktioniert es!
-
@king_dingeling
Kommt jetzt drauf an, was dein Modbus auswerten kann.
wenn der mit String true / false zurechtkommt, dann ist es so sicherer.Die Idee von @paul53 erstellt dann einen "echten" bool der bei "true" wahr und SONST false ist.
Falls es noch einen weiteren status, z.B. "undefined" gäbe, wäre das jedoch dann auch "falsch" -
Ich habe es nun mit RegEx
<Datenpunkttext>=(true);
gelöst. Ohne wäre er immer nur zu den true Werten gesprungen. Funktioniert einwandfrei! Vielen Dank, top Support!
-
@Homoran sagte:
"undefined" gäbe, wäre das jedoch dann auch "falsch"
Was der Logik von Javascript entspricht (implizite Typwandlung).