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:
@@ -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 }}%.
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user