Home Connect binding

Hi @mjeshurun,

thanks for willing to test and help.
Committing logs and feedback for 2., 4. and 5. would be great.

Thanks,
Jonas

Cool. Iā€™ll reply again once I receive the devices and we can continue with testing.
All the best till then :slight_smile:

Hi,

Iā€™ve updated the installation guide. It would be great if you could read and check it before I will create a Pull-Request for the official code repository.

Current binding download: org.openhab.binding.homeconnect-2.5.0.201909041200.jar

Thanks,
Jonas

Hi Jonas,

I finally had some time to test!

The item discovery went well, but when I tried to configure them via filebase config I had :offline.log (35.8 KB)

and 10 error resulted in:
2019-09-05 21:00:35.049 [ERROR] [dler.AbstractHomeConnectThingHandler] - Could not fetch available programs. Communication error! response code: 429, message: Too Many Requests, body: {
ā€œerrorā€: {
ā€œkeyā€: ā€œ429ā€,
ā€œdescriptionā€: ā€œThe rate limit ā€œ10 successive error calls in 10 minutesā€ was reached. Requests are blocked during the remaining period of 581 seconds.ā€
}
}

At this moment, it works again, no idea what went wrongā€¦
I just turned on and off the hood via openhab! whow :slight_smile:

About two weeks of homeconnect log. I think it is the 2.5.0.201908230845 version i tested.
homeconnect.zip .txt (156.1 KB)

I did not notice any problems, except the iDos empty notification does show up in the home connect app and i would like to get that in openHAB too.

Iā€™m still struggling with the oven control.

Not all programs show in the binding but this seems to be a limitation of Home Connect itself.

I am wondering if other people see the same granted scopes on the home connect developer account.

Iā€™m mostly interested why Iā€™m missing the control options in on the oven.

Nice. Will check your log soon.
Is it possible that you send me a screenshot of your paperUI (overview)?

Thanks :smiley:

Hi @janser1,

Not all programs show in the binding but this seems to be a limitation of Home Connect itself.

Iā€™ve noticed it too some of my tested devices. The API is not responding all available programs.

I am wondering if other people see the same granted scopes on the home connect developer account.

Yes, thatā€™s normal. You need to sign an additional partner agreement to access the other scopes.

Iā€™m mostly interested why Iā€™m missing the control options in on the oven.

Did you tried the latest binding version? Can you start a program?

Thanks for the log file. I resolved the error in the current binding version. If the device is offline you cannot trigger commands.

Iā€™m just wondering. According to the logs your hood has doors :smiley: Maybe it was a bug I already fixed.

Just got around to setup an betahab aswell. Its compleatly standalone, and has 0 config except the homeconnect binding.

After going through the documentation you provided on the github page, it worked and managed to discover all my items. I got 5 items, so pretty quick it gave me this:
ā€œdescriptionā€: ā€œThe rate limit ā€œ50 calls in 1 minuteā€ was reached. Requests are blocked during the remaining period of 40 seconds.ā€

But it did discover everything. Attatched screenshot.

Ill let this system run, so i wont be limited by the 50 calls for a while. And if you want, i can upload the logs after cooking dinner etc etc later tonight.

:+1:

You have to many devices :smiley: Maybe I should add a note about this problem to the documentation. ā€œPlease only add max. 2 devices at a time due to API limitationsā€¦ā€

This would be really great. Thanks in advance.

Hi again. I just left it on with no items defined. So it seems like it dosent pickup any changes.

Ill create and testing .items file and see if i can get more into the logs.
but i noticed this in the log:
2019-09-13 02:25:45.531 [WARN ] [internal.client.HomeConnectApiClient] - [SIEMENS-LC97FVW60S-68A40E088F9F] SSE error: \n not found: limit=0 content=ā€¦

2019-09-13 02:26:10.293 [WARN ] [internal.client.HomeConnectApiClient] - [SIEMENS-HM876GDB6S-68A40E195295] SSE error: \n not found: limit=0 content=ā€¦

2019-09-13 02:27:28.390 [WARN ] [internal.client.HomeConnectApiClient] - [SIEMENS-HM876GDB6S-68A40E195295] SSE error: null

Guess the \n thingy is an bug?

Some more info. I added the hob and hood manually to an items file. (Note im at work now, so i cant interact with them ā€œmanually.ā€) Will let it run for a day too fetch some data.

Here is my items file:

Group gHC "Home Connect" <whitegood>


