Skip to content
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

Add SmartWares protocol #2

Open
wants to merge 1 commit into
base: development
Choose a base branch
from

Conversation

Cilyan
Copy link

@Cilyan Cilyan commented Sep 25, 2020

Added protocol for SmartWares "learning" plugs. These are plugs, seemingly mostly available in Europe. The plugs can be associated/disassociated from the remote. They can associate several remotes.

The code is 64 pulses long, which are combined 2-by-2 (like the other protocols) to make a 32 bits word. It is decomposed into a remote ID, a flag to activate one plug or all associated plugs, a flag for ON/OFF and 4 bits to code the plug index, accommodating up to 16 plugs.

More information: sui77#360

  • 0 is 275µs high, 240µs low, simplified {1, 1} Te.
  • 1 is 275µs high, 1330µs low, simplified {1, 5} Te.
  • Needs a sync bit of 275µs high and 2550µs low, simplified {1, 10} Te.
  • Requires at least 10000µs low between repeats, simplified 37 Te.
  • Requires a 65th pulse for validation (So KeeLoq workaround is important).

- 0 is 275µs high, 240µs low
- 1 is 275µs high, 1330µs low
- Needs a sync bit of 275µs high and 2550µs low
- Requires at least 10000µs low between repeats

Signed-off-by: Cilyan Olowen <[email protected]>
@1technophile
Copy link
Owner

Thanks for the PR,
As soon as @akemper confirms it is working for him, I will integrate the PR.

@atika
Copy link

atika commented Dec 14, 2021

Would it be possible to give a usage example? I just bought a couple of them to integrate into my project who use RCSwitch. I tried to receive the signal to control them without success.

@Cilyan
Copy link
Author

Cilyan commented Dec 14, 2021

The reception doesn't work properly. The detection algorithm in RCSwitch to guess the protocol is too simple and there are now too many protocols to sort out. To analyze and detect the code sent by the remote, I used a custom project and a lot of manual work. But I did this only for one plug. For all the others, what I did was just to program a custom code and let the plug learn it, exactly like you would to pair a remote control with the plug. Place the plug in "pairing mode", then send your custom code using the arduino (several times if possible). Each plug is supposed to be able to pair with up to 3 codes, so you should be able to have both your arduino and the original remote control if you need it.

@dnandha
Copy link

dnandha commented Jan 12, 2022

Hey guys, while going through my past project I found that more than one year ago I implemented the SmartWares protocol for the FA500 and SF500 remotes. For this I had to make quite a few changes to the code. One of them is increasing the RCSWITCH_MAX_CHANGES, others are changing the guard signal and other delays. Also heavily trimmed down the code for debugging purposes. Anyways, if any of you wants to try it it's here: https://github.com/dnandha/rc-switch/tree/smartwares-sf500-fa500

Would be nice to have a general solution for SmartWare devices!

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.

4 participants