Führt Homee auch mehrere HG nacheinander aus, wenn ein Ereignis eintrifft und die Bedingung für mehrere HG’s gültig ist? Oder ist es besser ein großes HG anzulegen, welches bei einer Inventar-Änderung jedesmal neu angepßat werden muss?
Das ggfls die Reichenfolger von mehreren kleinen HG’s nicht unbedingt identisch ist, wäre ein Punkt, den man beachten muss.
Das ggfls. HG’s nicht ausageführt werden, wenn eine Bedingung durch ein andere HG vorher geändert worden ist, liegt im der Verantwortung des Betreibers … auch klar…
Wie handhabt/orgnisiert ihr eure HG’s?
Ich arbeite mit ineinander verschachtelten HGs und habe damit keine Probleme.
Innerhalb der HGs dann auch bei Bedarf mit Gruppen, wenn ich mehrere Geräte gleichzeitig und mit gleichen Werten steuern möchte.
Verschachtelt ist etwas Anderes als zum Beispiel:
1 ) wenn a, dann b
2 ) wenn a, dann b
3 ) wenn a, dann c
oder
Wenn a, dann b,c und d
Manche routinen werden nach dem ersten Match beendet. Wie schaut dies bei Homee aus? Werden die ersten 3 Bedingungen der Reihe nach ausgeführt oder ist nach 1) wenn a, dann b Schluß und 2) und 3) werden nicht angezogen und man muss alles in ein HG packen (Das „oder“ Beispiel)?
homee arbeitet nach diesem Schema:
Auslöser:
Es kann einen oder mehrere Trigger geben. Das sind immer Zustandsänderung
- Uhrzeit wird erreicht
- Temperatur/Helligkeitswert wird über-/unterschritten
- Webhook kommt rein
- usw.
Diese Trigger sind alle mit ODER verbunden. Es reicht, das einer zutrifft, um das HG zu auszulösen.
Bedingungen:
Es kann ein oder mehrere Bedingungen geben.
Bedingungen sind Zustandsvergleiche von Datenpunkten (Sensorwert mit Festwert, Sensorwert mit anderem Sensorwert, Uhrzeit mit Festwert, usw.)
Bedingungen können zu unterschiedlichen Zeitpunkten abgeprüft werden.
- beim Auslösen = Bedingung muss erfüllt sein, wenn einer der Trigger das HG startet.
- beim Ausführen = Bedingung muss erfüllt sein, wenn kurz bevor die Aktion ausgeführt wird.
- beim Auslösen und Ausführen = Bedingung muss zu beiden Zeiten erfüllt sein.
Ein nicht Zutreffen einer Bedingung führt beim Auslösen zum Abbruch des HGs, egal, was dann noch kommt.
Ein nicht Zutreffen einer Bedingung bei der Ausführung führt zum nicht Ausführen der betreffenden Aktion, die zu diesem Zeitpunkt (verzögerte Aktionen) ausgeführt werden würde. Weitere länger verzögerte Aktionen können ggf. noch ausgeführt werden, wenn die Bedingung dann wieder zutrifft.
Aktionen:
Es kann eine oder mehrere Aktionen geben. Diese können sofort oder zeitverzögert ausgeführt werden.
Ok, hatte ich falsch verstanden.
Ich nutzen in den weiteren HGs auch wiederum Bedingungen, die erfüllt sein müssen, damit diese HGs dann ausgeführt werden. So wie prinzipiell von @ch.krause erklärt.
Z.B: Taster Bad wird gedrückt und ruft dann 3 Folge-HGs gleichzeitig auf:
(1) nur wenn Modus anwesend, dann Lampe auf 100 %
(2) wenn Modus schlafend UND nur wenn Zeit zwischen 22:00 - 0:00 Uhr, dann Lampe 50%
(3) wenn Modus schlafend UND nur wenn Zeit zwischen 0:00 - 9:00 Uhr, dann Lampe 10%
Danke für die Antworten, jedoch ist für mich noch die Frage offen: Unterschiedliche Eingangsbedinungen haben eine unterschiedliche Reaktion zur Folge. Wenn ich jedoch die selbe Eingangsbedingung habe (s. Beispiel 1, 2 und 3) = werden alle 3 HG ausgeführt( Reihenfolge für den User ggfls. willkürlich, intern nach irgendeiner Priorität) oder wird nur ein HG ausführt, da ja schon ein HG zur der Eingangsbedingung gefunden wurde wird der Rest wird nicht mehr ausgeführt?
Wenn Du mit „Eingangsbedingung“ den Auslöser meinst, dann werden alle HG´s mit diesem Auslöser ausgeführt, vorausgesetzt die Bedingung/en insofern vorhanden sind erfüllt!
Wenn Du drei HGs mit identischen Triggern hast, werden auch alle drei getriggert.
Ob sie dann ausgeführt werden hängt von den enthaltenen Bedingungen ab.
@Maddes war schneller