RFLink Gateway Commands and Data fields The use of this protocol is free for both server and client sides of the implementation Data is send serial (via USB) as "text" at a speed of 57600 baud (N,8,1) It is sufficient to open a port and listen to the data. Each text line contains information that has been received via RF signals. Packet structure - Received data from RF: ----------------------------------------- 20;ID=9999;Name;LABEL=data; 20 => Node number 20 means from the RFLink Gateway to the master, 10 means from the master to the RFLink Gateway ; => field separator NAME => Device name (can be used to display in applications etc.) LABEL=data => contains the field type and data for that field, can be present multiple times per device Data Fields: (LABEL=data) ------------ ID=9999 => device ID (often a rolling code and/or device channel number) SWITCH=A16 => House/Unit code like A1, P2, B16 or a button number etc. CMD=ON => Command (ON/OFF/ALLON/ALLOFF) SET_LEVEL=15 => Direct dimming level setting value TEMP=9999 => Temperature (hexadecimal), high bit contains negative sign, needs devision by 10 HUM=99 => Humidity (hexadecimal) BARO=9999 => Barometric pressure (hexadecimal) HSTATUS=99 => 0=Normal, 1=Comfortable, 2=Dry, 3=Wet BFORECAST=99 => 0=No Info/Unknown, 1=Sunny, 2=Partly Cloudy, 3=Cloudy, 4=Rain UV=9999 => UV intensity (hexadecimal) LUX=9999 => Light intensity (hexadecimal) BAT=OK => Battery status indicator (OK/LOW) RAIN=1234 => rain rate in mm. (hexadecimal) RAINTOT=1234 => total rain in mm. (hexadecimal) WINSP=9999 => Wind speed in km. p/h (hexadecimal) needs devision by 10 AWINSP=9999 => Average Wind speed in km. p/h (hexadecimal) needs devision by 10 WINGS=9999 => Wind Gust in km. p/h (hexadecimal) WINDIR=123 => Wind direction 0-15 reflecting 0-360 degrees in 22.5 degree steps (decimal) WINCHL => wind chill (hexadecimal) WINTMP=1234 => Wind meter temperature reading (hexadecimal) CHIME=123 => Chime/Doorbell melody number SMOKEALERT=ON => ON/OFF PIR=ON => ON/OFF CO2=1234 => CO2 air quality SOUND=1234 => Noise level KWATT=1234 => KWatt WATT=1234 => Watt DIST=1234 => Distance METER=1234 => Water flow meter VOLT=1234 => Voltage CURRENT=1234 => Current Sample data of received RF packets: ----------------------------------- 20;2D;UPM/Esic;ID=0001;TEMP=00cf;HUM=16;BAT=OK; 20;6A;UPM/Esic;ID=1002;WINSP=0041;WINDIR=5A;BAT=OK; 20;08;UPM/Esic;ID=1003;RAIN=0010;BAT=OK; 20;31;Mebus;ID=c201;TEMP=00cf; 20;32;Auriol;ID=008f;TEMP=00d3;BAT=OK; 20;A2;Auriol V2;ID=008f;TEMP=00a3;BAT=LOW; 20;33;Cresta;ID=3001;TEMP=00b0;HUM=50; 20;0C;Cresta;ID=8001;RAIN=001c; 20;47;Cresta;ID=8001;WINDIR=0002;WINSP=0060;WINGS=0088;WINCHL=b0; 20;47;Cresta;ID=8001;TEMP=00b0;UV=00d0; 20;36;Alecto V1;ID=ec02;TEMP=00d1;HUM=14; 20;07;Mebus;ID=ea01;TEMP=0017; 20;3D;Alecto V1;ID=2000;TEMP=0011;HUM=61; 20;26;Alecto V1;ID=0086;RAIN=02ac; 20;30;Alecto V1;ID=0020;WINSP=0068; 20;16;Alecto V1;ID=0020;WINSP=0020; 20;17;Alecto V1;ID=0020;WINDIR=0002;WINGS=0088; 20;36;Alecto V1;ID=0020;WINDIR=0002;WINGS=0040; 20;74;Oregon TempHygro;ID=0ACC;TEMP=00be;HUM=40;BAT=OK; 20;b3;Oregon TempHygro;ID=1a2d;TEMP=00dd;HUM=43;BAT=OK; 20;e5;Oregon BTHR;ID=5a6d;TEMP=00be;HUM=40;BARO=03d7;BAT=OK; 20;46;Oregon Rain;ID=2a1d;RAIN=0012;RAINTOT=0012;BAT=OK; 20;83;Oregon Rain2;ID=2a19;RAIN=002a;RAINTOT=0054;BAT=OK; 20;32;Oregon Wind;ID=1a89;WDIR=0045;WINSP=0068;AWINSP=0050;BAT=OK; 20;4a;Oregon Wind2;ID=3a0d;WDIR=0021;WINSP=0040;AWINSP=005a;BAT=OK; 20;ba;Oregon UVN128/138;ID=ea7c;UV=0030;BAT=OK; 20;AF;SelectPlus;ID=1bb4;CHIME=01; 20;FC;Plieger York;ID=dd01;CHIME=02; 20;47;Byron SX;ID=a66a;CHIME=A9; 20;12;Pir;ID=aa66;PIR=ON; 20;63;SmokeAlert;ID=123456;SMOKEALERT=ON; 20;06;Kaku;ID=41;SWITCH=1;CMD=ON; 20;0C;Kaku;ID=41;SWITCH=2;CMD=OFF; 20;0D;Kaku;ID=41;SWITCH=2;CMD=ON; 20;46;Kaku;ID=44;SWITCH=4;CMD=OFF; 20;E0;NewKaku;ID=cac142;SWITCH=1;CMD=ALLOFF; 20;3B;NewKaku;ID=cac142;SWITCH=3;CMD=OFF; 20;0B;NewKaku;ID=000005;SWITCH=2;CMD=ON; 20;0E;NewKaku;ID=000005;SWITCH=2;CMD=OFF; 20;12;NewKaku;ID=000002;SWITCH=2;CMD=OFF; 20;1E;NewKaku;ID=00000a;SWITCH=2;CMD=OFF; 20;1F;NewKaku;ID=00000a;SWITCH=2;CMD=ON; 20;01;NewKaku;ID=000007;SWITCH=2;CMD=OFF; 20;04;NewKaku;ID=000007;SWITCH=2;CMD=ON; 20;04;NewKaku;ID=000007;SWITCH=2;CMD=SET_LEVEL=14; 20;0C;HomeEasy;ID=7900b200;SWITCH=0b;CMD=ALLON; 20;AD;FA500;ID=0d00b900;SWITCH=0001;CMD=UNKOWN; 20;AE;FA500;ID=0a01;SWITCH=0a01;CMD=OFF; 20;03;Eurodomest;ID=03696b;SWITCH=00;CMD=OFF; 20;04;Eurodomest;ID=03696b;SWITCH=07;CMD=ALLOFF; 20;41;Conrad RSL2;ID=010002;SWITCH=03;CMD=ON; 20;47;Blyss;ID=ff98;SWITCH=A1;CMD=ON; 20;73;Kambrook;ID=010203;SWITCH=A1;CMD=OFF; Note that for sensors that only report values like temperature, only the data and the ID are required. Name labels can be thrown away or used for cosmetic purposes. For switches, the protocol name has to be stored and re-used on the transmission side. Thus, when a remote control is used to control a device data like below will be send from the RFLink Gateway over USB: 20;3B;NewKaku;ID=cac142;SWITCH=3;CMD=OFF; When the state of this switch needs to be changed the following command has to be send: 10;NewKaku;0cac142;3;ON; The name label (here "NewKaku") is used to tell the RFLink Gateway what protocol it has to use for the RF broadcast. Special Control Commands - Send: -------------------------------- 10;REBOOT; => Reboot RFLink Gateway hardware 10;PING; => a "keep alive" function. Is replied with: 20;99;PONG; 10;VERSION; => Version and build indicator. Is replied with: 20;99;"RFLink Gateway software version"; 10;RFDEBUG=ON; => ON/OFF to Enable/Disable showing of RF packets. Is replied with: 20;99;RFDEBUG="state"; 10;RFUDEBUG=ON; => ON/OFF to Enable/Disable showing of undecoded RF packets. Is replied with: 20;99;RFUDEBUG="state"; 10;QRFDEBUG=ON; => ON/OFF to Enable/Disable showing of undecoded RF packets. Is replied with: 20;99;QRFDEBUG="state"; QRFDEBUG is a faster version of RFUDEBUG but all pulse times are shown in hexadecimal and need to be multiplied by 30 Packet structure - To Send data via RF: --------------------------------------- 10;Protocol Name;device address,button number;action; Sample data of transmitted RF packets: -------------------------------------- 10;Kaku;00004d;1;OFF; => Kaku/ARC protocol;address;action (ON/OFF) 10;AB400D;00004d;1;OFF; => Sartano protocol;address;action (ON/OFF) 10;Impuls;00004d;1;OFF; => Impuls protocol;address;action (ON/OFF) 10;NewKaku;00c142;1;ON; => Newkaku/AC protocol;address (24 bits);button number (hexadecimal 0x0-0x0f);action (ON/OFF/ALLON/ALLOFF/15 - 1 to 15 for direct dim level) 10;NewKaku;128ac4d;1;OFF; => Newkaku/AC protocol;address (28 bits);button number (hexadecimal 0x0-0x0f);action (ON/OFF/ALLON/ALLOFF/15 - 1 to 15 for direct dim level) 10;Eurodomest;123456;01;ON; => Eurodomest protocol;address;button number;action (ON/OFF/ALLON/ALLOFF) 10;Blyss;ff98;A1;OFF; => Blyss protocol;address;button;action (ON/OFF/ALLON/ALLOFF) 10;Conrad;ff0607;1;OFF; => Conrad RSL protocol, address, button number, action (ON/OFF/ALLON/ALLOFF) 10;Kambrook;050325;a1;ON; => Kambrook protocol, address, unit/button number, action (ON/OFF) 10;X10;000041;1;OFF; => X10 protocol;address;action (ON/OFF) 10;HomeConfort;01b523;D3;ON;=> HomeConfort protocol;address;action (ON/OFF) 10;FA500;001b523;D3;ON; => Flamingo protocol;address;action (ON/OFF) 10;Powerfix;000080;0;ON; => Powerfix/Quigg/Chacon protocol;address;action (ON/OFF) 10;Ikea Koppla;000080;0;ON; => Koppla protocol;address;action (ON/OFF) 10;HomeEasy;7900b100;3;ON; => Home Easy protocol;address;action (ON/OFF/ALLON/ALLOFF) 10;EV1527;000080;0;ON; => EV1527 protocol;address;device 0x00-0x0f,action ON/OFF 10;Chuango;000080;2;ON; => Chuango Protocol;address;action (ON/OFF/ALLON/ALLOFF) 10;Selectplus;001c33; => SelectPlus protocol;address 10;Byron;112233;01;OFF; => Dyron SX protocol;address;ringtone 10;DELTRONIC;001c33; => Deltronic protocol;address 10;BYRON;00009F;01;ON; => Byron protocol;address;chime number,command 10;FA20RF;67f570;1;ON; => Flamingo FA20RF / FA21 / KD101 protocol, address, button number, action (ON/OFF/ALLON/ALLOFF) 10;MERTIK;64;UP; => Mertik protocol, address, command