Vernünftiger Timer statt verschachtelte Homeegramme

Was willst du damit machen?
Was man alles mit einem Timer machen kann. Bislang sind grundlegende Funktionen, wie “Auslösen einer Aktion nach Zeit X … wenn Bedingung noch besteht” oder " … wenn in der Zwischenzeit nicht ein anderes Ereignis eingetreten ist" nur über verschachtelte Bedingungen und/oder Homeegramme möglich. Das ist aufwendig und lästig, wenn man Auslösezeit hin und wieder verändern möchte.
Wenn der Timer eine eigene Funktion wäre, könnte hier auch die Zufallsfunktion (zufällige Verzögerung) leicht integriert werden.

Warum interessiert es nicht nur dich?
Aktionen zeitlich verzögert auszulösen ist eine sehr grundlegende Funktion. Die derzeitige Umsetzung ist eher was für Programmmierer als denn für Konsumenten.

9 „Gefällt mir“

Versteh ich nicht. Kannst du ein genaueres Beispiel nennen?

Die Funktion “zeitlich verzögert” ist ja eingebaut und mit der neuen Bedingungsabfrage erspart man sich weitere Homeegramme, wenn man einen Status überprüfen und dann entsprechend eine Aktion auslösen oder eben nicht auslösen will.

Genau so wollte ich auch anfangen…

:coffee:

1 „Gefällt mir“

Sorry, aber dies ist in homee doch nur 1 Klick?! Entweder „ohne Verzögerung“ oder „verzögert, nach x Sekunden“.
Ich finde diese Funktion ist sehr gut und selbsterklärend umgesetzt. Programmierkenntnisse benötigt man weiß Gott nicht dafür… :wink:

Also, die Funktion “Verzögerung” ist mir natürlich bekannt. Das Problem ist, dass sich diese Funktion nicht stoppen lässt - zumindest habe ich noch nicht herausgekriegt wie. Mit einem vernünftigem Timer, bspw. als Variable, die gesetzt und verändert werden kann, wäre das doch einfacher. Aber wenn jemand Ideen hat, gerne.

Konkrete Beschreibung:

Ich lasse eine Steckdose (genauer u.a. die Espressomaschine, Siebträger, reibungsloses Funktionieren und Vorwärmen sind also essentiell… ) ausgelöst durch einen Trigger anschalten und dann nach 60 Minuten abschalten. Also beispielsweise um 6:00 Uhr morgens geht die Steckdose an und um 7 Uhr wieder aus. Soweit so einfach.
Nun gibt es aber die Situation, dass ich um 615 die Kaffeemaschine abschalte und um 630 wieder an. Dann sollte sie eine Stunde laufen, also um 730 wieder ausgehen. Da die (erste) Verzögerung aber weiter läuft, schaltet sich die Maschine um 7 Uhr wieder aus.
Ich müsste also die verzögerte Aktion stoppen können, gleichzeitig muss aber die zweite Verzögerung (Maschine geht um 730 aus) bestehen bleiben.

Als Siebträgernutzer bist du schon fast mein Freund. :slight_smile:

Dann steckt hinter deinem Request eher die Frage: Wie lässt sich ein laufendes HG abbrechen?

Diesen Request gibt es hier bereits. Am besten einfach liken.

:coffee:

Edit/OT: Warum schaltest du die Maschine überhaupt aus? Ich schalte meine durch setzen des Modus auf abwesend aus. Damit ist sie aus, wenn keiner mehr da ist. Wenn jemand da ist, soll die Maschine ja startbereit sein. Und wenn ich morgens durch bin, schalte ich händisch ab.

@coffeelover. Habe das Abbrechen eines HG geliked, damit wäre es auch lösbar. Viele Wege führen nach Rom. Meines Erachtens nach wäre ein Timer dennoch die schönere und sauberere Lösung, da ich dann nicht alles, was einen Zeitbezug hat, in ein HG wrappen muss.

Die Maschine schalte ich schlichtweg aus, damit sie nicht von 6:00 Uhr bis 17:00 Uhr durchgehend läuft und Strom verbraucht. Neben der Befriedigung des Spieltriesb, soll ja das smarte Einsparen von Energie einer der wichtigen Aspekte von Smarthome sein :wink:
Wir haben im Haushalt sehr unregelmäßige Nutzungszeiten. Morgens geht sie halt getriggert an, da ist die Nutzung noch am besten determinierbar. Aber im Verlaufe des Tages treffen unregelmäßig verschiedene coffee-addictives zusammen und da muss man flexibel sein können (und der Effekt, dass die Maschine ausging, weil die erste Verzögerung griff hat mir schon oft den Kommentar eingebracht, dass es ohne Technik doch einfacher wäre… - was auch nicht stimmt, denn auf den Komfort am Morgen will ja auch keiner mehr verzichten…)

