[GELÖST] UserReading mit RegEx für DOIF

Begonnen von thgorjup, 20 Juni 2017, 11:12:38

Vorheriges Thema - Nächstes Thema

thgorjup

Hallo Leute,

ich möchte Abfragen ob ein DOIF enabled/disabled ist. Da das DOIF mehrere cmd´s aufweisen kann, wollte ich den "state" per RegEx in einem UserReadings identifizieren.
Ich erhalte aber eine Fehlermeldung 

UserReadings:

attr LuefterSteuerung status { ReadingsVal("LuefterSteuerung","state",0) =~ m/cmd.*/ ? "on" : "off" }


Fehlermeldung:

Error evaluating LuefterSteuerung userReading status: syntax error at (eval 156788) line 1, near "LuefterSteuerung:"


Wo ist der Fehler?

Danke und Gruß
Thomas
FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy

rabehd

Zitat von: thgorjup am 20 Juni 2017, 11:12:38
ich möchte Abfragen ob ein DOIF enabled/disabled ist.

Das ist doch ein Attribut des DOIF-Device, warum fragst Du es nicht direkt ab?

https://wiki.fhem.de/wiki/DevelopmentModuleAPI#AttrVal
Auch funktionierende Lösungen kann man hinterfragen.

thgorjup

Ok, danke. Das kann ich verwenden. Aber noch eine Frage.
Wie kann ich das DOIF per Tablet UI auf enable/disable setzen?
FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy

thgorjup

Ok, selbst gelöst. Folgende Kombination macht es möglich.

DOIF Attribut:

attr LuefterSteuerung userReadings status { ReadingsVal("LuefterSteuerung","state",0) =~ m/initialized|cmd.*/ ? "on" : "off" }


Tablet UI

<div data-type="checkbox" data-device="LuefterSteuerung" data-get="status" data-get-on="on" data-get-off="off" data-set-on="enable" data-set-off="disable"></div>
FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy