[RELEASE] Home Connect Integration - Control Bosch, Siemens, Thermador and more

Thanks @danabw and @craigde.

No devices were created, child or otherwise, and I believe I did install the proper optional drivers.

image

One guess: occasionally I've run into problems where having parallel integrations with both Hubitat and Home Assistant cause conflicts. I wouldn't think that would be the case here and I set up two different apps in Home Connect dev, one for HE and one for HA. The HA integration works for me fwiw.

Any other theories? :slight_smile:

1 Like

Update to the latest in HPM. Enable debug logging for the App and step through the creation again. I added some more logging.

I had HA Home Connect integration running when I updated to Craig's Home Connect integration, didn't seem to cause any issues.

1 Like

Update: I am away from home today but i decided to update remotely and test.

I have the Native Home Connect app open on phone.

I set the Fan to medium via HE remote and the Home Connect app showed the fan coming on.
I set Work light to on via HE remote and the Bosch Home App showed the light coming on.


There is several other commands that do not work but some of these are duplicate style commands.

Examples No Response:
Set Ambient Light on/off
Set Ambient Light Brightness all
Set Ambient Light Color all
Set Speed: Medium-low/Medium-high/high/on
Set Fan Level: 4/5
Fan high-button

Examples: Responded
Set Light -on/off
Set Light Brightness- Responds to values going up but not to 0 for off.
Set Fan Speed Low/Medium/High/off
Set Speed: Low/Medium/off
Set Fan Level: 0/1/2/3
Fan Low- button
Fan Medium- button
Fan Off-button

OK great so it looks like the changes I made are working. On the other examples you just shared two are prtty easy and I added them so refresh from HPM.

Fix 1 β€” FanControl speeds: Added "medium-low" (β†’ FanStage02), "medium-high" (β†’ FanStage04), and "on" (β†’ FanStage01) to the FAN_SPEEDS map. These match the VENTING_LEVELS reverse mapping that was already there, so events round-trip correctly. If a hood doesn't support a particular stage, the API will return an error β€” but the driver won't silently ignore the command with "Unknown fan speed" anymore.

Fix 2 β€” Light brightness 0: setLightBrightness(0) now turns the light off. setLightBrightness(>0) ensures the light is on before setting brightness. This works through the same Cooking.Common.Setting.Lighting setting that setLight uses, so it's compatible with all hoods.

For the ambient light and Fan Level 4/5 issues β€” those could be model-specific. Not all hoods will have them.

Do you know if yours has amibient lighting? Do you see it in the HC app?
How many discrete fan settings do you have on that hood? is it 3? or are there more granular options using the physical buttoms or the app?

When you get home we can do through the other drviers. Once again apologies that. need a guniea pig since I dont have these devices in my home.

1 Like

Hmm, definitely got farther this time (logs below). Looks like the stove integrated fine. Looks like both the top and bottom ovens also integrated fine. The fridge/freezer failed with an SDK error. LMK if I can do more troubleshooting.

FWIW, I have a heating drawer and dishwasher that is one backorder that I'll add in a few months and can help get the integration trued up, if you need it.

Also, is there a way I'm missing to tell which oven device is upper and which is lower?

Thanks again for this!

Logs

1 Like

[quote="craigde, post:86, topic:160748"]
For the ambient light and Fan Level 4/5 issues β€” those could be model-specific. Not all hoods will have them.

Do you know if yours has amibient lighting? Do you see it in the HC app?
Jason: It has a light but its called a " work Light" its dimmable but does not color change or anything like that.

How many discrete fan settings do you have on that hood? is it 3? or are there more granular options using the physical buttoms or the app?
Jason: Fan setting has 1,2,3 and Boost

  • I believe these are standard with the hoods but i may be wrong.

When you get home we can do through the other drivers. Once again apologies that. need a guniea pig since I don't have these devices in my home.
[/quote]
Jason: i will check other drivers some these evening. I will work with you a much as possible. And thank you for working on this. NO apologies needed, this is a group effort. :slight_smile:

Next up will be the Oven.

1 Like

Good progress β€” 3 out of 4 devices are working.

Fridge/Freezer: Your fridge model doesn't support the status API endpoint that the driver uses during initialization. The device should still have been created successfully and should still receive real-time events (temperature changes, door open/close, etc.) β€” the error is just during the initial status fetch. I'll make the initialization handle this more gracefully.

Upper vs lower oven: Check the Device Network ID on each oven device in Hubitat (under Device Details). It contains the Home Connect appliance ID which you can match to the Home Connect app to identify upper vs lower. Alternatively, just open the door on one and see which device shows the door event!

Looking forward to helping with the warming drawer and dishwasher when they arrive.

2 Likes

OVEN:
First Pic: Set Power - ON
Second Pic: Temp Start - 350
Third Pic: Start Program - Bake



Thnaks that confirms my thinking

Hood model (HUI80553UC) specs:

  • 3 fan speeds + Boost β†’ Maps to FanStage01, FanStage02, FanStage03, IntensiveStage1
  • Work light only (no ambient lighting) β†’ Ambient light commands will always fail on this model
  • Fan4/Fan5/FanStage04/FanStage05 don't exist on this hood

That means the practical working commands for a 3-speed hood are:

  • Fan1 / low β†’ Speed 1
  • Fan2 / medium-low β†’ Speed 2
  • Fan3 / medium β†’ Speed 3
  • FanIntensive β†’ Boost

Unfortuantely Hubitat doesn't support dynamic driver UIs β€” all commands and attributes defined in the metadata block are always visible regardless of the physical device's capabilities. There's no way to conditionally show/hide commands based on what the appliance supports. I will however add some better logging so that if the API tells us the cabability / command is not supported by the device this is logged without needing debug on.

1 Like

On the oven. I added some updaates to the oven driver so refresh from HPM and try it. Also can you run getAvailablePrograms on the oven device page. And share the list of programs the Bosch HBL8753UC actually supports.

1 Like

Perfect, thanks Craig! All looking good here. I'll come back here when the other couple appliances arrive next month-ish. Please LMK if you need any testing help in the meantime!

Sounds good. thanks. Does that mean you can successfully control the current 4? or were you just after state for dashboarding?

1 Like

OVEN Programs

Examples: NO Response:
Set Power: on/off
Set Target Temperature

Example: Responded
On Button
Off Button
Set Alarm Clock
Cancel Alarm Clock
Start Program
Start Program with Temp

Oven Driver Update (v3.2.2) & App Fix (v3.1.4)

Thanks for the testing and logs - really helpful! Here's what we found and fixed:

App Fix - Devices not created on first install:

Found and fixed a bug where appliance devices were not being created when you first installed the app. The installed() lifecycle method was only creating the stream driver but not the appliance devices. They would only appear after opening the app a second time. This is now fixed - devices are created immediately on first install.

Oven Driver Changes:

  • On/Off buttons now work β€” On starts your default program (Bake at 350Β°F by default, configurable in preferences). Off stops the active program. Previously these tried to set the power state which was being rejected by the API.
  • Program key fix β€” The driver now uses the actual program keys reported by your oven rather than hardcoded defaults. This fixes the "UnsupportedProgram" error some users were seeing. The available programs are fetched automatically when the device initializes.
  • Better error messages β€” When a command is rejected by the appliance, you'll now see clear WARN-level messages in the log explaining why (e.g., "No program is selected - select or start a program first before setting options").

How to use the oven commands:

The easiest way to control the oven is with the combined commands:

  • startProgramWithTemp β€” Select a heating mode and temperature in one step. e.g., Bake at 350. Optionally set a duration in minutes.
  • startTimedProgram β€” Same as above but with duration and optional delayed start.
  • On β€” Quick start with your default program and temperature.
  • Off / stopProgram β€” Stop whatever is running.

The standalone setOvenTemperature and setDuration commands only work when a program is already selected or running β€” they're for adjusting mid-cook. If you try them without a program selected, you'll see a warning in the logs pointing you to the combined commands.

Set Power on/off:

On this Bosch oven model the Home Connect API returned InvalidSettingState when trying to set the power state, meaning the API doesn't allow it even though the Home Connect app can. This may vary by model. The setPower command is still available for models that do support it, but the On/Off buttons now use start/stop program instead which works reliably across all models.

Available programs are shown in the Available Programs List attribute on your device page. These are fetched directly from your oven so they'll match exactly what your model supports.

1 Like

I will update and report back soon. Give ma a day or so.

Starting with dashboarding, but we'll definitely want to control. Just haven't yet dug in to that part.

1 Like

Could someone help me out here? I feel like I’m missing some steps somewhere.

I’ve registered and completed the steps to set up a Home Connect Developer account:

  • Logged into my developer account.
  • Selected Applications β†’ Register Application.
  • Completed the Application ID field.

Now I’m stuck:

  • Under OAuth Flow, I’m not sure whether to select Authorization Code Grant Flow or Device Flow.
  • I see the Redirect URI field, but I’ll wait until the instructions tell me what to enter.
  • I don’t see a Success Redirect field anywhere.
  • I also don’t see where to note the Client ID or Client Secret.

Am I missing something obvious, or has the interface changed? Any guidance would be greatly appreciated!

Thanks in advance.

You're on the right track! The interface has changed a bit from the original instructions. Here's what to do:

On the Home Connect Developer page:

  1. Application ID β€” Enter a unique name (e.g., hubitat-yourname)
  2. OAuth Flow β€” Select "Authorization Code Grant Flow"
  3. Home Connect User Account for Testing β€” Leave blank (it will use the account from your profile)
  4. Redirect URI β€” You need to get this from Hubitat first. See below.
  5. One Time Token β€” Leave unchecked
  6. Sync to China β€” Leave unchecked
  7. Click Save

After saving, you'll be taken to the application details page where you'll see your Client ID and Client Secret. These don't appear until after you create the application.


To get the Redirect URI from Hubitat:

  1. In Hubitat, go to Apps β†’ Add User App β†’ Home Connect Integration v3
  2. On the first page, you'll see the OAuth Redirect URI displayed
  3. Copy that URI and paste it into the Redirect URI field on the Home Connect Developer page

The URI will look something like:
https://cloud.hubitat.com/api/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/apps/123/oauth/callback


Summary of the flow:

  1. Start installing the app in Hubitat to get the Redirect URI
  2. Go to Home Connect Developer site and create your application with that URI
  3. Copy the Client ID and Client Secret back into the Hubitat app
  4. Complete the OAuth authorization

Let me know if you get stuck and i will also push an update with the updated directions in it.

2 Likes