Hallo,
Ich möchte, eine vorwählbare Ausführungsbedingung machen.
An einem GPIO Eingang hängt ein Taster. Falls der Taster betätigt wird soll sich die Fhem für 24 Stunden merken.
Falls dann ein einem Sensor eine gewisse Temperatur unterschritten wird und der Taster betätigt wurde, soll etwas ausgeführt werden.
Diese Ausführung soll nur einmal erfolgen.
Ausschalten des Ausgangs wenn gewisse Temperatur erreicht ist.
Ich habe habe mir zwar überlegt, das mit einem DOIF zu lösen, was auch funktioniert.
Jedoch darf ich hier nicht direkt auf den Eingang zugreifen, sondern auf den Statusflag.
Ich habe aber keine Ahnung wie das mit dem Flag funktioniert, bzw überhaupt möglich ist.
Ersuche daher mir ein paar Tipps zu geben, wie ich das angehen kann.
Update:
Bin etwas weiter!
Flag setzen --> Dummy warum habe ich nicht daran gedacht.
Doch jetzt habe ich beim notify einen Hänger. Es reagiert nicht.
Update: habe das notify geändert nach der Referenz.
Dann passt es.
Habe mal den Auszug aus der fhem.cfg zu diesem Teil hier reingestellt.
Das I04 ist die definition des Eingangs. Der reagiert auch und wird "on" wenn der GPIO "on" ist.
################### Schaltungsdefinition E-Patrone
define E_Patrone_soll_heizen dummy
attr E_Patrone_soll_heizen room 2.03_Heizung_Schalter
attr E_Patrone_soll_heizen webCmd on:off
#
define n_E_Patrone_soll_heizen notify i04:on set E_Patrone_soll_heizen on
attr n_E_Patrone_soll_heizen room 2.03_Heizung_Schalter
define Schalt_E_Patrone DOIF ([E_Patrone_soll_heizen] eq "on" and [Boiler_Temperatur:temperature] < [Boiler_Tmin]) (set Boilernachheizung on) DOELSE (set Boilernachheizung off)
attr Schalt_E_Patrone room 2.03_Heizung_Schalter
Update: So wie im script geschrieben funktioniert es
Ansonsten funktioniert schon alles
versuch mal:
defmod n_E_Patrone_soll_heizen notify E_Patrone_soll_heizen set E_Patrone_soll_heizen $EVENT"
Tip: generiere notify / DOIf aus dem Event Monitor heraus!
Wie gehe ich mit dem Eventmonitor um? bzw wo finde ich den?
FHEM Webseite Links Unten.
1. Event Monitor öffnen
2. Taster drücken
3. Event markieren
4. "create/modify device" drücken