Go Down

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

adis

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

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,
Adi

https://www.dropbox.com/s/0sx2596eu0p224c/2013-10-07%2020.23.05.jpg
https://www.dropbox.com/s/dnnlwk7hdzoftom/2013-10-07%2020.23.14.jpg
https://www.dropbox.com/s/of6i12be3pyl293/2013-10-07%2020.23.32.jpg
https://www.dropbox.com/s/dj9d9of10urh0ow/2013-10-07%2020.24.00.jpg
https://www.dropbox.com/s/vzru0ka89xv9v44/2013-10-07%2020.25.17.jpg

probono

Can't read the text on the small chip, but have you tried this?
https://code.google.com/p/rc-switch/

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...

spch

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.

adis

#3
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);
}//setup
//------------------------------------------------------------------------
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
 delay(1000);
}//loop

/*
frame:
00000000000000000000 11110
0:
hi  0.208ms
low 0.623ms
1:
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,
Adi

Go Up