Add support for backlog with no delay#9544
Conversation
|
I like the idea but would like to play with Let me have a look before optionally merging this. |
Add command ``NoDelay`` for immediate backlog command execution by Erik Montnemery (#9544)
|
Thx. Implemented my way. |
|
@arendst I first implemented your way, because as you mention code is much cleaner. However, it doesn't work because with this way there is a delay between handling of the What could work, while still keeping the What I mean is: revert 29e73da and instead do something like this: void BacklogLoop(void) {
if (TimeReached(backlog_delay) || NextCommandNoDelay()) {Let me know if you want me to give it a try? |
|
@emontnemery How about leaving the commit and add the following to So add line 347 with |
|
@arendst that is the perfect solution if the delay between the backlog command itself and the first command in the backlog is not needed! By the way, I think this line in your solution also needs to be changed, to handle if user ends the backlog sequence with - } while (nodelay_detected);
+ } while (!BACKLOG_EMPTY && nodelay_detected);Edit: OK, so it's fixed in 074aec0, great! |
Description:
Add support for executing backlog with no delay without setting
SetOption34 = 0The delay defined by
SetOption34is omitted for any command in a backlog sequence following immediately after the special commandNoDelay.This must be used with care, and only for simple commands.
The main driver is to allow HomeAssistant to more precisely control lights, in particular transitions (
FadeandSpeedin Tasmota).Example:
Disable fade, and turn off a light without any delays:
Backlog NoDelay;Fade 0;NoDelay;Power4 OFFEnable fade, and turn on a light without any additional delays:
Backlog NoDelay;Fade 1;NoDelay;Speed 4;NoDelay;Power4 ONChecklist:
NOTE: The code change must pass CI tests. Your PR cannot be merged unless tests pass