Home Connect Local UI (Fork): local control for Bosch, Siemens & Neff appliances, no cloud required

Hi all,

I’m mainly the maintainer of the HomeWhiz integration, this fork is more of a side project. Home Connect Local (chris-mc1’s original) is a separate project for Bosch/Siemens/Neff appliances, and I started this fork purely to get my own dishwasher, hob and oven working the way I wanted. It grew from there.

It’s been public for a couple of months now and has reached a point where I think it’s ready for more people to try.

What’s different in this fork?

  • Cloud sign-in built directly into the Home Assistant setup flow, no separate desktop tool needed, works from any device including a phone.If you already have a profile ZIP from the bruestel tool, you can still upload that manually instead.
  • Program selection failing with a 400 error on some appliances, because stale options carried over from a previous program.
  • The initial connection retrying without any backoff.
  • Ambient light color failing on extraction hoods when the color setting itself is unavailable.
  • A duplicated internal-light switch on some fridge models.
  • Options disappearing entirely instead of showing read-only while a device has them locked (delayed start, for example).
  • A couple of missing await calls that could silently drop a value.
  • No fallback when a device rejects a finish-in change with error 501/541.
  • Manual on/off control for the oven cavity light, where before there was only a read-only status.
  • Independently maintained, own release cycle on top of the original codebase.

Confirmed working so far: dishwasher, hob, oven, washing machine, refrigerator/freezer, and extraction hood (ED807HQ26E). Coffee machine and dryer are still being tested. Even the confirmed types cover a lot of ground though, different models report different options, so testers on any of them are welcome, not just the two still open.

About me: Profile
GitHub: Home Connect Local UI

CREDITS:
Built on chris-mc1’s Home Connect Local integration and homeconnect-websocket library.
The cloud sign-in reuses the Authorization Code + PKCE flow from
bruestel’s homeconnect-profile-downloader,
and the idea of bringing profile download into the setup flow itself comes from SamJongenelen’s upstream PR.

Installation

Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.

Or add it manually: open HACS, go to Integrations, click the overflow menu in the top right corner, add Custom repositories, paste https://github.com/Asmir1975/homeconnect_local_hass-UI, pick Integration as the category, then search for “Home Connect Local” and install it.

Notes: your Home Connect credentials aren’t stored, only the downloaded appliance profile (encryption key + device description). If an appliance isn’t discovered automatically, you can find its IP in your router’s DHCP table and enter it manually.

5 Likes

Version 1.12.3 is out:

Small maintenance release. Door sensors of dishwashers and refrigeration appliances no longer show up in Home Assistant’s Security dashboard, the WiFi signal sensor handles connection drops more gracefully, and there is a new optional diagnostic sensor for door-open alarms on Bosch washers and dryers. Details are in the release notes.

Feedback is welcome, whatever appliance you have.

Edit: some nice tweaks are already merged in main.

They will come with the next release, stay tuned :victory_hand:

Update: beta 1.12.4b1 is out for testing (pre-release in HACS, pick it in the “Release” dropdown when redownloading).

New: hood ambient color, hood level with boost and filter sensors, favorite names that follow the appliance with an optional filter, Silence on Demand input field, and a retry for the favorite start on coffee makers (not yet confirmed on hardware).

Especially welcome: hood and coffee maker owners. Please report if and where it breaks, ideally with a debug log and your appliance model. Logs can also go by PM or e-mail (address in my GitHub profile).

Release notes: 1.12.4b1
Discussion for GitHub users: Discussion

Home Connect Local 1.12.4b2 (beta) is out.

New:
• Program options (e.g. level, pyrolysis level on ovens) stay available after using a favorite. Before, they could stay “unavailable” until the appliance was power cycled and the integration reloaded. Applies to all appliances with favorites, tested on a Siemens oven.
• Empty favorite slot: clear message instead of “400 BadRequest”.
• Device model shows the model number only.

Known:
• Hood emotionLight Pro: brightness with an active preset is fixed and confirmed, changing the color with an active preset is probably not fully fixed yet.
• Coffee machines: starting a favorite is not tested on a machine yet.

Testers welcome, please report with a debug log, especially appliances with favorites, hoods and coffee machines.

Release: 1.12.4b2

Very nice!
It installed very easily

@Hellis81 Thanks, glad it went smoothly! If anything looks off, an issue with a debug log helps a lot.

