NEWS
Fixed: TypeError: nodeSchedule.scheduleJob is not a function
-
Moin,
ich erhalte beim Start des js-Adapters im Log von allen Scripts die einen Schedule enthalten folgende Fehlermeldung:TypeError: nodeSchedule.scheduleJob is not a function
Viele der Scripts haben eigentlich 2 Jahre lang problemlos funktioniert, daher weiß ich nicht wo ich da ansetzen muss.
Ein Beispiel Schedule der anscheinend "kaputt" ist sie so aus:schedule('45 59 23 * * *', function() { setState(LaufenderMonat_KWh, getState(aktuell_Monat_KWh).val, true); setState(LaufenderMonat_EUR, getState(aktuell_Monat_EUR).val, true); setState(LaufendesJahr_KWh, getState(aktuell_Jahr_KWh).val, true); setState(LaufendesJahr_EUR, getState(aktuell_Jahr_EUR).val, true); });
Kann mir jemand einen Rat/Tipp geben, was da falsch läuft, bzw. was ich ändern muss?
Grüße aus dem Norden -
@smartin sagte in TypeError: nodeSchedule.scheduleJob is not a function:
Moin,
ich erhalte beim Start des js-Adapters im Log von allen Scripts die einen Schedule enthalten folgende Fehlermeldung:TypeError: nodeSchedule.scheduleJob is not a function
Viele der Scripts haben eigentlich 2 Jahre lang problemlos funktioniert, daher weiß ich nicht wo ich da ansetzen muss.
Ein Beispiel Schedule der anscheinend "kaputt" ist sie so aus:schedule('45 59 23 * * *', function() { setState(LaufenderMonat_KWh, getState(aktuell_Monat_KWh).val, true); setState(LaufenderMonat_EUR, getState(aktuell_Monat_EUR).val, true); setState(LaufendesJahr_KWh, getState(aktuell_Jahr_KWh).val, true); setState(LaufendesJahr_EUR, getState(aktuell_Jahr_EUR).val, true); });
Kann mir jemand einen Rat/Tipp geben, was da falsch läuft, bzw. was ich ändern muss?
Grüße aus dem NordenWas sagt denn diese Variante?
schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}', async function () { });
Habe jetzt mal die 45 Sekunden unterschlagen
oder die:
schedule({ hour: 23, minute: 59 }, async () => { });
-
@armilar said in TypeError: nodeSchedule.scheduleJob is not a function:
schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}', async function () {
Bei beiden Versionen leider die gleiche Fehlermeldung ...
-
@smartin sagte in TypeError: nodeSchedule.scheduleJob is not a function:
@armilar said in TypeError: nodeSchedule.scheduleJob is not a function:
schedule('{"time":{"exactTime":true,"start":"23:59"},"period":{"days":1}}', async function () {
Bei beiden Versionen leider die gleiche Fehlermeldung ...
Hatte ich schon vermutet, da das Problem bei "Schedule" ist. Hast du vor kurzem vielleicht etwas an der nodeJS - Version geändert? Neue Version? Und ist das einzige Problem "Schedule"? Oder sind da noch andere Probleme?
-
@armilar
Ich habe vor ca. 4 Wochen iobroker neu installiert (und dabei gleich mal die Chance genutzt auf einem USB-Stick und nicht mehr auf der Speicherkarte zu installieren) und anschließend alles mit Backups wieder hergestellt. Dadurch wurde nodeJS auf die Version 16 angehoben.
Es hatte aber alles normal funktioniert danach.
Diese Fehlermeldungen tauchen jetzt erst seit 2 Tagen auf, geändert hatte ich seit der Neuinstallation nichts mehr, weil alles korrekt lief.
Seit dem Fehler habe ich bisher nur ein RasPi Update gemacht.
Aktueller Stand ist:pi@iobroker1:~ $ uname -m && which nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs aarch64 /usr/bin/nodejs /usr/bin/node /usr/bin/npm v16.17.1 v16.17.1 8.15.0 pi /home/pi Hit:1 http://deb.debian.org/debian bullseye InRelease Hit:2 http://deb.debian.org/debian bullseye-updates InRelease Hit:3 http://security.debian.org/debian-security bullseye-security InRelease Hit:4 http://archive.raspberrypi.org/debian bullseye InRelease Hit:5 https://deb.nodesource.com/node_16.x bullseye InRelease Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. nodejs: Installed: 16.17.1-deb-1nodesource1 Candidate: 16.17.1-deb-1nodesource1 Version table: *** 16.17.1-deb-1nodesource1 500 500 https://deb.nodesource.com/node_16.x bullseye/main arm64 Packages 100 /var/lib/dpkg/status 12.22.12~dfsg-1~deb11u1 500 500 http://security.debian.org/debian-security bullseye-security/main arm64 Packages 12.22.5~dfsg-2~11u1 500 500 http://deb.debian.org/debian bullseye/main arm64 Packages
-
@smartin sagte in TypeError: nodeSchedule.scheduleJob is not a function:
@armilar
Ich habe vor ca. 4 Wochen iobroker neu installiert (und dabei gleich mal die Chance genutzt auf einem USB-Stick und nicht mehr auf der Speicherkarte zu installieren) und anschließend alles mit Backups wieder hergestellt. Dadurch wurde nodeJS auf die Version 16 angehoben.
Es hatte aber alles normal funktioniert danach.
Diese Fehlermeldungen tauchen jetzt erst seit 2 Tagen auf, geändert hatte ich seit der Neuinstallation nichts mehr, weil alles korrekt lief.
Seit dem Fehler habe ich bisher nur ein RasPi Update gemacht.
Aktueller Stand ist:pi@iobroker1:~ $ uname -m && which nodejs node npm && nodejs -v && node -v && npm -v && whoami && pwd && sudo apt update &> /dev/null && sudo apt update && apt policy nodejs aarch64 /usr/bin/nodejs /usr/bin/node /usr/bin/npm v16.17.1 v16.17.1 8.15.0 pi /home/pi Hit:1 http://deb.debian.org/debian bullseye InRelease Hit:2 http://deb.debian.org/debian bullseye-updates InRelease Hit:3 http://security.debian.org/debian-security bullseye-security InRelease Hit:4 http://archive.raspberrypi.org/debian bullseye InRelease Hit:5 https://deb.nodesource.com/node_16.x bullseye InRelease Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. nodejs: Installed: 16.17.1-deb-1nodesource1 Candidate: 16.17.1-deb-1nodesource1 Version table: *** 16.17.1-deb-1nodesource1 500 500 https://deb.nodesource.com/node_16.x bullseye/main arm64 Packages 100 /var/lib/dpkg/status 12.22.12~dfsg-1~deb11u1 500 500 http://security.debian.org/debian-security bullseye-security/main arm64 Packages 12.22.5~dfsg-2~11u1 500 500 http://deb.debian.org/debian bullseye/main arm64 Package
Upgrades alle okay? Fixer mal probiert?
sudo apt-get update sudo apt-get dist-upgrade iob stop iob fix iob start ...
-
@armilar
Erstmal danke für die Tipps und Anregungen!
Fixer habe ich eben drüber laufen lassen, nach Neustart des RasPi immer noch der Fehler.
Upgrades sollten eigentlich ok sein, wüsste nicht wie ich das testen könnte. -
@smartin sagte in TypeError: nodeSchedule.scheduleJob is not a function:
@armilar
Erstmal danke für die Tipps und Anregungen!
Fixer habe ich eben drüber laufen lassen, nach Neustart des RasPi immer noch der Fehler.
Upgrades sollten eigentlich ok sein, wüsste nicht wie ich das testen könnte.na damit:
sudo apt-get dist-upgrade
habe leider jetzt auch alle Tipps verbraucht...
-
sudo apt-get dist-upgrade
Ja das hatte ich vor dem Fixer auch mal durchlaufen lassen ohne Fehler.
Tja ...
Ich finde leider auch nirgends etwas zu dem Fehler ...TypeError: nodeSchedule.scheduleJob is not a function
-
@smartin
Scheinbar ist etwas bei der Installation des Javascript-Adapters schief gelaufen? Versuche mal ein Dateiupload des Adapters. -
Moin,
ich weiß ehrlich gesagt nicht so genau was ein Dateiupload bewirkt...
Reicht es, die Uploadfunktion unter "Adapter" dafür zu verwenden oder muss ich noch etwas anderes beachten? -
-
@smartin sagte: Reicht es, die Uploadfunktion unter "Adapter" dafür zu verwenden
Diese Funktion meine ich.
-
@paul53
Ich habe jetzt die Uploadfunktion im Adapter und die von @Thomas-Braun vorgeschlagene Version in der Konsole für alle durchgeführt, leider nach wie vor der gleiche Fehler nach einem Neustart -
@smartin sagte: leider nach wie vor der gleiche Fehler nach einem Neustart
Dann ist anscheinend schon beim Download etwas schief gelaufen. Du verwendest die neueste Version (6.0.3)? Dann installiere mal die Vorgängerversion.
-
So es geht wieder, ohne irgendwelche Fehlermeldungen.
Es war allerdings wirklich merkwürdig.
Zuerst hatte ich versucht, ein Downgrade des JS-Adapter auf die Version 6.0.2 zu machen. Dabei hat er mir immer einen Fehler gemeldet, der in etwa lautete "Version nicht verfügbar auf dem Server". Da ich nicht weiß ob die Version im Stable eventuell dort gar nicht liegt, bin ich immer weiter abwärts gegangen beim Downgrade, es wurde aber immer mit Code25 abgebrochen. Dabei ist der RasPi dann irgendwann komplett abgestürzt.
Nach einem Neustart dann ein letzter Versuch mit der letzten 5er Version hat auch nicht funktioniert, dabei zeigte er mir aber auch die Meldung "Upgrade von Version 0.0.0 auf 5.8.10" an. Ein Refresh der Adapter Seite in der Admin Gui zeigte dann, dass Javascript gar nicht mehr vorhanden war. Die Installation war aber auch nicht möglich.
Ich habe es dann über die Konsole versucht, mit dem Ergebnis:pi@iobroker1:~ $ iobroker add javascript.0 NPM version: 8.15.0 Installing iobroker.javascript@6.0.3... (System call) host.iobroker1 Cannot install iobroker.javascript@6.0.3: 217
Habe dann den iob fix nochmal laufen lassen, dann
pi@iobroker1:~ $ cd /opt/iobroker pi@iobroker1:/opt/iobroker $ npm i iobroker.javascript --production npm WARN config production Use `--omit=dev` instead. npm ERR! code ENOTEMPTY npm ERR! syscall rename npm ERR! path /opt/iobroker/node_modules/iobroker.javascript npm ERR! dest /opt/iobroker/node_modules/.iobroker.javascript-5NZ432mn npm ERR! errno -39 npm ERR! ENOTEMPTY: directory not empty, rename '/opt/iobroker/node_modules/iobroker.javascript' -> '/opt/iobroker/node_modules/.iobroker.javascript-5NZ432mn' npm ERR! A complete log of this run can be found in: npm ERR! /home/iobroker/.npm/_logs/2022-10-15T17_55_58_548Z-debug-0.log
Ich musste dann erst unter /opt/iobroker/node_modules/ ".iobroker.javascript" in ".iobroker.javascript-5NZ432mn" umbennen, dann lief die Installation auf 6.0.3 erfolgreich durch.
Wieder Neustart des RasPi (nur um sicher zu gehen), danach war wieder alles ok, keine Fehlermeldungen mehr. Ich bin nicht so fit in Linux-Geschichten, daher habe ich keine Ahnung was da kaputt war, vermutlich war der JS-Adapter wirklich irgendwie "schief".
Egal, es funzt wieder, das ist das Wichtigste.
Vielen Dank Euch für die Hilfestellung! -