aarons22 / homebridge-bond

Homebridge plugin for Bond
MIT License
64 stars 31 forks source link

Sending multiple commands simultaneously doesn't work #204

Open emroch opened 2 years ago

emroch commented 2 years ago

Description When multiple events happen in quick succession, only one goes through and actually affects the device. I have a ceiling fan with two lights. If I tell Siri to turn on the "Living Room lights" (ie both the up and down light), both switches turn on but only the Up Light actually gets power. Similarly, if I ask Siri to "turn on the living room", the Up light works but the down light and fan stay off.

I can also replicate it with just a single service: double tapping the light device will tell HomeKit to toggle the light on then off, but Bond/the fan will only get the on command. This is actually sort of useful as a state toggle without the separate switches, but I still think it is a bug and should be fixed for consistency's sake.

I suspect this is because the Bond Bridge cannot transmit two RF codes at the same time and the commands need to be spaced apart a bit. Though I do see async functions so maybe Bond is already serializing them and my fan just needs more buffer in between.

It would be great if the plugin could detect when multiple events come in within a short (configurable) window and buffer them up to have a minimum spacing.


Maybe related, when I told Siri to turn on everything in the living room, the Up/Down light and fan turned on as expected, but so did the state toggle switches. This seemed to bypass whatever auto-off feature they have because they stayed on until I manually turned one off (at which point the other also turned off and both Up/Down light changed state).


Information: