From 15440bd8b5fdcd498632446aa7e8ab08a1e8cd36 Mon Sep 17 00:00:00 2001 From: Carlo Costanzo Date: Sun, 8 Feb 2026 00:52:15 -0500 Subject: [PATCH] Add logic to reseed vacuum phase when queue is empty and phase is not ready. Update logbook messages for phase advancement and docking conditions. --- config/packages/vacuum.yaml | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/config/packages/vacuum.yaml b/config/packages/vacuum.yaml index 3d4c7090..4183a234 100755 --- a/config/packages/vacuum.yaml +++ b/config/packages/vacuum.yaml @@ -184,6 +184,19 @@ script: - stop: "All phases complete." default: [] + # If the queue is empty but the phase-ready flag is not armed yet, reseed the same phase. + # This is the common case when we haven't positively confirmed the last room as cleaned. + - choose: + - conditions: + - condition: template + value_template: "{{ (queue_ints | length == 0) and (not phase_ready) }}" + sequence: + - service: script.send_to_logbook + data: + topic: "VACUUM" + message: "Queue empty but phase_ready is off; reseeding phase {{ phase }} (no phase advance)." + default: [] + # 1. Seed the queue if necessary - choose: - conditions: @@ -579,10 +592,13 @@ automation: - condition: template value_template: "{{ queue_empty }}" sequence: + - service: input_boolean.turn_on + target: + entity_id: input_boolean.l10s_vacuum_phase_ready - service: script.send_to_logbook data: topic: "VACUUM" - message: "Docked after completion; queue already empty." + message: "Docked after completion; queue already empty. Phase advance armed." - conditions: - condition: template value_template: "{{ not queue_empty }}"