FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: justme1968 am 06 Mai 2019, 21:27:04

Titel: vorschlag: erweiterung von sleep / warten ein event
Beitrag von: justme1968 am 06 Mai 2019, 21:27:04
mit dem angehängten patch wird sleep etwas erweitert:

anmerkungen:

hintergrund des ganzen war mein wunsch die bewässerungszonen im garten nacheinander laufen zu lassen. das kann man zwar im prinzip auch über das bisherige sleep, at oder notfy, aber mit den folgenden nachteilen:
jetzt kann man einfach der reihe nach ein ventil öffnen und danach warten bis es wieder zu ist:
set v1 on-for-timer 600; sleep v1:off; set v2 on-for-timer 300; sleep v2:off; set v3 on-for-timer 300

Titel: Antw:vorschlag: erweiterung von sleep / warten ein event
Beitrag von: Dr. Boris Neubert am 06 Mai 2019, 21:32:28
Klasse!
Titel: Antw:vorschlag: erweiterung von sleep / warten ein event
Beitrag von: CoolTux am 06 Mai 2019, 21:41:19
Ich habe mir das jetzt nicht angeschaut. Beim Lesen viel mir aber spontan zum Event ein. Gibt es einen Abbruch sollte das erwartete Event nicht kommen?
Titel: Antw:vorschlag: erweiterung von sleep / warten ein event
Beitrag von: justme1968 am 06 Mai 2019, 22:02:52
nicht eingebaut bzw. automatisch.

das war zumindest für meine anwendungsfälle nicht nötig:
- wenn das event ausbleibt ist entweder etwas schlimmeres nicht in ordnung:
  - die timer laufen alle in den devices direkt weil hm
  - es globale watchdogs die jedes ventil und noch mal ein vorgeschaltetes
    nc hauptventil überwachen und nach gewisser zeit zu machen
- bei den lampen ist es einfach so: wenn das event aus bleibt soll nichts passieren

aber automatisch könnte man auch mehr als ein sleep starten und unterschiedliche events verwenden und dann gegenseitig abbrechen.

hier soll nur der einfache fall abgedeckt werden. eine einfache reihenfolge.
wenn es komplizierter wird ist eher watchdog oder sequence das richtige.

ansonsten: die wartenden sleeps lassen sich benennen und abbrechen, die unbenannten
lassen sich von hand auflisten und abbrechen.
Titel: Antw:vorschlag: erweiterung von sleep / warten ein event
Beitrag von: CoolTux am 07 Mai 2019, 04:22:45
Danke Dir für die Erklärung. Auf jeden Fall eine sehr gute Erweiterung.
Titel: Antw:vorschlag: erweiterung von sleep / warten ein event
Beitrag von: justme1968 am 07 Mai 2019, 09:45:20
@rudi: unabhängig von dem patch hier: mir fällt gerade auf das man in CommandRereadCfg %sleepers auch zurück setzen sollte.

%ntfyHash zurücksetzen passiert zwar vermutlich über den seiteneffekt das neue device angelegt werden. ist aber irgendwie trozdem unschön. ich vermute das noch einiges andere vergessen ist.
Titel: Antw:vorschlag: erweiterung von sleep / warten ein event
Beitrag von: rudolfkoenig am 08 Mai 2019, 18:17:13
Bitte um ein bisschen Geduld, ich brauche dafuer ein/zwei Stunden Zeit mit klaren Kopf.
Titel: Antw:vorschlag: erweiterung von sleep / warten ein event
Beitrag von: rudolfkoenig am 11 Mai 2019, 20:00:54
Habe es modifiziert eingecheckt:
- syntax/doku bleibt unveraendert
- statt die notify Routinen teilweise zu kopieren habe ich ein notify definiert mit TEMPORARY und ignore
- alle sleeps werden in %sleepers eingetragen, und sind damit per cancel anzeigbar/loeschbar.

Bitte testen, und melden falls was nicht passt.

%sleepers und ntfyHash habe ich jetzt in CommandRereadCfg auch zurueckgesetzt.
Titel: Antw:vorschlag: erweiterung von sleep / warten ein event
Beitrag von: CoolTux am 12 Mai 2019, 21:05:42
Rudi können Deine Änderungen Auswirkungen auf ReadFn oder $hash->{CL} haben. Gibt da Probleme mit dem ESPEasy Modul

https://forum.fhem.de/index.php/topic,100477.msg939268.html#msg939268