TICK Smart Home
In het laatste nummer van HackSpace magazine las ik een artikel over hoe je je smarthome kunt opzetten met de TICK-stack. De TICK Stack bevat InfluxDB (een time series database), Kapacitor (een complex data processing engine), Chronograf (een grafische interface voor zowel Kapacitor als InfluxDB) en Telegraf (de link tussen de machine waarop het is geïnstalleerd en InfluxDB).
Omdat ik nog een Raspberry Pi had zonder bestemming en ik mijn ietwat buggy Domoticz-omgeving naar een stabielere wilde verplaatsen, zonder historische gegevens te verliezen, besloot ik TICK eens te proberen.
Het opzetten van de Pi en de TICK-stapel was een eitje, op basis van de aanwijzingen in het artikel, dus ik had al snel een werkende omgeving, die de bronnen van de Pi zelf monitoorde. Vervolgens heb ik Domoticz geconfigureerd om de belangrijkste metingen (energie, gas, temperatuur, luchtvochtigheid) door te sturen naar InfluxDB.
Omdat ik wel iets wilde zien, heb ik ook Grafana geïnstalleerd, een open source project waarmee je dashboards kunt maken (net als Chronograf), maar dan niet alleen voor InfluxDB. Op basis van de InfluxDB data in Grafana heb ik drie dashbaords gemaakt. De eerste informeert mij over het energieverbruik, op basis van de data van mijn slimme meter. Elke 10 seconden vertelt het InfluxDB het huidige energieverbruik en elk uur het gasverbruik. Met name het energieverbruik zou mij hopelijk in staat kunnen stellen om later misschien wat power disaggregation te kunnen doen.
Het tweede dashboard laat de temperatuur en luchtvochtigheid van alle sensors binnen en buiten het huis zien. Op deze manier kan ik voorbeeld zien of het zinvol is om de ramen open te zetten op een warme dag en of ik de planten in de voortuin water moet geven.
Het derde dashboard laat me de weersomstandigheden zien, zoals buitentemperatuur, luchtvochtigheid, luchtdruk, windsnelheid en windrichting. Omdat je dezelfde data in meerdere dashboards kan gebruiken zit hier een kleine overlap met het vorige dashbaord. Ook gebruik ik de buitentemperatuur op het Energy dashbaord om de verhouding met het gasverbruikt te kunnen zien.
Omdat ik veel historische gegevens heb over mijn (dagelijkse) energiegebruik, heb ik die gegevens uit Domoticz geëxporteerd en in een formaat verwerkt dat InfluxDB aankan. Op deze manier heb ik altijd mijn geschiedenis beschikbaar, zelfs als ik besluit om van smart home controller te wisselen, of Domoticz om de een of andere reden opnieuw moet installeren.
Uiteraard kan ik meerdere systemen gebruiken om data naar InfluxDB te sturen. Domoticz was het gemakkelijkst omdat het al een manier had om dat te configureren, maar ik kan ook besluiten om sesnors rechtstreeks op mijn nieuwe platform aan te sluiten als ik dat wil. Ik wil kijken naar de mogelijkheid om MQTT te gebruiken als transportmechanisme om gegevens in InfluxDB in te voeren, dus ik heb een enkel toegangspunt waarop ik meerdere systemen en sensoren kan aansluiten.