
I love smart home tech, but I hate having a billion different apps of various quality from each and every manufacturer or a smart device. Normally I use Homebridge to bring devices which don’t natively support HomeKit into the Apple HomeKit ecosystem so I can use the Home app to control everything and create automations.
This has worked pretty well for years, but as with all software bit rot sets in and things that were working perfectly fine for years suddenly stop working becasue programmers are bored and want to rewrite things to work exactly the same but now in a totally different way!
That’s what happend with Homebridge’s Smartthings plugins. Smartthings changed how they do auth, away from app tokens to full oauth handshakes. That’s a problem for Homebridge which doesn’t seem to have any way to process the callback that needs to happen.
So I’ve spent more time than is reasonable building out this custom server that spins up an express UI that handles the Smartthings OAuth flow to collect your authentication token, and then bridges HomeKit <-> SmartThings API.
It took so long because I was first banging my head against the Matter protocol until today when I was like “wait, how does Homebridge do this exact same thing but better?” and once I went down the HAP route, my life got better. Ie: this project actually works.
For now I’ve customized it to only do the HVAC systems I orignially wanted, but I think with the new HAP system I can easily expose ALL Smartthings devices just like the old plugins did with a little more work.