I am working on code that is written in python and talks to Homematic IP smart home installations. The software collects data for each of the rooms in the Homematic IP sites and stores them in an influxdb database. I would like to automate the process of generating a dashboard in grafana for each site that has a panel for each room, with the panel showing temperature set value, measured temperature and radiator valve control values in %. I have existing panels that I have generated manually for some rooms, so maybe I could use these as templates through some JSON magic…
The python application, grafana and influxdb all run under a local server with debian bookworm.
What tool/API would people recommend? Thanks and best wishes,
Hm. That is an interesting approach. It does not yet solve how I do this programmatically for each Homematic IP instance (create a dashboard for each). One question comes to mind - in my case each room is a “measurement”. Can I query a list of all measurements in an influxdb to create a variable? Or would it be better to have one measurement in influx and differentiate between the different rooms using tags?
> SELECT * FROM Konfiraum GROUP BY * ORDER BY DESC LIMIT 1
name: Konfiraum
time KR HT1.valvePosition KR HT2.valvePosition KR HT3.valvePosition KR HT4.valvePosition actualTemperature humidity setPointTemperature vaporAmount
---- -------------------- -------------------- -------------------- -------------------- ----------------- -------- ------------------- -----------
1739014783422583000 0.04 0.04 0.04 0.05 18.3 34 18 5.303992175622818
Konfiraum is the measurement and name of the room. There are no tags. Just fields.
If needed (or if that would be better for other reasons), I could convert to having one measurement (e.g. hm_ip_rooms) and differentiate between rooms using tags. I am using influxql.