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

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Authentication (redirect uri) ??

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

Authentication (redirect uri) ??

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
9 Beiträge 3 Kommentatoren 611 Aufrufe 3 Watching
  • Ä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.
  • NewpicselN Offline
    NewpicselN Offline
    Newpicsel
    schrieb am zuletzt editiert von Newpicsel
    #1

    Moin Freunde,

    es geht um folgende authorization von Netatmo:
    https://dev.netatmo.com/apidocumentation/oauth

    ich bin etwas überfragt…
    Wie bekomme ich es hin, dass sich aus iobroker heraus beim jeweiligen Benutzer ein Link im Browser öffnet?

    Ich würde es über eine Blockly Funktion umsetzen wollen, welche über ein trigger ausgelöst wird.
    Ich weiß leider nicht so recht wie die Funktion genau aussehen muss:

    Window.open(url, "_blank");
    

    (url ist eine variable die von außen gefüttert wird.)
    Funktioniert natürlich so einfach nicht 🤣
    Bekomme direkt ein "ReferenceError: window is not defined".

    Außerdem müsste ich von der zurückgegeben url nach dem bestätigen einen Code extrahieren (also diese url wieder zurück in mein Blockly bekommen).

    Bin über jede Hilfe dankbar! 🙏

    Great SUNG OliverIOO 2 Antworten Letzte Antwort
    0
    • NewpicselN Newpicsel

      Moin Freunde,

      es geht um folgende authorization von Netatmo:
      https://dev.netatmo.com/apidocumentation/oauth

      ich bin etwas überfragt…
      Wie bekomme ich es hin, dass sich aus iobroker heraus beim jeweiligen Benutzer ein Link im Browser öffnet?

      Ich würde es über eine Blockly Funktion umsetzen wollen, welche über ein trigger ausgelöst wird.
      Ich weiß leider nicht so recht wie die Funktion genau aussehen muss:

      Window.open(url, "_blank");
      

      (url ist eine variable die von außen gefüttert wird.)
      Funktioniert natürlich so einfach nicht 🤣
      Bekomme direkt ein "ReferenceError: window is not defined".

      Außerdem müsste ich von der zurückgegeben url nach dem bestätigen einen Code extrahieren (also diese url wieder zurück in mein Blockly bekommen).

      Bin über jede Hilfe dankbar! 🙏

      Great SUNG Offline
      Great SUNG Offline
      Great SUN
      schrieb am zuletzt editiert von
      #2

      @newpicsel Willst Du das für mehrere User machen, oder einen neuen Adapter schreiben?
      Sonst müsstest ja nur einmal den OAuth-Token holen.

      1 Antwort Letzte Antwort
      0
      • NewpicselN Offline
        NewpicselN Offline
        Newpicsel
        schrieb am zuletzt editiert von
        #3

        Moin @great-sun

        ja genau, es soll für mehrere Benutzer sein.
        Einen Adapter will ich in Zukunft auch gerne draus machen, dafür muss ich mich allerdings noch etwas schlau lesen.

        Ich hab seit ein paar Jahren bereits ein Blockly laufen welches ähnlich wie ein Adapter arbeitet, dieses kann jeder verwenden.
        Allerdings wurde die Methode der Tokenabfrage geändert, vorher wurde dieser via Benutzername und Passwort direkt angefordert, nun muss sich via Website angemeldet werden, wodurch ein Code generiert wird mit dem dann ein Token angefordert werden kann bzw. muss.

        Um dies für die Benutzer einfach und bequem zu gestalten, möchte ich diese Möglichkeit auch verwenden, außerdem lerne ich bereits viel aus dieser Arbeit.

        Ich muss also einen Link in einem separaten Browserfenster öffnen und nachdem man sich dort erfolgreich angemeldet hat, die url auswerten um den Code zu extrahieren… 🤯

        Great SUNG 1 Antwort Letzte Antwort
        0
        • NewpicselN Newpicsel

          Moin @great-sun

          ja genau, es soll für mehrere Benutzer sein.
          Einen Adapter will ich in Zukunft auch gerne draus machen, dafür muss ich mich allerdings noch etwas schlau lesen.

          Ich hab seit ein paar Jahren bereits ein Blockly laufen welches ähnlich wie ein Adapter arbeitet, dieses kann jeder verwenden.
          Allerdings wurde die Methode der Tokenabfrage geändert, vorher wurde dieser via Benutzername und Passwort direkt angefordert, nun muss sich via Website angemeldet werden, wodurch ein Code generiert wird mit dem dann ein Token angefordert werden kann bzw. muss.

          Um dies für die Benutzer einfach und bequem zu gestalten, möchte ich diese Möglichkeit auch verwenden, außerdem lerne ich bereits viel aus dieser Arbeit.

          Ich muss also einen Link in einem separaten Browserfenster öffnen und nachdem man sich dort erfolgreich angemeldet hat, die url auswerten um den Code zu extrahieren… 🤯

          Great SUNG Offline
          Great SUNG Offline
          Great SUN
          schrieb am zuletzt editiert von
          #4

          @Newpicsel wie hast Du es denn bisher gemacht, macht ja wenig Sinn jetzt alles neu zu machen. Vorschlag: Wir machen mal eine Session, in der Du zeigst, was Du da gemacht hast und dann überlegen wir gemeinsam, wie man das jetzt anpasst.
          Das Ergebnis stellen wir dann hier wieder online (sofern das so passt für Dich).

          NewpicselN 1 Antwort Letzte Antwort
          0
          • Great SUNG Great SUN

            @Newpicsel wie hast Du es denn bisher gemacht, macht ja wenig Sinn jetzt alles neu zu machen. Vorschlag: Wir machen mal eine Session, in der Du zeigst, was Du da gemacht hast und dann überlegen wir gemeinsam, wie man das jetzt anpasst.
            Das Ergebnis stellen wir dann hier wieder online (sofern das so passt für Dich).

            NewpicselN Offline
            NewpicselN Offline
            Newpicsel
            schrieb am zuletzt editiert von
            #5

            @great-sun

            Unter dem Link oben ist auch noch die alte Methode aufgelistet (grand_type=password), vorher habe ich per "curl" Benutzerdaten wie Passwort übermittelt und die Token zurück bekommen, dies geht aber mittlerweile nicht mehr!

            Nun muss wie gesagt ein Link aufgerufen werden, der im Browser geöffnet werden muss, wenn man sich nun dort angemeldet hat, wird man auf eine "redirect_uri" (eigene url) weitergeleitet, an der dann der Code angehängt ist, den man wiederum benötigt um ein Token (per POST Methode) anzufordern.

            Das Problem ist nun die URL (um diesen Code anzufordern) im Browser aus iobroker heraus zu öffnen und am Ende eben die übermittelte URL mit dem Code wieder in iobroker zu bekommen.

            Etwas verwirrend oder 😅 aber in dem Link im ersten Post ist es gut von netatmo erklärt.

            1 Antwort Letzte Antwort
            0
            • NewpicselN Newpicsel

              Moin Freunde,

              es geht um folgende authorization von Netatmo:
              https://dev.netatmo.com/apidocumentation/oauth

              ich bin etwas überfragt…
              Wie bekomme ich es hin, dass sich aus iobroker heraus beim jeweiligen Benutzer ein Link im Browser öffnet?

              Ich würde es über eine Blockly Funktion umsetzen wollen, welche über ein trigger ausgelöst wird.
              Ich weiß leider nicht so recht wie die Funktion genau aussehen muss:

              Window.open(url, "_blank");
              

              (url ist eine variable die von außen gefüttert wird.)
              Funktioniert natürlich so einfach nicht 🤣
              Bekomme direkt ein "ReferenceError: window is not defined".

              Außerdem müsste ich von der zurückgegeben url nach dem bestätigen einen Code extrahieren (also diese url wieder zurück in mein Blockly bekommen).

              Bin über jede Hilfe dankbar! 🙏

              OliverIOO Offline
              OliverIOO Offline
              OliverIO
              schrieb am zuletzt editiert von
              #6

              @newpicsel sagte in Authentication (redirect uri) ??:

              Ich würde es über eine Blockly Funktion umsetzen wollen, welche über ein trigger ausgelöst wird.
              Ich weiß leider nicht so recht wie die Funktion genau aussehen muss:
              Window.open(url, "_blank");

              du musst dir bewusst machen, wo welcher code läuft.

              alles im javascript-adapter läuft auf dem server.
              also in node.
              https://de.wikipedia.org/wiki/Node.js
              mit node hat man sozusagen die javascript engine aus dem browser herausgelöst und als server-sprache umgesetzt.
              da da aber jetzt kein browser mehr ist, gibt es gewisse dinge darin auch nicht mehr.
              die globale Variable window ist ein beispiel dafür.

              Wenn du willst, das im browser sich ein fenster öffnet, musst du dafür sorgen, das der clientseitig (also lokal in einem browser fenster) ausgeführt wird.

              wenn du bspw das folgende in ein html widget einträgst

              <a href="https://www.google.de" target="_blank">Click mich</a>
              

              dann wird da ein link erzeugt.
              wenn du noch die url dynamisch machen willst, dann würde das so aussehen

              <a href="{0_userdata.0.test.test1}" target="_blank">Click mich</a>
              

              in den datenpunkt schreibst du dann die volle url rein
              die bindings werden allerdings nur im runtime-modus von vis aufgelöst

              Meine Adapter und Widgets
              TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
              Links im Profil

              NewpicselN 1 Antwort Letzte Antwort
              0
              • OliverIOO OliverIO

                @newpicsel sagte in Authentication (redirect uri) ??:

                Ich würde es über eine Blockly Funktion umsetzen wollen, welche über ein trigger ausgelöst wird.
                Ich weiß leider nicht so recht wie die Funktion genau aussehen muss:
                Window.open(url, "_blank");

                du musst dir bewusst machen, wo welcher code läuft.

                alles im javascript-adapter läuft auf dem server.
                also in node.
                https://de.wikipedia.org/wiki/Node.js
                mit node hat man sozusagen die javascript engine aus dem browser herausgelöst und als server-sprache umgesetzt.
                da da aber jetzt kein browser mehr ist, gibt es gewisse dinge darin auch nicht mehr.
                die globale Variable window ist ein beispiel dafür.

                Wenn du willst, das im browser sich ein fenster öffnet, musst du dafür sorgen, das der clientseitig (also lokal in einem browser fenster) ausgeführt wird.

                wenn du bspw das folgende in ein html widget einträgst

                <a href="https://www.google.de" target="_blank">Click mich</a>
                

                dann wird da ein link erzeugt.
                wenn du noch die url dynamisch machen willst, dann würde das so aussehen

                <a href="{0_userdata.0.test.test1}" target="_blank">Click mich</a>
                

                in den datenpunkt schreibst du dann die volle url rein
                die bindings werden allerdings nur im runtime-modus von vis aufgelöst

                NewpicselN Offline
                NewpicselN Offline
                Newpicsel
                schrieb am zuletzt editiert von
                #7

                Guten Morgen @oliverio

                Danke für deine Nachricht, dass wusste ich tatsächlich nicht und erklärt einiges!

                Über die VIS hatte ich tatsächlich auch schon nachgedacht, dies würde aber wieder voraussetzen, dass jeder Nutzer dies ebenfalls wieder vorher in die VIS einpflegt, was es für einige wohl erstmal zu kompliziert machen würde.

                Ich bin aktuell dabei und versuche es komplett über curl Befehle umzusetzen.
                Spricht das Browserfenster komplett zu umgehen.
                Bin mir noch nicht sicher ob dies überhaupt möglich ist und am Ende nicht auch den Rahmen eines Blocklys komplett sprengt, aber zumindest ein Ansatz.

                Sobald ich hier etwas halbwegs brauchbares habe, was auch nur in die richtige Richtung gehen könnte, teile ich es mit euch 😊👍

                Gruß Peter

                1 Antwort Letzte Antwort
                0
                • OliverIOO Offline
                  OliverIOO Offline
                  OliverIO
                  schrieb am zuletzt editiert von
                  #8

                  @newpicsel

                  Es gibt einen netatmo Adapter
                  Der kann das nicht was du willst?

                  Ansonsten könntest du diese Bibliothek verwenden
                  https://www.npmjs.com/package/netatmo

                  Meine Adapter und Widgets
                  TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                  Links im Profil

                  NewpicselN 1 Antwort Letzte Antwort
                  0
                  • OliverIOO OliverIO

                    @newpicsel

                    Es gibt einen netatmo Adapter
                    Der kann das nicht was du willst?

                    Ansonsten könntest du diese Bibliothek verwenden
                    https://www.npmjs.com/package/netatmo

                    NewpicselN Offline
                    NewpicselN Offline
                    Newpicsel
                    schrieb am zuletzt editiert von
                    #9

                    @oliverio

                    Doch doch, theoretisch kann der Adapter das schon.
                    Mein Blockly hatte ich erstellt bevor es einen Adapter gab 😅

                    Ich und ein paar weitere Nutzer, nutzen diesen jedoch weiterhin, weil er etwas mehr Funktionen bietet als der Adapter und ich müsste so ohnehin noch ein zusätzliches Blockly erstellen.
                    Das spare ich mir damit und es läuft einfach sehr gut.

                    Einziges Problem ist halt nun die Token Anfrage für neue Nutzer, bei denjenigen, die das Blockly schon vorher genutzt haben (vor der Umstellung) läuft es weiterhin.

                    Außerdem und wohl das wichtigste, es macht mir Spaß daran zu arbeiten und ich lerne sehr viel 😊👍

                    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

                    440

                    Online

                    32.5k

                    Benutzer

                    81.7k

                    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