Improve blind setup, calibration, and status tracking#27
Merged
Conversation
GimpArm
approved these changes
Jul 6, 2026
GimpArm
left a comment
Owner
There was a problem hiding this comment.
This is a lot of changes and I don't have time to review it properly. I also don't have time to address all the open issues. So I'm going to trust that you did not break everything for everyone else
Contributor
Author
|
Thank you very much for the trust and approval.
I agree this is a large change, so I tried to reduce the risk as much as
possible:
- Tested live with three installed Schellenberg RF motors
- Verified pairing/teach-in, calibration, status discovery, manual sync,
restart restore, and shutdown behavior
- 224 tests pass
- Ruff, mypy, formatting, compilation, JSON, and translation checks pass
- Legacy configurations should be preserved and backfilled where needed
That said, I understand that real Schellenberg setups can vary. I will
monitor the PR/issues and help fix regressions if users report problems.
…On Mon, 6 Jul 2026, 13:48 GimpArm, ***@***.***> wrote:
Merged #27 <#27> into
main.
—
Reply to this email directly, view it on GitHub
<#27?email_source=notifications&email_token=ABOQ7GNDMJX2OFUTICYI4H35DOGXTA5CNFSNUABQM5UWIORPF5TWS5BNNB2WEL2JONZXKZKFOZSW45CON52GSZTJMNQXI2LPNYXTENZWGA2TMOJWG4YDHJTSMVQXG33OUZQXK5DIN5ZKKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#event-27605696703>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABOQ7GNYOY4QVLCBAZ7STTD5DOGXTAVCNFSNUABFKJSXA33TNF2G64TZHM4DENRSG43TSMRRHNEXG43VMU5TIOBRGAZTGOBXHAY2C5QC>
.
Triage notifications, keep track of coding agent tasks and review pull
requests on the go with GitHub Mobile for iOS
<https://github.com/notifications/mobile/ios/ABOQ7GJFRXEQO7UNEJXDKYT5DOGXTA5CNFSNUABQM5UWIORPF5TWS5BNNB2WEL2JONZXKZKFOZSW45CON52GSZTJMNQXI2LPNYXTENZWGA2TMOJWG4YDHJTSMVQXG33OUZQXK5DIN5ZKKZLWMVXHJKTGN5XXIZLSL5UW64Y>
and Android
<https://github.com/notifications/mobile/android/ABOQ7GNSPYIAMYCSOAF6IYT5DOGXTA5CNFSNUABQM5UWIORPF5TWS5BNNB2WEL2JONZXKZKFOZSW45CON52GSZTJMNQXI2LPNYXTENZWGA2TMOJWG4YDHJTSMVQXG33OUZQXK5DIN5ZKKZLWMVXHJLTGN5XXIZLSL5QW4ZDSN5UWI>.
Download it today!
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR improves the Schellenberg USB Home Assistant integration to make real-world blind setup more reliable and user-friendly.
The main focus is improving pairing, teach-in, calibration, status identity discovery, estimated position tracking, diagnostics, and Home Assistant entity handling.
What changed
Why this is needed
In real Schellenberg RF setups, the identity used by the USB stick to transmit commands is not always the same as the identity observed from the original remote or motor status frames.
Some setups also emit additional companion RF frames with unknown commands. Before this change, users often needed to inspect logs and manually guess which identity should be used for position tracking.
This PR makes setup more automatic and understandable by discovering usable status identities during calibration or guided remote discovery.
Tested
Tested live with:
Observed successful patterns included:
00,01, and02Validation
Compatibility
Existing/legacy configurations are preserved. Blinds without stored stable IDs are backfilled once. Manual identity editing remains available for advanced users.
Notes
The integration still does not provide true physical position feedback. Position remains estimated from travel times and commands. USB stick ACKs confirm only that the stick transmitted; they do not confirm motor movement.