FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: aisberg am 19 Januar 2016, 18:22:01

Titel: notify sleep Problem
Beitrag von: aisberg am 19 Januar 2016, 18:22:01
Leider bekomme ich die Verwendung von sleep in meinen notify nicht richtig hin. Hier ein Beispiel in der Definition eines notify
Cam1:.*snapshots.* sleep 20.0;; {sendSnapshot("$NAME","$EVTPART1") }

Die Fehlermeldungen im Log lauten in etwa
N_blablabla return value: Cannot interpret 20.0; as seonds


Das Problem ist das sleep, ohne dieses hat alles schön funktioniert. Allerdings belastet das Versenden der Snapshots den FHEM-Server, so dass ich den Versand verzögern will.

Muss da noch irgendwo ein Leerzeichen rein?
Klappt das nicht mit ";;"? sondern soll dort stehen ";"? Wenn ja, warum?
Liegt es daran, dass nach dem sleep ein {} Perl-Befehl kommt?

So steht doch auch das Beispiel in der fhemwiki:
define ntfy1 notify Fernbedienung:.* sleep 7.5;; set Lampe $EVENT
Titel: Antw:notify sleep Problem
Beitrag von: betateilchen am 19 Januar 2016, 18:24:38
Dafür ist das sleep als fhem Befehl nicht vorgesehen.
Titel: Antw:notify sleep Problem
Beitrag von: justme1968 am 19 Januar 2016, 18:46:32
es darf nur ein ; dort stehen. man kann sleep und perl auf diese art kombinieren.

in fhem wird normalerweise überall ein ; verwendet um kommandos aneinander zu reihen. beim rausschreiben ins config file werden diese verdoppelt und beim einlesen wieder zu einem zusammen gefasst.

an dein meisten stellen sind zwei ; nicht schlimm da die haupt parser schleife hier einfach ein leeres kommando erkennt das dann einfach nichts tut. das sleep kommandos parst seine parameter selber und ist hier etwas pingeliger so das es mit dem ; das übrig bleibt nicht klar kommt.

gruss
  andre
Titel: Antw:notify sleep Problem
Beitrag von: CoolTux am 19 Januar 2016, 18:53:32
Wäre hier ein watchdog nicht angebrachter?
Auch wenn Betateilchen das nicht gerne hört  ;D ,aber wegen meiner würde auch ein DOIF mit wait gehen.



Grüße
Titel: Antw:notify sleep Problem
Beitrag von: justme1968 am 19 Januar 2016, 19:01:18
nein. ein watchdog ist nicht das richtige. der ist dazu da um auf das ausbleiben eines erwarteten events zu reagieren. sleep ist schon genau richtig.

gruss
  andre
Titel: Antw:notify sleep Problem
Beitrag von: aisberg am 19 Januar 2016, 19:07:11
Erst einmal vielen Dank für die ausführliche Erklärung von justme1968!

Dass das sleep dafür nicht vorgesehen ist, verstehe ich (noch) nicht. Ich habe etwas gesucht, was mir eine Verzögerung ermöglicht und sleep gefunden. Wenn es geeignetere Varianten gibt, bin ich lernfähig.

Wenn also ein watchdog dafür besser sein sollte, probiere ich es gerne damit. Warum ein Watchdog besser ist, muss ich wohl noch irgendwie herausbekommen.

Gesendet von meinem ASUS_Z00AD mit Tapatalk

Titel: Antw:notify sleep Problem
Beitrag von: aisberg am 19 Januar 2016, 19:08:33
Jetzt bin ich doch etwas verwirrt!

Gesendet von meinem ASUS_Z00AD mit Tapatalk

Titel: Antw:notify sleep Problem
Beitrag von: justme1968 am 19 Januar 2016, 19:13:20
wie gesagt: sleep ist genau das richtige.
Titel: Antw:notify sleep Problem
Beitrag von: CoolTux am 19 Januar 2016, 19:39:14
Zitat von: justme1968 am 19 Januar 2016, 19:01:18
nein. ein watchdog ist nicht das richtige. der ist dazu da um auf das ausbleiben eines erwarteten events zu reagieren. sleep ist schon genau richtig.

gruss
  andre

Auch wieder war. Hast Recht André. Also sleep oder DOIF. Da hier ja schon ein fertiges und funktionsfähiges Notify existiert würde ich das sleep nehmen.
Meine Bauchweh diesbezüglich sind da eher persönlicher Natur  :)



Grüße