HOME CONNECT INTEGRATION (working even without SSL & not exposing HA to web)

this user has created a java app that simulate the app Home Connect

could be a starting point for adding control of bosch devices offline

1 Like

change the setting to connect to the cloud and/or reconnect to the network again on the machine, wil do some communication resetting. It’s very stuburn, but if you wiggle things a bit it does want to reconnect is my experience. But yes, very unhandy. Report the diffiulties with the app back to home connect. Their are open to suggestions.

Restarted the pairing process (and ran into an Internet of Shit moment where my dishwasher was having a security firmware update :-p ) and it now works as espected !

1 Like

I have read this and using Nabu Casa I was able to integrate my washer and dryer. But I am not sure this is a stable integration. On/off of the device is not always showing the correct status and/or is not updated. Besides that, when it works, I can’t get any automation to work. Could that be a nabu casa issue?

This works for me.

Anyone tried this with nabu casa? The only thing really working all the time is door open/closed. All other values do not seem to update properly.

Any model suggestion? Your machine model?

I have a SBV88UX36E
I got the door open/closed, time remaining, % of profram completed and 20some switches to start a program. Haven’t tried the switches, I start them at the machine because I have to insert the soap anyway.
I do have an automation that notifies me when the machine has finished.

Hi,

is this the integration that is available natively in Home Assistant now? If so I got a question… :slight_smile:

I am really confused with trying to setup this integration. Any assistance would be helpful.

I’ve setup the Redirect URL in HomeConnect Dev first with my internal HA address as instructed in https://www.home-assistant.io/integrations/home_connect/ not using SSL. The documentation provided with this link doesn’t use SSL in the example.

I got this error when trying to register the new integration:

{
  "error": "unauthorized_client",
  "error_description": "client or redirection URI not authorized",
  "state": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJmbG93X2lkIjoiMTFhNTRhMGRkNmJiNDZjNDhlMjIzNGRkMmEzMTlmMTgifQ.QS7pbz6xwdE9BFX5iWAyhTkeCGFKpbCYFQC7UO7e9FA"
}

I googles that error message and saw that a lot of ppl said that you need to use https for your Callback URL. So I’ve now setup a reverse proxy with SSL. And updated the Callback URL with the new SSL-enabled address.

I still get the very same error message. And there is very little information in the message that is useful for debugging the problem. Do you guys have any good suggistions?

/p

Hi everyone,

I´m trying to set up my Siemens washer using the Home Connect Integration, i have my washer working on mobile app.

I can´t get it to work in my Home Assistant.

1 - I create my developer acount, Does this have to be the same email acount as used in the mobile app??
2 - Regisiter new app, OK
3 - Add the client ID in configuration.yaml with client id & secret. OK
4 - Add the integration Home Connect:
This opens webpage api.home-connect.com
I enter my email and password but webpage returns:

"The given user is not assigned to this app in the developer portal".

And i have had the same error as Posterberg

