mirror of
https://github.com/CeeWeasel/fresh-home.git
synced 2026-08-10 02:50:12 -04:00
171 lines
5.1 KiB
YAML
171 lines
5.1 KiB
YAML
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) }}"
|
|
|
|
- sensor:
|
|
- name: Dishwasher
|
|
unique_id: templatesensor_dishwasher
|
|
state: >
|
|
{% if is_state('binary_sensor.dishwasher','on')%}
|
|
running
|
|
{% elif is_state('binary_sensor.dishwasher','off') and is_state('input_boolean.empty_dishwasher','on') %}
|
|
pending
|
|
{% else %}
|
|
idle
|
|
{% endif %}
|
|
icon: >
|
|
{% if is_state('sensor.dishwasher','idle') %}
|
|
mdi:dishwasher-off
|
|
{% elif is_state('sensor.dishwasher','pending') %}
|
|
mdi:dishwasher-alert
|
|
{% else %}
|
|
mdi:dishwasher
|
|
{% endif %}
|
|
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)}}"
|
|
|
|
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
|