[37_echodevice] Amazon Echo Modul (nicht Alexa)

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

Vorheriges Thema - Nächstes Thema

Der_Tom

hatte schonmal angefragt, wohl untergegangen.

wäre es ggf. machbar den Show 15 zu integrieren - habe das modul momentan von updates ausgeschlossen aber ist ja nicht wirklich das Ziel.

elsif($ModelNumber eq "A1EIANJ7PNB0Q7" || $ModelNumber eq "Echo Show 15") {return "Echo Show 15 Gen1";}

Gruss Thomas

nanostrukturtechniker

Was bei mir geholfen hat:

npm_proxy_ip und npm_proxy_listen_ip auf die IP meines Raspi zu setzten und dann auf den Port 3002 zuzugreifen nachdem die Fehlermeldung kam - bei mir hat die automatische Adressermittlung nicht geklappt, da auch noch Tunnel,... vorhanden waren.

binford6000

Zitat von: adn77 am 24 Oktober 2022, 23:19:09
Ich habe meinen Post oben mit einer geänderten Version versehen:

  • das RefreshToken wird nach der Definition in einem versteckten Internal gespeichert
  • Cookie Refresh der Funktion echodevice_LoginStart hinzugefügt

Alex

Hi Alex,
ich habe deine geänderte Version von echodevice im Einsatz und sie funktioniert soweit tadellos!  :)
Heute hatte ich aber für ca. 3,5 Stunden folgende Einträge im Log:
2022.10.30 03:45:53.457 3: [amazon] [echodevice_Parse] [activities] [30751] WRONG JSON Type Type=ARRAY
...
2022.10.30 07:11:54.796 3: [amazon] [echodevice_Parse] [activities] [38779] WRONG JSON Type Type=ARRAY


Und sogar nach folgendem Eintrag im Log einen Neustart von FHEM:
Not a HASH reference at ./FHEM/37_echodevice.pm line 3616
2022.10.30 07:46:55.550 1: Including fhem.cfg


foreach my $device (@{$json->{devices}}) {...}


VG Sebastian


adn77

Zitat von: binford6000 am 30 Oktober 2022, 08:23:01
Hi Alex,
ich habe deine geänderte Version von echodevice im Einsatz und sie funktioniert soweit tadellos!  :)
Heute hatte ich aber für ca. 3,5 Stunden folgende Einträge im Log:
2022.10.30 03:45:53.457 3: [amazon] [echodevice_Parse] [activities] [30751] WRONG JSON Type Type=ARRAY
...
2022.10.30 07:11:54.796 3: [amazon] [echodevice_Parse] [activities] [38779] WRONG JSON Type Type=ARRAY


VG Sebastian

Hallo Sebastian,

ich weiß leider nicht, ob das spezifisch für meine geänderte Version ist. Der Rückgabewert für die Activities scheint kein korrektes JSON zu enthalten. Komisch, dass das nach 3,5h wieder funktioniert hat.
Vielleicht hast es überhaupt nichts mit "uns" zu tun.

Bin noch ein paar Tage unterwegs und schaue dann mal für Activities an.

Alex

torsten12

Hallo, nach endlosem probieren habe ich es temporär geschafft ein Login hinzubekommen. Diese Info steht dazu im Logfile:

2022.11.02 17:20:05 3: [Amazon_Connect] [echodevice_NPMWaitForCookie] [NPM Login New Wed Nov  2 17:10:25 2022] wait for refreshtoken / refreshtoken unkown!! refreshtoken=null EXIST 121create-cookie.js = true
Warning: unable to close filehandle CMD properly.
npm WARN npm npm does not support Node.js v10.24.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
npm WARN deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN saveError ENOENT: no such file or directory, open '/opt/fhem/cache/alexa-cookie/package.json'
npm WARN enoent ENOENT: no such file or directory, open '/opt/fhem/cache/alexa-cookie/package.json'
npm WARN http-proxy-middleware@2.0.6 requires a peer of @types/express@^4.17.13 but none is installed. You must install peer dependencies yourself.
npm WARN alexa-cookie No description
npm WARN alexa-cookie No repository field.
npm WARN alexa-cookie No README data
npm WARN alexa-cookie No license field.

2022.11.02 17:23:47 3: [Amazon_Connect] [echodevice_NPMWaitForCookie] [NPM Login New Wed Nov  2 17:10:25 2022] write new refreshtoken
2022.11.02 17:23:47 3: [Amazon_Connect] [echodevice_setState] to connected


Vieleicht hilft es ...

binford6000

Zitat von: adn77 am 30 Oktober 2022, 19:27:20
Hallo Sebastian,

ich weiß leider nicht, ob das spezifisch für meine geänderte Version ist. Der Rückgabewert für die Activities scheint kein korrektes JSON zu enthalten. Komisch, dass das nach 3,5h wieder funktioniert hat.
Vielleicht hast es überhaupt nichts mit "uns" zu tun.

Bin noch ein paar Tage unterwegs und schaue dann mal für Activities an.

Alex

Hi Alex,
soweit ich das sehe hat sich mein Problem in Luft aufgelöst  ::)
Seit vorgestern keine Neustarts mehr und im Log keine Auffälligkeiten zu sehen.
Noch eine weitere Woche ohne Vorkommnisse und ich ziehe es um auf die Hauptinstanz  :)

VG Sebastian

muma

Hi Alex,
habe deine Version installiert und konnte mich bereits erfolgreich einloggen.

Allerdings habe ich mehrere Amazon Accounts in der Familie die ich parallel betreiben müsste. Das schein mit dem aktuellen Modul leider nicht zu funktionieren. Ich kann zwar 2 Accounts mit 2 AccessToken parallel anlegen aber der autocreate_devices nutzt scheinbar immer nur den zuerst angelegten.

