Monitor & Visualize Your SmartThings Smart Home with Splunk
The smart home has gone through quite a convergence in the last few years. Modern protocols like Z-Wave & ZigBee, along with mart hubs, and smart assistants like Amazon Alexa, Google Home & Apple Siri are finally bringing everything together to make the smart home a practical and reliable reality.
What had been still missing from the picture for me, is the ability to log, analyze, and visualize all the data that my smart home generated. I use Splunk (data capture and visualization tool) at work so I decided to give it a try at home and it’s worked out great.
Here’s a Splunk dashboard I created for my home, showing current and historical data from multiple data sources: energy meter, contact sensors, switches, weather data feed, Windows event logs, and some custom PowerShell scripts.
My SmartThings-based smart home setup:
- Samsung SmartThings Hub 2nd Gen
- Amazon Echo Devices
- Various ZigBee/Z-Wave devices
- Samsung SmartThings GP-U999SJVLAAA Door & Window Multipurpose Sensors
- Samsung SmartThings GP-U999SJVLBAA Motion Sensors
- Samsung F-OUT-US-2 SmartThings Outlets
- Other ZigBee/Z-Wave switches, dimmers, and plugs
- Samsung ST-CEN-MOIS-1/FTR-US-2 Water Leak Sensors
- Aeotec HEM G2 whole house energy monitor
- First Alert ZCOMBO 2-in-1 Smoke Detector & Carbon Monoxide Alarm, Z-Wave
- PowerShell scripts to pull data from openweathermap.org & run/log periodic Internet speed tests.
- Splunk Free
Installing Splunk Free Edition
Download and install Splunk. You will start with the Enterprise version which comes with a 60-Day Trial. After that you can switch to the Free edition. Splunk Free allows indexing up to 500 MB of data per day which has been sufficient for my home logging needs. For my setup I installed Splunk on a 14-year old Windows box with a Intel Core2 Quad CPU Q6600 @2.40GHz – Splunk indexing/query performance has been pretty acceptable.
If your install was successful, you should be able to log into Splunk web by navigating to http://localhost:8000 (or replace localhost with your Splunk server hostname).
If you want to monitor other computers, install Splunk Universal Forwarder on each of those computers. I’ll go through how to configure the Universal Forwarders in a future post.