[gelöst] [HTTPDMOD] Regex die aus false 0 macht

Begonnen von andi11, 06 September 2019, 20:59:20

Vorheriges Thema - Nächstes Thema

andi11

Hallo zusammen,
ich hab jetzt schon eine ganze Weile gegoogelt, aber nix gefunden.
Ich werte die Rückgabe von einem "Rainyman" aus. Funktioniert soweit sehr gut, bis auf einen Wert. Dieser ist false und true. Am liebsten wäre es mir, wenn ich mein aktuelles Regex "w_sonne_scheint".*?"value":"(true|false) gleich so anpassen könnte, das daraus 0 oder 1 wird.
Dann muss ich mir kein Userreading oder sonst irgendwas basteln, um es später z.b. in einem Chart darzustellen.

Geht das irgendwie?

yersinia

Bezüglich des RegEx kann ich dir nicht helfen, aber in den SVG plots kannst du Textwerte auch plotfähig ersetzen:
ZitatPlot-Editor
Dieser Editor ist in der Detailansicht der SVG-Instanz zu sehen. Die meisten Features sind hier einleuchtend und bekannt, es gibt aber auch einige Ausnahmen:
    [..]
    wenn ein fester Wert (nicht aus einer Wertespalte) definiert werden soll, für den Fall, das eine Zeichenfoge gefunden wurde (z.B. 1 für eine FS20 Schalter, der AN ist und 0 für den AUS-Zustand), muss zuerst das Tics-Feld gefüllt, und die .gplot-Datei gespeichert werden, bevor der Wert über die Dropdownliste erreichbar ist.
        Beispiel:
        Eingabe im Tics-Feld: ("On" 1, "Off" 0)
        .gplot-Datei speichern
        "1" als Regexp switch.on und "0" für den Regexp switch.off vom Spalten-Dropdown auswählen (auf die Gänsefüßchen achten!).
        .gplot-Datei erneut speichern
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

amenomade

#2
Zitat von: andi11 am 06 September 2019, 20:59:20
Hallo zusammen,
ich hab jetzt schon eine ganze Weile gegoogelt, aber nix gefunden.
Ich werte die Rückgabe von einem "Rainyman" aus. Funktioniert soweit sehr gut, bis auf einen Wert. Dieser ist false und true. Am liebsten wäre es mir, wenn ich mein aktuelles Regex "w_sonne_scheint".*?"value":"(true|false) gleich so anpassen könnte, das daraus 0 oder 1 wird.
Dann muss ich mir kein Userreading oder sonst irgendwas basteln, um es später z.b. in einem Chart darzustellen.

Geht das irgendwie?
readingNNOExpr ist die einfachste Lösung

readingNNOExpr $val eq "true" ? 1 : 0
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

andi11