# mqtt: # - sensor: # # This is the root sensor that tracks the state of the dishwasher # - unique_id: mqtt_dishwasher_status # supposedly has to be set to associate with device # default_entity_id: status # IDK if this will work with unique_id set but we need unique_id set to associate with a device # # # This sensor will always be available, since is it just a combination of other sensors # # availability: # # topic: "cleverdevices/dishwasher" # device: # name: "Dishwasher" # model: "MDB6769PAS1" # serial_number: "F24407234" # suggested_area: "Kitchen" # identifiers: # - "MDB6769PAS1 - F24407234" # device_class: enum # entity_category: diagnostic # icon: > # {% if is_state('sensor.dishwasher','idle') %} # mdi:dishwasher-off # {% elif is_state('sensor.dishwasher','pending') %} # mdi:dishwasher-alert # {% else %} # mdi:dishwasher # {% endif %} # options: # - "Idle" # Dishwasher is not doing anything # - "Running" # Dishwasher is running # - "Pending" # Dishwasher ran, stopped running, and the door hasn't been opened. Basically, the dishes need to be unloaded # - "Problem" # The dishwasher has been running for too long, indicating a possible issue # availability_topic: "cleverdevices/dishwasher/availability" # payload_available: online # payload_not_available: offline # state_topic: "cleverdevices/dishwasher" # state: >- # {% set mapper = { # 'idle': 'Idle', # 'running': 'Running', # 'Pending': 'Pending', # 'Problem': 'Problem', # } %} # {% set state = states('binary_sensor.work_day') %} # {{ mapper[state] if state in mapper else 'Unknown' }} # # attributes: # # model_number: "MDB6769PAS1" # # serial_number: "F24407234" # # power: "{{ states('sensor.pm_dishwasher_w') | float(default=0)}}" # # target: "{{ states('input_number.dishwasher_on') | float(default=0)}}" # - binary_sensor: # - unique_id: mqtt_dishwasher # default_entity_id: dishwasher # name: Dishwasher # device_class: running # - unique_id: mqtt_dishwasher_door # default_entity_id: door # name: Door # device_class: opening # - number: # - unique_id: mqtt_dishwasher_running_watts # name: "Dishwasher On" # device: # name: "Dishwasher" # model: "MDB6769PAS1" # serial_number: "F24407234" # suggested_area: "Kitchen" # identifiers: # - "MDB6769PAS1 - F24407234" # icon: mdi:dishwasher # min: 0 # max: 1000 # step: 0.1 # mode: box # unit_of_measurement: W # - unique_id: mqtt_dishwasher_idle_watts # name: "Dishwasher Off" # icon: mdi:dishwasher-off # min: 0 # max: 1000 # step: 0.1 # mode: box # unit_of_measurement: W # - unique_id: mqtt_dishwasher_delay_on # name: "Dishwasher Delay On" # icon: mdi:clock-start # min: 0 # max: 900 # step: 10 # mode: box # - unique_id: mqtt_dishwasher_delay_off # # was 600 # name: "Dishwasher Delay Off" # icon: mdi:clock-end # min: 0 # max: 900 # step: 10 # mode: box # - unique_id: mqtt_dishwasher_delay_problem # # was 600 # name: "Dishwasher Delay Off" # icon: mdi:clock-alert # min: 0 # max: 900 # step: 10 # mode: box # template: # - binary_sensor: # - name: Dishwasher # unique_id: templatebinarysensor.dishwasher # icon: mdi:dishwasher # delay_on: "{{states('input_number.dishwasher_delay_on') | float(default=0) }}" # delay_off: "{{states('input_number.dishwasher_delay_off') | float(default=0) }}" # availability: "{{ states('sensor.pm_dishwasher_w') not in ['unknown', 'unavailable'] }}" # attributes: # model_number: "MDB6769PAS1" # serial_number: "F24407234" # power: "{{ states('sensor.pm_dishwasher_w') | float(default=0)}}" # target: "{{ states('input_number.dishwasher_on') | float(default=0)}}" # state: "{{ states('sensor.pm_dishwasher_w')|float(default=0) >= states('input_number.dishwasher_on')|float(default=0) }}" # input_boolean: # empty_dishwasher: # name: Empty Dishwasher # icon: mdi:cupboard # input_number: # dishwasher_on: # # was 4 # name: "Dishwasher On" # icon: mdi:dishwasher # min: 0 # max: 1000 # step: 0.1 # mode: box # unit_of_measurement: W # dishwasher_off: # name: "Dishwasher Off" # icon: mdi:dishwasher-off # min: 0 # max: 1000 # step: 0.1 # mode: box # unit_of_measurement: W # dishwasher_delay_on: # name: "Dishwasher Delay On" # icon: mdi:clock # min: 0 # max: 900 # step: 10 # mode: box # dishwasher_delay_off: # # was 600 # name: "Dishwasher Delay Off" # icon: mdi:clock-alert # min: 0 # max: 900 # step: 10 # mode: box # # automation: # # - id: automation_empty_dishwasher_state # # alias: Empty Dishwasher # # trigger: # # - id: dishwasher_off # # platform: state # # entity_id: binary_sensor.dishwasher # # from: "on" # # to: "off" # # - id: dishwasher_on # # platform: state # # entity_id: binary_sensor.dishwasher # # from: "off" # # to: "on" # # - id: door_open # # platform: state # # entity_id: binary_sensor.dishwasher_door_contact # # from: "off" # # to: "on" # # for: # # seconds: 5 # # condition: [] # # action: # # - choose: # # - alias: "Dishwasher is running. No need to empty it yet" # # conditions: # # - condition: trigger # # id: dishwasher_on # # - condition: state # # entity_id: input_boolean.empty_dishwasher # # state: "on" # # sequence: # # - action: logbook.log # # data_template: # # name: Empty Dishwasher - Load Started # # entity_id: automation.empty_dishwasher # # message: Dishwasher just turned on. Turning off input_boolean in case it got left on # # - action: homeassistant.turn_off # # target: # # entity_id: input_boolean.empty_dishwasher # # - alias: "Dishwasher finished while door was shut" # # conditions: # # - condition: trigger # # id: dishwasher_off # # - condition: state # # entity_id: binary_sensor.dishwasher_door_contact # # state: "off" # # sequence: # # - action: logbook.log # # data_template: # # name: Empty Dishwasher - Load finished # # entity_id: automation.empty_dishwasher # # message: Dishwasher just turned off while the door was shut. Assuming dishes need to be put away # # - action: homeassistant.turn_on # # target: # # entity_id: input_boolean.empty_dishwasher # # - alias: "Door was opened for 30 seconds while dishwasher was off" # # conditions: # # - condition: trigger # # id: door_open # # - condition: state # # entity_id: binary_sensor.dishwasher # # state: "off" # # sequence: # # - action: logbook.log # # data_template: # # name: Empty Dishwasher - Dishes put away # # entity_id: automation.empty_dishwasher # # message: Dishwasher door was opened while the dishwasher was off. Assuming dishes don't need to be put away. # # - action: homeassistant.turn_off # # target: # # entity_id: input_boolean.empty_dishwasher # # mode: single