Notify verzögert ausführen

Begonnen von arokh12, 05 März 2020, 11:48:13

Vorheriges Thema - Nächstes Thema

arokh12

Hallo,
gibt es eine Möglichkeit ein Notify verzögert auszuführen? Also ich meine jetzt nicht mittels eines AT Befehls.

Also entweder mittels attr (wozu ich allerdings nicht gefunden habe) oder mittels Sleep.

Wie mache ich das mit Sleep am besten, wenn das notify einen Perl Befehl beinhaltet?
Wenn ich das Notify so aufbaue, dann erhalte ich folgende Fehlermeldung:

define notify_Test Notify Test:.* sleep 60; { Code }

After sleep: Unknown command {
if, try help.
Unknown command }}, try help.


Danke,
arokh12

Otto123

#1
Hi,

https://fhem.de/commandref_DE.html#command

im define immer doppelt ;;
define notify_Test Notify Test:.* sleep 60;; {}

Du willst ja das es bleibt und nicht den Befehl vom nächsten trennt.
FHEM Kommandozeile
befehl1;befehl2 beide Befehle werden sofort ausgeführt.

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

arokh12

Zitat von: Otto123 am 05 März 2020, 11:56:50
Hi,

https://fhem.de/commandref_DE.html#command

im define immer doppelt ;;
define notify_Test Notify Test:.* sleep 60;; { Code }

Du willst ja das es bleibt und nicht den Befehl vom nächsten trennt.

Gruß Otto
Hi,
stimmt, da hast du recht aber ich bearbeite das Notify mittels DEF.  Da brauche ich das doch dann nur 1x, oder nicht?

Otto123

so ist es, da sieht es dann so aus:
Test:.* sleep 60; { }
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

frank

nicht fhem befehle und perl "mischen".
sleep in den perl-code einarbeiten. aber richtig, da perl-sleep fhem blockiert.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Otto123

#5
warum nicht mischen? sowas geht prinzipiell (FHEM Kommandozeile)
sleep 5;{fhem("set LichtWzL_Dim on")}
ist am Ende gleich mit
define namenlos at +00:00:05 set LichtWzL_Dim off

Ob das schön ist die andere Frage. Aber ich finde so ein Konstrukt simpler als ein define at bla mitten im Code. Das Ergebnis ist das Gleiche :)
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

frank

was in der eingabezeile funktioniert, muss aber nicht automatisch im define eines notify funktionieren.
ich muss mal in cref schauen.

"vergleichbar" wäre aber eher:
{fhem("sleep 5; set LichtWzL_Dim on")}
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

MadMax-FHEM

Zitat von: frank am 05 März 2020, 12:02:45
nicht fhem befehle und perl "mischen".
sleep in den perl-code einarbeiten. aber richtig, da perl-sleep fhem blockiert.

Habe ich versucht bzw. eigentlich schon vielfach laufen...
...aber "neuerdings" Probleme: https://forum.fhem.de/index.php/topic,108970.msg1029272.html#msg1029272

Was läuft da verkehrt!?

Danke!
Und sorry für's "Zwischengrätschen"! ;)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

arokh12

Zitat von: Otto123 am 05 März 2020, 12:00:07
so ist es, da sieht es dann so aus:
Test:.* sleep 60; { }
Hm, das habe ich auch so. Trotzdem kommt die Fehlermeldung. Ich habe mal ein List angehangen.

Siehst du den Fehler?
Internals:
   CFGFN      /opt/fhem/FHEM/sonstiges.cfg
   DEF        Test:.* sleep 10; {
if ($EVENT eq "on") {
fhem("set Push msg title='PV-Anlage' message='Verbraucher1 eingeschaltet'")
}
elsif ($EVENT eq "off") {
fhem("set Push msg title='PV-Anlage' message='Verbraucher1 ausgeschaltet'");
}}
   FUUID      5c45098a-f33f-60f9-da2e-247997d6c8d2935b
   NAME       Test_notify
   NOTIFYDEV  Test
   NR         105
   NTFY_ORDER 50-Test_notify
   REGEXP     Test:.*
   STATE      2020-03-05 10:49:31
   TRIGGERTIME 1583401771.0105
   TYPE       notify
   READINGS:
     2020-03-05 10:21:02   state           active
Attributes:



Gesendet von iPhone mit Tapatalk

frank

aus meiner lokalen cref:

define <name> notify <pattern> <command>

Execute a command when received an event for the definition <pattern>. If <command> is enclosed in {}, then it is a perl expression, if it is enclosed in "", then it is a shell command, else it is a "plain" fhem.pl command (chain). See the trigger command for testing it. Examples:


danach sollte meine interpretation stimmen.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

MadMax-FHEM

#10
Eventuell hat es doch etwas mit dem von mir verlinkten Problem zu tun...

Dachte auch immer, dass "sowas" geht/gehen sollte...
...aber "neuerdings" bekomme ich auch den Fehler "unknown command..." wenn ich "Dinge" eingebe von denen ich ausging es geht/ging schon mal...

EDIT: sleep 5;{fhem("set LichtWzL_Dim on")} geht.
Allerdings {fhem("sleep 5;set LichtWzL_Dim on")} geht nicht... Fehler: "unknown command..."

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

frank

Zitat von: MadMax-FHEM am 05 März 2020, 12:41:20
Eventuell hat es doch etwas mit dem von mir verlinkten Problem zu tun...

Dachte auch immer, dass "sowas" geht/gehen sollte...
...aber "neuerdings" bekomme ich auch den Fehler "unknown command..." wenn ich "Dinge" eingebe von denen ich ausging es geht/ging schon mal...

EDIT: sleep 5;{fhem("set LichtWzL_Dim on")} geht.
Allerdings {fhem("sleep 5;set LichtWzL_Dim on")} geht nicht... Fehler: "unknown command..."

Gruß, Joachim
probiere mal ohne leerzeichen nach dem semicolon.
so nutze ich das immer im perlcode.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Otto123

#12
@Joachim: Habe ich im anderen Thread schon beantwortet: Hier dann doppelt: in fhem("sleep 4;;command")

Frank ich weiß, aber es funktioniert, getestet :)
defmod MyNotifyTestMix notify led:an sleep 5;;{fhem("set LichtWzL_Dim toggle")}
attr MyNotifyTestMix room Test

Und ich würde das auch als "es ist so beschrieben" werten:
else it is a "plain" fhem.pl command (chain)
Es gibt ja auch dokumentiert drei Kommandotypen: https://commandref.fhem.de/#command

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

MadMax-FHEM

Zitat von: frank am 05 März 2020, 12:56:45
probiere mal ohne leerzeichen nach dem semicolon.
so nutze ich das immer im perlcode.

Hab ich auch schon (bin ich mir sicher)...
...ändert nix...

Aber ich schaue mir mal noch mal "alles" an und "spiele" noch ein wenig rum...

Wie geschrieben: was mich wundert, ich war der festen Überzeugung, dass das "so" schon mal ging und ich hab es ja auch "so" im Einsatz...

Aber: ich will "hier" nicht noch mehr "durcheinander" bringen... ;)

Gruß und danke, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Otto123

@arokh12 Habe es auch so probiert - funktioniert  ;)
defmod MyNotifyTestMix notify led:an sleep 5;;{\
if ($EVENT eq "an") {fhem("set LichtWzL_Dim toggle")}\
}
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