alias: Dishwasher Done id: dishwashwer_done description: "Dishwasher just finished" trigger: - platform: state entity_id: input_boolean.empty_dishwasher from: "off" to: "on" - platform: homeassistant event: start condition: - alias: "The home is occupied" condition: state entity_id: input_boolean.home_occupied state: "on" - alias: "Its not bedtime" condition: state entity_id: input_boolean.bedtime state: "off" action: - repeat: while: "{{ is_state('input_boolean.empty_dishwasher','on') }}" sequence: - choose: - conditions: - condition: state entity_id: input_boolean.allow_announcements state: "on" - condition: not conditions: - condition: state entity_id: sensor.pixel_7_audio_mode state: in_communication - condition: state entity_id: sensor.pixel_7_audio_mode state: in_call - condition: state entity_id: input_boolean.kids_bedtime state: "on" # - condition: state # entity_id: input_boolean.announcement_pending # state: 'on' sequence: - service: input_boolean.turn_off data: {} target: entity_id: - input_boolean.announce_dishwasher_done - service: input_boolean.turn_on data: {} target: entity_id: - input_boolean.announce_dishwasher_done # - input_boolean.announcement_pending - choose: - conditions: - "{{states('sensor.dreambox_audio_audio_sessions') | int(default=0) > 0 or is_state('binary_sensor.dreambox_recently_active','on') }}" sequence: - service: notify.dreambox data: message: The dishwasher is done - choose: - conditions: - "{{states('sensor.dreamsurface_audio_audio_sessions') | int(default=0) > 0 or is_state('binary_sensor.dreamsurface_recently_active','on') }}" sequence: - service: notify.dreamsurface data: message: The dishwasher is done - choose: - conditions: - condition: state entity_id: input_boolean.clint_home state: "off" sequence: - service: notify.mobile_app_pixel_7 data: message: The dishwasher is done - delay: minutes: 30 - service: input_boolean.turn_off data: {} target: entity_id: - input_boolean.announce_dishwasher_done