Skip to content

Conversation

@syko
Copy link

@syko syko commented Jul 12, 2025

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.

  1. Increased repeat frame count
  2. The 7th byte starts at 11000100 like before, but is now achieved by 192 | repeat << 2 and passing parameter repeat=1 for the original "non-repeat" frame (so it's really more like a 1-based frame index)
  3. The 7th byte now maxes out at 11111100 instead of looping back
  4. The 8th byte starts at 0 and increases by 1 every 16 frames

You 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 decodeFrame the last 2 parts of this sequence are interpreted as unknown commands 17 and 33 if 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).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant