Inconsistent behavior in Node Red service call

In the above image, the Green check works consistently. I click the inject node with no data, and it fires the SetLEDEffect service call. The device behaves correctly.

I then copied the SetLEDEffect and DisableLEDEffect nodes down and made it occur after the yellow enableTimer node. Now when the logic flows from enableTimer into SetLEDEffect, the exact same service call is made, but the end device does not reflect a changed behavior.

I went to the Developer Tools / Events tab and subscribed to the call_service events. For the Green checkmark logic flow, I saw the event payload. For the red X logic flow, I also saw the event payload (to my surprise). The same payload (except the event context.id and time_fired fields, which are always unique). After confirming the events are correctly firing on the event bus, I’m at a loss.

Question: What would cause the event to be seen in the developer tools, but not make it to the device?

When I fire the exact same event payload using Developer Tools / Services tab, the device end behaves as expected. It only does not behave as expected when it is part of a longer flow as shown in the red X portion above.

It’s just a guess but you may be trying to do multiple simultaneous calls to the same devices and then some of calls will be dropped or cancel each other out.
Test it by doing the checke mark flow with just one trigger node that starts both calls.

If the behaviour is then the same, then you either need to combine the calls into one, if that is possible or you need to add a delay between them.

I would guess there is something else going on with the payload. But it’s impossible to say when we don’t get the complete sequence