NEWS
Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x
-
@Thomas-Braun sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
@AxelF1977 Dann muss sich das vielleicht mal jemand anschauen, der was von JS versteht. Als letztes kannst du aber noch probieren den iobroker insgesamt nochmal neuzubauen:
iobroker rebuild self --install
Hab ich ausgeführt
gordon@ioBrokerPC:/opt/iobroker$ iobroker rebuild self --install npm install --loglevel error --production (System call) in "/opt/iobroker/node_modules/iobroker.js-controller" In file included from ../src/unix_dgram.cc:5: ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’: ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ In file included from ../../nan/nan.h:56, from ../src/unix_dgram.cc:5: ../src/unix_dgram.cc: At global scope: /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:608:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:642:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/unix_dgram.cc:404:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(unix_dgram, Initialize) ^~~~~~~~~~~ In file included from ../src/main.cpp:3: ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’: ../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type] , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete) ^ In file included from ../../nan/nan.h:56, from ../src/main.cpp:3: ../src/main.cpp: At global scope: /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:608:43: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /home/iobroker/.cache/node-gyp/12.16.3/include/node/node.h:642:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/main.cpp:42:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(diskusage, Init) ^~~~~~~~~~~ Rebuild self done
Leider bleibt es bei allen Problemen. Ich bin trotzdem sehr dankbar für Deine Hilfe und die Zeit die Du investiert hast. Vielleicht liest es ja jemand der sich mit Javascripten auskennt.
Leider stürzt die Instanz weiterhin permanent ab.
-
@paul53 sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
@AxelF1977 sagte:
logs(pfad + schwellwerte[geraet].datenpunkt + " wurde angelegt","debug");
at dpAnlegen (script.js.Schwellwerte.Schwellwerte:684:9)
at script.js.Schwellwerte.Schwellwerte:754:1Im Script "Schwellwerte.Schwellwerte" sind in den 2 Zeilen 684 und 754 Fehler.
Ok, hab ich Log auch gesehen. Aber ich wüsste nicht wie ich diese Fehler behaben soll. Das ist das fertige Heizungsscript aus dem Forum.
-
@AxelF1977
Da klemmt irgendwas bei 'nan' und V8. Möglich, dass die alten JS Funktionen aufrufen die mittlerweile anders gehandhabt werden. Du hast da ja offenbar größere skripte laufen. Wir könnten mal auf node10 zurück, das tickt bzgl. V8 etwas anders, soweit ich weiß. Willst du das probieren? -
@Thomas-Braun sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
@AxelF1977
Da klemmt irgendwas bei 'nan' und V8. Möglich, dass die alten JS Funktionen aufrufen die mittlerweile anders gehandhabt werden. Du hast da ja offenbar größere skripte laufen. Wir könnten mal auf node10 zurück, das tickt bzgl. V8 etwas anders, soweit ich weiß. Willst du das probieren?Das wäre noch eine Möglichkeit. Warum nicht probieren. Klar.
-
iobroker stop
Dann per
sudo nano /etc/apt/sources.list.d/nodesource.list
Dein Eintrag von node_12 auf node_10 ändern, sonst nichts!
Sollte dann so aussehen:deb https://deb.nodesource.com/node_10.x buster main deb-src https://deb.nodesource.com/node_10.x buster main
Mit STRG-X kommst du aus nano wieder raus, wenn du fertig bist. Dann noch abspeichern. (Kommt eine Rückfrage, da einfach Enter drücken).
sudo apt update
apt policy nodejs
-
@Thomas-Braun sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
Mit STRG-X kommst du aus nano wieder raus, wenn du fertig bist. Dann noch abspeichern. (Kommt eine Rückfrage, da einfach Enter drücken).
STRG_X wirft dich komplett raus
STRG_O ist Out -
@Thomas-Braun sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
apt policy nodejs
ok, bis zum Abspeicher verständlich
dann kommt
gordon@ioBrokerPC:~$ sudo apt update OK:1 http://security.debian.org/debian-security buster/updates InRelease OK:2 http://deb.debian.org/debian buster InRelease OK:3 http://deb.debian.org/debian buster-updates InRelease OK:4 https://deb.nodesource.com/node_10.x buster InRelease Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut. Statusinformationen werden eingelesen.... Fertig Alle Pakete sind aktuell.
dann
gordon@ioBrokerPC:~$ apt policy nodejs nodejs: Installiert: 12.16.3-1nodesource1 Installationskandidat: 12.16.3-1nodesource1 Versionstabelle: *** 12.16.3-1nodesource1 100 100 /var/lib/dpkg/status 10.20.1-1nodesource1 500 500 https://deb.nodesource.com/node_10.x buster/main amd64 Packages 10.19.0~dfsg1-1 500 500 http://security.debian.org/debian-security buster/updates/main amd64 Packages 10.15.2~dfsg-2 500 500 http://deb.debian.org/debian buster/main amd64 Packages
iobroker start.
Leider ändert sich noch nichts
-
@AxelF1977 said in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
10.20.1-1nodesource1
Natürlich ändert sich noch nichts. Wir haben node10 ja auch noch nicht installiert. Das tun wir jetzt:
iobroker stop sudo apt install nodejs=10.20.1-1nodesource1
-
@Thomas-Braun sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
@AxelF1977 said in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
10.20.1-1nodesource1
Natürlich ändert sich noch nichts. Wir haben node10 ja auch noch nicht installiert. Das tun wir jetzt:
iobroker stop sudo apt install nodejs=10.20.1-1nodesource1
Ok, das hat finktioniert.
Es bleibt aber bei der vorherigen Situation. Ich wüsste jetzt nur noch als Lösung bei dem js-controller ein downgrade auf die letzte 2.x Version zu machen
-
@AxelF1977 Mal durchgestartet? Eigentlich würde ich jetzt erwarten, dass die Meldungen zumindest anders sind.
-
@Thomas-Braun sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
@AxelF1977 Mal durchgestartet? Eigentlich würde ich jetzt erwarten, dass die Meldungen zumindest anders sind.
Reboot durchgeführt. Nachdem alle Instanzen neugestartet sind, leider keine Änderung.
Die letzten Einträge unter Error im Log
javascript.0 2020-05-03 18:09:30.966 error (9183) at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5) javascript.0 2020-05-03 18:09:30.966 error (9183) at maybeClose (internal/child_process.js:982:16) javascript.0 2020-05-03 18:09:30.966 error (9183) at ChildProcess.EventEmitter.emit (domain.js:448:20) javascript.0 2020-05-03 18:09:30.965 error (9183) at ChildProcess.emit (events.js:198:13) javascript.0 2020-05-03 18:09:30.965 error (9183) at ChildProcess.exithandler (child_process.js:285:7) javascript.0 2020-05-03 18:09:30.965 error (9183) at script.js.System.Updates:381:59 javascript.0 2020-05-03 18:09:30.965 error (9183) script.js.System.Updates: TypeError: Cannot read property 'toString' of null javascript.0 2020-05-03 18:09:29.893 error (9183) script.js.Heos.Heos: [Heos] parseResponse: Unexpected end of JSON input javascript.0 2020-05-03 18:09:29.885 error (9183) script.js.Heos.Heos: [Heos] startPlayers: Cannot read property 'replace' of undefined javascript.0 2020-05-03 18:09:29.858 error (9183) at Script.runInContext (vm.js:133:20) javascript.0 2020-05-03 18:09:29.858 error (9183) at script.js.Schwellwerte.Schwellwerte:754:1 javascript.0 2020-05-03 18:09:29.858 error (9183) at dpAnlegen (script.js.Schwellwerte.Schwellwerte:684:9) javascript.0 2020-05-03 18:09:29.858 error (9183) ReferenceError: logs is not defined javascript.0 2020-05-03 18:09:29.858 error (9183) ^ javascript.0 2020-05-03 18:09:29.858 error (9183) logs(pfad + schwellwerte[geraet].datenpunkt + " wurde angelegt","debug"); javascript.0 2020-05-03 18:09:29.857 error (9183) script.js.Schwellwerte.Schwellwerte: script.js.Schwellwerte.Schwellwerte:684 javascript.0 2020-05-03 18:09:28.119 error (9183) script.js.Robbi.Map_Valetudo_rotate: TypeScript compilation failed: import axios from "axios"; ^ ERROR: Cannot find module 'axios'. javascript.0 2020-05-03 18:09:12.825 error (8669) script.js.Heos.Heos: [Heos] Error: connect ECONNREFUSED 192.168.178.50:1255 javascript.0 2020-05-03 18:09:12.820 error (8669) at Script.runInContext (vm.js:133:20) javascript.0 2020-05-03 18:09:12.820 error (8669) at script.js.Schwellwerte.Schwellwerte:754:1 javascript.0 2020-05-03 18:09:12.820 error (8669) at dpAnlegen (script.js.Schwellwerte.Schwellwerte:684:9) javascript.0 2020-05-03 18:09:12.820 error (8669) ReferenceError: logs is not defined javascript.0 2020-05-03 18:09:12.820 error (8669) ^ javascript.0 2020-05-03 18:09:12.820 error (8669) logs(pfad + schwellwerte[geraet].datenpunkt + " wurde angelegt","debug"); javascript.0 2020-05-03 18:09:12.820 error (8669) script.js.Schwellwerte.Schwellwerte: script.js.Schwellwerte.Schwellwerte:684 javascript.0 2020-05-03 18:09:12.463 error (8669) script.js.Robbi.Map_Valetudo_rotate: TypeScript compilation failed: import axios from "axios"; ^ ERROR: Cannot find module 'axios'. javascript.0 2020-05-03 18:08:59.799 error (8159) at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5) javascript.0 2020-05-03 18:08:59.799 error (8159) at maybeClose (internal/child_process.js:982:16) javascript.0 2020-05-03 18:08:59.799 error (8159) at ChildProcess.EventEmitter.emit (domain.js:448:20) javascript.0 2020-05-03 18:08:59.799 error (8159) at ChildProcess.emit (events.js:198:13) javascript.0 2020-05-03 18:08:59.799 error (8159) at ChildProcess.exithandler (child_process.js:285:7) javascript.0 2020-05-03 18:08:59.799 error (8159) at script.js.System.Updates:381:59 javascript.0 2020-05-03 18:08:59.799 error (8159) script.js.System.Updates: TypeError: Cannot read property 'toString' of null javascript.0 2020-05-03 18:08:57.114 error (8159) script.js.Heos.Heos: [Heos] startPlayers: Cannot read property 'replace' of undefined javascript.0 2020-05-03 18:08:57.077 error (8159) at Script.runInContext (vm.js:133:20) javascript.0 2020-05-03 18:08:57.077 error (8159) at script.js.Schwellwerte.Schwellwerte:754:1 javascript.0 2020-05-03 18:08:57.077 error (8159) at dpAnlegen (script.js.Schwellwerte.Schwellwerte:684:9) javascript.0 2020-05-03 18:08:57.077 error (8159) ReferenceError: logs is not defined javascript.0 2020-05-03 18:08:57.077 error (8159) ^ javascript.0 2020-05-03 18:08:57.076 error (8159) logs(pfad + schwellwerte[geraet].datenpunkt + " wurde angelegt","debug"); javascript.0 2020-05-03 18:08:57.076 error (8159) script.js.Schwellwerte.Schwellwerte: script.js.Schwellwerte.Schwellwerte:684 javascript.0 2020-05-03 18:08:56.702 error (8159) script.js.Robbi.Map_Valetudo_rotate: TypeScript compilation failed: import axios from "axios"; ^ ERROR: Cannot find module 'axios'. javascript.0 2020-05-03 18:08:44.277 error (7863) at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5) javascript.0 2020-05-03 18:08:44.277 error (7863) at maybeClose (internal/child_process.js:982:16) javascript.0 2020-05-03 18:08:44.276 error (7863) at ChildProcess.EventEmitter.emit (domain.js:448:20) javascript.0 2020-05-03 18:08:44.276 error (7863) at ChildProcess.emit (events.js:198:13) javascript.0 2020-05-03 18:08:44.276 error (7863) at ChildProcess.exithandler (child_process.js:285:7) javascript.0 2020-05-03 18:08:44.276 error (7863) at script.js.System.Updates:381:59 javascript.0 2020-05-03 18:08:44.275 error (7863) script.js.System.Updates: TypeError: Cannot read property 'toString' of null javascript.0 2020-05-03 18:08:43.029 error (7863) script.js.Heos.Heos: [Heos] parseResponse: Unexpected end of JSON input javascript.0 2020-05-03 18:08:43.024 error (7863) script.js.Heos.Heos: [Heos] startPlayers: Cannot read property 'replace' of undefined javascript.0 2020-05-03 18:08:41.678 error (7863) at Script.runInContext (vm.js:133:20) javascript.0 2020-05-03 18:08:41.678 error (7863) at script.js.Schwellwerte.Schwellwerte:754:1 javascript.0 2020-05-03 18:08:41.678 error (7863) at dpAnlegen (script.js.Schwellwerte.Schwellwerte:684:9) javascript.0 2020-05-03 18:08:41.678 error (7863) ReferenceError: logs is not defined javascript.0 2020-05-03 18:08:41.678 error (7863) ^ javascript.0 2020-05-03 18:08:41.678 error (7863) logs(pfad + schwellwerte[geraet].datenpunkt + " wurde angelegt","debug"); javascript.0 2020-05-03 18:08:41.677 error (7863) script.js.Schwellwerte.Schwellwerte: script.js.Schwellwerte.Schwellwerte:684 javascript.0 2020-05-03 18:08:41.407 error (7863) script.js.Robbi.Map_Valetudo_rotate: TypeScript compilation failed: import axios from "axios"; ^ ERROR: Cannot find module 'axios'.
-
@AxelF1977 Das dürfen aber alles Fehler in den einzelnen skripten sein.
-
@Thomas-Braun sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
@AxelF1977 Das dürfen aber alles Fehler in den einzelnen skripten sein.
Ok, ich wollte es nur teilen, evtl. wäre was dabei gewesen
-
@AxelF1977 Das Modul 'axios' für den Staubsauger wird nicht gefunden, das kann ich dem noch entnehmen. Sonst eigentlich nur JS-Zeug. Hab ich keinen Plan von.
-
@Thomas-Braun sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
@AxelF1977 Das Modul 'axios' für den Staubsauger wird nicht gefunden, das kann ich dem noch entnehmen. Sonst eigentlich nur JS-Zeug. Hab ich keinen Plan von.
Ich habe jetzt das Rollback auf den js-controller 2.2.10 ausgeführt
gordon@ioBrokerPC:~$ cd /opt/iobroker gordon@ioBrokerPC:/opt/iobroker$ iobroker stop gordon@ioBrokerPC:/opt/iobroker$ npm i iobroker.js-controller@2.2.10 --production [sudo] Passwort für gordon: > iobroker.js-controller@2.2.10 preinstall /opt/iobroker/node_modules/iobroker.js-controller > node lib/preinstallCheck.js NPM version: 6.14.4 > iobroker.js-controller@2.2.10 install /opt/iobroker/node_modules/iobroker.js-controller > node iobroker.js setup first The following notifications happened during sync: - Ignoring Directory "mqtt.admin" because officially not created as meta object. Please remove directory! - Ignoring Directory "tr-064-community.admin" because officially not created as meta object. Please remove directory! - Ignoring Directory "tuya.admin" because officially not created as meta object. Please remove directory! npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@~2.1.2 (node_modules/chokidar/node_modules/fsevents): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@^1.0.5 (node_modules/iobroker.info/node_modules/osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.5: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) npm WARN babel-eslint@10.1.0 requires a peer of eslint@>= 4.12.1 but none is installed. You must install peer dependencies yourself. + iobroker.js-controller@2.2.10 removed 252 packages and updated 4 packages in 14.607s 17 packages are looking for funding run `npm fund` for details gordon@ioBrokerPC:/opt/iobroker$ iobroker start
Jetzt geht wieder alles wie es war.
-
@AxelF1977
Prima. Dann hast du dein System ja wieder sauber. -
@Thomas-Braun
Na ob das so prima ist, wenn es mit dem aktuellen JS-Controller nicht läuft? Da ist doch was faul, da er der einzige ist, bei dem Scripte mit 3.* nicht laufen -
@Thomas-Braun sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
@AxelF1977
Prima. Dann hast du dein System ja wieder sauber.Auf jeden Fall sauberer als vorher! Und dafür danke ich Dir sehr. Vor allem für Deine Geduld.
@Jan1 sagte in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
@Thomas-Braun
Na ob das so prima ist, wenn es mit dem aktuellen JS-Controller nicht läuft? Da ist doch was faul, da er der einzige ist, bei dem Scripte mit 3.* nicht laufenNur was könnte es sein. Da es jetzt aber läuft, belasse ich es wie es ist. Vielleicht hat ja jemand die Tage mal die Muße und eine Idee.
-
@Jan1 said in Scripte laufen nicht mehr seit Update auf JS-Controler 3.0x:
Na ob das so prima ist, wenn es mit dem aktuellen JS-Controller nicht läuft? Da ist doch was faul, da er der einzige ist, bei dem Scripte mit 3.* nicht laufen
Da 2.2.10 (oder 2.2.9?) die aktuelle Version in default ist... Kann man machen, imho.
-
@AxelF1977
Mit nem Backup hattest es ja schon versucht, wobei wie hast das gemacht?
Ich bin ja ein Fan des Backitup Adapter und wenn ich damit ein Backup einspiele, dann gehe ich immer so vor:-
IOBroker Ordner löschen
-
IObroker installieren
-
auf latest umstellen (kann natürlich auch auf default bleiben, nur wenn man schon mal dabei ist)
-
alle Updates durchführen
-
Backitup Adapter installieren
-
Backup über den Adapter wieder herstellen
-
alle Updates (falls vorhanden) durchführen
So klappt das bei mir immer und das System ist danach aktuell und wirklich sauber.
-