This project is an alternative integration for Home Connect enabled home appliances manufactured by BSH under the Bosch, Siemens, Constructa and Neff brands. It is not affiliated with either BSH or Home Assistant.
If you're using this integration please star it on Github
Home Assistant already has a built-in integration for Home Connect, however, it is quite basic, generates entities that are not always supported by the connected appliances and tends to stop getting status updates after a while. This integration attempts to address those issues and has the following features: * All the entities are dynamically read from the API and reflect true capabilities of the appliance. * The integration exposes entities that provide complete control over programs, program options, and global settings. These entities are dynamically read from API and therefore are specifically applicable to the connected appliances. * Configurable options and settings are exposed for easy selection using "Select", "Switch" or "Number" entities, as appropriate. * Read only status values, as well as some selectable options are also made available either using "Sensor" or "Binary Sensor" entities for easier use when only wanting to display them. * Status events that are published by the Home Connect service are exposed as Home Assistant events. * "Program Started" and "Program Finished" events are exposed as triggers for easier building of automation scripts. * A "Start Program" Button entity is provided to start the operation of the selected program. * Program and option selections are also available as a service for easier integration in scripts. * The state of all entities is updated in real time with a cloud push type integration. * Clean handling of appliances disconnecting and reconnecting from the cloud. * Clean handling of new appliances being added or removed from the service. * All the names support translation, but currently only the English translation is provided. * Using pure async implementation for reduced load on the platform.
Before installing the integration you need to create an "application" in the Home Connect developers website. Note that if you have an existing application, that was created before July 2022 you will most likely have to update the redirect URI to the one specified below. It can take a few hours for the changes to existing applications to apply, so be patiant.

Next you will be asked to provide the Home Connect developer app credentials you
created earlier. Give these credentials set a name that will make it easy for you to reference them in the Home Assistant credentials manager :

Finally, a new window will popup where you will be asked to login to to your Home Connect account and allow Home Assistant to access your appliances. After you approve that you will be redirected back to Home Assistant, continue as instructed.
Starting with version 0.7.0 the integration supports the UI configuration flow for most configuration options. Existing config values will be read however, once the options are saved in the UI they will override the values from the config file.
Language (optional - default = "en") - Indicates the language to use for entity names and values. The translation is automatically loaded from the Home Connect service and must be one of its supported languages.
Translation Mode - Indicates how sensor values and select boxes should be translated to friendly names:
Server - Sensor values are translated to friendly names using the Home Connect service. In this mode the internal values of string sensors will be translated and the translated values must be used in scripts referring to those sensors.
Delayed start behavior (experimental) - Sets the behavior of the delayed start UI.
By default the integration will use the standard delay method supported by the appliance. Typically this would be the delay time until the start of the program for dish washers and the delay time until the end of the program for washing machines and dryers. However, it can be annoying to have to work out the time to set instead of just setting and absolute time when the program should finish.
Setting this option to "Absolute time" will replace the delay entity with a time entity that will always show the expected end time of the selected program. The value of this entity can be changed to set the desired end time for the program.
Notes:
This feature is still experimental and may have issues
Name Template -
Defines the template used for rendering entity names. The following placeholders are supported and will be replaced dynamically when rendering the name:
$brand - The brand name of the appliance ("Bosch", "Siemens", etc.)
$appliance - The type of the appliance ("Washing machine", "Dishwasher", etc.)
$name - The name of the entity
The default template is "$brand $appliance - $name"
Log mode - Defines the log verbosity level. Should normally be set to 0. Don't change this unless asked to do so while working on a bug you reported.
SSE Timeout -
Define the timeout, in minutes, to renew the event stream connection with the HC server.
The default value of 15 minutes is designed to prevent situations of zombie streams that appear to be connected but don't receive events from HC.
The following advanced options that can only be defined using YAML. Generally you should not change them unless you really know what you're doing.
binary_sensor.bosch_wat286h0gb_68a64f51deb_connected, and the HAID in this case is bosch_wat286h0gb_68a64f51deb.binary_sensor.bosch_6732863023_68a64f51deb_connected then the HAID is 6732863023_68a64f51debCurrently supported settings:
name_template - override the global name_template setting
disabled - set to true to disable loading the specified appliance (default=false)
For example:
bosch_wat286h0gb_68a64f51deb:
name_template: My appliance $name
disabled: false
ConsumerProducts.CoffeeMaker.Status.BeverageCounterCoffee:
unit: cups
icon: mdi:coffeeAfter the integration is configured READ THE FAQ then add it from the Home-Assistant UI.
$ claude mcp add home-connect-hass \
-- python -m otcore.mcp_server <graph>