Hallo zusammen,
nutze ein milight4 Controller zur Lichtsteuerung in Verbindung mit ftui.
So weit klappt das auch alles bis auf den Status des switches für den "On" Modus.
Hier wird von milight im status der Wert On plus Helligkeitswert übergeben.
Für den Swicht benötige in jedoch nur den Wert On ohne den Helligkeitswert.
Kann ich den Wert mit Userreadings aus dem Wert state als neue Variable erzeugen und wenn ja wie ?
Hier mal ein List des Devices.
Readings:
2016-05-04 13:14:53 brightness 27
2016-05-04 13:02:44 brightness_on 27
2016-05-04 13:14:53 discoMode 0
2016-05-04 13:14:53 discoSpeed 0
2016-05-04 13:14:53 hsv 241,100,27
2016-05-04 13:14:53 hue 241
2016-05-04 13:14:53 previousState 241,100,0
2016-05-04 13:14:53 rgb 010044
2016-05-04 13:14:53 saturation 100
2016-05-04 13:14:53 state on 27
2016-05-04 13:14:53 transitionInProgress 0
Gruß
Ralf
Interessante Frage. Eigentlich ja nur mal schnell mit regulären Ausdrücken filtern. Ich habe mal getestet, bin aber nicht glücklich geworden:define du_test_regex dummy
attr du_test_regex userReadings stateF {ReadingsVal("du_test_regex","state",0) =~ /(\D+)/;;}
Ich bekomme immer nur eine 1 in mein userReading >:(
Aber vielleicht hilft es ja als Anregung in die richtig Richtung und es findet sich noch ein Perl-Held, der mein Gestümper korrigieren kann.
fehlerhafte Grüße
Niels
attr <device> userReadings userState {ReadingsVal("<device>","state","unknown ") =~ /^(\w+)\s/; $1}
<device> muss durch den echten Gerätenamen ersetzt werden. Das Semikolen muss je nach Art der Eingabe noch escapted (verdoppelt) werden.
Hab das mal getestet, aber es geht nur bei on, sobalt ich die Lampe ausschalte ändert sich der Wert nicht auf off.