[37_echodevice] Amazon Echo Modul (nicht Alexa)

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

Vorheriges Thema - Nächstes Thema

oberlon

Zitat von: MadMax-FHEM am 13 August 2019, 00:37:16
Ich habe kein 2FA und nutze npm_login...

npm_login ist auf der Seite von Michael Winkler beschrieben...

...und hier im Thread...

EDIT: set npm_install und dann set npm_login

EDIT2: die "Dokumentation" zum Modul auf der von mir und im ersten Post verlinkten Seite zu Michael Winkler hast du auch tatsächlich gelesen!? Oder nur überflogen? Weil da eigentlich wirklich alles zum Modul beschrieben ist... Auch die Dinge nach denen du immer wieder frägst und nat. die selbe Antwort bekommst -> Doku...

Gruß, Joachim
Muss sagen, dass ich nicht alles gelesen habe. Die ganzen Sachen mit einer Playlist für mp3 habe ich überflogen.
Was meinst du direkt?

Thyraz

Im ersten Post steht wie das mit NPM Login funktionieren sollte:

Zitat
Bitte beachtet die entsprechenden Einträge in der Dokumentation:
https://mwinkler.jimdo.com/smarthome/eigene-module/echodevice/

Hier eine Kurzbeschreibung:

Zum Nutzen der neuen NPM Anmeldung müsst ihr das Linux Paket "NPM" auf eurem FHEM Server installieren. Wenn dies vorhanden ist geht es wie folgt weiter.

1. ein set NPM_install am Account Device durchführen
2. ein set NPM_login new am Account Device durchführen


Gruß
Michael

Wenn ich mich recht entsinne, spuckt NPM_install Fehlermeldungen aus wenn man noch was fehlt oder schief geht.
Auch die Beschreibung zu NPM_install auf der oben verlinkten Seite mit der Doku zum Modul beachten.
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

michael.winkler

Zitat von: oberlon am 12 August 2019, 23:36:05
Alles nicht. Allein, man kann kein Echo Device ohne Username und Password angeben. Es müssen zwingend zwei Parameter angegeben werden, ansonsten wird das Device nicht erzeugt. Wenn ich nicht meine Daten angebe (user = 0, pwd = 0), wird zwar ein Device erzeugt, ich kann dann auch den Cookie setzen, habe aber keine "set" Möglichkeiten. Kann auch kein "autocreate_devices" setzen.
Das Anlegen des Account Devices geht auch mit fakedaten. Danach kannst du über das Attribut ein Cookie einspielen.

Trotzdem würde ich dir empfehlen das Ganze über das npm Login zu machen. Hier werden eure logindaten auch nicht auf dem FHEM Server gespeichert!


Gesendet von iPhone mit Tapatalk

Thyraz

Da sich die Wenigsten unter "NPM" Login etwas vorstellen können (es deuted zumindest mal auf eine Node-basierte Lösung hin. ;))

Kannst du das mal kurz umreißen, ohne dass man in den Quellcode schauen muss?
Wäre sicher auch interessant sowas auf deiner Seite zum Modul zu lesen.

Viele fragen hier ja was man nun nutzen soll usw.

Wie funktioniert hier der Login, was ist der Unterschied der im Perl Modul nicht möglich war, und was wird wo gespeichert um den Login zu ermöglichen?

Hab mich das schon ein paarmal gefragt, dann aber doch verpennt hier nachzufragen.

Grüße,
Tobias
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

amenomade

Ich spreche unter der Kontrolle von Markus, aber das "NPM login" ist nichts anderes als ein mini node-Modul namens alexa-cookie (installiert in /opt/fhem/cache/alexa-cookie), der die Pflege von dem Authentifizierungscookie übernimmt.

Bei der erste Anmeldung leitet er an Amazon weiter, damit der User sich bei Amazon authentifiziert (die Authetifizeirung erfolgt direkt bei der Amazon Seite - gewöhnliche Authentifizierungsmethode des Benutzers, inkl captcha oder 2FA. Die Zugangsdaten kennt der Modul nicht).
Nach erfolgreiche Anmeldung holt sich das Modul:
- ein Login-Cookie, der für die Anmeldung später benutzt wird (genauso wie die "cookie" Methode wo dieses Cookie als Attribut gespeichert wird)
- ein refresh-token, der bei Ablauf des Login-Cookie benutzt wird, um ein neues Login-Cookie zu holen.

Die Amazon Zugangsdaten werden nicht gespeichert, da sie nicht nötig sind.
Nur die Cookies werden gespeichert (aber das macht ja dein Browser auch...)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

michael.winkler

Zitat von: amenomade am 13 August 2019, 13:49:16
Ich spreche unter der Kontrolle von Markus, aber das "NPM login" ist nichts anderes als ein mini node-Modul namens alexa-cookie (installiert in /opt/fhem/cache/alexa-cookie), der die Pflege von dem Authentifizierungscookie übernimmt.

Bei der erste Anmeldung leitet er an Amazon weiter, damit der User sich bei Amazon authentifiziert (die Authetifizeirung erfolgt direkt bei der Amazon Seite - gewöhnliche Authentifizierungsmethode des Benutzers, inkl captcha oder 2FA. Die Zugangsdaten kennt der Modul nicht).
Nach erfolgreiche Anmeldung holt sich das Modul:
- ein Login-Cookie, der für die Anmeldung später benutzt wird (genauso wie die "cookie" Methode wo dieses Cookie als Attribut gespeichert wird)
- ein refresh-token, der bei Ablauf des Login-Cookie benutzt wird, um ein neues Login-Cookie zu holen.

Die Amazon Zugangsdaten werden nicht gespeichert, da sie nicht nötig sind.
Nur die Cookies werden gespeichert (aber das macht ja dein Browser auch...)
Im Grund Wahrheit beschrieben. Im Endeffekt wird dein FHEM Server als gerät bei Amazon registriert. Bei dieser Registrierung wird ein refreshtoken generiert mit dem das Cookie aktualisiert werden kann.


Gesendet von iPhone mit Tapatalk

Supadone

Servus

Hängen die fehlenden set/get Befehle und das nicht erkannte Model jetzt eigtl an der neuen Version 2718456196 oder muss ich den Fehler irgendwo anders suchen? Die Version 2584226436 funktioniert wie gesagt immer noch problemlos...

Danke

Andy

patator

Die Lösung zu den fehlenden SET GET wäre die aktuelle Version der 37_echodevice.pm vom ersten Post einzuspielen und FHEM neu zu starten.

Heimweh

Hier wurde Mal über eine Lösung diskutiert, einem Echo eine Frage zu stellen (Auswertung über Routine) und mit dem Echodevice die Antwort an das befragte Gerät sprechen zu lassen, quasi als Alternative zum CustomSkill. Ich habe derzeit 7 Echos im Haus, hat jemand einen funktionierenden Code um die Antwort an den befragten Echo senden zu lassen?

Gesendet von meinem LYA-L29 mit Tapatalk

RaspberryPi, 8 x Intertechnosteckdosen, ETA PU15 über HTTPMOD, Youless Eneergiemonitor, 8 x Technoline Funk Temperatur / Feuchtesensoren über jeeLink, Fritzbox Anbindung, Homematic Rolladen Aktoren, MAX Heizkörperventile + Cube, SONOFF S20, S26, POW, 4ch, OWD, Alexa-fhem, enOcean / Eltako,

MadMax-FHEM

Zitat von: Heimweh am 15 August 2019, 12:05:31
Hier wurde Mal über eine Lösung diskutiert, einem Echo eine Frage zu stellen (Auswertung über Routine) und mit dem Echodevice die Antwort an das befragte Gerät sprechen zu lassen, quasi als Alternative zum CustomSkill. Ich habe derzeit 7 Echos im Haus, hat jemand einen funktionierenden Code um die Antwort an den befragten Echo senden zu lassen?

Gesendet von meinem LYA-L29 mit Tapatalk

Hier schon mal ein erstes Beispiel:

https://forum.fhem.de/index.php/topic,82631.msg965091.html#msg965091

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)

Thyraz

#2875
Da ich gerade nicht Zuhause bin aus dem Kopf niedergeschrieben.
Syntax- und Logikfehler dürfen behalten werden. ;)

Doif "MyDoif" mit folgender DEF:

([MyDymmy:"on"]) ## Dummy wurde über Alexa Routine eingeschaltet
  (get EchoMainDevice settings) ## Aktualisiert alle Echo Subdevices in FHEM inkl. deren voice Readings um zu sehen in welchem Raum gesprochen wurde
DOELSEIF ([":^voice$"] and [?$DEVICE:voice] eq "Text der Routine") ## voice Reading eines Echos aktualisiert und Text entspricht unserer Routine
  ({
    my $string = "bla bla bla";;
    fhem("set $DEVICE speak $string");;
  })
 
attr MyDoif do always


Grüße,
Tobias

edit: Pah auf Alexa Fragen antworte ich nicht mehr.
Joachim ist eh immer schneller.  ;D
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

Steffen

Hallo,


Könnte man auch die Funktion "Ankündigung" einfügen und irgendwie nutzbar machen?


Mfg Steffen

hanswerner1

Zitat von: Steffen am 15 August 2019, 14:14:07
Könnte man auch die Funktion "Ankündigung" einfügen und irgendwie nutzbar machen

Würde mich auch sehr interessieren, zur Zeit sende ich an jeden Echo ein speak Befehl, leider wird da aber regelmäßig ein Echo ausgelassen.

crusader85

Ich habe seit einer Woche das Problem, dass das Ding nichts mehr spricht. Steht weiterhin auf connected, habe auch das Cookie mal erneuert. Aber immer wenn er sprechen soll, passiert nichts. Auch kein Fehler im Protokoll. Wenn ich set Echo_blaaaaa volume einstelle, ändert er nach ca. 20 Sekunden die Lautstärke wieder zurück auf 27. Immer wieder auf 27. Irgendwas scheint da nicht zu stimmen. Ne Idee, wie ich das näher eingrenzen kann?

KölnSolar

Zitatändert er nach ca. 20 Sekunden die Lautstärke wieder zurück auf 27. Immer wieder auf 27
Das zeigt, dass der set-Befehl nicht angenommen wird.  :'((obwohl "connected" angezeigt wird)

Probier es
1. Cookie "manuell" aus Browserdaten extrahieren und im Attribut cookie ablegen oder
2. die neue Variante npm_login zu installieren.

Die 2. Variante mag ich nicht, da extra node u. npm installiert werden müssen. Damit begeben wir uns unnötig in "fremde Hände".
Grüße Markus
RPi3/2 buster/stretch-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-zigbee2mqtt