NEWS
zig gleiche Einträge in JS-Protokollanzeige
-
Vergleich der Protokollanzeigen
-aus Javascript-Editor
-von ioBroker
-heruntergeladenem Logfile (aus ioB-Protokoll)heruntergeladenes Logfile:
Da stehen alle Meldungen richtig drin.
z.B. hier: alle 2 Sek. werden 3 Einträge erzeugt.

2025-02-15 11:29:14.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:14.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:14.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:16.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:16.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:16.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:18.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:18.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:18.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:20.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:20.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:20.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:22.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:22.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:22.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:24.352 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:24.352 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:24.352 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:26.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:26.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:26.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:28.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:28.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:28.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16ioBroker Protokoll:
Hier werden nur die letzten x Meldungen angezeigt, und diese stimmen auch alle.Javascript Protokollanzeige:
Alle Meldungen, die im ioB-Protokoll angezeigt werden, sind auch 1:1 richtig vorhanden.
Aber davor werden hundertfach sich wiederholende Einträge, mit gleichen Zeitstempeln angezeigt.
z.B.:


-
Vergleich der Protokollanzeigen
-aus Javascript-Editor
-von ioBroker
-heruntergeladenem Logfile (aus ioB-Protokoll)heruntergeladenes Logfile:
Da stehen alle Meldungen richtig drin.
z.B. hier: alle 2 Sek. werden 3 Einträge erzeugt.

2025-02-15 11:29:14.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:14.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:14.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:16.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:16.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:16.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:18.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:18.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:18.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:20.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:20.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:20.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:22.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:22.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:22.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:24.352 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:24.352 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:24.352 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:26.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:26.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:26.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:28.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:28.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:28.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16ioBroker Protokoll:
Hier werden nur die letzten x Meldungen angezeigt, und diese stimmen auch alle.Javascript Protokollanzeige:
Alle Meldungen, die im ioB-Protokoll angezeigt werden, sind auch 1:1 richtig vorhanden.
Aber davor werden hundertfach sich wiederholende Einträge, mit gleichen Zeitstempeln angezeigt.
z.B.:


@hub01 bitte keine Screenshots von logs, sondern als Text in code-tags posten!
-
@hub01 sagte in zig gleiche Einträge in JS-Protokollanzeige:
das JS-Protokoll von gestern ist leider weg
darum ging es.
Da sind doch verschiedene Timestamps.hast du "live" gesehen, wie die sich aufbauten?
Dabei mal den Browsercache gelöscht?Möglicherweise ist das nur ein Browser"problem"
-
Vergleich der Protokollanzeigen
-aus Javascript-Editor
-von ioBroker
-heruntergeladenem Logfile (aus ioB-Protokoll)heruntergeladenes Logfile:
Da stehen alle Meldungen richtig drin.
z.B. hier: alle 2 Sek. werden 3 Einträge erzeugt.

2025-02-15 11:29:14.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:14.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:14.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:16.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:16.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:16.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:18.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:18.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:18.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:20.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:20.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:20.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:22.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:22.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:22.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:24.352 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:24.352 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:24.352 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:26.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:26.353 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:26.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16 2025-02-15 11:29:28.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: Ladestrom SW/IW= 8/16 2025-02-15 11:29:28.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: auf 3-phasig umschalten 2025-02-15 11:29:28.354 - info: javascript.0 (2018) script.js.HS_Skripte.PV_Überschussladen: -> Ladestrom SW/IW= 8/16ioBroker Protokoll:
Hier werden nur die letzten x Meldungen angezeigt, und diese stimmen auch alle.Javascript Protokollanzeige:
Alle Meldungen, die im ioB-Protokoll angezeigt werden, sind auch 1:1 richtig vorhanden.
Aber davor werden hundertfach sich wiederholende Einträge, mit gleichen Zeitstempeln angezeigt.
z.B.:


-
@hub01 sagte in zig gleiche Einträge in JS-Protokollanzeige:
das JS-Protokoll von gestern ist leider weg
darum ging es.
Da sind doch verschiedene Timestamps.hast du "live" gesehen, wie die sich aufbauten?
Dabei mal den Browsercache gelöscht?Möglicherweise ist das nur ein Browser"problem"
@homoran sagte in zig gleiche Einträge in JS-Protokollanzeige:
@hub01 sagte in zig gleiche Einträge in JS-Protokollanzeige:
das JS-Protokoll von gestern ist leider weg
darum ging es.
Da sind doch verschiedene Timestamps.hast du "live" gesehen, wie die sich aufbauten?
Dabei mal den Browsercache gelöscht?Möglicherweise ist das nur ein Browser"problem"
Ich weiß nicht, was du genau meinst.
Im Logfile sind verschiedene Timestamps, was ja richtig ist.
Aber in der JS-Protokollanzeige waren zig gleiche Timestamps.
z.B.
die Meldungen von 11:29:14 und 11:29:16 standen über 100 mal da, immer mit den gleichen Zeiten.
Also jede 2. Meldung hatte die gleiche Uhrzeit.
In der Hardcopy habe ich 3 Stück davon rauskopiert.Selbiges bei den Meldungen um 11:29:20, 11:29:22 und 11:29:24.
Hier hatte jede 3. Meldung die gleiche UhrzeitLive konnte ich das nicht sehen, erst als ich abends das Ganze kontrollierte.
Da die letzten x Meldungen richtig angezeigt wurden, denke ich, dass man da live nichts sieht.
Erst beim Zurückscrollen zu den älteren Meldungen wäre das vermutlich erkennbar.Browserproblem erscheint auch mir am plausibelsten.
Werde das nächste Mal den Cache leeren und beobachten.
Aber wenn ich den Cache leere, ist dann die Liste leer und füllt sich neu, oder bleiben die bisherigen Meldungen erhalten? -
@asgothian sagte in zig gleiche Einträge in JS-Protokollanzeige:
@hub01 zeig mal das Skript. Da ist was faul
Ist ziemlich lang.
Ich könnte nur den Teil rauskopieren, der die Meldungen erzeugt.Aber im Logfile stehen ja alle Meldungen richtig drin.
Wenn es am Script liegt, müsste dies doch auch im Logfile zu sehen sein? -
@asgothian sagte in zig gleiche Einträge in JS-Protokollanzeige:
@hub01 zeig mal das Skript. Da ist was faul
Ist ziemlich lang.
Ich könnte nur den Teil rauskopieren, der die Meldungen erzeugt.Aber im Logfile stehen ja alle Meldungen richtig drin.
Wenn es am Script liegt, müsste dies doch auch im Logfile zu sehen sein?@hub01 Kann sein, dass ein Ausschnitt reicht. Muss es allerdings nicht. Evtl. gibt es noch mehr im Skript zu optimieren, was bei der Gelegenheit gleich passieren könnte.
Umlaute vermeide ich. Zumindest im Namen des Skripts ist einer enthalten.
Ansonsten reichen die Meldungen allein nicht.
-
@asgothian sagte in zig gleiche Einträge in JS-Protokollanzeige:
@hub01 zeig mal das Skript. Da ist was faul
Ist ziemlich lang.
Ich könnte nur den Teil rauskopieren, der die Meldungen erzeugt.Aber im Logfile stehen ja alle Meldungen richtig drin.
Wenn es am Script liegt, müsste dies doch auch im Logfile zu sehen sein?ist es länger als das:
Man kann hier auch richtig lange sachen posten, außer es ist ein blockly dann es am besten als JS rauskopieren.
-
@hub01 Kann sein, dass ein Ausschnitt reicht. Muss es allerdings nicht. Evtl. gibt es noch mehr im Skript zu optimieren, was bei der Gelegenheit gleich passieren könnte.
Umlaute vermeide ich. Zumindest im Namen des Skripts ist einer enthalten.
Ansonsten reichen die Meldungen allein nicht.
@peterfido
Möchte eigentlich nicht, dass mein ganzes Script analysiert wird.
Das wird immer eine endlose Diskussion bei mir.
Hatte ich z.B. beim Thema „zyklische Routinen“Hier mal der Teil, in dem die Meldungen erzeugt werden:
Aber wie gesagt, im Logfiles taucht ja alles richtig auf.// ====================================== // Wallbox-Ansteuerung // ( TEST 2, noch nicht fertig ) // // zukünftige Funktionen: // - erst Abfahren, dann Ausschalten // - beim Laden Auto abgesteckt? // ====================================== const zykWB = 2*1000; // Wallbox-Ansteuerung (> 1Sek) setInterval(async function() { // Status von WB holen // ------------------- bZusRM = getState(preWB +".carConnected").val=="Charging"; // Auto lädt var bAcsRM= getState(preWB +".AccessState").val=="Open"; // Zugriff frei var bPh1 = getState(preWB +".amps1").val>0; // 1. Phase an var bPh2 = getState(preWB +".amps2").val>0; // 2. Phase an b3PhRM = bPh1 && bPh2; // 3-phasiges Laden iLStromRM = getState(preWB +".amp").val; // Ladestrom //console.info("RM Zus Strom Phasen: " +bZusRM +" " +iLStromRM +" " +b3PhRM); // Wallbox ansteuern // ----------------- if(iLZus==cZusAnlauf) { // ==== Anlauf? ==== if(!bAcsRM) { // Authent. Ein? setState(preWB +".set_state", "acs;0"); // j: Authent. Ausschalten if(iPhasen==1) // Phasen-Vorwahl setState(preWB +".set_state", "psm;1"); // - 1phasig vorwählen else setState(preWB +".set_state", "psm;2"); // - 3phasig vorwählen console.info("Anlauf: Authent. Aus, Phasenvorwahl"); } else if(!bZusRM) { // Wallbox Aus? setState(preWB +".set_state", "frc;0"); // j: Wallbox Einschalten console.info("WB einschalten"); } } if(iLZus==cZusAus) { // ==== Ausschalten? ==== if(bZusRM) { // Wallbox Ein? setState(preWB +".set_state", "frc;1"); // j: Wallbox Ausschalten console.info("WB ausschalten"); } else if(bAcsRM) { // Authent. Aus? setState(preWB +".set_state", "acs;1"); // j: Authent. Ein console.info("Authent. Ein"); } } if((iLZus==cZusPause) && bZusRM ) { // ==== Pause, WB Ein? ==== setState(preWB +".set_state", "frc;1"); // j: Wallbox Ausschalten console.info("Pause einschalten"); } if((iLZus!=cZusAus) && (iLStrom!=iLStromRM)) { // ==== Ladestrom ändern? ==== setState(preWB +".set_power", iLStrom); // j: Ladestrom zur WB console.info("Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM); } if((iPhasen==1) && b3PhRM) { // ==== 3->1 Phasen? ==== setState(preWB +".set_state", "psm;1"); // auf 1phasig umschalten console.info("auf 1-phasig umschalten"); console.info("-> Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM); } if((iPhasen==3) && !b3PhRM) { // ==== 1->3 Phasen? ==== setState(preWB +".set_state", "psm;2"); // auf 3phasig umschalten console.info("auf 3-phasig umschalten"); console.info("-> Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM); } }, zykWB); -
@peterfido
Möchte eigentlich nicht, dass mein ganzes Script analysiert wird.
Das wird immer eine endlose Diskussion bei mir.
Hatte ich z.B. beim Thema „zyklische Routinen“Hier mal der Teil, in dem die Meldungen erzeugt werden:
Aber wie gesagt, im Logfiles taucht ja alles richtig auf.// ====================================== // Wallbox-Ansteuerung // ( TEST 2, noch nicht fertig ) // // zukünftige Funktionen: // - erst Abfahren, dann Ausschalten // - beim Laden Auto abgesteckt? // ====================================== const zykWB = 2*1000; // Wallbox-Ansteuerung (> 1Sek) setInterval(async function() { // Status von WB holen // ------------------- bZusRM = getState(preWB +".carConnected").val=="Charging"; // Auto lädt var bAcsRM= getState(preWB +".AccessState").val=="Open"; // Zugriff frei var bPh1 = getState(preWB +".amps1").val>0; // 1. Phase an var bPh2 = getState(preWB +".amps2").val>0; // 2. Phase an b3PhRM = bPh1 && bPh2; // 3-phasiges Laden iLStromRM = getState(preWB +".amp").val; // Ladestrom //console.info("RM Zus Strom Phasen: " +bZusRM +" " +iLStromRM +" " +b3PhRM); // Wallbox ansteuern // ----------------- if(iLZus==cZusAnlauf) { // ==== Anlauf? ==== if(!bAcsRM) { // Authent. Ein? setState(preWB +".set_state", "acs;0"); // j: Authent. Ausschalten if(iPhasen==1) // Phasen-Vorwahl setState(preWB +".set_state", "psm;1"); // - 1phasig vorwählen else setState(preWB +".set_state", "psm;2"); // - 3phasig vorwählen console.info("Anlauf: Authent. Aus, Phasenvorwahl"); } else if(!bZusRM) { // Wallbox Aus? setState(preWB +".set_state", "frc;0"); // j: Wallbox Einschalten console.info("WB einschalten"); } } if(iLZus==cZusAus) { // ==== Ausschalten? ==== if(bZusRM) { // Wallbox Ein? setState(preWB +".set_state", "frc;1"); // j: Wallbox Ausschalten console.info("WB ausschalten"); } else if(bAcsRM) { // Authent. Aus? setState(preWB +".set_state", "acs;1"); // j: Authent. Ein console.info("Authent. Ein"); } } if((iLZus==cZusPause) && bZusRM ) { // ==== Pause, WB Ein? ==== setState(preWB +".set_state", "frc;1"); // j: Wallbox Ausschalten console.info("Pause einschalten"); } if((iLZus!=cZusAus) && (iLStrom!=iLStromRM)) { // ==== Ladestrom ändern? ==== setState(preWB +".set_power", iLStrom); // j: Ladestrom zur WB console.info("Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM); } if((iPhasen==1) && b3PhRM) { // ==== 3->1 Phasen? ==== setState(preWB +".set_state", "psm;1"); // auf 1phasig umschalten console.info("auf 1-phasig umschalten"); console.info("-> Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM); } if((iPhasen==3) && !b3PhRM) { // ==== 1->3 Phasen? ==== setState(preWB +".set_state", "psm;2"); // auf 3phasig umschalten console.info("auf 3-phasig umschalten"); console.info("-> Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM); } }, zykWB);@hub01 sagte in zig gleiche Einträge in JS-Protokollanzeige:
console.info("-> Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM);wie oft kommt das denn im Skript vor?
-
@hub01 sagte in zig gleiche Einträge in JS-Protokollanzeige:
console.info("-> Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM);wie oft kommt das denn im Skript vor?
-
@hub01 das stimmt nicht!
alleine in den Ausschnitt sind 3

und wie oft werden die aufgerufen?
-
@peterfido
Möchte eigentlich nicht, dass mein ganzes Script analysiert wird.
Das wird immer eine endlose Diskussion bei mir.
Hatte ich z.B. beim Thema „zyklische Routinen“Hier mal der Teil, in dem die Meldungen erzeugt werden:
Aber wie gesagt, im Logfiles taucht ja alles richtig auf.// ====================================== // Wallbox-Ansteuerung // ( TEST 2, noch nicht fertig ) // // zukünftige Funktionen: // - erst Abfahren, dann Ausschalten // - beim Laden Auto abgesteckt? // ====================================== const zykWB = 2*1000; // Wallbox-Ansteuerung (> 1Sek) setInterval(async function() { // Status von WB holen // ------------------- bZusRM = getState(preWB +".carConnected").val=="Charging"; // Auto lädt var bAcsRM= getState(preWB +".AccessState").val=="Open"; // Zugriff frei var bPh1 = getState(preWB +".amps1").val>0; // 1. Phase an var bPh2 = getState(preWB +".amps2").val>0; // 2. Phase an b3PhRM = bPh1 && bPh2; // 3-phasiges Laden iLStromRM = getState(preWB +".amp").val; // Ladestrom //console.info("RM Zus Strom Phasen: " +bZusRM +" " +iLStromRM +" " +b3PhRM); // Wallbox ansteuern // ----------------- if(iLZus==cZusAnlauf) { // ==== Anlauf? ==== if(!bAcsRM) { // Authent. Ein? setState(preWB +".set_state", "acs;0"); // j: Authent. Ausschalten if(iPhasen==1) // Phasen-Vorwahl setState(preWB +".set_state", "psm;1"); // - 1phasig vorwählen else setState(preWB +".set_state", "psm;2"); // - 3phasig vorwählen console.info("Anlauf: Authent. Aus, Phasenvorwahl"); } else if(!bZusRM) { // Wallbox Aus? setState(preWB +".set_state", "frc;0"); // j: Wallbox Einschalten console.info("WB einschalten"); } } if(iLZus==cZusAus) { // ==== Ausschalten? ==== if(bZusRM) { // Wallbox Ein? setState(preWB +".set_state", "frc;1"); // j: Wallbox Ausschalten console.info("WB ausschalten"); } else if(bAcsRM) { // Authent. Aus? setState(preWB +".set_state", "acs;1"); // j: Authent. Ein console.info("Authent. Ein"); } } if((iLZus==cZusPause) && bZusRM ) { // ==== Pause, WB Ein? ==== setState(preWB +".set_state", "frc;1"); // j: Wallbox Ausschalten console.info("Pause einschalten"); } if((iLZus!=cZusAus) && (iLStrom!=iLStromRM)) { // ==== Ladestrom ändern? ==== setState(preWB +".set_power", iLStrom); // j: Ladestrom zur WB console.info("Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM); } if((iPhasen==1) && b3PhRM) { // ==== 3->1 Phasen? ==== setState(preWB +".set_state", "psm;1"); // auf 1phasig umschalten console.info("auf 1-phasig umschalten"); console.info("-> Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM); } if((iPhasen==3) && !b3PhRM) { // ==== 1->3 Phasen? ==== setState(preWB +".set_state", "psm;2"); // auf 3phasig umschalten console.info("auf 3-phasig umschalten"); console.info("-> Ladestrom SW/IW= " +iLStrom +"/" +iLStromRM); } }, zykWB);nimm nicht setIntervall, sonder setTimeout und am Ende des Skripts wieder ein erneutes setTimeout auslösen für den nächsten Zyklus.
Das sorgt dafür, das beim beenden des Skripts der Code maximal nur noch 1 mal ausgeführt wird.mit setInterval registrierst du bei jedem Skriptstart das erneut, ohne das der vorherige Interval vergessen wird. der müsste eigentlich mit clearTimeout gelöscht werden. Das Interval handle wird beimn Aufruf von setInterval zurückgegeben.
Ohne das, kannst diese vergessenen Intervalle nur stoppen indem du den javascript adapter neu startest.Wahrscheinlich hast du das Skript mehrfach aufgerufen und da laufen mehrere Abläufe parallel.
https://developer.mozilla.org/en-US/docs/Web/API/Window/clearTimeout
https://developer.mozilla.org/en-US/docs/Web/API/Window/clearTimeout
https://developer.mozilla.org/en-US/docs/Web/API/Window/setInterval -
nimm nicht setIntervall, sonder setTimeout und am Ende des Skripts wieder ein erneutes setTimeout auslösen für den nächsten Zyklus.
Das sorgt dafür, das beim beenden des Skripts der Code maximal nur noch 1 mal ausgeführt wird.mit setInterval registrierst du bei jedem Skriptstart das erneut, ohne das der vorherige Interval vergessen wird. der müsste eigentlich mit clearTimeout gelöscht werden. Das Interval handle wird beimn Aufruf von setInterval zurückgegeben.
Ohne das, kannst diese vergessenen Intervalle nur stoppen indem du den javascript adapter neu startest.Wahrscheinlich hast du das Skript mehrfach aufgerufen und da laufen mehrere Abläufe parallel.
https://developer.mozilla.org/en-US/docs/Web/API/Window/clearTimeout
https://developer.mozilla.org/en-US/docs/Web/API/Window/clearTimeout
https://developer.mozilla.org/en-US/docs/Web/API/Window/setIntervalAFAIK kümmert sich die Javascript Instanz um das beenden von setInterval() und schedule().
-
@hub01 das stimmt nicht!
alleine in den Ausschnitt sind 3

und wie oft werden die aufgerufen?
-
@homoran sagte in zig gleiche Einträge in JS-Protokollanzeige:
@hub01 das stimmt nicht!
alleine in den Ausschnitt sind 3

und wie oft werden die aufgerufen?


alle 2 Sekunden
@hub01
Gut wegen dem ursprünglichen Problem. Issue aufmachen wenns stört. Kann es aber weder bestätigen noch verneinen, da ich dort keine logs gucke die älter sind. Das wird im Admin oder im Download geguckt. :) -
AFAIK kümmert sich die Javascript Instanz um das beenden von setInterval() und schedule().
