diff --git a/include/automations/roborock.yaml b/include/automations/roborock.yaml index 3a4d244..69bf698 100644 --- a/include/automations/roborock.yaml +++ b/include/automations/roborock.yaml @@ -1,3 +1,4 @@ +# 🏠 Track hvornår huset bliver tomt - id: track_house_empty_time alias: Track House Empty Time mode: restart @@ -7,15 +8,26 @@ entity_id: binary_sensor.family_presence to: "off" + - platform: homeassistant + event: start + + condition: + - condition: state + entity_id: binary_sensor.family_presence + state: "off" + action: - service: input_datetime.set_datetime target: entity_id: input_datetime.house_became_empty data: timestamp: "{{ now().timestamp() }}" - + + +# 🔄 Reset daglig tæller - id: roborock_reset_daily_counter alias: Roborock Reset Daily Counter + trigger: - platform: time at: "00:00:00" @@ -27,6 +39,8 @@ data: value: 0 + +# 🤖 Smart rengøring - id: roborock_smart_cleaning_start alias: Roborock Smart Cleaning Start mode: single @@ -42,50 +56,36 @@ - condition: template value_template: > - {{ states('input_datetime.house_became_empty') not in ['unknown','unavailable',''] and - (as_timestamp(now()) - as_timestamp(states('input_datetime.house_became_empty'))) > 1800 }} + {% set t = state_attr('input_datetime.house_became_empty', 'timestamp') %} + {{ t is not none and (as_timestamp(now()) - t) > 300 }} - condition: numeric_state entity_id: input_number.roborock_auto_runs_today below: 2 - - condition: template - value_template: > - {{ states('vacuum.roborock_s8_pro_ultra') in ['docked','idle','charging'] }} + - condition: not + conditions: + - condition: state + entity_id: vacuum.roborock_s8_pro_ultra + state: "cleaning" - condition: template value_template: > - {% set b = state_attr('vacuum.roborock_s8_pro_ultra','battery_level') %} - {{ b is number and b > 20 }} + {{ state_attr('vacuum.roborock_s8_pro_ultra','battery_level') | int(0) > 20 }} action: - - variables: - started: false + - service: button.press + target: + entity_id: button.roborock_s8_pro_ultra_kokken_bryggers - - repeat: - count: 3 - sequence: - - service: button.press - target: - entity_id: button.roborock_s8_pro_ultra_kokken_bryggers - - - delay: "00:00:20" - - - if: - - condition: state - entity_id: vacuum.roborock_s8_pro_ultra - state: "cleaning" - then: - - variables: - started: true - - stop: "Cleaning started" + - delay: "00:00:20" - choose: - # ✅ SUCCESS → send notifikation - conditions: - - condition: template - value_template: "{{ started }}" + - condition: state + entity_id: vacuum.roborock_s8_pro_ultra + state: "cleaning" sequence: - service: input_number.increment target: @@ -95,19 +95,24 @@ data: title: "🧹 Roborock startet" message: > - Rengøring startet automatisk. - Hus har været tomt i {{ ((as_timestamp(now()) - as_timestamp(states('input_datetime.house_became_empty'))) / 60) | int }} min. + Hus har været tomt i {{ + ((as_timestamp(now()) - state_attr('input_datetime.house_became_empty','timestamp')) / 60) | int + }} min. - # ❌ FAIL → send fejl-notifikation - conditions: - - condition: template - value_template: "{{ not started }}" + - condition: not + conditions: + - condition: state + entity_id: vacuum.roborock_s8_pro_ultra + state: "cleaning" sequence: - service: notify.mobile_app_clausiphone15 data: title: "⚠️ Roborock start fejlede" - message: "Automation forsøgte 3 gange uden succes." - + message: "Startkommando sendt, men den begyndte ikke at køre." + + +# 🏠 Stop når nogen kommer hjem - id: roborock_stop_when_home alias: Roborock Stop When Someone Comes Home mode: restart @@ -131,3 +136,57 @@ data: title: "🏠 Roborock stoppet" message: "Rengøring stoppet fordi nogen er kommet hjem." + + +# 🧹 Syd på arbejdsdage +- id: roborock_syd_workday_vacuum + alias: Roborock støvsug syd på arbejdsdage + mode: single + + trigger: + - platform: time + at: "10:00:00" + + condition: + - condition: state + entity_id: binary_sensor.arbejdsdag + state: "on" + - condition: not + conditions: + - condition: state + entity_id: vacuum.roborock_s8_pro_ultra + state: "cleaning" + + action: + - service: button.press + target: + entity_id: button.roborock_s8_pro_ultra_syd + + +# 🧽 Syd vask på arbejdsdage mandag og onsdag +- id: roborock_syd_workday_mop + alias: Roborock vask syd på arbejdsdage mandag og onsdag + mode: single + + trigger: + - platform: time + at: "12:00:00" + + condition: + - condition: state + entity_id: binary_sensor.arbejdsdag + state: "on" + - condition: time + weekday: + - mon + - wed + - condition: not + conditions: + - condition: state + entity_id: vacuum.roborock_s8_pro_ultra + state: "cleaning" + + action: + - service: button.press + target: + entity_id: button.roborock_s8_pro_ultra_syd_vask