Fix Set My Position signal for 80-bit RTS #584
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.
Most everything else was working out of the box for me but my motors refused to recognize the "Set My Position" command. It seems the motors I have need a longer signal that needs to be just right.
This PR adjusts the 7th and 8th byte sequence of the 80-bit signal for the "Set My Position" command.
11000100like before, but is now achieved by192 | repeat << 2and passing parameterrepeat=1for the original "non-repeat" frame (so it's really more like a 1-based frame index)11111100instead of looping backYou can see the exact frame progression here.
This results in the frames being outputted exactly like my remote. This is necessary for the command to work with the motors that I have but I don't know if it breaks it for others or not (eg the original logic of the 7th byte looping back feels like it was there for a reason). If this isn't compatible with other motors then we must be dealing with different variations in the protocol and unfortunately I don't know enough about the lore of Somfy RTS to know what kind of a control this should be in the configuration UI.
Side note: because of some command translation going on in
decodeFramethe last 2 parts of this sequence are interpreted as unknown commands17and33if listened to by the esp device itself but it shouldn't cause any issues afaik (took me a while to realize my remote isn't actually sending out unknown commands lol).