Alternative to the built in home connect integration

The original Home Connect integration written by DavidMStraub - for connecting to Bosch/Siemens appliances has been broken for some time for a range of users and the support tickets against it aren’t getting any love (it’s not updating states, it’s not keeping the token refreshed, it’s not handling all values from all devices etc)

I’m very grateful for for the work David put in to create it, I understand he no longer has time to support it. It was adopted as an internal integration and frankly it’s been flat out broken for me (and others but possibly not everyone) for several HA releases and that’s just not good enough for my purposes.

I’ve found a new one that’s under active development and doesn’t seem to suffer from the same issues and seems unknown to the community.

Available here:

Available via HACS as “Home Connect Alt”

Hope that helps someone else!

5 Likes

Hi Iceman,
Great that you are bringing this integration to the attention. Have been using this “Home Connect Alt” for months now and can recommend it to anyone. The developer is very involved in this project and always responds very quickly.

Just got this up and running. Will be interesting to see how it performs.

Hi, @Iceman and @_Mitch07 I am also very happy to use this integration. I am trying to build an automation to remote start my dishwasher and set the relative start time depending on cheapest electricity price (already calculated in a sensor of mine). I am using the BSH.Common.Option.StartInRelative but I get a failure when triggered

Stopped because an error was encountered at 6 oktober 2022 21:18:12 (runtime: 2.05 seconds)
Key BSH.Common.Option.StartInRelative has unexpected type or value 240

It does not accept the value of 240. If this works I will replace the static value of 240 with a sensor value and I might need some help to figure out to replace 240 with a sensor value. Is it as simple as {{ my_sensor }}?

My entire automation so far as reference:

- id: '1664733031975'

  alias: Starta diskmaskin

  description: ''

  trigger:

  - platform: state

    entity_id:

    - binary_sensor.401050387033031080_bsh_common_status_doorstate

    from: 'on'

    to: 'off'

  condition:

  - condition: time

    after: '16:00:00'

    alias: Efter kl 16:00

  action:

  - service: home_connect_alt.select_program

    data:

      device_id: 6e4fb0e0fe1c7b682e0ef1b03cf3c809

      program_key: Dishcare.Dishwasher.Program.Auto2

  - service: home_connect_alt.set_program_option

    data:

      device_id: 6e4fb0e0fe1c7b682e0ef1b03cf3c809

      key: BSH.Common.Option.StartInRelative

      value: '240'

  - service: home_connect_alt.start_program

    data:

      device_id: 6e4fb0e0fe1c7b682e0ef1b03cf3c809

  mode: single

Currently the best integration for home appliances manufactured by BSH, much more is able to manage and give data than the official !!!

1 Like

This integration is much more reliable than the official integration!

I get follow error

File "/config/custom_components/home_connect_alt/services.py", line 37, in async_start_program
    await appliance.async_start_program(program_key, options, validate)
  File "/usr/local/lib/python3.12/site-packages/home_connect_async/appliance.py", line 334, in async_start_program
    if opt.key in self.available_programs[program_key].options and (not self.startonly_options or opt.key not in self.startonly_options):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: argument of type 'NoneType' is not iterable

Normally it works, only this combindation somehow have an issue

  - data:
      validate: true
      device_id: xxxx
      program_key: LaundryCare.Washer.Program.EasyCare
      options:
        - key: LaundryCare.Washer.Option.Temperature
          value: "Auto"
    action: home_connect_alt.start_program

How would I use the operation state for automations? I’m trying to notify if the dishwasher is paused but can’t seem to figure out the trigger based on the operation state as it only shows unknown.


Use the entity that says 18% in the image.

The line above it the Operation State which says Run currently and said Paused when it was paused. I guess I can try that 18% line and if it doesn’t change for 10 minutes or something then notify that it is likely paused.

Is temperature probe supported? I have a bosch oven with builtin temp. probe. Home Connect app shows the probe temp (if connected) and allows programs with it (cook until internal temp. 80C, etc).

I can see the target temp although it looks silly because it is not numerical (80C in this case):

