Verbindung und Adapterstart
Warum startet der Adapter nach einem Update nicht oder reagiert nicht mehr?
Kurz: Schau zuerst ins Log der Instanz wled.<Instanz>. Die bekannten Ursachen sind: Voraussetzungen wie die Node.js-Version nicht erfüllt, ein unvollständig installiertes Update, Fehler älterer Adapterversionen und in v0.9.2 ein Polling-Intervall von 0 oder Geräte, die nach dem Start hinzukamen. Die Tabelle unten ordnet die Log-Zeilen zu.
So gehst du vor
- Öffne im Admin den Reiter „Log“ und suche die Zeilen der Instanz
wled.<Instanz>und die Zeilenhost.<Host>direkt nach dem Start der Instanz. Startet der Adapter gar nicht, steht der Fehler oft beim Host mitCaught by controller. - Vergleiche die Zeilen mit der Tabelle unten und folge der Lösung.
- Starte die Instanz danach neu.
- Bleibt der Fehler, stelle die Log-Stufe der Instanz auf „debug“, starte sie neu und hänge den Log-Auszug an ein GitHub-Issue. Ersetze vorher IP- und MAC-Adressen.
Bekannte Ursachen und Log-Zeilen
| Log-Zeile (Auszug) | Ursache | Lösung |
|---|---|---|
| Kein Start nach dem Update, die Installation meldet eine zu alte Node.js-Version | Der Adapter braucht in v0.9.2 Node.js 20 oder neuer, js-controller 6.0.11 oder neuer und Admin 7.6.17 oder neuer. | Aktualisiere Node.js, js-controller oder Admin. |
Caught by controller[0]: Error: Cannot find module 'axios' | Das Update wurde nicht vollständig installiert, eine Bibliothek des Adapters fehlt. | Installiere den Adapter im Reiter „Adapter“ erneut oder eine neuere Version. |
[handleStates] TypeError: Cannot read property 'initialized' of undefined | Fehler in Versionen vor v0.6.7, behoben in v0.6.7. | Aktualisiere den Adapter. |
Caught by controller[0]: State attribute definition missing for …, danach beendet sich die Instanz | Fehler in v0.5.x. Seit v0.7.1 ist die Meldung nur noch eine Debug-Meldung ohne Folgen. | Aktualisiere den Adapter. |
Viele Zeilen Unable to initialise 192.168.x.y will retry in scheduled interval ! und Device 192.168.x.y unavailable (attempt n/5), will retry in … seconds | Ein Gerät ist ausgeschaltet oder nicht erreichbar. Der Adapter läuft, das Log füllt sich aber bei jedem Versuch. | Schalte das Gerät ein oder lösche es, wenn du es nicht mehr nutzt. |
Nach jedem Fehler eine zweite Zeile Sentry disabled, error caught : … | Der Adapter meldet jeden Fehler doppelt. Es ist derselbe Fehler. | Werte nur die erste Zeile aus. |
| Keine Fehlermeldung, aber der Adapter reagiert nicht mehr und die Last ist hoch | „Intervall in Sekunden“ steht auf 0. Die Abfragen laufen dann ohne Pause. | Stelle das Intervall auf mindestens 1 Sekunde, voreingestellt sind 30 Sekunden. |
| Keine Fehlermeldung, aber ein Gerät reagiert nach einem Ausfall nicht mehr | Das Gerät kam nach dem Adapterstart dazu, über „Neue Geräte suchen“, per IP oder weil die Bonjour-Suche es erst später fand. Für solche Geräte startet in v0.9.2 keine Überwachung, sie verbinden sich nach einem Ausfall nicht neu. | Starte die Instanz neu. |
Die beiden Zeilen zu State attribute definition missing und Cannot read property 'initialized' stammen aus alten Versionen. Siehst du sie heute noch, läuft bei dir eine alte Adapterversion.
NOTE
Die Einstellung „Maximale Wiederholungsversuche“ gilt für alle Geräte der Instanz gemeinsam. Eine Einstellung je Gerät gibt es nicht.
Ab v0.9.3
Ab v0.9.3: Der Adapter braucht Node.js 22 oder neuer und Admin 7.6.20 oder neuer. Prüfe das vor dem Update.
Ab v0.9.3: Ein Polling-Intervall unter 1 Sekunde oder eine ungültige Zahl an Wiederholungen ersetzt der Adapter beim Start durch den Standard und warnt einmal: Invalid polling interval "0", using 30 seconds oder Invalid number of retry attempts "0", using 5 (#924). Korrigiere dann die Einstellung, damit die Warnung verschwindet.
Ab v0.9.3: Ein Ausfall steht im Log als eine Warnung, zum Beispiel Unable to initialise 192.168.x.y will retry in scheduled interval ! oder Heartbeat of device 192.168.x.y failed, will try to reconnect. Die weiteren Versuche stehen nur noch auf der Stufe „debug“ (#903, #788).
Ab v0.9.3: Jeder Fehler steht nur einmal im Log. Die Übergabe an Sentry steht nur noch auf der Stufe „debug“ (#913).
Ab v0.9.3: Auch Geräte, die nach dem Start dazukommen, werden überwacht und verbinden sich nach einem Ausfall ohne Neustart neu (#901). _info._online wird false, wenn ein Gerät zwei Polling-Intervalle lang nicht antwortet (#900).
Ab v0.9.3: Einen Befehl an ein Gerät, das offline ist, verwirft der Adapter mit der Warnung Device <MAC> (192.168.x.y) is offline, command for <State> discarded (#904). on und bri behalten beim Offline-Gehen und beim Adapterstart ihren letzten Wert (#899).
Siehe auch: Warum setzt mein Skript ps oder on nicht? · Welche Voraussetzungen braucht der Adapter? · Wie oft versucht der Adapter ein Offline-Gerät erneut zu erreichen? · Was bedeutet „State attribute definition missing“?
Warum funktioniert der Adapter nach einem WLED-Firmware-Update nicht mehr, oder Segmente nur an einem Gerät?
Dieser Abschnitt wird noch geschrieben.
Warum wird WLED nach Neustart oder Update als offline angezeigt und verbindet sich lange nicht?
Dieser Abschnitt wird noch geschrieben.
Warum zeigen alle WLED rot oder offline, oder der ESP stürzt ab?
Dieser Abschnitt wird noch geschrieben.
Was tue ich bei mehreren Adapter-Prozessen oder "already running" und onUnload-Fehlern?
Dieser Abschnitt wird noch geschrieben.