Moin,
für die Anbindung der BSH Hausgeräte (ehemals BSH Bosch Siemens Hausgeräte) hat Stefan (swhome) bereits fertige FHEM-Module zur Verfügung gestellt.
48_HomeConnectConnection.pm
48_HomeConnect.pm
Hierfür erstmal ein großes
DANKE! 8)
Die Home Connect GmbH hat eigens für die Anbindung eigener Applikationen ein
Application
Programming
Interface (API) zur Verfügung gestellt.
Über dieses API kann auf die eigenen, bereits bei der Home Connect GmbH angemeldeten, Hausgeräte zugegriffen werden.
Auch die FHEM-Wiki für diese Module ist bereits von Stefan fertiggestellt worden:
https://wiki.fhem.de/wiki/HomeConnect (https://wiki.fhem.de/wiki/HomeConnect)
Alle notwendigen Schritte für die Installation der beiden Module sind der Wiki zu entnehmen.
Wer die Module eigenständig modifiziert muss zwingend die Verbindungsrestriktionen einhalten.
Die Nichteinhaltung der von der Home Connect GmbH auferlegten Restriktionen bzw. RateLimits kann zur Sperrung des Developer-Accounts führen.
https://developer.home-connect.com/?q=docs/api/general/bestpractices (https://developer.home-connect.com/?q=docs/api/general/bestpractices)
https://developer.home-connect.com/?q=support/developer_guidelines (https://developer.home-connect.com/?q=support/developer_guidelines)
Aktueller Entwicklungsstand:Momentan befindet sich das Modul noch in der Betatestphase und kann nur mit einem eigenen Developer-Account bei Home Connect GmbH genutzt werden. Es ist keine explizite Freischaltung der einzelnen Developer-Accounts mehr notwendig.
Die Module laufen zur Zeit stabil, jedoch gibt es seitens der Home Connect GmbH noch kleinere Probleme:
Von Zeit zu Zeit wird die Serververbindung seitens BSH blockiert, im FHEM-LOG wird dies durch folgenden Fehler angezeigt Zitat2017.10.31 05:55:06 2: WTYH7780 event channel received an http error: HTTP/1.1 429 Too Many Requests
gefixtBei laufendem Programm hat die Serverabfrage eine erhebliche Zeitverzögerung - 13.05.2018 - gefixtClient Secret nicht mehr optional - 22.08.2018 - gefixt
Ansprechpartner:Um die Anfragen an die Home Connect GmbH möglichst zu kanalisieren sollten alle Anfragen über mich laufen.
Hierzu sollte möglichst ein neuer Beitag aufgemacht werden, damit haben dann alle etwas davon.
Viel Spaß mit den Modulen...
Updates:Da sich die Module aktuell noch in der Testphase befinden sind regelmäßige Updates unverzichtbar!
HomeConnect möchte einen zu hohen Traffic auf ihren Server zwingend vermeiden.
Sollte das Modul Probleme bereiten wird uns HC darauf hinweisen.
Stafan ist dann bemüht die Probleme schnellstmöglich abzustellen.
Es besteht weiterhin die Möglichkeit, dass User mit veralteten Modulen bis zum Update vorübergehend geperrt werden.
Daher schaut bitte regelmäßg nach Updates, nur so können wir unnötige Komplikationen mit der HC-Crew vermeiden.Danke für euer Verständnis....
Pf@nne
Letzes Update:
- xx.01.2018 - BugFix - json error
- 25.01.2018 - Fix - token Refresh
- 13.05.2018 - Fix - Crash
13.05.2018 - BugFix - Crash
22.08.2018 Support new client secret API feature and stateFormat attribute
Du könntest im Wiki nochmal die Beschriftung der Variabeln korrigieren. Client ID und Client Secret (optional) statt API Key und das Client Secret. Und ein Beispiel ohne Simulator wäre super.
Zitat von: Florian_GT am 15 Dezember 2018, 19:11:38
Du könntest im Wiki nochmal die Beschriftung der Variabeln korrigieren. Client ID und Client Secret (optional) statt API Key und das Client Secret. Und ein Beispiel ohne Simulator wäre super.
Ok, das im Wiki zu hinterlegen, kann ich bei Gelegenheit gerne machen. Die Fragen hatte ich mir auch bei der Ersteinrichtung gestellt. Mir sind da aber auch noch ein paar weitere Fragen aufgekommen.
1. Brauche ich wirklich einen Advanced Account? Wenn ja, wo kann ich das einstellen? Bei "Additional Information" kann ich unter "Account Type" --> "Corporate", "(Open Source) Community" oder "Individual" auswählen, siehe Screenshot. Ich habe mich jetzt mal für "(Open Source) Community" entschieden, oder sollte ich besser "Corporate" verwenden?
2. Wen trage ich unter "Community Contact" ein? Habe mich erstmal selbst hinterlegt. Oder sollte dort der Modulentwickler Pf@nne angegeben werden?
Wie dem auch sei, so wie ich es jetzt konfiguriert habe, funktioniert mein Kühlschrank in FHEM.
Danke für das tolle Modul und viele Grüße Hoppel
Zitat von: hoppel118 am 26 Oktober 2019, 14:45:47
Ok, das im Wiki zu hinterlegen, kann ich bei Gelegenheit gerne machen. Die Fragen hatte ich mir auch bei der Ersteinrichtung gestellt. Mir sind da aber auch noch ein paar weitere Fragen aufgekommen.
1. Brauche ich wirklich einen Advanced Account? Wenn ja, wo kann ich das einstellen? Bei "Additional Information" kann ich unter "Account Type" --> "Corporate", "(Open Source) Community" oder "Individual" auswählen, siehe Screenshot. Ich habe mich jetzt mal für "(Open Source) Community" entschieden, oder sollte ich besser "Corporate" verwenden?
2. Wen trage ich unter "Community Contact" ein? Habe mich erstmal selbst hinterlegt. Oder sollte dort der Modulentwickler Pf@nne angegeben werden?
Wie dem auch sei, so wie ich es jetzt konfiguriert habe, funktioniert mein Kühlschrank in FHEM.
Danke für das tolle Modul und viele Grüße Hoppel
Interessant, Kühlschrank mit welchen Daten? :D
Zitat von: Florian_GT am 19 Januar 2020, 05:24:38
Interessant, Kühlschrank mit welchen Daten? :D
Das ist hier offtopic. Aber schau mal hier: https://forum.fhem.de/index.php?topic=104754.msg986626#msg986626
2 Kameras hat das Teil auch noch. Die Bilder können aber anscheinend bisher nicht über die API abgerufen werden. Ich weiß nicht genau, ob ich ihn nochmal kaufen würde. Auch wenn es ein Schnapper war, kommt er mir tlws. ziemlich laut vor.
Gruß Hoppel
Ich kann mich mit dem Link im Modul erfolgreich einloggen.
Aber sobald ich auf der darauffolgenden Seite dann auf "Zulassen" klicke bekomme ich ein "connection refused" :-(
Was mache ich hier falsch?
Ich habe die Einrichtung nach entsprechend dem WIKI durchgeführt.
Das Device hat bei mir den state Connected.
Laut WIKI soll man dann im hcconn-Device noch scanDevices ausführen. Wo findet man das?
Das Device hcconn anklicken und dort folgendes setzen:
set hcconn scanDevices
Oder du gibst letztes einfach in die FHEM Command Line ein.
Gruß Hoppel
Hi,
danke für das super Modul.
Wollte direkt versuchen, meine Kaffeemaschine zu steuern um mir die extrem langen Alexa Befehle zu sparen.
Allerdings passiert bei mir nach dem set hcconn scanDevices genau gar nichts. :-(
Angemeldet bin ich wohl, meine Kaffeemaschine finde ich aber noch nicht
edit: habs gelöst.
Ich hatte beim accessScope nur CoffeeMaker-Control drin.
nicht aber accessScope
IdentifyAppliance Monitor Settings
--> steuern wäre gegangen, nicht aber das finden der Geräte :-D
Hi, bin super happy mit der hommeconnect implementierung. Wenn unsere bosch waschmaschine fertig ist sagt uns alexa dass wir die Wäsche aufhängen können.
Nun haben wir den Bosch cookit dazubekommen. Der cookit is vergleichbar mit einem Thermomix. 1 Woche auf dem Markt.
Hommeconnect ist dabei eine zentrale schnittstelle.
In der heutigen homeconnect fhem Version wird das geraet auch gefunden, aber auch nicht wirklich viel mehr. An init habe ich mich bisher nicht getraut.
Mach ruhig, kann nix passieren. Geschieht auch bei jedem FHEM Start
Hallo zusammen,
ich versuche gerade unsere neue Spülmaschine einzubinden.
Wenn ich im Developer account "Register application" (unter HomeConnect -> Applications) aufrufe, ist da nix, wo ich wie beschrieben, den "Fhem Betatester" als "Company Name" eingeben kann.
Die verfügbaren Felder lauten:
- Application ID *
- OAuth Flow * -> "Authorization code gran flow" oder "device flow"
- Home Connect User Account for Testing
- Redirect URI *
Dann noch zwei Checkboxen:
- Add additional redirect URIs
- Enable One Time Token Mode
Hat sich da was geändert, oder bin ich nur falsch?
Gruß Roland
Zitat von: hauwech am 04 Dezember 2020, 13:53:00
Hallo zusammen,
ich versuche gerade unsere neue Spülmaschine einzubinden.
Wenn ich im Developer account "Register application" (unter HomeConnect -> Applications) aufrufe, ist da nix, wo ich wie beschrieben, den "Fhem Betatester" als "Company Name" eingeben kann.
Die verfügbaren Felder lauten:
- Application ID *
- OAuth Flow * -> "Authorization code gran flow" oder "device flow"
- Home Connect User Account for Testing
- Redirect URI *
Dann noch zwei Checkboxen:
- Add additional redirect URIs
- Enable One Time Token Mode
Hat sich da was geändert, oder bin ich nur falsch?
Gruß Roland
Servus,
vor dem gleichen Problem stand ich auch....
Als erstens musst du dich registrieren und ganz wichtig deinen Home Connect Account richtig eintragen.
Aber so weit scheinst du ja schon zu sein ;-)
Ich habs heute so zum laufen gebracht:
- Application ID * --> Kannst irgendwas eingeben z.B. FHEM_Geschirrspüler
- OAuth Flow * -> "Authorization code gran flow" oder "device flow" --> ich hab "Authorization code gran flow" stehen lassen
- Home Connect User Account for Testing --> die Email-Adresse mit der du dich bei der Home-Connect App angemeldet hast
- Redirect URI * --> Wie im HOWTO angegeben "http://localhost:8083/fhem?cmd.Test=set%20hcconn%20auth%20"
Dann noch zwei Checkboxen:
- Add additional redirect URIs --> Nein
- Enable One Time Token Mode --> Nein
Deine "App" hat dann eine Client-ID welche in der FHEM-Definition dem API-Key entspricht und einen Client-Secret und eine Redirect-URL
Das alles dann in FHEM "verwurschteln":define hcconn HomeConnectConnection API-KEY REDIRECT-URL CLIENT-SECRET
und dann ein set hcconn scanndevices
Wenn alles richtig ist, sollte dein Gerät angelegt werden.
Gruß Roland
Hallo
wer kann mir helfen die Bäume zu verschieben, damit ich den Wald wieder sehe ::)....
ich habe alle Vorarbeiten gemacht wie es oben und im Wiki steht...hat soweit auch geklappt
anschließend
define hcconn HomeConnectConnection API-KEY REDIRECT-URL CLIENT-SECRET
mit meine Werten hat auch funktioniert
Nach klick auf Home_Connect_Login komme ich zur Login-Seite und kann mich auch einloggen.
Nach dem klick auf zulassen springt mein Browser zurück auf eine leere Seite mit der URL:
http://192.168.2.131:8083/fhem?cmd.Test=set%20hcconn%20auth%&code=eyJ4LXJlZyI6IkVVIiwieC1lbnYiOiJQUkQiLCJ0b2tlbiI6Ijg0OTVlNDYyLTkzN2EtNGNlMS05ZGM4LWQxZDk0ZjM4ZmZjYiIsImNsdHkiOiJwcml2YXRlIn0%3D&state=csrf_889157400654684&grant_type=authorization_code
Mein Modul hcconn hat weiterhin state=Login necessary
Hat jemand eine Idee wo der Fehler liegt?
Gruß Martin
Hallo,
ich bekomme immer folgenden Fehler
"Cannot load module HomeConnectConnection"
die Perl-Bibliothek "libswitch-perl" ist installiert:
:pi@raspberrypi:~ $ sudo apt-get install libswitch-perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
libswitch-perl ist schon die neueste Version (2.17-2).
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Was kann es denn noch sein?
Danke
Zitat von: alpine310 am 20 April 2021, 18:04:53
Hallo
wer kann mir helfen die Bäume zu verschieben, damit ich den Wald wieder sehe ::)....
ich habe alle Vorarbeiten gemacht wie es oben und im Wiki steht...hat soweit auch geklappt
anschließend
define hcconn HomeConnectConnection API-KEY REDIRECT-URL CLIENT-SECRET
mit meine Werten hat auch funktioniert
Nach klick auf Home_Connect_Login komme ich zur Login-Seite und kann mich auch einloggen.
Nach dem klick auf zulassen springt mein Browser zurück auf eine leere Seite mit der URL:
http://192.168.2.131:8083/fhem?cmd.Test=set%20hcconn%20auth%&code=eyJ4LXJlZyI6IkVVIiwieC1lbnYiOiJQUkQiLCJ0b2tlbiI6Ijg0OTVlNDYyLTkzN2EtNGNlMS05ZGM4LWQxZDk0ZjM4ZmZjYiIsImNsdHkiOiJwcml2YXRlIn0%3D&state=csrf_889157400654684&grant_type=authorization_code
Mein Modul hcconn hat weiterhin state=Login necessary
Hat jemand eine Idee wo der Fehler liegt?
Gruß Martin
Ich habe leider das gleiche Problem.
Hast du schon eine Lösung gefunden?
Jetzt läuft es bei mir.
Das Problem war die Sicherheitsfunktion csrfToken in FHEM!!!
Lösung:
attr WEB csrfToken myToken123
und dann an die redirectURL noch diesen Teil anhängen:
&fwcsrf=myToken123
Hallo ist es auch möglich selbst definierte Befehle zu senden? Ich habe einen Deckenlüfter der auch erkannt wird. ich kann aber z.B. nur einen Teil deer möglichen Befehle nutzen da anscheinend nicht mehr erkannt werden. Es gibt aber mehrere Möglichkeiten laut API Doku. Moment nutzte ich die "fehlenden" Befehle über ein NodeRed Modul würde das aber gerne alles über Fhem steuern wollen.
Jemand eine Idee was ich tun müsste ?
list:
Internals:
DEF hcconn SIEMENS-LR99CQS25-68A40E340118
FUUID 613b7968-f33f-26f5-516f-384ab91443cd48a5
NAME LR99CQS25
NR 672
STATE Idle
TYPE HomeConnect
aliasname Dunstabzugshaube
brand Siemens
commandPrefix Cooking.Common.Program.Hood.
eventChannelTimeout 1632052934
haId SIEMENS-LR99CQS25-########
hcconn hcconn
programs Automatic
retrycounter 0
type Hood
vib LR99CQS25
READINGS:
2021-09-19 13:41:09 BSH.Common.Option.ElapsedProgramTime 0 seconds
2021-09-19 13:41:17 BSH.Common.Root.ActiveProgram -
2021-09-19 13:41:17 BSH.Common.Setting.PowerState BSH.Common.EnumType.PowerState.Off
2021-09-17 19:11:24 BSH.Common.Status.LocalControlActive 0
2021-09-19 13:41:17 BSH.Common.Status.OperationState BSH.Common.EnumType.OperationState.Inactive
2021-09-17 19:11:24 BSH.Common.Status.RemoteControlActive 1
2021-09-17 19:11:24 BSH.Common.Status.RemoteControlStartAllowed 1
2021-09-19 13:41:09 Cooking.Common.Option.Hood.IntensiveLevel Cooking.Hood.EnumType.IntensiveStage.IntensiveStageOff
2021-09-19 13:41:09 Cooking.Common.Option.Hood.VentingLevel Cooking.Hood.EnumType.Stage.FanStage01
2021-09-17 13:12:32 Cooking.Common.Setting.Lighting 0
2021-09-17 13:12:32 Cooking.Common.Setting.LightingBrightness 2 %
2021-09-19 13:41:17 state Idle
Attributes:
alias Dunstabzugshaube
event-on-change-reading .*
room Home Connect,Kueche
webCmd BSH.Common.Root.SelectedProgram:startProgram:stopProgram
Leider ist die Dokumentation ziemlich kryptisch - ich bekomme es jedenfalls noch nicht hin.
Wenn ich im HomeConnectConnection Device set hcconn LoginNecessary absetze, passiert - gar nichts. Keine Fehlermeldung, niente. _Was genau_ sollte denn passieren?
ClientID und ClientSecret sind beide gesetzt,
LG
pah
Hallo Pah,
bei "set hcconn LoginNecessary" passiert bei mir auch nichts, allerdings gibt es über der Befehlszeile noch eine zusätzliche "Home Connect Login" Schaltfläche, damit komme ich auf eine Login Seite von Home Connect.
Edit: gerade gesehen, dass es ja schon gelöst wurde: https://forum.fhem.de/index.php/topic,123893.0.html
Und ich habe auch schon die Dokumentation im Wiki überarbeitet.
LG
pah
mal ne doofe Frage.... Funktioniert das Modul noch?
Nach der Neuerrungenschaft und dem manuellen Herunterladen, bekomme ich beim Anlegen des Devices
define hcconn HomeConnectConnection 7xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx0 http://192.168.0.xx:8083/fhem?cmd.Test=set%20hcconn%20auth%20 9xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx4
kommt nur nen Fehler:
Cannot load module HomeConnectConnection
im FHEM und im LOG...
2021.11.10 21:38:36 1: PERL WARNING: Bareword found where operator expected at ./FHEM/48_HomeConnectConnection.pm line 8, near ""en" data"
2021.11.10 21:38:36 1: PERL WARNING: (Missing operator before data?)
2021.11.10 21:38:36 1: PERL WARNING: Bareword found where operator expected at ./FHEM/48_HomeConnectConnection.pm line 8, near ""auto" data"
2021.11.10 21:38:36 1: PERL WARNING: Bareword found where operator expected at ./FHEM/48_HomeConnectConnection.pm line 8, near ""light" data"
2021.11.10 21:38:36 1: reload: Error:Modul 48_HomeConnectConnection deactivated:
Excessively long <> operator at ./FHEM/48_HomeConnectConnection.pm line 20.
2021.11.10 21:38:36 0: Excessively long <> operator at ./FHEM/48_HomeConnectConnection.pm line 20.
FHEM läuft im Docker und ist eigentlich aktuell....
Cheers[/s]
OK... vergesst es.. WGET war dran schuld beim manuellen ziehen der Dateien :)
Derzeit haben meine Geräte keine Verbindung zur BSH-Cloud, die Fehlermeldung lautet "Login necessary".
Das kennen wir ja schon, also "HomeConnect Login" angeklickt - und dann geht es mit den korrekten Credentials nicht.
Also versuche ich, das Passwort zurückzusetzen, gebe meine Mailadresse ein - aber eine Mail kommt bei mir nie an.
Dann stelle ich fest, dass der Login-Versuch umgeleitet wird. Er landet nämlich nicht bei
Zitathttps://api.home-connect.com/security/oauth/authorize
sondern bei
Zitathttps://api-rus.home-connect.com/security/oauth/authorize
Schlussfolgerung: Möglicherweise wurde der BSH-Server gehackt. Also bitte vorsichtig sein, bis sich die Lage geklärt hat.
LG
pah
... der BSH-Server läuft wieder, aber das wird allen/ einigen schon aufgefallen sein :)
Und eine kurze Frage hätte ich zum Modul. Ich besitze eine Kaffeevollautomat EQ9 und hätte gern gewußt, was sich so alles über das Modul anstellen läßt.
Das ich damit meine Kaffeesorten auswählen kann und dann per FHEM das Programm auch starten kann ist mir soweit bekannt, aber wie sieht es mit Funktionen bzw. Meldungen wie Bohnenbehälter auswählen, Satzbehälter voll, Wassertank leer oder Bohnenbehälter leer, aus? Kann man diese Funktionen irgendwie "aktivieren"?
Danke vorab.
Gruß André
Hi @all: Sagt mal, wird euer Geschirrspüler auch nicht mehr aktualisiert? In der HomeConnect-App alles fein, aber in FHEM gibt es kein Lebenszeichen mehr. Auch in Alexa, Test über homeBridge und Smartthings liefert zum Geschirrspüler nur "offline". Wenn jemand Ideen hat, immer gern her damit, denn die Info, dass er fertig ist und ich ihn öffnen kann/sollte ist schon hilfreich ;-)
Hi André,
ich nutze in einem DOIF zum Beispiel folgendes, um die Getränke-Art zu bestimmen (mache ich, da so bei nicht definierten Dingen "unbekanntes Getränk" als Ergebnis gesetzt wird):
([CTL636EB6:BSH.Common.Root.ActiveProgram] eq "ConsumerProducts.CoffeeMaker.Program.Beverage.Coffee") (setreading $SELF Kaffeesorte Kaffee)
Im gleichen DOIF habe ich dann auch Definitionen, die mich über meine ECHO darüber informieren, dass ein Getränk fertig ist (und welches):
([CTL636EB6:BSH.Common.Status.OperationState] eq "BSH.Common.EnumType.OperationState.Finished" and [$SELF:Kaffeesorte] eq "Kaffee")
Mit Bohnenbehälter, Wasserbehälter und Tropfschale hatte ich auch schon einmal "rumgespielt", aber habe es nicht mehr aktiv (sehe ich ja, wenn ich das Getränk aus der Maschine nehme :)). Dazu hat es mit der Ausgabe bei mir nicht immer zuverlässig funktioniert, da die Meldungen ja i.d.R. zeitgleich mit der Aktualisierung der anderen States kommen (also auf meine o.g. DOIF-Dinge).
Müsste aber wie folgt sein:
Bohnenbehälter:
ConsumerProducts.CoffeeMaker.Event.BeanContainerEmpty <> BSH.Common.EnumType.EventPresentState.Off
Tropfschale:
ConsumerProducts.CoffeeMaker.Event.DripTrayFull <> BSH.Common.EnumType.EventPresentState.Off
Wassertank:
ConsumerProducts.CoffeeMaker.Event.WaterTankEmpty <> BSH.Common.EnumType.EventPresentState.Off
Viele Grüße
Sascha
Nach diesem Erlebnis mit dem BSH-Server hoffe ich, dass jemand diesen Mist hackt und ein cloudfreier Zugriff möglich ist.
LG
pah
Moin Prof.,
welchen Mist meinst du genau?
Die api Links die du postest sind doch von der Domain her identisch. Wobei api-rus tatsächlich sehr verdächtig klingt.
Das würde bedeuten, dass jemand Zugriff auf die Domain hatte und die Subdomain api-rus erstellen konnte.
Hm... Gibts da irgendwelche Belege für? Oder von welchem Mist redest du genau?
Gruß Hoppel
Ich habe nun auch einen Geschirrspüler mit HC, aber ich scheitere fatal an der Einrichtung laut WIKI. Meine Definition in FHEM ist:
defmod hcconn HomeConnectConnection AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA http://192.168.57.30:8083/fhem?cmd.Test=set%20hcconn%20auth%20 BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
attr hcconn room Development
setstate hcconn Login necessary
setstate hcconn 2022-07-06 18:21:31 state Login necessary
und in Home Connect Developer Program:
Access Private
Home Connect user account for testing FHEM-HA Add more
OAuth Flow Authorization Code Grant Flow
Client ID AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Client Secret (required) BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
Redirect URIs http://192.168.57.30:8083/fhem?cmd.Test=set%20hcconn%20auth%20
One Time Token Mode Enabled
Proof Key for Code Exchange Enabled
Wenn ich dann auf das "Login" klicke werde ich auf die Seite https://api.home-connect.com/security/oauth/authorize?response_type=code&redirect_uri=http%3A%2F%2F192.168.57.30%3A8083%2Ffhem%3Fcmd.Test%3Dset%2520hcconn%2520auth%2520&realm=fhem.de&client_id=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&scope=IdentifyAppliance%20Monitor%20Settings%20Dishwasher-Control%20Washer-Control%20Dryer-Control%20CoffeeMaker-Control&state=csrf_259071043683027 (https://api.home-connect.com/security/oauth/authorize?response_type=code&redirect_uri=http%3A%2F%2F192.168.57.30%3A8083%2Ffhem%3Fcmd.Test%3Dset%2520hcconn%2520auth%2520&realm=fhem.de&client_id=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA&scope=IdentifyAppliance%20Monitor%20Settings%20Dishwasher-Control%20Washer-Control%20Dryer-Control%20CoffeeMaker-Control&state=csrf_259071043683027) geschickt und dort wird folgendes angezeigt:
{
"error": "invalid_request",
"error_description": "Missing code challenge",
"state": "csrf_259071043683027"
}
Was habe ich falsch gemacht ? Die App am Handy funktioniert einwandfrei. Danke
Bei mir geht es leider auch nicht.
{
"error": "unauthorized_client",
"error_description": "client not authorized for this oauth flow (grant_type)",
"state": "HomeConnectConnection_auth"
}
Internals:
DEF 9C05EAAC030492153777F5257284179093A2373E860598BF060D79XXXXXXXXXX http://192.168.1.100:8083/fhem?cmd.Test=set%20hcconn%20auth%20 35306929638CB5CE8BD362982A86B622DD131FF60721C414504111XXXXXXXXXX
FUUID 62c06976-f33f-ec85-f191-96a2a4b9e21b466e
FVERSION 48_HomeConnectConnection.pm:?/2022-07-02
NAME hcconn
NR 830
STATE Login necessary
TYPE HomeConnectConnection
api_uri https://api.home-connect.com
client_id 9C05EAAC030492153777F5257284179093A2373E860598BF060D79XXXXXXXXXX
client_secret 35306929638CB5CE8BD362982A86B622DD131FF60721C414504111XXXXXXXXXX
eventCount 1
expires_at
redirect_uri http://192.168.1.100:8083/fhem?cmd.Test=set%20hcconn%20auth%20
READINGS:
2022-07-07 07:25:31 state Login necessary
Attributes:
room HomeConnect
Außerdem gibt es die Seite aus dem Wiki nicht ("404")
//[code][code]https://github.com/sw-home/FHEM-HomeConnect/FHEM[/code][/code]
Access Private
Private access is limited to a single Home Connect user account as defined.
Home Connect user account for testing meine@email.de
OAuth Flow Device Flow
Client ID 9C05EAAC030492153777F5257284179093A2373E860598BF060D79XXXXXXXXXX
Client Secret (required) 35306929638CB5CE8BD362982A86B622DD131FF60721C414504111XXXXXXXXXX
Success Redirect http://192.168.1.100:8083/fhem?cmd.Test=set%20hcconn%20auth%20
One Time Token Mode
Kurzer Ping - bei mir hat die Einrichtung eines Geschirrspülers mit Fhem Anbindung problemlos geklappt - jetzt muss ich nur noch den Fertig-Status irgendwie erkennen/benachrichtigen.
Ich habe seit gestern zusätzlich zur Waschmaschine auch noch Geschirrspüler, Kochfeld und Backofen in Home Connect installiert. Ging problemlos: Erst mit der doofen App die Geräte registrieren, dann im Bridge Device "scanDevices" - und alle werden erkannt.
Für lesbare Statusmeldungen (und mein Sprachinterface natürlich) gibt es für Waschmaschine und Geschirrspüler Hilfsroutinen.
##############################################################################
#
# Geschirrspüler
#
##############################################################################
sub dishTime($){
my ($opt) = @_;
my $sec = ReadingsNum("SN55ZS49CE","BSH.Common.Option.RemainingProgramTime",0);
my $h = int($sec/3600);
my $m = ceil( ($sec-3600*$h)/60);
my $str;
if( $opt == 1 ){
return sprintf("%02d:%02d",$h,$m);
}else{
if( $h > 1){
$str = sprintf("%d Stunden %d Minuten",$h,$m)
}elsif( $h == 1){
$str = sprintf("eine Stunde %d Minuten",$m)
}else{
$str = sprintf("%d Minuten",$m)
}
if( $opt == 2 ){
return $str;
}else{
return "im ".dishProgram(1).", dieses dauert noch ".$str;
}
}
}
sub dishProgram($){
my ($opt) = @_;
my $ps = ReadingsVal("Spülmaschine","state","");
if( $ps =~ /Idle/){
return "Programm fertig"
}elsif( $ps =~ /Offline/ ){
if( $opt == 1 ){
return "Offline";
}else{
return "";
}
}
my $pp = ReadingsVal("SN55ZS49CE","BSH.Common.Option.ProgramProgress","");
my $pa = ReadingsVal("SN55ZS49CE","BSH.Common.Root.ActiveProgram","");
my %pa2a = ("Dishcare.Dishwasher.Program.Eco50" => "Eco 50",
...
my $pa2 = $pa2a{$pa};
if( $opt == 1 ){
return sprintf("Programm %s (%s)",$pa2,$pp);
}else{
return sprintf("Programm %s, dieses ist zu %s fertig",$pa2,$pp);
}
}
und userReadings
rTime:BSH.Common.Option.RemainingProgramTime.* {washTime(1)}, msgTime:BSH.Common.Option.RemainingProgramTime.* {washTime(2)}, rProgram:BSH.Common.Option.ProgramProgress.* {washProgram(1)},msgProgram:BSH.Common.Option.ProgramProgress.* {washProgram(2)}, msgAll:BSH.Common.Option.RemainingProgramTime.* {washTime(3)}
sowie ein DOIF
([WAV28G43:".*BSH.Common.EnumType.OperationState.Finished.*"])
({fhem193Cmd('set TelegramBot message xxxxx Die Waschmaschine ist fertig!')},
{fhem193Cmd('set TelegramBot message xxxxx Die Waschmaschine ist fertig!')},
{speak('Tab1.EG',"Die Waschmaschine ist fertig")},
setreading WAV28G43 msgAll derzeit nicht)
LG
pah
Hi,
für mich hab ich ein neues Userreading erstellt der die Uhrzeit des Fertigstellen berechnet, vielleicht braucht es ja jemand.
attr <DevName> userReadings <DevName>.mytime_fin:BSH.Common.Option.RemainingProgramTime:.* {\
use Date::Parse;;\
my $timestamp = ReadingsTimestamp("<DevName>","BSH.Common.Option.RemainingProgramTime","2000-01-01 00:00:00");;\
my $seconds = time_str2num($timestamp);;\
my $addsec = sprintf("%.0f",ReadingsNum($name,"BSH.Common.Option.RemainingProgramTime",0));;\
my $fin_time = $seconds + $addsec;;\
\
my $result = POSIX::strftime("%H:%M",localtime($fin_time));;\
return "$result";;\
}
So etwas gehört nicht in die Konfiguration, sondern in ein Perl-Modul.
LG
pah
Hallo @all,
ich habe meinen Geschirrspühler soweit angebunden.
Ich muß mal blöd fragen: welchen Vorteil hat die Anbindung in FHEM? Ok, Telegram schickt mir eine Nachricht 5 min bevor und wenn er fretig ist. Ich hatte jedoch z.B. auf Verbrauchswerte gehofft. Gibt es die Möglichkeit?
Startet wirklich jemand den Spühler aus FHEM heraus? -also erst einräumen, dann Tür schließen, damm zum PC (oder #Endgerät) und starten? Ich sehe den Vorteil nicht.
Gruß,
Adolar
Nun ja das ist etwas Offtopic. Du könntest bzgl. Home Connect / FHEM deinen Geschirrspüler von unterwegs starten wollen, weil du noch nicht weißt, wann du nach Hause kommst. Ich stelle nach Programmablauf gern die Tür auf, damit das Geschirr und insbesondere Plastikteile besser trocknet (trotz Zeolith-Gedöns bei den BSH-Geräten). Es geht hier also um eine flexible Startzeit oder auch Endzeit-Vorwahl...
Spühler, soso.
ZitatIch sehe den Vorteil nicht.
Nun, dann Augen auf. Beispiel: Mit einem einzigen Kommando so einstellen, dass die Spülmaschine um 6:00 in der Frühe fertig ist. Entlastet die Stromnetze kolossal.
LG
pah
Ja, gut, ok, Danke.
Und nix mit Messwerten :(
Wie sollte die interne Elektronik das auch messen, wenn sie keine entsprechenden Sensoren hat? Immerhin produziert meine Spülmaschine Readings "EnergyForecast" und "WaterForecast". Prinzipiell könnte ich den Energie- und Wasserverbrauch auch messen, wenn ich das Ding mal nachts laufen lasse und die Grundlast abziehe. Habe ich aber noch nicht gemacht, insofern kann ich zur Genauigkeit dieser Daten keine Aussage machen.
Das eigentliche Problem bei HomeConnect ist, dass BSH nicht von dieser blöden Cloud-Idee abweichen will und den Daumen auf bestimmte Sachen hält (angeblich aus Sicherheitsgründen). Zusammen mit dem völlig inkońsistenten API (vor allem, wenn man über mehrere Gerätetypen hinweg nach Lösungen sucht) führt das zu der klaren Einstufung als "Sackgasse der SmartHome-Evolution".
Aus meiner Sicht ist der wirkliche Grund für diese absurde Firmenpolitik, dass man auf diese Weise Werbung (inklusive In-App-Käufe) zum Kunden transportieren. Die Marketing-Abteilung schwingt da wohl das große Wort.
LG
pah
Readings mit *Forecast bzw Energ* oder Water* bekomme ich leider nicht - zumindest steht nichts im log.
Zitat von: Sascha_F am 16 Februar 2022, 06:51:17
Hi @all: Sagt mal, wird euer Geschirrspüler auch nicht mehr aktualisiert? In der HomeConnect-App alles fein, aber in FHEM gibt es kein Lebenszeichen mehr. Auch in Alexa, Test über homeBridge und Smartthings liefert zum Geschirrspüler nur "offline". Wenn jemand Ideen hat, immer gern her damit, denn die Info, dass er fertig ist und ich ihn öffnen kann/sollte ist schon hilfreich ;-)
Hi @all,
genau dieses Problem habe ich auch ! Mein Geschirrspüler zeigt auch nur noch "offline" - gibt es da schon eine Lösung ?
(EDIT)
So wie es aussieht , war die Verbindung vom Geschirrspüler zum Server nicht in Ordnung !
In der Handy-App /Einstellungen habe ich die Verbindung zum Server einmal On/Off gesetzt ....nun scheint es wieder zu gehen :-)
Hallo,
Ich wollte das Modul testen, da wir vor der Wahl stehen welche der nächste Geschirrspüler wird.
Ich habe alles angelegt und mich auch verbunden. Dann habe ich ein Demogerät angelegt, aber dieses wird nicht angezeigt.
Ich habe gelesen das ich simulator vor die ClientID packen soll. Dann kann ich mich aber nicht mehr anmelden,
Hat jemand eine Idee?
Zitat von: FHEM PI am 31 Juli 2021, 21:32:33Zitat von: alpine310 am 20 April 2021, 18:04:53Hallo
wer kann mir helfen die Bäume zu verschieben, damit ich den Wald wieder sehe ::)....
ich habe alle Vorarbeiten gemacht wie es oben und im Wiki steht...hat soweit auch geklappt
anschließend
define hcconn HomeConnectConnection API-KEY REDIRECT-URL CLIENT-SECRET
mit meine Werten hat auch funktioniert
Nach klick auf Home_Connect_Login komme ich zur Login-Seite und kann mich auch einloggen.
Nach dem klick auf zulassen springt mein Browser zurück auf eine leere Seite mit der URL:
http://192.168.2.131:8083/fhem?cmd.Test=set%20hcconn%20auth%&code=eyJ4LXJlZyI6IkVVIiwieC1lbnYiOiJQUkQiLCJ0b2tlbiI6Ijg0OTVlNDYyLTkzN2EtNGNlMS05ZGM4LWQxZDk0ZjM4ZmZjYiIsImNsdHkiOiJwcml2YXRlIn0%3D&state=csrf_889157400654684&grant_type=authorization_code
Mein Modul hcconn hat weiterhin state=Login necessary
Hat jemand eine Idee wo der Fehler liegt?
Gruß Martin
Ich habe leider das gleiche Problem.
Hast du schon eine Lösung gefunden?
Jetzt läuft es bei mir.
Das Problem war die Sicherheitsfunktion csrfToken in FHEM!!!
Lösung:
attr WEB csrfToken myToken123
und dann an die redirectURL noch diesen Teil anhängen:
&fwcsrf=myToken123
Hallo,
ich habe auch das oben beschriebene Problem, aber die hier zitierte "Lösung" funktioniert bei mir nicht. Es bleibt weiterhin bei Login Necessary. Was mache ich falsch?
Zitat von: laufhem am 30 Oktober 2023, 22:51:47Zitat von: FHEM PI am 31 Juli 2021, 21:32:33Zitat von: alpine310 am 20 April 2021, 18:04:53Hallo
wer kann mir helfen die Bäume zu verschieben, damit ich den Wald wieder sehe ::)....
ich habe alle Vorarbeiten gemacht wie es oben und im Wiki steht...hat soweit auch geklappt
anschließend
define hcconn HomeConnectConnection API-KEY REDIRECT-URL CLIENT-SECRET
mit meine Werten hat auch funktioniert
Nach klick auf Home_Connect_Login komme ich zur Login-Seite und kann mich auch einloggen.
Nach dem klick auf zulassen springt mein Browser zurück auf eine leere Seite mit der URL:
http://192.168.2.131:8083/fhem?cmd.Test=set%20hcconn%20auth%&code=eyJ4LXJlZyI6IkVVIiwieC1lbnYiOiJQUkQiLCJ0b2tlbiI6Ijg0OTVlNDYyLTkzN2EtNGNlMS05ZGM4LWQxZDk0ZjM4ZmZjYiIsImNsdHkiOiJwcml2YXRlIn0%3D&state=csrf_889157400654684&grant_type=authorization_code
Mein Modul hcconn hat weiterhin state=Login necessary
Hat jemand eine Idee wo der Fehler liegt?
Gruß Martin
Ich habe leider das gleiche Problem.
Hast du schon eine Lösung gefunden?
Jetzt läuft es bei mir.
Das Problem war die Sicherheitsfunktion csrfToken in FHEM!!!
Lösung:
attr WEB csrfToken myToken123
und dann an die redirectURL noch diesen Teil anhängen:
&fwcsrf=myToken123
Hallo,
ich habe auch das oben beschriebene Problem, aber die hier zitierte "Lösung" funktioniert bei mir nicht. Es bleibt weiterhin bei Login Necessary. Was mache ich falsch?
Problem "gelöst". Die Netzwerkkonfiguration meines Raspberry Pi in Verbindung mit einem RaspAP Bridged AP hat dazu geführt, dass fhem keine Verbindung ins Internet bekam.
Moin,
habe seit Mitte Oktober 2023 das Problem, dass meine Kühl-Gefrierkombonation nicht mehr ansprechbar war. Stand auf state "init" und beim set auf init tat sich nichts weiter. Ich habe dann das Gerät in FHEM gelöscht und mit scanDevices versucht neu anzulegen. Es tut sich jedoch nichts, man kann auch nicht erkennen, dass irgendetwas an den Server geschickt wird. FHEM ist upgedatet auch die beiden HomeConnect und HomeConnectConnection Module. Es sieht derzeit so aus:
Internals:
DEF F197AC836952D56BCAA9FF60B7622184FE1ABDEF862F478AACABDXXXXXXXXXX
http://192.168.2.111:8083/fhem?cmd.Test=set%20hcconn%20auth%20&fwcsrf=XXXXXXXXX A5D79A71BE77510F45F774C3D863AB2BE539D3694F9962C65XXXXXXXXXXXXX
FUUID 63fd039b-f33f-5d47-d40f-d224adf3cce6ab2f
NAME hcconn
NR 245
STATE Connected
TYPE HomeConnectConnection
api_uri https://api.home-connect.com
client_id F197AC836952D56BCAA9FF60B7622184FE1ABDEF862F478AACAXXXXXXXXXXXX
client_secret A5D79A71BE77510F45F774C3D863AB2BE539D3694F9962C65XXXXXXXXXXXX
eventCount 4
expires_at 1700318104.51593
redirect_uri http://192.168.2.111:8083/fhem?cmd.Test=set%20hcconn%20auth%20&fwcsrf=XXXXXXXXX
refreshFailCount
READINGS:
2023-11-17 15:35:04 state Connected
2023-11-17 15:35:04 tokenExpiry Sat Nov 18 15:35:04 2023
Attributes:
Die HomeConnect App funktioniert nach wie vor einwandfrei.
Keine Fehlereinträge in FHEM.
Habe schon im Developer die Applikation gelöscht und neu angelegt. Er verbindet zwar mit den neuen ID's , aber legt bei ScanDevices kein Gerät an...
Was mache ich falsch?
LG
Olaf
Zitat von: SebastianStorb am 07 Juli 2022, 07:30:04Bei mir geht es leider auch nicht.
{
"error": "unauthorized_client",
"error_description": "client not authorized for this oauth flow (grant_type)",
"state": "HomeConnectConnection_auth"
}
Ich war gerade auch mit diesem Problem bei der Einrichtung konfrontiert. Die Lösung war, dass man aufpassen muss, welche Client ID man einträgt. Es gibt eine allgemeine für den API Web Client und eine eigene für die angelegte FHEM Application. Man muss dann natürlich die der FHEM Application eintragen, dann hat es bei mir funktioniert.
Hallo,
als neuer Besitzer einer Bosch Waschmaschine mit HomeConnect wollte ich natürlich gleich loslegen.
Allerdings komme ich mit meinem bescheidenen Wissen nicht klar.
Kann mir jemand die Richtung geben zu einer "Anleitung" die funktioniert.
Hier im Forum sind zwar seeehr viele Einträge zum Thema Homeconnect, aber den für mich hilfreichen habe ich noch nicht gefunden.
Im Wiki passen leider schon mal die Links zu den Programmen nicht ... :'(
Bin wirklich für jede Hilfe dankbar.
Danke
ErdnaR
@olbetec: Ist denn die eingetragene redirect_uri so erreichbar?
@erdnar:
Den einen (!) Link, der nicht "passte" habe ich korrigiert. Allerdings halte ich es auch für zumutbar, im Github die Suchfunktion nach HomeConnect zu benutzen.
Die Anleitung "funktioniert" auch. Einfach schrittweise vorgehen, und konkrete Fehlermeldungen abgeben, wenn man irgendwo hängen bleibt.
pah
Hallo pah,
vielen Dank. Ich schaue mal ob ich weiterkomme.
Ich war gleich mutlos, als der erste Link der Anleitung ins Leere lief. Ich muss wohl etwas experimentierfreudiger werden ... O:-)
ErdnaR
Hallo,
ich habe mittlerweile die Installation hinbekommen.
Unter developer.home-connect.com/applications habe ich die Redirect URI angegeben und ClientID/ClientSecret erzeugt.
Leider habe ich wohl ein Verständnisproblem mit der Redirect URI.
Angegeben habe ich sie wie im Wiki "http://192.168.2.132:8083/fhem?cmd.Test=set%20hcconn%20auth%20".
Nach dem Klick auf den "Home Connect Login", der Anmeldung und dem anschließenden "Zulassen" lande ich mit nachfolgendem (hier anonymisierten) Link auf Error 400:
http://192.168.2.132:8083/fhem?cmd.Test=set%20hcconn%20auth%20&code=eyJ4LXabcyI6IkVVIiwieCABCnYiOiJQUkQiLCJjcaBcIjoiODFEMURGNjUiLCJ0b2tAbCI6IjI4ZDkyZTI3LWFlZTgtNGABcC04YTU4LTliNTNmMTabCzMwMiIsImNsdHkiOiJwcabcYXRlIn0%3D&state=csrf_123456789012345&grant_type=authorization_code
Was genau macht cmd.Test=set%20hcconn%20auth%20 ?
Was habe ich verpennt/übersehen?
Danke vorab.
ErdnaR
Hab mal was selbst gefunden ... mit attr WEB csrfToken none
klappt es.
Steht auch im Wiki ::)
Zitat von: Prof. Dr. Peter Henning am 24 Januar 2024, 04:54:29@olbetec: Ist denn die eingetragene redirect_uri so erreichbar?
pah
Ja, Home Connect Connection war durchgängig erreichbar. Ich hatte das Gerät im Account gelöscht und mit neuen ID's und Tokens neu verbunden. Eine Suche (ScanDevices) nach dem Kühlschrank blieb seit Oktober 23 erfolglos.
Ich bin gestern via Anna vom Home Connect Team per Email-Newsletter aufgefordert worden, mein Home Connect Gerät zu verbinden (???, war ja bisher stets verbunden und über die HomeConnect App erreichbar!). Nun habe ich das Gerät in der App neu verbunden und dann in FHEM in der Home Connect Connection ein ScanDevices durchgeführt und er ist wieder da!
Und neuerdings werden neben dem bisherigen Door-Status offen/geschlossen, auch wie in der App die Tür Stati von Kühlfach und Gefrierfach gemeldet.
Nun bin ich wieder zufrieden...
Ich hatte per Readingsgroup eine Übersicht gestaltet, bei Interesse kann ich das gern hier einstellen.
LG OlBe
PS: Die Readings für die Events Door Alarm Freezer/Refrigerator (Refrigeration.FridgeFreezer.Event.DoorAlarmRefrigerator, Refrigeration.FridgeFreezer.Event.DoorAlarmFreezer) bekommt man nur, wenn man die Events auslöst (also die jeweiligen Türen länger öffnen) und dann einen "set requestSettings" absetzt, während das Event besteht. Dann werden sie in den Readings eingetragen und man kann sie entsprechend auswerten.
Bei den entsprechenden Temperatur Events ist es wohl ähnlich, jedoch wollte ich das jetzt nicht ausprobieren...