NEWS
[gelöst] Alexa 2.0 Adapter rot - keine Verbindung
-
<u>Zusammenfassung & Lösungsweg</u>
Vorgefunden:
OS: Windows, 64Bit
Nodejs: 4.uralt
NPM: Version 2.noch urälter
Diverse Fehler im Log.
Obwohl der ioBroker erst vor wenigen Wochen installiert wurde, war nicht bekannt, woher die alte Version von Nodejs kam.
-
ioBroker-Dienst: Ist installiert und funktionstüchtig.
-
js-controller stable aktuell, ca. 15 Adapter installiert.
-
Admin 3.4.7 war installiert und als Instanz 0 eingerichtet.
-
Nach dem Update von Nodejs auf 8.11.4 und npm auf 6.4.1 lassen sich keine Adapter installieren. Es erscheinen Fehlermeldungen von npm, das in einen Ordner c:\iobroker\npm_modules_iobroker*null*<paketname>\package.json nicht geschrieben werden kann.</paketname>
Alle Reparaturversuche sowie "npm cache clean" brachten keine Verbesserung der Situation. Die package.json-Dateien in den iobroker-Verzeichnissen waren unauffällig. Deshalb wurde von der iobroker.json, states- und der objects.json-Datei eine Kopie angefertigt sowie der Ordner files/vis.0 gesichert. Die historische Datenhaltung erfolgte über den sql-Adapter auf eine MariaDB, musste also nicht gesichert werden.
Schritt 1: Korrektur der Node und NPM-Installation unter Windows
-
Vorbedingung: ioBroker ist gestoppt.
iobroker statuszeigt den aktuellen Status an. -
Nodejs über "Systemsteuerung -> Programme und Funktionen -> Nodejs deinstallieren" gelöscht.
-
Die Ordner
C:\Users\<hier_windows_user_id_einfügen>\AppData\Roaming\npm\undC:\Users\<hier_windows_user_id_einfügen>\AppData\Roaming\npm-cache\mit dem Explorer gelöscht.</hier_windows_user_id_einfügen></hier_windows_user_id_einfügen> -
Nodejs in Version 8.11.4 LTS von https://nodejs.org/en/download/ in der 64Bit-Variante heruntergeladen installiert.
-
Der in der Node-Installation enthaltene npm-Paketmanager ist veraltet.
-
Mit
npm install -g npm@latestdie aktuelle Version 6.4.1 nachinstallieren. -
Aus dem Ordner
C:\Program Files\nodejs\node_modules\npmdie Dateinpmrcsichern. -
Den Ordner
C:\Program Files\nodejs\node_modules\npmlöschen oder umbenennen. -
Anschließend den Ordner
C:\Users\<hier_windows_user_id_einfügen>\AppData\Roaming\npm\node_modules\npmnachC:\Program Files\nodejs\node_modules\npmkopieren und damit das veraltete npm aus der Nodejs-Installation updaten.</hier_windows_user_id_einfügen> -
Die gesicherte Datei
npmrcwieder in den OrdnerC:\Program Files\nodejs\node_modules\npmzurückspielen. Eine vorhandene Datei dabei überschreiben. -
Das Npm-Update muss bei jedem Node-Update wiederholt werden.
Schritt 2: ioBroker und Datenbanken wiederherstellen
-
Vorbedingung: ioBroker ist gestoppt.
iobroker statuszeigt den aktuellen Status an. -
Den Inhalt des Ordners c:\iobroker restlos löschen. Die oben erstellten Sicherungsdaten ggf. natürlich nicht.
-
ioBroker mit Setup und Anleitung von http://www.iobroker.net/docu/?page_id=2291&lang=de installieren.
-
ioBroker nicht konfigurieren. ioBroker-Dienst beenden.
-
Die gesicherten Dateien von oben an ihrem alten Ort wiederherstellen. Bestehende Dateien dabei überschreiben.
-
ioBroker-Dienst starten und aktuelle Log-Datei in
<installationsorder_von_iobroker>/logauf Fehlermeldungen prüfen.</installationsorder_von_iobroker> -
Mit dem Webbrowser den Admin öffnen. Adapter und Instanzen werden wie im alten System aufgelistet, sind aber rot.
-
Alle fehlenden Adapter werden automatisch vom ioBroker mit ihren Originalkonfigurationen nachinstalliert und nacheinander gestartet. Zauberei.
-
Scripte, Vis-Projekte, Keys sind da.
-
-
Bitteschön. ;)