NEWS
[gelöst] Funktion on({id: …. - Value Übergabe....?
-
Liebe Leute,
immer dann wenn ich meine Programmieren im ioBroker endlich "wirklich" verstanden zu haben, kommt DAS
Wenn eine on id Funktion auslöst kann man ja den Wert des überwachten Datenpunktes in der Funktion dann gleich weiter nutzen mit obj.state.val - dachte ich zumindest und hätte es so auch in diversen Scripten im Einsatz. in diesem Beispiel geht es aber nicht - warum? :?:
on({id: "hm-rega.0.14733"/*HZ-Mode WC und VR_EG*/, change: "ne" }, function () { if (obj.state.val == 91){ Stufe = 1; Raum = "Vorraum Erdgeschoß"; aktTemp = "hm-rpc.0.MEQ0088534.1.TEMPERATURE"/*Klima WC.TEMPERATURE*/; bastel_Push(Stufe, Raum, aktTemp); } });
Ich bekomm' die Fehlermeldung
javascript.0 2017-10-03 14:56:42.230 error at Object. (script.js.Basics.Notheizwarnungen:20:9) javascript.0 2017-10-03 14:56:42.229 error Error in callback: ReferenceError: obj is not defined
Selbiger Code in diesem Beispiel funktioniert aber:
on({id: "vis.0.control.Displays_aktiv"/*Displays_aktiv*/, change: "ne"}, function(obj){ // check auf Displays EIN if (obj.state.val === true){ var request = require("request"); var starte_tablet = "http://192.168.68.220:50000/tasker=displayon"; request(starte_tablet, function (err, state, body){log("---------------------------------------- Starte Tab 3")}); var starte_sony = "http://192.168.68.221:50000/tasker=displayon"; request(starte_sony, function (err, state, body){log("---------------------------------------- Starte Sony OG")}); } // check auf Displays AUS if (obj.state.val === false){ var requestAUS = require("request"); var stoppe_tablet = "http://192.168.68.220:50000/tasker=displayoff"; requestAUS(stoppe_tablet, function (err, state, body){log("---------------------------------------- STOPPE Tab 3")}); var stoppe_sony = "http://192.168.68.221:50000/tasker=displayoff"; requestAUS(stoppe_sony, function (err, state, body){log("---------------------------------------- STOPPE Sony OG")}); } });
??
Liebe Grüße
tom
-
fehlt da nicht in deinem ersten Code das (obj)
on({id: "hm-rega.0.14733"/*HZ-Mode WC und VR_EG*/, change: "ne" }, function (obj) { if (obj.state.val == 91){ ....
-
fehlt da nicht in deinem ersten Code das (obj)
on({id: "hm-rega.0.14733"/*HZ-Mode WC und VR_EG*/, change: "ne" }, function (obj) { if (obj.state.val == 91){ .... ```` ` … ok, der Teufel steckt wiedermal im Detail!
Herzlichen Dank für die schnelle Antwort!
Liebe Grüße
tom
Gesendet mit Tapatalk
-
Hallo,
das „obj“ ist übrigens austauschbar. Du kannst auch „data“, „dp“ oder „pustekuchen“ schreiben.
Gruß
Pix
-
@pix:Hallo,
das „obj“ ist übrigens austauschbar. Du kannst auch „data“, „dp“ oder „pustekuchen“ schreiben.
Gruß
Pix ` .[emoji16] alles klar, danke!
Liebe Grüße
tom
Gesendet mit Tapatalk