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

Begonnen von frober, 24 November 2021, 19:46:02

Vorheriges Thema - Nächstes Thema

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
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

marvin78


Otto123

#2
Hi,

oder Du nimmst ein sleep welches auf dein Ereignis wartet? :)
sleep kann mehr - ist nur nicht so bekannt:
Zitatsleep <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.

Beispiel:
sleep regner1:off; set regner2 on

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

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 ::)
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

frober

Mit sleep funktioniert das einwandfrei.

@Otto danke für den Stups  :)


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");}
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...