[37_echodevice] Amazon Echo Modul (nicht Alexa)

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

Vorheriges Thema - Nächstes Thema

MadMax-FHEM

#5625
ZitatMuss ich noch irgendwo irgendwas einstellen, damit ich im FHEM sehe, ob das Gerät wirklich an oder aus ist?
Hintergrund ist. Ich wollte mir ein Notify bauen, der weitere Aktionen ausführt, wenn ich über die Steckdosenleiste die FireTV ein-/aus-schalte. Es sollte dabei das FireTV-Modul im FHEM ersetzen, weil das hohe CPU-Last auf meinem FHEM-Raspi erzeugt, wenn die Geräte aus sind.

Sind sie denn in der App/WebApp (alexa.amazon.de) offline usw.?
Es werden ja "nur" Infos abgerufen, die Amazon bereit stellt...

Äh, wenn du schon die Steckdose ausschaltest, warum nicht gleich weitere Aktionen?
Statt: Steckdose ausschalten, (warten bis irgendwann der FireTV offline anzeigt), notify -> weitere Aktionen...

EDIT: verm. eine manuell zu bedienende Steckdosenleiste? Dann ein Presence-Device für den FireTV (lan-ping) und dann ein notify usw.

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)

juergen012

Hallo,
kannst du nicht dem Gerät eine feste Ip geben? Dann kannst du mit dem Presence Modul sehen, ob das Gerät ein/aus ist.
Gruß
Jürgen K.

AHHHH MadMax-FHEM war schneller..
Fhem unter Proxmox

Ryker

#5627
Zitat von: MadMax-FHEM am 03 April 2023, 18:37:09Sind sie denn in der App/WebApp (alexa.amazon.de) offline usw.?
Es werden ja "nur" Infos abgerufen, die Amazon bereit stellt...

In der Alexa-App werden die Geräte ordungsgemäß als "offline" gemeldet, sobald die ausgeschaltet sind. Dort klappt das.
Nur das FHEM-echodevice wertet das entweder gar nicht oder falsch aus und zeigt immer an, dass es online ist.

Funktioniert das denn bei irgendjemand, dass das Reading "online" auch wirklich mal auf false geht, wenn das Gerät abgeschaltet ist ?

---Edit---
Ich glaube da hat Amazon bei sich selbst Mist gebaut.
Für die Echo-Geräte werden in der Alexa-App zuverlässig der Status angezeigt. Genauso wie unter amazon.de -> Meine Geräte -> Geräte
Für die FireTVs wird der Status in der Alexa-App nur nach Zufall angezeigt. Also vollkommen sporadisch. Allerdings wird der Status der FireTV unter amazon.de -> Meine Geräte -> Geräte zuverlässig angezeigt.
Da frage ich mich wieviel verschiedene Systeme für ihre Geräte betreiben die denn. Wieso syncen die dann den Status der FireTVs nicht auch zuverlässig nach alexa?

Aber gut, dann weiß ich jetzt was das Problem ist. Dann lese ich den online-status der FireTVs direkt aus dem Fritzbox-Modul und binde das Ergebnis über UserReading ins Echodevice ein.

Gruß
Ryker

binford6000

Zitat von: Ryker am 04 April 2023, 10:10:43
Zitat von: MadMax-FHEM am 03 April 2023, 18:37:09Sind sie denn in der App/WebApp (alexa.amazon.de) offline usw.?
Es werden ja "nur" Infos abgerufen, die Amazon bereit stellt...

In der Alexa-App werden die Geräte ordungsgemäß als "offline" gemeldet, sobald die ausgeschaltet sind. Dort klappt das.
Nur das FHEM-echodevice wertet das entweder gar nicht oder falsch aus und zeigt immer an, dass es online ist.

Funktioniert das denn bei irgendjemand, dass das Reading "online" auch wirklich mal auf false geht, wenn das Gerät abgeschaltet ist ?

---Edit---
Ich glaube da hat Amazon bei sich selbst Mist gebaut.
Für die Echo-Geräte werden in der Alexa-App zuverlässig der Status angezeigt. Genauso wie unter amazon.de -> Meine Geräte -> Geräte
Für die FireTVs wird der Status in der Alexa-App nur nach Zufall angezeigt. Also vollkommen sporadisch. Allerdings wird der Status der FireTV unter amazon.de -> Meine Geräte -> Geräte zuverlässig angezeigt.
Da frage ich mich wieviel verschiedene Systeme für ihre Geräte betreiben die denn. Wieso syncen die dann den Status der FireTVs nicht auch zuverlässig nach alexa?

Aber gut, dann weiß ich jetzt was das Problem ist. Dann lese ich den online-status der FireTVs direkt aus dem Fritzbox-Modul und binde das Ergebnis über UserReading ins Echodevice ein.

Gruß
Ryker

Du könntest auch ein PRESENCE device mit lan-ping für jedes Device erstellen und beim Schalten der smarten Steckdose aktivieren/deaktivieren. 

Ryker

Zuerst wollte ich es auch in meine Presence-Erkennung der MobilePhones mit aufnehmen, aber die PRESENCE-Schicht hab ich jetzt noch weggelassen.
Es sieht nun so aus und funktioniert sehr schnell und gut.
Zuerst wird der online-status vom Fritzbox-Device im FHEM abfischt. Der ReadingsProxy ist nötig, damit ich auch einen "inactive" bekomme, wenns Gerät abgeschaltet ist. Das geht übers Fritzbox-device sonst nicht.
defmod State_FireTV1 readingsProxy FritzBox:mac_xx_xx_xx_xx_xx_xx

Im echodevice der FireTV1 hab ich nun über ein UserReading namens "user_presence" den Status reingeholt.
Der liefert dann 1 oder 0 und über devStateIcon wirds farblich dargestellt.
attr ECHO_G071R201231xxxxx stateFormat user_presence
attr ECHO_G071R201231xxxxx userReadings user_presence {ReadingsVal("State_FireTV1","state","") ne "inactive" ? 1:0}
attr ECHO_G071R201231xxxxx devStateIcon 1:rc_GREEN@green\
0:rc_RED

Ryker

MadMax-FHEM

Dir ist aber bewusst, dass das userReadings, das am Echo-Device "hängt" nur aktualisiert, wenn im Echo-Device getriggert wird und nicht, wenn an der Fritzbox/Readingsproxy was passiert...

(gut da das userReadings keinen Trigger hat [was nicht empfehlenswert ist] wird es ausgeführt, sobald [alle Minute] was im EchoDevice passiert)

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)

derthom

Hallo Joachim,

jetzt bin ich soweit das ich ein NPMlogin auswählen kann, aber ich bekomme diese IP als link angezeigt
http://169.254.250.215:3002/   der Pi4 hat aber die 192.168.201.48

der link läuft ins leere , bekommen also kein AmazonLogin Fenster.

Hast du da noch eine Idee, ersetzen mit der PI4 IP klappt auch nicht

VG
Thomas


Zitat von: MadMax-FHEM am 03 April 2023, 08:55:01Du hast zunächst doch per fhem versucht zu installieren...

Egal.

Gibt es:
/opt/fhem/cache/alexa-cookie

Mal löschen...

Echo-Devices mal löschen.

Dann nach Anleitung und nur einen Weg (also über fhem mit dem sudo Einteag in sudoers / oder per ssh) von vorne.

Device mit Fake-Login!
Zitat von: MadMax-FHEM am 03 April 2023, 08:55:01Du hast zunächst doch per fhem versucht zu installieren...

Egal.

Gibt es:
/opt/fhem/cache/alexa-cookie

Mal löschen...

Echo-Devices mal löschen.

Dann nach Anleitung und nur einen Weg (also über fhem mit dem sudo Einteag in sudoers / oder per ssh) von vorne.

Device mit Fake-Login!

