[Modul] HomeConnect (Beta)

Hi,

Frage: Ist HomeConnect von Miele gleich HomeConnect von Bosch?
D.h. kann ich dieses Modul auch für Bosch Geräte nutzen?

Vielen Dank und lg

Miele und Bosch sind unterschiedliche Hersteller und nutzten auch jeweils eigene Anbindungen. Für Miele müsstest Du Miele@Home nutzten und das Modul IPSymconMieleatHome.

Danke Fonzo! Dann bin ich mit meinem Bosch SBS Kühlschrank hier richtig :slight_smile:

Hallo,
ich überlege mir eine Siemens Kaffeemaschine mit HomeConnect anzuschaffen, macht natürlich nur Sinn wenn ich die mit IP-Symcon steuern kann. Hat da schon jemand Erfahrung?

Gruß
Thomas

Danke, nun hab ichs mit deiner Hilfe geschafft!!!

Gute Nacht

Der Kühli hatte plötzliche keine Verbindung mehr.
Neue Suche und dann gespeichert. Alte Instanz gelöscht. Nun geht es wieder…

Fehlermeldung kam dann:

Was kann das sein?

lg

Update:
Das Verbinden funktioniert jetzt. (Meine Webserver-Instance ist wohl anders konfiguriert. Es funktioniert mit Connect, mit und ohne https aber ohne :3777.
Jetzt kommt „Fehler: Konnte kein Verbindung zu HomeConnect herstellen. Bitte überprüfe deine Zugangsdaten!“.
Im Log ist das homeappliances array leer, habe auch aktuell kein Gerät (in der App nur ein Demogerät), aber das erkennt er wahrscheinlich nicht. Hoffe es liegt daran.

Ich habe leider das gleiche Problem wie knx.
Funktioniert weder mit dem Connect-Dienst noch mit direkter Portfreischaltung des Symcon-Servers.
Hat das jemand am laufen, muß man noch was beachten?
Gruß Thomas

So,
meine Kaffeemaschine ist nun erfolgreich eingebunden und es schaut teilweise noch etwas merkwürdig aus.
Ebenso ist die Unterstützung meines Modells nur Unvollständig/fehlerhaft (TQ507DF3).
Die letzte Änderung des Moduls war im März 2019, daher vermute ich, das hier keine große Unterstützung zu erwarten ist und ich mich selber um die Erweiterungen kümmern muss. Erste Erfolge haben sich schon eingestellt, aber ich bin jetzt auch nicht der Experte für PHP-Module, wird daher ein langwieriger Weg.
Falls jemand ähnliche Probleme hat und/oder an Lösungen interessiert ist würde ich mich über eine Erfahrungsaustausch freuen.

Gruß Thomas.

Was kann das sein?

Update:

Ist es irgendwie möglich, darüber auch den Backofen zu steuern und nicht nur den Status zu empfangen ?
Leider ist diese Option wohl auch auf der Developer Seite gesperrt.

EDIT

OK, gerade auf der Developer Seite gelesen, dass man dafür ein Partner Agreement braucht… schade, genau diese Funktion hätte ich benötigt für eine perfekte Morgen Routine :smiley:

Ich habe einen Kaffeknecht TI9575X1DE mit dem Modul angebunden, was aber auch nur so halb funktioniert. Viele der Getränke werden nicht korrekt erkannt und vom Modul behelfsweise stets in der Programmvariablen als Ristretto bezeichnet. Ich vermute hier ein Null/0-Problem, kann aber die passende Stelle im Code nicht finden. Außerdem werden die Variablen für Power und Door nie getriggert und der Progress bleibt mal bei 95% hängen, mal setzt er sich korrekt auf 0% zurück. Wenn ich die Events im Log nicht falsch interpretiere, ist da irgendwo eine race condition. Das Problem für mich ist, daß das Modul ja ein generelles HomeConnect-Modul ist und somit viel komplexer als, ich das bräuchte. Ich denke, es ist vermutlich sinnvoller, sich selber ein einfaches API-Connector-Script für das jeweilige Gerät zu bauen, weil einem sonst der Mainentenance-Overhead aus dem Ruder läuft.

Ich denk es gibt hier leider keinen Support mehr für das Modul…

Vermutlich nicht. Wobei ich mich gerade mal durch die HomeConnect-API wühle und dabei feststelle, dass mein Kaffeeautomat ganz offenbar die Frage nach den verfügbaren Programmen unvollständig beantwortet. Wenn man also gemäß der Home-Connect-Doku erst die verfügbaren Programme abfragt und dann das aktuelle Program darauf matched, erhält man eben Null, welches im Modul dann zu 0 wird, welches dann permanent als Ristretto angezeigt wird. Soviel zum Debugging bis hierhin. Merkwürdigerweise hat die HomeConnect-App selber diese Probleme offenbar nicht. Hmm.

Hast das eigentlich hin bekommen ? Falls ja, woran lags ?
Hab gleiche Fehlermeldung, bei allen meinen 3 Geräten

Hallo,
hab ja auch meine Kaffeemaschine eingebunden.
Das aktuelle Modul hat dabei fast nichts unterstützt. Da ich in der Modulprogrammierung auch nicht so erfahren bin, habe ich ziemlich viel mit Try&Error herausgefunden. Mitloggen geht relativ viel, ansteuern ist noch in Arbeit. Habe aber fast das ganze Modul überarbeitet und mit Workarounds versehen.
Erkenntnisse:

  1. Das Modul ist komplex, da es alle Geräte unterstützen muß. Das Thema Kaffeemaschine ist nicht wirklich vorhanden.
  2. Die App kann deutlich mehr als die API (Anzahl Kaffeesorten, Fehlermeldungen, Statusinformationen)
  3. Die Implementation der Authentifizierung funktioniert auch nur „zufällig“. Außerdem kann ja IPSymcon angeblich nun auch direkt OAuth2, da kenne ich mich aber nicht so aus.
  4. Wahrscheinlich ist es wirklich einfacher sich was komplett neues zu schreiben.

Für ein ähnliches Modul das ich gebraucht hätte wollte ich das als Basis nehmen, hab mir aber jetzt einfach was simples programmiert.

Ich denke ich versteh so in etwa, was die Homeconnect-Api macht und kann, wenn also Fragen sind kann ich gerne unterstützen.

Gruß Thomas

Hallo Thomas,

schön wäre eben ein Modul für alle Anwender.
Bielleicht könnte dich ja das IPS Team unterstützen?

lg

Ich fuchse mich da auch gerade so rein und komme vom Hölzchen auf’s Stöckchen. Ich arbeite mich gerade daran ab, mittels https://github.com/thephpleague/oauth2-client den Authentifikationsprozess so geschmeidig wie möglich abzubilden, scheitere aber grundsätzlich daran, das ganze installations-agnostisch hinzubekommen.

@Thomas, Du sagtest, IPS könne direkt OAuth2. Das Problem ist die erforderliche Methode. HomeConnect verlangt den Authorization Code Grant Type und der verlangt, daß man eine redirect_uri mitliefert, zu der dann das Access-Token gesendet wird. Diese redirect_uri muss aber genau derjenigen entsprechen, die auf dem Server für diesen Dienst eingetragen wurde. Für das Umfeld von IPS ist dass dann der für das Skript/Modul angelegte Webhook. Und dieser unterscheidet sich eben bei jedem. Den Namen des Webhooks selbst kann man ja noch gleichschalten, aber IP/Hostname, auf dem IPS läuft ist halt bei jedem anders. Daher muss man bei dem HomeConnect-Modul einen Dev-Account bei HomeConnect einrichten, einen eigenen Dienst anlegen und dort den individuellen Webhook als redirect_uri eintragen. Normalerweise ist es damit erledigt, weil das Token mit einem „refresh-token“ nach Ablauf der Gültigkeit ohne erneute User Credentials erneuert werden kann.

Es wäre jetzt natürlich schön, wenn man als Nutzer nicht immer einen Dev-Account bei HomeConnect anlegen müsste, um die CallbackUrl zum Webhook hart zu verdrahten. Mir fällt dazu jetzt aber nichts ein, was nicht fies dreckig und völlig overengineerd wäre. Allerdings bin ich auch völlig neu im OAuth2-Geschäft. Wenn ich in meiner Erläuterung einen Fehler gemacht habe, wäre ich also dankbar, wenn mich jemand korrigieren könnte.

Hi Jungs,

schau euch doch mal user OAuthTest Modul an: SymconTest/OAuthTest at master · symcon/SymconTest · GitHub

Dort wollt ihr den home_connect als Identifier nutzen und die ganze OAuth Magie sollte automatisch klappen.

paresy

Oha! Das sieht ja vielversprechend aus.

Allerdings lande ich da bei https://developer.home-connect.com/security/oauth/authorize?[…] was so nicht funktioniert. Ich denke ich müsste nach https://api.home-connect.com/security/oauth/authorize?[…] geleitet werden.

Wenn ich den Link entsprechend ändere, lande ich zwar in der Login-Maske, kann mich aber nicht anmelden, weil:
„Der verwendete Benutzer ist dieser Applikation im Home Connect Developer Portal nicht zugewiesen.“

Ich schätze, die App muss im HomeConnect Dev-Portal publiziert werden, bevor sie unabhängig vom hinterlegten Useraccount funktioniert.

Gruß,
Jos

Hmm, fällt mir da noch ein: @paresy, läuft bei dieser Methode nicht letztendlich das Token lesbar über eure Server? Erodiert das nicht im Grunde genommen das Sicherheitsmodell von OAuth? Oder kapiere ich das nicht richtig…?