History:

I cannot seem to find current probe temp anywhere.

Merry Christmas!

Yeah… Bosh seems to like using a lot of characters of no use.
You need to make a template sensor to get the numeric value.

{{ (states('sensor.something') | regex_findall("(\d+)dc"))[0] |int }}

My main issue is that there is no current probe temp. Just target. Type casting is a minor issue.

Hi, I’m trying to exclude some of my BSH devices from this integration, since I don’t use them in HA yet. And the reason I’m using the Alt integration over the original, is because I keep hitting rate limits with my 5 devices.

I added the lines below to the advanced configuration under appliances yaml, after I installed the configuration. I rebooted HA afterwards. Nothing seems to happen, all 3 devices keep being polled and are shown in the devices list. Am I missing something? I’ve triple checked the HAID’s. Also couldn’t find anything relevant in the FAQs.

"334090393543001221":
  disabled: true
384090390271001979-001:
  disabled: true
SIEMENS-LR96CBS25-68A40EBC91FC:
  disabled: true

Bonjour / Hi,

Je voulais vous partager l’intégration de mon four Siemens avec Home Connect Alt.
I wanted to share with you the integration of my Siemens oven with Home Connect Alt.

  1. scripts pour Allumer le four avec en variable : la température et la durée. Le programme est toujours le même. Scripts to turn on the oven with the following variables: temperature and duration. The program is always the same.
sequence:
  - action: home_connect_alt.select_program
    data:
      validate: false
      device_id: 7a7ecff00f38ed592a454f64186cb248
      program_key: Cooking.Oven.Program.HeatingMode.HotAir
  - action: home_connect_alt.start_program
    data:
      validate: false
      device_id: 7a7ecff00f38ed592a454f64186cb248
      options:
        - key: Cooking.Oven.Option.SetpointTemperature
          value: "{{ states('input_number.consigne_temp_four') }}"
        - key: BSH.Common.Option.Duration
          value: "{{ (states('input_number.consigne_duree_four')|float(0)) * 60 }}"
  - action: input_number.set_value
    metadata: {}
    data:
      value: 180
    target:
      entity_id: input_number.consigne_temp_four
  - action: input_number.set_value
    metadata: {}
    data:
      value: 30
    target:
      entity_id: input_number.consigne_duree_four
alias: Demarrer_Program_Four
description: ""
fields: {}

Le script pour éteindre / The script to turn off :

sequence:
  - device_id: 7a7ecff00f38ed592a454f64186cb248
    domain: button
    entity_id: 8c5dd983cfc66649e7083b1bfa2b5c87
    type: press
alias: Arreter_Program_Four
description: ""
  1. dashboard : on peut modifier la température et la durée (j’utilise 2 input_number) / you can change the temperature and duration (I use 2 input_number)
- type: vertical-stack
  cards:
    - type: custom:bubble-card
      card_type: pop-up
      hash: '#four'
    - type: heading
      heading: Four
    - type: horizontal-stack
      cards:
        - type: custom:mushroom-number-card
          entity: input_number.consigne_temp_four
          icon_color: red
          fill_container: false
          name: Température cible
          display_mode: buttons
        - type: custom:mushroom-number-card
          entity: input_number.consigne_duree_four
          icon_color: indigo
          name: Durée Cuisson
          display_mode: slider
    - type: horizontal-stack
      cards:
        - show_name: true
          show_icon: true
          type: button
          entity: script.demarrer_program_four
          name: Démarrer
          icon: mdi:play
          icon_height: 30px
          show_state: false
          tap_action:
            action: toggle
        - show_name: true
          show_icon: true
          type: button
          entity: script.arreter_program_four
          icon: mdi:stop-circle-outline
          name: Stop
          icon_height: 30px
          tap_action:
            action: toggle
    - type: custom:mushroom-entity-card
      entity: >-
        sensor.siemens_hb578a0s6_68a40eaa8213_001_bsh_common_setting_powerstate
      primary_info: state
      name: Four
      secondary_info: name
      fill_container: false