Skip to content

Houselinc PLM and Raspberry Pi

ggodart edited this page Jan 23, 2021 · 1 revision

Run Houselinc using PLM connected to Raspberry Pi

HouseLinc is Windows-only software made by SmartHome. It used to cost money but they made it free sometime in 2012. It can be used to do a few things that MH can't do, like change the brightness of the LED on newer Insteon devices or control every setting on an Insteon Thermostat or other new/less common devices for which MH doesn't have complete support. You could unplug your PLM from the Pi and plug it in to your computer before you start HouseLinc, but the process described below will let HouseLinc use your PLM as if it were a "Hub".

  • Install socat by running apt-get install socat

  • Stop MisterHouse.

  • sudo socat tcp-l:9761,reuseaddr,fork file:/dev/ttyUSB0,nonblock,waitlock=/var/run/ttyUSB0.lock

    • Replace ttyUSB0 with ttyUSB1 if your PLM ends up connected to USB1.
  • Edit mh.private.ini and add this line:

    • debug=insteon:4
    • Comment out any other debug=<whatever> lines by adding # to the front of the line.
  • Start MH and look for this:

    • 04/28/2013 12:13:40 AM [Insteon_PLM] DEBUG4: Milliseconds 792.62

PLM Command: (0260) plm_info PLM Device ID: 12:34:56 Device Category: 03:15 Firmware: 9b PLM Response: (06) ACK

  • Note the Device Category and Firmware values.
  • Stop MisterHouse.
  • Unfortunately, HouseLinc will refuse to use a PLM over the network if it doesn't report itself as a network PLM, so we have to trick HouseLinc into thinking your PLM is actually a "Hub" (SmartHome's latest network PLM as of 2013).
  • Open in a text editor: C:\Users\Public\SmartLabs\HouseLinc\Devices.xml or Devices_Beta.xml, whichever one exists in the directory. ** Find your PLM in the file. If your Device Category was 03:15, search for category="0x03" subcategory="0x15". In my case, the entry looks like this: ***

PowerLinc USB Modem (Dual-Band) [2413U] ** Change subcategory to "0x37" (the category for a Hub). ** Find this section: *** <device displayName="Hub" category="0x03" subcategory="0x37" productKey="0x000000" flags="0x0008"> Hub ** Change subcategory to whatever the subcategory of your PLM was. In my case, that's 0x15. ** Now HouseLinc will think your PLM is a Hub and a Hub is your PLM.

  • Run HouseLinc
  • The first time you run it, it will most likely say "No computer interface found". ** Click Let me manually configure my computer interface ** Click Next ** Choose Hub (just "Hub", not "Hub, US" or any of the similar options). ** Type the IP address of your Pi in the box that appears. ** It should say the device was found. Click Next. ** It should say activation was successful. If it says "Ooops" then you most likely didn't edit your Devices.xml file correctly, or maybe you edited it while HouseLinc was running.
  • If HouseLinc asks if you want to run a background synchronization or any kind of synchronization, answer no. Synchronizing will modify the ALDB on your insteon devices according to what HouseLinc thinks should be there, usually creating duplicate records or deleting records you created with MH.
Clone this wiki locally