Domoticz-data weergeven in Grafana-grafieken
In eerdere artikelen hebben we uitgelegd hoe je een InfluxDB database aanmaakt en hoe je Grafana installeert op een Pi. Nu is het tijd om alles aan elkaar te koppelen, zodat de data die Domoticz verzamelt grafische weergegeven kan worden in Grafana middels grafieken en bars.
Benodigdheden
InfluxDB koppelen aan Grafana
We gaan ervan uit dat je onderstaand scherm zit (mocht dat niet zo zijn ga dan even terug naar Grafana installeren op een Pi).
Klik op Add data source en vervolgens klik je op InfluxDB:
Vul nu onderstaande velden in:
- URL (ip-adres inclusief poortnummer waar je InfluxDB geïnstalleerd hebt)
- Database (naam van de database)
- User (gebruikersnaam van de database)
- Password (wachtwoord van de gebruiker van de database
- HTTP Methode: GET
Klik vervolgens op Save & Test.
Domoticz koppelen aan InfluxDB
Zojuist hebben we de InfluxDB database gekoppeld aan Grafana. Echter, de InfluxDB database is nog helemaal leeg. We gaan er nu voor zorgen dat Domoticz de waarden naar InfluxDB stuurt. Ga nu in Domoticz naar Setup > More Options > Data push > InfluxDB.
Vul eerst bij General settings de bonodigde velden in (dit zijn dezelfde waarden als je eerder ook in Grafana ingevoerd hebt). Vervolgens kun je onder Edit link aangeven welke data je naar InfluxDB wilt laten sturen. Vergeet niet op Add en Save te klikken!
Domoticz zal nu continu data naar de database van InfluxDB sturen, zodat je deze data in Grafana kunt weergeven.
Ga nu terug naar Grafana en klik op het icoontje van Add panel en vervolgens op Add Query.
Vanaf nu is het ‘creatief’ klikken ;). In onderstaand voorbeeld heb ik 3 devices (temperatuur slaapkamer / binnen / badkamer) toegevoegd aan de query. Je ziet dat de waarden van 3 apparaten keurig worden weergegeven in één grafiek:
Super bedankt voor deze geweldige uitleg ! tot nu toe veel gehad aan jou instructies.
Alleen nog wel een vraagje ik heb een P1 USB meter kabel en in domoticz geeft deze mooie cijfers kwa verbruik.
Maar wat ik ook doe in grafana krijg ik maar 1 type gas-usage en dat is een getal dat ik geheel niet kan rijmen aan mijn verbruik?
Heb jij enig idee hoe ik mijn huidige gas verbruik voor 1 dag in grafana kan krijgen en dat hij netjes iedere dag op 0 begint?
SELECT derivative(mean(“value”), 1h) FROM “Gas-usage” WHERE (“idx” = ‘221’) AND $timeFilter GROUP BY time(1h) fill(previous)
Ok, ook deze instructie werkt bij mij, nl het pushen van data vanuit Domoticz naar de Influx Db. In zowel de log van Domoticz (data eruit) als op de journal log van de Raspberry Pi (binnenkomende data) wordt bevestigd dat er data aan het stromen is.
Ik heb moeite met maken van de queries, ofwel om de juiste data te tonen. Zou je hierover nog een artikel kunnen schrijven? Bijvoorbeeld over het energie verbruik, het gas verbruik. Ik zou graag de granulariteit verfijnder willen zien. Ook ben ik benieuwd of je de stroom en gas kosten kan berekenen.
Ik merk ook dat ik moeite heb met de queries, en artikel hierover zou inderdaad heel erg welkom zijn 🙂
Verder is alles heel helder uitgelegd, dank daarvoor 🙂
SELECT derivative(mean(“value”), 1h) FROM “Gas-usage” WHERE (“idx” = ‘221’) AND $timeFilter GROUP BY time(1h) fill(previous)
Als ik deze bij mij er in zet krijg ik geen meting zoals bedoeld. Uiteraard het idx aangepast.
Voor de duidelijkheid. Je kunt de teks edit mode aanzetten en deze select, from, where daar plaatsten.
Misschien ligt het aan mij, maar waarom een tussenstap via influx?
Grafana kan toch ook overweg met sql-lite (mysql), aan het bestand te zien is de database van Domoticz een sql-lite database.
René
Omdat influxdb een database is die veel sneller is en werkt dan sql-lite (mysql)
Iemand die overzicht van grafieken heeft in grafana?
Zoiets:
https://grafana.com/docs/grafana/latest/panels/visualizations/bar-gauge-panel/
En dan bijv van het totale dag verbruik. vs opbrengst enz
Ik ben erg blij met de ombi van domoticz, influxdb en grafana. Waar ik tegen aan loop:
Ik lees de P1 slimme meter uit en heb al die data in domoticz en domotuics stuurt het door naar grafana. Het lukt me in grafana niet om een dag meter te krijgen van elektra verbruik die gelijk loopt met de dag meter in domoticz… Het loopt teveel daarop achter.
Ik heb geprobeerd met derivative functie, difference functie. Relative time now/d etc. Ik kom er niet uit. Heb jij de juist querie om in de lopende dag het elektra verbruik in kWh te tonen in Grafana?
Query die ik nu heb:
SELECT derivative(last(“value”), 1d) / 1000 FROM “Usage” WHERE (“name” = ‘PanaTotaal’) AND $timeFilter GROUP BY time(1d) fill(none)