The blueprint is triggering multiple times because that’s how it works. You might a null trigger that wakes the switch, a real trigger, then a null trigger that turns the switch action off.
If you add a condition statement after the trigger, you can set it to only allow triggers into the rest of the blueprint that the blueprint can properly act on. You may still see the extra triggers, but the error log won’t spam on seeing the things that there is no action for.
I mentioned this to someone else here…
EDIT July 6 2022
So, this was a bit annoying because there are so many triggers, but I wrote it up for you folks upon a request… The owner of the main blueprint needs to edit it and add this as I cannot do that.
You can on your own add this to your copy. It should make sure that only valid triggers make the blueprint code execute. I don’t have any of the hardware so this team will need to take this test and troubleshoot it. It is pretty straightforward if you look at it. (here is a list of the triggers I can handle, ignore everything else) It will still trigger on garbage, but those are trapped as not matching the condition and will just show up as an empty trace.
Sorry in advance if there is a typo…
Add this after the trigger, before the action:
condition:
condition: template
value_template: '{{ trigger.to_state.attributes.action in ( ''single'',''double'',''triple'',''quadruple'',''hold'',''release'',''shake'',''single_left'',''double_left'',''triple_left'',''hold_left'',''release_left'',''single_right'',''double_right'',''triple_right'',''hold_right'',''release_right'',''single_center'',''double_center'',''triple_center'',''hold_center'',''release_center'',''single_both'',''double_both'',''triple_both'',''hold_both'',''release_both'') }}'
If you still cannot see the trace you want, simply tell HA to add more traces…