SmartStart with HomeKit and Siri (updated)

If you have a SmartStart remotestarter device, you’ll be surprised to find that your app login is actually an account with LenderOutlook - a device management portal. Go ahead, login and check out your vehicles. Be careful tho, you can do things like remove your vehicle from your account!

Dale3h had done most of the heaving lifting with his SmartStart node.js module for his Alexa integration. All I had to do is write the homebridge integration!

I have forked the repo and added a simple way to allow for multiple vehicles. Perhaps Dale3h will merge my changes and publish a new npm package and version.

The homebridge plugin is here and ready to use: https://github.com/karlg100/homebridge-smartstart or here https://www.npmjs.com/package/homebridge-smartstart

Update: 1.1.0 now provides lock/arm and unlock/disarm support, as well as remote start commands.

Reverse engineering comments

Most of the work was already done for me. Looking though Dale3h’s code, and also this php implementation, made the reverse engineering side easy.

The one thing I am frustrated and unable to figure out - the viper app somehow can poll the vehicle to get telemetry and state.

I tried using mitmproxy, (see my other write up) to discover how it was doing this. After spending hours, I got nowhere. The app somewhow is gleaning status from 2 separate READ_CURRENT and READ_UPDATE (followed by a Https://server/device/read/$deviceID?sessid=sessionkey URL poll). It’s somehow encoded in these 4 requests/responses. communication used by the app, that all the other 3rd party implementations don’t do.

But whatever, I’m giving up on that for now. Next I’d like to get unlock and lock events, but that’s for another day.