[Plugin] Home Connect: Bosch, Siemens, Neff and Gaggenau appliances in Domoticz

Python and python framework

Moderator: leecollings

Post Reply
User avatar
Ragdag
Posts: 224
Joined: Friday 30 March 2018 13:56
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Netherlands
Contact:

[Plugin] Home Connect: Bosch, Siemens, Neff and Gaggenau appliances in Domoticz

Post by Ragdag »

hero.png
hero.png (132.81 KiB) Viewed 452 times
I'd like to share Home Connect for Domoticz, a plugin for Bosch, Siemens, Neff and Gaggenau appliances. It connects to the Home Connect cloud, the same service the Home Connect app uses, and turns every appliance on your account into a set of Domoticz devices: what it is doing, which program runs, how long it still needs and when it will be ready, door, remote start, its messages, and for the washing machine its lifetime energy and water use. Operating the appliances (choose a program, start, stop, start later) is there too, but off by default.

I built it because the Home Connect app is fine for a quick look on your phone, and no help at all for the house around it. It can't tell Domoticz that the washer is done so the dryer reminder goes out, it doesn't keep a history of what the dishwasher uses, and it doesn't let a script start the dishwasher when the solar panels are producing. Domoticz does all of that well; it just couldn't see the appliances.

What it does
  • Finds every appliance on your Home Connect account by itself and gives it its own set of devices, named after the name you gave it in the app
  • Live state from Home Connect's event stream, so State, Program, Progress, Remaining time and the ready time follow within seconds instead of on a polling interval
  • One State tile per appliance that reads like a sentence, for example Running, Cotton or Paused, Eco 50°, coloured by what it needs from you
  • A Status code device with a fixed number per state, so a dzVents or Lua script keeps working whatever language the devices are in
  • Appliance messages such as Program finished, Rinse aid nearly empty or Preheat finished as alert devices you can put a notification on
  • The program's options and the appliance's settings as devices of their own, and every other value the appliance reports as a hidden device you can unhide
  • For the washing machine: lifetime energy, water, detergent and softener as real Domoticz meters, so you get use per day, month and year
  • Device names and values in English or Dutch
Home Connect allows an account 1000 requests a day. The plugin keeps its own rolling 24-hour count, gets almost everything from the event stream instead of asking, and keeps the last requests of the day for renewing its sign-in and reconnecting, so a busy day of commands cannot lock it out.

Devices
Everything is created automatically after you sign in. Every appliance gets the devices that fit it (a fridge has no programs, so it gets no program devices):

Code: Select all

Device            | What it shows
------------------|------------------------------------------------------------
State             | What it does, with the program: "Running, Cotton"
Power, Door       | On/off and door contact
Remote control    | Whether Domoticz may start it: "Remote start allowed"
Program           | Running program and ready time: "Cotton, ready at 14:35"
Progress          | Percentage of the running program
Remaining time    | Minutes until it ends
Program choice    | The selected program (selects it when control is on)
Actions           | Start, Stop, Pause, Resume (control only)
Start at/Ready at | A clock time for a delayed start (control only)
Acknowledge       | Confirms a message on the appliance (control only)
Status code       | The state as a fixed number for scripts (hidden)
Total ... used    | Washer: energy (kWh), water (L), detergent and softener (ml)
Some real readings from this morning, with a washer and a dryer running:

Code: Select all

Washer State           Running, Cottons, Locked
Washer Program         Cottons, ready at about 14:03
Washer Remaining time  47 min           Progress  24%
Washer Remote control  Remote start allowed
Washer Total water     1565 L           (today 77 L)
Washer Total energy    11.780 kWh       (today 0.425 kWh)
Dryer State            Running, Cotton
Dryer Program          Cotton, ready at about 14:15
Dishwasher Program     Eco 50° (selected)
Oven Cavity temperature  31.0 C
Optional control
Control is opt-in. There is an "Allow control" setting that is off by default; while it is off, every command is refused and the control devices stay hidden. Turn it on and you can choose a program, change its options, and start, stop, pause or resume it, also from scenes, timers and scripts. A delayed start is a clock time ("start at 02:30" for a dishwasher, "ready at 18:00" for a washer), and you can move it while the appliance waits.

