[37_echodevice] Amazon Echo Modul (nicht Alexa)

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

Vorheriges Thema - Nächstes Thema

dermitschi85

Zitat von: michael.winkler am 29 Januar 2019, 07:34:05
Sorry das war keine Absicht. Laut Deinem letzten LOG findet er ein Modul nicht. Kannst Du mal ein NPM install durchführen und das Ergebnis hier posten? Zusätzlich mal bitte prüfen ob im Verzeichnis "/opt/fhem/cache/alexa-cookie/node_modules" einen Ordner "has-value" inkl. Inhalt gibt.

Hallo Michael,

kein Problem. Immerhin konnte ich auf mich aufmerksam machen ;)

Ordner ist soweit ok. Ich habe auch schon geschaut ob 'hasValue' vorhanden ist. Bei mir ist allerdings die Ordnerstruktur etwas seltsam:

/opt/fhem/cache/alexa-cookie/node_modules/alexa-cookie2/node_modules/http-proxy-middleware/node_modules/micromatch/node_modules/snapdragon

Ist das normal so?

Error im Log ist folgender.
2019.01.29 22:22:43 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4458.
(node:15447) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
npm ERR! cb() never called!
npm ERR! not ok code 0


Aber ich werde nicht schlau draus.

Außerdem im NPM Log in FHEM:


33 silly lockFile 1987b9f1-alexa-cookie2-2-0-1 alexa-cookie2@2.0.1
34 verbose lock alexa-cookie2@2.0.1 /root/.npm/1987b9f1-alexa-cookie2-2-0-1.lock
35 silly lockFile 1987b9f1-alexa-cookie2-2-0-1 alexa-cookie2@2.0.1
36 silly lockFile 1987b9f1-alexa-cookie2-2-0-1 alexa-cookie2@2.0.1
37 silly lockFile 11693d36-alexa-cookie2 alexa-cookie2@
38 silly lockFile 11693d36-alexa-cookie2 alexa-cookie2@
39 error Failed to parse json
39 error Unexpected end of JSON input
40 error File: /root/.npm/alexa-cookie2/2.0.1/package/package.json
41 error Failed to parse package.json data.
41 error package.json must be actual JSON, not just JavaScript.
41 error
41 error This is not a bug in npm.
41 error Tell the package author to fix their package.json file. JSON.parse
42 error System Linux 4.14.79-v7+
43 error command "/usr/bin/node" "/usr/bin/npm" "install" "--prefix" "./cache/alexa-cookie" "alexa-cookie2"
44 error cwd /opt/fhem
45 error node -v v8.11.1
46 error npm -v 1.4.21
47 error file /root/.npm/alexa-cookie2/2.0.1/package/package.json
48 error code EJSONPARSE
49 verbose exit [ 1, true ]


Bitte hilf mir ;)


Grüße Michi

michael.winkler

Zitat von: dermitschi85 am 29 Januar 2019, 23:06:20
Hallo Michael,

kein Problem. Immerhin konnte ich auf mich aufmerksam machen ;)

Ordner ist soweit ok. Ich habe auch schon geschaut ob 'hasValue' vorhanden ist. Bei mir ist allerdings die Ordnerstruktur etwas seltsam:

/opt/fhem/cache/alexa-cookie/node_modules/alexa-cookie2/node_modules/http-proxy-middleware/node_modules/micromatch/node_modules/snapdragon

Ist das normal so?

Error im Log ist folgender.
2019.01.29 22:22:43 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 4458.
(node:15447) [DEP0022] DeprecationWarning: os.tmpDir() is deprecated. Use os.tmpdir() instead.
npm ERR! cb() never called!
npm ERR! not ok code 0


Aber ich werde nicht schlau draus.

Außerdem im NPM Log in FHEM:


33 silly lockFile 1987b9f1-alexa-cookie2-2-0-1 alexa-cookie2@2.0.1
34 verbose lock alexa-cookie2@2.0.1 /root/.npm/1987b9f1-alexa-cookie2-2-0-1.lock
35 silly lockFile 1987b9f1-alexa-cookie2-2-0-1 alexa-cookie2@2.0.1
36 silly lockFile 1987b9f1-alexa-cookie2-2-0-1 alexa-cookie2@2.0.1
37 silly lockFile 11693d36-alexa-cookie2 alexa-cookie2@
38 silly lockFile 11693d36-alexa-cookie2 alexa-cookie2@
39 error Failed to parse json
39 error Unexpected end of JSON input
40 error File: /root/.npm/alexa-cookie2/2.0.1/package/package.json
41 error Failed to parse package.json data.
41 error package.json must be actual JSON, not just JavaScript.
41 error
41 error This is not a bug in npm.
41 error Tell the package author to fix their package.json file. JSON.parse
42 error System Linux 4.14.79-v7+
43 error command "/usr/bin/node" "/usr/bin/npm" "install" "--prefix" "./cache/alexa-cookie" "alexa-cookie2"
44 error cwd /opt/fhem
45 error node -v v8.11.1
46 error npm -v 1.4.21
47 error file /root/.npm/alexa-cookie2/2.0.1/package/package.json
48 error code EJSONPARSE
49 verbose exit [ 1, true ]


