feat: Update laundry notifications for Miele

This commit is contained in:
2025-07-17 10:12:42 -07:00
parent 572e331147
commit 66b5f5c8b8

View File

@@ -2,154 +2,177 @@
# -----------------------------------------------------------------------------
# Washer Final Pump-Out State Machine
input_select:
washer_complete_detect_state:
name: Washer Complete Detect State
options:
- Idle
- Stage 1 # Iw > 4A, <70s
- Stage 2 # Iw ~ [2A, 4A], 60s
- Stage 3 # dIw ~ [-1.0A, -0.4A], 45s
- Triggered # Iw < 0.2A, 60s
# OBSOLETE with new Miele W/D!!
# input_select:
# washer_complete_detect_state:
# name: Washer Complete Detect State
# options:
# - Idle
# - Stage 1 # Iw > 4A, <70s
# - Stage 2 # Iw ~ [2A, 4A], 60s
# - Stage 3 # dIw ~ [-1.0A, -0.4A], 45s
# - Triggered # Iw < 0.2A, 60s
input_number:
washer_complete_threshold_mid:
min: 0.0
max: 4.0
step: 0.1
# input_number:
# washer_complete_threshold_mid:
# min: 0.0
# max: 4.0
# step: 0.1
# -----------------------------------------------------------------------------
# Laundry Automations
automation:
- alias: Notify when Dryer Done
mode: single
trigger:
- platform: numeric_state
entity_id: sensor.dryer_power_electric_consumption_a
below: 1.0
for:
minutes: 1
action:
- service: notify.everyone
data:
message: Dryer is done
- alias: Washer Complete Detect - Stage 1
mode: single
trigger:
- platform: numeric_state
entity_id: sensor.washer_power_electric_consumption_a
above: 4
condition:
- "{{ is_state('input_select.washer_complete_detect_state', 'Idle') }}"
action:
- service: input_select.select_option
target:
entity_id: input_select.washer_complete_detect_state
data:
option: Stage 1
- alias: Washer Complete Detect - Stage 2
mode: single
trigger:
- platform: numeric_state
entity_id: sensor.washer_power_electric_consumption_a
above: 2
below: 4
for:
seconds: 60
condition:
- "{{ is_state('input_select.washer_complete_detect_state', 'Stage 1') }}"
action:
- service: input_select.select_option
target:
entity_id: input_select.washer_complete_detect_state
data:
option: Stage 2
- service: input_number.set_value
target:
entity_id: input_number.washer_complete_threshold_mid
data:
value: "{{ states('sensor.washer_power_electric_consumption_a')|float }}"
- alias: Washer Complete Detect - Stage 3
mode: single
trigger:
- platform: numeric_state
entity_id: sensor.washer_power_electric_consumption_a
value_template: "{{
states('sensor.washer_power_electric_consumption_a')|float
- states('input_number.washer_complete_threshold_mid')|float
}}"
above: -1.0
below: -0.4
for:
seconds: 45
condition:
- "{{ is_state('input_select.washer_complete_detect_state', 'Stage 2') }}"
action:
- service: input_select.select_option
target:
entity_id: input_select.washer_complete_detect_state
data:
option: Stage 3
- alias: Washer Complete Detect - Trigger
mode: single
trigger:
- platform: numeric_state
entity_id: sensor.washer_power_electric_consumption_a
below: 0.2
for:
seconds: 60
condition:
- "{{ is_state('input_select.washer_complete_detect_state', 'Stage 3') }}"
action:
- service: input_select.select_option
target:
entity_id: input_select.washer_complete_detect_state
data:
option: Triggered
- alias: Washer Complete Detect - Timeout
mode: single
trigger:
- platform: state
entity_id: input_select.washer_complete_detect_state
to: Stage 1
for:
seconds: 120
- platform: state
entity_id: input_select.washer_complete_detect_state
to: Stage 2
for:
seconds: 240
- platform: state
entity_id: input_select.washer_complete_detect_state
to: Stage 3
for:
seconds: 180
- platform: state
entity_id: input_select.washer_complete_detect_state
to: Triggered
for:
seconds: 60
action:
- service: input_select.select_option
target:
entity_id: input_select.washer_complete_detect_state
data:
option: Idle
- alias: Notify when Washer Done
mode: single
trigger:
- platform: state
entity_id: input_select.washer_complete_detect_state
to: Triggered
entity_id: sensor.washing_machine_program_phase
to: finished
action:
# The trigger occurs about 2 minutes before the lid unlocks
- delay: 120
- service: notify.everyone
data:
message: Washer is Done
- alias: Notify when Dryer Done
mode: single
trigger:
- platform: state
entity_id: sensor.tumble_dryer_program_phase
to: finished
action:
- service: notify.everyone
data:
message: Dryer is Done
# - alias: Notify when Dryer Done
# mode: single
# trigger:
# - platform: numeric_state
# entity_id: sensor.dryer_power_electric_consumption_a
# below: 1.0
# for:
# minutes: 1
# action:
# - service: notify.everyone
# data:
# message: Dryer is done
# - alias: Washer Complete Detect - Stage 1
# mode: single
# trigger:
# - platform: numeric_state
# entity_id: sensor.washer_power_electric_consumption_a
# above: 4
# condition:
# - "{{ is_state('input_select.washer_complete_detect_state', 'Idle') }}"
# action:
# - service: input_select.select_option
# target:
# entity_id: input_select.washer_complete_detect_state
# data:
# option: Stage 1
# - alias: Washer Complete Detect - Stage 2
# mode: single
# trigger:
# - platform: numeric_state
# entity_id: sensor.washer_power_electric_consumption_a
# above: 2
# below: 4
# for:
# seconds: 60
# condition:
# - "{{ is_state('input_select.washer_complete_detect_state', 'Stage 1') }}"
# action:
# - service: input_select.select_option
# target:
# entity_id: input_select.washer_complete_detect_state
# data:
# option: Stage 2
# - service: input_number.set_value
# target:
# entity_id: input_number.washer_complete_threshold_mid
# data:
# value: "{{ states('sensor.washer_power_electric_consumption_a')|float }}"
# - alias: Washer Complete Detect - Stage 3
# mode: single
# trigger:
# - platform: numeric_state
# entity_id: sensor.washer_power_electric_consumption_a
# value_template: "{{
# states('sensor.washer_power_electric_consumption_a')|float
# - states('input_number.washer_complete_threshold_mid')|float
# }}"
# above: -1.0
# below: -0.4
# for:
# seconds: 45
# condition:
# - "{{ is_state('input_select.washer_complete_detect_state', 'Stage 2') }}"
# action:
# - service: input_select.select_option
# target:
# entity_id: input_select.washer_complete_detect_state
# data:
# option: Stage 3
# - alias: Washer Complete Detect - Trigger
# mode: single
# trigger:
# - platform: numeric_state
# entity_id: sensor.washer_power_electric_consumption_a
# below: 0.2
# for:
# seconds: 60
# condition:
# - "{{ is_state('input_select.washer_complete_detect_state', 'Stage 3') }}"
# action:
# - service: input_select.select_option
# target:
# entity_id: input_select.washer_complete_detect_state
# data:
# option: Triggered
# - alias: Washer Complete Detect - Timeout
# mode: single
# trigger:
# - platform: state
# entity_id: input_select.washer_complete_detect_state
# to: Stage 1
# for:
# seconds: 120
# - platform: state
# entity_id: input_select.washer_complete_detect_state
# to: Stage 2
# for:
# seconds: 240
# - platform: state
# entity_id: input_select.washer_complete_detect_state
# to: Stage 3
# for:
# seconds: 180
# - platform: state
# entity_id: input_select.washer_complete_detect_state
# to: Triggered
# for:
# seconds: 60
# action:
# - service: input_select.select_option
# target:
# entity_id: input_select.washer_complete_detect_state
# data:
# option: Idle
# - alias: Notify when Washer Done
# mode: single
# trigger:
# - platform: state
# entity_id: input_select.washer_complete_detect_state
# to: Triggered
# action:
# # The trigger occurs about 2 minutes before the lid unlocks
# - delay: 120
# - service: notify.everyone
# data:
# message: Washer is Done