NEWS
[gelöst]WP Skript merkwürdige zeitliche Steuerung ...
-
Ich habe ein neues Thema aufgemacht, da ich glaube, dass das Thema hier in der Rubrik falsch ist.
verschiedene Zeiten im LogGuten Morgen,
ich bin noch neu im Thema blockly und habe mir die letzten Tage ein Skript für meine WP erstellt.Ich hatte Anfangs massive Probleme und habe dann, in dem ich debug output an verschiedenen Stellen eingebaut habe, heraus gefunden, dass die Uhrzeiten unterschiedlich sind:
2023-04-14 06:23:00.001 - [32minfo[39m: javascript.0 (1020) script.js.Wärmepumpe.Anhebung_ab12AT: Test2023.04.14 06:23:00.001
Daraufhin habe ich versucht herauszufinden warum das so ist. Dazu muss ich sagen, dass ich einen NUC mit Proxmox und darauf eine VM mit Ubuntu und iobroker habe.
Ich habe dann mit timedatectl auf Proxmox und dem Ubuntu von der VM geprüft wie die Zeiten sind und dann festgestellt, dass auf der VW die Zeitzone nicht richtig gewesen ist. Diese habe ich dann geändert und einmal Proxmox neu gestartet. Was leider nicht gereicht hat, die Zeiten waren immer noch unterschiedlich.
Dann habe ich irgendwo gelesen, dass einem empfohlen wurde, in der Javascript Instanz in den Astroeinstellungen, den Hacken bei "Systemeinstellungen verwenden" raus zunehmen.
Das habe ich gemacht und habe dann auch gedacht es würde funktionieren, da danach in den logs die Uhrzeit und die von mir über "debug output" ausgegebene Zeit übereinstimmte.Danach sind, ich kann nicht mehr 100% sagen ob gleichzeitig oder irgend wann später, plötzlich immer zwei log Ausgaben gekommen, obwohl nur ein "debug output" vorhanden ist.
Ich habe dann diesen "debug output" Block deaktiviert. Seit dem kommt "nur" noch einer, wo her verstehe ich nicht.
Das wäre meine erste Frage:Wo kommt die Info im log her?
Heute Morgen wurde dann um 7:00 Uhr die WP eingeschaltet, was genau wieder 2 Stunden früher ist. Auch das verstehe ich nicht und das wäre meine zweite Frage:
Warum schalte mein skript nicht richtig bzw wie finde ich heraus wo da der Fehler liegt?
Ich versuche hier jetzt alles anzuhängen, was ich habe und hoffe, dass es nicht zu viel ist. Falls es zu wenig ist bitte Fragen, ich versuche dann die fehlenden Informationen nachzureichen.
Vielen Dank schonmal für eure Hilfe.
VG
SaschaHier ein Schnipsel des logs mit den gleichen Zeiten von Heute morgen:
2023-04-16 05:01:00.001 - warn: javascript.0 (9114) script.js.Wärmepumpe.Anhebung_ab12AT: VLT SOLL/IST Diff.:, -17.5, 2023.04.16 05:01:00.000
Hier noch in Javascript, falls das für den einen oder anderen besser ist:
schedule('{"time":{"start":"07:00","end":"18:00","mode":"minutes","interval":1},"period":{"days":1}}', async function () { if (getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val == 1 && getState("mqtt.0.panasonic_heat_pump.main.Outside_Temp").val >= 8 && parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Main_Outlet_Temp").val) - getState("mqtt.0.panasonic_heat_pump.main.Main_Target_Temp").val >= 1.5 && getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val < 5 && getState("mqtt.0.panasonic_heat_pump.main.ThreeWay_Valve_State").val == 0 && getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val <= 20 && getState("mqtt.0.panasonic_heat_pump.main.Compressor_Freq").val > 18) { console.warn((['VLT SOLL/IST Diff.:', ', ', parseFloat((parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Main_Outlet_Temp").val) - getState("mqtt.0.panasonic_heat_pump.main.Main_Target_Temp").val))].join(''))); setState("mqtt.0.panasonic_heat_pump.commands.SetZ1HeatRequestTemperature"/*SetZ1HeatRequestTemperature*/, parseFloat((parseFloat(parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val)) + 1))); console.log((['Anhebung:', ', ', parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val)].join(''))); } if (parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Main_Outlet_Temp").val) - getState("mqtt.0.panasonic_heat_pump.main.Main_Target_Temp").val <= -1 && getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val > 0 && getState("mqtt.0.panasonic_heat_pump.main.ThreeWay_Valve_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetZ1HeatRequestTemperature"/*SetZ1HeatRequestTemperature*/, (parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val) - 1)); console.log((['Senkung:', ', ', parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Z1_Heat_Request_Temp").val)].join(''))); } }); schedule('{"time":{"start":"07:00","end":"08:59","mode":"minutes","interval":1},"period":{"days":1}}', async function () { console.warn((['PV prüfen:', getState("sma-em.0.3006948198.psurplus").val, ', ', formatDate(new Date(), "JJJJ.MM.TT SS:mm:ss.sss")].join(''))); if (getState("sma-em.0.3006948198.psurplus").val > 800) { setState("mqtt.0.panasonic_heat_pump.commands.SetHeatpump"/*SetHeatpump*/, 1); } }); schedule('{"time":{"start":"09:00","exactTime":true},"period":{"days":1}}', async function () { if (getState("mqtt.0.panasonic_heat_pump.main.Heatpump_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetHeatpump"/*SetHeatpump*/, 1); } }); schedule('{"time":{"start":"16:00","end":"17:59","mode":"minutes","interval":5},"period":{"days":1}}', async function () { if (getState("sma-em.0.3006948198.psurplus").val < 1 && getState("mqtt.0.panasonic_heat_pump.main.ThreeWay_Valve_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetHeatpump"/*SetHeatpump*/, 0); } }); schedule('{"time":{"start":"18:00","exactTime":true},"period":{"days":1}}', async function () { if (getState("mqtt.0.panasonic_heat_pump.main.ThreeWay_Valve_State").val == 0) { setState("mqtt.0.panasonic_heat_pump.commands.SetHeatpump"/*SetHeatpump*/, 0); } }); // Warmwassersteuerung: // Mo,Di,Do,Fr,So 43° schedule('{"time":{"exactTime":true,"start":"14:00"},"period":{"days":1,"dows":"[0,1,2,4,5]"}}', async function () { setState("mqtt.0.panasonic_heat_pump.commands.SetOperationMode"/*SetOperationMode*/, 4); setState("mqtt.0.panasonic_heat_pump.commands.SetDHWTemp"/*SetDHWTemp*/, 43); console.log((['WW+heizen ', parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val), ' WW Soll Temp: ', parseFloat(getState("mqtt.0.panasonic_heat_pump.main.DHW_Target_Temp").val)].join(''))); }); // Mi,Sa 52° schedule('{"time":{"exactTime":true,"start":"14:00"},"period":{"days":1,"dows":"[3,6]"}}', async function () { setState("mqtt.0.panasonic_heat_pump.commands.SetOperationMode"/*SetOperationMode*/, 4); setState("mqtt.0.panasonic_heat_pump.commands.SetDHWTemp"/*SetDHWTemp*/, 52); console.log((['WW+heizen ', parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val), ' WW Soll Temp: ', parseFloat(getState("mqtt.0.panasonic_heat_pump.main.DHW_Target_Temp").val)].join(''))); }); // zurück auf nur Heat schedule('{"time":{"exactTime":true,"start":"15:30"},"period":{"days":1,"dows":"[0,1,2,3,4,5,6]"}}', async function () { setState("mqtt.0.panasonic_heat_pump.commands.SetOperationMode"/*SetOperationMode*/, 0); console.log(('heizen ' + String(parseFloat(getState("mqtt.0.panasonic_heat_pump.main.Operating_Mode_State").val)))); });
-
PS.:
Ich habe parallel, während ich oben das geschrieben habe, bei dem Skript rechts über den Schraubenschlüssel erst auf "debugen" gestellt. Daraufhin kam um 9:00 die Fehlermeldung
javascript.0 2023-04-16 09:00:00.006 warn script.js.Wärmepumpe.Anhebung_ab12AT: setForeignState(id=mqtt.0.panasonic_heat_pump.commands.SetHeatpump, state={"val":1,"ack":false,"ts":1681628400006,"q":0,"from":"system.adapter.javascript.0","lc":1681628400006,"c":"script.js.Wärmepumpe.Anhebung_ab12AT"}) - wurde nicht ausgeführt, während der Debug-Modus aktiv ist
Daraufhin habe ich das wieder deaktiviert und gerade, nach dem ich fertig geschrieben habe, nochmal in die logs geschaut.
Der zweite falsche log Eintrag ist weg.Merkwürdig, aber damit hat sich die erste Frage ja eigentlich schon erledigt.
-
Mir ist gerde im current log noch was aufgefallen:
2023-04-16 01:50:00.003 - debug: shuttercontrol.0 (10132) calculate astrodata ... 2023-04-16 01:50:00.003 - debug: shuttercontrol.0 (10132) Sun Azimut: 5.6° 2023-04-16 01:50:00.003 - debug: shuttercontrol.0 (10132) Sun Elevation: -29.1° 2023-04-16 01:55:00.002 - debug: shuttercontrol.0 (10132) calculate astrodata ... 2023-04-16 01:55:00.003 - debug: shuttercontrol.0 (10132) Sun Azimut: 7° 2023-04-16 01:55:00.003 - debug: shuttercontrol.0 (10132) Sun Elevation: -29° 2023-04-16 02:00:00.005 - debug: shuttercontrol.0 (10132) calculate astrodata ... 2023-04-16 02:00:00.006 - debug: shuttercontrol.0 (10132) Sun Azimut: 8.4° 2023-04-16 02:00:00.006 - debug: shuttercontrol.0 (10132) Sun Elevation: -28.9° 2023-04-16 00:00:00.031 - info: host.iobroker instance system.adapter.daswetter.0 started with pid 13008 2023-04-16 02:00:00.882 - info: daswetter.0 (13008) starting. Version 3.1.7 in /opt/iobroker/node_modules/iobroker.daswetter, node: v14.21.2, js-controller: 4.0.24 2023-04-16 00:00:04.049 - info: host.iobroker instance system.adapter.ical.0 started with pid 13023 2023-04-16 02:00:05.102 - info: ical.0 (13023) starting. Version 1.13.2 in /opt/iobroker/node_modules/iobroker.ical, node: v14.21.2, js-controller: 4.0.24 2023-04-16 02:00:06.405 - info: ical.0 (13023) processing URL: Müll https://calendar.google.com/calendar/ical/s.w.bernhard%40gmail.com/private-21faa25aa0eb243313582d9996cb7327/basic.ics 2023-04-16 02:00:09.810 - info: daswetter.0 (13008) still wrong data structure from server received! repaired... 2023-04-16 02:00:11.833 - info: ical.0 (13023) Terminated (NO_ERROR): Without reason 2023-04-16 02:00:11.933 - info: daswetter.0 (13008) Terminated (ADAPTER_REQUESTED_TERMINATION): All data handled, adapter stopped until next scheduled moment 2023-04-16 00:00:12.345 - info: host.iobroker instance system.adapter.ical.0 terminated with code 0 (NO_ERROR) 2023-04-16 02:00:12.450 - info: daswetter.0 (13008) cleaned everything up... 2023-04-16 00:00:12.456 - info: host.iobroker instance system.adapter.daswetter.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
Ab 2 Uhr, springt die Zeit hin und her zwischen der richtigen und dann wieder 2 Stunden zurück.
Da wundert mich natürlich nicht, dass auch das Skript so merkwürdige Dinge bezogen auf den Zeittrigger macht.Hat da einer eine Idee, oder sollte ich diesbezüglich noch mal explizit danach und in einem anderen Unterordner fragen?
VG
Sascha