Bitte hilf mir ;)


Grüße Michi
Aktualisiere mal deine NPM bzw. Node Version


45 error node -v v8.11.1
46 error npm -v 1.4.21


PingPong

Hallo Michael,

nutze Dein Modul jetzt schon seit einiger Zeit, um mein FireTablet zum Sprechen zu bewegen :-)
Klappt alles wunderbar. Jetzt überlege ich, ein wenig aufzurüsten und das FireTablet durch einen besseren Lautsprecher zu ersetzen.
Hier schwanke ich gerade zwischen dem Sonos One, der ja von Deinem Modul schon unterstützt wird und dem Bose Home Speaker 500.
Letzterer wirkt für mich vom Klang her deutlich besser.
Wie siehst Du hier die Chancen, einer Integration in Dein Modul?

Viele Grüße
Mac

michael.winkler

Zitat von: PingPong am 30 Januar 2019, 11:33:38
Hallo Michael,

nutze Dein Modul jetzt schon seit einiger Zeit, um mein FireTablet zum Sprechen zu bewegen :-)
Klappt alles wunderbar. Jetzt überlege ich, ein wenig aufzurüsten und das FireTablet durch einen besseren Lautsprecher zu ersetzen.
Hier schwanke ich gerade zwischen dem Sonos One, der ja von Deinem Modul schon unterstützt wird und dem Bose Home Speaker 500.
Letzterer wirkt für mich vom Klang her deutlich besser.
Wie siehst Du hier die Chancen, einer Integration in Dein Modul?

Viele Grüße
Mac
Ich kann zu beiden Systemen nichts sagen, da ich kleines davon besitze. Eventuell kann hier jemand andere weiterhelfen.

michael.winkler

Zitat von: niklasmader am 29 Januar 2019, 20:20:06
Hallo zusammen,

erst einmal vielen Dank für das tolle Modul. Ich wünsche mir nur noch eine Kompatibilität für den Echo Input, leider kann ich so nur meinen einen Dot ansprechen. Hast du vor das demnächst einzufügen?

Liebe Grüße
Niklas
Leider habe ich keinen ECHO Input. Was kann man mit dem Gerät über "alexa.amazon.de" alles steuern? Tauch das Gerät unter "get devices" am Account Device auf?

punker

#2135
Zitat von: michael.winkler am 29 Januar 2019, 13:42:25
Aus deinem LOG und auch aus dem Status ist nur noch zu sehen dass das Modul den normalen Connect Modus verwendet.

Zusätzlich ist aber auch noch die Zeile "2019.01.29 10:23:20 4: [myEcho] [echodevice_NPMWaitForCookie] wait for refreshtoken" zu sehen. Was ich nicht sehen kann ist wer das genau angestartet hat. Entweder kommt das von einem "npm_login new" oder von einem "npm_login_refresh". Wenn es von einem "npm_login new" wäre es interessant was das LOG schreibt wenn das gestartet wurde. Wenn es von einem refresh kommt müsste man im LOG schauen wann das genau angefangen hat und ob im LOG noch weitere Meldungen stehen.

Auf Seite 1 gibt es jetzt die Version 0.0.51q. Bitte verwende die mal und schick mir dann wieder ein LOG zu wen der Fehler wieder auftaucht.

Neue Version 0.0.51q eingespielt.
Status war Anfangs wieder auf "connected but loginerror".
Hab dann "set myEcho npm_login new" gemacht und irgendwann ist es dann wieder auf "connected but loginerror" gegangen.

Sorry, hab ich vergessen!
LG

Dieter

The truth is out there!

michael.winkler

Zitat von: punker am 30 Januar 2019, 13:06:30
Neue Version 0.0.51q eingespielt.
Status war Anfangs wieder auf "connected but loginerror".
Hab dann "set myEcho npm_login new" gemacht und irgendwann ist es dann wieder auf "connected but loginerror" gegangen.
Und genau von diesem Vorgang benötige ich das LOG. Auch mit einem Verbose 3 müsste im LOG etwas zu sehen sein.

