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:
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:
Wenn ihr schon beim Kopieren seid, bitte auch aus dem ZIP folgende Dateien:
in folgenden Ordner kopieren:
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:
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>
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
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) …

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]');
hc.php
hc.css
hc.css
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
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
Kommentar