Home Connect Direct Binding (no cloud)

New update:

2025-02-22
org.openhab.binding.homeconnectdirect-4.3.0-2025-02-22-13-29.jar

Updates:

  • Added fridge / freezer support (beta)
  • Improved hood venting levels
  • Added oven cavity and meat probe temperature channels
  • Added unit support to dynamic channels
  • Added mapping description to documentation
  • Improved program progress state
3 Likes

I updated to the latest version and everything crashes.
I replaces the old jar with the new jar and nothing works anymore.
I also restarted openhab to avoid on the fly update problems, without any success.
I cleaned also the homeconnect caching folder without any success.

but now, a bit more details.

If I openen /homeconnectdirect I got a 500,

2025-02-22 12:26:03.438 [ERROR] [org.thymeleaf.TemplateEngine        ] - [THYMELEAF][qtp721224136-390] Exception processing template "upload-profile": Exception evaluating OGNL expression: "utils.isFridgeFreezer()(type)" (template: "base" - line 148, col 11)
org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating OGNL expression: "utils.isFridgeFreezer()(type)" (template: "base" - line 148, col 11)
        at org.thymeleaf.standard.expression.OGNLVariableExpressionEvaluator.evaluate(OGNLVariableExpressionEvaluator.java:199) ~[?:?]
        at org.thymeleaf.standard.expression.OGNLVariableExpressionEvaluator.evaluate(OGNLVariableExpressionEvaluator.java:104) ~[?:?]
        at org.thymeleaf.standard.expression.VariableExpression.executeVariableExpression(VariableExpression.java:166) ~[?:?]

If I clean the cache folder, I can open /homeconnectdirect again. But if I upload a fresh downloaded profile (downloaded with homeconnect-profile-downloader) it crashes again until I clean the cache folder again.

I can also provide the full stack trace, but I guess from the first 5 lines, it is somehow related to the new freezer support.

Sorry, will release a fix soon.

I’ve updated the link.

1 Like

Thanks for the quick fix! it works now :slight_smile:

Thank you very much. Just installed it.

The good:

  • for devices type “oven” now channels for Oven Cavity Temperature and Meat Probe Temperature are visible
  • the Meat Probe Temperature is updating

The not so good:

  • The Oven Cavity Temperature gets an initial value once the variable is acitivated but does not update. Weird behavior, as the Meat Prob Temp updates
  • I was not able to activate a device with the FridgeFreezer profile.
    • I downloaded the profile date using the menu at "“IP”:8080/homeconnectdirect.
    • The profile is shown as Fridge / Freezer
    • The program list is empty, though (content behind the yellow button)
    • when trying to create a thing I get the error message
[INFO ] [.thing.internal.GenericThingProvider] - No ThingHandlerFactory found for thing homeconnectdirect:FridgeFreezer:BOSCH-KGF56PI40 (thing-type is homeconnectdirect:FridgeFreezer). Deferring initialization.

The wish

  • I discovered that there is also a Oven Setpoint Temperature. Would be also nice to get this value.

A big thank you @jb4711, that you are supporting the community so well!

Thomas

Hi Thomas,

two commends from my side:

1.) Regarding you wish with the setpointTemperature:
You can add your own channels when you define thing: openhab-addons/bundles/org.openhab.binding.homeconnectdirect at main · bruestel/openhab-addons · GitHub

For example I did it like this:

Thing homeconnectdirect:oven:siemens-hn678g4s6          "Siemens Backofen"  [ haId = "SIEMENS-HN678G4S6-XXXXXXXXXXXX", address = "192.168.178.XXX", connectionRetryDelay = 1 ] {
    Channels:
       
        Type number :    setpointTemperature            "Set Temperature"       [ eventKey = "Cooking.Oven.Option.SetpointTemperature", unit = "°C" ]

2.) Did you add in your thing definition the full Home Appliance ID? In the info message is an incomplete ID shown…

Hello,

First thanks for this new binding, very interesting.
I give it a try tonight.
First, I was a little disappoint, autodiscovery was not working, and thing have no channel.

I’m on openhab 5.0, so I recompile the addons for this version.
After activating the debug for the binding, I find that there is some errors in the things-type.xml.
I correct them, and after that everything is working perfectly.

I’ve currenlty only have 2 devices : 1 dishwasher and 1 cooktop.

About the error in thing-types.xml, look around line 554, 553, 561.
You have duplicate state line that are in errors:

<channel-type id="setpoint_temperature_refrigerator">
	<item-type>Number:Temperature</item-type>
	<label>Refrigerator Temperature</label>
	<description>Target temperature of the refrigerator compartment (Range depends on appliance - common range 2 to 8°C).</description>
	<state step="1" pattern="%.0f %unit%"/>
	**<state readOnly="false"/>**
	<autoUpdatePolicy>veto</autoUpdatePolicy>