michael.winkler

Zitat von: punker am 30 Januar 2019, 13:06:30
Neue Version 0.0.51q eingespielt.
Status war Anfangs wieder auf "connected but loginerror".
Hab dann "set myEcho npm_login new" gemacht und irgendwann ist es dann wieder auf "connected but loginerror" gegangen.

Sorry, hab ich vergessen!
OK so wie ich das aus dem LOG lese ist spätestens nach 6000 Sekunden dein Modul wieder disconnected. Es scheint irgendetwas mit dem refresh nicht zu funktionieren. Kannst Du im Modul mal folgende Zeilen auskommentieren?

if (-e $filename) {unlink $filename;}
if (-e "cache/alexa-cookie/" . $number . "create-cookie.js")  {unlink "cache/alexa-cookie/" . $number . "create-cookie.js";}
if (-e "cache/alexa-cookie/" . $number . "refresh-cookie.js") {unlink "cache/alexa-cookie/" . $number . "refresh-cookie.js";}


sollte dann so aussehen


#if (-e $filename) {unlink $filename;}
#if (-e "cache/alexa-cookie/" . $number . "create-cookie.js")  {unlink "cache/alexa-cookie/" . $number . "create-cookie.js";}
#if (-e "cache/alexa-cookie/" . $number . "refresh-cookie.js") {unlink "cache/alexa-cookie/" . $number . "refresh-cookie.js";}


Danach ein "reload 37_echodevice" ausführen. Danach einen npm_login refresh ausführen. Dann bitte den Inhalt der Datei xyrefresh-cookie.js und xyresult.json mir per PN zukommen lassen.

punker

wo befinden sich denn die xyrefresh-cookie.js und xyresult.json?
LG

Dieter

The truth is out there!

michael.winkler

Zitat von: punker am 30 Januar 2019, 15:21:10
wo befinden sich denn die xyrefresh-cookie.js und xyresult.json?
in einer Standard FHEM Installation hier "/opt/fhem/cache/alexa-cookie"

punker

LG

Dieter

The truth is out there!

michael.winkler

Auf Seite 1 gibt es eine neue Version. Für alle die aktuell Probleme mit dem NPM Login haben mal diese verwenden. Im normalen LOG sollte dann zu sehen sein warum ein eventueller refresh nicht funktioniert hat.

punker

Tja, auch mit der neuen Version von 37_echodevice wieder "connected but loginerror".
Ausserdem kommt bei set myEcho NPM_login new jetzt:

Der angegebene Proxy Port 3002 ist in Benutzung, bitte das Attribut "npm_proxy_port" entsprechend anpassen.

Ich geb jetzt auf, wär zwar schön gewesen wenns funktioniert hätte aber da kann man halt nix machen! :-(
Danke an Michael für die Unterstützung!
LG

Dieter

The truth is out there!

michael.winkler

Zitat von: punker am 30 Januar 2019, 17:49:03
Tja, auch mit der neuen Version von 37_echodevice wieder "connected but loginerror".
Ausserdem kommt bei set myEcho NPM_login new jetzt:

Der angegebene Proxy Port 3002 ist in Benutzung, bitte das Attribut "npm_proxy_port" entsprechend anpassen.

Ich geb jetzt auf, wär zwar schön gewesen wenns funktioniert hätte aber da kann man halt nix machen! :-(
Danke an Michael für die Unterstützung!
Wenn diese Meldung kommt, dann läuft vermutlich im Hintergrund noch ein Loginversuch. Am besten startest Du Deinen kompletten FHEM Server einmal durch.

Danach stellst du dein Account Device LOG technisch wieder auf 3 und machst erneut einen npm_login new. Dann am Besten mal ein paar Minuten warten und LOG prüfen. Wenn alles gut aussieht dann mal einen npm_login refresh machen. Wenn dann wieder connected but loginerror kommt dann noch mal das log prüfen.

Irgendetwas scheint bei Dir anders zu laufen, wäre super wenn du mir helfen würdest das herauszufinden. Die Vermutung liegt nahe das auch noch andere Benutzer dasselbe Problem haben.


JoWiemann

Zitat von: punker am 30 Januar 2019, 17:49:03
Der angegebene Proxy Port 3002 ist in Benutzung, bitte das Attribut "npm_proxy_port" entsprechend anpassen.

Die Meldung taucht immer dann auf, wenn etwas beim Login nicht funktioniert hat. Man muss dann Fhem neu starten. Schöner wäre es, wenn man den Port durch einen set Befehl wieder schließen könnte.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM