Files
fresh-home/components/packages/appliances/dishwasher_mqtt.yaml
T
2025-12-09 16:59:38 -05:00

260 lines
8.1 KiB
YAML

# 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