Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS19000809 - Alexa Control

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • tger977
    antwortet
    Hallo Andre jonofe

    leider hast Du wohl recht behalten mit Deiner Vermutung: Heute war schon wieder Schluß mit dem Baustein.

    Aber: Ich habe nun zufällig EDOMI heute aufgrund einer anderen Änderung neu gestartet und dabei sah ich auch daß damit der Baustein plötzlich wieder die Arbeit korrekt aufnahm?! Es scheint also zur "Reaktivierung" des LBS ein EDOMI Neustart auch zu funktionieren und man muss nicht das cookie manuell austauschen?

    Ich verstehe von der Ganzen Login Thematik und dem LBS zu wenig im Detail, aber eine (automatisierte) Lösung daß der LBS stabil durchläuft wäre extrem schön. Diese ständig nötigen manuellen Eingriffe nerven leider schon ziemlich und meine Frau/Kinder sind auch schon genervt daß manchmal die Alexa Ausgabe über die Stereoanlage funktioniert und immer wieder leider nicht und nur das gequäke aus dem Dot kommt

    Kann man den LBS irgendwie automatisch alle x-Stunden neu starten lassen? Wäre das ein Lösungsansatz oder warum geht es sonst nach EDOMI Neustart?

    Einen Kommentar schreiben:


  • tger977
    antwortet
    Na das habe ich jetzt sehr gehofft. Mal sehen und Daumen drücken dass wirklich mit 2FA kein Captcha mehr kommt!

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Ich bin mir gar nicht so sicher, ob dies wirklich eine Auswirkung auf das Cookie Thema bzw. auf das Captcha Login hat. Könnte natürlich sein, dass aufgrund des 2FA kein Captcha mehr kommt und daher die Stabilität steigt. mal sehn ...

    Einen Kommentar schreiben:


  • tger977
    antwortet
    Jetzt hatte ich endlich mal ein paar Minuten Zeit und es hat auf Anhieb funktioniert!

    Vielen Dank und ich hoffe die lästige Cookie manuell Austausch Aktionen haben nun ein Ende

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Die Version 1.8 des Alexa Control LBS unterstützt nun auch die Zwei-Faktor-Authentisierung (2FA) von Amazon.

    Vorgehensweise:

    1. EDOMI anhalten und den neuen Alexa Control LBS importieren

    2. Amazon 2FA konfigurieren (https://www.amazon.de/gp/help/custom...deId=202073820)
    Als Authenticator app kann z.B: der Google, Microsoft oder Lastpass Authenticator verwendet werden.

    3. aktuelles cookie File im /tmp Ordner des EDOMI Servers löschen. Sollte .alexa-<amazon-email>.cookie heißen

    4. oathtool installieren
    Für die, die bereits die Version 1.7 laufen haben und 2FA nutzen wollen, sollte folgendes ausreichend sein:
    Code:
    yum install -y epel-release oathtool openssl
    ansonsten gemäß LBS Hilfe.

    5. Amazon Secret Code kopieren und an E45 anlegen
    a) Diesen Secret Code kann man nach der erfolgreichen Aktivierung der 2FA (Schritt 2) auf Amazon unter "Mein Konto - Anmeldung und Sicherheit - Erweiterte Sicherheitseinstellungen - Zwei-Schritt Verifizierung" bekommen. Dazu dort auf "Neue App hinzufügen" klicken, dann mit einem 2FA Code bestätigen und dann auf "Sie können den QR-Code nicht scannen?" klicken. Im resultierenden PopUp steht dann der Code, den man ohne Leerzeichen dann an E45 kopiert. Den Dialog auf Amazon kann man dann abbrechen (Browser Tab schließen)
    b) Test:

    Der folgende Befehl sollte nun denselben 6 stelligen 2FA Code erzeugen, den auch euere Authenticator App für euren Amazon Account zur gleichen Zeit anzeigt
    Code:
    /usr/bin/oathtool --base32 --totp <SECRET-CODE>
    <SECRET-CODE> ersetzt ihr dabei durch den in Schritt 5a) von Amazon kopierten Secret Code.

    6. EDOMI neu starten

    7. Nach dem Start sollte in /tmp das neue Cookie erscheinen und es sollte eine Zeile mit CSRF enthalten sein. Dies ist ein Indiz, dass die Konfiguration erfolgreich war.


    Ist E45 leer, ist die 2FA inaktiv und der LBS sollte sich so wie bisher verhalten.

    Feedback wie immer gerne hier.

    Einen Kommentar schreiben:


  • woodgee
    antwortet
    Das wäre super !!!

    Ja das Skript von Loetzimmer.de holt bei mir nur das Cookie update ab.

    Der Schlüssel von Amazon ist statisch, dieser versteckt sich auch hinter dem QR Code, richtig.
    Es ändert sich nur immer der zeit basierte 6-Stellige Zahlencode.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Okay, ich schau mir das mal an. Vielleicht macht es ja Sinn das in den LBS zu integrieren.
    Das Skript von Loetzimmer.de sollte doch auch das Cookie updaten, oder?
    Und der LBS sollte dies eigentlich auch automatisch machen.
    Der Schlüssel von Amazon ist statisch, richtig? Das ist quasi der, den man sich bei der Einrichtung eines Authenticators als QR Code scannt, oder?

    Einen Kommentar schreiben:


  • woodgee
    antwortet
    Kleiner Nachtrag

    Es scheint nicht zu funktionieren, wenn der cookie erneuert wird, den LBS an E1 neu zu triggern.
    Ich muss in Edomi unter Projektaktivierung das komplette Projekt neu aktivieren.
    Dann funktioniert der LBS auch wieder.

    In den LBS Logs ist aber kein Fehler zu sehen.

    Log nach Retrigger
    Code:
     [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
     	 		[TR]
     			[TD]2019-06-26 11:00:02[/TD]
     			[TD]201201[/TD]
     			[TD]11502[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19000809 [v1.7]: Amazon Alexa Connection successful[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:29:32[/TD]
     			[TD]149132[/TD]
     			[TD]29613[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000809 [v1.7]: LBS started[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:29:32[/TD]
     			[TD]150974[/TD]
     			[TD]29613[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000809 [v1.7]: LBS ended[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:29:32[/TD]
     			[TD]730361[/TD]
     			[TD]11502[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19000809 [v1.7]: Executing command play => 1[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:29:32[/TD]
     			[TD]921324[/TD]
     			[TD]11502[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19000809 [v1.7]: Command execution finished[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:29:37[/TD]
     			[TD]965435[/TD]
     			[TD]11502[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19000809 [v1.7]: INFO: CSRF FOUND: -127.......97[/TD]
     		[/TR]
     	 [/TABLE]
    Log nach Projektaktivierung
    Code:
     [TABLE="border: 0, cellpadding: 0, cellspacing: 0"]
     	 		[TR]
     			[TD]2019-06-26 11:38:02[/TD]
     			[TD]714767[/TD]
     			[TD]2895[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19000809 [v1.7]: INFO: CSRF FOUND: -127.......97[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:38:08[/TD]
     			[TD]773552[/TD]
     			[TD]2829[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000809 [v1.7]: LBS started[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:38:08[/TD]
     			[TD]774277[/TD]
     			[TD]2829[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000809 [v1.7]: LBS ended[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:38:08[/TD]
     			[TD]886329[/TD]
     			[TD]2829[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000809 [v1.7]: LBS started[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:38:08[/TD]
     			[TD]886998[/TD]
     			[TD]2829[/TD]
     			[TD]debug[/TD]
     			[TD]LBS19000809 [v1.7]: LBS ended[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:38:09[/TD]
     			[TD]062922[/TD]
     			[TD]2895[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19000809 [v1.7]: Executing command play => 1[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:38:09[/TD]
     			[TD]353471[/TD]
     			[TD]2895[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19000809 [v1.7]: Command execution finished[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:38:09[/TD]
     			[TD]768748[/TD]
     			[TD]2895[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19000809 [v1.7]: Executing command pause => 1[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:38:10[/TD]
     			[TD]058753[/TD]
     			[TD]2895[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19000809 [v1.7]: Command execution finished[/TD]
     		[/TR]
     		[TR]
     			[TD]2019-06-26 11:38:15[/TD]
     			[TD]105565[/TD]
     			[TD]2895[/TD]
     			[TD]debug[/TD]
     			[TD]EXE19000809 [v1.7]: INFO: CSRF FOUND: -127.......97[/TD]
     		[/TR]
     	 [/TABLE]

    Einen Kommentar schreiben:


  • woodgee
    antwortet
    Ich versuche, wo immer es möglich ist, die 2FA einzuschalten.
    Besonders bei Amazon erscheint es mir recht sinnvoll, da es mit unter relativ teuer werden kann,
    wenn Bestellungen über meinen Account getätigt werden.

    Ich habe mir den cookie bis jetzt immer manuell erstellen müssen.

    1. Erzeugen des 2FA Tokens mit einem OTP Generator
    2. Script von https://blog.loetzimmer.de also das alexa_remote_control.sh öffnen
    3. die Zeile SET_PASSWORD='<PASSWORT+OTP-TOKEN>' befüllen
    4. in den 30 Sekunden, in denen der OTP-Token gültig ist das alexa_remote_control.sh ausführen.

    Im "LBS19000809 - Alexa Control" habe ich E38 auf "auto"
    So war meine bisherige Vorgehensweise.

    Nun funktioniert dies wie oben beschrieben automatisch.
    Ich bin mir nur noch nicht ganz sicher ob ich, wenn der cookie erneuert wird, den LBS auf E1 neu triggern muss?

    Wie es genau funktioniert:
    Das oathtool --base32 --totp "D....A257........................................ .........EB..........7M3A" erzeugt einen Timebased Token (6-stellige Nummer)

    Den Schlüssel erhält man auf der Amazon Seite unter
    "Mein Konto › Anmeldung und Sicherheit › Erweiterte Sicherheitseinstellungen › Zwei-Schritt-Verifizierung"

    Nun wenn alles klappt, sollte man nach dem Aufruf des oathtool´s mit den oben genannten Parameter die gültige 6-stellige Nummer zurückbekommen.

    Mit dieser Nummer hinter dem Passwort, hatte ich beim cookie erzeugen nie mehr die Captcha Abfrage beim Login.
    Vielleicht wird diese mit diesem vorgehen auch unterdrückt, dies kann ich aber noch nicht Final sagen.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    @woodgee: Interessant und danke für's Teilen!!!

    Kannst etwas mehr zur Motivation und zur Funktionsweise sagen?

    Ist die Motivation dahinter, dass wenn man 2FA nutzen will damit jetzt auch den LBS automatisiert nutzen kann oder ist die Motivation eher, dass das Login des LBS mit Nutzung von 2FA nun stabiler funktioniert?

    Normalerweise nutzt man ja einen OTP Generator wie den Google, MS oder Lastpass Authenticator. Wie genau funktioniert dies nun mit oathtool zusammen?

    Einen Kommentar schreiben:


  • woodgee
    antwortet
    Guten Abend,
    ich habe versucht die 2 Faktor Authentifizierung zu automatisieren.
    Herausgekommen ist folgendes vorgehen:

    Code:
    yum install epel-release -y
    yum install jq -y
    yum install oathtool -y
    yum install openssl -y
    Code:
    ./alexa_remote_control.sh -l
    otp=$(/usr/bin/oathtool --base32 --totp "<TOTP-TOKEN>")
    PASSWORD="<PASSWORT>$otp" ./alexa_remote_control.sh -a
    unset otp
    Im alexa_remote_control.sh Script muss die Zeile "#SET_PASSWORD=" mit "#" auskommentiert werden.

    Der oben beschriebene Code läuft bei mir als crontab einmal in der Nacht.
    Bisher gab es keine "Verbindungsschwierigkeiten" mehr.

    Zusätzlich muss noch ein Sym-link erstellt werden.
    Code:
    cd /tmp
    ln -s .alexa.cookie .alexa-<ID>.cookie
    Wobei die <ID> den Amazon Benutzername, also meist die Mailadresse darstellt.

    Vielen Dank an jonofe sowie dem Ersteller von https://blog.loetzimmer.de und allen die bei der Alexa-EDOMI Integration beigetragen haben.
    Zuletzt geändert von woodgee; 26.06.2019, 00:09.

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Liegt vermutlich daran, dass es ein Problem mit dem Cookie gibt und daher ein Captcha beim Login auftaucht. Passiert leider immer wieder und es ist auch nicht klar, woran es liegt.

    Am besten mal mit dem Original-Skript von https://blog.loetzimmer.de/2017/10/a...hell-echo.html testen. Wichtig ist, dies auf dem EDOMI Server zum machen. Alternativ kann man ntürlich das Cookie manuell runterladen und dann den LBS im manuellen Modus verwenden.

    Einen Kommentar schreiben:


  • michaeldamm2
    antwortet
    bekomme keine Verbindung mit der Alexa zustande.

    Hier die Log Datei.
    Anmerkung 2019-05-26 133622.png

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Alexa Control LBS - Update v1.7

    Diese Version unterstützt nun Speech Synthesis Markup Language (SSML) bei der Sprachausgabe via Eingang E44.

    Beispiel:

    E44: Ach du liebe Zeit
    E44: <speak><say-as interpret-as="interjection">ach du liebe zeit.</say-as>.</speak>

    Es sind auch unterschiedliche Stimmen möglich oder andere spezielle Betonungen (Flüstern, laut/leise/schnell/langsam/betont/unbetont sprechen, buchstabieren, Zahlen, Datumswerte ausprechen, etc.)

    Siehe auch:

    https://developer.amazon.com/de/docs/custom-skills/speech-synthesis-markup-language-ssml-reference.html
    https://developer.amazon.com/de/docs...ns-german.html

    Viele Spaß damit ...

    Einen Kommentar schreiben:


  • jonofe
    antwortet
    Alexa Control LBS - Update v1.6

    Diese Version ist notwendig, wenn der Alexa Smarthome LBS zukünftig das auslösende Echo Device signalisieren soll. Damit sind dann grundsätzlich alle Smarthome Kommandos so konfigurierbar, dass der gleiche Befehl bei unterschiedlichen Echo-Devices unterschiedliche Reaktionen auslöst,

    Bsp:

    Gibt man den Sprachbefehl "Alexa, schalte das Licht ein" an den Echo im Wohnzimmer, dann wird das Wohnzimmerlicht eingeschaltet. Gibt man denselben Befehl an den Echo in der Küche, wird das Küchenlicht eingeschaltet.

    Wie gesagt, das Update des Alexa Control LBS (19000809) auf v1.6 ist nur die notwendige Bedingung, damit dies bald funktioniert. Die hinreichende Bedingung liefert das nächste Update des Smarthome Skill LBS (19001200), welches bald folgt.

    Die Funktion des Updates kann man prüfen, in dem man nach dem Start des LBS auf dem EDOMI Server prüft, ob es ein neues File /tmp/.echos.inc.php gibt und ob der Inhalt die verschiedenen Echo Device IDs, Echo Namen und einige Config-Daten des LBS enthält (cookiefile, amazon und alexa Adressen, sowie den UserAgent String). Wenn dies der Fall ist, dann ist alles okay.

    Außerdem wurden die Curl-Aufrufe angepasst und die SSL certificate checks aktiviert und das Timing der Abfragen optimiert. Bislang konnte es sein, dass der Start einen TuneIn Senders nicht funktionierte, weil die Statusabfrage zu schnell auf den TuneIn Call folgt. Dies war insbesondere beim Echo 2. Generation der Fall.
    Ggf. müssen die SSL Stammzertifikate geupdated werden (siehe Hilfstext des LBS).

    Einen Kommentar schreiben:

Lädt...
X