Hi, I tried this out and it looks great. The only thing I seem to miss for my extractor hood is a control to change the color temperature of the light. It is included in Home Connect Alt, the cloud based custom integration that I was using before. It is there as a separate dropdown.

I must admit I cannot find it in the official Home Connect app either (except during the onboarding wizard. I can select modes there, including an individual setting where I can enter a percentage. It might be a limitation of the local API that is is only an onboarding feature at the moment. Funny the cloud API can control it just the same.

Is this a known limitation, or is this something I should put in as a feature request on Github? If so, is there something I can do to provide information on my extractor hood (model LJ97BDP65)?

Thanks @Edwin_D
Color temperature is part of the light entity here, as a slider next to brightness, but only when the hood reports it as available.
The preset dropdown (warm, neutral, cold, custom) is not built yet.
Could you first send me the diagnostics file of your LJ97BDP65?
A GitHub issue is preferred, otherwise by PM or by mail (address in my profile).
If you get an error message while using the light, please add a debug log to the issue.
Then we try to fix it. :+1:

Ah, this is a good hint. I just found out if I set it to custom, then the control in the light is there. It isn’t when I select an of the other options. Thi way is perfect, I see no reason to have it set to any thing other than custom to have full control. Do you still want diagnostics? I suppose if you put this in the documentation it will be enough.

Great, thanks for testing
Yes, that is how the hood behaves: the slider only appears when the preset is set to custom.
I will add a note to the documentation. A control for the preset itself is on my list, I will test it on my own hood soon.
Diagnostics are not needed, but welcome if you like to share them.

Perhaps it’s meant to be this way, but I have two doors on my washing machine.
One is a sensor and one is a binary sensor.
Both seems to report open and closed states.

Yes, that is intended. Both read the same door value: the binary sensor shows open/closed, the sensor shows every door state your washer reports.
It only exists when the washer reports more than two states.
If you don’t need one, just hide or disable it in the entity settings.

Edit: The confusing identical names get fixed in 1.12.4 stable, the sensor will be called “Door state”.

I noticed now that I had a machine running.
It reports locked also.
Thanks.

I realize you only grab the values from the Home Connect API :nauseated_face: :face_vomiting:
But I noticed this:

Perhaps it’s possible to supress that state if the program progress is unavailable or less than 5% (just to be safe)

Home Connect Local 1.12.4 is out.

New:
• Full support for hoods with color temperature presets, tested on a Siemens LC91KLT60: fan can be turned on, color temperature with Kelvin control, fan profile, behavior at power on and off, sensitivity, interval total run time, filter notifications, favorite button short and long press
• Options stay available after using a favorite (e.g. oven pyrolysis level)
• No more reloads when an appliance switches between IPv4 and IPv6
• Clear message for an unsaved favorite instead of a 400 error
• Door state sensor with “Locked”, dishwasher programs Balanced Clean
• Minimum Home Assistant version 2026.4.4

Known:
• Starting coffee maker favorites is not yet confirmed on a real machine

If something goes wrong, please open an issue with a debug log.

Release: 1.12.4

Hi @Hellis81
The values come locally from the washer, not from the Home Connect cloud API.
The 1 second “Spinning final” at program start looks like the last phase of the previous run. Filtering by progress would hide real values, so I’d rather find the cause.
Could you open an issue on GitHub with the diagnostics file of the washer and a debug log covering a program start?
Then I can see if the washer sends the old phase or if the integration shows a stored value.

@Edwin_D
Fixed in 1.12.4 :+1:

How do I get the debug log?

Hi @hellis,

please enable debug logging permanently until the problem is solved. Add this to your configuration.yaml and restart Home Assistant:

logger:
  default: info
  logs:
    custom_components.homeconnect_ws: debug
    homeconnect_websocket: debug

See also the Debug logging section in the README:
debug-logging

Alternatively you can switch it on in the UI:

After reproducing the problem:

  • YAML: download the full log via Settings → System → Logs → ⋮ → Download full log.
  • UI: disable debug logging again, Home Assistant then downloads the log file automatically.

Download full log and your diagnostics attach it to a GitHub issue:
Issues

Thanks!

I have it enabled and have run a machine.
How do I download the log?
When I click logs at the top right the download button does not do anything.
Do I have to disable the debug mode first?