NEWS
[gelöst] Script läuft nicht mehr.... DOMParser
-
@Thomas-Braun
Den Raspberry habe ich jetzt erst aufgesetzt, bin von einer Docker Multihost Umgebung auf der Syno umgezogen...
Auf der Syno war mir das zu langgsam, also die Aufrufe des Admin dauerten zu lange...
(Aktuell glaub ich nicht das es an der Syno liegt/lag )Erst hatte ich den Multihost gekillt (alle Adapter in den Instanzen auf Master geswitched, dann den Slave unter Experten Einstellungen der Obejecte entfernt,)
Dann Raspberry aufgesetzt und per Backitup wiederhergestellt...
Nur falls das an Zusatzinfo hilft!!!
Dickes Danke!
-
@ofri2607 sagte in Script läuft nicht mehr....:
@tcfigge
Ich denke mal ein Problem könnte eventuell sein, dass du node-fetch und node-fetch@v2 angeführt hast.
Ich arbeite auch schon länger mit node-fetch und hatte auch Probleme, als die v3 herausgekommen ist. Daher habe ich die v3 entfernt und nur die node-fetch@2 (ich habe hier kein v) eingetragen.
Damit funktioniert es bei mir problemlos - siehe ev. auch https://github.com/node-fetch/node-fetch#commonjsDas werde ich testen!
Was mir auch noch aufgefallen ist, warum holst du dir die 'dateformat' zur Datumsformatierung?
Warum, weil das im Ursprungsscript so steht....
Kann nur Copy /Paste
Mit dem Aufruf - siehe auch https://www.iobroker.net/docu/index-81.htm?page_id=5809&lang=en#formatDate
formatDate (millisecondsOrDate, format)
kannst du das direkt im JS Adapter, ohne zus. Laden von NPM Modulen auch.
OK, werd ich mal versuchen umzusetzen!!!
Melde mich, dickes Danke!!!
-
@thomas-braun
Das beruhigt mich schon mal, dass ich nicht bei der Umstellung etwas zerschossen habe!!!Danke schön!
-
@tcfigge sagte in Script läuft nicht mehr....:
OK, werd ich mal versuchen umzusetzen!!!
Ersetze einfach mal dein:
var dateFormat = require('dateformat'); var currentdate = new Date(); log(dateFormat(currentdate, "dd. mmm yyyy hh:MM"));
durch
log(formatDate(new Date(), "DD. O YYYY hh:mm"), "info");
und nimm das dateformat, das date-format und das formatDate bei den NPM-Modulen und der Syntaxhilfe raus.
Ich könnte mir Vorstellen, dass neben dem node-fetch Thema auch die Einträge ein Problem darstellen.
Du solltest nach dem Rausnehmen der Module, denke ich, nicht nur den JS-Adapter sondern den ganzen ioBroker neu starten. -
Moin moin und frohes Neues!
Beide Versuche in Reihe 117 bringen denselben Fehler:
log(formatDate(new Date(), “DD. O YYYY hh:mm”), "info"); log(formatDate(new Date(), “DD. O YYYY HH:MM”), "info"); javascript.0 (15920) script.js.common.Blockly.Diverse.ETA_mit_neuen_DP compile failed: at script.js.common.Blockly.Diverse.ETA_mit_neuen_DP:117
js Adapter hab ich angepasst:
-
@ofri2607
Wenn ich die Zeile ganz weglasse, wird es nicht besser:9:50:47.489 error javascript.0 (15920) script.js.common.Blockly.Diverse.Eta_NEU: TypeError: Cannot read properties of undefined (reading 'DOMParser') 09:50:47.489 error javascript.0 (15920) at script.js.common.Blockly.Diverse.Eta_NEU:3:28 09:50:47.489 error javascript.0 (15920) at script.js.common.Blockly.Diverse.Eta_NEU:120:3
-
@tcfigge
Servus und Danke schön, auch dir einen gute Start ins neue Jahr.Irgendwie ist da was in meinem obigen Post mit den Anführungszeichen scheinbar schiefgegangen, sorry. Kann es jetzt hier im Forum aber nicht anders einfügen.
Lösche bitte daher die Anführungszeichen vor DD und nach mm und gib die über deine Tastatur nochmal ein, müssen so aussehen, wie die bei info.
Ich schätze mal, das ist der Compiler-FehlerWas mir da jetzt noch auffällt ist, dass du bei den Module die node-fetch eingetragen hast, nicht die node-fetch@2
Bei mir hat das node-fetch nicht mehr funktioniert, nachdem die v3 herausgekommen ist, daher auch das @2 - siehe mein Post weiter oben.Die zweite Fehlermeldung ist aber eine ganz andere, hier passt dem DOMParser was nicht.
Den kenne ich jetzt leider gar nicht, aber wenn du da auf Github dazu schaust, ist folgendes zu Lesen:
Since version 0.7.0 this package is published to npm as @xmldom/xmldom and no longer as xmldom, because we are no longer able to publish xmldom.
D.h. du müsste mE das xmldom bei den NPM-Modulen rausnehmen und durch @xmldom/xmldom ersetzen und in Zeile 3 dann folgendes:var dom = require('@xmldom/xmldom').DOMParser;
Ich befürchte aber, das wird nicht alles sein wenn ich mir die Doku aus obigen Link ansehe. Da ich den DOMParser so aber nicht kenne, kann ich dir da dann aber leider nicht weiterhelfen; ev. wer anderer hier im Forum?
-
@ofri2607 sagte in Script läuft nicht mehr....:
Irgendwie ist da was in meinem obigen Post mit den Anführungszeichen scheinbar schiefgegangen, sorry. Kann es jetzt hier im Forum aber nicht anders einfügen.
jetzt richtig?
-
-
@ofri2607 sagte in Script läuft nicht mehr....:
Sitze aktuell am iPad
passt
Hab direkt einen Apfel als Verursacher der typographischen Anführungszeichen vermutet@ofri2607 sagte in Script läuft nicht mehr....:
nicht geschafft es zu ändern
am Android Tablet geht's (Löschen, und die richtigen hineinkopieren
-
@homoran
Letztes OT:
Eigentlich schräg, aber hin und wieder hat der Apfel so seine Eigenheiten … dann war‘s in dem Fall ja doch ein Problem hinter und nicht vor der Tastatur -
@ofri2607
Hi!
Sorry, das ich mich jetzt erst melde!Vielen vielen Dank!!!
Mit Deinen beiden Tipps scheint das Script jetzt wieder zu laufen!!!
-
@tcfigge
Perfekt hatte befürchtet, dass beim DOMParser mehr anzugreifen wäre.