SmartThings + Raspberry Pi & Homebridge = Siri HomeKit Controlled Smart Home

hi,

has anyone tried this Siri control smartthing integration on v2 and ios9? I’m going to try tomorrow.

1 Like

Yes, several
https://community.smartthings.com/search?q=homebridge

How did it work out for you?
I found that link you posted was missing a few steps to get PI B+ running Homebridge

I have tried this a few times using the same link as above and I get as syncing homebridge up, from here on I have never managed to get the app to find all the devices that I assigned in the smartapp.

Very annoying, as @GSR says, the guide that site so helpfully put up seems to be either missing some steps or something is wrong or changed since they wrote the process.

Would love to know who has managed to get it working.

1 Like

Here are my notes. I have it operational.

I am using a raspberry pi b+. I also installed it on my coworkers Linux box and everything is nearly identical except for which node you use.

My comments ()

From terminal
sudo apt-get update
sudo apt-get upgrade
wget https://nodejs.org/dist/v5.8.0/node-v5.8.0-linux-armv6l.tar.gz
(Your node maybe different if on Linux box or Raspberry PI 2 I am actually using node 5.7.0)
tar -xvf node-v5.8.0-linux-armv6l.tar.gz
cd node-v5.8.0-linux-armv6l
sudo cp -R * /usr/local/
sudo apt-get install libavahi-compat-libdnssd-dev
sudo npm install npm -g
sudo npm install -g homebridge
sudo npm install -g homebridge-legacy-plugins

(lastly load you config.json)
cd /home/pi/.homebridge
nano config.json
(edit json file. I found the guide was missing the top part for the file)
Example config.json
{
“bridge”: {
“name”: “Homebridge”,
“username”: “CC:22:3D:E3:CE:30”,
“port”: 51826,
“pin”: “031-45-154”
},
“description”: “JSON API”,
“platforms”: [
{
“platform”: “SmartThings”,
“name”: “SmartThings”,
“app_id”: “xxxxx-xxx-xxxxx-xxxx-xxxxxxx”,
“access_token”: “xxxxxxxxxxxxxxxxxxxx”
}
]
}

(you get your app ID an token from the JSON app and replace the x’s)

Hope I helped.

oh and if you want to check your json file to ensure you syntax is correct then you can do it here

Hi @GSR

thanks for the help, still not had any luck though i’m afraid. App sees home bridge but still no devices within home bridge.

Maybe when I get another Pi2 i will try it on a fresh install and see if it makes any difference.

Cheers

1 Like

FYI I have this working on a Ubuntu 15 server Virtualbox VM with JSON complete api smartapps. I have Siri control over GE light switches and 2 ct 100 thermostats as well as several virtual switches that control things.

I use the homebridge-smartthings plugin I had it working the legacy plugins but that did not give me control over other devices.
I started tinkering Sunday and finally got it working this afternoon.

I need to figure out how to auto start homebridge when I crank up the VM

Right now I have it running headless and I login manually through putty and start it,

i have it running on my raspberry pi… works great… i have it set to autostart on reboot as well. took a while to get that working though.

I setup a Raspberry Pi with homebridge and i get the following output when I start homebridge on the pi. I have added 4 smart bulbs in the JSON Complete API smartapp so I would ultimately expect to be able to add them but I don’t even see the homebridge from homekit in order to attempt to pair it with the key. I am using the new iOS 10 and I see from various internet posts that there were issues with iOS10 in beta but it seems to work better for others now. Any advice?

pi@raspberrypi:~/.homebridge $ nano config.json
pi@raspberrypi:~/.homebridge $ 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
[9/13/2016, 10:36:34 PM] Loaded plugin: homebridge-smartthings
[9/13/2016, 10:36:34 PM] Registering platform ‘homebridge-smartthings.SmartThings’
[9/13/2016, 10:36:34 PM] —
[9/13/2016, 10:36:34 PM] Loaded config.json with 0 accessories and 1 platforms.
[9/13/2016, 10:36:34 PM] —
[9/13/2016, 10:36:34 PM] Loading 1 platforms…
[9/13/2016, 10:36:34 PM] [SmartThings] Initializing SmartThings platform…
[9/13/2016, 10:36:34 PM] [SmartThings] Fetching Smart Things devices.
url.js:90
throw new TypeError("Parameter ‘url’ must be a string, not " + typeof url);
^

TypeError: Parameter ‘url’ must be a string, not undefined
at Url.parse (url.js:90:11)
at Object.urlParse [as parse] (url.js:84:5)
at Object.smartthings.init (/usr/local/lib/node_modules/homebridge-smartthings/lib/smartthingsapi.js:86:26)
at Object.SmartThingsPlatform.accessories (/usr/local/lib/node_modules/homebridge-smartthings/index.js:103:15)
at Server._loadPlatformAccessories (/usr/local/lib/node_modules/homebridge/lib/server.js:333:20)
at Server._loadPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:277:16)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:71:36)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:40:10)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:434:26)
pi@raspberrypi:~/.homebridge $

you ever get this issue resolved? having the same problem

Thanks for the setup instructions, but might I suggest that you use:

sudo npm install -g homebridge-smartthings

instead of:
sudo npm install -g homebridge-legacy-plugins

If you setup the smart app on your device using the instructions on this youtube video and install ‘homebridge-Smartthings’ then it seems to work great. I couldn’t get it working wiht the legacy plugins

Can anyone help with this issue? Try and go into config section of smartapp and see this error.

Same here :frowning:

Just in case others are hitting this. Dont forget… IN THE CODE of the SmartApp YOU MUST MODIFY THE URL in the Config section to use YOUR Shard:
href url:“https://graph-na04-useast2.api.smartthings.com/…”

Yeah that’s why I had issues - had to modify URL