Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Cloud Dienste
  4. Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.4k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.5k

Script "AlexaLogOn": Alexa LogOn mit User/Pass + 2FA Code

Geplant Angeheftet Gesperrt Verschoben Cloud Dienste
128 Beiträge 37 Kommentatoren 31.4k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • ruhr70R Offline
    ruhr70R Offline
    ruhr70
    schrieb am zuletzt editiert von
    #4

    Wie cool ist das denn!

    Top-Arbeit. Das werde ich direkt mal ausprobieren :-)

    Adapter: Fritzbox, Unify Circuit
    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

    1 Antwort Letzte Antwort
    0
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      schrieb am zuletzt editiert von
      #5

      mhhh… habe ich befürchtet, dass das bei mir nicht funktioniert. Schade.

      Mein Amazon-Konto ist durch 2fa geschützt. Es wird bei mir daran scheitern.

      Ich ziehe meinen Hut. Ich bin schwer beeindruckt. Klasse Skript!

      Ich hatte mir daran die Zähne ausgebissen.

      Adapter: Fritzbox, Unify Circuit
      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

      1 Antwort Letzte Antwort
      0
      • S Online
        S Online
        SchuetzeSchulz
        schrieb am zuletzt editiert von
        #6

        Kann man dieses Script zusammen mit der Steuerung von ruhr70 nicht irgendwie zum Adapter machen?

        Das würde es doch für die User einfacher machen und man hätte nicht so viele Scripte, oder?

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          Stefan.Franke
          schrieb am zuletzt editiert von
          #7

          @ruhr70:

          mhhh… habe ich befürchtet, dass das bei mir nicht funktioniert. Schade.

          Mein Amazon-Konto ist durch 2fa geschützt. Es wird bei mir daran scheitern.

          Ich ziehe meinen Hut. Ich bin schwer beeindruckt. Klasse Skript!

          Ich hatte mir daran die Zähne ausgebissen. `

          Danke ;-)

          Mit 2fa geht es nicht. Kommt da noch eine Seite dazwischen, wo man einen Code eingeben muss? Oder dann in einer App den Zugang bestätigen?

          1 Antwort Letzte Antwort
          0
          • ruhr70R Offline
            ruhr70R Offline
            ruhr70
            schrieb am zuletzt editiert von
            #8

            @Stefan.Franke:

            Mit 2fa geht es nicht. Kommt da noch eine Seite dazwischen, wo man einen Code eingeben muss? Oder dann in einer App den Zugang bestätigen? `

            Ja. Man gibt erst den Usernamen ein, dann das Passwort.

            Bei 2fa kommt dann eine weitere Abfrage/Seite, in der man den 6-stelligen PIN eingeben muss. Dieser wird minütlich neu generiert wird.

            Z.b. mit dem Google Authenticator.

            Adapter: Fritzbox, Unify Circuit
            Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

            1 Antwort Letzte Antwort
            0
            • DutchmanD Offline
              DutchmanD Offline
              Dutchman
              Developer Most Active Administrators
              schrieb am zuletzt editiert von
              #9

              Währe dies hier nicht eine Möglichkeit den 2FA von Google teils zu automatisieren?

              https://www.google.nl/amp/s/www.howtoge … ation/amp/


              Send from mobile device

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                Stefan.Franke
                schrieb am zuletzt editiert von
                #10

                @SchuetzeSchulz:

                Kann man dieses Script zusammen mit der Steuerung von ruhr70 nicht irgendwie zum Adapter machen?

                Das würde es doch für die User einfacher machen und man hätte nicht so viele Scripte, oder? `

                Hab ich nichts dagegen, wenn das jemand machen würde. Ich kenne mich mit ioBroker nicht genug aus, um einen Adapter zu bauen. ;-)

                Wenn es nur um das eine Script von Ruhr70 geht, dann kannst Du die beiden Scripte ja zusammenführen. Das LogOnScript erkennt jetzt schon, ob das Cookie noch aktuell ist und wenn nicht, wird sich eingeloggt (dafür müsste man aber user/pass im script speichern). Insofern kann man die Logik sicher mit dem Script zur Steuerung kombinieren. Dann hättest Du nur ein Script.

                Aber was ist, wenn morgen eine neue tolle Idee in Form eines Scriptes daherkommt, die Du auch wieder haben willst, dann musst Du den LogOn-Teil wieder aus der Steuerung heraustrennen und das Cookie an mehrere Scripte verteilen. Deshalb habe ich mich dafür entschieden die beiden Funktionen getrennt zu halten und über Datenpunkte synchronisieren.

                Im Moment habe ich schon eine handvoll Scripte, die Licht, Fernseher, Harmony Hub Geräte und so weiter steuern. Alle diese Scripte können auf das Cookie zugreifen und so die API verwenden. Wenn es noch bessere Wege gibt, das so umzusetzen, immer her damit ;-)

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  Stefan.Franke
                  schrieb am zuletzt editiert von
                  #11

                  @Dutchman:

                  Währe dies hier nicht eine Möglichkeit den 2FA von Google teils zu automatisieren?

                  https://www.google.nl/amp/s/www.howtoge … ation/amp/ `

                  Genau darauf hatte ich mit meiner zweiten Frage abgeziehlt. Du bekommst einen Request ans Handy geschickt (ob jetzt in einer App oder als Notification ist egal). Dann sagst Du ja oder nein. Wenn ich es aber richtig verstehe, dann hat Amazon diese Variante nicht?

                  Für den automatisierten LogOn ist die erste Variante mit der Zwischenseite aber lösbar, weil Du die Seite im Script auslesen kannst und es nur darauf ankommt, die richtigen https-Request zu senden. Wenn der 6-stellige Code eine Minute aktuell ist, dann kann man den locker in das Script eintragen, starten und dann sollte es in den meisten Fällen direkt funktionieren.

                  Ich werde mal sehen, ob ich am Wochende dafür Zeit habe, denn eigentlich möchte ich den Amazon-Account lieber mit 2FA versehen haben… (Ich hatte jetzt für Alexa erstmal einen extra Account angelegt).

                  1 Antwort Letzte Antwort
                  0
                  • ruhr70R Offline
                    ruhr70R Offline
                    ruhr70
                    schrieb am zuletzt editiert von
                    #12

                    @Stefan.Franke:

                    Ich werde mal sehen, ob ich am Wochende dafür Zeit habe, denn eigentlich möchte ich den Amazon-Account lieber mit 2FA versehen haben… (Ich hatte jetzt für Alexa erstmal einen extra Account angelegt). `

                    Ich kann 2fa nur empfehlen… :mrgreen: :mrgreen:

                    Adapter: Fritzbox, Unify Circuit
                    Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                    1 Antwort Letzte Antwort
                    0
                    • apollon77A Offline
                      apollon77A Offline
                      apollon77
                      schrieb am zuletzt editiert von
                      #13

                      Am besen die "createState" Befehle nah unten ziehen - oder die Definition der Variable "forcecreation" nach oben. Wenn die creates kommen ist der Wert von forcecreation immer "undefined".

                      Und vllt noch ein schedule was den cookie einmal pro Tag checkt … falls ungültig und username/passwort leer dann cookie im state löschen. so kann man drauf reagieren und sich erin notify schicken :-)

                      Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                      • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                      • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                      1 Antwort Letzte Antwort
                      0
                      • S Offline
                        S Offline
                        Stefan.Franke
                        schrieb am zuletzt editiert von
                        #14

                        @apollon77:

                        Am besen die "createState" Befehle nah unten ziehen - oder die Definition der Variable "forcecreation" nach oben. Wenn die creates kommen ist der Wert von forcecreation immer "undefined".

                        Und vllt noch ein schedule was den cookie einmal pro Tag checkt … falls ungültig und username/passwort leer dann cookie im state löschen. so kann man drauf reagieren und sich erin notify schicken :-) `

                        Gute Vorschläge, kommen in die nächste Version, Danke.

                        1 Antwort Letzte Antwort
                        0
                        • lobomauL Offline
                          lobomauL Offline
                          lobomau
                          schrieb am zuletzt editiert von
                          #15

                          Sensationell! Habe fast diesen (für mich) wichtigen thread überlesen.

                          Nun kann ich wieder das tolle Script von ruhr70 für die Alexa Steuerung benutzen. War mir zu nervig mit dem wiederholten Raussuchen von csrf und cookie.

                          Zuerst dachte ich eben das Script AlexaLogOn würde falsche Werte liefern. Aber es funktioniert! :)

                          Vergleich:

                          cookie korrekt: session-id=259-6758….....................

                          cookie unkorrekt: x-amzn-dat-gui-client-v=1..............

                          Host: NUC8i3 mit Proxmox:

                          • ioBroker CT Debian 13, npm 10.9.3, nodejs 22.20.0
                          • Slave: Pi4
                          1 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            Stefan.Franke
                            schrieb am zuletzt editiert von
                            #16

                            @apollon77:

                            Am besen die "createState" Befehle nah unten ziehen - oder die Definition der Variable "forcecreation" nach oben. Wenn die creates kommen ist der Wert von forcecreation immer "undefined".

                            Und vllt noch ein schedule was den cookie einmal pro Tag checkt … falls ungültig und username/passwort leer dann cookie im state löschen. so kann man drauf reagieren und sich erin notify schicken :-) `

                            In Version 0.4 jetzt eingebaut. Neuen Code findest Du im ersten Post des Threads.

                            1 Antwort Letzte Antwort
                            0
                            • S Offline
                              S Offline
                              Stefan.Franke
                              schrieb am zuletzt editiert von
                              #17

                              @ruhr70:

                              mhhh… habe ich befürchtet, dass das bei mir nicht funktioniert. Schade.

                              Mein Amazon-Konto ist durch 2fa geschützt. Es wird bei mir daran scheitern.

                              Ich ziehe meinen Hut. Ich bin schwer beeindruckt. Klasse Skript!

                              Ich hatte mir daran die Zähne ausgebissen. `

                              Hab jetzt 2FA in meinem Konto auch aktiviert und entsprechend in das Script eingebaut.

                              Funktioniert bei mir wie gewünscht ;-)

                              Probier mal bitte.

                              1 Antwort Letzte Antwort
                              0
                              • ruhr70R Offline
                                ruhr70R Offline
                                ruhr70
                                schrieb am zuletzt editiert von
                                #18

                                @Stefan.Franke:

                                @ruhr70:

                                mhhh… habe ich befürchtet, dass das bei mir nicht funktioniert. Schade.

                                Mein Amazon-Konto ist durch 2fa geschützt. Es wird bei mir daran scheitern.

                                Ich ziehe meinen Hut. Ich bin schwer beeindruckt. Klasse Skript!

                                Ich hatte mir daran die Zähne ausgebissen. `

                                Hab jetzt 2FA in meinem Konto auch aktiviert und entsprechend in das Script eingebaut.

                                Funktioniert bei mir wie gewünscht ;-)

                                Probier mal bitte. `

                                Ich ziehe meinen Hut!

                                Funktioniert 1A, inkl. 2FA :-)

                                Ich habe mein Skript deswegen auch angepackt und die Abfrage des Cookies über einen Datenpunkt eingebaut, der von Deinem Skript gefüllt wird.

                                Folgende Anmerkungen/Wünsche hätte ich noch zu Deine Skript:

                                • Beim ersten Start des Skripts erhält man eine Fehlermeldung, da main() früher ausgeführt wird, als die Datenpunkte mit angelegt wurden. (passiert wg. der Asynchronität von Javascript unabhängig davon, wie die Reihenfolge der Kommados im Skript ist.
                                ab dem zweiten Start sind die Datenpunkte dann immer da.
                                
                                Einfachste Variante das zu umgehen ist main() verzögert auszuführen:
                                ````
                                setTimeout(main,                1000);  // startet main()
                                ````
                                
                                • Link im Skript zu Deinem ersten Post hier, in dem Du das gepflegte Skript ablegst.

                                  Ich muss mir das angewöhnen. Hätte fast mein Skript aus April nicht mehr gefunden :-)

                                  .

                                • Einen Datenpunkt (true/false), wenn der Cookie abgelaufen ist.

                                  Man kann diesen dann in VIS visualisieren oder z.B. eine Nachricht per Telegram schicken, damit der Anwender informiert ist.

                                  Andere Skripte können darauf reagieren und die Arbeit "pausieren".

                                …und noch einmal. Daumen hoch!

                                Adapter: Fritzbox, Unify Circuit
                                Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

                                1 Antwort Letzte Antwort
                                0
                                • P Offline
                                  P Offline
                                  pix
                                  schrieb am zuletzt editiert von
                                  #19

                                  Hallo,

                                  erstmal vielen Dank für deine Arbeit. Habe aufgrund des Skriptes in diesem Post auch mal die Sprachsteuerung ohne Raumnamen ausprobiert. Ich nutze (noch kein 2FA), das machte keine Probleme.

                                  Im anderen Skript ("Licht an" http://forum.iobroker.net/viewtopic.php?f=37&t=9115) musste ich die Variable csrf noch nachträglich definieren. Habe da immer den Fehler bekommen, sie sei nicht bekannt.

                                  ! // setzt die Options für den https Request function setOptions(path,method) { var options = { host: 'layla.amazon.de', path: path, method: method, timeout:10000, headers: { 'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36', 'Content-Type': 'text/plain', 'csrf' : getState("javascript.2.Alexa.logon.csrf"/*Alexa LogOn CSRF*/).val,//csrf, 'Cookie' : cookie } }; return options; } !

                                  Ausserdem wär es schön, wenn man ALLE Einstellungen im oberen Bereich der Skripte erledigen könnte.

                                  Der Pfad zu den anzulegenden Objekten könnte oben zentral festgelegt werden (ich nutze javascript.2.Alexa.xxxxx)

                                  Neben der Mapping Tabelle kann man auch den Namen des Smart Gerätes (idAlexaTrigger) gleich in createState() festlegen

                                  ! ````
                                  // Wenn gewünscht, Name und Beschreibung (desc) für den Datenpunkt anpassen.
                                  createState(idAlexaTrigger, 0, forecreation, {
                                  name: 'Trigger für Alexa',
                                  desc: 'Trigger mit Level für Alexa',
                                  type: 'number',
                                  unit: '',
                                  role: 'value',
                                  smartName: {
                                  de: 'Sonos Party',
                                  en: 'Sonos Party'
                                  }
                                  });

                                  
                                  Es läuft jetzt fehlerfrei, hat mich aber ganz schön Gehirnschmalz gekostet :-D
                                  
                                  Werde meine Mapping Tabelle nachher ausweiten und dann den WAF-Test machen :)
                                  
                                  Gruß
                                  
                                  Pix

                                  ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                                  1 Antwort Letzte Antwort
                                  0
                                  • G Offline
                                    G Offline
                                    gBonfire
                                    schrieb am zuletzt editiert von
                                    #20

                                    Hallo zusammen,

                                    erstmal einen ganz herzlichen Dank für das Script !!!

                                    Jetzt aber mal eine blöde Frage:

                                    Ich erhalte seit heute ca. 12:30 Uhr einen "Login-Error".

                                    Kann es sein, dass Amazon die Login-Seite irgendwie geändert hat, oder muss ich das Problem bei mir Lokal suchen ?

                                    Schon mal danke für die Antwort !!!

                                    Gruss

                                    gBonfire

                                    1 Antwort Letzte Antwort
                                    0
                                    • S Offline
                                      S Offline
                                      Stefan.Franke
                                      schrieb am zuletzt editiert von
                                      #21

                                      @pix:

                                      Im anderen Skript ("Licht an" http://forum.iobroker.net/viewtopic.php?f=37&t=9115) musste ich die Variable csrf noch nachträglich definieren. Habe da immer den Fehler bekommen, sie sei nicht bekannt. `

                                      Das war leider ein Fehler beim Übertragen hier ins Forum. Die CSRF wird für das LichtAn-Script nicht benötigt. Ist jetzt in dem anderen Thread korrigiert.

                                      @pix:

                                      Ausserdem wär es schön, wenn man ALLE Einstellungen im oberen Bereich der Skripte erledigen könnte.

                                      Der Pfad zu den anzulegenden Objekten könnte oben zentral festgelegt werden (ich nutze javascript.2.Alexa.xxxxx) `

                                      Ich weiß nicht genau, was Du meinst. Alle Einstellungen sind im oberen Bereich zu machen, unter Punkt 1-3 (siehe Kommentare). Dort legst Du auch zentral den Pfad zum Objekt an (siehe Punkt 3, welcher Optional ist). Erklär bitte genauer, was Dein Problem ist.

                                      @pix:

                                      Neben der Mapping Tabelle kann man auch den Namen des Smart Gerätes (idAlexaTrigger) gleich in createState() festlegen

                                      ! // Wenn gewünscht, Name und Beschreibung (desc) für den Datenpunkt anpassen. createState(idAlexaTrigger, 0, forecreation, { name: 'Trigger für Alexa', desc: 'Trigger mit Level für Alexa', type: 'number', unit: '', role: 'value', smartName: { de: 'Sonos Party', en: 'Sonos Party' } }); `

                                      Bin mir nicht sicher, was das bringt, an den Trigger ein SmartGerät zu hängen. Der Sinn des Scriptes ist es doch gerade situationsbedingt verschiedene Geräte anzusprechen. Das musst Du genauer erklären, was Du damit bezwecken kannst.

                                      1 Antwort Letzte Antwort
                                      0
                                      • S Offline
                                        S Offline
                                        Stefan.Franke
                                        schrieb am zuletzt editiert von
                                        #22

                                        @gBonfire:

                                        Hallo zusammen,

                                        erstmal einen ganz herzlichen Dank für das Script !!!

                                        Jetzt aber mal eine blöde Frage:

                                        Ich erhalte seit heute ca. 12:30 Uhr einen "Login-Error".

                                        Kann es sein, dass Amazon die Login-Seite irgendwie geändert hat, oder muss ich das Problem bei mir Lokal suchen ?

                                        Schon mal danke für die Antwort !!!

                                        Gruss

                                        gBonfire `

                                        Habe das Script gerade nochmal laufen lassen, bei mir funktioniert der Login.

                                        1 Antwort Letzte Antwort
                                        0
                                        • S Offline
                                          S Offline
                                          Stefan.Franke
                                          schrieb am zuletzt editiert von
                                          #23

                                          @ruhr70:

                                          Folgende Anmerkungen/Wünsche hätte ich noch zu Deine Skript:

                                          • Beim ersten Start des Skripts erhält man eine Fehlermeldung, da main() früher ausgeführt wird, als die Datenpunkte mit angelegt wurden. (passiert wg. der Asynchronität von Javascript unabhängig davon, wie die Reihenfolge der Kommados im Skript ist.
                                          ab dem zweiten Start sind die Datenpunkte dann immer da.
                                          
                                          Einfachste Variante das zu umgehen ist main() verzögert auszuführen:
                                          ````
                                          setTimeout(main,                1000);  // startet main()
                                          ````
                                          
                                          • Link im Skript zu Deinem ersten Post hier, in dem Du das gepflegte Skript ablegst.

                                            Ich muss mir das angewöhnen. Hätte fast mein Skript aus April nicht mehr gefunden :-)

                                            .

                                          • Einen Datenpunkt (true/false), wenn der Cookie abgelaufen ist.

                                            Man kann diesen dann in VIS visualisieren oder z.B. eine Nachricht per Telegram schicken, damit der Anwender informiert ist.

                                            Andere Skripte können darauf reagieren und die Arbeit "pausieren".

                                          …und noch einmal. Daumen hoch! `

                                          Danke für Deine Anmerkungen. In der neusten Version sind alle drei Punkte eingebaut.

                                          Außerdem habe ich noch eingebaut, dass die Instanznummern automatisch gelesen werden. Hatte bisher fest javascript.0.xxx. Sollte jetzt also für einige, die nicht 0 als Instanz haben, funktionieren.

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          294

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe