I had an older version of this mentioned here.
I had some time before the start of the summer semester so I created this updated version. This is a release updates the web requests to be asynchronous drastically increasing their reliability. I have also added the trunk and locate back in and dramatically updated logging instrumentation.
Personally, I use IFTTT / Smartthings / Google Assistant to allow voice commands like, “Lock/Unlock/Start my truck” etc. You must use IFTTT right not because Google Assistant does not natively allow you to operate locks (or “Timed Sessions” which I am using for the start/stop verbs).
If you are using a Smart Start app on android/ios you can likely use this device handler. I use a Viper brand however they utilize a directed backend (which the DH is communicating with directly). That said directed says it is the backbone for other brands “Smart Start” systems like Viper, Clifford, AutoStart, AstroStart, AutoMate, Python, Avital, Install Essentials and Directed as well so it should work just fine, of course, YMMV.
* Change log: * 2018-05-03 - (v00.02.01) Updated Instrumentation * 2018-06-16 - (v00.02.02) Lots of code cleanup, added proper encoding for user/pass & properties for Alexa * 2008-11-13 - (v00.02.03) Added automatic retry on error, IFTTT Webhooks (https://ifttt.com/services/maker_webhooks/settings) and some code cleanup * 2018-11-19 - (v00.02.04) Smart retry (only retry needed requests), store vehicle id between attempts, ignore additional calls while processing
Adding a new device handler
If you need help adding a custom device handler JDRoberts has a great post FAQ: An Overview of Using Custom Code in SmartThings (SmartThings Classic)