Wie aber kann man die Automation ausführen wenn der Trigger
a) den Azimut betreffen soll aber
b) nur unter der Bedingung ausgeführt werden soll, wenn die Lichtstärke in den letzten 15 Minuten über 15’000 Lux war?
Du kannst doch im “actions” Teil jede Beliebige Bedingung Abfragen. Der Trigger gibt nur an, was die Bearbeitung auslöst, z.B. 15 Minuten Helligkeit über 15000.
Du kannst doch im “actions” Teil jede Beliebige Bedingung Abfragen.
Genau. Und in diesem Teil müsste dann die Abfrage nach den Lux der letzten 15 Minuten stattfinden.
Der Trigger wird ja durch den Azimut ausgelöst. Dieser soll aber nicht ausgelöst werden, wenn in den letzten 15 Minuten die Lux nicht permanent über 15000 waren
Du könntest z.B. in einer 2. Automation einen input_boolean auf on setzen, wenn die letzten 15 Min. die Lux hoch waren. Und wieder auf off, wenn die lux niedriger sind.
In der 1. Automation fragst du denn input_boolean dann als Bedingung ab.
Dieser misst, wie lange der Template-Sensor den Zustand on (also mehr als 20.000 Lux) in den letzten 30 Minuten hatte.
Der Zustand wird in Stunden angeben. Somit sind 15 Minuten über 20’000 lx = Wert von 0.25 (Stunden).
Nun in der Automation die zusätzliche Bedingung (oder als Trigger) integrieren:
Aber das heisst, dass die LUX dann im Zeitraum der Verzögerung nie unter den gewählten Wert (20’000) fallen darf, da ansonsten die Verzögerung neu startet (zum Beispiel weil für 2 Minuten eine Wolke vorbei zieht).
2 Entitäten haben den Vorteil, dass das berücksichtigt werden kann, indem in der Automation der gewünschte Wert eingestellt wird.
Falls erforderlich, dass die LUX während der gesamten “Beobachtungsperiode” nie unter den gewählten Wert fallen dürfen, kann dies durch Erhöhung des above: in der Automation angepasst werden:
Bei eine (Beobachtungs-) Periode von 30 Minuten
above: '0.49' # entspricht 29.4 Minuten
In diesem Fall wäre aber dein Vorschlag sicher sinnvoller.
Vielleicht hab ich jetzt Mattscheibe, aber der History Stats Sensor misst doch auch nur, wie oft innerhalb von 30 min. die Luxwerte über einem bestimmten Wert lagen, also ebenso zufällig.
Ja, an einen entsprechend erhöhten Wert hab ich auch schon gedacht. Oder ein above-below-Fenster.
Genau.
Er gibt an, wie viele Minuten der Luxwert über dem definierten Wert während der Beobachtungsperiode (zum Beispiel 30 Minuten) lag. Daraus erfolgt der Zustand in Stunden.
Beobachtungzeitraum = die letzten 30 Minuten
Anzahl Minuten Luxwert über definiertem Wert = 20 Minuten (egal ob alles an 1 Stück oder mit Unterbrüchen)
Somit ist der Zustand des history-stats: 0.33 = 20 Minuten von 60 Minuten
Mit dem - binary_sensor: müssen alle gemessenen Werte während des gesamten Zeitraumes über dem definierten Wert liegen. Ansonsten erfolgt jedes Mal ein “Neustart” der Zählung.
Mit dem history-stats können einzelne “Ausrutscher” berücksichtigt werden. Je höher der (above-) Wert in der Automation, desto weniger “Ausrutscher” dürfen vorhanden sein.