Hallo,
gestern habe ich mir ein DOIF eingerichtet, was mir eine Nachricht per push schickt, ob alle Fenster geschlossen sind, wenn die Tür abgeschlossen wird. Das hat bis heute früh auch wunderbar funktioniert.
Heute Nachmittag haben wir die Wohnung dann wieder verlassen und ich hab mich gewundert, dass wir keine Pushnachricht bekommen.
Jetzt hab ich mal nachgeschaut und gesehen das die Readings sind verändert haben.
Aus fester_alle wird nun plötzlich e_fenster_alle_STATE. Ich bilde mir ein, dass es gestern noch anders war. Da hat es auch wunderbar geklappt das ich eine Pushnachricht bekommen habe.
Hier mal mein Listing:
Internals:
CFGFN
DEF ([keymatic_wohnung] eq "locked" and [fenster_alle] eq "closed") (set pushmsg msg 'Alle Fenster sind geschlossen.') DOELSEIF ([keymatic_wohnung] eq "locked" and [fenster_alle] eq "open") (set pushmsg msg 'Ein Fenster ist noch geöffnet.')
NAME status_msg_fenster
NR 7107
NTFY_ORDER 50-status_msg_fenster
STATE cmd_1
TYPE DOIF
Readings:
2016-10-30 17:27:34 Device fenster_alle
2016-10-30 09:17:39 cmd 1
2016-10-30 09:17:39 cmd_event fenster_alle
2016-10-30 09:17:39 cmd_nr 1
2016-10-30 17:27:34 e_fenster_alle_STATE closed
2016-10-30 17:25:34 e_keymatic_wohnung_STATE unlocked
2016-10-30 09:17:39 state cmd_1
Condition:
0 InternalDoIf($hash,'keymatic_wohnung','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "locked" and InternalDoIf($hash,'fenster_alle','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "closed"
1 InternalDoIf($hash,'keymatic_wohnung','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "locked" and InternalDoIf($hash,'fenster_alle','STATE','','',AttrVal($hash->{NAME},'notexist',undef)) eq "open"
Devices:
0 keymatic_wohnung fenster_alle
1 keymatic_wohnung fenster_alle
all keymatic_wohnung fenster_alle
Do:
0:
0 set pushmsg msg 'Alle Fenster sind geschlossen.'
1:
0 set pushmsg msg 'Ein Fenster ist noch geöffnet.'
2:
Helper:
event closed
globalinit 1
last_timer 0
sleeptimer -1
timerdev fenster_alle
timerevent closed
triggerDev fenster_alle
timerevents:
closed
timereventsState:
state: closed
triggerEvents:
closed
triggerEventsState:
state: closed
Internals:
0 keymatic_wohnung:STATE fenster_alle:STATE
1 keymatic_wohnung:STATE fenster_alle:STATE
all keymatic_wohnung:STATE fenster_alle:STATE
Itimer:
Readings:
Regexp:
0:
1:
All:
State:
Trigger:
Attributes:
room Gruppen
Kann mir jemand sagen, warum es jetzt plötzlich nicht mehr geht ? Erst dachte ich, der Pushserver hat ein Problem. Aber ich kann ohne Probleme aus FHEM eine Pushnachricht senden.
An was kann das liegen ? Am Reading ?
Oder ist mein DOIF falsch aufgebaut ? Aber es lief doch bis heute früh noch. Ich bin ratlos.
Grüße,
Visionsurfer
Hast du zwischendurch gelüftet?
Dein DOIF führt jeden Befehl nur einmal aus, bis sich der Status ändert. Einfach das Attribut "do always" spendieren.
Hi,
ja hab ich :)
Das ist mir heute morgen aufgefallen. Da war ja die Tür noch abgeschlossen und wir haben gelüftet. Da hab ich dann trotzdem eine Nachricht bekommen. Hatte mich schon gewundert.
O.K. dann liegt es dadran ?
Also mit dem attr würde es dann normal laufen ?
Grüße,
Visionsurfer
Zitat von: visionsurfer am 30 Oktober 2016, 18:40:43
Das ist mir heute morgen aufgefallen. Da war ja die Tür noch abgeschlossen und wir haben gelüftet. Da hab ich dann trotzdem eine Nachricht bekommen. Hatte mich schon gewundert.
Du kannst das ganze auch auf Events umstellen. Dann bekommst du nur eine Nachricht wenn die Tür abgeschlossen wird.
Zitat von: visionsurfer am 30 Oktober 2016, 18:40:43
Also mit dem attr würde es dann normal laufen ?
Versprechen kann ich da nichts ;)
Hi,
ok. Danke. Wie würde das aussehen, wenn man es auf Events umstellt ?
Grüße,
Visionsurfer
Ist in der deutschen CommandRef zu DOIF beschrieben.