[Gelöst] DOIF reagiert nicht

Begonnen von thgorjup, 07 Oktober 2018, 12:29:24

Vorheriges Thema - Nächstes Thema

thgorjup

Hallo, kann mir bitte jemand einen Tipp geben, warum mein DOIF nicht reagiert?

Logik: Wenn der nanoCUL länger als 60 Sekunden auf "opened" steht, dann schicke mir eine Nachricht.


define nanoCULWatchdog DOIF ( [nanoCUL] eq "opened" && ( time() - time_str2num(ReadingsTimestamp("nanoCUL","state","0")) > 60 ) ) {\
fhem("set pushmsg msg 'fhem' 'nanoCUL Status opened!'");
}


Das es immer ausgelöst werden soll, habe ich bereits aktiviert.

attr nanoCULWatchdog do always


Ebenso wird beim nanoCUL ein Event bei jeglicher Veränderung ausgelöst:


attr nanoCUL event-on-change-reading state
attr nanoCUL event-on-update-reading state


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

Damian

Zitat von: thgorjup am 07 Oktober 2018, 12:29:24
Hallo, kann mir bitte jemand einen Tipp geben, warum mein DOIF nicht reagiert?

Logik: Wenn der nanoCUL länger als 60 Sekunden auf "opened" steht, dann schicke mir eine Nachricht.


define nanoCULWatchdog DOIF ( [nanoCUL] eq "opened" && ( time() - time_str2num(ReadingsTimestamp("nanoCUL","state","0")) > 60 ) ) {\
fhem("set pushmsg msg 'fhem' 'nanoCUL Status opened!'");
}


Das es immer ausgelöst werden soll, habe ich bereits aktiviert.

attr nanoCULWatchdog do always


Ebenso wird beim nanoCUL ein Event bei jeglicher Veränderung ausgelöst:


attr nanoCUL event-on-change-reading state
attr nanoCUL event-on-update-reading state


Danke und Gruß
Thomas

Wie soll die Zeitspanne größer 60 sein, wenn dein DOIF bei "open" getriggert wird, dann ist die Zeitspanne immer gleich Null, weil der Status gerade geändert wurden ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

thgorjup

Hmm, ok da ist etwas wahres dran. Dann musss ich eine andere Lösung suchen die mir verzögert eine Nachricht schickt....
FHEM auf Ubuntu 18.04LTS, 2x nanoCUL, JeeLink, nanoPIR, MQTT, ESP-Easy, HUE.
Sensoren+Aktoren: HM, IT, Lacrosse, Multitrade-PIR, VU+, Somfy

Damian

Zitat von: thgorjup am 07 Oktober 2018, 12:58:43
Hmm, ok da ist etwas wahres dran. Dann musss ich eine andere Lösung suchen die mir verzögert eine Nachricht schickt....

Das was du willst, sieht dann eher so aus:

define nanoCULWatchdog DOIF ([nanoCUL:state] eq "opened") (set pushmsg msg 'fhem' 'nanoCUL Status opened!')
attr nanoCULWatchdog wait 60


Wenn der Status sich unter 60 Sekunden wieder ändert, gibt es keine Meldung.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

thgorjup

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