NEWS
"Fenster offen" Script für eine gewisse Zeit deaktivieren
-
Hallo,
ich habe ein Script laufen, das ich über Alexa eine Warnung bekomme wenn die Fenster länger als 10 Minuten offen sind, und die Temperatur unter einen bestimmten Wert fällt.
"Fenster_EG_Statusänderung" kommt aus einem anderen Script und überwacht alle Fenster im Erdgeschoss, das funktioniert alles auch soweit.Jetzt würde ich gerne noch eine Funktion einbauen, damit ich am Tablet die Warnmeldung für eine gewisse Zeit deaktivieren kann.
Deshalb habe ich aus einem anderen Script den Datenpunkt Fenster_EG_Zeit_Alexa_StopMein Problem ist jetzt, das ich nicht weiß wie ich das am besten auswerte.
Es kann ja sein das die Deaktivierung außerhalb oder innerhalb der Schleife betätigt wird, also eventuell auch schon bevor Alexa das erste mal die Warnung gesagt hat.
Außerdem sollte ja nach den 30 Minuten die Warnung auch wieder kommen, wenn die Fenster noch offen sind.Keine Ahnung wie ich das realisieren kann, außerdem gehen beri mir mehrere Timeout Bedingungen in einem Script immer schief.
Gruß
Stefan -
@stefanw Ich kenne mich mit Blockly nicht aus, aber eine Idee habe ich.
Du prüfst als Trigger eine Änderung von "Fenster_RG_offen_Zeit_Alexa_Stop" ODER "Fenster_EG_Statusänderung". Dann stoppst du das Interval und durchläufst deinen Falls-Block nur bei "Fenster_RG_offen_Zeit_Alexa_Stop" = False.
-
@chrunchy meinst du so?
Ich glaube die Idee ist Top, selbst wenn jemand die Pause auslöst ohne das die Fenster offen sind, würden "sonst" und "sonst falls" nicht ausgeführt weil die Bedingungen nicht zutreffen.
Ich teste das mal und berichte, Danke Dir.Stefan
-
@stefanw Wie gesagt, bin ich in Blockly nicht wirklich fit, aber soweit ich das erkennen kann, sieht es gut aus.
-
@stefanw
Das sieht erstmal gut aus, aber:Wenn du die Ansage deaktivierst während alle Fenster zu sind solltest du eine Meldung bekommen das alle Fenster geschlossen sind. Wenn das gewünscht ist, gut.
Ansonsten würde ich die Blöcke die die meldung senden mit einem eigenen falls auf den neuen datenpunkt umgeben, so das
- der timeout immer gestartet wird
- nur das ausgeben der Meldung unterdrückt wird wenn der dazu angelegte datenpunkt wahr ist.
A.