Feature Request: enable "delay" to queue commands instead of ignoring them
For example, when turning a TV on then immediately off, given one has set the proper delay, the power off command is ignored and you are presented with an error in the log saying "Powering on is already in progress". I think it would be good you could opt to have the command queued for the specified delay time, instead of simply ignored. 

If this is done, you then get the desired effect, albeit delayed. 

One potential issue with the above is that you could end up with a very long queue of ON-->OFF-->ON-->OFF etc. so there's need to be some kind of limit to the number of commands that can be sent in a given time frame.

A complementary feature might be to have a delay in the processing so that consecutive commands, within a given time period, that cancel each other out are not processed, depending on the current state.

For example, if the current state is OFF, and the commands send are ON-->OFF-->ON-->OFF-->ON, eliminate all occurrences of ON-->OFF since those result in the current state.

Another example - if the current state is ON however,  and the commands send are OFF-->ON-->OFF-->ON-->OFF, eliminate all occurrences of "OFF-->ON".

Another way of looking at this is, given only two states, within a given time period, only consider the last state requested. If it is the same as the current one, ignore the entire sequence. If not, then ignoring everything but the last command.

Thanks in advance.