Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

aristobrat

macrumors G5
Original poster
Oct 14, 2005
12,292
1,403
Was curious if anyone else here besides @Peepo has any experience with this open-source project? It requires a fair amount of software tinkering to get installed and configured (so I know it's not for many), but thought it might be fun for some folks who have non-HK devices installed and like to tinker...

Homebridge provides a software bridge that allows some not-HomeKit compatible "smart home" devices to be seen/controlled by HomeKit apps (and Siri).

I have two devices that are not HomeKit compatible:
1 - a Belkin WeMo power outlet
2 - an ISY 994i controller that I use to automate a few Insteon SwitchLincs (wall switches) + a motion detector

I knew going in that neither of those devices were HomeKit compatible, and I was fine with using their native apps to control them. After reading about Homebridge (and seeing @Peepo's post where he got it to work), I decided to give it a shot.

And it's working! So far, anyway. Been an hour or two, so we'll see how it does long-term.

I'm able to send the devices Siri commands to turn them on/off (or ask their status), and all of the devices show up in the free Elgato Eve HomeKit app that I've started to play around with. I don't have any Elgato products, but their app can see/control my Ecobee thermostats, as well as the WeMo power outlet and the ISY. Seems like a good base app for a lot of different HomeKit products.

I'm running Homebridge on a Raspberry Pi that I bought to play around with. Looks like Homebridge will run easy enough on most Linux distributions, and there are some guides for getting it going on Windows boxes, but they look a bit hairy.
 

Peepo

macrumors 65816
Jun 18, 2009
1,163
613
Good to hear. Mine has been running pretty solid and I'm surprised how fast and responsive it is updating to the ISY!

I bought the Home app and although it is more simplistic looking it is much faster and is my preferred app. You may also want to try idevices app which is also free and has different look altogether.

I'm surprised it even controls my fanlinc and I can tell Siri speeds like low medium and high.

Can't control my garage door yet since the garage door name seems to be special case in HomeKit and since I made my own using an IOLinc it does know it's a garage door.

Do you have any virtual 3-ways setup eg. two switchlincs in an insteon scene that control one light like in a hallway ? I made programs on isy that syncs the LEDs on switchlincs including solving keypadlinc issue if using buttons in scenes.

I have a couple motion detectors also and can use Home app to make triggers but more powerful to do on isy.
 

m11rphy

macrumors 6502a
Dec 26, 2009
642
372
Is there a how to guide for a guy like me, who has never used a raspberry PI and has no idea how to code ?
 

aristobrat

macrumors G5
Original poster
Oct 14, 2005
12,292
1,403
Is there a how to guide for a guy like me, who has never used a raspberry PI and has no idea how to code ?
Before you start, I'd recommend that you check that any device you want to use with has a Homebridge plug-in already written for it. You should be able to check here. Just add the brand of device in the search bar, like "homebridge wemo" or "homebridge nest". Also see if you get a feel that the plugin does what you want it to.

I used the install guide from the Homebridge install page here. If you scroll down that page to the README area, you'll see the installation area. The first part of the installation area links to a Wiki that gives some help for installing on a Raspberry Pi.

I liked the Wiki for the Raspberry PI. The name for my Raspberry Pi was "raspberrypi.local", not "pi.local" as per that guide. No biggie. The setup part of my Pi installed Raspian Jessie (which I think is the latest release), so I skipped the "Install C++14 (Raspbian Wheezy Only)" section. I did install the latest stable version of Node (4.2.4) instead of the 4.0.0 mentioned in the Wiki. The only change for that was to edit the commands they give and replace 4.0.0 with 4.2.4.

For the Raspberry Pi, I ordered the CanaKit bundle (with the 32GB card) from Amazon. Not sure if I'll need 32GB vs the 8GB that comes in the normal kit, but for only a few dollars more, I didn't want to run into issues down the road. The CanaKit was a complete kit (for my needs) with good reviews. Used one of my HDMI TVs as a temporary monitor. Took awhile to find a USB keyboard and mouse -- haven't used them in years. After the initial setup, I've been running it without the TV/keyboard/mouse. It sits on a bookcase in a spare bedroom. Probably going to have to put a piece of black electrical tape over the blue light in the CanaKit USB Wi-Fi dongle though, that thing is bright at night!
[doublepost=1453050289][/doublepost]
Good to hear. Mine has been running pretty solid and I'm surprised how fast and responsive it is updating to the ISY!
Same here. With all of those hops (iPhone -> network -> Homebridge -> network -> ISY -> Insteon PLM -> device), I'm impressed that it's only about a second (if that) most times!

I bought the Home app and although it is more simplistic looking it is much faster and is my preferred app. You may also want to try idevices app which is also free and has different look altogether.
I'll have to check out Home. Looks like it does scenes (like "Good Morning", etc). I've never messed with scenes before, either in HomeKit or with the ISY. I do see in my Ecobee's native iOS app how to add them to HomeKit "Good Morning", "Good Night", etc scenes. I have no idea how to add the ISY-controlled devices to those kind of scenes though.

Do you have any virtual 3-ways setup eg. two switchlincs in an insteon scene that control one light like in a hallway ? I made programs on isy that syncs the LEDs on switchlincs including solving keypadlinc issue if using buttons in scenes.
Not yet. The one hallway light I'd sort-of-want to do that with is actually a 4-way setup, which makes it about $160 in Insteon switches to do, so it's towards the bottom of my list at the moment.

I have a couple motion detectors also and can use Home app to make triggers but more powerful to do on isy.
My ISY only controls a few switches for outside lights (so far), and I've only ever used ISY programs for that. I haven't set the Insteon devices up as controllers/responders (mostly because the programs do exactly what I want, so I'm not sure these would add any value). I'll have to read up on how Home does triggers. I'm confused as to "what" actually processes the conditions to set off a trigger (outside of the ISY).

I'm glad it's winter. I'm not neglecting too many things around the house while I spend the majority of my free time geeking out with this stuff. :)
 
Last edited:

ipedro

macrumors 603
Nov 30, 2004
6,298
8,702
Toronto, ON
I installed homebridge on my Mac tonight to enable Nest on HomeKit and it's glorious! Nest shows up as a native HomeKit device and Siri seems to recognize all of its functions perfectly!

I added my Nest to Good night and Good morning scenes so when I go to bed, I say "Hey Siri, Good night" turning off my lights and setting my Nest to cool my bedroom to my favourite sleeping temperature. In the morning, I say "Hey Siri, good morning" and the lights come on, and my Nest starts heating my home. It's incredible and I don't know that I could go back to not having it. I hope it continues working this well or I'll have to buy an Ecobee.

I would like it if my DropCam could be added in too. Turning on my security camera when I go to bed and turning it off when I wake up could be useful. I'm a little wary of hacking something like my camera with my Nest login credentials openly available in a text file.

How sure can I be that Homebridge isn't sending my Nest login information and access to my DropCam to the developer?
 
  • Like
Reactions: aristobrat

aristobrat

macrumors G5
Original poster
Oct 14, 2005
12,292
1,403
I don't think any of the code for Homebridge (or the individual plugins for the types of devices that it can control) is compiled code.

That gives you (and others) the ability to look directly at what the code does.
 

ipedro

macrumors 603
Nov 30, 2004
6,298
8,702
Toronto, ON
I don't understand the code but I guess that being open, there would have been coders who would have flagged any malware. Good to know.

Do I need to keep Terminal running on my Mac to have Homebridge work or does it work in the background regardless of any opened apps?
 

aristobrat

macrumors G5
Original poster
Oct 14, 2005
12,292
1,403
Not sure. On the Raspberry Pi, there was a section for how to make it autostart and run in the background. Did the Mac version have that option too?
 

ipedro

macrumors 603
Nov 30, 2004
6,298
8,702
Toronto, ON
It's not working right now. Not sure if it's because the iMac went to sleep. I'll eventually get a Raspberry Pi to work as a hub unless Nest comes out with its own HomeKit enabled hub.
 
  • Like
Reactions: aristobrat

Peepo

macrumors 65816
Jun 18, 2009
1,163
613
I don't understand the code but I guess that being open, there would have been coders who would have flagged any malware. Good to know.

Do I need to keep Terminal running on my Mac to have Homebridge work or does it work in the background regardless of any opened apps?

It is a command line script so if you run it from terminal then terminal needs to stay one unless you do something specific to make it run in background.

I prefer to use screen and I do this in my raspberry Pi to run homebridge in the background. Should also work on OSX.

http://www.kinnetica.com/2011/05/29/using-screen-on-mac-os-x/
 

Perevers

macrumors newbie
Nov 5, 2015
9
1
Hi I'm trying to install homebridge on my rPI and keep getting the same error when trying to install node.
Here is what I'm writing and what the rPI is returning.
pi@raspberrypi:~ $ wget https://nodejs.org/dist/v5.5.0/node-v5.5.0-linux-armv61.tar.gz
--2016-02-09 15:16:46-- https://nodejs.org/dist/v5.5.0/node-v5.5.0-linux-armv61.tar.gz
Resolving nodejs.org (nodejs.org)... 104.20.23.46, 104.20.22.46, 2400:cb00:2048:1::6814:162e, ...
Connecting to nodejs.org (nodejs.org)|104.20.23.46|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2016-02-09 15:16:47 ERROR 404: Not Found.

Anyone here that knows what I'm doing wrong
 

Perevers

macrumors newbie
Nov 5, 2015
9
1
Now I'm getting a new error
I'm trying to install npm by typing: sudo npm install -g homebridge

It's returning:
Sudo: npm: command not found.

What am I doing wrong now?

Per

Edit:

Did

sudo apt-get install npm

First and it looks like it solved the problem
 
Last edited:

Perevers

macrumors newbie
Nov 5, 2015
9
1
Now i have another problem.
Im trying to start homebridge but am getting a error:

pi@raspberrypi:~ $ homebridge
*** WARNING *** The program 'node' uses the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>
*** WARNING *** The program 'node' called 'DNSServiceRegister()' which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
*** WARNING *** Please fix your application to use the native API of Avahi!
*** WARNING *** For more information see <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>
module.js:341
throw err;
^

Error: Cannot find module './build/Release/bignum'
at Function.Module._resolveFilename (module.js:339:15)
at Function.Module._load (module.js:290:25)
at Module.require (module.js:367:17)
at new require (internal/module.js:16:19)
at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/bignum/index.js:4:14)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
pi@raspberrypi:~ $

I know the first WARNINGs dosn't matter.
Node is the latest version btw.

Hope that someone can help me

Per
 

aristobrat

macrumors G5
Original poster
Oct 14, 2005
12,292
1,403
I did some quick googling around yesterday afternoon and didn't come up with anything helpful.

On the page where you download the Homebridge package, there is an area where you can ask questions. Might try there. Or maybe trying an older version of the jsnode package? I'm not sure how to uninstall the one you have, though.
 

Perevers

macrumors newbie
Nov 5, 2015
9
1
I did some quick googling around yesterday afternoon and didn't come up with anything helpful.

On the page where you download the Homebridge package, there is an area where you can ask questions. Might try there. Or maybe trying an older version of the jsnode package? I'm not sure how to uninstall the one you have, though.
Thx a lot. Will try asking on the the homebridge homepage
 

Recognition

macrumors 6502a
Jun 27, 2013
596
673
Thought I'd chime in with my Homebridge/Raspberry Pi setup.

Raspberry Pi 2 running Homebridge.
2x Belkin Wemo switches
Nest Thermostat
6x RF sockets (433mhz type) RF transmitter connected to the Rpi GPIO.
Also have Philips hue lights with the new bridge but they're already HomeKit enabled.

I'm a total noob to coding and Raspberry Pi but found loads of helpful guides on the net.

Just recently found you can turn a PlayStation on with some code from the Rpi, so I then got Homebridge to run the code as an accessory so I can now wake my PS4 from sleep (and put it back to sleep) with Siri!

Just trying to think of more things to add to it!

Edit:
Found my old RedEye Infrared wifi base station in a draw and have got it working with Homebridge too using the CMD plugin.
This means I can now turn on my Tv, Amp and Sky Box just using Siri!
Also means they can be included in my scenes such as "Goodnight" where everything turns off or "watch a movie" where the AV equipment switches on and to the correct inputs whilst dimming lights etc.
Very pleased a nearly 4 year old, discontinued and unsupported device is working with HomeKit!
 
Last edited:

aristobrat

macrumors G5
Original poster
Oct 14, 2005
12,292
1,403
Just a heads up that Homebridge needs an update to work with iOS 9.3 Beta 4. I'm assuming that when iOS 9.3 comes out, the same will be required.

https://github.com/nfarina/homebridge/issues/541

I followed the suggestion in this post and everything started working again:
KhaosT commented 3 days ago

Service.BridgingState, they changed the mandatory characteristics required by the service.

Please update your homebridge (npm -g update homebridge) and then all accessories should come back automatically.
 
Last edited:
  • Like
Reactions: Recognition

Zcott

macrumors 68020
Oct 18, 2009
2,307
47
Belfast, Ireland
I've a homebridge setup with the homebridge-wemo plugin, but some folks are suggesting moving to homebridge-platform-wemo.

What's the difference between the two?
 

tekuonline

macrumors newbie
Oct 1, 2014
23
6
Rochester, New York
homebridge-wemo is for individual wemo devices, and platform is for all wemo devices that are within the network.
i would recommend that you migrate to homebridge-platform-wemo because its updated more often more reliable and its currently being maintained. homebridge-wemo plugin is no longer maintained and updated.
 

Zcott

macrumors 68020
Oct 18, 2009
2,307
47
Belfast, Ireland
homebridge-wemo is for individual wemo devices, and platform is for all wemo devices that are within the network.
i would recommend that you migrate to homebridge-platform-wemo because its updated more often more reliable and its currently being maintained. homebridge-wemo plugin is no longer maintained and updated.

I had a go and couldn't get my config.json updated to work due to lack of programming skills. If I post it could you help out with updating it?
 

Recognition

macrumors 6502a
Jun 27, 2013
596
673
If you're having trouble with your config file, you can paste it into this website which will check it for you and tell you where the errors are!

http://jsonlint.com

I found it very useful seeing as I have zero coding experience!
 
  • Like
Reactions: aristobrat

Zcott

macrumors 68020
Oct 18, 2009
2,307
47
Belfast, Ireland
homebridge-wemo is for individual wemo devices, and platform is for all wemo devices that are within the network.
i would recommend that you migrate to homebridge-platform-wemo because its updated more often more reliable and its currently being maintained. homebridge-wemo plugin is no longer maintained and updated.

Thanks for taking the time to have a look at this. Config.json is as follows:

Code:
{
    "bridge": {
        "name": "Homebridge",
        "username": "CC:22:3D:E3:CE:30",
        "port": 51826,
        "pin": "031-45-154"
    },

    "description": "This is an example configuration file with one fake accessory and one fake platform. You can use this as a template for creating your own configuration file containing devices you actually own.",

    "accessories": [
           {
               "accessory": "WeMo",
               "name": "Owly Lamp",
               "description": "Owly Lamp",
               "wemo_name": "Owly Lamp"
           },
           {
               "accessory": "WeMo",
               "name": "Sofa Lamps",
               "description": "Lamps behind the sofa",
               "wemo_name": "Sofa Lamps"
           },
           {
               "accessory": "WeMo",
               "name": "Tall Lamp",
               "description": "The tall lamp",
               "wemo_name": "Tall Lamp"
           },
           {
               "accessory": "WeMo",
               "name": "Piano Lamps",
               "description": "The lamps above the pianos",
               "wemo_name": "Pianos"
           },
           {
               "accessory": "WeMo",
               "name": "Piano Room Desk",
               "description": "Piano Room Desk",
               "wemo_name": "Piano Room Desk"
           },
           {
               "accessory": "WeMo",
               "name": "Bookcase",
               "description": "The bookcase in the piano room",
               "wemo_name": "Bookcase"
           },
           {
               "accessory": "WeMo",
               "name": "Office",
               "description": "PhD Room",
               "wemo_name": "Office"
           },
           {
               "accessory": "WeMo",
               "name": "Globe",
               "description": "The globe lamp",
               "wemo_name": "Globe"
           }
       ]
     }

I know I need to add the following, but where?

Code:
"platforms": [
       {
         "platform": "BelkinWeMo",
         "name": "WeMo Platform",
         "expected_accessories" : "0",
         "timeout" : "25",
         "no_motion_timer": "60",
         "homekit_safe" : "1"
       }   
   ]

Thanks for any advice folks!
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.