Ankündigung

Einklappen
Keine Ankündigung bisher.

Home-Connect | LBS | 19000070 | 1900071 | 19000072

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

    Home-Connect | LBS | 19000070 | 1900071 | 19000072

    Hallo zusammen,


    ACHTUNG, als Vorbereitung um die Accounts anzulegen, hier ein paar Infos vorab. Ein Hinweis noch, die LBSen wurden bis jetzt nur mit einem Geschirrspüler gegengetestet (sollten aber grundsätzlich auf jedem Gerät funktionieren).



    für die die ein wenig spielen möchten, hier drei Links zum Download ...

    http://service.knx-user-forum.de/?co...ad&id=19000070 für OAuth2 (Authentifizierung & API Zugriffe).
    http://service.knx-user-forum.de/?co...ad&id=19000071 für SSE (Server Send Events).
    http://service.knx-user-forum.de/?co...ad&id=19000072 für die allgemeinen Statis, Haushaltsgerät "unabhängig" ...

    Vorab, derzeit schreibt der 71er LBS alle 24h ein paar Fehlercodeeinträge in den allgemeinen Error-Log.
    Hintergrund, der HTTP-Code 401 wird noch nicht in einer Exception abgefangen (kommt noch). Dieser 401er wird aufgrund des nach 24h abgelaufenen Access-Tokens generiert (aber der Token wird natürlich erneuert, weshalb die Exception noch implementiert wird) …
    Die KLASSE für die Authentifizierung und die API-Abfragen ist derzeit im 70er LBS integriert ... Ich überlege diese auszulagern um die "Komplexität" des Zusammenspiels zwischen dem 70er und 71er LBS zu eliminieren (hin- und her Triggerei).

    Bildschirmfoto 2018-01-26 um 13.57.25.png

    Zuallererst, da ich derzeit kaum Zeit habe, den Code selbst zu verbessern, bitte zuerst in der Hilfe nachschauen ob einem geholfen werden kann (Rechtsklick auf den LBS und dann Hilfe auswählen).
    Bitte die jeweilige LBS-Datei aus dem ZIP im Downloadbereich verwenden und nicht einfach den Code aus der Übersicht heraus kopieren um irgendwelche Inkompatibilitäten zu verursachen. Bitte auch daran denken, zuerst die LBS-Eingänge richtig und fehlerfrei zu füllen bevor der LBS getriggert wird.
    Schlussendlich bitte auch die Beispiel-Bilder mit den Logikseiten im ZIP beachten …

    Schritt 1, Registrierung bei Home-Connect Developer
    "Create new user" unter https://developer.home-connect.com/?q=user
    Und beantrage „Advanced User“ für die Möglichkeit, die Haushaltsgeräte auch steuern zu können (Basic-Account erlaubt nur das Monitoring).

    Bildschirmfoto 2018-01-26 um 12.05.10.png


    Schritt 2, erstelle eine neue Applikation
    Erstelle unter „create a new app“ eine neue Applikation und beachte insbesondere die Redirect URL (!) … diese sollte dahin verweisen, wo Du auch Zugriff darauf hast (ich habe mich, da eh vorhanden, für den EDOMI Web-Server entschieden und dort eine kleine Seite, hc.php angelegt (im ZIP).
    Die neue Applikation ist der CLIENT (im OAuth2-Prozess) der auf die Daten des OWNERS (auf die Haushaltsgeräte, siehe unten) via API zugreifen möchte.

    Bildschirmfoto 2018-01-26 um 12.07.15.png


    Das könnte so aussehen

    Bildschirmfoto 2018-01-26 um 12.05.57.png


    Hier im Bild unten nicht sichtbar, die (derzeit) wichtigste Information, dass ist der 64 Zeichen langer API-KEY (client_id), der Client-Secret wird derzeit nicht verwendet.


    Schritt 3, Registrierung in der Home-Connect App selbst / am Smartphone oder Tablet
    Apple: https://itunes.apple.com/de/app/home...901397789?mt=8
    Android: https://play.google.com/store/apps/d...ndroid.release

    Das ist der OWNER of the API-Data / der Haushaltsgeräte (die dem CLIENT oben, generell den Zugriff und Umfang via SCOPE ermöglicht) ...

    Nach der Registrierung, bitte die Haushaltsgeräte (Appliances) dem neuen Konto hinzuzufügen und in der App testen ob die "Heirat" erfolgreich stattgefunden hat (ob sich das jeweilige Gäret bedienen lässt) …

    Das könnte so aussehen

    IMG_0817.PNG


    Schritt 4, Logikseite anlegen und die LBSen einfügen
    Hier noch noch etwas unaufgeräumt als Beispiel (ich werde mich bemühen später in das Zip-File bessere Darstellungen hinzuzufügen und diese zu erneuern).

    Bildschirmfoto 2018-01-23 um 18.52.22.png

    So könnten in LogLevel=8 die Ausgaben aussehen ...

    70er
    Bildschirmfoto 2018-01-26 um 14.01.17.png

    71er
    Bildschirmfoto 2018-01-26 um 14.10.06.png

    72er
    Bildschirmfoto 2018-01-26 um 14.12.27.png


    Weitere Informationen folgen ;-)
    Zuletzt geändert von coliflower; 20.02.2018, 10:31.
    Danke und LG, Dariusz
    GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

    #2
    Da Home-Connect die Authentifizierung nur mit dem CODE erlaubt (Grant_type), folgernder Prozess ...


    Schritt 1, Authentifizierung
    Autorisiere dich, SENDE folgende URL <GET>
    <authorize_uri>?client_id=XXX&redirect_uri=XXX&response_type=code&scope=XXX&state=XXX
    Wenn du schon für das ADVANCED Konto freigeschaltet bist, dann:
    scope=IdentifyAppliance%20Monitor%20Settings

    Wenn nicht, dann muss das SCOPE im URL anders aussehen ...
    scope=IdentifyAppliance%20Monitor

    Ansonsten, nur zum testen, ob die URL korrekt und die Authentifizierung durchgeführt wird (vorausgesetzt das Konto ist nicht gesperrt) ...
    scope=IdentifyAppliance

    Beispiel: https://api.home-connect.com/securit...&redirect_uri=http://10.0.10.3/visu/hc.php&client_id=1234567890asdfghjklyxcvbnm&scope=IdentifyAppliance%20Monitor%20Settings&state=homeconnect_auth

    Schritt 2, Einloggen ins Account
    Danach öffnet sich ein Fenster im Browser in das man die Mailadresse und das Passwort eingibt und auf LOGIN klickt (die man auch in der App eingibt).

    Bildschirmfoto 2018-01-27 um 09.30.14.png

    Schritt 3, Freigabe des CLIENT durch den OWNER
    Danach erscheint folgendes Fenster in dem man den vorher via SCOPE definierten Umfang bestätigt und freigibt - Klick auf "Zulassen".

    Bildschirmfoto 2018-01-27 um 09.32.38.png

    Schritt 4, CODE
    Danach wird man auf die vorher in der neu erstellten Applikation definierte Redirect URL umgeleitet ...
    Das kann, wenn man die hc.php verwendet in etwa so aussehen

    Bildschirmfoto 2018-01-26 um 15.05.37.png

    Schritt 5, CODE im LBS speichern
    Hier in der Tabelle (oben im Bild) oder in URL, Beispiel unten, erhalte ich den CODE den ich heraus kopiere und am Eingang des 70er LBS speichere.

    ERHALTE folgende Antwort im Addressfeld <GET>
    <redirect_uri>?code=XXX&grant_type=authorization_code
    Beispiel: http://10.0.50.150/hc.php?code=12121212abcdefghijklmnopqrstuvwxyz&grant_type=authorization_code&state=homeconnec t_a uth

    Der Rest erfolgt im 70er LBS ...
    Zuletzt geändert von coliflower; 28.01.2018, 19:47.
    Danke und LG, Dariusz
    GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

    Kommentar


      #3
      coliflower Die Download Links funktionieren nur, wenn Du den Download auch frei gibst.

      Kommentar


        #4
        Danke, jedoch schrieb ich dass der Download noch nicht aktiv ist ... kommt "demnächst"
        Danke und LG, Dariusz
        GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

        Kommentar


          #5
          Zitat von vento66 Beitrag anzeigen
          coliflower Die Download Links funktionieren nur, wenn Du den Download auch frei gibst.
          Der Download ist jetzt aktiv ...
          Danke und LG, Dariusz
          GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

          Kommentar


            #6
            Danke für die neuen Bausteine Home Connect

            Ich komme über folgenden Schritt leider nicht hinaus:

            2018_01_27_17_40_17_My_Applications_Home_Connect_Developer_Program_Opera.png

            "Create" > keine Reaktion, application wird nicht gespeichert !

            Wo liegt die hc.php ? Ist dies eine Leerdatei ? Ich kann diese in Deinen zip´s leider nicht finden !

            Danke !!!

            Kommentar


              #7
              Uuuups, sorry, ich habe vergessen die ins ZIP zu legen ...
              Hier als Anhang vorab ... eine Leerdatei geht sicher auch, dann halt aus dem URL die Infos heraus kopieren.

              Möglicherweise kannst du es nicht speichern, weil es die EDOMI schon gibt - nur eine Vermutung ... versuche es mit einem andren Namen als Test.

              PS: dann bist du der erste Downloader ;-)
              Angehängte Dateien
              Zuletzt geändert von coliflower; 27.01.2018, 17:57.
              Danke und LG, Dariusz
              GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

              Kommentar


                #8
                Zitat von coliflower Beitrag anzeigen
                Möglicherweise kannst du es nicht speichern, weil es die EDOMI schon gibt - nur eine Vermutung ... versuche es mit einem andren Namen als Test.
                Genau so ist es !

                Zitat von coliflower Beitrag anzeigen
                PS: dann bist du der erste Downloader ;-)
                Ich bin ja gerne Betatester- wenn ich schon sonst Nichts Vernünftiges zu Deinem LBS beitragen konnte.

                Kommentar


                  #9
                  Ich war "noch nicht so ganz" erfolgreich:

                  2018_01_27_20_00_56_Fotos.png

                  Der Fehler liegt wohl an den fehlerhaften Eingängen.

                  Könntest DU bitte noch einmal Deine Logikseite (bitte MIT den Eingängen des LBS 19000070 !) posten:

                  Insbesondere E7 ist mit noch nicht klar
                  E6 bleibt wohl "homeconnect_auth"
                  und E10/11 ist wohl das iKO, das auch an A120/11 anliegt- liege ich da richtig ?

                  Danke
                  Andreas
                  Angehängte Dateien

                  Kommentar


                    #10
                    E1: CLIENT-API-KEY
                    E2: CLIENT-Secret
                    E3: OWNER-USER-Name (Recource-Owner = User's home-connect account)
                    E4: OWNER-USER-Password (Recource-Owner = User's home-connect account)
                    E5: STATE
                    E6: REDIRECT-URI
                    E7: CODE of request for Access-Token
                    E8: Trigger
                    E9: User-Log-Level
                    E10: ACCESS-token
                    E11: REFRESH-token
                    E12: Log-Option (not activated, yet)
                    E13: Konto-Type: Bas(Basic), Adv(Advanced), Par(Partner)
                    E14: API-request (not activated, yet)

                    E7 ist der oben beschriebene CODE den du aus der hc.php oder aus dem URL heraus kopieren kannst.
                    E10/11 das sind die Tokens die der 70er LBS abruft und an die Ausgänge A10/11 ausgibt ... Diese muss du dann in eine iKO packen und das iKO wieder an E10/11 verbinden, quasi eine Schleife mit SBC dazwischen (alle 24h wird dieser erneuert).
                    Zuletzt geändert von coliflower; 27.01.2018, 20:19.
                    Danke und LG, Dariusz
                    GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                    Kommentar


                      #11
                      Ach ja, wenn du nur ein Basic-Konto hast, dann muss der E13 ein "Bas" stehen haben und nicht "Adv", weil dann ein anderer SCOPE genommen wird.
                      Danke und LG, Dariusz
                      GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                      Kommentar


                        #12
                        Die erste Zeile deines Logs hat beim genauen Hinschauen eine "kleinen" Bug zum Vorschein gebracht. Hier fehlte noch ein der drei Argumente für die Logfunktion, sollte mit 0.1.01 im Downloadbereich behoben sein ...
                        Danke und LG, Dariusz
                        GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                        Kommentar


                          #13
                          Zitat von coliflower Beitrag anzeigen
                          Schritt 1, Authentifizierung


                          Beispiel: https://api.home-connect.com/securit...&redirect_uri=http://10.0.10.3/visu/hc.php&client_id=1234567890asdfghjklyxcvbnm&scope=IdentifyAppliance%20Monitor%20Settings&state=homeconnect_auth
                          Hallo Dariusz,

                          ich hänge leider schon am Schritt 1 der an der Code-Authentifizierung. Was ist an folgendem Aufruf falsch ?

                          Ich geh davon aus, dass die hc.php hier liegen muss: /usr/local/edomi/www/visu

                          Client-ID = API-KEY

                          https://api.home-connect.com/security/oauth/authorize?response_type=code&redirect_uri=http://10.10.1.35/visu/hc.php&client_id=XXXXXXXXX3796A995ADB5E775BE919898 0C2FBC246106D532118979B6635CB1&scope=IdentifyAppli ance%20Monitor%20Settings&state=homeconnect_auth

                          { "error": "invalid_request", "error_description": "missing or invalid request parameters" }

                          Hier die Beschreibung, eigentlich müsste Alles korrekt sein:
                          https://developer.home-connect.com/?...orization/flow

                          Danke
                          Andreas
                          Zuletzt geändert von ak68; 28.01.2018, 10:59.

                          Kommentar


                            #14
                            Bin unterwegs, schaue es mir zuhause an !
                            Danke und LG, Dariusz
                            GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                            Kommentar


                              #15
                              Sodala ...

                              Die hc.php sollte so richtig liegen ...
                              Die Redirect URL sollte auf jeden fall richtig in der neu angelegten App eingetragen sein.

                              Ja, die client_id ist der API-KEY ...
                              Kein Fehler beim kopieren ?
                              Hast du eh nicht bei der neu angelegten App auf die Checkbox für den client_security geklickt ?

                              Die Errorbeschreibung sagt "missing or invalid request parameters" ...
                              missing ... sollte eigentlich nichts fehlen.
                              invalid ... richtiger und vollständiger KEY ? client_secret darf nicht angeklickt sein ... und SCOPE ..

                              Bist du schon für das ADVANCED Konto freigeschaltet ?
                              Wenn nicht, dann muss das SCOPE im URL anders aussehen ...
                              Basic = scope=IdentifyAppliance%20Monitor
                              Advanced = scope=IdentifyAppliance%20Monitor%20Settings
                              Ansonsten nur IdentifyAppliance verwenden ... zum testen ...

                              Ansonsten, wenn das alles OK ist, dann ist deine App bzw. dein Developper-Account, vom Home-Connect nicht freigeschaltet :-(
                              Da hilft nur (wenn) eines, die Kontakt-Mail anzuschreiben und um die Freischaltung bitten ...

                              Ich hoffe, ich konnte bis zu der "Mail" helfen.
                              Zuletzt geändert von coliflower; 28.01.2018, 17:52.
                              Danke und LG, Dariusz
                              GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                              Kommentar

                              Lädt...
                              X