Collecting data from devices via web API

If I was to manufacture a device that linked to smart things, is it possible to collect/view the data from my customers devices? So each time a Zigbee request is made or sent it can be forwarded to my server or I can access it on the smart things server?
I would like to use it for generic user info like how many times features are used, what time of day, battery levels etc. All of this would provide a great resource to improve the next product

1 Like

I asked a variation of the same question here, but no response so far.

Maybe we can merge these two Topics?

I’m pretty sure you can insert simple http post commands into your SmartDevice Type Handler code, since this is permitted. I think they are run asynchronously, so hopefully there won’t be any extra processing delays.

https://graph.api.smartthings.com/ide/doc/deviceType

@tgauchat @jmuraca, Could the GroveStreams Feed SmartApp do some of that?

I use it for my home energy meter, but I see is has motion, acceleration, open/close, presence, and switches in it’s reporting capabilities within the app.

There’s also ThingsLayer:

https://thinglayer.net/

or

I know it’s not within the ST ecosystem, but at least it’s something until that kind of logging for non-geek users becomes available. Just a thought.

Yes… Those are both good examples of logging to an external web service and the code of those SmartApps would be educational.

Makes me think, though, that external logging would be a useful overall service to abstract and encapsulate some day, probably as “service” Device instances of various types.