Heya, let's assume a button that triggers the following:
sequence:
- call_some_service
- delay:
minutes: 30
- call_some_service
Use case - e.g. boost mode in a house ventilation or hvac:
- clicking a
Start ⏵button sets current fan speed to maximum (aka boost mode) for a time specified before in a drop down (15/30/45/60 minutes) - button text changes to
⏹ Stop+ a countdown on the remaining time for the boost - pressing the same button again will stop boost mode manually by setting remaining delay to 00:00, button text turns back to
Start ⏵ - no button press / manual stop means boost mode will be switched back automatically to normal mode after the specified delay
Is there an easy way to address/manipulate the delay part while its active, and set remaining minutes e.g. to 00:00?
Or is it better to set up a dedicated timer.my_timer for this and do the whole thing by hand without automations, e.g. by utilizing a custom:button-card with [[[ multi-calls: hass.callService(call_some_service); delay; hass.callService(call_some_service); ]]]?
Appreciate your ideas, thanks in advance! 🙂
/tom