Go Down

Topic: RF outlet library [solved] (Read 3288 times) previous topic - next topic


Oct 07, 2013, 07:47 pm Last Edit: Oct 20, 2013, 07:00 pm by adis Reason: 1

Can you please look at the attached pictures and recommend a RF Outlet Library that might work?
One thing I see is that there is no address switch or a label with the address and the libraries I know will not work.

Also I'm a bit concerned that, with no address, additional sets of outlets cannot be controlled independently.

If anyone is wondering, those are sold by Hornbach in Romania for around 10€.

Many thanks,



Can't read the text on the small chip, but have you tried this?

Using a "1pcs RF transmitter and receiver kit for Arduino project 433Mhz" from eBay you can try to listen to what the remote sends, and re-send that from the transmitter...


In case RC-Switch won't work, try this lib: https://github.com/hjgode/homewatch/tree/master/arduino/libraries/NewRemoteSwitch

I used it to control sockets which also had "Turn off all" button.


Oct 20, 2013, 07:05 pm Last Edit: Oct 20, 2013, 07:11 pm by adis Reason: 1
Thanks to all for suggestions.
I found a working sample on https://sites.google.com/site/arduinohomeautomation/home/unitec_eim826 and I tuned the code with my DSO to the following:
Code: [Select]

const int outPin = 8;
// 1200bps=833us/bit lng=70%=583, sht=30%=250 , cor=correction for pinset/pinclear
#define FRAMEREPEAT 15
#define cor 4
#define lng 623 - cor//583 - cor
#define sht 208 - cor//250 - cor
// Macros for PWM bit pulse
#define rfBIT_H  {digitalWrite(outPin, HIGH); delayMicroseconds(sht); digitalWrite(outPin, LOW ); delayMicroseconds(lng-5);}
#define rfBIT_L  {digitalWrite(outPin, HIGH); delayMicroseconds(lng); digitalWrite(outPin, LOW ); delayMicroseconds(sht-5);}
void setup()
{ pinMode(outPin, OUTPUT);
void loop()
 byte rfFrame = B00001;//Button 1 ON
//  byte rfFrame = B00011;//Button 1 OFF
//  byte rfFrame = B10001;//Button 2 ON
//  byte rfFrame = B10011;//Button 2 OFF
//  byte rfFrame = B01001;//Button 3 ON
//  byte rfFrame = B01011;//Button 3 OFF
//  byte rfFrame = B00101;//All      ON
//  byte rfFrame = B00111;//All      OFF
 for ( byte j=0;j<FRAMEREPEAT;j++)         // 15 Frame repeats
   for ( byte i=0;i<20;i++) {rfBIT_H}                 // 20 preamble bits
   if (rfFrame & B00010000) {rfBIT_H} else {rfBIT_L}  // ChannelBit2
   if (rfFrame & B00001000) {rfBIT_H} else {rfBIT_L}  // ChannelBit1
   if (rfFrame & B00000100) {rfBIT_H} else {rfBIT_L}  // ChannelBit0
   if (rfFrame & B00000010) {rfBIT_H} else {rfBIT_L}  // On Off Bit
   if (rfFrame & B00000001) {rfBIT_H} else {rfBIT_H}  // stopbit always 1
   delayMicroseconds(5647);//4600); // interFrame delay
 }//for j

00000000000000000000 11110
hi  0.208ms
low 0.623ms
hi  .623ms
low .208ms

frame structure :
bit25   ...  bit5      bit4     bit3    bit2      bit1             bit0
preamble...  preamble  ch bit0  ch bit1 ch bit 2  ON/OFF
Always '1'  Always '1'                            ON ='0' OFF='1'  always '1'

Channel Bits :
Button 1,   Channel 0,  ch_bit0='0' , ch_bit1='0' , ch_bit2='0' ,
Button 2,   Channel 1,  ch_bit0='1' , ch_bit1='0' , ch_bit2='0' ,
Button 3,   Channel 2,  ch_bit0='0' , ch_bit1='1' , ch_bit2='0' ,
Button 4,   Channel 3,  ch_bit0='1' , ch_bit1='1' , ch_bit2='0' ,
Button All, Channel>=4, ch_bit0='0' , ch_bit1='0' , ch_bit2='1' ,

Unfortunately the remote and the outlets don't have an address and additional sets will share the same RF commands.

Kind regards,

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131