Continuing the discussion from Slow response to triggers and events:
This has been a recurring theme on these forums for as long I joined 8 month ago. Every time it happens, we (the users) have been agonizing to figure out who’s at fault. Is it a slow internet connection? Is it radio interference? Is it Zigbee/Z-Wave mesh network issues? Is it SmartThings cloud problem? Or is it just our imagination?
SmartThings has a status page (http://status.smartthings.com) and sometimes it helps to look and see if the ST cloud is having some hiccups. But on many occasions there’s no issues reported on the status page, yet some things don’t work as expected - lights don’t turn on when supposed, garage doors don’t open, etc.
So, instead of guessing, I’ve decided to take a quantitative approach and actually measure SmartThings performance. For an event-driven system as SmartThings, the most important performance measure is event latency, i.e. how long it takes for an event to reach its destination.
Why is it important? Because everything that happens in the SmartThings cloud is communicated using events. For example, when a motion sensor detects motion it sends an event to SmartThings cloud. That event is passed on to some SmartApp, which then sends an “On” command to a light switch device handler. That command is also an event. Then the light switch device handler sends a command to the actual device to turn on the lights.
In order to measure event latency, I wrote a SmartApp that sends events to itself every minute and measures the time it takes to deliver the event. Note that it measures only latency inside the ST cloud, and does not include your Internet connection latency or the latency in the Zigbee/Z-Wave radio network, so it gives an idea how well ST servers handle events. A one-minute sampling rate is not perfect, as it does not allow to detect very short-lived performance issues, but nevertheless, the app provides very valuable estimation of SmartThings cloud performance.
The app logs latency data to Xively feed for historical performance analysis. I’ve been monitoring SmartThings performance for a week now and while typical event latency is surprisingly good (under 100 milliseconds), there’re quite frequent spikes, exceeding 500 milliseconds (half a second). Several times a day, the event pump appears to be stalling, resulting in event latency exceeding 1 seconds, sometimes exceeding 10 seconds and even more.
You can see my real-time event latency feed here:
https://xively.com/feeds/1386935385