48 lines
1.7 KiB
YAML
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 %} |