{
  "error": "unauthorized_client",
  "error_description": "client or redirection URI not authorized",
  "state": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

I´ve tried creating using developer acount with the same and diferent email used in the mobile app, but always same error.

I got it working tonight. I was missing the “internal_url” configuration option under the “homeassistant:” tag. Found the solution here https://github.com/DavidMStraub/homeassistant-homeconnect/issues/52

Hi out there,
so i have also a problem with the HC integration and hope someone has an idea to solve it.
I did the integration like mentioned in https://www.home-assistant.io/integrations/home_connect/
The integration works fine and everything is correctly set up.
But I did only got once an update information from my oven. Now if I start a program in my oven homeassistant does not recognize it and e.g. the power shows still “off”.
Does someone also has the same problem and found a solution?

Many thanks 4 help

BR

I have the same problem and I found out that it is because the token expires and Home Assistant does not ask for a new one. I have no idea why, but it can be seen in the log. Then it will always help to restart HA for only about 24 hours (?) Or in the integration to select to restore Home Connect again.
Could you please find out why it is not being restored? HA I have the current version.

1 Like

@jfg31113: The reason why you were getting the message “The given user is not assigned to this app in the developer portal” is, that you have not defined your email address (that you are using in your Home Connect App) in the “Home Connect User Account” of your Home Connect developer account. You can either define it specifically for an app or in your account details centrally.

Hope this also helps others … I have spend a few hours time to find this simple solution.

… same as mentioned here.

Is there an update to using the integration without the servers?
The API and device should both support it.

I read that this was commented here but then somehow the discussion just stopped.

Is someone working on this?

@cotwild Looks like with the current version of the integration the sensors etc. have changed a little bit.
I’ve tried to make something similar to what you made using the ‘multiple-entity-row’ component.
I’ve modified some of the code to work with the new sensors:

configuration.yaml

sensor:
- platform: template
  sensors:
    oven_remaining:
      friendly_name: "Oven remaining"
      value_template: >
        {% if states('sensor.oven_operation_state') == 'Inactive' %} -
        {% elif states('sensor.oven_operation_state') == 'Finished' %} -
        {% elif states('sensor.oven_remaining_program_time') == 'unavailable' %} -
        {% elif (as_timestamp(states('sensor.oven_remaining_program_time')) - as_timestamp(now())) < 61 %} < 1 min
        {% else %}
          {{ (((as_timestamp(states('sensor.oven_remaining_program_time')) - as_timestamp(now())) / 60) | round(0)) | string + " min" }}
        {% endif %}
    dishwasher_remaining:
      friendly_name: "Dishwasher remaining"
      value_template: >
        {% if states('sensor.dishwasher_operation_state') == 'Inactive' %} -
        {% elif states('sensor.dishwasher_operation_state') == 'Finished' %} -
        {% elif states('sensor.dishwasher_remaining_program_time') == 'unavailable' %} -
        {% elif (as_timestamp(states('sensor.dishwasher_remaining_program_time')) - as_timestamp(now())) < 61 %} < 1 min
        {% else %}
          {{ (((as_timestamp(states('sensor.dishwasher_remaining_program_time')) - as_timestamp(now())) / 60) | round(0)) | string + " min" }}
        {% endif %}
    washing_machine_remaining:
      friendly_name: "Washing machine remaining"
      value_template: >
        {% if states('sensor.washing_machine_operation_state') == 'Inactive' %} -
        {% elif states('sensor.washing_machine_operation_state') == 'Finished' %} -
        {% elif states('sensor.washing_machine_remaining_program_time') == 'unavailable' %} -
        {% elif (as_timestamp(states('sensor.washing_machine_remaining_program_time')) - as_timestamp(now())) < 61 %} < 1 min
        {% else %}
          {{ (((as_timestamp(states('sensor.washing_machine_remaining_program_time')) - as_timestamp(now())) / 60) | round(0)) | string + " min" }}
        {% endif %}
    oven_progress:
      friendly_name: "Oven progress"
      value_template: >
        {% if states('sensor.oven_operation_state') == 'Inactive' %} -
        {% elif states('sensor.oven_operation_state') == 'Finished' %} -
        {% elif states('sensor.oven_program_progress') == 'unavailable' %} -
        {% else %}
          {{ states('sensor.oven_program_progress') + "%" }}
        {% endif %}
    dishwasher_progress:
      friendly_name: "Dishwasher progress"
      value_template: >
        {% if states('sensor.dishwasher_operation_state') == 'Inactive' %} -
        {% elif states('sensor.dishwasher_operation_state') == 'Finished' %} -
        {% elif states('sensor.dishwasher_program_progress') == 'unavailable' %} -
        {% else %}
          {{ states('sensor.dishwasher_program_progress') + "%" }}
        {% endif %}
    washing_machine_progress:
      friendly_name: "Washing machine progress"
      value_template: >
        {% if states('sensor.washing_machine_operation_state') == 'Inactive' %} -
        {% elif states('sensor.washing_machine_operation_state') == 'Finished' %} -
        {% elif states('sensor.washing_machine_program_progress') == 'unavailable' %} -
        {% else %}
          {{ states('sensor.washing_machine_program_progress') + "%" }}
        {% endif %}

Card configuration:

type: entities
entities:
  - entity: switch.oven_power
    type: 'custom:multiple-entity-row'
    show_state: false
    state_color: true
    name: Oven
    secondary_info:
      entity: sensor.oven_operation_state
      name: 'Status:'
    icon: 'mdi:stove'
    entities:
      - entity: sensor.oven_progress
        name: Progress
      - entity: sensor.oven_remaining
        name: Remaining
      - entity: binary_sensor.oven_door
        name: false
        icon: true
        state_color: true
  - entity: switch.dishwasher_power
    type: 'custom:multiple-entity-row'
    name: Dishwasher
    show_state: false
    state_color: true
    secondary_info:
      entity: sensor.dishwasher_operation_state
      name: 'Status:'
    icon: 'mdi:dishwasher'
    entities:
      - entity: sensor.dishwasher_progress
        name: Progress
      - entity: sensor.dishwasher_remaining
        name: Remaining
      - entity: binary_sensor.dishwasher_door
        name: false
        icon: true
        state_color: true
  - entity: switch.washing_machine_power
    type: 'custom:multiple-entity-row'
    show_state: false
    state_color: true
    name: Washing machine
    secondary_info:
      entity: sensor.washing_machine_operation_state
      name: 'Status:'
    icon: 'mdi:washing-machine'
    entities:
      - entity: sensor.washing_machine_progress
        name: Progress
      - entity: sensor.washing_machine_remaining
        name: Remaining
      - entity: binary_sensor.washing_machine_door
        name: false
        icon: true
        state_color: true

That results in something like this:
image

Maybe it helps someone else

7 Likes

Keep having issues with the Home Connect integration.
I tried everything, have a proper internal and external URL for callback. and tried my test user line in the application config empty and filled with my username but still I got “The given user is not assigned to this app in the developer portal.”

Any clues?

Hello guys,

I had success working with this integration with a Bosch dishwasher. Sometimes the integration hung up and needed to be reloaded (throughout the first half of 2021), but I guess that was an issue in the BSH cloud. Meanwhile it’s working fine again.

I have one suggestion - could you consider exposing the child lock switch in the integration? It is documented here: https://api-docs.home-connect.com/settings?#child-lock . The key is BSH.Common.Setting.ChildLock and can probably be handled the same way like the power switch or the program switches. It would be an advantage for many other devices as well since most of them (oven, washing machine, dryer…) have a child lock feature.

I’d like to create an automation that monitors the operation state and automatically activates the child lock once the device has started a program - because we simply tend to forget to enable the child lock after starting the device. The Home Connect App does not provide a setting to enable the child lock by default.

Our son has discovered the dishwasher several days ago and now he keeps bashing the panel and the switches when the device is running :wink:

Best regards!

3 Likes

I have my Thermador Dishwasher, Oven, and Hood all working properly.

I wish the Refrigerator worked…any hope of getting that done? I can test.