Home Connect itself adds a safety step you can't skip: an appliance only accepts a start while remote start is switched on at the appliance, usually a button you press when you load it. So nothing starts that nobody prepared.

Every command is checked before it is sent. The plugin knows the program's allowed values and the appliance's state, so a start with the door open, a temperature out of range or a program while the oven is off is refused locally, with a message that says what to do next (The door of Dishwasher is not closed, Oven is switched off; switch it on first). That message also appears briefly at the top of the Domoticz screen (Domoticz 2026.1 or newer, can be turned off).
notification.png
notification.png (5.87 KiB) Viewed 452 times
Requirements
  • Your appliances in the Home Connect app
  • A free account on developer.home-connect.com with the same email address as your Home Connect app account, and an application of type Device Flow registered there (the docs walk you through it, about 15 minutes the first time)
  • Domoticz with the Python plugin system, 2026.4 or newer recommended; Python 3.11 or newer
  • Internet access from the Domoticz machine to the Home Connect cloud
No port forwarding, no public address and no reverse proxy. Signing in uses Home Connect's device flow: the plugin shows a link and a code, you approve on any phone or computer, and Home Connect never has to reach your Domoticz. Everything, the live event stream included, is an outgoing HTTPS connection from the Domoticz machine, so it works fine behind a normal home router.

Standard library only, so there is nothing to pip install.

Install

Code: Select all

cd /opt/domoticz/plugins
git clone -b dist https://github.com/Rouzax/home-connect-domoticz-plugin homeconnect
sudo systemctl restart domoticz
Then Setup, Hardware, Add, pick "Home Connect", enter the Client ID of your application and press Add. A "Home Connect" device on the Utility tab shows a link and a code; open the link, approve with your Home Connect account, and the appliances appear within a minute. Leave Allow control off for a first run.

Screenshots
washer-cards.png
washer-cards.png (137.62 KiB) Viewed 452 times
Documentation
Installation, every setting, every device, control, a troubleshooting page organised by what you see, and security notes on what the plugin stores:
https://rouzax.github.io/home-connect-domoticz-plugin/

This is a beta, and I'd like help with
It runs every day here on a washer, a dryer, a dishwasher, a steam oven and a combination oven with microwave, and control was tested on real appliances. Other appliance types (fridges and freezers, coffee machines, hoods, cooktops, washer-dryers, cleaning robots) should work, because the plugin builds its devices from what the appliance reports rather than from a fixed list, but I haven't seen them myself. If you have one, I'd like to know how it looks, and the appliance support form on GitHub asks for exactly what helps. Bugs and ideas are welcome in the GitHub issues; the repository is the one in the install command above.
User avatar
madpatrick
Posts: 894
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2026.1
Location: Netherlands
Contact:

Re: [Plugin] Home Connect: Bosch, Siemens, Neff and Gaggenau appliances in Domoticz

Post by madpatrick »

Nice,

What are the difference with the other Home Connect plugin ?
viewtopic.php?t=45136
-= HP server GEN11 =- ZwaveJS-=- Domoticz v2026.2 -=- Dashticz =-
-= Checkout https://github.com/MadPatrick for the plugins =-
User avatar
Ragdag
Posts: 224
Joined: Friday 30 March 2018 13:56
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Netherlands
Contact:

Re: [Plugin] Home Connect: Bosch, Siemens, Neff and Gaggenau appliances in Domoticz

Post by Ragdag »

madpatrick wrote: Friday 23 October 2026 15:17 Nice,

What are the difference with the other Home Connect plugin ?
viewtopic.php?t=45136
That is a good question and I noticed when I was publishing to the plugin managers that there is already a plugin out :D

How is this different from the existing "Bosch Home Connect" plugin?
The two take different routes, so here is what differs most, so you can pick the one that fits.

