Hallo,
wie kann ich eine NOTIFY Definition erst Zeitverzögert beim Neustart von FHEM aktivieren?
Es gibt zwar das Attribut "Disable", aber für NOTIFY existiert (bzw. hat) kein SET Befehl.
Hintergrund. Ich will aufgrund einer Schalteränderung meine FHTs in der Wohnung umstellen. Der Schalter ist über Firmata in FHEM eingebunden. Beim Neustart von FHEM kommen für diesen Schalter Events, auf die das definierte NOTIFY reagiert. Ein Eventfilter hilft mir auch nicht, da der Event beim Einschalten auch den Status hat, den ich abfragen will. Das Umstellen der FHTs beim Neustart hat zwei gravierende Nachteile. Die Umstellung bringt mir mein Tagesprogramm durcheinander und bei zwei Neustarts kurz hintereinander hat der COC Buffer einen Overflow (LOVF). Deshalb die Einschaltverzögerung für das erkennen des Schalterevents.
Viele Grüße
Achim
attr <namevomnotify> disable 1
Das geht also schon.
Jetzt baust dir halt ein at beim Start, das dein Notify xxx Minuten später auf disable 0 setzt.
global:INITIALIZED dürfte das passende Suchwort sein :)
Du kannst auch im notify prüfen, ob seit dem fhem-Start bereits eine von Dir definierte Zeitspanne vergangen ist.
if((time - $fhem_started) > 60) {führe diesen Code nur aus, wenn seit dem fhem-Start mindestens 60 Sekunden vergangen sind}
Hallo,
ich habe mich für die Lösung von Betateilchen entschieden. Ich habe jetzt folgenden Befehl im Einsatz:
define Heizung_Hauptschalter_SetOn notify Heizung_Hauptschalter.reading:.on {if((time - $fhem_started) > 60) {\
{fhem "set Wohnzimmer_Heizung mode auto desired-temp 20.0"};;\
....
}\
}
Hat etwas gedauert bis ich das NOTIFY mit dem richtigen Event (Input über FRM_IN) getriggert bekommen habe.
Die Lösung mit:
define Heizung_Hauptschalter_Set2 notify global:INITIALIZED define Heizung_Hauptschalter_at1 at +00:00:40 attr Heizung_Hauptschalter_Set1 disable 0
hat den Nachteil, das dabei der ursprüngliche Befehl in der fhem.cfg
attr Heizung_Hauptschalter_Set1 disable 1
auf disable 0 gesetzt wird. Damit müsste ich mit global:SAVE oder SHUTDOWN dies wieder rückgängig machen damit die Einstellung bei einem Neustart wieder korrekt ist.
Vielen Dank für die Lösungsvorschläge
Viele Grüße
Achim
PS.: ich habe noch eine fhem.cfg ;)