am 02. Dezember 2023 22:15
Moin,
In Automationen lassen sich aus unklaren Gründen manche Werte nur als Auslöser verwenden (z. B. Leistungsaufnahme Zwischenstecker), andere nur als Bedingung (z. B. Position Rollladen, Alarmsystem aktiv / inaktiv). Mit Hilfe der Zustände lassen sich nun beliebige Auslöser auch als Bedingungen und beliebige Bedingungen auch als Auslöser verwenden. Hier beschreibe ich das allgemein, losgelöst von den in dieser Diskussion besprochenen konkreten Anwendungsfällen.
Takt-Zustand und -Automation werden nur einmal benötigt und lassen sich für mehrere Automationen verwenden. Wie sich kontinuierlich alle 2 Sekunden ausgelöste Automationen auf die Performance auswirken bleibt zu beobachten.
am 05. Dezember 2023 21:58
Danke Maurice für diese Erklärung. Ich musste das zwei, dreimal lesen um zu verstehen, wie das mit Takt funktioniert. Aber jetzt ist das eine gute Idee, den Zustand für eine Automation zu verwenden. Man muss nur um die Ecke denken und schon geht auch das.
am 06. Dezember 2023 08:25
Vielen Dank fürs Teilen @Maurice! Sorry, aber ich stehe nach mehrmaligem Lesen immer noch auf dem Schlauch: Kannst Du bitte "Bedingung als Auslöser" nochmal erklären? z.B. warum brauche ich "Takt"?
am 06. Dezember 2023 08:49
Ich versuch's mal. Wenn ich's richtig erklären kann, hab ich's auch verstanden. Gern korrigieren oder ergänzen.
Du brauchst den Takt, damit immer wieder in kurzen Intervallen geprüft wird, ob die Bedingung unter UND noch "wahr" ist. Ist sie noch "wahr", bleibt der Takt eingeschaltet und der Zustand unter WENN permanent aktiv. Ist die Bedingung dagegen (zwischenzeitlich) falsch, wird der Takt beendet und der Zustand unter WENN inaktiv gesetzt.
Den Zustand unter WENN kannst du in weiteren Automationen nutzen. Und auf diese Weise z.B. Zwischenstecker mit Alarmsirene im Alarmfall einschalten und automatisch mit abschalten, sobald das Alarmsystem deaktiviert wird.
am 06. Dezember 2023 12:04
@STdesign Fast, aber nicht ganz. 😉
Um eine Bedingung als Auslöser zu verwenden, benötigt man zwei Automationen, die diese Bedingung regelmäßig abfragen. Die eine Automation prüft, ob die Bedingung erfüllt ist und aktiviert dann einen Zustand. Die andere tut das Gegenteil (Bedingung nicht erfüllt, Zustand deaktivieren). Dieser Zustand dient dann als Auslöser für beliebige Automationen. Dabei kann man diesen sowohl als Auslöser "wird aktiviert" als auch "wird deaktiviert" verwendet.
Nun gibt es im System aber keine Möglichkeit, diese beiden Automationen zyklisch auszuführen, denn jede Automation benötigt zwingend einen Auslöser. Hier kommt der Takt ins Spiel. Die Takt-Automation sorgt dafür, dass der Takt-Zustand alle 2 Sekunden umgeschaltet wird. 2s aktiv, 2s inaktiv, 2s aktiv... Dieser Takt läuft kontinuierlich, er wird nie angehalten! Der Takt-Zustand dient als Auslöser für die beiden eingangs beschriebenen Automationen. Daher der Name: Er gibt den Takt vor, die beiden Automationen werden kontinuierlich alle 2 Sekunden ausgeführt. Schneller geht übrigens nicht, dann greift eine Schutzfunktion, die die Takt-Automation abbricht.
am 06. Dezember 2023 12:43
am 06. Dezember 2023 12:47
Was z. B. häufiger gewünscht wird:
Das ist so beides machbar.
am 06. Dezember 2023 19:11
Okay, das ist der kleine Unterschied zu meiner Nutzung des "Taktes". Ich lasse diese Automation abhängig von einem anderen Auslöser laufen. Also nicht 24/7.
am 06. Dezember 2023 19:39
Ja, kommt auf den Anwendungsfall an. Das hier ist quasi das Grundrezept, kann man je nach Bedarf erweitern oder vereinfachen.
am 23. Mai 2024 09:24
Hi @Maurice ,
Nachdem ich das Vorgehen schon einige Zeit situativ für meine Alarmsirenen anwende (hier läuft der Takt nur, wenn die Sirenen ausgelöst haben und das Alarmsystem noch aktiv ist), möchte ich nun auch weiteres mit einem wirklich dauerhaft laufenden 24/7 Takt machen.
Zu dieser Aussage habe ich eine Frage:
Dieser Takt läuft kontinuierlich, er wird nie angehalten!
Wie gehst du damit um, dass der Takt z.B. nach einem Controller Neustart (nach Update usw.) nicht automatisch wieder anläuft?
Wie lässt sich der Takt möglichst zeitnah und automatisch nach einem Controller Neustart wieder aktivieren?
Danke dir!
am 23. Mai 2024 16:54
Moin @STdesign,
Im "Produktivbetrieb" habe ich derzeit nur den umgekehrten, einfacheren Fall - Auslöser als Bedingung. Bedingung als Auslöser war ein Experiment, das mittlerweile abgeschlossen ist, da ich aktuell keinen konkreten Bedarf dafür habe. Insofern läuft bei mir momentan gar kein Takt. Während der Testphase habe ich ihn nach einem SHC-Update tatsächlich manuell angestoßen. So oft kommt das nicht vor und nach einem Update ist ohnehin erhöhte Aufmerksamkeit gefordert - verbinden sich alle Geräte wieder, wurden Automationen mit verzögerten Aktionen abgebrochen, welche Neuerungen und Auffälligkeiten gibt es etc. Und außer bei Updates starte ich den SHC nie neu, er hängt auch an einer USV.
Über Möglichkeiten eines zuverlässigen, automatischen Takt-Starts habe ich mir daher tatsächlich noch keine tieferen Gedanken gemacht. Da ist deine Kreativität gefragt! 😀
am 11. März 2024 09:08
Hallo Maurice,
vielen Dank für deine ausführliche Antwort. Bei der Rollladensteuerung bräuchte ich doch als Bedingung "Rolllade bewegt sich". Dann könnte ich nach deinem Vorschlag die Bedingung als Auslöser "programmieren". Aber auch diese Bedingung gibt es leider nicht.
Sehe ich das richtig? Hast du ggf. noch einen Tipp?
am 11. März 2024 11:54
Hey @KaMiPe, ich habe dir nicht geantwortet; wahrscheinlich beziehst Du dich auf diesen Beitrag?
Allgemein: "In Bewegung" ist grundsätzlich nicht erfassbar. Falls Du ein Schließen erkennen möchtest kannst Du aber zyklisch z. B. die Bedingung "Position ist zwischen 1% und 100%" abfragen.