Ist das ein Problem im Modul oder ein Denkfehler meinerseits?  :-[

KyleK

#5392
Ich hab seit geraumer Zeit eine Aktion in FHEM, die via diesem Modul den Start einer App auf meinem Amazon FireTV triggert:

set Echo_Wohnzimmer textcommand Starte Sandmännchen App auf FireTV

Seit etwa einer Woche funktioniert das nicht mehr. Alexa antwortet lediglich mit "Das weiß ich leider nicht".

Ich habe alle möglichen Varianten probiert, auch andere apps, es geht einfach nicht mehr.
Wenn ich den Echo direkt anspreche, dann klappt es.

Ist das schon jemandem aufgefallen?

EDIT:
Jetzt dachte ich mir, ich hab den FireTV ja auch als EchoDevice, ich kann ja hier einfach textcommand nutzen.
Aber auch hier wenig Erfolg: Der FireTV öffnet immer Netflix, weils dort eine Serie mit dem gleichen Namen gibt :/
Nutze ich die Fernbedienung, dann klappt's wie erwartet...
FHEM on Raspberry Pi 3B+
CUL868
7x MAX! Thermostat, 8x MAX! Fensterkontakte
Conbee II + deConz, TradFri Lampen, Osram Smart+ Steckdosen

adn77

Zitat von: muma am 05 November 2022, 19:04:19
Allerdings habe ich mehrere Amazon Accounts in der Familie die ich parallel betreiben müsste. Das schein mit dem aktuellen Modul leider nicht zu funktionieren. Ich kann zwar 2 Accounts mit 2 AccessToken parallel anlegen aber der autocreate_devices nutzt scheinbar immer nur den zuerst angelegten.

Ich gehe davon aus, dass du das RefreshToken für jeden der beiden Accounts generiert hast und damit jeweils ein EchoDevice angelegt hast?

Eigentlich versuche ich lediglich die npm_login Komplexität zu vereinfachen...
Ich habe keine anderen Teile des Codes verändert und versuche die erhaltenen Zugangsdaten (Cookie) in den gleichen Attributen zu speichern.

Soweit ich den Code verstehe, wird bei autocreate_devices der Device-List Endpoint der Alexa API aufgerufen, mit dem jeweils gültigen Zugangscookie (darin unterscheiden sich die Login-Methoden nicht).
Wenn du tatsächlich zwei unterschiedliche Account Devices hast, solltest du auch zwei verschiedene Cookies haben und damit sollte autocreate_devices auch unterschiedliche Geräte abholen.
Ich kenne mich mit den Objekt-Interna von FHEM überhaupt nicht aus, allerdings halte ich es für unwahrscheinlich, dass zwei Geräte irgendwelche "Datenbereiche" teilen.

Alex

adn77

Zitat von: KyleK am 07 November 2022, 21:44:43

set Echo_Wohnzimmer textcommand Starte Sandmännchen App auf FireTV

Seit etwa einer Woche funktioniert das nicht mehr. Alexa antwortet lediglich mit "Das weiß ich leider nicht".

Versuch mal alles "Lower Case" - das haben User in anderen Foren auch berichtet:

set Echo_Wohnzimmer textcommand starte sandmännchen app auf firetv

Umlaute könnte man auch noch bereinigen. müssen.

Alex

MadMax-FHEM

Zitat
Wenn ich den Echo direkt anspreche, dann klappt es.

Was steht dann im voice-Reading?

Wenn du das dann als textcommand schickst, klappt es dann?

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)

KyleK

Wenn ich dem Echo (oder der FireTV Fernbedienung) sage "Starte Sandmännchen App", dann wird die App erwartungsgemäß geöffnet.
Im voice-Feld des jeweiligen Devices steht dann:

starte sandmännchen app


Wenn ich dann das Command:

set Echo_Wohnzimmer textcommand starte sandmännchen app

absetze, bekomme ich nur ein "Das weiß ich leider nicht"

Ich fürchte da ist was auf Amazons Seite kaputt?
FHEM on Raspberry Pi 3B+
CUL868
7x MAX! Thermostat, 8x MAX! Fensterkontakte
Conbee II + deConz, TradFri Lampen, Osram Smart+ Steckdosen

MadMax-FHEM

Du setzt das textcommand auch auf demselben Echo/echodevice ab, wo es auch im voice-Reading steht?

Wenn ja, dann hab ich auch keine Idee mehr...

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)

adn77

Zitat von: KyleK am 08 November 2022, 22:30:14
Wenn ich dann das Command:

set Echo_Wohnzimmer textcommand starte sandmännchen app

absetze, bekomme ich nur ein "Das weiß ich leider nicht"
Wie schon geschrieben, du musst alles Kleinschreiben.
Hast du versucht, das "ä" durch "ae" oder "a" zu ersetzen?

Normalerweise müsste man den textcommand String an einen Validierungsendpunkt schicken.
Leider kennen wir die Syntax dafür nur für die Musikdienste. Deshalb musst du die Validierung (neuerdings) selbst machen  ;)

Alex

KyleK

Also, ich nutze textcommand auf demselben Device mit dem ich gesprochen habe.
Macht aber keinen Unterschied.

Es macht auch keinen Unterschied ob ich Umlaute nutze, oder durch ae o.ä. ersetze.
Auch dann klappt es nicht.

Es geht übrigens auch nicht via Alexa App auf dem iPad.
Also, per Sprache schon, aber nicht wenn ich tippe.

Ich denke Amazon hat irgendwas im backend geändert ;/
FHEM on Raspberry Pi 3B+
CUL868
7x MAX! Thermostat, 8x MAX! Fensterkontakte
Conbee II + deConz, TradFri Lampen, Osram Smart+ Steckdosen