// Siemens Ventilator (SIEMENS-LC97FVW60S-68A40E088F9F - Home Connect connected kitchen hood.
Group 		gHChood                 	"Siemens Ventilator"    <fan>   	(gHC)
Switch 		HPowerState			"Power State"				(gHChood)	{ channel="homeconnect:Hood:SIEMENS-LC97FVW60S-68A40E088F9F:power_state" }
String		HOperationState			"Operation State"			(gHChood)	{ channel="homeconnect:Hood:SIEMENS-LC97FVW60S-68A40E088F9F:operation_state" }
Switch		HRemoteStartAllowanceState	"Remote Start Allowance State"		(gHChood)       { channel="homeconnect:Hood:SIEMENS-LC97FVW60S-68A40E088F9F:remote_start_allowance_state" }
Switch		HRemoteControlActiveState	"Remote Control Activation State"	(gHChood)       { channel="homeconnect:Hood:SIEMENS-LC97FVW60S-68A40E088F9F:remote_control_active_state" }
Switch		HLocalControlActiveState	"Local Control Activation State"	(gHChood)       { channel="homeconnect:Hood:SIEMENS-LC97FVW60S-68A40E088F9F:local_control_active_state" }
String		HActiveProgramState		"Active Program State"			(gHChood)       { channel="homeconnect:Hood:SIEMENS-LC97FVW60S-68A40E088F9F:active_program_state" }
String		HSelectedProgramState		"Selected Program State"		(gHChood)       { channel="homeconnect:Hood:SIEMENS-LC97FVW60S-68A40E088F9F:selected_program_state" }
String		HVentingLevel			"Venting Level"				(gHChood)       { channel="homeconnect:Hood:SIEMENS-LC97FVW60S-68A40E088F9F:hood_venting_level" }
String		HIntensiveLevel			"Intensive Level"			(gHChood)       { channel="homeconnect:Hood:SIEMENS-LC97FVW60S-68A40E088F9F:hood_intensive_level" }
String		HBasicActionState		"Program actions"			(gHChood)       { channel="homeconnect:Hood:SIEMENS-LC97FVW60S-68A40E088F9F:basic_actions_state" }

// Siemens Platetopp (SIEMENS-EX877LYV1E-68A40E1BD6A8) - Home Connect connected kitchen cooktop (hob)
Group		gHChob				"Siemens Platetopp"	<kitchen>	(gHC)
Switch		PPowerState			"Power State"				(gHChob)	{ channel="homeconnect:Hob:SIEMENS-EX877LYV1E-68A40E1BD6A8:power_state" }
String		POperationState	                "Operation State"			(gHChob)        { channel="homeconnect:Hob:SIEMENS-EX877LYV1E-68A40E1BD6A8:operation_state" }
Switch		PRemoteStartAllowanceState      "Remote Start Allowance State"		(gHChob)        { channel="homeconnect:Hob:SIEMENS-EX877LYV1E-68A40E1BD6A8:remote_start_allowance_state" }
Switch          PRemoteControlActiveState       "Remote Control Activation State"	(gHChob)        { channel="homeconnect:Hob:SIEMENS-EX877LYV1E-68A40E1BD6A8:remote_control_active_state" }
Switch          PLocalControlActiveState        "Local Control Activation State"	(gHChob)        { channel="homeconnect:Hob:SIEMENS-EX877LYV1E-68A40E1BD6A8:local_control_active_state" }
String          PActiveProgramState             "Active Program State"			(gHChob)        { channel="homeconnect:Hob:SIEMENS-EX877LYV1E-68A40E1BD6A8:active_program_state" }
String          PSelectedProgramState           "Selected Program State"		(gHChob)        { channel="homeconnect:Hob:SIEMENS-EX877LYV1E-68A40E1BD6A8:selected_program_state" }

Right away i got an error in the log:

2019-09-13 09:48:47.114 [ERROR] [dler.AbstractHomeConnectThingHandler] - API communication problem while trying to update SIEMENS-EX877LYV1E-68A40E1BD6A8!
org.openhab.binding.homeconnect.internal.client.exception.CommunicationException: Communication error! response code: 409, message: Conflict, body: {
  "error": {
    "key": "SDK.Error.UnsupportedStatus",
    "description": "Status not supported"
  }
} (Tried at Fri Sep 13 09:48:47 UTC 2019)
        at org.openhab.binding.homeconnect.internal.client.HomeConnectApiClient.checkResponseCode(HomeConnectApiClient.java:861) ~[?:?]
        at org.openhab.binding.homeconnect.internal.client.HomeConnectApiClient.checkResponseCode(HomeConnectApiClient.java:840) ~[?:?]
        at org.openhab.binding.homeconnect.internal.client.HomeConnectApiClient.getData(HomeConnectApiClient.java:691) ~[?:?]
        at org.openhab.binding.homeconnect.internal.client.HomeConnectApiClient.getStatus(HomeConnectApiClient.java:607) ~[?:?]
        at org.openhab.binding.homeconnect.internal.client.HomeConnectApiClient.isRemoteControlStartAllowed(HomeConnectApiClient.java:322) ~[?:?]
        at org.openhab.binding.homeconnect.internal.handler.AbstractHomeConnectThingHandler.lambda$28(AbstractHomeConnectThingHandler.java:528) ~[?:?]
        at org.openhab.binding.homeconnect.internal.handler.AbstractHomeConnectThingHandler.updateChannel(AbstractHomeConnectThingHandler.java:318) ~[?:?]
        at org.openhab.binding.homeconnect.internal.handler.AbstractHomeConnectThingHandler.handleCommand(AbstractHomeConnectThingHandler.java:120) ~[?:?]
        at org.eclipse.smarthome.core.thing.binding.BaseThingHandler.channelLinked(BaseThingHandler.java:229) ~[?:?]
        at org.eclipse.smarthome.core.thing.link.ThingLinkManager.lambda$0(ThingLinkManager.java:266) ~[?:?]
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
        at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
        at java.lang.Thread.run(Thread.java:748) [?:?]

Here is the output from all the defined vars:

root@betahab:/etc/openhab2/misc# grep 'String\|Switch' ../items/homeconnect.items | awk '{print $2}' | while read line; do printf "Var: $line\t\t"; curl -s http://localhost:8080/rest/items/$line/state;echo ; done
Var: HPowerState		OFF
Var: HOperationState		Inactive
Var: HRemoteStartAllowanceState		ON
Var: HRemoteControlActiveState		ON
Var: HLocalControlActiveState		OFF
Var: HActiveProgramState		NULL
Var: HSelectedProgramState		NULL
Var: HVentingLevel		NULL
Var: HIntensiveLevel		NULL
Var: HBasicActionState		NULL
Var: PPowerState		OFF
Var: POperationState		Inactive
Var: PRemoteStartAllowanceState		NULL
Var: PRemoteControlActiveState		ON
Var: PLocalControlActiveState		OFF
Var: PActiveProgramState		NULL
Var: PSelectedProgramState		Cooking.Hob.Program.PowerLevelMode

Will let it run now for a while, and then i can upload the logs.
I didnt bother too add the appliences that i know already use. Like dishwasher and ovens. I can if you want me too.

Sorry for the long post!

-torgrim

Its a Bosch PXV975DV1E cook top/hob. :slight_smile:

I tried to investigate with my home connect developer account if their are more channels available.
But I canā€™t seem to get the physical device simulator to work with my devices?

Especially the current power level(s) are ā€œneededā€ . So I can turn on or adjust the hood (different brand with 433 Mhz remote (using rfxcom binding).

I also tested your latest version of the binding and it still works fine. I think its ready for a PR to get It in the official repo.

I did split the 6 home devices now on 3 separate applications on the dev portal and as such I did create 3 API bridges. Now it looks like itā€™s working. Hereā€™s my list of appliances:

  • SIEMENS-WM6YH841 ā€œHomeConnect - Washing machineā€
  • SIEMENS-WT7YH701 ā€œHomeConnect - Dryerā€
  • SIEMENS-HS658GXS6 ā€œHomeConnect - Ovenā€
  • SIEMENS-CN678G4S6 ā€œHomeConnect - Micro-ovenā€
  • SIEMENS-SX678X36TE ā€œHomeConnect - Dishwasherā€
  • SIEMENS-TI909701HC ā€œHomeConnect - Coffee Makerā€

Iā€™ll try it out now for some time and see how it will work and get back to you if something might not be working as expected.

:smiley: Can you send me your log. I will have a look.

Thanks for testing. Iā€™ve updated the documentation:

PR is on its way :smiley:

4 Likes

Here is the logs. I didnt put on any debug logging.
http://oppetid.no/torgrimt/openhab2logs/