Signing in
  • Bosch Home Connect: authorization code flow. You need the Client Secret, a public host name or IP address, and a port forwarded to Domoticz for the one-time authorization.
  • This plugin: device flow. You open a link and enter a code on any phone or computer. No secret, no port forwarding, no public address, ever.
The link and code appear on a "Home Connect" device as well as in the log, with "Sign in again" and "Refresh appliances" as actions, and a Sign out setting that also withdraws the plugin's access at Home Connect.

Installing
  • Bosch Home Connect: Python 3.6 or newer, plus pip install requests. Tokens are stored in a tokens.json file in the plugin folder.
  • This plugin: Python 3.11 or newer, standard library only, nothing to pip install. Tokens are stored in the Domoticz database with the hardware.
Devices
  • Bosch Home Connect: a fixed set of devices per appliance type. Each appliance gets 20 units by its position in the appliance list, so one hardware entry holds up to 12 appliances.
  • This plugin: a DomoticzEx plugin with one Domoticz device per appliance, tied to the appliance's own Home Connect ID: no limit on the number of appliances, and adding or removing one never moves another's devices. The devices are built from what the appliance reports: every program, option, setting and status value it has. Names and values in English or Dutch.
Control
  • Bosch Home Connect: always on. Start a program, switch power and child lock, and a few settings per type, such as hood levels and fridge and oven setpoints.
  • This plugin: off until you turn on Allow control. Then: program, options and settings, start, stop, pause and resume, a delayed start you can still move, and acknowledge. Every command is checked before it is sent. When something is not possible (door open, appliance off, remote start not enabled), a short message at the top of the Domoticz screen says why and what to do next (Domoticz 2026.1 or newer; can be turned off).
Only in this plugin
  • Every message an appliance sends as an alert device (the other plugin handles a few per type, such as the coffee machine's water tank and the hood's grease filter)
  • An on-screen message when a command is refused or fails, with the reason and the next step
  • A Status code device with a fixed number per state, so scripts keep working in any language
  • The washing machine's energy, water, detergent and softener use as Domoticz meters
  • Its own count of the 1000 calls a day Home Connect allows, with a reserve so it cannot lock itself out
The short version: if you don't want to open a port or install Python packages, or you want every appliance message, the washer meters, delayed start or control you can switch off, this one is built for that. Both use the same Home Connect cloud API and its live event stream. They install into different folders with different plugin keys, so switching from one to the other leaves the first one's devices alone.
User avatar
FireWizard
Posts: 1978
Joined: Tuesday 25 December 2018 12:11
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Voorthuizen (NL)
Contact:

Re: [Plugin] Home Connect: Bosch, Siemens, Neff and Gaggenau appliances in Domoticz

Post by FireWizard »

Hi @Ragdag,

Today I received the following email:
Home Connect
Developer Program


Important: Required Account Migration for Home Connect Developer Program
Dear User of the Home Connect Developer Program,


Following the previous update to our Terms & Conditions, we are writing to inform you about an important upcoming change regarding your use of the Home Connect Developer Program.
As part of an update to our authentication infrastructure, we are changing the identity provider used for Home Connect Developer Program. To continue accessing your account, you must migrate your existing account beginning on Monday, 26.10.2026.

What do you need to do?

1. Visit developer.home-connect.com/user/login
2. Sign in using your current account credentials.
3. Follow the on-screen instructions to complete the migration.
The migration should take approximately two minutes. If you do not complete the migration by 26.11.2026, you may temporarily lose access to your Home Connect Developer Program account until the migration has been completed

Your data

Your existing account data, settings, and available services will remain associated with your account during the migration process, subject to the updated Terms & Conditions and our Data Privacy Statement.

Your options

If you do not agree to the updated Terms & Conditions, you may discontinue your use of Home Connect Developer Program in accordance with the applicable agreement and any relevant termination provisions. If applicable, you may also request account closure by contacting us before the effective date.

Need help?

If you have any questions or require assistance with the migration process, please visit our dedicated migration FAQs or contact our support team.
Thank you for continuing to use Home Connect Developer Program.

Kind regards,
Your Home Connect Developer Team
Have you seen such mail as well? I think it is a really short time notice.
Will it have impact on your plugin?

