Notify mit IF Bedingung funktioniert nicht richtig

Begonnen von FireFlyer, 20 Januar 2017, 13:41:01

Vorheriges Thema - Nächstes Thema

FireFlyer

Hallo,

Ich habe ein Problem. FHEM läuft auf einem Raspberry Pi. Einmal am Tag soll ein Ausgang (Pumpe) für 5 Sekunden eingeschaltet werden, wenn 2 Eingänge (Ventile) an (offen) sind. Ich habe einen Dummy angelegt, der ein mal am Tag auf ein gesetzt wird. Mit einer If Bedingung frage ich alles ab und schalte dann gegebenenfalls die Pumpe an und setze den Dummy zurück:

define Ventil_Feststoffeintrag RPI_GPIO 17 # Ventil 1
attr Ventil_Feststoffeintrag direction input
attr Ventil_Feststoffeintrag interrupt both
attr Ventil_Feststoffeintrag pud_resistor down

define Ventil_Fermenter_1 RPI_GPIO 27 # Ventil 2 Attribute wie Ventil 1

define Pumpe RPI_GPIO 23
attr Pumpe direction output
attr Pumpe restoreOnStartup off

define F1_fuettern dummy
attr F1_fuettern alias Fermenter 1 füttern
attr F1_fuettern webCmd on:off

define Timer at *13:50:00 set F1_fuettern on

define F1 notify Ventil_Fermenter_1|Ventil_Feststoffeintrag:.*
   {if (Value("F1_fuettern") eq "on" && Value("Ventil_Fermenter_1") eq "on" && Value("Ventil_Feststoffeintrag") eq "on")
   {fhem("set F1_fuettern off;;set Pumpe on-for-timer 5")} }


Leider wird die Pumpe auch eingeschaltet, wenn ein Ventil schließt und der Dummy F1_fuettern auf on gesetzt wurde, während die Ventile offen waren. Wenn der Dummy auf off steht passiert nichts, wie erwartet.
Ich finde den Fehler nicht.

Vielleicht kann mir noch jemand einen Tipp geben, wie ich die Laufzeit der Pumpe per Web-Frontend (-> Dummy?) einstellen kann.

FireFlyer

Hallo,

ich weiß zwar immer noch nicht, warum mein erster Versuch nicht funktioniert, aber ich habe einen Workaround gefunden:


define F1 notify Ventil_Fermenter_1:on|Ventil_Feststoffeintrag:on
   {if (Value("F1_fuettern") eq "on" && Value("Ventil_Fermenter_1") eq "on" && Value("Ventil_Feststoffeintrag") eq "on")
   {fhem("set F1_fuettern off;;set Pumpe on-for-timer 5")} }

Ich habe nur bei der Bedingung von notify jeweils ein :on angehängt. Fhem reagiert also nur noch auf offene Ventile.