[37_echodevice] Amazon Echo Modul (nicht Alexa)

Begonnen von michael.winkler, 12 Januar 2018, 18:20:12

Vorheriges Thema - Nächstes Thema

mthome

#6255
Das hatte ich schon 2x probiert - leider ohne Erfolg.
Aber probiere es gerne nochmal  ;D

---Edit-----
sudo npm install --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2
-->up to date, audited 104 packages in 2s

Dann habe ich alle ECHOs gelöscht und fhem restartet
Danach autocreate devices
--> Alles war wieder connected.

Nach kurzer Zeit leider wieder connected but loginerror und unauthorized

Folgendes passiert nach dem NPM_login new:
2025.11.04 14:44:46 3: [Echo] [echodevice_NPMWaitForCookie] [NPM Login New Tue Nov  4 14:44:25 2025] wait for refreshtoken / refreshtoken unkown!! refreshtoken=null EXIST 266create-cookie.js = true
2025.11.04 14:44:47 3: [Echo] [echodevice_NPMWaitForCookie] [NPM Login New Tue Nov  4 14:44:25 2025] wait for refreshtoken / refreshtoken unkown!! refreshtoken=null EXIST 266create-cookie.js = true
2025.11.04 14:44:48 3: [Echo] [echodevice_NPMWaitForCookie] [NPM Login New Tue Nov  4 14:44:25 2025] write new refreshtoken
2025.11.04 14:44:48 3: [Echo] [echodevice_setState] to connected
2025.11.04 14:44:57 3: [Echo] [echodevice_LostConnect] JSON error = {authentication} / set loginerror to 1
2025.11.04 14:44:57 3: [Echo] [echodevice_setState] to connected but loginerror
2025.11.04 14:45:02 3: [Echo] [echodevice_LostConnect] JSON error = no content / set loginerror to 2
2025.11.04 14:45:02 3: [Echo] [echodevice_setState] to connected but loginerror


binford6000

Zitat von: mthome am 04 November 2025, 14:11:54
Zitat von: binford6000 am 04 November 2025, 14:03:20@dusti64, mthome, punker: Könnt ihr im Zustand connected but loginerror auch noch voice commands absetzen?
Was meinst Du mit voice commands? Also die Echos funktionieren normal. Aber mit dem echodevice kann ich nix mehr tun (z.B. speak oder andere Funktionen). Auch bekomme ich kein trigger über das voice reading).
Wenn ich mit echo speak ... etwas ausgeben will oder andere Befehle absetze bekomme ich "is not connected. Aborting..."
set <device> speak hallo erzeugt bei mir eine Sprachausgabe - auch im connected but loginerror Zustand.
Einzig das voice reading wurde nicht aktualisiert. Das steht noch auf dem letzten voice command ("Alexa schalte drucker ein").

Ich kann also gar keine Funktionseinschränkungen bei mir feststellen.
Ohne die Posts hier im Thread hätte ich vermutlich gar nichts mitbekommen.
Sehr strange das Ganze...

VG Sebastian

dusti64

#6257
Zitat von: michael.winkler am 04 November 2025, 14:16:47Ich würde folgende machen:
1. Update der NPM Umgebung https://www.mwinklerblog.de/modul-echodevice-npm/
npm install --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2
chown -R fhem:  /opt/fhem/cache/alexa-cookie

Falls hier Fehlerauftauchen dann noch das NMP selber aktualisieren, Anletungen findet man im Internet dafür.

2. set NPM_login new durchführen um ein neues Cookie zu erstellen.

Danach sollte alles wieder funktionieren.

Ich musste bei mir noch die 2 faktor Anmeldung aktivieren, weil die Whatsapp & SMS Codes nicht funktioniert hatten.

Das habe ich auch schon am Samstag und eben nochmal gemacht...keinerlei Verbesserung.

