Integrating Homekit with my full SmartThings setup? (2019)

Hey everyone, I have been a smartthings user from day 1 of my home automation journey (lightswitches, locks, open/close sensors, motion sensors, etc.).

Just until this last month, I was using Android phones, Google home, etc. to control everything, and it was great.

I recently switched to an iPhone (and my wife as well), and I’m getting pretty frustrated with not being able to just say ‘hey siri, turn on x lights’. Instead I have to say “hey siri, ok google, wait 5 seconds for it to open google assistant, turn on x lights”.

I have tried researching if there is a way to integrate ST devices with Homekit, but I’m struggling with finding recent information and guides. It looks like homebridge is pretty much the only option in town, but most of the information I can find is from 2015-2017.

Long story short, are there any recent detailed guides on getting homebridge setup? (ie. installation guide + how to add some basic devices). I have a few spare Raspberry Pi’s around, so hopefully those will work for what I need. :slight_smile:

Thanks in advance!

1 Like

You are correct, the primary method is HomeBridge. Or buying devices like the Phillips hue bridge that will work with both HomeKit and smartthings. The information hasn’t changed much.

The only thing that’s really new is now you should be able to use Siri shortcuts as well for some use cases so you can use Siri with SmartThings controlled devices if all you want is Siri voice control. But the shortcut method doesn’t give you any of the other HomeKit features.

There’s an active thread if you want to go to the homebridge route. People there should be able to answer any questions about that process:

There’s a list in the community wiki on devices that work with both smartthings and HomeKit. There aren’t many, but there are some, and if you select carefully you can cover many tasks.

https://thingsthataresmart.wiki/index.php?title=Devices_that_Work_with_HomeKit_and_SmartThings

And here’s the thread on Shortcuts. Setup is clunky and you don’t get to use any of the other HomeKit features, but if all you want is Siri voice control of your smartthings devices, take a look at it:

iOS Shortcut Options?

6 Likes

Thank you, JD! You are a legend. I can only hope ST pays you for all the great work you do around here.

I’ll start diving in on homebridge asap :slight_smile:

1 Like

12 posts were split to a new topic: Switch App: Use HomeKit and SmartThings Together

Question - perhaps you know @JDRoberts

Is there anything for integrating Homekit the other way around - eg having my Homekit devices appear in SmartThings to be controlled.

I’ve got it the other way around (SmartThings controlled by Homekit for Siri etc) but i’ve got some Homekit devices that I can’t easily add to SmartThings (Neeo remote for instance) so if I could add them to SmartThings somehow that would be perfect, but i’m assuming there’s nothing.

I don’t know of anything, perhaps @pizzinini does.

Short answer: not that I know.

Long answer: it works kind of…You can create virtual devices in SmartThings and add than to Homebridge. Then you can create HomeKit automations that trigger the virtual device. E.g. I have a HomeKit connected TV and set up a rhomekit automation to turn on a virtual switch when the TB is on. Now, I can trigger Smartthings actions whenever I watch TV.

1 Like

Thanks - i’ve got a Neeo Brain and it’s got a fully open SDK, I can probably run it with simple scripts which I could trigger from SmartThings for most stuff if I look close enough. I can find any NEEO integration on here though unfortunately.

However before they got bought out they added Homekit integration and i was able to just add it to the Home app with no problem, so I was hoping i’d somehow be able to just turn things on and off in home.

But I think I get your idea - I’d need to create a virtual switch in SmartThings and add it to Homekit via Homebridge and then in Homekit I could program an automation where when that virtual switch is change it can turn things on/off.

A while back we had the theoretical discussion that you could transmit 100 states if you use the % of a single virtual dimmer switch… but I don’t know if anyone ever tried it.

FYI @tonesto7 ‘s Homebridge SmartThings plug-in includes linking Smarthome Monitor and creates creating virtual switches for automations and scenes. Depending on your use case you may not even create your own virtual switch.

1 Like

I use mine with almost 150 devices and have zero issues.

I use siri 2 dozen times a day to control devices.

She can turn off 60+ devices at a time and not hit any limits

I started building a new plugin using the new SDK + API and lets just say that with the new guard rails it’s not going to work.

2 Likes

Tonesto7,
Are you saying that the smartthings-homebridge plugin won’t be updated for the new homekit api? Has Areson discussed this with you? Please see this:

Thanks,
Kyle

5 Likes

