[37_echodevice] Amazon Echo Modul (nicht Alexa)

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

Vorheriges Thema - Nächstes Thema

Tompsg

#6375
Zitat von: cs-online am 22 Februar 2026, 13:24:26das Problem habe ich nicht, gerade nochmal getestet, speak wird vernünftig ausgeführt mit der aktuellen Version aus dem FHEM-Update

Grüße

Christian
Bei mir ist die customerid beim Echo Dev. anders, als meine Account customerid. Das passiert, wenn man eine Familiengruppe hat und ein anderes Familienmitglied das Echo Dev. einrichtet. Dies bildet das Modul in der aktuellen Version nicht ab. Ich habe mir "Konkurenz-Lösungen" angesehen und da die unterschiedliche Handhabung gefunden. Wenn die gleich sind, merkt man es logischerweise nicht.

VG, Thomas

attr AmazonAccount userReadings customer_visible:.* { $defs{$name}->{helper}->{".CUSTOMER"} }
setstate AmazonAccount 2026-02-22 16:06:25 customer_visible A5460UYUxxxxx

attr ECHO_G6G2MM12524400xx userReadings customer_visible:.* { $defs{$name}->{helper}->{".CUSTOMER"} }
setstate ECHO_G6G2MM12524400xx 2026-02-22 16:07:53 customer_visible AIOEDMIDxxxxx



Hardy74

Moin,

da die Suche hier in dem doch recht langen Thread kein Ergebnis brachte, schreibe ich hier mein Problem.

Ziel ist, von fhem aus eine (Text-/Sprach-)Ausgabe auf einem DOT zu triggern. Ich habe einen DOT der fünften und einen der zweiten Generation.

Ich habe das echodevice wie folgt angelegt: define <Name> echodevice <amazonmail> <amazonpwd>

Im State lese ich:
connected but loginerror
Im Log lese ich immer wieder wiederholend:
2026.03.05 08:42:37.635 1: define AxelaWoZi echodevice: syntax: define <name> echodevice <account> <password>
2026.03.05 08:43:26.631 3: [AxelaWoZi] [echodevice_LostConnect] JSON error = no content / set loginerror to 1
2026.03.05 08:43:26.631 3: [AxelaWoZi] [echodevice_setState] to connected but loginerror
2026.03.05 08:43:35.273 3: [AxelaWoZi] [echodevice_LoginStart] connected but loginerror
2026.03.05 08:43:35.441 3: [AxelaWoZi] [echodevice_LostConnect] JSON error = no content / set loginerror to 2
2026.03.05 08:44:35.276 3: [AxelaWoZi] [echodevice_LoginStart] connected but loginerror
2026.03.05 08:44:35.508 3: [AxelaWoZi] [echodevice_LostConnect] JSON error = no content / set loginerror to 3
2026.03.05 08:45:35.291 3: [AxelaWoZi] [echodevice_LoginStart] connected but loginerror
2026.03.05 08:45:35.726 3: [AxelaWoZi] [echodevice_LostConnect] JSON error = no content / set loginerror to 4
2026.03.05 08:46:35.484 3: [AxelaWoZi] [echodevice_LoginStart] connected but loginerror
2026.03.05 08:46:35.780 3: [AxelaWoZi] [echodevice_LostConnect] JSON error = no content / set loginerror to 5
2026.03.05 08:47:35.498 3: [AxelaWoZi] [echodevice_LoginStart] connected but loginerror
2026.03.05 08:47:35.731 3: [AxelaWoZi] [echodevice_LostConnect] JSON error = no content / Generate new COOKIE! / set loginerror to 0
2026.03.05 08:47:35.731 3: [AxelaWoZi] [echodevice_setState] to disconnected
2026.03.05 08:48:37.071 3: [AxelaWoZi] [echodevice_LostConnect] JSON error = no content / set loginerror to 1
2026.03.05 08:48:37.072 3: [AxelaWoZi] [echodevice_setState] to connected but loginerror
2026.03.05 08:49:35.612 3: [AxelaWoZi] [echodevice_LoginStart] connected but loginerror

Frage: wie erreiche ich mein Ziel?

Danke und Grüße.

MadMax-FHEM

Verlinkte Anleitung lesen: mit Fake-User definieren und dann npm_login

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Hardy74

Moin Joachim,

ZitatVerlinkte Anleitung lesen: mit Fake-User definieren und dann npm_login
Welche, wo verlinkte Anleitung?

Grüße,
Hardy

MadMax-FHEM

FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

JudgeDredd

die im ersten Post stimmt nicht mehr.
Nimm den Link aus der Modulhilfe
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

Hardy74

Ich hatte Anleitungen aus dem Wiki, die Seite von Martin Winkler, alles offenbar aber nicht mehr ganz aktuell. Da soll man sich einen Cookie von der alexa.amazon Seite holen, die es so nicht mehr gibt usw.

Wäre cool, wenn einer von euch einen Link zur Hand hätte, der heute noch Gültigkeit hat.

Ich sag schon mal Danke! :-)

JudgeDredd

Zitat von: Hardy74 am 06 März 2026, 08:25:17Ich hatte Anleitungen aus dem Wiki, die Seite von Martin Winkler
Erste Anlaufstelle sollte IMMER die CommandRef sein, nicht das Wiki.
Der gute User heißt Michael und nicht Martin 😉
Mach das define für das Device gem. der "Empfohlene Variante" von seiner Webseite (Link aus der CommandRef).
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

Hardy74

Ok, mit der Doku https://www.mwinklerblog.de/modul-echodevice-npm/ bin ich schon mal weiter gekommen.

Es kneift nun hier:
sudo npm install --prefix /opt/fhem/cache/alexa-cookie alexa-cookie2
npm warn deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm error code EIO
npm error syscall symlink
npm error path ../mime/cli.js
npm error dest /opt/fhem/cache/alexa-cookie/node_modules/.bin/mime
npm error errno -5
npm error EIO: i/o error, symlink '../mime/cli.js' -> '/opt/fhem/cache/alexa-cookie/node_modules/.bin/mime'
npm error A complete log of this run can be found in: /root/.npm/_logs/2026-03-06T08_26_05_036Z-debug-0.log

Da ich bei npm nicht bewandert bin, hat die KI ausgeholfen, dass es daran liegt, dass /opt/fhem eben nicht auf dem Pi liegt sondern auf dem NAS und dass es da eben mit Symlinks kneift. Offenbar stimmt das, denn das Installieren von alexa-cookie2 unter /opt/alexa-cookie hat funktioniert.

Frage: wie sage ich dem echodevice, wo es alexa-cookie findet? ich habe kein passendes Attribut gefunden!?

JudgeDredd

Zitat von: Hardy74 am 06 März 2026, 10:02:26Frage: wie sage ich dem echodevice, wo es alexa-cookie findet? ich habe kein passendes Attribut gefunden!?
Probier mal das Attribut "fhem_home" aus. Ich weiß aber nicht, ob sich das NUR auf NPM bezieht.

Warum sich npm an symlinks stört und ob man das mit einem Parameter ignorieren kann, weiß ich aber nicht.
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

locodriver

Hallo, leider hat es mich jetzt auch "erwischt" und mein Accountdevice steht nur noch auf INITIALIZED.

Bei den Versuchen, mich neu einzuloggen drehe ich mich "im Kreis".

Bei NMP_login new kommt:
Das alexa-cookie Modul wurde nicht gefunden. Bitte fuehrt am Amazon Account Device einen set "NPM_install" durch

Bei NPM_install:
Installationsergebnis

Installation wird angestartet

up to date, audited 103 packages in 6s

18 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!!


Wo muss das Cookie abgelegt sein? Bei mir ist die Verzeichnisstruktur:
/opt/fhem/cache/alexa-cookie/node_modulesDarin ist dann der Ordner "alexa-cookie2".

Mein Device ist so definiert:

define Amazon_Account_Device echodevice xxx@xxx.xx xxx
attr Amazon_Account_Device group Amazon
attr Amazon_Account_Device icon echo
attr Amazon_Account_Device intervalvoice 6
attr Amazon_Account_Device npm_proxy_ip http://192.168.178.140:3002
attr Amazon_Account_Device npm_proxy_listen_ip http://192.168.178.140:3002
attr Amazon_Account_Device room 085System
attr Amazon_Account_Device server layla.amazon.de
attr Amazon_Account_Device verbose 2
#  DEF        xxx@xxx.xx xxx
#  FUUID      69a9b6b5-f33f-b425-feb4-3a7baf610a1d9e0b
#  FVERSION  37_echodevice.pm:v5.0.0-s30527/2025-11-14
#  LOGINMODE  NPM
#  NAME      Amazon_Account_Device
#  NR        1324
#  NTFY_ORDER 50-Amazon_Account_Device
#  STATE      INITIALIZED
#  TYPE      echodevice
#  model      ACCOUNT
#  OLDREADINGS:
#  READINGS:
#    2026-03-05 19:12:30  COOKIE_MODE    NPM
#    2026-03-05 19:13:09  COOKIE_TYPE    NEW
#    2026-03-05 19:13:09  autocreate_devices stop
#    2026-03-05 19:13:09  version        0.2.34
#  helper:
#    DEVICETYPE A4ZXE0RM7LQ7A
#    RUNLOGIN  0
#    SERVER    layla.amazon.de
#    TWOFA     
#    VERSION   
#    getbehavior:
#    notifications:
#      G0922K07338701JE:
#
setstate Amazon_Account_Device INITIALIZED
setstate Amazon_Account_Device 2026-03-05 19:12:30 COOKIE_MODE NPM
setstate Amazon_Account_Device 2026-03-05 19:13:09 COOKIE_TYPE NEW
setstate Amazon_Account_Device 2026-03-05 19:13:09 autocreate_devices stop
setstate Amazon_Account_Device 2026-03-05 19:13:09 version 0.2.34


Danke für Tipps zur Hilfe.

Uwe
fhem 6.0 auf Rpi3 Bookworm
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster

JudgeDredd

Zitat von: locodriver am 06 März 2026, 11:02:54Wo muss das Cookie abgelegt sein?
In /opt/fhem/cache/alexa-cookie müssten bei Dir 2 JavaScript Dateien sein.
Was liegen dort für Dateien ?

Sonst sehe ich gerade keinen Grund, warum das Modul die NPM Installation nicht findet
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

Hardy74

ZitatIn /opt/fhem/cache/alexa-cookie müssten bei Dir 2 JavaScript Dateien sein.
Was liegen dort für Dateien ?

Leider nein!?

  ls -la /opt/fhem/cache/alexa-cookie/
insgesamt 0
drwxr-xr-x 2 pi pi 0  6. Mär 09:07 .
drwxr-xr-x 2 pi pi 0  6. Mär 09:07 ..
drwxr-xr-x 2 pi pi 0  6. Mär 09:29 node_modules
pi@raspi2-2:/opt/alexa-cookie $ ls -la /opt/fhem/cache/alexa-cookie/node_modules/
insgesamt 0
drwxr-xr-x 2 pi pi 0  6. Mär 09:29 .
drwxr-xr-x 2 pi pi 0  6. Mär 09:07 ..
drwxr-xr-x 2 pi pi 0  6. Mär 09:28 .bin
pi@raspi2-2:/opt/alexa-cookie $ ls -la /opt/fhem/cache/alexa-cookie/node_modules/.bin/
insgesamt 0
drwxr-xr-x 2 pi pi 0  6. Mär 09:28 .
drwxr-xr-x 2 pi pi 0  6. Mär 09:29 ..


JudgeDredd

#6388
und der User "pi" ist auch der User unter dem der FHEM Prozess läuft ?
Wenn nein, dann die Berechtigungen ändern.
Hast Du npm aus FHEM heraus gestartet oder direkt auf der Shell ?

@Hardy74:
Du zitierst hier meine Antwort, die an @locodriver gerichtet war.
Ist das Absicht oder hast Du 2 Accounts im Forum ?
Router: Eigenbau (pfSense)
FHEM: Proxmox (DELL R720) | Debian 12 (VM)

Hardy74

@JudgeDredd nein, so Shizophren bin ich dann doch nicht ;-)

Aber es klang so, als müßten die Dateien da bei jedem liegen!? Deswegen habe ich geschaut.

Fhem läuft unter dem User pi, npm habe ich tatsächlich bewusst garnicht gestartet!?

Ich hänge in der Doku an der Stelle "NPM Login Standard FHEM", was immer zu "Login Ergebnis Das alexa-cookie Modul wurde nicht gefunden. Bitte fuehrt am Amazon Account Device einen set "NPM_install" durch".

Ich musste es, wie beschrieben, ja hier /opt/alexa-cookie installieren, da symbolische Links offenbar nicht funktionieren. Deswegen die Frage, wie man dem Device echodevice sagen kann, wo es das cookie Modul findet.