NEWS
[gelöst] on Methode wird nicht ausgeführt
-
Hallo zusammen,
Ich poste hier direkt mal den ganzen Code.
Ich möchte unten sobald der Status gesetzt wird eine Nachricht bekomme. Als erstes im Log und später per Telegram.
Das Problem hier ist das ich den Eintrag im Log nicht sehe. Ich habe in der Methode auch schon versucht mit direkt eine Nachricht zu senden.
Ich bin mir sicher die Methode wird nicht ausgeführt.
Der Status oben wird gesetzt und zurüc gesetzt. Habe mir das ins Vis gelegt und kann es dort beobachten.
Sieht jemand mein Fehler?
createState("RaumklimaBerechnung.Wohnzimmer.Lueften" , false, { read: true, write: true, desc: "", type: "boolean", def: 0 }); schedule("* * * * *", function () { var ra = getState("xxx").val; var ri = getState("xxx").val; if (ri > (ra+1)) { setState("RaumklimaBerechnung.Wohnzimmer.Lueften",true); } if (ri < (ra)) { setState("RaumklimaBerechnung.Wohnzimmer.Lueften",false); } }); //Telegram Nachicht senden on({id: "RaumklimaBerechnung.Wohnzimmer.Lueften", val: true}, function (obj) { console.log("Telegram Lüften versenden"); }); -
Hallo,
ich empfehle dir, den langen ID-Namen in eine Konstante zu packen. Der ändert sich ja nicht und so kannst du den Code übersichtlicher machen und eine Fehlerquelle ausschließen. Denn ich glaube, hier liegt auch das Problem.
Während createState() automatisch die Instanz des Javascript-Adapters auswählt, in der das Skript abgespeichert wurde, braucht on() den Adapternamen und die Instanz immer in der ID.
const idLueften = "javascript." + instance + ".RaumklimaBerechnung.Wohnzimmer.Lueften"; createState(idLueften, false, { read: true, write: true, desc: "", type: "boolean", def: 0 }); schedule("* * * * *", function() { var ra = getState("xxx").val; var ri = getState("xxx").val; if (ri > (ra + 1)) { setState(idLueften, true); } if (ri < (ra)) { setState(idLueften, false); } }); //Telegram Nachicht senden on({id: idLueften, val: true}, function(obj) { console.log("Telegram Lüften versenden"); });Gruß
Pix
PS: Oder ändere ergänze einfach deinen Code um die Instanz in der on()-Funktion (hier als Beispiel mit Instanz 0)
!
//Telegram Nachicht senden on({id: "javascript.0.RaumklimaBerechnung.Wohnzimmer.Lueften", val: true}, function (obj) { console.log("Telegram Lüften versenden"); }); !
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