NEWS
Script Hilfe: Pushover bei Variablen Wechsel
-
-
Versuche mal:
var idWaschmaschine = "hm-rega.0.5541"/*Waschmaschine*/; // anpassen!!! on({id:idWaschmaschine,change:'ne'}, function (obj) { if (obj.state.val) { sendTo("pushover", "Waschmaschine ist an"); } else { sendTo("pushover", "Waschmaschine ist aus"); } });Ein paar Infos mehr wären gut:
-
die ID Deiner Variable
-
welche Werte kann Deine Variable annehmen
Ansonsten könnte es so schon funktionieren, wenn Du die ID anpasst.
-
-
Hallo zusammen,
Es klappt. Sagen wir so, es macht was ich angefragt habe.
var idWaschmaschine = "hm-rega.0.5809"/*Waschküche*/ on({id:idWaschmaschine, change:'ne', val: false}, function () { sendTo("pushover", "Waschmaschine / Trokner ist fertig"); });Aber jetzt kommt die Meldung immer, auch wenn die Waschmaschine nur eine Pause macht.
Wie bau ich da noch eine 3 min Pause ein. Dh, wenn der Status "False" mindestens 3 Minuten ansteht, wird die Info verschickt.
-
Wie bau ich da noch eine 3 min Pause ein. Dh, wenn der Status "False" mindestens 3 Minuten ansteht, wird die Info verschickt. `
var idWaschmaschine = "hm-rega.0.5809"/*Waschküche*/ on({id:idWaschmaschine, change:'ne', val: false}, function () { // wenn von true auf false wechselt, rufe warte-Funktion auf warten(); }); function warten() { setTimeout(waittime, 3 * 60000); // Warteschleife, 3 * 1 Minute und rufe dann waittime auf } function waittime() { // Nach der Warteschleife, prüfe ob noch false und sende dann var waschmaschine = getState(idWaschmaschine).val; if (waschmaschine === false) sendTo("pushover", "Waschmaschine / Trockner ist fertig"); }Könnte so klappen. Wenn der Wechsel von true auf false erfolgt und es genau 3 Minuten später noch false ist dann Pushovernachricht. Aber ich vermute dann kommen trotzdem 2-3 Nachrichten am Ende durch.
Ich würde den Ansatz anders machen: die idWaschmaschine schon auf den echten Waschmaschinenstatus setzen, also diese Variable, wo auch immer die erzeugt wird, so einstellen dass sie erst auf false springt wenn 3 Minuten kein Stromverbrauch, und dann das Script von Paul nehmen. .
-
Wie bau ich da noch eine 3 min Pause ein. `
var idWaschmaschine = "hm-rega.0.5809"/*Waschküche*/; var timer = null; on(idWaschmaschine, function (dp) { // bei Änderung auslösen if(timer) clearTimeout(timer); // Stopp Timer if(!dp.state.val) { // Änderung von true auf false timer = setTimeout(function() { sendTo("pushover", "Waschmaschine / Trockner ist fertig"); }, 3 * 60000); // 3 Minuten Verzögerung } });EDIT: Kommentare hinzugefügt
-
Hallo Solear,
eigentlich hast du Recht.
Da ich dieses Variable auch noch auf dem Display im Flur anzeige, sollte ich die Variable patchen.
Mir ist das hin und her wechseln der Anzeige in der Vergangenheit nie aufgefallen 8-). Wieder ein Fehler beseitigt.
Ich erzeuge die Variable in der CCU2. (Das bekomme ich recht leicht hin). Da habe ich jetzt eine Verzögerung eingesetzt.
Danke.
Aber auch an Paul Danke. Ich denke ich werde das Script noch an vielen anderen Stellen nutzen!!!
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden