-
Notifications
You must be signed in to change notification settings - Fork 94
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Serialize command sequence to enable last pause command. #528
Conversation
* Security updates * Turn off air-conditioner accessory automatically after onDuration seconds. (kiwi-cam#446) Co-authored-by: banboobee <98196664+banboobee@users.noreply.github.com>
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Dear Kiwi-cam, Note that PR #528 and PR #520 are mutually exclusive, and either one of them should be applied. PR #520 queues sendData() to resolve the collision between accessories sharing same broadlink device. PR #528 queues performSend() to resolve the collision within a accessory also. performSend() calls sendData() internally, applying both duplicates the queueing operation, and unexpected behavior may arise, I geuss. |
This PR serializes the command sequence of Advanced HEX Structure to deal with issue #478. In addition to serializing primitive IR/RF commands of PR #520, this PR also serializes pause/interval commands. Adding pause command to last step of the sequence, next command has to wait for pausing time before its evaluation. Thus, any "minimum time between commands" can be implemented using Advanced HEX Structure. I wish the issue author validates this PR and inform the results.
This PR also manages Problem 2 of issue #471. Although similar issues are reported sometime, it is not a bug but an intended behavior. To avoid simultaneous temporal command operations, succeeding command cancels out operating command. Hence, power command cancels out input selection command for TV in a scene, and sent only once. Since this PR serializes input and power commands, both commands are expected to be completed successfully.