FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: merasil am 08 März 2019, 17:05:57

Titel: DOIF mit repeatcmd: triggert obwohl Bedingung nicht mehr wahr
Beitrag von: merasil am 08 März 2019, 17:05:57
Servus,

ich vermute das ist nur ne kleine Sache, aber ich bin anscheinend zu blöd dafür.
Habe mit meinem Homematic Wassermelder quasi genau das erste Beispielszenario (nur mit Wasser statt mit Frost).
Mein DOIF sieht so aus:
([KG_WA1:state] eq "damp")
(set HS_Push msg message='Es wurde leichte Feuchtigkeit registriert.' title='Wasser!!')
DOELSEIF ([KG_WA1:state] eq "wet")
(set HS_Push msg message='Es wurde Wasser registriert.' title='Wasser!!')

Als Attribute habe ich "repeatcmd 10:10" gesetzt. Wenn der Wechsel von dry auf damp oder wet wechselt, dann wird eine Nachricht gesendet. Allerdings hört es gar nicht mehr auf, auch wenn der Zustand wieder dry ist.
Ziel ist es solange Nachrichten zu bekommen, bis sich der Zustand ändert.

*EDIT*
Es funktioniert wenn ich die zweite Bedingung weglasse. Ist repeatcmd nicht für DOELSEIFs gedacht? Ich könnte das Ganze jetzt mit zwei DOIFs machen, allerdings ist das ja auch irgendwie unschön.
Titel: Antw:DOIF mit repeatcmd: triggert obwohl Bedingung nicht mehr wahr
Beitrag von: Damian am 08 März 2019, 17:23:31
Zitat von: merasil am 08 März 2019, 17:05:57
Servus,

ich vermute das ist nur ne kleine Sache, aber ich bin anscheinend zu blöd dafür.
Habe mit meinem Homematic Wassermelder quasi genau das erste Beispielszenario (nur mit Wasser statt mit Frost).
Mein DOIF sieht so aus:
([KG_WA1:state] eq "damp")
(set HS_Push msg message='Es wurde leichte Feuchtigkeit registriert.' title='Wasser!!')
DOELSEIF ([KG_WA1:state] eq "wet")
(set HS_Push msg message='Es wurde Wasser registriert.' title='Wasser!!')

Als Attribute habe ich "repeatcmd 10:10" gesetzt. Wenn der Wechsel von dry auf damp oder wet wechselt, dann wird eine Nachricht gesendet. Allerdings hört es gar nicht mehr auf, auch wenn der Zustand wieder dry ist.
Ziel ist es solange Nachrichten zu bekommen, bis sich der Zustand ändert.

*EDIT*
Es funktioniert wenn ich die zweite Bedingung weglasse. Ist repeatcmd nicht für DOELSEIFs gedacht?

Du hast auch keinen Fall für "dry" definiert
Titel: Antw:DOIF mit repeatcmd: triggert obwohl Bedingung nicht mehr wahr
Beitrag von: merasil am 08 März 2019, 17:26:32
Ja ich verstehe die Logik dahinter. Ich vermute ich müsste dann einfach DOELSE und dann nichts in die Definition schreiben oder?
Titel: Antw:DOIF mit repeatcmd: triggert obwohl Bedingung nicht mehr wahr
Beitrag von: Damian am 08 März 2019, 17:28:35
Zitat von: merasil am 08 März 2019, 17:26:32
Ja ich verstehe die Logik dahinter. Ich vermute ich müsste dann einfach DOELSE und dann nichts in die Definition schreiben oder?

Das sollte schon reichen.
Titel: Antw:DOIF mit repeatcmd: triggert obwohl Bedingung nicht mehr wahr
Beitrag von: merasil am 08 März 2019, 17:29:04
Passt, danke :)