RainerStaude / hass-becker-component-plus-pybecker

A native home assistant component to control becker RF shutters with a Becker Centronic USB Stick.
MIT License
44 stars 3 forks source link

Opening multiple covers in a single call working unreliably #37

Open marcschumacher opened 2 months ago

marcschumacher commented 2 months ago

I am having quite a bunch of Becker covers and I have an automation that should open all 10 covers I have with a single service call for opening. What actually happens is that randomly some of the covers stay closed. Could there be a race condition when too many threads try to send a signal at the same time? Could it make sense to introduce a locking mechanism that prevents this situation?

RainerStaude commented 2 months ago

Hi Marc, All commands will be put in a queue and sent one after the other with 100ms gap in between. During discussion with other user I noticed that the Becker CC41 reply each command and finishes with release command. In addition the gap is 300ms between commands. The downside of such an implementation is, that this limits to send only one command per second. I see similar issues with my two covers only. I was already thinking about changing my integration accordingly. What do you think?

marcschumacher commented 2 months ago

For me the foremost goal is to have a reliable integraion. But what about letting the enduser choose and allowing to configure the behavior the integration has right now and the one of the CC41. Alternatively you could make the timings configurable as well and have some documentation giving examples explaining the current configuration and the one of CC41? This would allow a bit of finetuning, which would be appreciated for some users. WDYT?

RainerStaude commented 2 months ago

Sorry, you got that wrong. I updated my previous comment. You should not buy a CC41.

marcschumacher commented 2 months ago

I also changed my previous message accordingly.

RainerStaude commented 2 months ago

I don't like that many options. These options confuses users. But I agree on reliable solution. I will update my integration, but I can't promise, that this change will be available quickly.