Regards
User avatar
Ragdag
Posts: 224
Joined: Friday 30 March 2018 13:56
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Netherlands
Contact:

Re: [Plugin] Home Connect: Bosch, Siemens, Neff and Gaggenau appliances in Domoticz

Post by Ragdag »

FireWizard wrote: Friday 23 October 2026 22:04 Hi @Ragdag,

Today I received the following email:
Home Connect
Developer Program


Important: Required Account Migration for Home Connect Developer Program
Dear User of the Home Connect Developer Program,


Following the previous update to our Terms & Conditions, we are writing to inform you about an important upcoming change regarding your use of the Home Connect Developer Program.
As part of an update to our authentication infrastructure, we are changing the identity provider used for Home Connect Developer Program. To continue accessing your account, you must migrate your existing account beginning on Monday, 26.10.2026.

What do you need to do?

1. Visit developer.home-connect.com/user/login
2. Sign in using your current account credentials.
3. Follow the on-screen instructions to complete the migration.
The migration should take approximately two minutes. If you do not complete the migration by 26.11.2026, you may temporarily lose access to your Home Connect Developer Program account until the migration has been completed

Your data

Your existing account data, settings, and available services will remain associated with your account during the migration process, subject to the updated Terms & Conditions and our Data Privacy Statement.

Your options

If you do not agree to the updated Terms & Conditions, you may discontinue your use of Home Connect Developer Program in accordance with the applicable agreement and any relevant termination provisions. If applicable, you may also request account closure by contacting us before the effective date.

Need help?

If you have any questions or require assistance with the migration process, please visit our dedicated migration FAQs or contact our support team.
Thank you for continuing to use Home Connect Developer Program.

Kind regards,
Your Home Connect Developer Team
Have you seen such mail as well? I think it is a really short time notice.
Will it have impact on your plugin?

Regards
I don't think so, full explanation below. 👇

Heads-up: Home Connect developer account migration (from 26 October)

If you use this plugin you have a Home Connect developer account, and you may have received an email titled "Required Account Migration for Home Connect Developer Program". Home Connect is moving the developer portal to a new login system. From Monday 26 October you can migrate: sign in at developer.home-connect.com and follow the instructions (about two minutes). Before that date the link just opens the portal and nothing seems to happen. The deadline is 26 November; after that you may temporarily lose access to your developer account until you migrate.

What we expect for the plugin
The migration is about logging in to the developer portal. The plugin uses two other things: the Client ID of your application, and the sign-in you approved for your Home Connect account. Home Connect says your account data, settings and services stay with your account, so we expect the plugin to keep working without any change. Nothing needs updating in Domoticz.

That is an expectation, not something we have been able to test yet: the migration only opens on Monday. During an earlier Home Connect account change, applications stopped working until their owner signed in again, so after you migrate, check the Home Connect device in Domoticz. If it says "Sign-in lost", choose Sign in again on the Home Connect actions device and approve the new code.

What to do
  • Migrate your developer account between 26 October and 26 November; don't leave it until the deadline
  • Afterwards, check that the plugin is still signed in
  • If something does break, please post here or open an issue with the relevant log lines
I'll migrate my own account as soon as it opens and report back here.
User avatar
madpatrick
Posts: 894
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2026.1
Location: Netherlands
Contact:

Re: [Plugin] Home Connect: Bosch, Siemens, Neff and Gaggenau appliances in Domoticz

Post by madpatrick »

Hi,

Somehow i can't get it connected to my account

Code: Select all

2026-10-26 19:41:34.950  Status: HomeConnect_API: Started.
2026-10-26 19:41:34.951  Status: HomeConnect_API: Entering work loop.
2026-10-26 19:41:35.002  Status: HomeConnect_API: Initialized version 0.1.0-beta.5, author 'Rouzax'
2026-10-26 19:41:35.031  Status: HomeConnect_API: started account="not signed in yet"
2026-10-26 19:41:44.106  Error: HomeConnect_API: authorization_start_failed status=400 reason="unauthorized_client"
I needed to migrate at login, but used my client ID en secret which i use with Gizmocus plugin which still works
-= HP server GEN11 =- ZwaveJS-=- Domoticz v2026.2 -=- Dashticz =-
-= Checkout https://github.com/MadPatrick for the plugins =-
User avatar
Ragdag
Posts: 224
Joined: Friday 30 March 2018 13:56
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Netherlands
Contact:

Re: [Plugin] Home Connect: Bosch, Siemens, Neff and Gaggenau appliances in Domoticz

Post by Ragdag »

madpatrick wrote: Monday 26 October 2026 19:43 Hi,

Somehow i can't get it connected to my account

Code: Select all

2026-10-26 19:41:34.950  Status: HomeConnect_API: Started.
2026-10-26 19:41:34.951  Status: HomeConnect_API: Entering work loop.
2026-10-26 19:41:35.002  Status: HomeConnect_API: Initialized version 0.1.0-beta.5, author 'Rouzax'
2026-10-26 19:41:35.031  Status: HomeConnect_API: started account="not signed in yet"
2026-10-26 19:41:44.106  Error: HomeConnect_API: authorization_start_failed status=400 reason="unauthorized_client"
I needed to migrate at login, but used my client ID en secret which i use with Gizmocus plugin which still works
Hi madpatrick, thanks for trying it. The error unauthorized_client means Home Connect refuses to start a sign-in for that Client ID with the method this plugin uses. This plugin signs in with the OAuth Device Flow, so it needs an application of that type. Most likely the application you use for the Gizmocus plugin uses a different OAuth flow; it keeps working there, but Home Connect turns it down for this plugin.

The easiest fix is a separate application for this plugin, so your Gizmocus setup stays untouched:
  1. Log in at developer.home-connect.com, with the same email address as your Home Connect app account.
  2. Under Applications, register a new application with OAuth Flow: Device Flow. The form asks for a Redirect URI; any address works, for example https://localhost.
  3. Copy the new application's Client ID into the plugin's hardware settings. You can leave the Client Secret empty.
  4. Click Update, then follow the sign-in link the plugin shows.
A new application can take a few minutes before Home Connect accepts it. If it still fails after that, please post the log lines again.
User avatar
madpatrick
Posts: 894
Joined: Monday 26 December 2016 12:17
Target OS: Linux
Domoticz version: 2026.1
Location: Netherlands
Contact:

Re: [Plugin] Home Connect: Bosch, Siemens, Neff and Gaggenau appliances in Domoticz

Post by madpatrick »

Thanks.
This was the issue : OAuth Flow: Device Flow

I'll do some testing now
-= HP server GEN11 =- ZwaveJS-=- Domoticz v2026.2 -=- Dashticz =-
-= Checkout https://github.com/MadPatrick for the plugins =-
User avatar
Ragdag
Posts: 224
Joined: Friday 30 March 2018 13:56
Target OS: Raspberry Pi / ODroid
Domoticz version: Beta
Location: Netherlands
Contact:

Re: [Plugin] Home Connect: Bosch, Siemens, Neff and Gaggenau appliances in Domoticz

Post by Ragdag »

madpatrick wrote: Monday 26 October 2026 19:57 Thanks.
This was the issue : OAuth Flow: Device Flow

I'll do some testing now
Thanks for testing. Beta 6 is out now and shows a clear message for the Device Flow problem you ran into.

While you test, a few things would help me a lot:
  1. Which appliances do you have (model numbers only, no serials), and did all of them show up with their devices?
  2. Do you see any device or selector option with a technical name like BSH.Common... or Cooking.Oven..., or an empty option? Those are texts I still need to add.
  3. You came from the GizMoCuz plugin: is there anything you used there that you miss here?
  4. Was anything in the installation steps unclear, apart from the Device Flow setting?
  5. After a few days: do values keep updating, and do you see any warnings or errors in the log?
  6. Which Domoticz version do you run, and in which language?
When you post log lines, leave out your Client ID; the plugin never logs tokens, but it is good practice.
Post Reply