Hello, Home HomeKit (and Siri!) control via homebridge

@tonesto7 all of sudden my modes aren’t being ready correctly In Homebridge.

Lights and other devices seem to work fine. any ideas? I’ve restarted the plugin.

To further clarify, it seems there is just a delay with status from ST -> Homebridge with all devices. For example if I turn on a light in ST, Homekit doesn’t see it for like 5-10 mins. No errors in logs. Here is a snippit of my IDE logs. Not sure why it’s sending data to a 169 IP address, but it might have always been this way. Any ideas @tonesto7?

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:53:54 AM: debug Sending DEVICE Event (Fireplace Room Motion Sensor | TEMPERATURE: 66°F) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:53:39 AM: debug Sending DEVICE Event (Marc’s Office Motion Sensor | MOTION: inactive) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:53:23 AM: debug Sending DEVICE Event (Marc’s Office Motion Sensor | MOTION: active) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:49:33 AM: debug Sending DEVICE Event (Marc’s Office Motion Sensor | MOTION: inactive) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:49:16 AM: debug Sending DEVICE Event (Marc’s Office Motion Sensor | MOTION: active) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:48:56 AM: debug Sending DEVICE Event (Marc’s Office Motion Sensor | MOTION: inactive) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:48:37 AM: debug Sending DEVICE Event (Fireplace Room Lights | SWITCH: off) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:48:34 AM: info Command Successful for Device Fireplace Room Lights | Command off()

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:48:34 AM: info Process Command | DeviceId: eb4d6279-9370-4683-824a-ac382326a235 | Command: (off)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:48:29 AM: debug Sending DEVICE Event (Marc’s Office Motion Sensor | MOTION: active) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:48:29 AM: debug Sending DEVICE Event (Fireplace Room Lights | SWITCH: on) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:48:24 AM: info Command Successful for Device Fireplace Room Lights | Command on()

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:48:24 AM: info Process Command | DeviceId: eb4d6279-9370-4683-824a-ac382326a235 | Command: (on)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:48:22 AM: debug Sending DEVICE Event (Kitchen Fibaro Motion Sensor | MOTION: inactive) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:48:13 AM: debug Sending DEVICE Event (Marc’s Office Motion Sensor | MOTION: inactive) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:47:56 AM: debug Sending DEVICE Event (Marc’s Office Motion Sensor | MOTION: active) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:47:51 AM: debug Sending DEVICE Event (Kitchen Fibaro Motion Sensor | MOTION: active) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:47:09 AM: debug Sending DEVICE Event (Kitchen Fibaro Motion Sensor | MOTION: inactive) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:46:43 AM: debug Sending DEVICE Event (Playroom Hallway | SWITCH: off) to Homebridge at (169.254.251.86:8000)

ce3cb97f-e86d-489b-ab4f-aa3836b375a0 6:46:43 AM: debug Sending DEVICE Event (Downstairs Hallway Light | SWITCH: off) to Homebridge at (169.254.251.86:8000)

Anyone else having issues with the delays or is just me?

I just updated to iOS 13, which tries to “smartly” group together devices with multiple capabilities. This means that in the Control Center, instead of having “Living Room Cans” as both a light and a button, only the button shows up.

I have been trying to use the “excluded_capabilities” to remove the button part, and found the correct DEVICE_ID in the IDE, but can’t get homebridge to ignore it. Here’s the relevant part of my config file:

  	"excluded_capabilities": {
        	"SMARTTHINGS-DEVICE-ID-1B" : [
		"Button"
        	],
	"SMARTTHINGS-DEVICE-ID-09" : [
		"Button"
        	]
    }

Am I doing something wrong?

(Also, thanks for all the work that has gone into the bridge!)

In the IDE go to My Devices, click on the device, the ID is in the URL:

graph.api.smartthings.com/device/show/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

replace the entire “SMARTTHINGS-DEVICE-ID-1B” with the correct ID

Hi @tonesto7

Absolutely amazing job! Thank you so much for your work. I have a request for Air Quality Sensor capability :slight_smile: (The Air Quality Sensor device type was not showing up in Home app and not listed in he_st_accessories.js so I assume it’s not in the plug-in yet.)

Thank you!

1 Like

Thanks - worked perfectly.

@siwilson I am also getting exactly this issue, with one of my lights on the Fibaro FGS-223, showing up as a button rather than a light switch. I’ve tried excluding button capability, but in that case I just get a group unknown message in the logs (attached below).

@tonesto7 any thoughts on this? Loving the plugin other than that.

I’ve raised an issue to track this, at https://github.com/tonesto7/homebridge-smartthings-tonesto7/issues/67

[11/6/2019, 10:39:13 PM] [SmartThings] Device Skipped - Group unknown, Name Front Garden Light, ID XXXX, JSON: {“name”:“Front Garden Light”,“basename”:“Fibaro Double Switch 2 ZW5”,“deviceid”:“XXXXX”,“status”:“ONLINE”,“manufacturerName”:“SmartThings”,“modelName”:“Fibaro Double Switch 2 ZW5”,“serialNumber”:“0A”,“firmwareVersion”:“1.0.0”,“lastTime”:“2019-11-06T22:38:33+0000”,“capabilities”:{“Configuration”:1,“Refre
sh”:1,“Energy Meter”:1,“Power Meter”:1,“Health Check”:1,“LightBulb”:1},“commands”:{“on”:,“off”:,“configure”:,“refresh”:,“ping”:,“reset”:},“attributes”:{“switch”:“off”,“energy”:0.52,“power”:0,“button”:null,“numberOfButtons”:6,“s
upportedButtonValues”:null,“checkInterval”:1920,“DeviceWatch-DeviceStatus”:null,“healthStatus”:null,“DeviceWatch-Enroll”:null},“excludedCapabilities”:[“Button”]}

Huge credit to @tonesto7 for turning around a fix for this in less than 24 hours, the Fibaro double switch is now working in Homebridge. Thanks for the great service.

FYI @siwilson

3 Likes

Thanks to Areson submitting changes to the plugin to make it dynamic plugin (Meaning it loads the devices a cache) which allows adding, removing devices without having to restart homebridge. It also prevents loosing all your devices from disappearing if the server crashes for an extended period of time.

I will publishing a v2 of the plugin within the next few days. The only bad news is that you can’t upgrade the current version. You will need to re-import your devices into HomeKit again.

4 Likes

Huge thanks for fixing that!

I’m going to ask a dumb question here. Is there a specific version of Hombridge that is “recommend”, as of today, to use with this plug in?

It will be a docker install, if that matters.

I followed the instructions on tonesto’s GitHub.

1 Like

Just added this to Homebridge in an oznu/Homebridge Docker container on a Synology.
Spins up, and I can see it in Home, but it is greyed out. Not seeing any devices.

From the SmartThings app (old) nothing saves. From the SmartThings app (new) I can get things to save.

SmartThings v1 controller, iPad as HomeKit controller (IOS 12.4.something), and latest SmartThing apps (old/new)…

BTW, container HomeBridge logs show that HomeBridge is running (couldn’t add to HomeKit), and that it is listening on the correct port, but it doesn’t show connected to the Hub.

Any tips/tricks/suggestions to get this to work?

In the Homebridge Startup log, can you see that the Smartthings devices were discovered?

Doesn’t look like it:

Loading 1 platforms…
[SmartThings] Initializing SmartThings platform…
[SmartThings] Fetching SmartThings devices.
Loading 0 accessories…
[SmartThings] Error received type undefined - undefined
[SmartThings] Unknown Capabilities:

And the old SmartThings app:

  1. Wont’ save any devices I add
  2. Every time I go into it, it changes the app_id

Pretty frustrating

OK… I think the devices don’t load because the app ID/key in the config,json file . I remember having the problem initially when I set it up.

Just to confirm you are getting the app ID from inside the Smartapp (this is different then the app ID from the IDE).

What is strange is that the Smartapp does not save when you install it in the legacy/classic app. THis works for me without any problem.

Yep. And every time I make a change, it appears to save another copy of it, though not displayed.

I can go through the process of removing it on the old app, and it persists. Going to uninstall the old app and reinstall it.

Are you using the android app?