Home Connect Direct Binding (no cloud)

Thanks for the heads-up. I took a look at it. For this channel, I’m using the openHAB built-in type typeId="system.power". I guess the translation comes from openHAB.

1 Like

@MichaelEi many thanks for your feedback. I try to answer everything.

I chose this method because you can’t upload ZIP files here on the forum. It’s easier if someone sends me their log file. I can then simply import the file into my UI.

The best approach is to use a map file. This can also be easily stored within the item.

I’ve been thinking about this for a while. It’s really not an easy topic. I set the state to UNDEF as soon as no program is running. I think that works. The values available for selection under “Selected” and “Active Program” are dynamically adjusted. For example, when a program is running, you can’t select another one.

Can you give me an example? All the programs on my washing machine are in English. But there’s one program called “KurzXY” that’s in German. I suspect it was designed for the German market. I don’t have any translations ready yet, but I’ve got everything set up for it. In theory, all I need to do is create the translation files. I was planning to do that as soon as the binding was officially accepted.

Would it be possible for you to run a few tests with the warming drawer and then send me the log via PM?

Sure. I have manually switched between different warming programs, closed / opened the door in between making sure, the selected program starts. I now need to figure out how to send the log via PM…

Please advise if you want me to perform specific tests.

Hi @jb4711, many thanks for your quick response.

Sure, a map would certainly work. Though I thought there would be a better way, as the clear text is available on click of the active-program. But I understand, that this is dynamically generated.

Setting the state to UNDEF is perfectly fine.

I meant the clear text versions of the selection list of active-program; e.g. Bake Sweet Fresh from above. When active-program is UNDEF, the click opens the section with all dishes. All dishes are in English language except the ones, I have defined as a favorite in the oven or app itself, e.g. Tellergericht regenerieren, Pizza, gekühlt, Pizzastufe, 4D Heißluft.

I can only speculate, that these favorites rename the pre-defined numerical slots (eg 019) with the text of the current language. If you would switch appliance language to Spanish, I may see Spanish verbiage for newly defined favorites. Same might be with your washing machine. Are you German?

Do you have the translations already and just need to generate the translation files? Please note, that the selection has duplicates for variants (e.g. normal, meat probe, steam, etc). The text in the selection is the same, but on selection the key value differs. If we could not pull the translations from the app or the appliance directly, I am happy to help…
In the meantime, I grep the keys from the profile and generate a clear text map file. The keys seem to be well structured, so I might be able to manage that with my rusty AWK knowledge.

Yes, I speak German. You’re absolutely right. There’s a special rule in the code for favorites. Instead of BSH.Common.Program.Favorite.001, I replace the label 001 with a name of my choice, like Pizza, etc. I use this for my various coffee programs. I always find manually switching between my family’s profiles annoying. Now I can just select my special cappuccino :slight_smile:

Thank you !

Yes, the easiest way is to simply go through the “ProgramGroup” entries. All possible programs should be listed there.

Hi @jb4711 , I have sent you in PM the log, a map file and the drawer’s profile. I hope I did it correctly and you have received all.

Regards
Michael

1 Like

Hi Stefan,
I’ve updated the release and added the builds for Mac OS. I originally left them out because I thought Mac OS would only run them if they were signed. I tried it on a Mac, and lo and behold, it just works.

1 Like

Hi Jonas,

I get the following error when I try to start the application after extracting homeconnect-profile-downloader-macos-arm64-1.0.0.zip:

„homeconnect-profile-downloader.app“ ist beschädigt und kann nicht geöffnet werden. Es empfiehlt sich, das Objekt in den Papierkorb zu bewegen.

Strange. I just tried it on an Intel computer and on an Apple Silicon computer.

Hi Jonas

I tried to use your binding (the most recent version) to monitor my Bosch Refrigerator, and I cannot get it work. The fridge has 3 doors - fridge, freezer and chill box for which I want to receive the open/close notifications. In the console I can see the events when that specific door opens. I added the custom value-keys from the console to the thing definition and linked the items. But the items do not receive the updates. Any hints of what I am doing wrong?
I tried both door-channel and string as the time for the things, none of them work…

Thing homeconnectdirect:generic:fridge "Bosch Fridge" [haId="BOSCH-B36CL80SNS-XXX", address="10.255.XXX.XX", connectionRetryDelay=1] {
	Channels:
		Type command-channel : command "Command"
		Type raw-message-channel : raw-message "Raw Message"
		Type door-channel : freezer-door "Freezer Door" [valueKey="Refrigeration.Common.Status.Door.Freezer"]
		Type string : refrigerator-door "Refrigerator Door" [valueKey="Refrigeration.Common.Status.Door.Refrigerator"]
}

@mife Try switch or contact.

version: 1
items:
  Oven_siemens_Door_State:
    type: Contact
    label: Door State
    groups:
      - Oven_siemens
    tags:
      - Point

A+! The oven temperature seems to be fixed!!

1 Like

@Pedro_Liberal

You mean the linked items? One of them already a contact…

Contact Freezer_Door_State2 "Freezer Door State" [Point] {channel="homeconnectdirect:generic:fridge:freezer-door"}
String  Fridge_Door_State2 "Fridge Door State" {channel="homeconnectdirect:generic:fridge:refrigerator-door"}

This is what I see in the console when the door is opened. When it’s closed it’s the same message except the value in raw output is 0.
My String item gets a value ‘Closed’ on reload, but never updates when I open/close the door. The Contact item just stays NULL.

Time: Mar 20, 2026, 3:57:57 PM
Type: ←
Action: NOTIFY
Resource: /ro/descriptionChange
Message ID: 3320268349
Session ID: 1619442855
Version: 1
Description Change(s)
[
  {
    "uid": 4097,
    "key": "Refrigeration.Common.Status.Door.Refrigerator",
    "type": "STATUS",
    "parentUid": 258,
    "parentKey": "BSH.Common.Root.StatusList",
    "parentType": "STATUS_LIST",
    "object": {
      "uid": 4097,
      "key": "Refrigeration.Common.Status.Door.Refrigerator",
      "contentType": "ENUMERATION",
      "enumerationType": 4096,
      "enumerationTypeKey": "Refrigeration.Common.EnumType.Door.States",
      "available": true,
      "access": "READ",
      "notifyOnChange": true
    }
  }
]
Raw Payload
[
  {
    "uid": 4097,
    "parentUID": 0,
    "available": true,
    "access": "READ",
    "value": 1
  }
]

Humm then I got nothing.. both my dryer and oven work correctly :confused:

Hi Mike,

I’ll try to help. In your case, you can actually ignore the messages sent to /ro/descriptionChange. They just indicate whether you can access the status. The /ro/values are the ones you’re interested in.

You could try the code generator (see screenshot).
image

Note: The “Door-State” is a string, not a Boolean value. However, you could transform or map it in openHAB. There are many ways to do this.

Would it be possible for you to open and close your doors a few times and send me the log via PM? I’d try to fix it. Unfortunately, I don’t have a Home Connect refrigerator (when I set up my kitchen, there weren’t any large refrigerators available).

Thanks
Jonas

Hi @jb4711

Sent you a PM with the logs. In my case it looks like the updates are sent in /ro/descriptionChanges, there is ‘value’ in the raw payload that changes between 1 and 0. I don’t see any /ro/values notifications at all…

Thank you for looking into that.

Hi Mike,

That’s crazy. You’re right. It totally contradicts everything I’ve seen so far. I’ve already noticed that things work differently depending on the category, but this is wild. You can really tell that there’s probably a different development team behind each category.

I’ll see what I can do.

Dear Jonas,
thanks a lot for all your work!

I upgraded to the latest version ( 2026-03-11). In general it works fine but I have the same issue like Thomas posted here:

The meat probe temperature is updated regularly but the cavity temperature is updated just once in a while. Any possibility to poll it more frequently?

It’s great that it’s working well overall. Thanks for testing it.

Can you try to trigger a REFRESH?

// via rule

ItemName.sendCommand("REFRESH")

// via cli

openhab> items send <ItemName> REFRESH

Can you send me your log via PM?

Thanks, Jonas