X10 Bridge is Released [Obsolete]

X10 Bridge allows integration of X10 appliance modules, lamp modules, switches and dimmers with SmartThings.

Because SmartThings cannot communicate with the X10 devices directly, a gateway is required to connect these two systems. X10 Bridge uses an open-source mochad TCP Gateway running on a Linux computer and either CM15A or CM19A X10 interface module to communicate with the X10 devices.

Mochad can be installed on any computer capable of running Linux. The only hardware requirement is that your computer must have a USB port and be connected to the same local area network (LAN) as your SmartThings hub. You can use an old laptop or a desktop computer or even a Raspberry Pi as your X10 gateway.

For more information, please visit https://github.com/statusbits/smartthings/tree/master/X10Bridge


Great work, wonder if this could be modified for Insteon compatibility?

Above is the USB PLM modem commonly used to extend Insteon control to Vera.

Yes it can, if there’s a server with HTTP interface (REST or CGI) that can talk to it. TCP sockets don’t work very well at the moment.

Great … you stole my “Project” (just kidding…!). But now I definitely have another “starred” Topic.

Expect some questions from me here if I decide to dig up my mothballed X10 components.


Hi! The latest repo for the bridge, https://github.com/statusbits/smartthings-x10 seems to be gone now and I don’t see it elsewhere - am I missing something? I’m interested in making use of that code. Thanks for all of your work on this.

I took it down because the plain TCP socket protocol (a.k.a. telnet) is not implemented by SmartThings and this hack does not work reliably. Details are in the thread referenced below. This was discussed 5 month ago and I have no expectations of SmartThings fixing this issue.

1 Like

Would it be possible for you to put the code back up on GitHub? It’s very possible that it could be fixed to use REST or CGI to send the commands to the X10 bridge. I am very interested in this because I have some extra X10 hardware laying around, and would rather not replace it ALL with Z-Wave modules.

Has anyone been able to make the X10 work so far using a Bridge? Using an Insteon or other device?

Here you go:
X10 Bridge App
X10 Switch Device Type

FWIW, this has been working quite reliably for me so far.


Glad to know somebody still finds this code useful. :smile:

Are you kidding me !. This App saved me a bundle on needing to replace the existing x10 switches. That’s a really well written App, I’ve even adapted it to work with my Harmony Hub.
You should upload your code back on github for reference even though it is using the API in a hacky way.

1 Like

I appreciate your contributions, I got the first one, x10 bridge app installed as smart app, but not sure what to do with the second one, and what next steps are, can you please put more info out?

Sorry, I canned that project long time ago. You may want to ping @zraken since he seems to be able to unearth the sources. :smile: But, if I remember correctly, you need to install both the app and the device handler.

x10 bridge app installed as smart app, but not sure what to do with the second one, and what next steps are, can you please put more info out? I have raspberry pi and mochad working. Appreciate help at this point.

Install the X10 device code as a new device from the IDE. Then just run the smartapp and follow the step-by-step installation that the app runs you through.

Thanks! That did it. Would really be helpful to do a README with these few pieces of detail!

Excellent work!
even though part of that I have to change for windows.
I have written my own bridge in c# as a web api, which can take http calls for on/off/dim on devices.
just need to modify socket send method, rest would be able to leavarge as is.
Thanks so much who ever wrote that.

Where can I download the X10 Bridge app addon? As I would like to be able to use some of the working X10 devices with ST if possible.

Could you provide some very basic install instructions. I’m a developer but I only just unboxed my smart things hub. It would be super helpful for some bullet points. Thanks.

Any chance you can share your modified code for http requests? I’m using X10commander which can take http requests as you mention. I’ve got that setup and working along with ifttt integration between smartthings and maker which makes it work but would be really nice to change this code to work directly rather than through ifttt for everything.

This is an example of my on get request"M13%20ON"

That’s device M13 ON

Never written an app before but I’m trying!

1 Like