I spent another few hours working on migrating from Indigo to Homebridge. Today, I tried working on the most critical item – Insteon, which controls all of the lights in the house.
First, I made sure I had a dump of the Insteon configuration in Indigo; I also cleaned up a couple of the linkages between devices while I was at it.
Installing the plugin was easy, but when I plugged in the hub, Homebridge crashed with a weird Javascript error. And it did it over and over again, because it restarts immediately after a crash, with no apparent limit on how many times it’ll try.
It took me a while to figure out how to stop it and keep it stopped (hb-service stop
), but once it was stopped, I figured out that I didn’t have any devices defined to the plugin, so I defined one and tried again.
This time, Homebridge crashed with a different error: “Permission denied, cannot open /dev/ttyUSB0” (which is the device name assigned to the Insteon hub). I was afraid I would have to figure out how to make that device world-readable and writable but eventually discovered that all I had to do was add the homebridge
user to the dialout
group, which is easy.
And then Homebridge crashed again because several of the other plugins that used Web interfaces were unable to start because all of the other restarts had triggered anti-hacking measures on their servers. I should have set up the Insteon plugin on a child server so that it wouldn’t blow up the main server and force so many restarts!
I disabled everything but the Insteon plugin and got back to work. This time, it was able to read the configuration from the hub and use it – but I had to go through and put names on all of the devices, which took until dinnertime.
I moved the Insteon hub back to the Indigo server for now, but I expect to make more progress tomorrow. And I was able to enable the other plugins again, so the house is back to normal, whatever that really means.