Home Connect dishwasher status not triggering automation

Hi,
I am using Home Connect integration to access Siemens Dishwasher. It seems to be working fine except this automation is not triggering, what am I doing wrong? It is supposed to fire when dishwasher status changed from Run to Inactive. Those 2 sensor states I got from developer page in HA.

alias: "Notify: Dishwasher finished"
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.dishwasher_operation_state
    from: Run
    to: Inactive
condition:
  - condition: time
    before: "21:00:00"
action:
  - service: tts.google_translate_say
    data:
      entity_id: media_player.office_speaker
      message: >-
        {{ [ "blabla", “bla bla2”  ] | random }}
      language: sk
mode: single

if I change icon in template cards based on the Run status or Inactive status it is behaving as expected, just this automation doesn’t run.
Am I missing something obvious? Thanks.

Count yourself lucky that it works at all - after a couple of days my Bosch diswasher thinks it’s connected to wifi, but neither HA nor the app can connect to it unless I restart to factory settings and try again (for another few days).

Rant over - and I can’t check because mine doesn’t work, but there’s potentially a difference between what is held internally and what is displayed. Try changing them to lower case as this is often how it is stored.

This thread should probably be in configuration.

But anyways, I don’t have a dishwasher only a washing machine and it reports finished when done. Perhaps the washing machine does that too?
Other variant is to look at the percentage complete (if that is available)

Thanks for tip.
I was thinking about using percentage complete, but 100% stays there until next program is started.
How should I trigger that automation?

You can trigger on numeric above 99.
It will only trigger once because it needs to drop below 99 for it to trigger again.

I tried testing for percentage complete and it works. Only downside is, that it triggers automation like half a minute up to a minute before program is actually finished, but its good enough for my purpose.

Noe I have a little bit unrelated question: is it possible to repeat action at certain intervals until another condition is met?
Something like play a message “take out dishes from dishwaser” every 5 minutes until for example doors are open or something.

This is what we have for the washing machine

action:
  - if:
      - condition: state
        entity_id: binary_sensor.axlt2801_camera_in_use
        state: "on"
    then:
      - wait_for_trigger:
          - platform: state
            entity_id:
              - binary_sensor.axlt2801_camera_in_use
            to: "off"
        continue_on_timeout: false
    else: []
  - service: tts.cloud_say
    data:
      entity_id: media_player.hela_huset
      message: "{{ states('sensor.washing_machine_tts') }}"
      language: sv-SE
  - repeat:
      while:
        - condition: or
          conditions:
            - condition: state
              entity_id: binary_sensor.washing_machine_door
              state: "off"
            - condition: state
              entity_id: sensor.washing_machine_program_progress
              state: "100"
      sequence:
        - delay:
            hours: 0
            minutes: 5
            seconds: 0
            milliseconds: 0
        - choose:
            - conditions:
                - condition: and
                  conditions:
                    - condition: state
                      entity_id: binary_sensor.washing_machine_door
                      state: "off"
                    - condition: state
                      entity_id: sensor.washing_machine_program_progress
                      state: "100"
              sequence:
                - service: tts.cloud_say
                  data:
                    entity_id: media_player.hela_huset
                    message: >-
                      "{{ states('sensor.washing_machine_tts') }} och luckan är
                      fortfarande stängd."
                    language: sv-SE
                - service: homeassistant.update_entity
                  target:
                    entity_id: sensor.washing_machine_json
                  data: {}
          default: []

Thanks, I am going to study your code and hopefully get something from it.

I just realized the first if else part is to delay the message if I’m in a meeting from home.

Maybe a dumb question but did you or how did you defined dishwasher states? I have a normal dishwasher nothing fancy and I was able to automate it with contact sensor, smart plug and fingerbot. Works much better than i ever expected.

A bit late to the party maybe, and I didn’t test with Home Connect, but I faced a similar problem with a 3D printer. The cause there was that there was a very short time with different a state between the two you mentioned (for instance Finishing or something like that). That state wasn’t visible in history, maybe because it was too short to see it. I found out by making an automation on any change, and making a notification mentioning to and from states.

I was thinking this too, but could’t think of a way how to catch that state.
How do you create automation that respond to any change of state?

This is “smart” dishwasher so it’s reporting its states via home connect integration.

Leave to and from empty

I know this is off topic, but you should check your wifi or contact Bosch for support. I have mine since more than 1 year and I got some communication issues on the beginning, but since I replaced my router a some time ago I never got any communication issues with my dishwasher.
Also, I’m pretty sure there is a limitation on the number of call to their API on a 24 hours interval… Have you tried to just wait another day and tried again? If this is the case you can probably do something to reduce the number of calls,

1 Like

Thanks, I am going to give it a try and let you know.

You were right.

There is one state Finished right before Inactive and this is not getting into logs for some reason, so I was unaware of it, but its there.
This is very likely the reason why automation was not triggered.

Edit: its working now, so it was definitelly a reason why automation was not started

1 Like