[37_echodevice] Amazon Echo Modul (nicht Alexa)

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

Vorheriges Thema - Nächstes Thema

till24

Hallo,

leider bekomme ich das neue Login über NPM nicht zum Laufen. Ein "set device NPM_install" ergibt:

Installation wird angestartet
!!Installation fehlgeschlagen!!


habe NPM manuell installiert ( ein "npm -v" ergibt: "6.5.0-next.0"). Trotz "verbose 5" des devices wird bei mir im Event Monitor nichts geloggt.

Ein "sudo chown -R fhem:  /opt/fhem/cache/alexa-cookie" habe ich bereits durchgeführt.

NPM habe ich nach folgender Anleitung installiert (Step 1 -3, inkl. Yarn): https://tecadmin.net/install-latest-nodejs-npm-on-debian/

Hat jemand eine Idee? Danke schonmal!

sig10680

Zitat von: michael.winkler am 15 Januar 2019, 11:55:48
Kannst du mal die Attribute "npm_porxy_port" und "npm_porxy_ip" ausfüllen? Port z.B. 3003 IP=IP Adresse deines FHEM Servers

So habe die neue Version 0.0.51k getestet mit NPM IP Proxy und Port habe ich auch gesetzt. Auch diesmal hat er sich komplett aufgehangen Top sagt wieder 100%!

2019.01.15 14:46:07 3: Cookie 2 : COO    = 261-1734059-2994628
2019.01.15 14:46:07 3: cookielogin4: session-id=261-1734059-2994628; session-id-time=2178279967l; ubid-acbde=260-8954689-9809921;
2019.01.15 14:46:07 3: cookielogin4: create=&workflowState=eyJ6aXAiOiJERUYiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiQTI1NktXIn0.tmF6C2JVFli6vSXHBvPusDFv6myaFw0-iE43POMFDDSDdMtwoZ9aJg.71uCoqZ0vasHTGGx.p8Zh84KZPUEF9xjTYf8fUFYVua7skcWRwAM4M7JWkd78NXTeXLLk1VQ3HY_glH152t9s9-cJPmlu5mIABFDbcchesKIisjEDgNp9VRjEMgOpDF51te5JzsiMUpFR4wLhse9PekMEZk8fdrlyymBu1UHrlCc87DEdQ5VSmFv__JOfya2RTD7vWc8lFMc65u7nL-kgJKbfLMRrFnGfgyZcyia_uZGxvzrbt49agBAy93RMlN27ghuy5_cOiBeCtVmI4FhyMynB7TVMv-Y-b1AenHhV.EmIotmLsowlybWvN6TUbUA&appActionToken=kpyPzQU0LL5BiniDYfDKiyfmG0Uj3D&appAction=SIGNIN&showRmrMe=&openid.return_to=ape:aHR0cHM6Ly9sYXlsYS5hbWF6b24uZGUv&prevRID=ape:MEcwQVE0ME1OQU1RRkVLVzNTUDA=&openid.identity=&openid.assoc_handle=&openid.mode=&failedSignInCount=&openid.claimed_id=&pageId=&openid.ns=&showPasswordChecked=false&
2019.01.15 14:46:09 3: [Tobias] [echodevice_LostConnect] JSON error = no content / set loginerror to 1
2019.01.15 14:46:09 3: [Tobias] [echodevice_setState] to connected but loginerror
2019.01.15 14:46:50 3: [Tobias] [echodevice_NPMLoginNew] Proxy Port 3003 is free
2019.01.15 14:46:50 3: [Tobias] [echodevice_NPMLoginNew] Proxy IP 192.168.0.185

/opt/fhem2/cache/alexa-cookie/55create-cookie.js:13
lexaCookie.generateAlexaCookie('LoginFHEM', 'xxxx', config, (err, result) => {
                                                                           ^
SyntaxError: Unexpected token >
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3

michael.winkler

Zitat von: sig10680 am 15 Januar 2019, 14:52:24
So habe die neue Version 0.0.51k getestet mit NPM IP Proxy und Port habe ich auch gesetzt. Auch diesmal hat er sich komplett aufgehangen Top sagt wieder 100%!

2019.01.15 14:46:07 3: Cookie 2 : COO    = 261-1734059-2994628
2019.01.15 14:46:07 3: cookielogin4: session-id=261-1734059-2994628; session-id-time=2178279967l; ubid-acbde=260-8954689-9809921;
2019.01.15 14:46:07 3: cookielogin4: create=&workflowState=eyJ6aXAiOiJERUYiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiQTI1NktXIn0.tmF6C2JVFli6vSXHBvPusDFv6myaFw0-iE43POMFDDSDdMtwoZ9aJg.71uCoqZ0vasHTGGx.p8Zh84KZPUEF9xjTYf8fUFYVua7skcWRwAM4M7JWkd78NXTeXLLk1VQ3HY_glH152t9s9-cJPmlu5mIABFDbcchesKIisjEDgNp9VRjEMgOpDF51te5JzsiMUpFR4wLhse9PekMEZk8fdrlyymBu1UHrlCc87DEdQ5VSmFv__JOfya2RTD7vWc8lFMc65u7nL-kgJKbfLMRrFnGfgyZcyia_uZGxvzrbt49agBAy93RMlN27ghuy5_cOiBeCtVmI4FhyMynB7TVMv-Y-b1AenHhV.EmIotmLsowlybWvN6TUbUA&appActionToken=kpyPzQU0LL5BiniDYfDKiyfmG0Uj3D&appAction=SIGNIN&showRmrMe=&openid.return_to=ape:aHR0cHM6Ly9sYXlsYS5hbWF6b24uZGUv&prevRID=ape:MEcwQVE0ME1OQU1RRkVLVzNTUDA=&openid.identity=&openid.assoc_handle=&openid.mode=&failedSignInCount=&openid.claimed_id=&pageId=&openid.ns=&showPasswordChecked=false&
2019.01.15 14:46:09 3: [Tobias] [echodevice_LostConnect] JSON error = no content / set loginerror to 1
2019.01.15 14:46:09 3: [Tobias] [echodevice_setState] to connected but loginerror
2019.01.15 14:46:50 3: [Tobias] [echodevice_NPMLoginNew] Proxy Port 3003 is free
2019.01.15 14:46:50 3: [Tobias] [echodevice_NPMLoginNew] Proxy IP 192.168.0.185

/opt/fhem2/cache/alexa-cookie/55create-cookie.js:13
lexaCookie.generateAlexaCookie('LoginFHEM', 'xxxx', config, (err, result) => {
                                                                           ^
SyntaxError: Unexpected token >
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3


Kannst du mal in dem Verzeichnis /opf/fhme/cache/alexa-cookie/ den Befehl "node 55create-cookie.js" ausführen und hier das Ergebnis posten? Wenn du die Datei nicht findest solltest du mir mal den Inhalt des Verzeichnisses schicken.

sig10680

Zitat von: michael.winkler am 15 Januar 2019, 16:30:03
Kannst du mal in dem Verzeichnis /opf/fhme/cache/alexa-cookie/ den Befehl "node 55create-cookie.js" ausführen und hier das Ergebnis posten? Wenn du die Datei nicht findest solltest du mir mal den Inhalt des Verzeichnisses schicken.

Und hier das Ergebnis

node 55create-cookie.js

/opt/fhem2/cache/alexa-cookie/55create-cookie.js:13
lexaCookie.generateAlexaCookie('LoginFHEM', 'xxxx', config, (err, result) => {
                                                                           ^
SyntaxError: Unexpected token >
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3


Ich habe aber auch noch eine 83create-cookie.js und eine 323create-cookie.js in diesen Verzeichnis!

michael.winkler

Zitat von: sig10680 am 15 Januar 2019, 16:49:13
Und hier das Ergebnis

node 55create-cookie.js

/opt/fhem2/cache/alexa-cookie/55create-cookie.js:13
lexaCookie.generateAlexaCookie('LoginFHEM', 'xxxx', config, (err, result) => {
                                                                           ^
SyntaxError: Unexpected token >
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Function.Module.runMain (module.js:497:10)
    at startup (node.js:119:16)
    at node.js:906:3


Ich habe aber auch noch eine 83create-cookie.js und eine 323create-cookie.js in diesen Verzeichnis!
Kannst du mir den Inhalt der Datei mal per PN zuschicken?


Gesendet von iPhone mit Tapatalk

Damian

Ich habe seit neustem ebenfalls mit "connected but loginerror" zu kämpfen.

Mein FHEM läuft unter Windows. Ich habe nun nodejs installiert. node und npm liegt unter c:\Programme\nodejs

Leider wird trotz Setzen der Pfade über die Attribute npm_bin und npm_bin_node node nicht gefunden. set NPM_install bricht mit der typischen Meldung ab:

ZitatDas Bin /usr/bin/npm wurde nicht gefunden. Bitte zuerst das Linux Paket NPM installieren. Folgenden Befehl koennt Ihr hier verwenden:

sudo apt-get install npm

Sollte das Linux Paket NPM schon installiert sein, muesst Ihr ggf. das Attribut "npm_bin" entsprechend anpassen. Standard=/usr/bin/npm

Wie müsste ich den Pfad setzen?



Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

WumpE

#1926
mit node v10.15 scheint es nicht zu gehen.... wenn ich npm_login new ausführe, bleibt er auf der fhem-ip:8083/fhem url stehen. Seite kann nicht angezeigt werden, da fhem neu startet.

device
ZitatInternals:
   DEF        crypt:xxx crypt:xxx
   IODev     
   NAME       EchoIO
   NR         985
   NTFY_ORDER 50-EchoIO
   STATE      disconnected
   TYPE       echodevice
   model      ACCOUNT
   OLDREADINGS:
   READINGS:
     2019-01-15 17:38:27   2FACode         not used
     2019-01-15 17:42:27   BrowserLanguage de,en-US;q=0.7,en;q=0.3
     2019-01-15 17:42:27   BrowserUserAgent Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:62.0) Gecko/20100101 Firefox/62.0
     2019-01-15 17:38:26   COOKIE_STATE    START
     2019-01-15 17:38:28   COOKIE_TYPE     NEW
     2019-01-15 17:38:15   autocreate_devices stop
     2019-01-15 17:42:27   state           disconnected
     2019-01-15 17:38:15   version         0.0.51k
   helper:
     CMD_QUEUE 
     RUNLOGIN   0
     RUNNING_REQUEST 0
     SERVER     layla.amazon.de
     TWOFA     
Attributes:
   DbLogExclude .*
   browser_save_data 1
   icon       echo
   npm_proxy_ip 10.10.10.7
   npm_proxy_port 3002
   room       Amazon
   verbose    4


LOG:
Zitat2019.01.15 17:36:16.127 4: [EchoIO] [echodevice_SendLoginCommand] [cookielogin6]
2019.01.15 17:36:16.242 4: [EchoIO] [echodevice_LoginStart] [enable] set next internal timer start in 60 seconds.
2019.01.15 17:36:16.430 4: [EchoIO] [echodevice_ParseAuth] [cookielogin6]
2019.01.15 17:36:16.431 4: [EchoIO] [echodevice_LostConnect] clear CMD_QUEUE
2019.01.15 17:36:16.431 3: [EchoIO] [echodevice_LostConnect] JSON error = no content / set loginerror to 2
2019.01.15 17:37:16.243 4: [EchoIO] [echodevice_SendLoginCommand] [cookielogin6]
2019.01.15 17:37:16.357 4: [EchoIO] [echodevice_LoginStart] [enable] set next internal timer start in 60 seconds.
2019.01.15 17:37:16.552 4: [EchoIO] [echodevice_ParseAuth] [cookielogin6]
2019.01.15 17:37:16.553 4: [EchoIO] [echodevice_LostConnect] clear CMD_QUEUE
2019.01.15 17:37:16.553 3: [EchoIO] [echodevice_LostConnect] JSON error = no content / set loginerror to 3
Died at ./FHEM/37_echodevice.pm line 4249.
v0.51k installiert

alle devices gelöscht und io neu angelegt

fhem läuft im docker deshalb IP und port angabe .

ich habe allerdings im PW eine Raute, ist das relevant?

Grüße
Über Mich: Stefan, Informatiker, Systementwicklung Prozessleittechnik
Server: NUC7i5 - Debian Docker
Container: FHEM,DEBMATIC,EMQX,NODERED,SONOS2MQTT,TRAEFIK,HOMEBRIDGE,DECONZ
Aktoren/Sensoren: HM-RF, HM-IP, EnergyCam, Shelly, MiLight, Hue, SONOS, OEG KMS-D+, Echo's, Worx
Frontends: Smartvisu 2.9

michael.winkler

Zitat von: Damian am 15 Januar 2019, 17:28:33
Ich habe seit neustem ebenfalls mit "connected but loginerror" zu kämpfen.

Mein FHEM läuft unter Windows. Ich habe nun nodejs installiert. node und npm liegt unter c:\Programme\nodejs

Leider wird trotz Setzen der Pfade über die Attribute npm_bin und npm_bin_node node nicht gefunden. set NPM_install bricht mit der typischen Meldung ab:

Wie müsste ich den Pfad setzen?
Das weiß ich leider nicht. Habe hier keine Windowssystem.

michael.winkler

Zitat von: WumpE am 15 Januar 2019, 17:42:17
mit node v10.15 scheint es nicht zu gehen.... wenn ich npm_login new ausführe, bleibt er auf der fhem-ip:8083/fhem url stehen. Seite kann nicht angezeigt werden, da fhem neu startet.

device

LOG:v0.51k installiert

alle devices gelöscht und io neu angelegt

fhem läuft im docker deshalb IP und port angabe .

ich habe allerdings im PW eine Raute, ist das relevant?

Grüße
Das Modul hat ein Problem mit dem Prüfen des Ports. Das Modul führt hierzu netstat -a aus. Kannst Du den Befehl manuell ausführen?

Markus M.

#1929
Zitat von: michael.winkler am 13 Januar 2019, 19:13:17Über die Anpassung in EN kann man sicherlich diskutieren, allerdings ist es auch schwierig wenn Benutzer schon auf die deutschen Begriffe reagieren.
Das ist aber auch kein Grund es so zu lassen.

ZitatBei dem Thema Speak sehe ich die Änderung nicht im Modul. Ich bin der Meinung dass die Ergebnisse die Amazon liefert auch im Reading gesehen werden sollten. Hier hat dann auch jeder Benutzer seine eigenen Möglichkeiten hierauf zu reagieren.
Das ist schwieriger, wenn alles in einem Reading landet und sich je Gerät auch noch unterscheiden kann.
Was durch das Modul ohne Spracheingabe getriggert wurde, gehört nicht in das voice Reading.
Deshalb auch getrennte Readings und Entfernen von Wakeword und "Sprich mir nach":
Was du aus dem Modul triggerst landet im speak Reading, was tatsächlich gehört wurde im voice Reading.

Du setzt "hallo" via speak Befehl -> Reading speak enthält "hallo"
Du sagst selbst "Alexa sprich mir nach hallo" -> Reading voice enthält "sprich mir nach hallo"

ZitatDie Lautstärkereglerung wurde von mir doch schon berücksichtigt.
Es fehlte noch ein Check, ob sie an dem Punkt auch nötig sind.
FHEM dev + HomeBridge + Lenovo Flex15 + HM-CFG-USB + RFXtrx433 + Fritz!Box 7590/7580/546E

HM Aktor/Sensor/Winmatic/Keymatic/Thermostat, HUE, Netatmo Weather/Security/Heating, Xiaomi AirPurifier/Vacuum, Withings Aura/BPM/Cardio/Go/Pulse/Thermo, VSX828, Harmony, Siro ERB15LE
https://paypal.me/mm0

WumpE

Zitat von: michael.winkler am 15 Januar 2019, 18:10:46
Das Modul hat ein Problem mit dem Prüfen des Ports. Das Modul führt hierzu netstat -a aus. Kannst Du den Befehl manuell ausführen?

Danke net-tools waren nicht installiert.

nächstes problem, jetzt sagt er im log

Zitat
2019.01.15 19:52:36.320 3: [EchoIO] [echodevice_NPMLoginNew] Result Alexa-Cookie: Response (404)

2019.01.15 19:52:36.346 3: [EchoIO] [echodevice_NPMLoginNew] Result [HPM] Proxy created: !/cookie-success  ->  https://alexa.amazon.com

2019.01.15 19:52:36.348 3: [EchoIO] [echodevice_NPMLoginNew] Result [HPM] Proxy rewrite rule created: "^/www.amazon.com" ~> ""

2019.01.15 19:52:36.348 3: [EchoIO] [echodevice_NPMLoginNew] Result [HPM] Proxy rewrite rule created: "^/alexa..amazon.com" ~> ""

events.js:167
      throw er; // Unhandled 'error' event
      ^

Error: listen EADDRNOTAVAIL: address not available 10.10.10.7:3002
    at Server.setupListenHandle [as _listen2] (net.js:1273:19)
    at listenInCluster (net.js:1338:12)
    at doListen (net.js:1471:7)
    at process._tickCallback (internal/process/next_tick.js:63:19)
Emitted 'error' event at:
    at emitErrorNT (net.js:1317:8)
    at process._tickCallback (internal/process/next_tick.js:63:19)

port 3002 docker host ist auf die 3002 fhem container gemappt. 10.10.10.7 ist die IP des docker host, 172.18.0.2 die des containers.

lösche ich die 10.10.10.7 aus den attributen gehts und er bietet mir die 172.18.0.2:3002/xxxxxxxxxxx url an, die natürlich von aussen nicht erreichbar ist
Über Mich: Stefan, Informatiker, Systementwicklung Prozessleittechnik
Server: NUC7i5 - Debian Docker
Container: FHEM,DEBMATIC,EMQX,NODERED,SONOS2MQTT,TRAEFIK,HOMEBRIDGE,DECONZ
Aktoren/Sensoren: HM-RF, HM-IP, EnergyCam, Shelly, MiLight, Hue, SONOS, OEG KMS-D+, Echo's, Worx
Frontends: Smartvisu 2.9

netsrac4th

Zitat von: WumpE am 15 Januar 2019, 20:10:37
lösche ich die 10.10.10.7 aus den attributen gehts und er bietet mir die 172.18.0.2:3002/xxxxxxxxxxx url an, die natürlich von aussen nicht erreichbar ist

Das kannste doch sicher vom Host mit einer iptables rule auf den Container lösen, oder?

popy

Habe seit gestern auch "connected but login error" wollte jetzt mit npm testen aber da habe ich das gleiche, wie...

Zitat von: till24 am 15 Januar 2019, 14:50:21
Hallo,

leider bekomme ich das neue Login über NPM nicht zum Laufen. Ein "set device NPM_install" ergibt:

Installation wird angestartet
!!Installation fehlgeschlagen!!


habe NPM manuell installiert ( ein "npm -v" ergibt: "6.5.0-next.0"). Trotz "verbose 5" des devices wird bei mir im Event Monitor nichts geloggt.

Ein "sudo chown -R fhem:  /opt/fhem/cache/alexa-cookie" habe ich bereits durchgeführt.

NPM habe ich nach folgender Anleitung installiert (Step 1 -3, inkl. Yarn): https://tecadmin.net/install-latest-nodejs-npm-on-debian/

Hat jemand eine Idee? Danke schonmal!

Bei mir das gleiche, hast du eine Lösung?
Habe im Log gesehen dass es einen Fehler gibt:



We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

sudo: no tty present and no askpass program specified


Im Module code wird folgendes ausgeführt:


pen CMD,'-|','sudo ' . $npm_bin . ' install --prefix ./cache/....


Ich glaube das Problm ist dass sudo an der Stelle ein Passwort verlangt.

@Michael, kann das sein?

michael.winkler

ja das kann schon sein. Du kannst diese Schritte auch manuell durchführen. Siehe Dokumentation

michael.winkler

Für Alle die noch Probleme haben. Für die NPM Version wird mindestens Node v8.12 benötigt.

Auf Seite 1 gibt es eine aktuelle Version die die Version vorher prüft.