BMW 3-Series (E90 E92) Forum > E90 / E92 / E93 3-series Technical Forums > DIY Guides > Home Automation Control and PC Interface from BMW's HomeLink

Thread Tools Search this Thread
      05-10-2015, 06:59 PM   #1
Second Lieutenant

Drives: 328i coupe 2009
Join Date: Aug 2014
Location: Waterloo

iTrader: (0)

Home Automation Control and PC Interface from BMW's HomeLink


Hey guys, I'm here to explain how I control my house lights, security system, thermostat, and other connected home devices I have using my e92's HomeLink garage door controls

this is from a blog post a did a while back. I think I forgot to advertise it.

The video really says it all.


This DIY is going to be short and kept in scope of X10 as a bridge between your car and a PC (which would likely be a raspberry pi in my opinion). What you do after with the received signal is limitless and really guided by your particular home set up, not mine. I'm not going to get into the particulars of how I control my lights, security system etc as that varies per person. All that matters is most of these connected system can be controlled with some sort of command line interface or API.

I just got wireless deadbolts for my doors so I'm going to kick it up a notch by having it lock and unlock my house when I leave or return. Combine that with my car's comfort access and I really wont need keys for anything.

Go pick yourself up one of these TM751(optional but highly recommended, two of these can't hurt if you find them cheap) and one of these CM 19A

And presto bango you've got yourself a wireless interface between your car and your home computer network (within range).

You will also need a remote like this KR32A. Any X10 remote will work so stay cheap. You only need this once for programming the HomeLink system using the exact same instructions in your owner manual for doing garage door openers.

Hint, you can find these dirt cheap on ebay and on kijiji or craigslist used. A lot of people are getting rid of their old X10 home automation gear for more modern solutions. You can exploit this trend by picking up some spare parts, these things really come in handy. I bought a box full of this stuff for $80.


-You plug the TM751 into a wall outlet that's close to where you park your car, for improved range.
-Plug the CM19A into a computer. If you dont run a computer 24/7 like me, then I recommend you get a raspbery pi.
-Drivers: I run linux but you can do this on windows using the standard X10 drivers for windows. For linux(which I recommend) use the mochad drivers (see: http://x10linux.blogspot.ca/2012/08/...pberry-pi.html)


I'm not going to get to deep on this. Basically the KR32A and similar remotes, by default operate on house code A. Your TM751 is also on housecode A by default. The remote will have 2 or more button starting at the number 1 and going up to 16 in sequence.

You have three buttons on your HomeLink set up. You can use one for your garage and the remaining two and needed for this DIY to send a "I'm home" and "I'm away" signal to the CM19A. For this example if the garage is on button 1 of the HomeLink, then "I'm home" will be button 2, and "I'm away" will be button 3.

Using the pairing instructions in your owners manual. Press and hold button 1 on the KR32A while programming button 2 on homelink. Then repeat, holding button 2 on the KR32A and programming button 3 on the homelink.

Now when you press button 2 or 3 on the homelink it will send a signal to the X10 receivers.


This is easy if you're on linux, you just write a simple bash script using the examples provided with mochad.

If you have basic programming skills you'll do fine.

All that's happening in this script is when the CM19A receives let's say code "A1" (button 1 on the KR32A) you then tell it to make calls to your various home automation systems. Like perhaps your nest thermostat telling it you are home so crank the AC. You could have it send a signal to your philips hue lights saying "turn off" when you are leaving.

I have it do the following:

"I'm away" (button two on homelink)

-Turn off my Lights
-Turn on my security system
-Reposition my security cameras
-Set my thermostat to away mode
-Sleep my media system
-Lock door (soon)
-Close my window blinds

For I'm home, it basically does the opposite.

One huge disclaimer about security. By doing it this way I realize that the x10 signals going to my PC are not secure and by their very nature they can be captured and duplicated. There is no assumption about security with the x10 RF protocol. So this might be ok for lights and things like that, but it's pretty stupid of me to do this for my security system and deadbolts. However I think an easy solution for an added layer of security is when my script receives the X10 command, it should then poke out over my WIFI network to see if my phone is connected. And if so consider me to be physically there and permit the actions. This would be really easy because I can tell my script to simply look for my phone's mac address on the network.

I hope this was helpful

Last edited by ssshake; 05-10-2015 at 07:10 PM.
Appreciate 0
      05-16-2015, 01:37 PM   #2
Lieutenant Colonel
PichaDis11's Avatar

Drives: E90 N52
Join Date: Mar 2013
Location: NY

iTrader: (3)

Scary but wonderful stuff here. Thank you for sharing ssshake
Appreciate 0


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

All times are GMT -4. The time now is 11:28 AM.

Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
1Addicts.com, BIMMERPOST.com, E90Post.com, F30Post.com, M3Post.com, ZPost.com, 5Post.com, 6Post.com, 7Post.com, XBimmers.com logo and trademark are properties of BIMMERPOST