Ankündigung

Einklappen
Keine Ankündigung bisher.

Home-Connect | 2nd

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

    Home-Connect | 2nd

    Hallo Zusammen,

    etwas länger hat es gedauert, nun (hoffentlich) geht es weiter ...
    Bei mir läuft der LBS seit über einer Woche ohne, dass mir (wieder) ein Fehler aufgefallen ist … getestet mit:
    • Edomi Version 1.62
    • Mit nur einem SSE-LBS (mehrere SSEs könnten bei gleichzeitigem Trigger aller dieser LBSen, theoretisch bei einem abgelaufenen ACCESS-token und oder bei nicht authentifizierten CODE (Erststart), das Prozedere der KLASSE möglicherweise durcheinander bringen (wenn alle SSE-LBSen den Code gleichzeitig verifizieren möchten) … deshalb würde ich, mehrere SSEs mit relativer Zeitverzögerung zueinander starten - sicher ist sicher).

    Zuallererst (Hilfe des LBS und diesen Thread bitte lesen) … es könnte das eine oder andere Problemchen vermeiden.


    Im Unterschied zur ersten Version, wurde die KLASSE (OAuth2, ...) in dieser Version aus dem LBS extrahiert und in einer eigenen Datei im "Standardverzeichnis" abgelegt. Dadurch wurde einiges an Komplexität reduziert und dem Gedanken des OOP Rechnung getragen.

    Bitte die Ordnerstruktur und all die darin enthaltenen Dateien in das unten ersichtliche PHP-Verzeichnis komplett kopieren - im ZIP-File:
    Code:
    require_once(dirname(__FILE__).'/../../../../main/include/php/[COLOR=#ff2600]HOME-CONNECT-API-PHP/scr/HomeConnect/autoload.php[/COLOR]');
    Wenn ihr schon beim Kopieren seid, bitte auch aus dem ZIP folgende Dateien:
    hc.php
    hc.css
    in folgenden Ordner kopieren:
    Code:
    /usr/local/edomi/www/visu

    Schritt 1
    Download des LBS, Logikseite anlegen, LBS-Eingänge soweit nicht vorbelegt, wenn möglich belegen - siehe GRAFIK unten.
    Der LBS darf zum jetzigen Zeitpunkt nicht getriggert werden !!!
    Das iKO für ACCESS-token muss als VARIANT/REMANENT angelegt sein.
    Das iKO für REFRESH-token müssen als VARIANT/REMANENT angelegt sein.
    Das iKO für CODE als VARIANT/INITIALWERT (NICHT remanent …).
    Das iKO für API_KEY als VARIANT/INITIALWERT
    Das iKO für CLIENT_SECRET als VARIANT/INITIALWERT

    Bildschirmfoto 2018-10-23 um 11.27.04.png


    Schritt 2
    Registrierung in der Home-Connect App selbst (am Smartphone oder Tablet) soweit noch nicht getan (Anmerkung, das ist der OWNER)

    Apps
    Apple: https://itunes.apple.com/de/app/home...901397789?mt=8
    Android: https://play.google.com/store/apps/d...ndroid.release


    Schritt 3
    Registrierung bei Home-Connect Developer-Login soweit noch nicht getan
    "Create new user" unter https://developer.home-connect.com/?q=user


    Schritt 4
    Erstelle eine neue Applikation soweit noch nicht getan 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).
    Als Hinweis, die neue Applikation ist der CLIENT (im OAuth2-Prozess) der auf die Daten des OWNERS (auf die Haushaltsgeräte) via API zugreifen möchte.
    BITTE die IP die Edomi bei euch hat, verwenden:
    Code:
    http://10.0.10.3/visu/hc.php
    Nun bitte auch den neuen API-Key und den CLIENT-Secret, den LBS-Eingängen zuweisen ...


    Schritt 5
    Authentifizierung

    Für diesen Schritt hat man nur 10 Minuten Zeit bis der übermittelter CODE abgelaufen ist (und eine neue Authentifizierung notwendig wird)

    Der SCOPE wurde nur mit einem Gerät (Dishwasher) und dem erlaubten maximalen Zugriff getestet !!!

    IdentifyAppliance = muss immer angegeben werden.
    Dishwasher = weil "wir" zB: bei einem Geschirrspüler den vollen Zugriff haben ...
    scope … sollte sich der SCOPE (warum auch immer) im Nachhinein ändern, dann muss auch ein neuer CODE beantragt werden

    Autorisiere dich, SENDE folgende URL <GET>
    Code:
    [COLOR=#0433ff]https://api.home-connect.com/security/oauth/authorize?[B]client_id[/B]=[/COLOR][COLOR=#ff2600]API-KEY[/COLOR][COLOR=#0433ff]&[B]redirect_uri[/B]=[/COLOR][COLOR=#FF0000]http://[/COLOR][COLOR=#ff2600]EDOMI-IP[/COLOR][COLOR=#FF0000]/visu/hc.php[/COLOR][COLOR=#0433ff]&[B]response_type[/B]=code&[B]scope[/B]=[/COLOR][COLOR=#ff2600]IdentifyAppliance[/COLOR][COLOR=#0433ff]%20[/COLOR][COLOR=#ff2600]Dishwasher[/COLOR][COLOR=#0433ff]&[B]state[/B]=[/COLOR][COLOR=#ff2600]homeconnect_auth[/COLOR]

    Schritt 6
    Einloggen ins Account des OWNERS (die Home-Connect-App am zB: Smartphone).
    Wenn der obere Link im Schritt 5 ausgeführt wird, dann öffnet sich ein Fenster im Browser in das man die Mailadresse und das Passwort eingibt (die man bei der Registrierung der App registriert hat, nicht die Daten des Developer-Accounts) und auf LOGIN klickt.


    Schritt 7
    Freigabe des CLIENT durch den OWNER.
    Danach erscheint ein weiteres Fenster in das man den vorher via SCOPE definierten Umfang bestätigt und freigibt - Klick auf "Zulassen".


    Schritt 8
    CODE
    Danach wird man auf die vorher in der neu erstellten Applikation definierte Redirect-URL umgeleitet ...
    Man kann den Code, wenn man die hc.php verwendet (im ZIP) aus der Webseite und wenn nicht, auch aus der URL herauspicken.

    Ab jetzt hat man die oben erwähnten 10 Minuten um den CODE in den oben erwähnten iKO als Standardwert zu speichern, den „berühmten Neustart“, dh, das aktuelle Arbeitsprojekt neu aktivieren um die Änderungen in das Live-Projekt zu übertragen und den Trigger (1) am E1 als neuen Wert zuweisen - gutes Gelingen.


    Für die, die ein wenig spielen möchten, hier die Links zum Download ...
    http://service.knx-user-forum.de/?co...ad&id=19000070



    Hier der Vollständigkeitshalber, der alte Thread:
    https://knx-user-forum.de/forum/proj...00071-19000072
    Zuletzt geändert von coliflower; 23.10.2018, 11:26. Grund: Link zum Download hinzugefügt
    Danke und LG, Dariusz
    GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

    #2
    Hier noch ein LBS für einen Geschirrspüler.
    Derzeit kann dieser "nur" die vom SSE-LBS (19000070) empfangenen Daten and die Ausgänge verteilen - zukünftig wird dieser das Gerät auch steuern können ...

    http://service.knx-user-forum.de/?co...ad&id=19000071
    Danke und LG, Dariusz
    GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

    Kommentar


      #3
      Hallo Dariusz,

      .... ich kämpfe noch .......

      unklar ist mir insb. E7. Ich kann "State" weder in der HC-Applikation, noch im Redirekt-Verzeichnis finden- oder muss ich hier nur "homeconnect_auth" eintragen ?

      Zusätzlich eine Frage zu E10: Kann ich die SCOPES selbst wählen, da ich keine Einstellungen in der Applikation finden kann ?

      Danke
      Andreas
      Zuletzt geändert von ak68; 24.10.2018, 17:44.

      Kommentar


        #4
        Gib einfach am E7 und im Link unter "state" den String "homeconnect_auth" ein - das war es dann auch (das State is eine Art "Geheimwort" das mit ausgetauscht wird, um zu sehen ob auf dem Weg etwas verändert wurde oder nicht, eine Art Hash).

        E10, wie geschrieben, bleibt auf "Adv" (vor der offiziellen Veröffentlichung am 1.9.2018 gab es mehrere Zugriffstuffen via SCOPE, heute - denke ich nicht mehr, hatte aber keine Zeit gefunden das genau zu hinterfragen). Im Link, unter Scope, auf jeden Fall IdentifyAppliance und je nach Gerät dass du verbinden möchtest, weitere Zugriffe - welches Gerät willst du verbinden ?
        Danke und LG, Dariusz
        GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

        Kommentar


          #5
          Zitat von coliflower Beitrag anzeigen
          Gib einfach am E7 und im Link unter "state" den String "homeconnect_auth" ein - das war es dann auch (das State is eine Art "Geheimwort" das mit ausgetauscht wird, um zu sehen ob auf dem Weg etwas verändert wurde oder nicht, eine Art Hash).

          E10, wie geschrieben, bleibt auf "Adv" (vor der offiziellen Veröffentlichung am 1.9.2018 gab es mehrere Zugriffstuffen via SCOPE, heute - denke ich nicht mehr, hatte aber keine Zeit gefunden das genau zu hinterfragen). Im Link, unter Scope, auf jeden Fall IdentifyAppliance und je nach Gerät dass du verbinden möchtest, weitere Zugriffe - welches Gerät willst du verbinden ?
          Danke- werde ich testen !

          Ich will ebenfalls einen "Dishwasher" verbinden- bisher noch nicht erfolgreich !

          Kommentar


            #6
            So ... 1. Erfolg, die Verbindung steht, jedoch folgende Fragen:

            Wie muss ich den LBS 19000070 triggern ? einmalig ? zyklisch ? Wie muss ich den LBS 19000071 triggern ?

            Bei Folgeaufrufen ist A12/13 "EMPTY", beim 1. Aufruf nach Neuabruf des CODES sind A12/13 mit Inhalt !?


            2018_10_25_07_53_00_EDOMI_Administration_Opera.png

            Kommentar


              #7
              Zitat von ak68 Beitrag anzeigen
              Wie muss ich den LBS 19000070 triggern ? einmalig ? zyklisch ? Wie muss ich den LBS 19000071 triggern ?
              Der 71 wird durch den 70 immer dann getriggert, wenn es eine neue Info gibt (läuft immer einmal durch) ... schau dir die Logfiles an wenn du den Loglevel auf 8 gestellt hast.


              Zitat von ak68 Beitrag anzeigen
              EMPTY
              Wenn der Geschirrspüler nicht läuft, dann eben EMPTY (= Übersetzung von Keep-Alive im SSE der alle 1:50 Minuten ankommt, wenn der GS nicht läuft).
              Somit passt das so ;-)

              Hier noch ein Bild wie es aussieht wenn Daten via E2 übermittelt werden ...
              Bildschirmfoto 2018-10-25 um 18.16.37.png
              Zuletzt geändert von coliflower; 25.10.2018, 17:19. Grund: Grafik eingefügt
              Danke und LG, Dariusz
              GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

              Kommentar


                #8
                Ach ja, auf E8 im 70er steht "0", somit ist dein GS nicht in deinem (owner) Account verbunden bzw. ist der GS nicht mit Internet via WLAN verbunden.
                Danke und LG, Dariusz
                GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                Kommentar


                  #9
                  Zitat von coliflower Beitrag anzeigen
                  Ach ja, auf E8 im 70er steht "0", somit ist dein GS nicht in deinem (owner) Account verbunden bzw. ist der GS nicht mit Internet via WLAN verbunden.
                  Leider ist weiterhin die Kommunikation mit dem GS nicht möglich "0" an E8/ LBS 70 und A13-LBS70 bzw. E2- LBS 71 bleibt leer bzw. zeigen "Empty"

                  Über die Android-App habe ich jedoch Zugriff auf den GS, damit habe ja auch eine funktionierende WLAN-Verbindung ! Auch die Fernsteuerung am GS ist freigeschaltet !

                  Die HC-Applikation zeigt "Publication Request = 0", ich deute dies in meiner Glaskugel als fehlende Anfrage ??????

                  Lt. Fehlerlog wird der LBS 71 gar nicht aufgerufen, bei manuellem Abruf mit "1" am E1 erscheinen folgende Log-Einträge:

                  2018_10_26_16_39_19_Window.png

                  Hast Du eine Idee Dariusz ?

                  Danke
                  Andreas

                  Kommentar


                    #10
                    Sorry, ich meinte 0 am A8, nicht E8 am 70er.
                    Das bedeutet, dass der GS nicht mit dem HC Server verbunden ist (hatte das auch als mein GS keine Verbindung zum Internet hatte), es muss dort eine 1 = connected, stehen.

                    Der E1 am 71er tut derzeit „nichts“ da der LBS derzeit nur die Events des SSE 70er verarbeitet.

                    Dass der 71er nichts zeigt, liegt daran, dass der 70er nichts liefert weil A8 = 0.
                    Danke und LG, Dariusz
                    GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                    Kommentar


                      #11
                      Zitat von coliflower Beitrag anzeigen
                      Sorry, ich meinte 0 am A8, nicht E8 am 70er.
                      Das bedeutet, dass der GS nicht mit dem HC Server verbunden ist (hatte das auch als mein GS keine Verbindung zum Internet hatte), es muss dort eine 1 = connected, stehen.
                      Hallo Dariusz,

                      ich habe Dich schon richtig verstanden, das Problem ist: A8=0 obwohl WLAN vorhanden ist (GS kann per App angesteuert werden UND ist in Betrieb UND GS ist NICHT ausgeschaltet !).

                      Danke
                      Andreas

                      Kommentar


                        #12
                        Dann hat deine App und oder die Einstellungen in HC ein Problem.
                        Poste mal ein paar Bilder der Android App wo man ein Dreieck aus Smartphone, Wolke und dem Gerät sieht um zu sehen ob der GS mit der Wolke verbunden ist.
                        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
                          Dann hat deine App und oder die Einstellungen in HC ein Problem.
                          Poste mal ein paar Bilder der Android App wo man ein Dreieck aus Smartphone, Wolke und dem Gerät sieht um zu sehen ob der GS mit der Wolke verbunden ist.
                          Du hast Recht: "Der GS hat keine Verbindung zum HC Server", die App ist wohl nur lokal per WLAN mit dem GS verbunden.

                          Jetzt kann ich wenigstens auf Fehlersuche gehen ...

                          Kommentar


                            #14
                            Vielleicht das hier ?

                            hc.png
                            Danke und LG, Dariusz
                            GIRA | ENERTEX | MDT | MEANWELL | 24VDC LED | iBEMI | EDOMI | ETS5 | DS214+ | KNX/RS232-GW-ROTEL

                            Kommentar


                              #15
                              Nur: Wo finde ich diese Einstellungen ?

                              WLAN/ Netzwerk ändern/ Erweiterte Optionen: Fehlanzeige ...
                              Zuletzt geändert von ak68; 26.10.2018, 19:54.

                              Kommentar

                              Lädt...
                              X