Ankündigung

Einklappen
Keine Ankündigung bisher.

LBS19000809 - Alexa Control

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

    bekomme keine Verbindung mit der Alexa zustande.

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

    Kommentar


      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.

      Kommentar


        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.

        Kommentar


          @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?

          Kommentar


            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.

            Kommentar


              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]

              Kommentar


                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?

                Kommentar


                  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.

                  Kommentar


                    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.

                    Kommentar


                      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
                      Gruß
                      Andi

                      Kommentar


                        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 ...

                        Kommentar


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

                          Kommentar


                            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?
                            Gruß
                            Andi

                            Kommentar


                              Bei mir funktioniert es schon seit Monaten stabil ohne irgendwelche Neustarts, sowohl vor der 2FA als auch danach.
                              Grundsätzlich macht der LBS es wie folgt:

                              Ist Cookie File vorhanden?
                              Falls ja => Prüfe Cookie auf Gültigkeit
                              Falls erfolgreich, dann führe Befehl aus
                              ansonsten führe neues Login aus und aktualisiere Cookie
                              Falls nein, führe neues Login aus und aktualisiere Cookie

                              Ich habe keine Ahnung warum das bei dir nicht stabil funktioniert.

                              Kommentar


                                Zitat von jonofe Beitrag anzeigen
                                Bei mir funktioniert es schon seit Monaten stabil ohne irgendwelche Neustarts, sowohl vor der 2FA als auch danach.
                                Oh, d.h. ich bin da vermutlich ein Einzelfall?!

                                Gibt es hier noch mehr die da Probleme haben und der LBS geht nach einer gewissen Zeit einfach nicht mehr?

                                Was könnte ich noch anschauen, posten (logs, cookie,...?) um der Sache weiter auf den Grund zu gehen?

                                Woran kann ich selbst sehen ob das Cookie noch gültig ist und bis wann?

                                Wird bei einem EDOMI Neustart immer ein Login und neues Cookie angelegt oder warum funktionierte es nach dem EDOMI Neustart jetzt zweimal zuverlässig?

                                Gruß
                                Andi

                                Kommentar

                                Lädt...
                                X