FHEM Forum

FHEM - Hausautomations-Systeme => Home Connect => Thema gestartet von: Schlimbo am 28 Februar 2018, 19:23:47

Titel: Home Connect: Fehler in "Change settings"
Beitrag von: Schlimbo am 28 Februar 2018, 19:23:47
Guten Abend zusammen,
meine Kaffeemaschine ist nun angekommen und wurde natürlich gleich in FHEM integriert.
Beim Versuch die Maschine über FHEM einzuschalten bekam ich aber den gleichen Fehler wie "Hans-Ulrich Tag":
Zitat von: Hans-Ulrich Tag am 28 Oktober 2017, 14:15:57
Und ein Versuch, den Standby zu aktivieren, erzeugt:
{"error":{"key":"400","description":"The request content was malformed:\nUnexpected character 'B' at input index 55 (line 1, position 56), expected JSON Value:\n{\"data\":{\"key\":\"BSH.Common.Setting.PowerState\",\"value\":BSH.Common.EnumType.PowerState.Standby}}\n                                                       ^\n"}}

Im Log steht folgendes:
2018.02.28 18:31:28.533 3: set command: BSH.Common.Setting.PowerState
2018.02.28 18:31:28.534 4: KAFFE0753 PUT request: https://api.home-connect.com/api/homeappliances/SIEMENS-KAFFE0753-54387543782H/settings/BSH.Common.Setting.PowerState with data: {"data":{"key":"BSH.Common.Setting.PowerState","value":BSH.Common.EnumType.PowerState.On}}
2018.02.28 18:31:28.537 4: KAFFE0753: no token refresh needed
2018.02.28 18:31:28.819 4: KAFFE0753 PUT response: {"error":{"key":"400","description":"The request content was malformed:\nUnexpected character 'B' at input index 55 (line 1, position 56), expected JSON Value:\n{\"data\":{\"key\":\"BSH.Common.Setting.PowerState\",\"value\":BSH.Common.EnumType.PowerState.On}}\n                                                       ^\n"}}
2018.02.28 18:31:31.844 5: KAFFE0753 event channel searching for data
2018.02.28 18:31:31.845 5: KAFFE0753 event channel received no data


Aufgefallen ist mir hier, dass der Wert nach "value" nicht in Anführungszeichen steht.
Im Code 48_HomeConnect.pm ist die stelle in Zeile 193 zu finden:
my $json = "{\"data\":{\"key\":\"$command\",\"value\":$setval"
Nach Änderung in
my $json = "{\"data\":{\"key\":\"$command\",\"value\":\"$setval\""
Funktioniert es dann.

@swhome: könntest du dir das bitte mal ansehen und im Modul fixen?

Gruß Schlimbo
Titel: Antw:Home Connect: Fehler in "Change settings"
Beitrag von: Schlimbo am 28 Februar 2018, 19:31:08
Bitte auch noch Zeile 174 checken, diese sieht ähnlich aus:
my $json = "{\"data\":{\"key\":\"$command\",\"value\":$optval";
Titel: Antw:Home Connect: Fehler in "Change settings"
Beitrag von: Schlimbo am 28 Februar 2018, 19:52:23
Zitat von: Schlimbo am 28 Februar 2018, 19:23:47
Nach Änderung in
my $json = "{\"data\":{\"key\":\"$command\",\"value\":\"$setval\""
Funktioniert es dann.
Ganz so einfach ist es leider doch nicht, bei Value muss unterscheiden werden, ob der Datentyp Enumeration,  Integer oder Boolean ist, nur Enumeration muss in Anführungszeichen gesetzt werden.
Titel: Antw:Home Connect: Fehler in "Change settings"
Beitrag von: swhome am 21 März 2018, 11:46:24
Der Fehler sollte nun behoben sein, nur noch numerische Werte werden ohne Anführungszeichen übertragen.
Titel: Antw:Home Connect: Fehler in "Change settings"
Beitrag von: Schlimbo am 21 März 2018, 21:51:22
Hallo Stefan,
das Einschalten klappt leider noch nicht, bekomme noch die gleiche Fehlermeldung wie vorher:
{"error":{"key":"400","description":"The request content was malformed:\nUnexpected character 'B' at input index 55 (line 1, position 56), expected JSON Value:\n{\"data\":{\"key\":\"BSH.Common.Setting.PowerState\",\"value\":BSH.Common.EnumType.PowerState.On}}\n                                                       ^\n"}}
Titel: Antw:Home Connect: Fehler in "Change settings"
Beitrag von: Mortas am 25 März 2018, 10:50:52
Bei mir kommt leider auch ein Fehler bein Ein oder Standby befehl. Kaffe kann ich über fhem rauslassen.

{"error":{"key":"400","description":"The request content was malformed:\nUnexpected character 'S' at input index 55 (line 1, position 56), expected JSON Value:\n{\"data\":{\"key\":\"BSH.Common.Setting.PowerState\",\"value\":Standby}}\n                                                       ^\n"}}

Kann man das irgendwie beheben?

danke euch