Insofern: Eine Lösung muss her, ob über das Stoppen von HG oder einen Timer (was ich persönlich präferieren würde) ist ja eigentlich wurscht.

Hast du denn mal nachgemessen, ob du durch das aus- und anschalten tatsächlich Strom sparst? Mein Eindruck ist: Warmhalten ist an der Stelle nicht unbedingt weniger effizient.

Ich habe es gerade schon versucht, bekomme deine Anforderung aber auch nicht sauber über ein HG umgesetzt.

HG Kaffee an: wenn abspielen, dann Steckdose an und nach 60min aus

HG Zeit Kaffee an: wenn um 6, dann HG Kaffee an abspielen

HG Trigger: wenn Verbrauch über Wert, dann HG Kaffee an deaktivieren und nach 1s aktivieren und nach 2s abspielen

So die Idee auf die Schnelle ohne Test

Leider hilft das nichts, da das deaktivieren und aktivieren das HG nicht unterbricht. Ich habe gestern einen ähnlichen Versuch gemacht… :frowning:

:coffee:

Ja, genau deshalb möchte ich ja einen Timer, da die HG-Verzögerung immer weiter läuft…
@coffeelover: Nein, den Verbrauch habe ich nicht gemessen, aber da wie gesagt, die Nutzung doch sehr unterschiedlich ist (2x bis 7x am Tag) ist es doch zumindest ein kleiner Beitrag zum Energiesparen. Und die 20min zum Vorwärmen sind eine gute Zeit, sich auf einen schönen Espresso zu freuen :wink:

Hallo Homer,
Ich hatte vor geraumer Zeit einen ähnlichen Vorschlag gemacht (Vorzeitiges Zurücksetzen bzw. vorzeitiges Auslösen bei "zeitlich verzögert"). Bis jetzt ist aber nur umgesetzt, dass Bedingungen beim Auslösen und/oder bei der Aktion geprüft werden.

Gruß
Andreas

Soll der Auslöser über bestimmte erfüllt sein?

Dann Push doch den Vorschlag von mir:

Hallo Homer,

ich hatte ein ähnliches Problem, als ich einen Präsenzmelder mittels HG programmieren wollte. Dort sollte nach dem Trigger ‘Bewegung weg’ ein Timer gestartet werden, der nach der Zeit x das Licht abschaltet. Jeder neue Bewegungstrigger sollte den Timer abbrechen und anschließend nach ‘Bewegung weg’ sollte er wieder bei Null anfangen.
Ich habe die Lösung zufällig gefunden, als ich feststellte, dass beim Deaktivieren eines HGs zwar alle zeitverzögerten Aktionen, die sich auf Geräte beziehen weiterlaufen, Aktionen, die zeitverzögert ein anderes HG abspielen werden dagegen umgehend abgebrochen.

Bei mir sieht das dann so aus:

HG1 --> Wenn Bewegung und Licht aus dann schalte Licht ein

HG2 --> Wenn keine Bewegung, dann aktiviere HG3, dann spiele HG3 ab
HG3 --> Wenn abgespielt, dann starte HG4 nach X Sekunden (Timer Start)
HG4 --> Wenn abgespielt, dann schalte Licht sofort aus
HG5 --> Wenn Bewegung und Licht an dann deaktiviere HG3 (Timer Stop)

So ähnlich müsste das bei dir auch machbar sein.

Ich weiß, mit 5 HGs ein bisschen von hinten durch die Brust ins Auge, aber funktioniert tadellos. Solange jetzt jemand im Raum innerhalb von X zappelt, bleibt das Licht zuverlässig an.

2 „Gefällt mir“

Moin Sloppy,

stimmt, von hinten durch die Brust ins Auge, aber fürs erste ein guter Workaround. Ich werde mich mal dran setzen.
Bestätigt, dass Codeatelier das mal vernünftig lösen sollte. Man kann sich ja wahrscheinlich auch nicht sicher drauf verlassen, dass die Timer bei Aktionen weiterlaufen und bei HG nicht…

Hallo zusammen,

ich bin seit einer Woche auch Besitzer eines homees.
Bei meinen ersten “Spielereien” bin ich auch auf das Problem gestoßen.

Von der Logik her sollte ein Timer bzw. eine Verzögerungszeit immer zurückgesetzt werden,
wenn das Homeegramm deaktiviert wird.
Besser noch, wenn in einem Homeegramm eine Verzögerungszeit abläuft und die Bedingung
(z.B.: Bewegungsmelder meldet keine Anwesenheit) NICHT MEHR zutrifft, dann müsste die
Verzögerungszeit zurückgesetzt werden!

Leider ist das momentan nicht so.

1 „Gefällt mir“