Community Project: Smart Home Heating
InfluxDB has been deployed in Zolnierczyk’s home to gather information about how he uses his heating system. He plans to use that data in conjunction with machine learning and new per-room controls to manage heating in a more efficient manner next year. InfluxDB collects temp/humidity/pressure/SetPoint/ for each room vs. environmental weather info as well as occupancy information for a room. This is used to create a database for ML to drive a smart heating system. This will then be built upon with data sent from PIR sensors to create an insightful map of how rooms are used. Having access to historical data is crucial, as building an accurate image takes time. The database will cover the entire season, which then will be used to drive the heating over the upcoming winter while collecting information again to compare the datasets.
Zolnierczyk likes InfluxDB because it integrates well with other tools and because of the query language. It is easy to integrate with Grafana to monitor and validate the datasets collected. There is also ease of deployment on platforms like RPI and with processing the data with NodeRED. It took moments to set up everything, especially that NodeRED comes with tools that help the user to save and query data. Grafana integration allows for the instant feedback which can be used to modify the data schema to match Zolnierczyk’s needs. It’s very quick to set up, so you spend time processing data, not collecting it. There is plenty of info out there on how to get started, and a time-based DB is best suited for IoT because sensor data is time series data. Self-deployed DB takes moments to establish, and cloud services are available to anyone who needs the same service at a bigger scale. Verification of the stored data can be done by simply plotting charts to visualize it and check whether metrics stored are compatible for the use case schema.
Zolnierczyk recommends taking your time and thinking carefully about how you want to store your data. This is important because it will determine how you can access it and how it can be displayed and processed by Grafana. InfluxDB indexes by time and tags. This means that querying the DB using time ranges and associated tags is quicker than standard SQL databases. Zolnierczyk is looking forward to experimenting with AI and using InfluxDB as his go-to storage for IoT telemetry.