Menu
Posted by3 years ago
Archived
Not sure whether to post this $79.99 Aldi Bauhn Smart Home Control Pack special buy available from Sat. 23 May 2015 as a deal because I don't known enough about such things even though I'm interested. It looks like a re-badged Broadlink RM2 or RM Pro (can't tell if there's a difference between models) Wi-Fi smart home automation IR & RF remote controller bundled with 4 power sockets and a.
Anyone tried this before? Great prices and haven't really seen any negative reviews around though nothing too in depth. I have 3 window AC units and if I can centrally control them it'll be more like the convenience of central air.
It's kinda dumb how they use the IFTTT abbreviation to mean it supports basic if then statements but China will be China... I only wish it could be better integrated with my other smart home products.
I bought it from here, it's quite a bit cheaper than Aliexpress ($19 there) and it's my favorite 'Chinese crap' site. http://www.banggood.com/Broadlink-Black-Bean-Smart-Home-Wifi-Remote-IR-Controller-Universal-Appliances-Smart-Control-p-1049494.html
14 comments
Last week I received my RM2 Pro and did some reverse engineering on the data required for command 2.
I am using this mainly as an xPL to RF/IR gateway running on my router (OpenWRT/LEDE), therefore all my development is done in plain C rather than python, as this would be an overkill for a small router device.
Nevertheless this project helped me a lot and therefore I wanted to share my results, in case that someone wants to implement it in Python.
I am using this mainly as an xPL to RF/IR gateway running on my router (OpenWRT/LEDE), therefore all my development is done in plain C rather than python, as this would be an overkill for a small router device.
Nevertheless this project helped me a lot and therefore I wanted to share my results, in case that someone wants to implement it in Python.
Data for sending an IR/RF command (payload for the send command)
Offset | Meaning |
---|---|
0x00 | 0x26 = IR, 0xb2 for RF 433Mhz |
0x01 | repeat count, (0 = no repeat, 1 send twice, .....) |
0x02, 0x03 | Length of the following data in little endian |
0x04 .... | Pulse lengths in 32,84ms units (ms * 269 / 8192 works very well) |
.... | .... |
.... | 0x0d 0x05 at the end for IR only |
Each value is represented by one byte. If the length exceeds one byte
then it is stored big endian with a leading 0.
then it is stored big endian with a leading 0.
Example: The header for my Optoma projector is 8920 4450
8920 * 269 / 8192 = 0x124
4450 * 269 / 8192 = 0x92
8920 * 269 / 8192 = 0x124
4450 * 269 / 8192 = 0x92
So the data starts with
0x00 0x1 0x24 0x92 ....
If you use LIRC as a template then you have just to continue with pre-data and then command, where you would use the 'zero' pulse lengths for 0 and the 'one' pulse lengths for 1
It seems that infrared commands need to be terminated always with
0x0d 0x05
in addition, whereas this is not required for RF. I didn't figure out the meaning of this so far.So far I was able to produce all IR commands for my devices as well as for all RF devices. I have quite a bunch of RF devices, like remote controllable sockets and switches and a projection screen. For most of them I was not able to learn the RF code with the RM2 PRo, but as I knew the timings already generating the codes works perfectly well.
If you have any questions or you need help let me know. I will publish soon the C code of my xpl gateway on GitHub, if someone is interested.
One more thing: If you don't want your device to connect back home to China or to talk to Amazon then you better block outgoing traffic for your device.