FHEM > Automatisierung

[gelöst]Ist ein selbstlöschendes notify ala at möglich?

(1/1)

frober:
Hallo zusammen,

in einem Fhem-Befehl kann man ein einmaliges at mitgeben, dass nach Ablauf automatisch gelöscht wird.
Ist das auch mit einem notify möglich, oder muss ich das z.B. mit einen ...sleep 5; delete "notify" machen?
Das würde aber immer eine Änderung in der Config auslösen, die ich speichern müsste!?

Hintergrund:
In myUtils habe ich meine Beregnungssteuerung. Die Beregnungsmenge möchte ich auf zweimal aufteilen, so dass wenn der letzte Beregner schließt, alles von vorne anfängt. Da ich die Beregnungszeiten mit berechne und vor jedem Starten eines Kreises setzen muss, wäre das mMn die einfachste Lösung. Zumal, wenn ich mit einen "festen" notify reagiere ich mir eine Endlosschleife baue, wenn ich diese nicht abfange.
Hmm, alternativ könnte ich mir die Beregnungszeiten zusammen rechnen und damit ein einmaliges at starten.

Würde mich trotzdem interessieren, ob das mit einem notify funktioniert. ;D

Danke und Grüße
Bernd

marvin78:

--- Code: ---set NOTIFY active
set NOTIFY inactive
--- Ende Code ---

Otto123:
Hi,

oder Du nimmst ein sleep welches auf dein Ereignis wartet? :)
sleep kann mehr - ist nur nicht so bekannt:

--- Zitat ---sleep <sec|timespec|suchmuster> [<id>] [quiet]

sleep gefolgt von weiteren Befehlen ist vergleichbar mit einem namenlosen at oder notify Kommando, es führt die nachfolgenden Befehle aus, nachdem es die spezifizierte Zeitspanne gewartet hat bzw. ein Event welches dem <suchmuster> entspricht aufgetreten ist. Die verzögerung kann
in Sekunden (Millisekunden genau, da man Nachkommastellen spezifizieren kann)
als timespec (HH:MM or HH:MM:SS oder {perlfunc})
oder als suchmuster (Gerätename oder Gerätename:Event)
angegeben werden.
--- Ende Zitat ---

Beispiel:

--- Code: ---sleep regner1:off; set regner2 on
--- Ende Code ---

Gruß Otto

frober:
@marvin78 ein "festes" notify wird mir zu "komplex", da ich die Zeiten für jeden Kreis in ein Reading zwischen speichern  und wieder auslesen muss

@Otto gute Idee, daran habe ich gar nicht gedacht, hatte ich aber schon einmal gelesen ::)

frober:
Mit sleep funktioniert das einwandfrei.

@Otto danke für den Stups  :)


--- Code: ---sub Beregnung{
.
.
.
return fhem("...;\
sleep MYSENSOR_3:status:.off;\
sleep 0.2 quiet; set MYSENSOR_3 percentage1 $Kreis2;\
sleep 0.2 quiet; set MYSENSOR_2 percentage1 $Kreis3;\
sleep 0.2 quiet; set MYSENSOR_2 percentage $Kreis4;\
sleep 0.2 quiet; set MYSENSOR_3 percentage2 $Kreis5;\
sleep 5 quiet; set MYSENSOR_2 status on");}
--- Ende Code ---

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln