Autor Thema: Home Connect: Fehler in "Change settings"  (Gelesen 802 mal)

Offline Schlimbo

  • Sr. Member
  • ****
  • Beiträge: 556
Home Connect: Fehler in "Change settings"
« 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":
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

Offline Schlimbo

  • Sr. Member
  • ****
  • Beiträge: 556
Antw:Home Connect: Fehler in "Change settings"
« Antwort #1 am: 28 Februar 2018, 19:31:08 »
Bitte auch noch Zeile 174 checken, diese sieht ähnlich aus:
my $json = "{\"data\":{\"key\":\"$command\",\"value\":$optval";

Offline Schlimbo

  • Sr. Member
  • ****
  • Beiträge: 556
Antw:Home Connect: Fehler in "Change settings"
« Antwort #2 am: 28 Februar 2018, 19:52:23 »
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.

Offline swhome

  • Moderator
  • Full Member
  • ***
  • Beiträge: 225
Antw:Home Connect: Fehler in "Change settings"
« Antwort #3 am: 21 März 2018, 11:46:24 »
Der Fehler sollte nun behoben sein, nur noch numerische Werte werden ohne Anführungszeichen übertragen.
Im Einsatz: FHEM auf Raspberry Pi mit 350 devices, hauptsächlich Homematic Wired und HM-Heizungsregler, dazu diverse Eigenbauten für Fussbodenheizung und LED Beleuchtung. Und jetzt mit Alexa!

Offline Schlimbo

  • Sr. Member
  • ****
  • Beiträge: 556
Antw:Home Connect: Fehler in "Change settings"
« Antwort #4 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"}}

Offline Mortas

  • New Member
  • *
  • Beiträge: 16
Antw:Home Connect: Fehler in "Change settings"
« Antwort #5 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