Files

48 lines
1.7 KiB
YAML

- trigger:
- platform: homeassistant
event: start
- platform: state
id: last_clean_end_changed
entity_id: sensor.roborock_s8_pro_ultra_last_clean_end
- platform: state
id: vacuum_state_changed
entity_id: vacuum.roborock_s8_pro_ultra
- platform: state
id: vacuum_finished_cleaning
entity_id: vacuum.roborock_s8_pro_ultra
from: "cleaning"
for: "00:00:10"
- platform: state
id: roborock_automation_ran
entity_id:
- automation.roborock_smart_cleaning_start
- automation.roborock_syd_workday_vacuum
- automation.roborock_syd_workday_mop
attribute: last_triggered
- platform: time_pattern
id: fallback_refresh
hours: "/2"
sensor:
- name: "Roborock Last Clean End Compact"
unique_id: roborock_last_clean_end_compact
state: >
{% if trigger.id == 'last_clean_end_changed' and trigger.to_state is not none %}
{% set raw = trigger.to_state.state %}
{% else %}
{% set raw = states('sensor.roborock_s8_pro_ultra_last_clean_end') %}
{% endif %}
{% if raw in ['unknown', 'unavailable', '', none] %}
Ukendt
{% else %}
{% set dt = as_local(as_datetime(raw)) %}
{% if dt is none %}
Ukendt
{% elif dt.date() == now().date() %}
i dag {{ dt.strftime('%H:%M') }}
{% elif dt.date() == (now() + timedelta(days=1)).date() %}
i morgen {{ dt.strftime('%H:%M') }}
{% else %}
{% set weekdays = ['man', 'tir', 'ons', 'tor', 'fre', 'lør', 'søn'] %}
{{ weekdays[dt.weekday()] }} {{ dt.strftime('%H:%M') }}
{% endif %}
{% endif %}