Einen Sprachbefehl habe ich eben mal mit set speak blabla gemacht. Wenn nicht connected ist, bekomme ich einen Fehler in FHEM (bin nicht zuhause)...
Ich habe es auch mitbekommen durch sehr viele Fehlermeldungen, weil ich den Login überwache.
2xDebian virtualisiert auf 2xPVE mit FHEM, 2x HMLAN, VCCU, CCU3, Homatic Heizung+Licht+Rollläden, Alexa, Homebridge, Hue, Shelly usw.

passibe

#6258
@michael.winkler wenn bei dir alles funktioniert muss an deiner Installation irgendetwas anders sein.

Ich habe es gerade in einer ganz leeren Docker-Umgebung getestet. Der Cookie wird zwar erstmals erfolgreich neu erstellt, aber nach ca. 2 Minuten fällt es auf loginerror zurück, wie hier schon mehrfach in den geposteten Logs beschrieben.

alexa-cookie2 ist die neuste Version (5.0.3) und node ist v22.21.0.

Kurioserweise fällt es nach weiteren ca. 5 Minuten nach der ersten Cookie-Erstellung wieder auf connected zurück. Im Log sieht man:
16:28:40: Cookie wird erstmals geschrieben, state = connected.
16:30:21: Erster loginerror. state = connected but loginerror. Geht so weiter, insgesamt 4x, bis
16:33:26: Loginerror reset auf 0, state = connected.

fhemtest-1  | 2025.11.04 16:28:39.147 3: [echo] [echodevice_NPMWaitForCookie] [NPM Login New Tue Nov  4 16:27:50 2025] wait for refreshtoken / refreshtoken unkown!! refreshtoken=null EXIST 45create-cookie.js = true
fhemtest-1  | 2025.11.04 16:28:40.149 3: [echo] [echodevice_NPMWaitForCookie] [NPM Login New Tue Nov  4 16:27:50 2025] write new refreshtoken
fhemtest-1  | 2025.11.04 16:28:40.151 3: [echo] [echodevice_setState] to connected
fhemtest-1  | 2025.11.04 16:30:21.108 3: [echo] [echodevice_LostConnect] JSON error = {authentication} / set loginerror to 1
fhemtest-1  | 2025.11.04 16:30:21.108 3: [echo] [echodevice_setState] to connected but loginerror
fhemtest-1  | 2025.11.04 16:30:26.038 3: [echo] [echodevice_LostConnect] JSON error = {authentication} / set loginerror to 2
fhemtest-1  | 2025.11.04 16:30:26.039 3: [echo] [echodevice_setState] to connected but loginerror
fhemtest-1  | 2025.11.04 16:31:25.913 3: [echo] [echodevice_LoginStart] connected but loginerror
fhemtest-1  | 2025.11.04 16:31:26.055 3: [echo] [echodevice_LostConnect] JSON error = no content / set loginerror to 3
fhemtest-1  | 2025.11.04 16:31:54.452 1: PERL WARNING: Use of uninitialized value in sprintf at fhem.pl line 2600.
fhemtest-1  | 2025.11.04 16:32:25.915 3: [echo] [echodevice_LoginStart] connected but loginerror
fhemtest-1  | 2025.11.04 16:32:26.089 3: [echo] [echodevice_LostConnect] JSON error = {authentication} / set loginerror to 4
fhemtest-1  | 2025.11.04 16:33:25.920 3: [echo] [echodevice_LoginStart] connected but loginerror
fhemtest-1  | 2025.11.04 16:33:26.390 3: [echo] [echodevice_ParseAuth] reset loginerror from 4 to 0
fhemtest-1  | 2025.11.04 16:33:26.390 3: [echo] [echodevice_setState] to connected

Das ganze Spiel wiederholt sich dann bis ins Unendliche. Nach wenigen Minuten fällt es wieder zurück auf connected but loginerror, das wiederholt sich dann ein paar mal bis es wieder connected ist. Dann wieder connected but loginerror, usw.

Nach etwas längerer Beobachtung mit verbose 4 scheint es, als würde es vor allem hier dran liegen (das ist nur ein Auszug, /api/bootstrap schlägt sehr häufig mit 400 oder 404 fehl):

fhemtest-1  | 2025.11.04 17:05:21.378 4: [echo] [echodevice_GetSettings] Timer INTERVAL = 60
fhemtest-1  | 2025.11.04 17:05:21.378 4: IP: layla.amazon.de -> 13.33.53.128
fhemtest-1  | 2025.11.04 17:05:21.498 4: https://layla.amazon.de/api/bootstrap: HTTP response code 400
fhemtest-1  | 2025.11.04 17:05:21.498 4: [echo] [echodevice_ParseAuth] [cookielogin6]
fhemtest-1  | 2025.11.04 17:05:21.499 4: [echo] [echodevice_LostConnect] clear CMD_QUEUE
fhemtest-1  | 2025.11.04 17:05:21.499 3: [echo] [echodevice_LostConnect] JSON error = {authentication} / set loginerror to 1
fhemtest-1  | 2025.11.04 17:05:21.499 3: [echo] [echodevice_setState] to connected but loginerror

dusti64

Hm merkwürdig alles iwie...ich habe eben nochmal ein
NPM_install durchführen wollen und habe einen Fehler bekommen:
nstallationsergebnis

Installation wird angestartet

up to date, audited 104 packages in 1s

17 packages are looking for funding
run `npm fund` for details

2 low severity vulnerabilities

To address all issues (including breaking changes), run:
npm audit fix --force

Run `npm audit` for details.

!!Installation fehlgeschlagen!!
Demzufolge bekomm ich auch einen Fehler beim Login new
Das alexa-cookie Modul wurde nicht gefunden. Bitte fuehrt am Amazon Account Device einen set "NPM_install" durchMache ich einen Neustart, ist alles auf Connected und das Spiel geht von neuem los...

Ein
npm audit bringt mir
# npm audit report

tar  7.5.1
Severity: moderate
node-tar has a race condition leading to uninitialized memory exposure - https://github.com/advisories/GHSA-29xp-372q-xqph
fix available via `npm audit fix`
node_modules/npm/node_modules/tar
  npm  7.21.0 - 8.5.4 || >=11.6.1
  Depends on vulnerable versions of tar
  node_modules/npm

2 moderate severity vulnerabilities

To address all issues, run:
  npm audit fix
Wenn ich das tue, bekomme ich npm warn audit fix tar@7.5.1 node_modules/npm/node_modules/tar
npm warn audit fix tar@7.5.1 is a bundled dependency of
npm warn audit fix tar@7.5.1 npm@11.6.2 at node_modules/npm
npm warn audit fix tar@7.5.1 It cannot be fixed automatically.
npm warn audit fix tar@7.5.1 Check for updates to the npm package.

Und nun weiß ich auch nicht weiter...hat jemand ne Idee?

Gruß Dusti
2xDebian virtualisiert auf 2xPVE mit FHEM, 2x HMLAN, VCCU, CCU3, Homatic Heizung+Licht+Rollläden, Alexa, Homebridge, Hue, Shelly usw.

passibe

Diese audit-Geschichte kannst du ignorieren.

Wieso der Installer bei dir fehlschlägt, keine Ahnung. Müsstest vielleicht mal verbose hochstellen und im Log schauen.

Kannst es auch mal manuell mit
sudo -u fhem npm install --unsafe-perm --production --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2 && sudo -u fhem npm cache clean --forceversuchen. Keine Garantie, dass das funktioniert, aber eigentlich sollte es dann immerhin alexa-cookie2 an den richtigen Ort packen ...

Falls das nicht klappt, die Befehle nur mit sudo ausführen (ohne -u fhem) und dann
chown -R fhem: /opt/fhem/cache/alexa-cookie
Dann set <device> NPM_login new und es sollte funktionieren.