- Replace fragile `for:` trigger with timestamp-based empty-house logic
- Add input_datetime to track when house became empty
- Introduce time_pattern polling (every 5 min) to avoid missed triggers
- Add retry mechanism (up to 3 attempts) for starting cleaning
- Improve vacuum state handling (docked/idle/charging)
- Add race-safe stop automation when someone returns home
- Split logic into dedicated automations (tracking, reset, start, stop)
- Ensure daily run limit via input_number
Fixes issue where cleaning was not triggered due to presence sensor flapping/unavailable states.