An ESPressif (ESP) code to open a Nice FLOR-S garage doors remotely using Internet/Wi-Fi with an RF433 Transmitter.
Install by cloning project or downloading source code
git clone https://github.com/Jev1337/NiceOpener.git
- Pair your ESP card with the receiver, using the code provided in the pair folder. Make sure to replace the codes with generated ones using this generator. Serial Code MUST be random, you should not use your remote's serial number it will make it out of sync.
//Fill these out with sync = 1
byte data1[] = { 0x1 , 0xf6 , 0x60 , 0xba , 0x62 , 0xb , 0x4c };
byte data2[] = { 0x1 , 0xc6 , 0x60 , 0xba , 0x62 , 0xb , 0x4c };
byte data3[] = { 0x1 , 0xd6 , 0x60 , 0xba , 0x62 , 0xb , 0x4c };
byte data4[] = { 0x1 , 0xa6 , 0x60 , 0xba , 0x62 , 0xb , 0x4c };
byte data5[] = { 0x1 , 0xb6 , 0x60 , 0xba , 0x62 , 0xb , 0x4c };
byte data6[] = { 0x1 , 0x86 , 0x60 , 0xba , 0x62 , 0xb , 0x4c };
//...
//Fill these out with sync = 2
byte data01[] = { 0x1 , 0xf9 , 0x73 , 0x54 , 0x5d , 0x34 , 0x73 };
byte data02[] = { 0x1 , 0xc9 , 0x73 , 0x54 , 0x5d , 0x34 , 0x73 };
byte data03[] = { 0x1 , 0xd9 , 0x73 , 0x54 , 0x5d , 0x34 , 0x73 };
byte data04[] = { 0x1 , 0xa9 , 0x73 , 0x54 , 0x5d , 0x34 , 0x73 };
byte data05[] = { 0x1 , 0xb9 , 0x73 , 0x54 , 0x5d , 0x34 , 0x73 };
byte data06[] = { 0x1 , 0x89 , 0x73 , 0x54 , 0x5d , 0x34 , 0x73 };
//...
//Fill these out with sync = 3
byte data001[] = { 0x1 , 0xf7 , 0x71 , 0xdd , 0x53 , 0x3a , 0x7d };
byte data002[] = { 0x1 , 0xc7 , 0x71 , 0xdd , 0x53 , 0x3a , 0x7d };
byte data003[] = { 0x1 , 0xd7 , 0x71 , 0xdd , 0x53 , 0x3a , 0x7d };
byte data004[] = { 0x1 , 0xa7 , 0x71 , 0xdd , 0x53 , 0x3a , 0x7d };
byte data005[] = { 0x1 , 0xb7 , 0x71 , 0xdd , 0x53 , 0x3a , 0x7d };
byte data006[] = { 0x1 , 0x87 , 0x71 , 0xdd , 0x53 , 0x3a , 0x7d };
- Install necessary library (Arduino IDE > Tools > Manage Libraries... > Install RF433send
- Using your Transceiver module's Rx on Pin 2 (of course with VCC and GND on their own pins)
- Run the code next to the receiver of the garage
- Follow instructions on Serial, for example when it says to send 3 from your working remote, press 3 times
- Once paired, you can use the main code which consist of using an API, I host the same generator we used earlier on a website using the same serial you just used to pair your card with. (You could use without an API, however you would need storage to keep the count of the codes and store the count in a database)
The way the API would work is that the server would send a GET Request containing the encoded code as a JSON, example:
{'code': '0x1 0xf7 0x71 0xdd 0x53 0x3a 0x7d'}
The code provided must be the first code generated.
Example of door openeing request: Code 1 being for Button 1:
"https://your-esp-ip-address/code1?={'code': '0x1 .... .... .... .... .... ....'}" // code 1 being for button 1
Code 2 being for Button 2:
"https://your-esp-ip-address/code2?={'code': '0x2 .... .... .... .... .... ....'}" // code 2 being for button 2
This allows you to clone your remote using cheap RF433 modules with an Arduino or Raspberry Pi. This allows you to make home automations for example.
Cloning a remote is illegal in some countries, as capturing signals itself is illegal. So use at your own risk, this is only for educational purposes.
There are no optimizations that I see that should be done, there are functions that could be deleted as they are there to let you know how things work.
This is tested on:
- Nice FLO2 R-S (Also known as: Nice FLOR-S, Nice FLOR-S2)
Kaiju: This helped me with confirming that the encoder works perfectly.
rtl_433: This helped me with the python code, as it was not originaly mine. I modified it in a way it displays the encbuff which we use to transmit using RF433_Send library on Arduino