NEWS
Waschmaschine Skript, stehe auf dem Schlauch
-
Irgendwie stehe ich gerade auf dem Schlauch. Ist ein Waschmaschine Fertig Skript überhaupt ohne Abschalten der Steckdose möglich? Habe ein Skript gefunden wo jede Minute geschaut wird ob der Verbrauch über oder unter X Watt liegt. Wenn 5 Minuten der Verbrauch über oder unter einem Wert liegt, dann wird eine Nachricht gesendet.
Jetzt ist es aber so, die Waschmachine läuft und ist dann irgendwann fertig. sie verbraucht dann nur noch 1 Watt. Nach 5min erhalte ich die Nachricht, dass die Waschmaschine fertig ist. Der Verbrauch ist aber auch nur ein Watt wenn die Maschine gar nicht läuft. Ich erhalte dann den ganzen Tag alle 5min dass die Maschine fertig ist.
Wenn ich das Pferd anders herum aufziehe wird es auch nicht besser. Messe ich wann 5min hintereinander der Verbrauch nicht mehr größer als 20 Watt war, dann erhalte ich auch den ganzen Tag Nachrichten. Ich sehe irgendwie keine Lösung wo ich nicht eine Verknüpfung zum Ein/Aus Status der Steckdose herstellen muss.
Wenn das Skript aber immer die Steckdose ausschalten muss wenn der Waschgang fertig ist, dann wird die Lösung bei meiner Frau keinen Anklang finden weil sie die Steckdose vor jedem Waschgang wieder anschalten muss.
-
@Hagiman2000 dann setzte dir eine variable auf true wenn fertig erkannt wurde. Und prüfe bevor die Meldung geschickt werden soll ob sie schon geschickt wurde.
-
Okay aber dann muss ich ja diesen Wert vor dem nächsten Waschgang irgendwie wie wieder auf unwahr schalten.
-
Moin.
Ja sicher.Wenn Verbrauch unter Grenze dann prüfen, ob schon gemeldet wurde. Wurde nicht gemeldet, dann melden und das merken.
Wenn Verbrauch über Grenze dann das gemerkte vergessen. -
Eine mögliche Vorgehensweise (Trockner in diesem Falle). Ich verwende einen State um mir den Status zu merken.
Grenzen: 5 Watt als in Betrieb, 1 Watt als Pause oder Ausconst dryer_state = "home.notification.dryer_on"; var dryer_timer; if (getState(dryer_state).notExist) createState(dryer_state, false); on({id: "<DIE STECKDOSE>"}, function(obj) { if (obj.newState.val > 5 && !getState(dryer_state).val) { setState(dryer_state, true); log("Wäschetrockner an", "info"); } else if (obj.newState.val <= 1 && getState(dryer_state).val && dryer_timer == null) { dryer_timer = setTimeout(dryerReadyCheck, 4000); } }); function dryerReadyCheck() { dryer_timer = null; var power = getState("<DIE STECKDOSE>").val; if (power <= 1 && getState(dryer_state).val) { log("Wäschetrockner aus", "info"); setState(dryer_state, false); sayit("Der Wäschetrockner ist fertig", true); } }