Wenn es dann immer noch nicht geht: get Status vom Account Device...

Oder es ist im Thread irgendwo auch eine andere Login-Methode beschrieben...

Achja: welche HW, welches OS (inkl. Version), Versionen von nodejs/npm

Gruß, Joachim

MadMax-FHEM

Attribute IP (npm_proxy_ip/npm_proxy_listen_ip) und Port sollten hier helfen...
Hast du Docker?
Verschiedene Netze?

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)

Ryker

Zitat...gut da das userReadings keinen Trigger hat [was nicht empfehlenswert ist] wird es ausgeführt, sobald [alle Minute] was im EchoDevice passiert...
Danke für den Hinweis, aber genau das ist so gewollt. Warum soll denn die Fritzbox ständig das echodevice triggern?  Das passiert nämlich immer dann wenn an der fritzbox sich die signalstärken der WLAN-Geräte ändern, also permanent und andauernd. Damit wollte ich nicht permanent und andauernd andere Geräte triggern. Das erzegt unötig Last.
Es ist schon gut, dass der status vom echodevice nur aller paar minuten oder jede minute eingelesen wird. Es ist ja nur um den optischen Fehler im echodevice auszubügeln, wo amazon beim status geschlampt hat, um mal übers GUI zu sehen, ob die firetvs an oder aus sind.

MadMax-FHEM

Wenn man einen vernünftigen Trigger beim userReadings macht, wird nur aktualisiert, wenn notwenig/gewünscht...

In deinem Fall wird mind. alle Minute (evtl. sogar öfter) das Fritzbox-Device "belästigt"...

Ein notify auf nur online/offline des/der Echos bei der FB und dann setreading beim Echo wäre die "schonendste" Lösung ;)

Ist aber off-topic/ein anderes Thema.
Wollte es nur erwähnt haben, nicht, dass du dich dann "wunderst"...

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)

m.zielinski

Ich hänge mich hier auch mal ran - nachdem die Anbindung lange Zeit problemlos funktioniert hat, bekam ich zuletzrt nur noch "connected but loginerror".

Deswegen habe ich diverse Lösungsversuche unternommen. Zuletzt den von die beachrieben ablauf - hier mit meinen Anmerkungen bzw den Ausgaben:



-alle echodevices gelöscht (auch den account)
-raspberry-reboot
-pihole werbeblocker deaktiviert
-


define amazon.account echodevice xxx@xxx.xx xxx
set npm_install
=> Installation wird angestartet added 89 packages in 6s 10 packages are looking for funding run `npm fund` for details, Installation erfolgreich durchgefuehrt
npm_proxy_ip setzen (sonst kommen da merkwürfige IP's)
set npm_login new

Bitte den Link anklicken und die Amazonanmeldung durchfuehren.http://
-> Klick bringt: Die Website ist nicht erreichbar 192.xxx.x.xx hat die Verbindung abgelehnt.



get status
Modul Infos:

Beschreibung      Bereich      Wert
STATE      Reading   unbekannt
Version      Reading   0.2.19
NPM Cookie Version      Reading   4.1.3
COOKIE_STATE      Reading   unbekannt
COOKIE_TYPE      Reading   NEW
COOKIE_MODE      Reading   NPM
amazon_refreshtoken      Reading   wait for refreshtoken
npm_proxy_ip      Attribut   192.168.x.xx
icon      Attribut   echo
room      Attribut   Amazon
        
Amazon Cookie:

Beschreibung      Bereich      Wert
.COOKIE      Reading   unbekannt....
COOKIE_STATE      Reading   unbekannt
COOKIE_TYPE      Reading   NEW
amazon_refreshtoken      Reading   wait for refreshtoken
.COOKIE      Helper   ....
.COMMSID      Helper   ....
.CSRF      Helper   ....
.DIRECTID      Helper   ....
RUNLOGIN      Helper   0
RUNNING_REQUEST      Helper   
LOGINERROR      Helper   0
FHEM_HOME      Attribut   /opt/fhem


pi@raspberrypi:~ $ node --version
v18.15.0
pi@raspberrypi:~ $ npm --version
9.5.0

Ich nutze bei Amazon natürlich 2FA (falls das weiterhilft)


derthom

Hi Joachim

FHEM läuft auf einem P4 (nicht im Docker) der PI ist auch OVPN Server 10.8.0.1/24

Top mit der proxy_ip, listen_ip und port klappt es :-)

dann auch ohne Probleme mit dem MFA

VLD&G
Thomas


Zitat von: MadMax-FHEM am 05 April 2023, 20:24:14Attribute IP (npm_proxy_ip/npm_proxy_listen_ip) und Port sollten hier helfen...
Hast du Docker?
Verschiedene Netze?

Gruß, Joachim

cwagner

Bin erst jetzt auf dieses mächtige Modul gestoßen und bin schier begeistert. Meine 5 Echos verschiedener Bauart sind nun alle eingebunden und vielen Dank an den Modulbetreuer/Autor für die astreine Dokumentation. Lediglich eine Sache ist nicht rund: Mein Echo Dot 5. Generation wird als Echo Show 5. Generation ausgewiesen. Kann das der Grund sein, dass der eingebaute Temperatur-Sensor nicht ausgelesen wird? Per Sprachenbefehl gefragt, antwortet das Gerät artig mit der durchschnittlichen Temperatur im Raum, die ich gerne in FHEM verwenden würde...

Christian
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Miami

Ich kann bestätigen, dass (auch bei mir) ein Echo Dot (5. Generation, 2022) (Bezeichnung bei Amazon DE) als Echo Show 5 Gen5 (Readind model) angezeigt wird, während ein Echo Dot (5. Gen, 2022) mit Uhr als Echo Dot Gen5 with Clock angezeigt wird.

stefanru

#5639
Hi,

ich habe mich heute nochmal mit dem Anmelden von 2 Amazon Accounts mit unterschiedlichen E-Mail und Passwort beschäftigt.

Ich habe einen 2ten Account angelegt "define ElternAmazon echodevice xxx@xxx.xx xxx".

Ich habe diesmal nach einem Neustart von FHEM auch den Login im 2ten account hinbekommen (set ElternAmazon NPM_login new) und konnte die Devices per Autocreate anlegen.

Danach gingen aber alle Devices und die Accounts vom ersten und zweiten Account auf "connected but loginerror".
Mache ich einen NPM_login refresh am ersten Account Device kommen alle wieder online.
Ich kann die Acoount Devices auch abfragen nach ihren devices und alles geht.
Aber nicht lange dann gehen alle wieder auf "connected but loginerror" bzw. "disconnected"

Mache ich einen NPM_login refresh am zweiten Account Device kommen alle bis auf das Account Device des ersten Accounts online.
Mache ich dann noch ein NPM_login refresh am ersten Device ist alles wieder online und geht.
Aber auch hier kurz darauf wieder "connected but loginerror" bzw. "disconnected" bei allen Devicen.

Es kommt mir so vor als konkurrieren hier die 2 Accounts. Entweder um das Cookie File, wo wird das eigentlich gespeichert und wie kann ich ereichen dass jeder account sein eigenes hat, oder grundsätzlich um den login.

@Michael: Kann ich dir noch irgendwelche infos liefern die dir helfen das Problem zu verstehen?

Ich hätte das unheimlich gern so mit 2 getrennten Accounts am laufen.
Es scheint ja auch fast zu funktionieren. Die Echos wurden per Auto_Create erkannt und es geht auch kurze zeit bis sich der login dann gegenseitig wieder zerstört.

Danke und viele Grüße,
Stefan

P.S.: Jetzt hat es beim 3ten mal geklappt. Es war wohl nötig den ersten Account nochmal neu anzumelden mit NPM_LOGIN new. Dann den zweiten dazu zu nehmen.

Gruß,
Stefan