System Design Question: Built a home security product, now want to integrate with SmartThings

Hi Everyone,

I am new to SmartThings so please excuse my ignorance. I am not looking for step-by-step instructions, but would appreciate it if someone could point me in the right direction.

Background:

I build home security hubs. The hub is designed to get data from devices/sensors on a local network and generate security events (alerts) based on that data. It has an API, and it can also issue Webhook calls and send event data to any URL (private or public).

My ideal outcome is where my device can send security events to be displayed on my smart fridge (4-Door Flex Family Hub edition with a screen). Similar to the way Ring does it.

Q1: What are the steps to get my own app (like Ring) to the smart fridge? Is there a good sample app to get started?
Q2. For the devices to communicate (e.g. send event from my security hub to the fridge) do I have to use a public webhook URL (https://) even though both devices are on the same local network?
Q3. For my app to remember state (e.g. history of events) do I need to use Context Store as described here Endpoint SmartApps with File Store Contexts
Q4. if I want to send a command from the fridge to my security device (for example Arm/Disarm command) do I also have to go through a public server (see Q2 above), or can I use something like MQTT over a local network?

Ideally (some time in the future), I want to enable my Security Hub to also control my other devices (e.g. smart lights) on the same network.

I realize this is a lot of questions, so if someone could provide some guidance or share good URLs, I would appreciate it. Happy to contribute to the community in other ways!

Thanks again,

Mike

Hi, @mv4

I asked the engineering team and the app of Ring is a special case, there are no tools to develop an app similar to that for 3rd-parties.

Thank you @nayelyz. Based on what you just found out, what would be the best way to get our security hub in the SmartThings app as one of the “Devices”? What tools can you recommend?

Do you mean you want to get the new events from those devices? You cannot connect directly to them to get the new values, you would have to create subscriptions to get them.

The file context store is used to save the context of the SmartApp, this means the values in the configuration and tokens so you can make API calls from different sections of the app, not events received.

It depends on how you can connect to it. If its API requires Internet Access, you should use a Cloud Connector, if you can connect through LAN, an Edge driver, if it can use MQTT, it could be a Direct-Connected device.

But, consider that a device integration only controls the device you’re connecting, to control others based on its events, you need a third integration like a SmartApp, to subscribe to events and execute the actions you want when they are received.

1 Like