- 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 %}