SmartThings integration with Azure Bot Framework to allow smart device control via FB Chat, Skype, ect

This was a project a worked on to integrate Azure Bot Framework with a SmarthThings app to be able to control my devices across multiple platforms (Android, Windows, or any OS that has chat platforms) using different forms of chat such as Webchat, Skype, and FB messenger. If anyone is interested I can write up a blog post on deploying SmartThings app and deploying the Bot Service.

Azure Bot Service Project: https://github.com/jcbrooks92/ChatBotService-HomeAutomation
SmarthThings Applicaiton with API commandlets. https://github.com/jcbrooks92/SmartThingsCode-HomeAuto

The commands are based on some basic syntax, when using chat you must you the basic following basic commands:

turn on room name <------------turns on the room light
turn off room name <------------turns off the room light
turn on room name 50 <------------turns on the room light and adjusts the brightness based on a scale of 0-100

*any other command not starting with “turn on” or “turn off” will return the status of your resources"

The commandlets specifically look for the syntax “turn on/off” otherwise it will return the current status of all your device whether they are on or off and what the dimming level is on. I have not tested this with other resources besides lights, but I believe you should be able to control any device that has on/off and value configurations.

All the private information will be stored in the Application Settings of the Azure Web App such as the token, Microsoft AppID, AppPassword, and SmartThings Subscription.

3 Likes

Hi @jcbrooks92 - wow, 2 years later and I’m just thinking of this same idea as a fun project to try out. Were you successful with this, and have you kept it up? Are you using the v4 SDK for Azure bot service now, and is SmartThings integration still allowing API calls like this?

Thanks for providing what you did already; I’ll try to read through this and see if I can setup something similar, but if you have any video/blog/project notes that you think would be useful (or tips and things to avoid from your experience) I would great appreciate the input. Thanks!