Can you add homekit devices into smartthings with this new version? I’ve been trying to find a way to fix my Nest integration without luck.

Unfortunately, no you can’t. HomeKit accessories don’t have access to other accessories.

1 Like

Maybe you can create a virtual thermostat in ST and use it in Homekit. Then create automations under homekit to to tie it into the nest tstat and allow you to make changes both directions?

2 Likes

I can’t seem to find my devices in the Home app!

Homebridge is installed on a Raspberry Pi, as well as the web GUI and the homebridge-smartthings-v2 plugin. The Homebridge app is installed in the Smartthings app on my iPhone and I selected two devices in Homebridge and saved.

How do I then see these two devices in the Home app so I can add them there? Do I need to add something else to the config.json file?

Here is the daemon.log file:

pi@raspberrypi:~ $ tail -f daemon.log
Jan  8 14:34:41 raspberrypi rngd[322]: stats: FIPS tests speed: (min=4.682; avg=6.870; max=7.093)Mibits/s
Jan  8 14:34:41 raspberrypi rngd[322]: stats: Lowest ready-buffers level: 2
Jan  8 14:34:41 raspberrypi rngd[322]: stats: Entropy starvations: 0
Jan  8 14:34:41 raspberrypi rngd[322]: stats: Time spent starving for entropy: (min=0; avg=0.000; max=0)us
Jan  8 14:49:19 raspberrypi systemd[1]: Stopping Homebridge...
Jan  8 14:49:19 raspberrypi homebridge[15987]: [1/8/2020, 2:49:19 PM] Got SIGTERM, shutting down Homebridge...
Jan  8 14:49:24 raspberrypi systemd[1]: homebridge.service: Main process exited, code=exited, status=143/n/a
Jan  8 14:49:24 raspberrypi systemd[1]: homebridge.service: Failed with result 'exit-code'.
Jan  8 14:49:24 raspberrypi systemd[1]: Stopped Homebridge.
Jan  8 14:50:01 raspberrypi systemd[1]: Started Homebridge.
Jan  8 14:50:10 raspberrypi homebridge[16635]: [1/8/2020, 2:50:10 PM] Loaded config.json with 0 accessories and 3 platforms.
Jan  8 14:50:10 raspberrypi homebridge[16635]: [1/8/2020, 2:50:10 PM] ---
Jan  8 14:50:10 raspberrypi homebridge[16635]: [1/8/2020, 2:50:10 PM] Loaded plugin: homebridge-config-ui-x
Jan  8 14:50:10 raspberrypi homebridge[16635]: [1/8/2020, 2:50:10 PM] Registering platform 'homebridge-config-ui-x.config'
Jan  8 14:50:10 raspberrypi homebridge[16635]: [1/8/2020, 2:50:10 PM] ---
Jan  8 14:50:13 raspberrypi homebridge[16635]: [1/8/2020, 2:50:13 PM] Loaded plugin: homebridge-ring
Jan  8 14:50:13 raspberrypi homebridge[16635]: [1/8/2020, 2:50:13 PM] Registering platform 'homebridge-ring.Ring'
Jan  8 14:50:13 raspberrypi homebridge[16635]: [1/8/2020, 2:50:13 PM] ---
Jan  8 14:50:14 raspberrypi homebridge[16635]: [1/8/2020, 2:50:14 PM] Loaded plugin: homebridge-smartthings-v2
Jan  8 14:50:14 raspberrypi homebridge[16635]: [1/8/2020, 2:50:14 PM] Registering platform 'homebridge-smartthings-v2.SmartThings-v2'
Jan  8 14:50:14 raspberrypi homebridge[16635]: [1/8/2020, 2:50:14 PM] ---
Jan  8 14:50:15 raspberrypi homebridge[16635]: [1/8/2020, 2:50:15 PM] Loading 3 platforms...
Jan  8 14:50:15 raspberrypi homebridge[16635]: [1/8/2020, 2:50:15 PM] [Config] Initializing config platform...
Jan  8 14:50:15 raspberrypi homebridge[16635]: [1/8/2020, 2:50:15 PM] [Config] Spawning homebridge-config-ui-x with PID 16672
Jan  8 14:50:15 raspberrypi homebridge[16635]: [1/8/2020, 2:50:15 PM] [Ring] Initializing Ring platform...
Jan  8 14:50:15 raspberrypi homebridge[16635]: [1/8/2020, 2:50:15 PM] [SmartThings-v2] Initializing SmartThings-v2 platform...
Jan  8 14:50:15 raspberrypi homebridge[16635]: INFO: Homebridge Version: 2.4
Jan  8 14:50:15 raspberrypi homebridge[16635]: INFO: SmartThings-v2 Plugin Version: 2.1.5
Jan  8 14:50:15 raspberrypi homebridge[16635]: INFO: Checking Package Version for Updates...
Jan  8 14:50:15 raspberrypi homebridge[16635]: [1/8/2020, 2:50:15 PM] Loading 0 accessories...
Jan  8 14:50:15 raspberrypi homebridge[16635]: INFO: Configure Cached Accessory: Security Alarm, UUID: c3f254e2-85d5-4602-9813-25452e80e35b
Jan  8 14:50:15 raspberrypi homebridge[16635]: Setup Payload:
Jan  8 14:50:15 raspberrypi homebridge[16635]: X-HM://0023IX8JIMK71
Jan  8 14:50:15 raspberrypi homebridge[16635]: Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
...
Jan  8 14:50:15 raspberrypi homebridge[16635]: Or enter this code with your HomeKit app on your iOS device to pair with Homebridge:
Jan  8 14:50:15 raspberrypi homebridge[16635]:                        
Jan  8 14:50:15 raspberrypi homebridge[16635]:     ┌────────────┐
Jan  8 14:50:15 raspberrypi homebridge[16635]:     │ 033-44-254 │
Jan  8 14:50:15 raspberrypi homebridge[16635]:     └────────────┘
Jan  8 14:50:15 raspberrypi homebridge[16635]:                        
Jan  8 14:50:15 raspberrypi homebridge[16635]: INFO: Fetching SmartThings-v2 Devices. NOTICE: This may take a moment if you have a large number of device data is being loaded!
Jan  8 14:50:15 raspberrypi homebridge[16635]: 2020-01-08T20:50:15.762Z '[FileStreamRotator] Failed to store log audit at:' 'logaudit.json' 'Error:' { Error: EACCES: permission denied, open 'logaudit.json'
Jan  8 14:50:15 raspberrypi homebridge[16635]:     at Object.openSync (fs.js:439:3)
Jan  8 14:50:15 raspberrypi homebridge[16635]:     at Object.writeFileSync (fs.js:1190:35)
Jan  8 14:50:15 raspberrypi homebridge[16635]:     at Object.FileStreamRotator.writeAuditLog (/usr/local/lib/node_modules/homebridge-smartthings-v2/node_modules/file-stream-rotator/FileStreamRotator.js:246:12)
Jan  8 14:50:15 raspberrypi homebridge[16635]:     at Object.FileStreamRotator.addLogToAudit (/usr/local/lib/node_modules/homebridge-smartthings-v2/node_modules/file-stream-rotator/FileStreamRotator.js:320:27)
Jan  8 14:50:15 raspberrypi homebridge[16635]:     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/homebridge-smartthings-v2/node_modules/file-stream-rotator/FileStreamRotator.js:437:36)
Jan  8 14:50:15 raspberrypi homebridge[16635]:     at EventEmitter.emit (events.js:194:15)
Jan  8 14:50:15 raspberrypi homebridge[16635]:     at /usr/local/lib/node_modules/homebridge-smartthings-v2/node_modules/file-stream-rotator/FileStreamRotator.js:483:20
Jan  8 14:50:15 raspberrypi homebridge[16635]:     at process._tickCallback (internal/process/next_tick.js:61:11)
Jan  8 14:50:15 raspberrypi homebridge[16635]:     at Function.Module.runMain (internal/modules/cjs/loader.js:745:11)
Jan  8 14:50:15 raspberrypi homebridge[16635]:     at startup (internal/bootstrap/node.js:283:19)
Jan  8 14:50:15 raspberrypi homebridge[16635]:   errno: -13,
Jan  8 14:50:15 raspberrypi homebridge[16635]:   syscall: 'open',
Jan  8 14:50:15 raspberrypi homebridge[16635]:   code: 'EACCES',
Jan  8 14:50:15 raspberrypi homebridge[16635]:   path: 'logaudit.json' }
Jan  8 14:50:15 raspberrypi homebridge[16635]: New LogFile Created | newFilename: /var/lib/homebridge/homebridge-smartthings-v2-2020-01-08-14.log
Jan  8 14:50:15 raspberrypi homebridge[16635]: [1/8/2020, 2:50:15 PM] Homebridge is running on port 51826.
Jan  8 14:50:17 raspberrypi homebridge[16635]: NOTICE: setting temperature_unit to (F)
Jan  8 14:50:17 raspberrypi homebridge[16635]: NOTICE: Updating Global Values | HubIP: 192.168.1.10 | UseLocal: true
Jan  8 14:50:17 raspberrypi homebridge[16635]: WARN: Devices to Remove: (0)
Jan  8 14:50:17 raspberrypi homebridge[16635]: INFO: Devices to Update: (1)
Jan  8 14:50:17 raspberrypi homebridge[16635]: GOOD: Devices to Create: (0)
Jan  8 14:50:17 raspberrypi homebridge[16635]: INFO: Loading Existing Device (Security Alarm) | (alarmSystemStatus_9da00d0e-6ae7-4a73-b1f7-10433f8f7a58)
Jan  8 14:50:17 raspberrypi homebridge[16635]: ALERT: Total Initialization Time: (2 seconds)
Jan  8 14:50:17 raspberrypi homebridge[16635]: NOTICE: Unknown Capabilities: []
Jan  8 14:50:17 raspberrypi homebridge[16635]: INFO: SmartThings DeviceCache Size: (1)
Jan  8 14:50:17 raspberrypi homebridge[16635]: INFO: WebServer Initiated...
Jan  8 14:50:17 raspberrypi homebridge[16635]: INFO: Sending StartDirect Request to SmartThings | SendToLocalHub: (true)
Jan  8 14:50:17 raspberrypi homebridge[16635]: INFO: Direct Connect Active | Listening at 192.168.1.80:8000
Jan  8 14:50:17 raspberrypi homebridge[16635]: INFO: SmartThings-v2 Hub Communication Established
Jan  8 14:50:17 raspberrypi homebridge[16635]: INFO: SmartThings-v2 Hub Communication Established
Jan  8 14:50:17 raspberrypi homebridge[16635]: INFO: SmartThings-v2 Hub Communication Established
Jan  8 14:50:18 raspberrypi homebridge[16635]: INFO: SmartThings-v2 Hub Communication Established
Jan  8 14:50:18 raspberrypi homebridge[16635]: [1/8/2020, 2:50:18 PM] [Ring] Configuring 1 cameras and 1 devices for location "Shavano Park" - locationId: ae6fb12d-d377-431c-4d14-3c458a7be038
Jan  8 14:50:18 raspberrypi homebridge[16635]: [1/8/2020, 2:50:18 PM] [Ring] Adding new accessory doorbell_v4 Front Door
Jan  8 14:50:18 raspberrypi homebridge[16635]: [1/8/2020, 2:50:18 PM] Front Door is running on port 35019.
Jan  8 14:50:18 raspberrypi homebridge[16635]: [1/8/2020, 2:50:18 PM] Please add [Front Door] manually in Home app. Setup Code: 033-44-254
Jan  8 14:50:24 raspberrypi homebridge[16635]: INFO: INFO: Your plugin version is up-to-date
Jan  8 14:50:24 raspberrypi homebridge[16635]: NOTICE: Sending Plugin Status to SmartThings | UpdateAvailable: false
Jan  8 14:50:30 raspberrypi homebridge[16635]: #033[0;37m[1/8/2020, 2:50:30 PM] #033[0m#033[0;36m[Config]#033[0m #033[0;33mHomebridge Config UI X v4.6.7 is listening on :: port 8080#033[0m

Update:
Seems I had an incorrect token to talk between Home and Homebridge. I also had to clear the Homebridge cache by deleting everything in the persist and accessories directories. All devices are now in the Accessories tab of the Homebridge web GUI. But, now I see some of my devices in Home but not all of them, my Kwikset door locks do not show up. And, my two light switches are not active even though they show up in the Home. Is there some trick I am missing?

Has anyone had any success using Smartthings home monitoring with homekit through homebridge? I am able to arm the system through Homekit. but disarm will not register in smartthings. I am using the new smartthings app.

Yeah,

I need to add a note that the New SHM doesn’t work with the classic API

1 Like

Does this mean when ST migration to the new API is complete and they retire the groovy aspect this smartapp won’t work?

No point in me making the effort to get it working now if that’s the case… :sob:

I know it’s clunky, but as a workaround can’t you use a virtual switch to trigger a scene that sets security.mode ?

Also, the new one has been renamed to STHM to distinguish it from SHM. :sunglasses:

1 Like