NEWS
Warnmeldung in simplem Blockly mit KNX - bitte um Hilfe
-
Hallo zusammen,
ich bin grade am experimentieren mit Blockly.
Hier ein kleines Beispielprogramm:
schedule("*/15 * * * * *", function () { setState("knx.0.UG.Licht.Licht_Roger_AN_AUS"/*Licht Roger AN/AUS*/, 0); setStateDelayed("knx.0.UG.Licht.Licht_Roger_AN_AUS"/*Licht Roger AN/AUS*/, 1, 1000, false); });
Ergebnis sind immer Warnings - ansich funktioniert es aber. Licht blinkt wie es soll.
Output:
14.12.2020, 23:17:24.305 [info ]: javascript.0 (1463) Start javascript script.js.common.Test2 14.12.2020, 23:17:24.308 [info ]: javascript.0 (1463) script.js.common.Test2: registered 0 subscriptions and 1 schedule 14.12.2020, 23:17:30.001 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:17:45.006 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:18:00.003 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:18:15.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:18:30.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:18:45.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:19:00.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:19:15.001 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:19:30.001 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:19:45.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:20:00.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:20:15.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:20:30.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:20:45.002 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:21:00.001 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:21:15.003 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3) 14.12.2020, 23:21:30.006 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test2:2:3)
Das Warning kommt bei jedem Durchlauf. Erst wenn ich das Setzen der Lampen weg mache, geht es.
Hier ein anderes Script, auch simpel:
on({id: 'knx.0.EG.Heizung.Kamintemp_Wasser', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.error(parseFloat((obj.state ? obj.state.val : ""))); console.error(parseFloat(getState("knx.0.UG.Heizung.Speichertemp_1_3").val)); if (parseFloat((obj.state ? obj.state.val : "")) > parseFloat(getState("knx.0.UG.Heizung.Speichertemp_1_3").val) + 6 && parseFloat((obj.state ? obj.state.val : "")) > 70) { console.log('Kamin AN wegen richtiger Temp'); setState("knx.0.UG.Licht.Licht_Werkstatt_AN_AUS"/*Licht Werkstatt AN/AUS*/, 1); } else if (parseFloat((obj.state ? obj.state.val : "")) > 80) { console.log('Kamin AN wegen >80 Grad'); setState("knx.0.UG.Licht.Licht_Werkstatt_AN_AUS"/*Licht Werkstatt AN/AUS*/, 1); } else if (parseFloat((obj.state ? obj.state.val : "")) <= 65) { console.log('Kamin AUS wegen <65 Grad'); setState("knx.0.UG.Licht.Licht_Werkstatt_AN_AUS"/*Licht Werkstatt AN/AUS*/, 0); } if (parseFloat((obj.state ? obj.state.val : "")) > 85) { setStateDelayed("knx.0.UG.Licht.Licht_Werkstatt_AN_AUS"/*Licht Werkstatt AN/AUS*/, 1, 1000, false); setStateDelayed("knx.0.UG.Licht.Licht_Werkstatt_AN_AUS"/*Licht Werkstatt AN/AUS*/, 0, 1000, false); } });
Auch hier Warnings und Meldungen: (Die Errors sind von mir generierter Debug-Output)
14.12.2020, 23:23:13.116 [info ]: javascript.0 (1463) Start javascript script.js.common.Test1 14.12.2020, 23:23:13.121 [info ]: javascript.0 (1463) script.js.common.Test1: subscribe: {"pattern":{"id":"knx.0.EG.Heizung.Kamintemp_Wasser","change":"ne","q":0},"name":"script.js.common.Test1"} 14.12.2020, 23:23:13.122 [info ]: javascript.0 (1463) script.js.common.Test1: registered 1 subscription and 0 schedules 14.12.2020, 23:23:33.250 [error]: javascript.0 (1463) script.js.common.Test1: 71.8 14.12.2020, 23:23:33.250 [info ]: javascript.0 (1463) script.js.common.Test1: getState(id=knx.0.UG.Heizung.Speichertemp_1_3, timerId=undefined) => {"val":55.2,"ack":true,"ts":1607984580325,"q":0,"from":"system.adapter.knx.0","user":"system.user.admin","lc":1607982121589} 14.12.2020, 23:23:33.250 [error]: javascript.0 (1463) script.js.common.Test1: 55.2 14.12.2020, 23:23:33.255 [info ]: javascript.0 (1463) script.js.common.Test1: getState(id=knx.0.UG.Heizung.Speichertemp_1_3, timerId=undefined) => {"val":55.2,"ack":true,"ts":1607984580325,"q":0,"from":"system.adapter.knx.0","user":"system.user.admin","lc":1607982121589} 14.12.2020, 23:23:33.255 [info ]: javascript.0 (1463) script.js.common.Test1: Kamin AN wegen richtiger Temp 14.12.2020, 23:23:33.255 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test1:8:5) 14.12.2020, 23:23:33.255 [info ]: javascript.0 (1463) script.js.common.Test1: setForeignState(id=knx.0.UG.Licht.Licht_Werkstatt_AN_AUS, state=1) 14.12.2020, 23:24:28.244 [error]: javascript.0 (1463) script.js.common.Test1: 72.28 14.12.2020, 23:24:28.244 [info ]: javascript.0 (1463) script.js.common.Test1: getState(id=knx.0.UG.Heizung.Speichertemp_1_3, timerId=undefined) => {"val":55.2,"ack":true,"ts":1607984640319,"q":0,"from":"system.adapter.knx.0","user":"system.user.admin","lc":1607982121589} 14.12.2020, 23:24:28.244 [error]: javascript.0 (1463) script.js.common.Test1: 55.2 14.12.2020, 23:24:28.244 [info ]: javascript.0 (1463) script.js.common.Test1: getState(id=knx.0.UG.Heizung.Speichertemp_1_3, timerId=undefined) => {"val":55.2,"ack":true,"ts":1607984640319,"q":0,"from":"system.adapter.knx.0","user":"system.user.admin","lc":1607982121589} 14.12.2020, 23:24:28.244 [info ]: javascript.0 (1463) script.js.common.Test1: Kamin AN wegen richtiger Temp 14.12.2020, 23:24:28.245 [warn ]: javascript.0 (1463) at Object.<anonymous> (script.js.common.Test1:8:5) 14.12.2020, 23:24:28.245 [info ]: javascript.0 (1463) script.js.common.Test1: setForeignState(id=knx.0.UG.Licht.Licht_Werkstatt_AN_AUS, state=1)
Könnt ihr mir bitte nen Tipp geben was falsch läuft?
Gruß
Roger -
@Shadowblues könntest du bitte den cod in die entsprechende tags packen...
-
@arteck Done
-
@Shadowblues Aber nur zur Hälfte...
-
@Thomas-Braun ??? Wieso das? Muss der Logoutput da auch rein?
-
Ok, ich habe mal weiter rumgespielt. (Was man doch so alles im Homeoffice neben TelKos macht)
Zumindest am Beispiel 1 bin ich so weit, dass es ohne Fehlermeldungen / Warnings läuft.
Wenn ich an den ersten Befehl (Schalte Lampe aus) eine Verzögerung anhänge, dann geht alles.
Ohne Verzögerung kommen gleich wieder die genannten Einträge.Scheint also irgendwie n Timingproblem mit dem KNX Adapter zu sein.
-
@shadowblues Hallo, diese Effekte beruhen nicht nur aufd em KNX Adapter, sondern resultieren aus dem Setup des IObroker sprich anzahl der laufenden Adapter, wieiviel wird mit JS gearbeitet, welche Hardware ist verbaut etc. Mit dem Ansatz der "Verzögerung" in JS fährst du sehr gut. Ist das Thema damit gelöst? Dann bitte auch so markieren (siehe Grundregeln der open Issues hier im Forum). Grüße