Fix Roborock wake timing, update kontekst.txt

- Roborock: wait for vacuum+battery != unknown/unavailable (2min timeout)
- Roborock: recompute variables AFTER wait_template, not at trigger time
- Roborock: block start if vacuum in error state (e.g. dock water refill)
- kontekst.txt: add device/integration details (TTS, garage, Roborock, Shelly, etc.)
This commit is contained in:
2026-04-19 20:58:11 +02:00
parent 0311447d91
commit ce888204db
2 changed files with 48 additions and 25 deletions
+16 -9
View File
@@ -52,20 +52,25 @@
for: "00:05:00"
variables:
roborock_family_away: "{{ is_state('binary_sensor.family_presence', 'off') }}"
roborock_auto_runs: "{{ states('input_number.roborock_auto_runs_today') | int(0) }}"
roborock_is_cleaning: "{{ is_state('vacuum.roborock_s8_pro_ultra', 'cleaning') }}"
roborock_battery: "{{ states('sensor.roborock_s8_pro_ultra_batteri') | int(0) }}"
roborock_state: "{{ states('vacuum.roborock_s8_pro_ultra') }}"
roborock_status: "{{ state_attr('vacuum.roborock_s8_pro_ultra', 'status') | default('ukendt', true) }}"
roborock_error: "{{ state_attr('vacuum.roborock_s8_pro_ultra', 'error') | default('ingen', true) }}"
roborock_cleaned_area: "{{ state_attr('vacuum.roborock_s8_pro_ultra', 'cleaned_area') | default('ukendt', true) }}"
roborock_cleaning_time: "{{ state_attr('vacuum.roborock_s8_pro_ultra', 'cleaning_time') | default('ukendt', true) }}"
action:
# Vent til Roborock er vækket og rapporterer tilstand
- wait_template: "{{ states('sensor.roborock_s8_pro_ultra_batteri') != 'unknown' }}"
timeout: "00:00:30"
- wait_template: >
{{ states('vacuum.roborock_s8_pro_ultra') not in ['unknown', 'unavailable']
and states('sensor.roborock_s8_pro_ultra_batteri') not in ['unknown', 'unavailable'] }}
timeout: "00:02:00"
# Genberegn variabler EFTER Roborock er vågnet
- variables:
roborock_family_away: "{{ is_state('binary_sensor.family_presence', 'off') }}"
roborock_auto_runs: "{{ states('input_number.roborock_auto_runs_today') | int(0) }}"
roborock_is_cleaning: "{{ is_state('vacuum.roborock_s8_pro_ultra', 'cleaning') }}"
roborock_battery: "{{ states('sensor.roborock_s8_pro_ultra_batteri') | int(0) }}"
roborock_state: "{{ states('vacuum.roborock_s8_pro_ultra') }}"
roborock_status: "{{ state_attr('vacuum.roborock_s8_pro_ultra', 'status') | default('ukendt', true) }}"
roborock_error: "{{ state_attr('vacuum.roborock_s8_pro_ultra', 'error') | default('ingen', true) }}"
- choose:
- conditions:
@@ -75,6 +80,7 @@
roborock_family_away
and roborock_auto_runs < 2
and not roborock_is_cleaning
and roborock_state not in ['error', 'unknown', 'unavailable']
and roborock_battery > 20
}}
sequence:
@@ -129,6 +135,7 @@
Familie hjemme: {{ not roborock_family_away }}.
Auto-kørsler i dag: {{ roborock_auto_runs }}.
Kører allerede: {{ roborock_is_cleaning }}.
State: {{ roborock_state }}.
Batteri: {{ roborock_battery }}%.