NEWS
[How-to] Node.js ioBroker richtig updaten-2021/22 Edition
-
MOD-EDIT: Diese Anleitung ist veraltet. Update und Fix der nodejs Installation ist mittlerweile in dem Befehl
iob nodejs-updateenthaltenHi,
in diesem Artikel möchte ich einen Überblick geben, wie inzwischen (meint anno 2021 mit einem js-controller 3.x bzw 4.x) Node.js Updates bei ioBroker ausgeführt werden sollten bzw können.
Was ist Node.js und warum muss man es updaten?
Node.js ist die Laufzeitumgebung der Programmiersprache JavaScript, in der ioBroker geschrieben ist. Ohne Node.js funktioniert ioBroker nicht. Node.js hast Du initial selbst installiert oder der ioBroker-Installer hat dies für dich getan.
Wie bei vielen Open-Source-Technologien üblich, entwickelt sich Node.js schnell weiter. Kleinere Updates, die die Stabilität und Sicherheit steigern oder gar neue Funktionen hinzufügen, erscheinen regelmäßig.
Node.js-Versionen mit gerader Hauptversionsnummer werden als LTS-Versionen (Long Term Support) bezeichnet und einige Jahre gepflegt (z.B. 12.x). Jedes Jahr kommt eine neue Version ins LTS - in diesem Jahr (2021) ist das Node.js 16, welche im April veröffentlicht wurde und ab Oktober 2021 eine LTS Version wird.
Im gleichem Zug erreichen frühere LTS-Versionen ihr Lebensende (EOL, End of Life). So hat Node.js 8 im April 2020 den EOL-Status erhalten und bekommt damit keine Updates mehr, Nodejs 10.x wird Ende April 2021 Ihr Lebensende erreichen. Es wird also keine Sicherheits-Updates mehr geben! Node.js 12.x wird im April 2022 eol geben.
Alle Node.js-Versionen mit ungeraden Versionsnummern sind Entwicklungsversionen und sollten nicht produktiv genutzt werden.
ioBroker nutzt viele Module und Erweiterungen aus der JavaScript Open-Source Szene, und dort kommt es regelmäßig vor, dass Versionen die EOL gehen zeitnah danach auch nicht weiter unterstützt werden. Das hat im ersten Schritt keine echte Auswirkung, aber mittelfristig wird es also Adapter, und später auch den js-controller geben, der EOL Versionen von Node.js nicht mehr unterstützt.
Node.js 10 wird mit dem js-controller 3.x voll unterstützt. Ab dem js-controller 4.0 (Februar 2022) ist Node.js 10.x nicht mehr untertsützt.
Auf welche Node.js Version updaten?
Aktuell empfiehlt ioBroker die Nutzung von Node.js 16.x.
Folgende Adapter haben momentan Probleme mit Node.js 14:
- jeelink
Folgende Adapter haben momentan Probleme mit Node.js 16:
- jeelink?
*Node.js 16.x wird auch vom js-controller 3.3 grundsätzlich unterstützt, aber nur mit npm 6! npm 7 bzw 8 sind mit dem js-controller 4.0 nutzbar.
Update vorbereiten
Node.js Version prüfen
Bevor man beginnt, sollte man in der Befehlszeile mit dem Befehl
node -vüberprüfen, welche Version von Node.js gerade installiert ist. Eine gute Idee ist es, diese Versionsangabe auch mit der Node.js-Version im Übersichts-Fenster des ioBroker-Admins für diesen Host zu vergleichen. Sollten sich die Versionen unterscheiden, sind mehrere Node.js-Varianten installiert, was zu Problemen führen kann. Diese Probleme müssen VOR dem Update dann behoben werden! Anleitung zB unter https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian/2
Betriebssystem prüfen
Dann auch prüfen was man für ein Betriebssystem hat. Vor allem im Raspi Umfeld sind gern auch älterer Systeme auf basis von "Debian jessie" oder "Debian wheezy" im Einsatz. Für die gibt es nichts was höher ist als Nodejs 10, da steht dann ggf auch ein Betriebssystemupdate an, was wir hier aber nicht behandeln können.
Unterstützte Linux Distributionen sind unter https://github.com/nodesource/distributions#debian-and-ubuntu-based-distributions aufgelistet.
Unter Debian und Ubuntu gibt es mitlsb_release -aeine Ausgabe was man aktuell nutzt.js-controller Version prüfen
Weiterhin bitte prüfen welche js-controller Version Installiert ist (ebenfalls auf dem Host-Tab im Admin einsehbar).
Bei Versionen VOR js-controller 3.x, wenn möglich bitte zuerst den js-controller aktualisieren. Am besten auf mindestens die 3.2! Hierzu gibt es extra Threads im Forum wie z.B. https://forum.iobroker.net/topic/42385/js-controller-3-2-jetzt-im-stable bzw https://forum.iobroker.net/topic/52886/js-controller-4-0-x-jetzt-für-alle-user-im-stableAdapter aktualisieren
Damit es nach dem Update zu keinen Inkompatibilitäten oder Probleme kommt, sollte man alle Adapter prüfen und aktualisieren. Vor allem Adapter mit nativen Bestandteilen, wie alles mit Serialport oder Bluetooth können Probleme bereiten. Hier am besten die Adapter-Readme's per Admin oder im GitHub prüfen, ob neue Versionen zur Verfügung stehen die die geplante Node.js Version explizit erst unterstützen.
Bei Updates wo es größere Versionssprünge bei npm gibt (zb Node.js 14->16 updated npm von 6.x auf 8.x) kann es sehr hilfreich sein wenn man schaut ob Adapter die von GitHub installiert wurden inzwischen in der gleichen version auf auf npm liegen und dann ggf von dort nochmals installieren oder updaten. Im Admin werden Adapter die per GitHub installiert wurden gesondert mit einem GitHub Symbol angezeigt. Das hilft auch im Vorfeld Probleme zu vermeiden.
Wenn man diesen Schritt nicht durchführt kann es zu unnötigen Problemen beim update der Adapter kommen!
Backup erstellen
Zuerst muss natürlich unbedingt ein Backup erstellt werden. Dazu kann z.B. der BackItUp-Adapter genutzt oder der Kommandozeilenbefehl
cd /opt/iobroker iobroker backupausgeführt werden. Das Backup sollte aktuell sein, damit möglichst keine Daten verloren gehen.
Node.js updaten
Für Windows-Systeme kann ich leider gerade nichts genaues sagen, wir schauen das wir das noch ergänzen. Aufruf an die Community: Wer Schritte hat gern als eigener Post oder hier einbringen
Danke
Einen Post aus der Community gab es dazu: https://forum.iobroker.net/post/624003Linux-Systeme
ioBroker stoppen
Zuerst ioBroker stoppen, damit Updates keine Nebeneffekte oder Abstürze verursachen.iobroker stopBitte anschließend im Webbrowser prüfen, dass der ioBroker-Admin danach wirklich nicht mehr läuft. Sollte er weiterhin aufrufbar sein, dann den Rechner neu starten und nochmals „iobroker stop“ ausführen und erneut testen. Für die Techniker unter uns: Man kann auch mit einem Tool wie "top" prüfen, ob noch Prozesse existieren, die mit "io." beginnen. Die dann am besten mit einem beherzten "sudo kill -9 <ProzessID>" zwangsbeenden.
Node.js updaten
Jetzt aktualisiert man Node.js auf die gewünschte neue Version.Unter Linux reicht es, dazu den Nodesource-Installationsbefehl für das jeweilige Betriebssystem auszuführen. Verschiedene Varianten (auch Root und Nicht-Root) sind unter https://github.com/nodesource/distributions#debinstall gelistet.
Zum Beispiel lauten die Befehle für einen Raspberry Pi der ein Debian bzw. Raspbian-Image verwendet wie folgt, wenn man nicht als root-User (z.B. richtig mit dem User "pi") angemeldet ist:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install -y nodejsFür Node.js 16 einfach in der URL oben anstelle der 14 eine 16 reinschreiben.
Für macOS gibt einen Installer auf https://nodejs.org/en/download/ , den man einfach ausführt.
Ob die Aktualisierung geklappt hat, kann man wieder mit dem Befehl
node -vüberprüfen.
Auch die npm Version sollte mit
npm -vgeprüft werden. Mit einem js-controller <4 sicherstellen das idealerweise keine 7.x/8.x von npm installiert ist!
ioBroker fixer ausführen
Da die Installation von Node.js einige Einstellungen am System verändert haben kann, ist es jetzt ratsam, den ioBroker-Installationsfixer aufzurufen. Das geschieht mit dem Befehliobroker fixEr stellt unter anderem die für den Betrieb von ioBroker notwendigen Sicherheitseinstellungen wieder her und prüft und korrigiert alle Berechtigungen. Das kann einen Augenblick dauern, bitte Geduld haben.
Erster ioBroker Neustart NACH Update
Einige genutzte JavaScript Module haben binäre Teile, welche bei einem Node.js Update nicht mehr kompatibel sind und neu erstellt werden müssen.
Automatische Rebuilds
ioBroker versucht seit dem js-controller 3.0 automatisch die Adapter zu erkennen die nicht starten weil Sie aktualisiert werden müssen. Dies funktioniert so das die typischen Fehlermeldungen erkannt werden und ioBroker dann die Aktualisierung versucht.
js-controller 3.x
Zuerst wird ein "rebuild" des betroffenen Adapters ausgeführt, falls das nicht hilft werden die Adapter-Abhängigkeiten aktualisiert.js-controller 4.0
Zuerst wird versucht alle Adapter zu rebuilden, falls das nicht hilft wird versucht zielgerichtet die relevanten Module neu zu bauen.Daher kann es sein das der Adapter mehrfach ersucht wird neu zu starten. Hier bitte UNBEDINGT Geduld haben! Erst wenn der Adapter dauerhaft rot bleibt und auch im Log steht das der Rebuild nicht geklappt hat aktiv werden!
Bei einigen Adaptern (zB iot die optionale native Abhängigkeiten haben) funktioniert die automatische Erkennung nicht und das rebuild muss manuell angestoßen werden. Dies kann dadurch erkannt werden das der Adapter "Rot" bleibt und nicht startet oder einzelne Funktionen nicht gehen und das als Fehler im Log steht. Dann sollte das Log geprüft werden (neben Admin stehen Logfiles auch unter /opt/iobroker/log/... zur Verfügung.
Manuelle Rebuilds
Hier zu gibt es
iobroker rebuild, bzw die Kommandos die im Log angezeigt werden falls der Automatische Rebuild nicht funktioniert.Sonderfälle (z.B. Serialport)
Leider gibt es Sonderfälle, wo auch die obigen Optionen das Rebuild nicht erledigen, einer davon ist Serialport.
Dort kann ein Log zB (auch nach allen Rebuild Versuchen) wie folgt aussehen
host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: } host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: ] host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/compiled/12.16.3/linux/arm/serialport.node' host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/default/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/Release/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/out/Release/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/Debug/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/out/Debug/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/Release/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/Debug/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: tries: [ host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1133:30) { host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Object. (/opt/iobroker/node_modules/serialport/lib/bindings/auto-detect.js:16:22) host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at require (internal/modules/cjs/helpers.js:77:18) host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:1019:19) host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:877:14) host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:977:32) host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10) host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1133:30) host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Object. (/opt/iobroker/node_modules/serialport/lib/bindings/linux.js:2:36) host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at bindings (/opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:93:9) host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/compiled/12.16.3/linux/arm/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/default/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/Release/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/out/Release/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/Debug/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/out/Debug/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/Release/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/Debug/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: Error: Could not locate the bindings file. Tried: host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: ^ host.SmartHomeCenter | 2020-05-10 09:28:01.780 | error | Caught by controller[0]: throw err host.SmartHomeCenter | 2020-05-10 09:28:01.780 | error | Caught by controller[0]: /opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:96Es gibt auch andere Fehlermeldungen die aber alle auf das gleiche hinauslaufen.
Die einfachste Option ist es dann manuell im richtigen Verzeichnis neu zu bauen.
In dem Fall das Verzeichenis mit "bindings" suchen - oben ist das /opt/iobroker/node_modules/serialport/node_modules/bindings ... bei neueren Versionen kann es auch etwas wie /opt/iobroker/node_modules/serialport/node_modules/@serialport/bindings sein.
Dann in dieses Verzeichnis wechseln undnpm install --productionausführen. Danach den Adapter nochmal sneu starten, das sollte dann tun.Ein weiterer Fall sind Adapter mit canvas Modul (ggf echarts oder Mihome-vacuum) wo es Probleme gebe kann.
Andere Sonderfälle muss man sich im Detail ansehen. Bitte unten Posten und wir unterstützen.
Weitere Notfall Optionen
Im früheren Artikel unter https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updaten sind noch weitere manuelle Möglichkeiten beschrieben ioBroker wieder zum laufen zu bekommen, aber diese sollten an sich nicht mehr nötig sein, gehen aber natürlich auch noch!
Dieser Artikel gilt also auch weiterhin.Jetzt viel Erfolg und gebt bitte Feedback wie git es geklappt hat oder welche Probleme Ihr habt.
Ingo
@apollon77 Ich will auch mal meinen Senf dazu geben.
Ich fand eigentlich den Post hier von @Thomas-Braun super gut, wo man den Update der node.js über die Datei
/etc/apt/sources.list.d/nodesource.list gemacht hat.Damit wurde es dann beim nächsten Systemupdate alles zusammengemacht. So habe ich meine node.js Version von 12 auf 14 aktualisiert. Hat das irgendwelche Nachteile es über das Editieren der Datei zu machen?
Ah oder liegt das daran - dass dieser curl Befehl universeller ist und nicht nur auf linux oder debian Systemen funktioniert? (sondern auch auf Windows Systemen)
-
@apollon77 Ich will auch mal meinen Senf dazu geben.
Ich fand eigentlich den Post hier von @Thomas-Braun super gut, wo man den Update der node.js über die Datei
/etc/apt/sources.list.d/nodesource.list gemacht hat.Damit wurde es dann beim nächsten Systemupdate alles zusammengemacht. So habe ich meine node.js Version von 12 auf 14 aktualisiert. Hat das irgendwelche Nachteile es über das Editieren der Datei zu machen?
Ah oder liegt das daran - dass dieser curl Befehl universeller ist und nicht nur auf linux oder debian Systemen funktioniert? (sondern auch auf Windows Systemen)
Mit dem curl ziehst du ja nur ein Installationsskript rein, das dann im Grunde auch nichts anderes macht als in der Datei nodesource.list die entsprechenden Einträge zu tätigen.
Also gehupft wie gesprungen.
Ich persönlich ändere halt lieber nur ein Zeichen in einer Datei statt ein skript aus dem Netz zu ziehen. Da weiß ich nämlich eher was da passiert. -
Mit dem curl ziehst du ja nur ein Installationsskript rein, das dann im Grunde auch nichts anderes macht als in der Datei nodesource.list die entsprechenden Einträge zu tätigen.
Also gehupft wie gesprungen.
Ich persönlich ändere halt lieber nur ein Zeichen in einer Datei statt ein skript aus dem Netz zu ziehen. Da weiß ich nämlich eher was da passiert.@thomas-braun Danke für die Erklärung.
Wieder ein bisschen schlauer.
Jo ich find das mit dem Ändern der Datei auch eleganter - zumindest hat man da das Gefühl, dass man noch eher Herr seines Systems ist. -
@thomas-braun Danke für die Erklärung.
Wieder ein bisschen schlauer.
Jo ich find das mit dem Ändern der Datei auch eleganter - zumindest hat man da das Gefühl, dass man noch eher Herr seines Systems ist. -
@babl sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
mußte nur beim zigbee einen manuellen rebuild machen
Mit dem serialport/binding von oben oder haben die "rebuild kommendos geholfen?
Hast Du noch die genaue Fehlermeldung aus dem Log?@apollon77 Bei mir wollte der augenscheinlich erst auch nicht:
adapter "zigbee" seems to be installed for a different version of Node.js. Trying to rebuild it... 2 attempt
5min später (ich hab einfach das "Geduld" von oben befolgt:
iobroker npm-rebuild: Rebuild zigbee done
Alles läuft wieder. Schöne Anleitung!
-
@apollon77 Bei mir wollte der augenscheinlich erst auch nicht:
adapter "zigbee" seems to be installed for a different version of Node.js. Trying to rebuild it... 2 attempt
5min später (ich hab einfach das "Geduld" von oben befolgt:
iobroker npm-rebuild: Rebuild zigbee done
Alles läuft wieder. Schöne Anleitung!
@dermicha75 Super, das höre ich gern
-
MOD-EDIT: Diese Anleitung ist veraltet. Update und Fix der nodejs Installation ist mittlerweile in dem Befehl
iob nodejs-updateenthaltenHi,
in diesem Artikel möchte ich einen Überblick geben, wie inzwischen (meint anno 2021 mit einem js-controller 3.x bzw 4.x) Node.js Updates bei ioBroker ausgeführt werden sollten bzw können.
Was ist Node.js und warum muss man es updaten?
Node.js ist die Laufzeitumgebung der Programmiersprache JavaScript, in der ioBroker geschrieben ist. Ohne Node.js funktioniert ioBroker nicht. Node.js hast Du initial selbst installiert oder der ioBroker-Installer hat dies für dich getan.
Wie bei vielen Open-Source-Technologien üblich, entwickelt sich Node.js schnell weiter. Kleinere Updates, die die Stabilität und Sicherheit steigern oder gar neue Funktionen hinzufügen, erscheinen regelmäßig.
Node.js-Versionen mit gerader Hauptversionsnummer werden als LTS-Versionen (Long Term Support) bezeichnet und einige Jahre gepflegt (z.B. 12.x). Jedes Jahr kommt eine neue Version ins LTS - in diesem Jahr (2021) ist das Node.js 16, welche im April veröffentlicht wurde und ab Oktober 2021 eine LTS Version wird.
Im gleichem Zug erreichen frühere LTS-Versionen ihr Lebensende (EOL, End of Life). So hat Node.js 8 im April 2020 den EOL-Status erhalten und bekommt damit keine Updates mehr, Nodejs 10.x wird Ende April 2021 Ihr Lebensende erreichen. Es wird also keine Sicherheits-Updates mehr geben! Node.js 12.x wird im April 2022 eol geben.
Alle Node.js-Versionen mit ungeraden Versionsnummern sind Entwicklungsversionen und sollten nicht produktiv genutzt werden.
ioBroker nutzt viele Module und Erweiterungen aus der JavaScript Open-Source Szene, und dort kommt es regelmäßig vor, dass Versionen die EOL gehen zeitnah danach auch nicht weiter unterstützt werden. Das hat im ersten Schritt keine echte Auswirkung, aber mittelfristig wird es also Adapter, und später auch den js-controller geben, der EOL Versionen von Node.js nicht mehr unterstützt.
Node.js 10 wird mit dem js-controller 3.x voll unterstützt. Ab dem js-controller 4.0 (Februar 2022) ist Node.js 10.x nicht mehr untertsützt.
Auf welche Node.js Version updaten?
Aktuell empfiehlt ioBroker die Nutzung von Node.js 16.x.
Folgende Adapter haben momentan Probleme mit Node.js 14:
- jeelink
Folgende Adapter haben momentan Probleme mit Node.js 16:
- jeelink?
*Node.js 16.x wird auch vom js-controller 3.3 grundsätzlich unterstützt, aber nur mit npm 6! npm 7 bzw 8 sind mit dem js-controller 4.0 nutzbar.
Update vorbereiten
Node.js Version prüfen
Bevor man beginnt, sollte man in der Befehlszeile mit dem Befehl
node -vüberprüfen, welche Version von Node.js gerade installiert ist. Eine gute Idee ist es, diese Versionsangabe auch mit der Node.js-Version im Übersichts-Fenster des ioBroker-Admins für diesen Host zu vergleichen. Sollten sich die Versionen unterscheiden, sind mehrere Node.js-Varianten installiert, was zu Problemen führen kann. Diese Probleme müssen VOR dem Update dann behoben werden! Anleitung zB unter https://forum.iobroker.net/topic/35090/howto-nodejs-installation-und-upgrades-unter-debian/2
Betriebssystem prüfen
Dann auch prüfen was man für ein Betriebssystem hat. Vor allem im Raspi Umfeld sind gern auch älterer Systeme auf basis von "Debian jessie" oder "Debian wheezy" im Einsatz. Für die gibt es nichts was höher ist als Nodejs 10, da steht dann ggf auch ein Betriebssystemupdate an, was wir hier aber nicht behandeln können.
Unterstützte Linux Distributionen sind unter https://github.com/nodesource/distributions#debian-and-ubuntu-based-distributions aufgelistet.
Unter Debian und Ubuntu gibt es mitlsb_release -aeine Ausgabe was man aktuell nutzt.js-controller Version prüfen
Weiterhin bitte prüfen welche js-controller Version Installiert ist (ebenfalls auf dem Host-Tab im Admin einsehbar).
Bei Versionen VOR js-controller 3.x, wenn möglich bitte zuerst den js-controller aktualisieren. Am besten auf mindestens die 3.2! Hierzu gibt es extra Threads im Forum wie z.B. https://forum.iobroker.net/topic/42385/js-controller-3-2-jetzt-im-stable bzw https://forum.iobroker.net/topic/52886/js-controller-4-0-x-jetzt-für-alle-user-im-stableAdapter aktualisieren
Damit es nach dem Update zu keinen Inkompatibilitäten oder Probleme kommt, sollte man alle Adapter prüfen und aktualisieren. Vor allem Adapter mit nativen Bestandteilen, wie alles mit Serialport oder Bluetooth können Probleme bereiten. Hier am besten die Adapter-Readme's per Admin oder im GitHub prüfen, ob neue Versionen zur Verfügung stehen die die geplante Node.js Version explizit erst unterstützen.
Bei Updates wo es größere Versionssprünge bei npm gibt (zb Node.js 14->16 updated npm von 6.x auf 8.x) kann es sehr hilfreich sein wenn man schaut ob Adapter die von GitHub installiert wurden inzwischen in der gleichen version auf auf npm liegen und dann ggf von dort nochmals installieren oder updaten. Im Admin werden Adapter die per GitHub installiert wurden gesondert mit einem GitHub Symbol angezeigt. Das hilft auch im Vorfeld Probleme zu vermeiden.
Wenn man diesen Schritt nicht durchführt kann es zu unnötigen Problemen beim update der Adapter kommen!
Backup erstellen
Zuerst muss natürlich unbedingt ein Backup erstellt werden. Dazu kann z.B. der BackItUp-Adapter genutzt oder der Kommandozeilenbefehl
cd /opt/iobroker iobroker backupausgeführt werden. Das Backup sollte aktuell sein, damit möglichst keine Daten verloren gehen.
Node.js updaten
Für Windows-Systeme kann ich leider gerade nichts genaues sagen, wir schauen das wir das noch ergänzen. Aufruf an die Community: Wer Schritte hat gern als eigener Post oder hier einbringen
Danke
Einen Post aus der Community gab es dazu: https://forum.iobroker.net/post/624003Linux-Systeme
ioBroker stoppen
Zuerst ioBroker stoppen, damit Updates keine Nebeneffekte oder Abstürze verursachen.iobroker stopBitte anschließend im Webbrowser prüfen, dass der ioBroker-Admin danach wirklich nicht mehr läuft. Sollte er weiterhin aufrufbar sein, dann den Rechner neu starten und nochmals „iobroker stop“ ausführen und erneut testen. Für die Techniker unter uns: Man kann auch mit einem Tool wie "top" prüfen, ob noch Prozesse existieren, die mit "io." beginnen. Die dann am besten mit einem beherzten "sudo kill -9 <ProzessID>" zwangsbeenden.
Node.js updaten
Jetzt aktualisiert man Node.js auf die gewünschte neue Version.Unter Linux reicht es, dazu den Nodesource-Installationsbefehl für das jeweilige Betriebssystem auszuführen. Verschiedene Varianten (auch Root und Nicht-Root) sind unter https://github.com/nodesource/distributions#debinstall gelistet.
Zum Beispiel lauten die Befehle für einen Raspberry Pi der ein Debian bzw. Raspbian-Image verwendet wie folgt, wenn man nicht als root-User (z.B. richtig mit dem User "pi") angemeldet ist:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install -y nodejsFür Node.js 16 einfach in der URL oben anstelle der 14 eine 16 reinschreiben.
Für macOS gibt einen Installer auf https://nodejs.org/en/download/ , den man einfach ausführt.
Ob die Aktualisierung geklappt hat, kann man wieder mit dem Befehl
node -vüberprüfen.
Auch die npm Version sollte mit
npm -vgeprüft werden. Mit einem js-controller <4 sicherstellen das idealerweise keine 7.x/8.x von npm installiert ist!
ioBroker fixer ausführen
Da die Installation von Node.js einige Einstellungen am System verändert haben kann, ist es jetzt ratsam, den ioBroker-Installationsfixer aufzurufen. Das geschieht mit dem Befehliobroker fixEr stellt unter anderem die für den Betrieb von ioBroker notwendigen Sicherheitseinstellungen wieder her und prüft und korrigiert alle Berechtigungen. Das kann einen Augenblick dauern, bitte Geduld haben.
Erster ioBroker Neustart NACH Update
Einige genutzte JavaScript Module haben binäre Teile, welche bei einem Node.js Update nicht mehr kompatibel sind und neu erstellt werden müssen.
Automatische Rebuilds
ioBroker versucht seit dem js-controller 3.0 automatisch die Adapter zu erkennen die nicht starten weil Sie aktualisiert werden müssen. Dies funktioniert so das die typischen Fehlermeldungen erkannt werden und ioBroker dann die Aktualisierung versucht.
js-controller 3.x
Zuerst wird ein "rebuild" des betroffenen Adapters ausgeführt, falls das nicht hilft werden die Adapter-Abhängigkeiten aktualisiert.js-controller 4.0
Zuerst wird versucht alle Adapter zu rebuilden, falls das nicht hilft wird versucht zielgerichtet die relevanten Module neu zu bauen.Daher kann es sein das der Adapter mehrfach ersucht wird neu zu starten. Hier bitte UNBEDINGT Geduld haben! Erst wenn der Adapter dauerhaft rot bleibt und auch im Log steht das der Rebuild nicht geklappt hat aktiv werden!
Bei einigen Adaptern (zB iot die optionale native Abhängigkeiten haben) funktioniert die automatische Erkennung nicht und das rebuild muss manuell angestoßen werden. Dies kann dadurch erkannt werden das der Adapter "Rot" bleibt und nicht startet oder einzelne Funktionen nicht gehen und das als Fehler im Log steht. Dann sollte das Log geprüft werden (neben Admin stehen Logfiles auch unter /opt/iobroker/log/... zur Verfügung.
Manuelle Rebuilds
Hier zu gibt es
iobroker rebuild, bzw die Kommandos die im Log angezeigt werden falls der Automatische Rebuild nicht funktioniert.Sonderfälle (z.B. Serialport)
Leider gibt es Sonderfälle, wo auch die obigen Optionen das Rebuild nicht erledigen, einer davon ist Serialport.
Dort kann ein Log zB (auch nach allen Rebuild Versuchen) wie folgt aussehen
host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: } host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: ] host.SmartHomeCenter | 2020-05-10 09:28:01.788 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/compiled/12.16.3/linux/arm/serialport.node' host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/default/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/Release/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/out/Release/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/Debug/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.787 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/out/Debug/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/Release/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/Debug/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: '/opt/iobroker/node_modules/serialport/build/serialport.node', host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: tries: [ host.SmartHomeCenter | 2020-05-10 09:28:01.786 | error | Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1133:30) { host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Object. (/opt/iobroker/node_modules/serialport/lib/bindings/auto-detect.js:16:22) host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at require (internal/modules/cjs/helpers.js:77:18) host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:1019:19) host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:877:14) host.SmartHomeCenter | 2020-05-10 09:28:01.785 | error | Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:977:32) host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1153:10) host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:1133:30) host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at Object. (/opt/iobroker/node_modules/serialport/lib/bindings/linux.js:2:36) host.SmartHomeCenter | 2020-05-10 09:28:01.784 | error | Caught by controller[0]: at bindings (/opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:93:9) host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/compiled/12.16.3/linux/arm/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/default/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/Release/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.783 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/out/Release/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/Debug/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/out/Debug/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/Release/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.782 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/Debug/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: → /opt/iobroker/node_modules/serialport/build/serialport.node host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: Error: Could not locate the bindings file. Tried: host.SmartHomeCenter | 2020-05-10 09:28:01.781 | error | Caught by controller[0]: ^ host.SmartHomeCenter | 2020-05-10 09:28:01.780 | error | Caught by controller[0]: throw err host.SmartHomeCenter | 2020-05-10 09:28:01.780 | error | Caught by controller[0]: /opt/iobroker/node_modules/serialport/node_modules/bindings/bindings.js:96Es gibt auch andere Fehlermeldungen die aber alle auf das gleiche hinauslaufen.
Die einfachste Option ist es dann manuell im richtigen Verzeichnis neu zu bauen.
In dem Fall das Verzeichenis mit "bindings" suchen - oben ist das /opt/iobroker/node_modules/serialport/node_modules/bindings ... bei neueren Versionen kann es auch etwas wie /opt/iobroker/node_modules/serialport/node_modules/@serialport/bindings sein.
Dann in dieses Verzeichnis wechseln undnpm install --productionausführen. Danach den Adapter nochmal sneu starten, das sollte dann tun.Ein weiterer Fall sind Adapter mit canvas Modul (ggf echarts oder Mihome-vacuum) wo es Probleme gebe kann.
Andere Sonderfälle muss man sich im Detail ansehen. Bitte unten Posten und wir unterstützen.
Weitere Notfall Optionen
Im früheren Artikel unter https://forum.iobroker.net/topic/22867/how-to-node-js-für-iobroker-richtig-updaten sind noch weitere manuelle Möglichkeiten beschrieben ioBroker wieder zum laufen zu bekommen, aber diese sollten an sich nicht mehr nötig sein, gehen aber natürlich auch noch!
Dieser Artikel gilt also auch weiterhin.Jetzt viel Erfolg und gebt bitte Feedback wie git es geklappt hat oder welche Probleme Ihr habt.
Ingo
Bei mir klappt die Aktualisierung auf Node.js 12 leider nicht.
Jedes mal kommt folgende Meldung:"Error executing command, exiting."
Hat jemand eine Idee, woran das liegt? Scheinbar findet er keine Release Datei?
-
Bei mir klappt die Aktualisierung auf Node.js 12 leider nicht.
Jedes mal kommt folgende Meldung:"Error executing command, exiting."
Hat jemand eine Idee, woran das liegt? Scheinbar findet er keine Release Datei?
@dome227 Bitte keine Screenshots von Konsolentext.
-
Bei mir klappt die Aktualisierung auf Node.js 12 leider nicht.
Jedes mal kommt folgende Meldung:"Error executing command, exiting."
Hat jemand eine Idee, woran das liegt? Scheinbar findet er keine Release Datei?
@dome227 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
Hat jemand eine Idee, woran das liegt?
Jessie ist mausetot!
da gibt es keine Pakete mehr für -
@dome227 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
Hat jemand eine Idee, woran das liegt?
Jessie ist mausetot!
da gibt es keine Pakete mehr fürHabe den Link aus der Anleitung oben genommen, um Node.js zu aktualisieren. Bzw. anschließend auch mal den "selben" Link aus dem Github.
Wie wäre die korrekte Vorgehensweise, um auf Node.js aktualisieren zu können?Sorry, habe meinen ioBroker bereits mit 10.x aufgesetzt, somit also noch kein Upgrade gemacht.
Sorry, habe den Screenshot rausgenommen.

-
Habe den Link aus der Anleitung oben genommen, um Node.js zu aktualisieren. Bzw. anschließend auch mal den "selben" Link aus dem Github.
Wie wäre die korrekte Vorgehensweise, um auf Node.js aktualisieren zu können?Sorry, habe meinen ioBroker bereits mit 10.x aufgesetzt, somit also noch kein Upgrade gemacht.
Sorry, habe den Screenshot rausgenommen.

@dome227 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
Habe den Link aus der Anleitung oben genommen, um Node.js zu aktualisieren.
das hilft aber nichts bei einem Linux, dass bereits seit längerem End of Life ist.
Da musst du erst dein Linux auf Buster bringen -
Habe den Link aus der Anleitung oben genommen, um Node.js zu aktualisieren. Bzw. anschließend auch mal den "selben" Link aus dem Github.
Wie wäre die korrekte Vorgehensweise, um auf Node.js aktualisieren zu können?Sorry, habe meinen ioBroker bereits mit 10.x aufgesetzt, somit also noch kein Upgrade gemacht.
Sorry, habe den Screenshot rausgenommen.

@dome227
Du solltest den Text in CodeTags posten.Du fährst da eine mausetote Distribution und hämmert dann noch ein Repo für ein anderes Release rein. Das kann nicht funktionieren.
-
@dome227
Du solltest den Text in CodeTags posten.Du fährst da eine mausetote Distribution und hämmert dann noch ein Repo für ein anderes Release rein. Das kann nicht funktionieren.
-
Danke euch für die schnelle Rückmeldung.
Dann bring ich erstmal mein komplettes System up-to-date
"Einmal mit Windows-Menschen......"
LG und schöne Restwoche!

@dome227 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
Dann bring ich erstmal mein komplettes System up-to-date
da du noch auf Jessie bist, und über stretch zu buster müsstest, wäre es am einfachsten ein Backup des ioBrokers zu machen, dann eine komplette neue Installation aufzusetzen und danach das backup zurückspielen.
-
Leider klappt das bei mir nicht.
Nach "sudo apt-get install -y nodejs" kommt die Meldung "nodejs ist schon die neueste Version (12.22.1-lnodesourcel)."
Wenn ich mit "node -v" überprüfe kommt v10.20.1 (das gleiche wie in der Info)
Was mache ich verkehrt? -
Leider klappt das bei mir nicht.
Nach "sudo apt-get install -y nodejs" kommt die Meldung "nodejs ist schon die neueste Version (12.22.1-lnodesourcel)."
Wenn ich mit "node -v" überprüfe kommt v10.20.1 (das gleiche wie in der Info)
Was mache ich verkehrt?@tobili03 sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
Was mache ich verkehrt?
dann hast du wahrscheinlich zwei unterschiedliche node-Installationen parallel auf deinem Server.
Mindesttens eine davon nicht korrekt installiert -
Leider klappt das bei mir nicht.
Nach "sudo apt-get install -y nodejs" kommt die Meldung "nodejs ist schon die neueste Version (12.22.1-lnodesourcel)."
Wenn ich mit "node -v" überprüfe kommt v10.20.1 (das gleiche wie in der Info)
Was mache ich verkehrt?@tobili03
Schau in meine Signatur, da steht drin wie man das wieder gerade fummelt -
@babl sagte in [How-to] Node.js für ioBroker richtig updaten - 2021 Edition:
mußte nur beim zigbee einen manuellen rebuild machen
Mit dem serialport/binding von oben oder haben die "rebuild kommendos geholfen?
Hast Du noch die genaue Fehlermeldung aus dem Log?@apollon77 die rebuild kommandos haben geholfen
2021-04-28 18:02:05.705 - error: host.raspberrypi Caught by controller[0]: /opt/iobroker/node_modules/zigbee-herdsman/node_modules/bindings/bindings.js:121 2021-04-28 18:02:05.705 - error: host.raspberrypi Caught by controller[0]: throw e; 2021-04-28 18:02:05.705 - error: host.raspberrypi Caught by controller[0]: ^ 2021-04-28 18:02:05.706 - error: host.raspberrypi Caught by controller[0]: Error: The module '/opt/iobroker/node_modules/zigbee-herdsman/node_modules/@serialport/bindings/build/Release/bindings.node' 2021-04-28 18:02:05.706 - error: host.raspberrypi Caught by controller[0]: was compiled against a different Node.js version using 2021-04-28 18:02:05.706 - error: host.raspberrypi Caught by controller[0]: NODE_MODULE_VERSION 64. This version of Node.js requires 2021-04-28 18:02:05.706 - error: host.raspberrypi Caught by controller[0]: NODE_MODULE_VERSION 72. Please try re-compiling or re-installing 2021-04-28 18:02:05.706 - error: host.raspberrypi Caught by controller[0]: the module (for instance, using `npm rebuild` or `npm install`). 2021-04-28 18:02:05.706 - error: host.raspberrypi Caught by controller[0]: at Object.Module._extensions..node (internal/modules/cjs/loader.js:1057:18) 2021-04-28 18:02:05.707 - error: host.raspberrypi Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32) 2021-04-28 18:02:05.707 - error: host.raspberrypi Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:708:14) 2021-04-28 18:02:05.707 - error: host.raspberrypi Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:887:19) 2021-04-28 18:02:05.707 - error: host.raspberrypi Caught by controller[0]: at require (internal/modules/cjs/helpers.js:74:18) 2021-04-28 18:02:05.707 - error: host.raspberrypi Caught by controller[0]: at bindings (/opt/iobroker/node_modules/zigbee-herdsman/node_modules/bindings/bindings.js:112:48) 2021-04-28 18:02:05.708 - error: host.raspberrypi Caught by controller[0]: at Object. (/opt/iobroker/node_modules/zigbee-herdsman/node_modules/@serialport/bindings/lib/linux.js:2:36) 2021-04-28 18:02:05.708 - error: host.raspberrypi Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:999:30) 2021-04-28 18:02:05.708 - error: host.raspberrypi Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) 2021-04-28 18:02:05.708 - error: host.raspberrypi Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32) 2021-04-28 18:02:05.709 - error: host.raspberrypi instance system.adapter.zigbee.0 terminated with code 1 (JS_CONTROLLER_STOPPED) 2021-04-28 18:02:05.709 - info: host.raspberrypi Adapter system.adapter.zigbee.0 needs rebuild and will be restarted afterwards. 2021-04-28 18:02:05.709 - info: host.raspberrypi system.adapter.zigbee.0 will be rebuilt 2021-04-28 18:02:05.710 - warn: host.raspberrypi adapter "zigbee" seems to be installed for a different version of Node.js. Trying to rebuild it... 1 attempt 2021-04-28 18:02:05.711 - info: host.raspberrypi iobroker rebuild zigbee 2021-04-28 18:02:06.561 - info: host.raspberrypi iobroker npm-rebuild: npm rebuild --loglevel error (System call) in "/opt/iobroker/node_modules/iobroker.zigbee" 2021-04-28 18:02:07.142 - info: cloud.0 (3873) Trying to connect as system.user.admin 2021-04-28 18:02:07.229 - info: sql.0 (4633) enabled logging of sourceanalytix.0.0_userdata__0__netzeinspeisung.currentYear.delivered.05_currentYear, Alias=false 2021-04-28 18:02:07.291 - info: cloud.0 (3873) Connection changed: connect 2021-04-28 18:02:07.465 - info: sourceanalytix.0 (4617) Initialization (7 of 9) finished for : 0_userdata.0.netzeinspeisung 2021-04-28 18:02:07.465 - info: sourceanalytix.0 (4617) Initialising (8 of 9) state sonnen.0.status.consumption 2021-04-28 18:02:08.566 - info: host.raspberrypi iobroker npm-rebuild: Rebuild zigbee done 2021-04-28 18:02:08.904 - info: host.raspberrypi instance system.adapter.discovergy.0 started with pid 4758 2021-04-28 18:02:09.579 - info: host.raspberrypi iobroker npm-rebuild: exit 0 2021-04-28 18:02:09.629 - info: host.raspberrypi instance system.adapter.zigbee.0 started with pid 4765 2021-04-28 18:02:09.788 - info: sourceanalytix.0 (4617) Initialization (8 of 9) finished for : sonnen.0.status.consumption 2021-04-28 18:02:09.788 - info: sourceanalytix.0 (4617) Initialising (9 of 9) state 0_userdata.0.Steckdosen.Josef_Zimmer_Heizung 2021-04-28 18:02:10.547 - error: host.raspberrypi Caught by controller[0]: /opt/iobroker/node_modules/zigbee-herdsman/node_modules/bindings/bindings.js:121 2021-04-28 18:02:10.548 - error: host.raspberrypi Caught by controller[0]: throw e; 2021-04-28 18:02:10.548 - error: host.raspberrypi Caught by controller[0]: ^ 2021-04-28 18:02:10.548 - error: host.raspberrypi Caught by controller[0]: Error: The module '/opt/iobroker/node_modules/zigbee-herdsman/node_modules/@serialport/bindings/build/Release/bindings.node' 2021-04-28 18:02:10.549 - error: host.raspberrypi Caught by controller[0]: was compiled against a different Node.js version using 2021-04-28 18:02:10.549 - error: host.raspberrypi Caught by controller[0]: NODE_MODULE_VERSION 64. This version of Node.js requires 2021-04-28 18:02:10.552 - error: host.raspberrypi Caught by controller[0]: NODE_MODULE_VERSION 72. Please try re-compiling or re-installing 2021-04-28 18:02:10.553 - error: host.raspberrypi Caught by controller[0]: the module (for instance, using `npm rebuild` or `npm install`). 2021-04-28 18:02:10.553 - error: host.raspberrypi Caught by controller[0]: at Object.Module._extensions..node (internal/modules/cjs/loader.js:1057:18) 2021-04-28 18:02:10.553 - error: host.raspberrypi Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32) 2021-04-28 18:02:10.553 - error: host.raspberrypi Caught by controller[0]: at Function.Module._load (internal/modules/cjs/loader.js:708:14) 2021-04-28 18:02:10.554 - error: host.raspberrypi Caught by controller[0]: at Module.require (internal/modules/cjs/loader.js:887:19) 2021-04-28 18:02:10.554 - error: host.raspberrypi Caught by controller[0]: at require (internal/modules/cjs/helpers.js:74:18) 2021-04-28 18:02:10.554 - error: host.raspberrypi Caught by controller[0]: at bindings (/opt/iobroker/node_modules/zigbee-herdsman/node_modules/bindings/bindings.js:112:48) 2021-04-28 18:02:10.554 - error: host.raspberrypi Caught by controller[0]: at Object. (/opt/iobroker/node_modules/zigbee-herdsman/node_modules/@serialport/bindings/lib/linux.js:2:36) 2021-04-28 18:02:10.555 - error: host.raspberrypi Caught by controller[0]: at Module._compile (internal/modules/cjs/loader.js:999:30) 2021-04-28 18:02:10.555 - error: host.raspberrypi Caught by controller[0]: at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10) 2021-04-28 18:02:10.555 - error: host.raspberrypi Caught by controller[0]: at Module.load (internal/modules/cjs/loader.js:863:32) 2021-04-28 18:02:10.555 - error: host.raspberrypi instance system.adapter.zigbee.0 terminated with code 1 (JS_CONTROLLER_STOPPED) 2021-04-28 18:02:10.556 - info: host.raspberrypi Adapter system.adapter.zigbee.0 needs rebuild and will be restarted afterwards. 2021-04-28 18:02:10.556 - info: host.raspberrypi system.adapter.zigbee.0 will be rebuilt 2021-04-28 18:02:10.556 - warn: host.raspberrypi adapter "zigbee" seems to be installed for a different version of Node.js. Trying to rebuild it... 2 attempt 2021-04-28 18:02:10.557 - info: host.raspberrypi iobroker rebuild zigbee --install 2021-04-28 18:02:11.490 - info: host.raspberrypi iobroker npm-rebuild: npm install --loglevel error --production (System call) in "/opt/iobroker/node_modules/iobroker.zigbee" 2021-04-28 18:02:12.172 - info: discovergy.0 (4758) starting. Version 0.5.6 in /opt/iobroker/node_modules/iobroker.discovergy, node: v12.22.1, js-controller: 3.2.16 2021-04-28 18:02:12.242 - info: discovergy.0 (4758) Discovergy Adapter startet, trying to discover meters associated with your account 2021-04-28 18:02:12.263 - warn: discovergy.0 (4758) State "system.this.discovergy.0.alive" has no existing object, this might lead to an error in future versions 2021-04-28 18:02:12.939 - info: host.raspberrypi instance system.adapter.go-e.0 started with pid 4800 2021-04-28 18:02:13.496 - info: discovergy.0 (4758) All meters associated to your account discovered, initialise meters 2021-04-28 18:02:13.626 - info: discovergy.0 (4758) All meters initialized, polling data every 5 seconds 2021-04-28 18:02:14.049 - info: sourceanalytix.0 (4617) Initialization (9 of 9) finished for : 0_userdata.0.Steckdosen.Josef_Zimmer_Heizung 2021-04-28 18:02:14.063 - info: sourceanalytix.0 (4617) SourceAnalytix initialisation finalized, will handle calculations ... for 9 states 2021-04-28 18:02:16.361 - info: go-e.0 (4800) starting. Version 1.0.0 in /opt/iobroker/node_modules/iobroker.go-e, node: v12.22.1, js-controller: 3.2.16 2021-04-28 18:02:16.401 - info: go-e.0 (4800) Server: 192.168.178.31 2021-04-28 18:02:16.402 - info: go-e.0 (4800) Intervall: 60 2021-04-28 18:03:16.420 - info: host.raspberrypi "system.adapter.zigbee.0" disabled 2021-04-28 18:03:20.392 - info: host.raspberrypi "system.adapter.zigbee.0" enabled 2021-04-28 18:04:45.475 - info: admin.0 (3838) Request actual repository... 2021-04-28 18:04:46.068 - info: host.raspberrypi Updating repository "Stable (default)" under "http://download.iobroker.net/sources-dist.json" 2021-04-28 18:04:47.551 - info: admin.0 (3838) Repository received successfully. 2021-04-28 18:05:19.709 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’: 2021-04-28 18:05:19.715 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp:78:69: 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] uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen); ^~~~~~~~~~~~~../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:135:71: 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] uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate); ^~~~~~~~~~~~~~~ 2021-04-28 18:05:19.719 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:175:70: 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] uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose); ^~~~~~~~~~~~~~ 2021-04-28 18:05:19.724 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’: 2021-04-28 18:05:19.725 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp:215:70: 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] uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush); ^~~~~~~~~~~~~~ 2021-04-28 18:05:19.730 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’: 2021-04-28 18:05:19.731 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp:270:68: 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] uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet); ^~~~~~~~~~~~ 2021-04-28 18:05:19.735 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’: 2021-04-28 18:05:19.736 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp:314:68: 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] uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet); ^~~~~~~~~~~~ 2021-04-28 18:05:19.744 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’: 2021-04-28 18:05:19.745 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp:363:76: 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] uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate); ^~~~~~~~~~~~~~~~~~~~ 2021-04-28 18:05:19.751 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’: 2021-04-28 18:05:19.752 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp:409:70: 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] uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); ^~~~~~~~~~~~~~ 2021-04-28 18:05:19.754 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: At global scope:../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local& v8str)) { ^ 2021-04-28 18:05:19.756 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { ^ 2021-04-28 18:05:19.762 - info: host.raspberrypi iobroker npm-rebuild: In file included from ../../../nan/nan.h:56, 2021-04-28 18:05:19.763 - info: host.raspberrypi iobroker npm-rebuild: from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.22.1/include/node/node.h:736:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local, v8::Local, void*)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^/home/iobroker/.cache/node-gyp/12.22.1/include/node/node.h:770:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~../src/serialport.cpp:483:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~~~~~~~~~ 2021-04-28 18:05:23.874 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport_unix.cpp: In function ‘int setup(int, OpenBaton*)’: 2021-04-28 18:05:23.875 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport_unix.cpp:176:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=] snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); ^~~~~~~~~~~~~~~~~~~~~~~~~../src/serialport_unix.cpp:176:13: note: ‘snprintf’ output 20 or more bytes (assuming 1043) into a destination of size 1024 snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2021-04-28 18:05:23.916 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport_unix.cpp: In function ‘void EIO_Open(uv_work_t*)’: 2021-04-28 18:05:23.917 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport_unix.cpp:86:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=] snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); ^~~~~~~~~~~~~~~~~~~~~~~~~~~../src/serialport_unix.cpp:86:13: note: ‘snprintf’ output 22 or more bytes (assuming 1045) into a destination of size 1024 snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2021-04-28 18:05:32.702 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Open(Nan::NAN_METHOD_ARGS_TYPE)’: 2021-04-28 18:05:32.703 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp:78:69: 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] uv_queue_work(uv_default_loop(), req, EIO_Open, (uv_after_work_cb)EIO_AfterOpen); ^~~~~~~~~~~~~ 2021-04-28 18:05:32.709 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Update(Nan::NAN_METHOD_ARGS_TYPE)’: 2021-04-28 18:05:32.711 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp:135:71: 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] uv_queue_work(uv_default_loop(), req, EIO_Update, (uv_after_work_cb)EIO_AfterUpdate); ^~~~~~~~~~~~~~~ 2021-04-28 18:05:32.715 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Close(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:175:70: 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] uv_queue_work(uv_default_loop(), req, EIO_Close, (uv_after_work_cb)EIO_AfterClose); ^~~~~~~~~~~~~~ 2021-04-28 18:05:32.718 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flush(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:215:70: 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] uv_queue_work(uv_default_loop(), req, EIO_Flush, (uv_after_work_cb)EIO_AfterFlush); ^~~~~~~~~~~~~~ 2021-04-28 18:05:32.723 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Set(Nan::NAN_METHOD_ARGS_TYPE)’: 2021-04-28 18:05:32.724 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp:270:68: 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] uv_queue_work(uv_default_loop(), req, EIO_Set, (uv_after_work_cb)EIO_AfterSet); ^~~~~~~~~~~~ 2021-04-28 18:05:32.728 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Get(Nan::NAN_METHOD_ARGS_TYPE)’:../src/serialport.cpp:314:68: 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] uv_queue_work(uv_default_loop(), req, EIO_Get, (uv_after_work_cb)EIO_AfterGet); ^~~~~~~~~~~~ 2021-04-28 18:05:32.735 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE GetBaudRate(Nan::NAN_METHOD_ARGS_TYPE)’: 2021-04-28 18:05:32.735 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp:363:76: 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] uv_queue_work(uv_default_loop(), req, EIO_GetBaudRate, (uv_after_work_cb)EIO_AfterGetBaudRate); ^~~~~~~~~~~~~~~~~~~~ 2021-04-28 18:05:32.741 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: In function ‘Nan::NAN_METHOD_RETURN_TYPE Drain(Nan::NAN_METHOD_ARGS_TYPE)’: 2021-04-28 18:05:32.742 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp:409:70: 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] uv_queue_work(uv_default_loop(), req, EIO_Drain, (uv_after_work_cb)EIO_AfterDrain); ^~~~~~~~~~~~~~ 2021-04-28 18:05:32.745 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp: At global scope:../src/serialport.cpp:430:28: warning: unnecessary parentheses in declaration of ‘ToParityEnum’ [-Wparentheses] SerialPortParity NAN_INLINE(ToParityEnum(const v8::Local& v8str)) { ^ 2021-04-28 18:05:32.748 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport.cpp:449:30: warning: unnecessary parentheses in declaration of ‘ToStopBitEnum’ [-Wparentheses] SerialPortStopBits NAN_INLINE(ToStopBitEnum(double stopBits)) { ^ 2021-04-28 18:05:32.751 - info: host.raspberrypi iobroker npm-rebuild: In file included from ../../../nan/nan.h:56, from ../src/./serialport.h:6, from ../src/serialport.cpp:1:/home/iobroker/.cache/node-gyp/12.22.1/include/node/node.h:736:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local, v8::Local, void*)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^/home/iobroker/.cache/node-gyp/12.22.1/include/node/node.h:770:3: note: in expansion of macro ‘NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~../src/serialport.cpp:483:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(serialport, init); ^~~~~~~~~~~ 2021-04-28 18:05:36.594 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport_unix.cpp: In function ‘int setup(int, OpenBaton*)’: 2021-04-28 18:05:36.595 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport_unix.cpp:176:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1005 [-Wformat-truncation=] snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); ^~~~~~~~~~~~~~~~~~~~~~~~~../src/serialport_unix.cpp:176:13: note: ‘snprintf’ output 20 or more bytes (assuming 1043) into a destination of size 1024 snprintf(data->errorString, sizeof(data->errorString), "Error %s Cannot open %s", strerror(errno), data->path); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2021-04-28 18:05:36.635 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport_unix.cpp: In function ‘void EIO_Open(uv_work_t*)’: 2021-04-28 18:05:36.636 - info: host.raspberrypi iobroker npm-rebuild: ../src/serialport_unix.cpp:86:60: warning: ‘%s’ directive output may be truncated writing up to 1023 bytes into a region of size 1003 [-Wformat-truncation=] snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); ^~~~~~~~~~~~~~~~~~~~~~~~~~~../src/serialport_unix.cpp:86:13: note: ‘snprintf’ output 22 or more bytes (assuming 1045) into a destination of size 1024 snprintf(data->errorString, sizeof(data->errorString), "Error: %s, cannot open %s", strerror(errno), data->path); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2021-04-28 18:06:23.521 - info: host.raspberrypi iobroker npm-rebuild: 2021-04-28 18:06:23.522 - info: host.raspberrypi iobroker npm-rebuild: Rebuild zigbee done 2021-04-28 18:06:24.532 - info: host.raspberrypi iobroker npm-rebuild: exit 0 2021-04-28 18:06:24.592 - info: host.raspberrypi instance system.adapter.zigbee.0 started with pid 5368 2021-04-28 18:06:27.791 - info: zigbee.0 (5368) starting. Version 1.4.4 in /opt/iobroker/node_modules/iobroker.zigbee, node: v12.22.1, js-controller: 3.2.16 2021-04-28 18:06:27.917 - info: zigbee.0 (5368) Starting Zigbee npm ... 2021-04-28 18:06:28.702 - info: zigbee.0 (5368) Installed Version: iobroker.zigbee@1.4.4 2021-04-28 18:06:28.735 - info: zigbee.0 (5368) Coordinator firmware version: {"type":"ConBee2/RaspBee2","meta":{"transportrev":0,"product":0,"majorrel":38,"minorrel":88,"maintrel":0,"revision":"0x26580700"}} 2021-04-28 18:06:28.758 - info: zigbee.0 (5368) Unable to disable LED, unsupported function. 2021-04-28 18:06:28.759 - info: zigbee.0 (5368) --> transmitPower : normal 2021-04-28 18:06:28.761 - info: zigbee.0 (5368) Unable to set transmit power, unsupported function. 2021-04-28 18:06:28.765 - info: zigbee.0 (5368) Currently 2 devices are joined: 2021-04-28 18:06:28.785 - info: zigbee.0 (5368) 0x00158d0005363273 (addr 49113): WSDCGQ01LM - Xiaomi MiJia temperature & humidity sensor (EndDevice) 2021-04-28 18:06:28.788 - info: zigbee.0 (5368) 0x00158d00054db088 (addr 16208): MCCGQ11LM - Xiaomi Aqara door & window contact sensor (EndDevice) 2021-04-28 18:06:28.789 - info: zigbee.0 (5368) Zigbee started -
@tobili03
Schau in meine Signatur, da steht drin wie man das wieder gerade fummelt@thomas-braun Danke, jetzt habe ich es richtig.
-
@tobili03
Schau in meine Signatur, da steht drin wie man das wieder gerade fummelt@thomas-braun Füge den einen Link mal oben mit ein