</channel-type>
<channel-type id="setpoint_temperature_freezer">
	<item-type>Number:Temperature</item-type>
	<label>Freezer Temperature</label>
	<description>Target temperature of the freezer compartment (Range depends on appliance - common range -16 to -24°C).</description>
	<state step="1" pattern="%.0f %unit%"/>
	**<state readOnly="false"/>**
	<autoUpdatePolicy>veto</autoUpdatePolicy>
</channel-type>
<channel-type id="setpoint_temperature_chiller">
	<item-type>Number:Temperature</item-type>
	<label>Chiller Temperature</label>
	<description>Target temperature of the chiller compartment.</description>
	<state step="1" pattern="%.0f %unit%"/>
	**<state readOnly="false"/>**
	<autoUpdatePolicy>veto</autoUpdatePolicy>

Laurent.

Hi Laurent,

Sorry about that! I actually fixed the issue a while ago but just forgot to push the code to the Git repository.

If I understand correctly, you had to create a new version for OH 5 because of this—pretty annoying, I know.

@Community:
Does anyone have an idea how I can provide builds for both 4.x and 5.x while keeping the current codebase intact? There are still several community members using Java 17, so I’ve been holding off on using some Java 21 methods for now.

For the old binding, I wrote a Bash script that checked out the new OH binding repository, added the binding, and replaced a few things where needed. It worked but was a bit tedious. If anyone has a better approach, I’d really appreciate your input!

Thanks in advance!
JB

No, I create a new version of the Jar for openhab5, because my installation is on openhab5.
Just have to make the change in thing-type to enable it working correctly.

But I don’t need any other change, the addon work as it without any other modification on Java 21 / Openhab 5. So it’s great.

About building for both version, there’s a talk about this there:

Perhaps it can help you.

Laurent.

1 Like

Hi Laurent,

Thanks for sharing the link! Going forward, I’ll ensure that the 5.0.0 and 4.3.0 releases are created simultaneously. I’ve tested it with the 5.0.0-SNAPSHOT and the stable 4.3.0 release—both versions worked flawlessly for me.

Jonas

Hello Jonas,

when using delayed start with my dryer, the HomeConnect Binding is showing the Remaining Programm Time in Hours set on the dryer, when the program should be completed.
The Direct binding is showing only 0:00. Seems the Remaining Programm time is only updated with an active program running, but not with delayed Start.
Can this be updated?
Let me know if you need more detailed information.

thanks
Stefan

Dear Jonas,
first thank you very much for your great work!

With the Home Connect Cloud binding I got 429 errors because of 1000 calls in 1 day were reached and I wanted to give the direct binding a try.

I added 4.3.0-SNAPSHOT-2025-03-30-08-37.jar and used profile downloader 0.9.0. My oven device was found by the scan and the correct IP was added to the configuration. I added a few items to the channels, so far so good.

But the status of the thing constantly switches between OFFLINE and ONLINE. All items stayed at NULL.

In the Home Connect Console I got as a response to /ci/services an error code 403.

Any idea what is wrong?

Hi @matmai

Can you send me the log via private message? I will have a look at it. I already have an idea what the problem could be.

Thanks JB

I will have a look. The last few weekends have been a bit busy for me :smiley:

Uh-oh, I changed my appliances to a new SSID and then back to the original SSID. Now I’m seeing this error for both my washer and dryer (my older dishwasher works fine):

COMMUNICATION_ERROR
Read error: ssl=0x7ca44c08d208: Failure in SSL library, usually a protocol error error:100003fc:SSL
routines:OPENSSL_internal:SSLV3_ALERT_BAD_RECORD_MAC 
(/home/runner/work/_temp/boringssl/ssl/tls_record.cc:484 0x7ca4e82a8ff0:0x00000003) 

I’m using the latest jar (4.3.0-SNAPSHOT-2025-05-15-20-49.jar)
I tried re-downloading and re-uploading profiles in the homeconnectdirect console

this is part of my dryer thing:

UID: homeconnectdirect:dryer:968f37376e
label: HomeConnect Dryer
thingTypeUID: homeconnectdirect:dryer
configuration:
  address: 10.0.2.166
  haId: "<correct number>"
  connectionType: TLS
  connectionRetryDelay: 1
channels: 
<snip>

Any idea what might be causing this?

I believe that the secret changes as soon as the SSID changes. You would have to reload the profile.

Hi Stefan,

better late than never :smiley:

I built a version that should display this nicely now. Would be cool if you could test it.

https://openhab.bruestel.net/org.openhab.binding.homeconnectdirect-4.3.0-SNAPSHOT-2025-05-31-12-59.jar
https://openhab.bruestel.net/org.openhab.binding.homeconnectdirect-5.0.0-SNAPSHOT-2025-05-31-12-58.jar

Thanks
Jonas

1 Like

Thanks! That was it.

I think I mistakenly uploaded an older profile.

Hi Jonas,

something went wrong with the update I assume.

I’m started the dryer normally, but the progress and time is 0.

Using “old” homeconnect binding does show the correct value.
Any idea?

I just see that the console is showing the remaining time: