I’m happy to release the new version of my homebridge-smartthings-tonesto7
Changes
Plugin
Completely rewrote the entire plugin using modern javascript structure.
The code is now much cleaner, easier to update/maintain, and easier for others to follow.
This translates into a faster/leaner and way more stable plugin than previous versions.
The plugin now uses the Homebridge Dynamic platform API, meaning it no longer requires a restart of the Homebridge service for device changes to occur.
The plugin now utilizes the device cache on service restart to prevent losing all of your devices when the plugin fails to start for an extended period of time.
It will now remove devices no longer selected under SmartThings.
Introduced an all-new logging system to provide more insight into issues and status, as well as write them to a file.
I used all of the issues from my existing plugin to repair this new version.
Many, many other bug fixes for devices, commands, and many other items.
Important NOTICE: Due to the changes in the plugin API you can not directly update the plugin, you will need to add as a new accessory and setup your devices/automations/scenes again.
On a positive note, you can use the same SmartApp instance though as long as you update to the latest code.
SmartApp
Reworked and cleaned up the UI so it’s now more organized and easier to follow.
Added new capability filter options.
Optimized the command/event streaming system to perform faster and more reliably.
Added duplicate device detection cleanups so Homekit doesn’t try to create duplicate devices and throw an error.
Stupid question. I have this set up and SHM commands from Homebridge to SmartThings works as expected (same behavior as v1), but if I do it from the SmartThings side, I see an event in the IDE that it says it is setting the status, but it never shows up on the Homekit side (no associated event). So it seems it is only happening one way
HB > ST:
HB: 7:21:39 AM][SmartThings-v2]NOTICE: Sending Device Command: stay | Value: Nothing | DeviceID: (alarmSystemStatus_...) | SendToLocalHub: (true)
ST: 7:21:39 AM: debug Sending LOCATION Event (alarm system status | ALARMSYSTEMSTATUS: stay) to Homebridge at (x.x.x.x:xxxx)
ST > HB:
ST: 7:24:32 AM: debug Sending LOCATION Event (alarm system status | ALARMSYSTEMSTATUS: off) to Homebridge at (x.x.x.x:xxxx)
HB: Nada
Tried to upgrade by v1 install (which has always worked flawlessly by the way) to this tonight and unfortunately it’s broken everything.
Homebridge keeps rebooting, the only thing in the error log I can catch is this
[12/8/2019, 9:54:59 PM][SmartThings-v2]ERROR: uncaughtException: Cannot add a bridged Accessory with the same UUID as another bridged Accessory: 38034c10-1bee-4ac6-8691-ca67ccbbe199
I’ve deleted the cachedAccessories file in .homebridge/Accessories but homebridge still doesn’t run properly. All I can get is one switch to appear from SmartThings.
[12/8/2019, 10:00:32 PM] TypeError: Cannot read property 'info' of undefined
at ST_Platform.configureAccessory (/usr/local/lib/node_modules/homebridge-smartthings-v2/src/ST_Platform.js:204:18)
at Server._configCachedPlatformAccessories (/usr/local/lib/node_modules/homebridge/lib/server.js:386:24)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:93:8)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:59:10)
at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (internal/modules/cjs/loader.js:956:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:973:10)
at Module.load (internal/modules/cjs/loader.js:812:32)
at Function.Module._load (internal/modules/cjs/loader.js:724:14)
at Function.Module.runMain (internal/modules/cjs/loader.js:1025:10)
at internal/main/run_main_module.js:17:11
I’ve stated clearly that you can not directly update your v1 plugin to version 2.0.
You will need to make sure to update the config in the old v1 location and remove the accessories and persist folder from that folder as well.
You will also need to remove the bridge from the Home app on your phone and reconnect the new v2 bridge
I did think i’d done all that to be honest - for some reason it’s working fine now anyway - really strange. I left it for a while and it worked ok. I had removed everything from version 1 though, including even the SmartApp and tried to set everything up from scratch.
Anyway it’s working now and it’s great being able to add virtual switches without needing to reboot Homebridge! Thanks for the hardwork.
Hi all, I’m pretty new with the smartthings environment, and I mainly bought one because I wanted to have my Zigbee line in thermostats hooked to my Homebridge setup. To my pleasure, this V2 integration just happens the day I received my V3 Hub.
So I follow all the instruction but I get an error when I launch Homebridge. I was about to log an issue on GitHub when I saw that i need to have a device handler, saved and published, but I didn’t see any device handler that needed to be added in the procedures.
I’ve only had my RaspPi a few days and this was my first project as I’m trying to learn some new things. Took some failed attempts but was fairly easy after I followed the directions for my setup. Still don’t know what I’m doing but I’m excited my garage door opener works with Home-Kit now! Thanks!