diff --git a/include/templates/roborock.yaml b/include/templates/roborock.yaml index 1b8f11f..ab53c7f 100644 --- a/include/templates/roborock.yaml +++ b/include/templates/roborock.yaml @@ -2,26 +2,39 @@ - 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: > - {% set raw = states('sensor.roborock_s8_pro_ultra_last_clean_end') %} + {% 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_datetime(raw) %} + {% set dt = as_local(as_datetime(raw)) %} {% if dt is none %} Ukendt {% elif dt.date() == now().date() %}