HomeConnect: Unterschied zwischen den Versionen
(→Modul-Installation: Nötiges Perlmodul Switch ergänzt.) Markierungen: mobile edit mobile web edit |
|||
Zeile 18: | Zeile 18: | ||
==Definition von FHEM Devices== | ==Definition von FHEM Devices== | ||
===Modul-Installation=== | ===Modul-Installation=== | ||
Zur Installation (oder zum Update) | Ggf. ist das Perlmodul Switch nachzuinstallieren, durch Eingabe des Befehls | ||
sudo apt-get install libswitch-perl | |||
in die Linux-Kommandozeile. Zur Installation (oder zum Update) der FHEM-spezifischen Software in der FHEM Kommandozeile eingeben: | |||
<pre> | <pre> | ||
Zeile 24: | Zeile 28: | ||
</pre> | </pre> | ||
'''Achtung, temporärer Workaround''': Auf Grund eines Fehlers in der Datei controls_homeconnect.txt kann es sein, dass dieser Befehl mit einer Fehlermeldung abbricht: | |||
2021.11.03 20:29:15 1 : Downloading https://raw.githubusercontent.com/sw-home/FHEM-HomeConnect/master/controls_homeconnect.txt | |||
2021.11.03 20:29:15 1 : UPD FHEM/48_HomeConnect.pm | |||
2021.11.03 20:29:15 1 : Got 31752 bytes for FHEM/48_HomeConnect.pm, expected 30881 | |||
2021.11.03 20:29:15 1 : aborting. | |||
In diesem Fall bitte die beiden Module 48_HomeConnect.pm und 48_HomeConnectConnection.pm manuell von https://github.com/sw-home/FHEM-HomeConnect/FHEM herunterladen. | |||
Damit | Danach FHEM neu starten. Damit die Module auch bei einem normale "update check" mit geprüft wird, muss ferner in die FHEM-Kommandozeile eingetrage werden | ||
<pre> | <pre> | ||
update add https://raw.githubusercontent.com/sw-home/FHEM-HomeConnect/master/controls_homeconnect.txt | update add https://raw.githubusercontent.com/sw-home/FHEM-HomeConnect/master/controls_homeconnect.txt |
Version vom 4. November 2021, 08:37 Uhr
HomeConnect | |
---|---|
Zweck / Funktion | |
Anbindung von Hausgeräten mit Home Connect Schnittstelle | |
Allgemein | |
Typ | Gerätemodul |
Details | |
Dokumentation | EN / DE |
Support (Forum) | Home Connect |
Modulname | 48_HomeConnectConnection.pm 48_HomeConnect.pm |
Ersteller | swhome |
Wichtig: sofern vorhanden, gilt im Zweifel immer die (englische) Beschreibung in der commandref! |
Übersicht
Mit den beiden Modulen HomeConnectConnection und HomeConnect können in FHEM Devices für Home Connect Hausgeräte angelegt werden, die an einem Home Connect Account angemeldet sind. Mögliche Hausgeräte sind aktuell Backöfen, Spülmaschinen, Kühlschränke, Waschmaschinen, Wäschetrockner und Kaffeemaschinen der Marken Bosch, Siemens und Neff.
Wann verwendet man HomeConnectConnection, wann HomeConnect?
Das Modul HomeConnectConnection verwaltet die Verbindung zwischen FHEM und einem Home Connect Account. Es legt die HomeConnect Devices für die einzelnen Hausgeräte an.
Aktueller Status des Moduls
Die beiden Module befinden sich aktuell im Betatest. Jeder Tester muss sich bei Home Connect als Entwickler anmelden und den Login-Namen seines Home Connect App Accounts hinterlegen. Was jeder auch ohne eigene Geräte probieren kann ist der Hausgeräte-Simulator. Allerdings kann man damit in der Praxis nicht viel anfangen...
Definition von FHEM Devices
Modul-Installation
Ggf. ist das Perlmodul Switch nachzuinstallieren, durch Eingabe des Befehls
sudo apt-get install libswitch-perl
in die Linux-Kommandozeile. Zur Installation (oder zum Update) der FHEM-spezifischen Software in der FHEM Kommandozeile eingeben:
update all https://raw.githubusercontent.com/sw-home/FHEM-HomeConnect/master/controls_homeconnect.txt
Achtung, temporärer Workaround: Auf Grund eines Fehlers in der Datei controls_homeconnect.txt kann es sein, dass dieser Befehl mit einer Fehlermeldung abbricht:
2021.11.03 20:29:15 1 : Downloading https://raw.githubusercontent.com/sw-home/FHEM-HomeConnect/master/controls_homeconnect.txt 2021.11.03 20:29:15 1 : UPD FHEM/48_HomeConnect.pm 2021.11.03 20:29:15 1 : Got 31752 bytes for FHEM/48_HomeConnect.pm, expected 30881 2021.11.03 20:29:15 1 : aborting.
In diesem Fall bitte die beiden Module 48_HomeConnect.pm und 48_HomeConnectConnection.pm manuell von https://github.com/sw-home/FHEM-HomeConnect/FHEM herunterladen.
Danach FHEM neu starten. Damit die Module auch bei einem normale "update check" mit geprüft wird, muss ferner in die FHEM-Kommandozeile eingetrage werden
update add https://raw.githubusercontent.com/sw-home/FHEM-HomeConnect/master/controls_homeconnect.txt
Basisdefinition
Um mit dem Simulator zu testen, braucht Ihr einen Entwickleraccount bei HomeConnect
Man braucht zwingend einen Advanced Account um Geräte fernstarten zu dürfen. Das kostet nichts, es wird jedoch eine Namensverifikation durchgeführt.
Im Entwickleraccount muss eine Applikation generiert werden, als „Company Name“ im Home Connect Developer Portal bitte “FHEM Betatester“ angeben. Die wichtigste Einstellung der Applikation ist die Redirect URL. Diese URL muss den Host enthalten, den Ihr in Eurer Umgebung für den Zugriff auf FHEM verwendet, also localhost oder 192.168.x.y, und sie muss ein Kommando in dem definierten HomeConnectConnection Modul aufrufen. Die URL sieht dann z.B. so aus:
http://localhost:8083/fhem?cmd.Test=set%20hcconn%20auth%20
Die identische URL muss sowohl auf der Home Connect Seite in der Applikation angegeben werden, als auch bei der Definition in FHEM. Dazu kommen noch der generierte API Key und das Client Secret:
define hcconn HomeConnectConnection API-KEY REDIRECT-URL simulator CLIENT-SECRET
Also zum Beispiel
define hcconn HomeConnectConnection D239EBCABC99994D239EBCABC999B3D2393204 http://localhost:8083/fhem?cmd.Test=set%20hcconn%20auth%20 simulator 994D239EBCABCBCABC999B3D
Danach findet Ihr in dem neuen Device hcconn einen Link namens Home Connect Login. Diesen klicken und die Anmeldung wird durchgeführt. Danach im hcconn-Device noch scanDevices ausführen und Ihr solltet eine stattliche Anzahl Hausgeräte finden.
Um mit echten Geräten zu arbeiten, muss das Wort simulator in der Definition entfernt werden.
Fehler während der Installation
Kam es beim vorangegangenen define zu folgender Fehlermeldung:
Cannot load module HomeConnectConnection
dann ist die Perl-Bibliothek "libswitch-perl" zu installieren:
apt-get install libswitch-perl
Sicherheitsfunktion csrfToken in FHEM
Neueste Versionen von FHEM verwenden eine XSRF Schutzfunktion. Wer diese benutzen möchte, muss ein statisches Token definieren:
attr WEB csrfToken myToken123
und muss dann an seine redirectURL noch diesen Teil anhängen:
&fwcsrf=myToken123
Beispiel:
define hcconn HomeConnectConnection D239EBCABC99994D239EBCABC999B3D2393204 http://localhost:8083/fhem?cmd.Test=set%20hcconn%20auth%20&fwcsrf=myToken123 simulator
Wichtig wie immer: Die Redirect URL muss sowohl im Home Connect Developer Program als auch in der Definition des FHEM HomeConnectConnection devices geändert werden.
Problembehandlung
Frage: Wenn ich Zuhause bin, erreiche ich meinen FHEM-Server unter: https:// 192.168.x.x:8083/fhem. Aus dem Internet erreiche ich FHEM über eine statische IP und Port-forwarding. Funktioniert das dann auch?
Antwort: Es muss kein Zugriff aus dem Internet auf den lokalen Server freigeschaltet werden, der Redirect passiert im eigenen Browser. Aktuell ist nur eine redirect URL möglich, daher müsstest Du dich beim Home Connect Login für eine Variante entscheiden. Man muss sich ja nicht ständig neu einloggen. Ich habe aber gehört dass zukünftig mal eine Liste von URL's hinterlegt werden kann.
Frage: Ich bekomme vor dem Home Connect Login eine Fehlermeldung, sofort nach dem Klick auf "Home Connect Login"
Antwort: Entweder ist der API Key falsch oder die Redirect URL. Letztere muss den korrekten Hostnamen und Port enthalten, und auch den Namen des HomeConnectConnection device in der FHEM Installation. Diese URL muss identisch in der Home Connect App Definition und in der FHEM Definition eingetragen werden.
Frage: Ich bekomme nach dem Home Connect Login "Error" als Meldung in FHEM
Antwort: Dann hat Deine Redirect URL gestimmt und es ist was faul mit dem Api Key.
- Inspiziere mal genau die URL der Seite wo "Error" steht, vielleicht findest Du dort noch eine Fehlermeldung.
- Hast Du das Wort simulator in der Definition mit angegeben? Nur freigeschaltete Betatester können echte Hausgeräte steuern.
- Hast Du einen Advanced Account? Wenn nicht, können die Rechte von FHEM so eingeschränkt werden:
attr hcconn accessScope IdentifyAppliance Monitor
Frage: Die Geräte werden angelegt, aber das einzige, was ich angeboten bekomme ist: StartProgram RemoteProgramNotEnabled
Antwort: Du musst den Fernstart der Spülmaschine aktivieren, erst danach darf FHEM sie starten.
Frage: Nach dem Erlauben des Zugriffs bei HomeConnect erscheint nur ein weißer Bildschirm.
Antwort: Du musst das Attribut csrfToken deines FHEMWEB auf none setzen (oder wie oben beschrieben ein statisches Token installieren)
attr WEB csrfToken none
Unterstützte Geräte
Grundsätzlich funktionieren alle Home Connect Geräte, d.h. sie werden zumindest in FHEM angelegt und ihr Status wird sichtbar. Steuern kann man sie aktuell jedoch noch nicht alle.
Backofen
Steuerung aktuell nicht möglich, aber der Status wird angezeigt
Geschirrspüler
Steuerung möglich, Status wird angezeigt. Die Programmoption BSH.Common.Option.StartInRelative kann vor dem Programmstart auf eine Anzahl Sekunden gesetzt werden, um die der Start verzögert werden soll.