Hallo zusammen,
ich nutze seit vielen Jahren problemlos alexa-fhem, zum Setzen von Befehlen, aber einige Werte von der Therme lasse ich mir auch vorlesen.
Seit ca. 3-4 Tagen hat mir Alexa nun immer diesselben Werte vorgelesen, ohne Änderung auf meinerseite. Steuerung weiter problemlos möglich.
Mit Claude konnte ich das Problem beheben und poste nachfolgend meine Vorgehensweise, zum Einen als Hilfe für andere mit dem Problem, zum Anderen an die Admins des Vereinsservers, ob das Verhalten bei ipv6 so beabsichtigt ist.
Setup: alexa-fhem 0.5.65 (npm global), Node 18.19, Debian 12 LXC unter Proxmox, FHEM-Connector-Betrieb (SSH-Tunnel zu fhem-va.fhem.de).
Symptom (seit ca. 3-4 Tagen, ohne Änderung an meinem System):
- Schalten, Dimmen, Farben per Sprache funktionierte weiter
- Abfragen von Temperaturen (auch Dummies mit genericDeviceType thermometer) lieferten nur alte, eingefrorene Werte, obwohl FHEM und der alexa-fhem-Cache die aktuellen Werte hatten
- Die alexa-fhem-Version und mein proxmox-Host waren nicht die Ursache: Der Fehler trat auch mit einer alten LXC auf einem nicht aktualisierten Backup-Proxmox auf.
Im alexa-fhem-Log stand bei jedem Start von alexa-fhem:
failed to refresh token: Error: connect ECONNREFUSED 2a01:4f8:221:1b5a::f2:443fhem-va.fhem.de löst bei mir zuerst auf IPv6 (2a01:4f8:221:1b5a::f2) und IPv4 (188.40.131.57) auf. Test in der Shell (ohne curl):
timeout 5 bash -c '</dev/tcp/188.40.131.57/443' -> offen
timeout 5 bash -c '</dev/tcp/2a01:4f8:221:1b5a::f2/443' -> Connection refusedDer SSH-Tunnel (Port 58824) lief weiter, deshalb funktionierte die Steuerung, aber der Token-Refresh (443) scheiterte, sodass Alexa keine aktuellen Zustände bekam.
Workaround auf Clientseite: IPv4 bei der Namensauflösung bevorzugen, in /etc/gai.conf die Zeile
precedence ::ffff:0:0/96 100aktivieren (Kommentarzeichen entfernen), danach set alexa restart. Im Log erscheint dann "got fresh token".
Zusätzlich habe ich an den betroffenen Geräten alexaProactiveEvents 1 gesetzt, set alexa add <Gerät> ausgeführt und die Konfiguration gespeichert & einen restart von alexa-fhem durchgeführt. Danach stimmten die Werte wieder und wurden auch dauerhaft weiter aktualisiert.
Hinweis: Beide Änderungen kamen kurz hintereinander, ich kann daher nicht sicher sagen, welche allein geholfen hätte. Der Fehler im Log war aber der einzige klare Defekt.
Viele Grüße,
Heiko