Praxisnahe Tutorials, auf die du zählen kannst.
Einsteiger Guide für Home Assistant

Langzeitdaten & Analyse in Home Assistant mit Grafana & InfluxDB

Hier zeige ich dir, wie du in Home Assistant mit InfluxDB eine Langzeitdatenspeicherung aufbauen kannst. Anschließend schauen wir uns noch an, wie du diese Daten mit Grafana analysieren und in wunderschönen Dashboards & Panelen darstellen kannst 🙌

Dabei habe ich, zumindest sowie ich das beurteilen kann, keine Wünsche offen gelassen, was grundlegende Benutzung, aber auch die erweiterte Panelerstellung in Grafana anbelangt 🚀

Inhaltsverzeichnis

Voraussetzungen

Home Assistant muss bereits installiert sein, auf welcher Hardware spielt keine Rolle.

Vorgestellte Add-ons

  • InfluxDB
  • Grafana

Kurzer Hinweis in eigener Sache

Viele hätten vermutlich für ein Video diesen Umfangs & dieser Art einen Kurs auf Udemy oder Masterclass gemacht. Für die Erstellung habe ich mich mehrere Wochen intensiv mit dem Thema Grafana außeinandergesetzt… Und das alles in meiner Freizeit.

Ich bin ein Fan von freien Informationen, würde mich aber auch über Unterstützung freuen, wenn du es dir leisten kannst.

Falls sich das nach einer Option für dich anhört, kannst du gerne mal hier vorbeischauen: https://www.buymeacoffee.com/simon42official

Besten Dank im Voraus 🎉

InfluxDB

Konfiguration des Add-on

Kommt unter envvars in der Add-On Konfiguration:

- name: INFLUXDB_MONITOR_STORE_ENABLED
  value: "false"

Eintrag für Configuration.yaml

Doku für alle Konfigurationsparameter: https://www.home-assistant.io/integrations/influxdb/

influxdb:
  username: hainfluxuser
  password: MyPassword
  tags:
    source: HA
  tags_attributes:
    - friendly_name
  default_measurement: state
  exclude:
    entities:
      - zone.home
    domains:
      - persistent_notification
      - person
  include:
    domains:
      - sensor
      - binary_sensor
      - sun
      - light
      - cover
    entities:
      - weather.home

URL zum Einbetten in Dashboards

Relevante Teile sind fett markiert:

http://XXX.XXX.XXX.XXX:8123/api/hassio_ingress/SsHp2UdJ3E5ag0lSUX0T2EltPUEKPeDsASE1WHR78gk/d/DJm6f304k/heizungsanalyse?orgId=1&from=now-1d&to=now&kiosk=tv

Code aus dem Video

Da ich inzwischen so oft danach gefragt wurde, hier die Grafana-Exports der Dashboards als JSON für euch 💙. Natürlich bitte trotzdem das Video anschauen (in Ruhe), da so die Konfiguration, Bedienung sowie Sinn & Zweck klar wird 😉

Danke auch nochmal ganz besonders an alle Kaffeespender die es ermöglichen, dass ich hier so viel Arbeit reinstecke 🙏

Heizungsanalyse

Grafana Dashboard Heizungsanalyse mit Home Assistant
{
  "annotations": {
    "list": [
      {
        "builtIn": 1,
        "datasource": {
          "type": "grafana",
          "uid": "-- Grafana --"
        },
        "enable": true,
        "hide": true,
        "iconColor": "rgba(0, 211, 255, 1)",
        "name": "Annotations & Alerts",
        "target": {
          "limit": 100,
          "matchAny": false,
          "tags": [],
          "type": "dashboard"
        },
        "type": "dashboard"
      }
    ]
  },
  "description": "",
  "editable": true,
  "fiscalYearStartMonth": 0,
  "graphTooltip": 0,
  "id": 2,
  "links": [],
  "liveNow": false,
  "panels": [
    {
      "datasource": {
        "type": "influxdb",
        "uid": "JzL_Sa04z"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 14,
            "gradientMode": "hue",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "insertNulls": false,
            "lineInterpolation": "smooth",
            "lineStyle": {
              "fill": "solid"
            },
            "lineWidth": 2,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "celsius"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 0,
        "y": 0
      },
      "id": 2,
      "options": {
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "tooltip": {
          "mode": "single",
          "sort": "none"
        }
      },
      "targets": [
        {
          "alias": "Temperatur Küche",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "A",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "lumi_lumi_weather_temperature"
            }
          ]
        },
        {
          "alias": "Temperatur Bad",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "B",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "lumi_lumi_weather_temperature_2"
            }
          ]
        },
        {
          "alias": "Temperatur Wohnzimmer",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "C",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "lumi_lumi_weather_temperature_3"
            }
          ]
        }
      ],
      "title": "Temperaturen Wohnung",
      "type": "timeseries"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "JzL_Sa04z"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 14,
            "gradientMode": "hue",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "insertNulls": false,
            "lineInterpolation": "smooth",
            "lineStyle": {
              "fill": "solid"
            },
            "lineWidth": 2,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "celsius"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 12,
        "y": 0
      },
      "id": 5,
      "options": {
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "tooltip": {
          "mode": "single",
          "sort": "none"
        }
      },
      "targets": [
        {
          "alias": "Aussentemperatur Wetterdienst",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "A",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "aussentemperatur_wetter"
            }
          ]
        }
      ],
      "title": "Umwelt",
      "type": "timeseries"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "JzL_Sa04z"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 14,
            "gradientMode": "hue",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "insertNulls": false,
            "lineInterpolation": "smooth",
            "lineStyle": {
              "fill": "solid"
            },
            "lineWidth": 2,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "celsius"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "A"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "light-blue",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "B"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "light-red",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 0,
        "y": 9
      },
      "id": 3,
      "options": {
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "tooltip": {
          "mode": "single",
          "sort": "none"
        }
      },
      "targets": [
        {
          "alias": "Rücklauf FBH",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "A",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "rucklauf_fbh"
            }
          ]
        },
        {
          "alias": "Vorlauf FBH",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "B",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "vorlauf_fbh"
            }
          ]
        }
      ],
      "title": "Temperaturen FBH",
      "type": "timeseries"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "JzL_Sa04z"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 14,
            "gradientMode": "hue",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "insertNulls": false,
            "lineInterpolation": "smooth",
            "lineStyle": {
              "fill": "solid"
            },
            "lineWidth": 2,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              },
              {
                "color": "red",
                "value": 80
              }
            ]
          },
          "unit": "celsius"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "A"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "dark-blue",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "B"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "dark-red",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 12,
        "y": 9
      },
      "id": 4,
      "options": {
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "tooltip": {
          "mode": "single",
          "sort": "none"
        }
      },
      "targets": [
        {
          "alias": "Rücklauf HK1",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "A",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "rucklauf_hk1"
            }
          ]
        },
        {
          "alias": "Vorlauf HK1",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "B",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "vorlauf_hk1"
            }
          ]
        }
      ],
      "title": "Temperaturen HK1",
      "type": "timeseries"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "JzL_Sa04z"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds",
            "seriesBy": "last"
          },
          "custom": {
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 14,
            "gradientMode": "scheme",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "insertNulls": false,
            "lineInterpolation": "smooth",
            "lineStyle": {
              "dash": [
                0,
                10
              ],
              "fill": "dot"
            },
            "lineWidth": 2,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "line+area"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "red",
                "value": null
              },
              {
                "color": "yellow",
                "value": 2
              },
              {
                "color": "green",
                "value": 4
              }
            ]
          },
          "unit": "celsius"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 0,
        "y": 18
      },
      "id": 6,
      "interval": "5m",
      "options": {
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "tooltip": {
          "mode": "single",
          "sort": "none"
        }
      },
      "targets": [
        {
          "alias": "VLFBH",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "B",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "vorlauf_fbh"
            }
          ]
        },
        {
          "alias": "RLFBH",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "A",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "rucklauf_fbh"
            }
          ]
        }
      ],
      "title": "RL vs VL FBH",
      "transformations": [
        {
          "id": "calculateField",
          "options": {
            "alias": "Rücklaufsabkühlung FBH",
            "binary": {
              "left": "VLFBH",
              "operator": "-",
              "reducer": "sum",
              "right": "RLFBH"
            },
            "mode": "binary",
            "reduce": {
              "reducer": "sum"
            },
            "replaceFields": true
          }
        }
      ],
      "type": "timeseries"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "JzL_Sa04z"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds",
            "seriesBy": "last"
          },
          "custom": {
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 14,
            "gradientMode": "scheme",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "insertNulls": false,
            "lineInterpolation": "smooth",
            "lineStyle": {
              "dash": [
                0,
                10
              ],
              "fill": "dot"
            },
            "lineWidth": 2,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "line+area"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "red",
                "value": null
              },
              {
                "color": "yellow",
                "value": 2
              },
              {
                "color": "green",
                "value": 4
              }
            ]
          },
          "unit": "celsius"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 9,
        "w": 12,
        "x": 12,
        "y": 18
      },
      "id": 7,
      "interval": "5m",
      "options": {
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "tooltip": {
          "mode": "single",
          "sort": "none"
        }
      },
      "targets": [
        {
          "alias": "VLHK11",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "B",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "vorlauf_hk1"
            }
          ]
        },
        {
          "alias": "RLHK11",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "A",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "rucklauf_hk1"
            }
          ]
        }
      ],
      "title": "RL vs VL HK1",
      "transformations": [
        {
          "id": "calculateField",
          "options": {
            "alias": "Rücklaufsabkühlung HK1",
            "binary": {
              "left": "VLHK11",
              "operator": "-",
              "reducer": "sum",
              "right": "RLHK11"
            },
            "mode": "binary",
            "reduce": {
              "reducer": "sum"
            },
            "replaceFields": true
          }
        }
      ],
      "type": "timeseries"
    }
  ],
  "refresh": "",
  "schemaVersion": 38,
  "style": "dark",
  "tags": [],
  "templating": {
    "list": []
  },
  "time": {
    "from": "now-6h",
    "to": "now"
  },
  "timepicker": {},
  "timezone": "",
  "title": "Heizungsanalyse",
  "uid": "DJm6f304k",
  "version": 15,
  "weekStart": ""
}

Heizungsüberwachung

Grafana Dashboard Heizungsüberwachung mit Home Assistant
{
  "annotations": {
    "list": [
      {
        "builtIn": 1,
        "datasource": {
          "type": "grafana",
          "uid": "-- Grafana --"
        },
        "enable": true,
        "hide": true,
        "iconColor": "rgba(0, 211, 255, 1)",
        "name": "Annotations & Alerts",
        "target": {
          "limit": 100,
          "matchAny": false,
          "tags": [],
          "type": "dashboard"
        },
        "type": "dashboard"
      }
    ]
  },
  "description": "",
  "editable": true,
  "fiscalYearStartMonth": 0,
  "graphTooltip": 0,
  "id": 1,
  "links": [],
  "liveNow": false,
  "panels": [
    {
      "datasource": {
        "type": "influxdb",
        "uid": "JzL_Sa04z"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisLabel": "",
            "axisPlacement": "right",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 0,
            "gradientMode": "opacity",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "insertNulls": false,
            "lineInterpolation": "smooth",
            "lineStyle": {
              "fill": "solid"
            },
            "lineWidth": 1,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "never",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "displayName": "Außentemp.",
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "celsius"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "Vorlauf HK 1"
            },
            "properties": [
              {
                "id": "displayName",
                "value": "Vorlauf HK1"
              },
              {
                "id": "color",
                "value": {
                  "fixedColor": "dark-red",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "Rücklauf HK 1"
            },
            "properties": [
              {
                "id": "displayName",
                "value": "Rücklauf HK1"
              },
              {
                "id": "color",
                "value": {
                  "fixedColor": "dark-blue",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "Rücklauf FBH"
            },
            "properties": [
              {
                "id": "displayName",
                "value": "Rücklauf FBH"
              },
              {
                "id": "color",
                "value": {
                  "fixedColor": "light-blue",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "Vorlauf FBH"
            },
            "properties": [
              {
                "id": "displayName",
                "value": "Vorlauf FBH"
              },
              {
                "id": "color",
                "value": {
                  "fixedColor": "light-red",
                  "mode": "fixed"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "Verbrauch WP"
            },
            "properties": [
              {
                "id": "custom.axisLabel",
                "value": "Verbrauch WP"
              },
              {
                "id": "unit",
                "value": "watt"
              },
              {
                "id": "custom.fillOpacity",
                "value": 36
              },
              {
                "id": "custom.lineWidth",
                "value": 0
              },
              {
                "id": "color",
                "value": {
                  "fixedColor": "dark-purple",
                  "mode": "fixed"
                }
              },
              {
                "id": "custom.axisPlacement",
                "value": "left"
              },
              {
                "id": "custom.axisColorMode",
                "value": "series"
              }
            ]
          },
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "Außentemperatur Grad"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "green",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 28,
        "w": 12,
        "x": 0,
        "y": 0
      },
      "id": 2,
      "options": {
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "tooltip": {
          "mode": "single",
          "sort": "none"
        }
      },
      "pluginVersion": "9.2.4",
      "targets": [
        {
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "Außentemperatur Grad",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "aussentemperatur_wetter"
            }
          ]
        },
        {
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "query": "SELECT mean(\"value\") FROM \"°C\" WHERE (\"entity_id\" = 'vorlauf_hk1') AND $timeFilter GROUP BY time($__interval) fill(null)",
          "rawQuery": false,
          "refId": "Vorlauf HK 1",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "vorlauf_hk1"
            }
          ]
        },
        {
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "Rücklauf HK 1",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "rucklauf_hk1"
            }
          ]
        },
        {
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "query": "SELECT mean(\"value\") FROM \"°C\" WHERE (\"entity_id\" = 'vorlauf_hk1') AND $timeFilter GROUP BY time($__interval) fill(null)",
          "rawQuery": false,
          "refId": "Rücklauf FBH",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "rucklauf_fbh"
            }
          ]
        },
        {
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "W",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "Verbrauch WP",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              },
              {
                "params": [
                  "alias"
                ],
                "type": "alias"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "leistung_warmepumpe"
            }
          ]
        },
        {
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "query": "SELECT mean(\"value\") FROM \"°C\" WHERE (\"entity_id\" = 'vorlauf_hk1') AND $timeFilter GROUP BY time($__interval) fill(null)",
          "rawQuery": false,
          "refId": "Vorlauf FBH",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "vorlauf_fbh"
            }
          ]
        }
      ],
      "timeFrom": "24h",
      "title": "24H Temperaturen & Verbrauch WP",
      "type": "timeseries"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "JzL_Sa04z"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisLabel": "",
            "axisPlacement": "right",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 0,
            "gradientMode": "none",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "insertNulls": false,
            "lineInterpolation": "linear",
            "lineWidth": 1,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": false,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "displayName": "Außentemperatur (avg)",
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "super-light-blue",
                "value": null
              },
              {
                "color": "blue",
                "value": -10
              },
              {
                "color": "dark-blue",
                "value": 0
              },
              {
                "color": "light-yellow",
                "value": 5
              },
              {
                "color": "light-orange",
                "value": 15
              },
              {
                "color": "semi-dark-orange",
                "value": 20
              },
              {
                "color": "dark-orange",
                "value": 30
              },
              {
                "color": "red",
                "value": 35
              }
            ]
          },
          "unit": "celsius"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "Verbrauch WP"
            },
            "properties": [
              {
                "id": "unit",
                "value": "kwatth"
              },
              {
                "id": "custom.lineStyle",
                "value": {
                  "dash": [
                    10,
                    10
                  ],
                  "fill": "dash"
                }
              },
              {
                "id": "custom.drawStyle",
                "value": "bars"
              },
              {
                "id": "custom.gradientMode",
                "value": "opacity"
              },
              {
                "id": "custom.fillOpacity",
                "value": 45
              },
              {
                "id": "thresholds",
                "value": {
                  "mode": "absolute",
                  "steps": [
                    {
                      "color": "green",
                      "value": null
                    },
                    {
                      "color": "#EAB839",
                      "value": 80
                    },
                    {
                      "color": "red",
                      "value": 100
                    }
                  ]
                }
              },
              {
                "id": "custom.thresholdsStyle",
                "value": {
                  "mode": "off"
                }
              },
              {
                "id": "displayName",
                "value": "Verbrauch Wärmpepumpe"
              },
              {
                "id": "custom.axisPlacement",
                "value": "left"
              },
              {
                "id": "color",
                "value": {
                  "fixedColor": "dark-purple",
                  "mode": "fixed"
                }
              },
              {
                "id": "custom.axisColorMode",
                "value": "series"
              }
            ]
          },
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "Vorlauf HK1"
            },
            "properties": [
              {
                "id": "displayName",
                "value": "Vorlauf HK1 (Max)"
              },
              {
                "id": "color",
                "value": {
                  "fixedColor": "dark-red",
                  "mode": "fixed",
                  "seriesBy": "last"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "Außentemperatur"
            },
            "properties": [
              {
                "id": "color",
                "value": {
                  "fixedColor": "green",
                  "mode": "fixed"
                }
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 10,
        "w": 12,
        "x": 12,
        "y": 0
      },
      "id": 4,
      "interval": "1d",
      "options": {
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "tooltip": {
          "mode": "single",
          "sort": "none"
        }
      },
      "targets": [
        {
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "Außentemperatur",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "aussentemperatur_wetter"
            }
          ]
        },
        {
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "Vorlauf HK1",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "max"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "vorlauf_hk1"
            }
          ]
        },
        {
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "measurement": "kWh",
          "orderByTime": "ASC",
          "policy": "default",
          "query": "SELECT difference(mean(\"value\")) FROM \"kWh\" WHERE (\"entity_id\" = 'gesamtverbrauch_warmepumpe') AND $timeFilter GROUP BY time($__interval) fill(null)",
          "rawQuery": false,
          "refId": "Verbrauch WP",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              },
              {
                "params": [],
                "type": "difference"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "gesamtverbrauch_warmepumpe"
            }
          ]
        }
      ],
      "timeFrom": "15d",
      "title": "Verbrauch Wärmpepumpe",
      "type": "timeseries"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "JzL_Sa04z"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisLabel": "",
            "axisPlacement": "auto",
            "fillOpacity": 80,
            "gradientMode": "scheme",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "lineWidth": 1,
            "scaleDistribution": {
              "type": "linear"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "celsius"
        },
        "overrides": [
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "Außentemperatur"
            },
            "properties": [
              {
                "id": "unit",
                "value": "celsius"
              },
              {
                "id": "color",
                "value": {
                  "mode": "thresholds"
                }
              },
              {
                "id": "thresholds",
                "value": {
                  "mode": "absolute",
                  "steps": [
                    {
                      "color": "super-light-blue",
                      "value": null
                    },
                    {
                      "color": "blue",
                      "value": -5
                    },
                    {
                      "color": "dark-blue",
                      "value": 0
                    },
                    {
                      "color": "super-light-yellow",
                      "value": 5
                    },
                    {
                      "color": "yellow",
                      "value": 10
                    },
                    {
                      "color": "dark-yellow",
                      "value": 15
                    },
                    {
                      "color": "orange",
                      "value": 20
                    },
                    {
                      "color": "dark-orange",
                      "value": 25
                    },
                    {
                      "color": "light-red",
                      "value": 30
                    },
                    {
                      "color": "semi-dark-red",
                      "value": 35
                    },
                    {
                      "color": "dark-red",
                      "value": 40
                    }
                  ]
                }
              },
              {
                "id": "displayName",
                "value": "Außentemperatur"
              },
              {
                "id": "custom.scaleDistribution",
                "value": {
                  "type": "linear"
                }
              }
            ]
          },
          {
            "matcher": {
              "id": "byFrameRefID",
              "options": "Verbrauch WP"
            },
            "properties": [
              {
                "id": "displayName",
                "value": "Verbrauch Wärmepumpe"
              },
              {
                "id": "color",
                "value": {
                  "mode": "thresholds"
                }
              },
              {
                "id": "thresholds",
                "value": {
                  "mode": "absolute",
                  "steps": [
                    {
                      "color": "green",
                      "value": null
                    },
                    {
                      "color": "#EAB839",
                      "value": 80
                    },
                    {
                      "color": "red",
                      "value": 100
                    }
                  ]
                }
              },
              {
                "id": "unit",
                "value": "kwatth"
              },
              {
                "id": "custom.scaleDistribution",
                "value": {
                  "log": 2,
                  "type": "log"
                }
              },
              {
                "id": "custom.axisColorMode",
                "value": "text"
              }
            ]
          }
        ]
      },
      "gridPos": {
        "h": 32,
        "w": 12,
        "x": 12,
        "y": 10
      },
      "hideTimeOverride": true,
      "id": 10,
      "interval": "1d",
      "options": {
        "barRadius": 0.05,
        "barWidth": 0.82,
        "fullHighlight": false,
        "groupWidth": 0.7,
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "orientation": "horizontal",
        "showValue": "auto",
        "stacking": "none",
        "tooltip": {
          "mode": "multi",
          "sort": "none"
        },
        "xTickLabelMaxLength": 0,
        "xTickLabelRotation": 0,
        "xTickLabelSpacing": 100
      },
      "targets": [
        {
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "refId": "Außentemperatur",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "aussentemperatur_wetter"
            }
          ]
        },
        {
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "measurement": "kWh",
          "orderByTime": "ASC",
          "policy": "default",
          "query": "SELECT difference(mean(\"value\")) FROM \"kWh\" WHERE (\"entity_id\" = 'gesamtverbrauch_warmepumpe') AND $timeFilter GROUP BY time($__interval) fill(null)",
          "rawQuery": false,
          "refId": "Verbrauch WP",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              },
              {
                "params": [],
                "type": "difference"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "gesamtverbrauch_warmepumpe"
            }
          ]
        }
      ],
      "timeFrom": "20d",
      "timeShift": "15d",
      "title": "Verbrauch Wärmpepumpe",
      "type": "barchart"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "JzL_Sa04z"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "palette-classic"
          },
          "custom": {
            "axisCenteredZero": false,
            "axisColorMode": "text",
            "axisGridShow": true,
            "axisLabel": "",
            "axisPlacement": "auto",
            "barAlignment": 0,
            "drawStyle": "line",
            "fillOpacity": 0,
            "gradientMode": "opacity",
            "hideFrom": {
              "legend": false,
              "tooltip": false,
              "viz": false
            },
            "insertNulls": false,
            "lineInterpolation": "smooth",
            "lineStyle": {
              "fill": "solid"
            },
            "lineWidth": 1,
            "pointSize": 5,
            "scaleDistribution": {
              "type": "linear"
            },
            "showPoints": "auto",
            "spanNulls": true,
            "stacking": {
              "group": "A",
              "mode": "none"
            },
            "thresholdsStyle": {
              "mode": "off"
            }
          },
          "displayName": "HK1 (avg)",
          "mappings": [],
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green",
                "value": null
              }
            ]
          },
          "unit": "celsius"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 6,
        "w": 12,
        "x": 0,
        "y": 28
      },
      "hideTimeOverride": false,
      "id": 5,
      "interval": "3m",
      "maxDataPoints": 100,
      "options": {
        "legend": {
          "calcs": [],
          "displayMode": "list",
          "placement": "bottom",
          "showLegend": true
        },
        "tooltip": {
          "mode": "single",
          "sort": "none"
        }
      },
      "pluginVersion": "9.2.4",
      "targets": [
        {
          "alias": "VLHK12",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "query": "SELECT mean(\"value\") FROM \"°C\" WHERE (\"entity_id\" = 'vorlauf_hk1') AND $timeFilter GROUP BY time($__interval) fill(null)",
          "rawQuery": false,
          "refId": "Vorlauf HK1",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "vorlauf_hk1"
            }
          ]
        },
        {
          "alias": "RLHK12",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "query": "SELECT mean(\"value\") FROM \"°C\" WHERE (\"entity_id\" = 'vorlauf_hk1') AND $timeFilter GROUP BY time($__interval) fill(null)",
          "rawQuery": false,
          "refId": "Rücklauf HK1",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "mean"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "rucklauf_hk1"
            }
          ]
        }
      ],
      "timeFrom": "1d",
      "title": "RL vs Vorlauf",
      "transformations": [
        {
          "id": "calculateField",
          "options": {
            "alias": "Difference Daily",
            "binary": {
              "left": "VLHK12",
              "operator": "-",
              "reducer": "sum",
              "right": "RLHK12"
            },
            "mode": "binary",
            "reduce": {
              "reducer": "sum"
            },
            "replaceFields": true
          }
        }
      ],
      "type": "timeseries"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "JzL_Sa04z"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "displayName": "HK1 (live)",
          "mappings": [],
          "max": 8,
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "dark-red"
              },
              {
                "color": "#EAB839",
                "value": 2
              },
              {
                "color": "dark-green",
                "value": 3
              }
            ]
          },
          "unit": "celsius"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 7,
        "w": 4,
        "x": 0,
        "y": 34
      },
      "id": 8,
      "interval": "5m",
      "maxDataPoints": 100,
      "options": {
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showThresholdLabels": false,
        "showThresholdMarkers": true
      },
      "pluginVersion": "9.2.4",
      "targets": [
        {
          "alias": "VLHK",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "query": "SELECT mean(\"value\") FROM \"°C\" WHERE (\"entity_id\" = 'vorlauf_hk1') AND $timeFilter GROUP BY time($__interval) fill(null)",
          "rawQuery": false,
          "refId": "Vorlauf HK1",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "last"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "vorlauf_hk1"
            }
          ]
        },
        {
          "alias": "RLHK",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "query": "SELECT last(\"value\") FROM \"°C\" WHERE (\"entity_id\" = 'rucklauf_hk1') AND $timeFilter GROUP BY time($__interval) fill(null)",
          "rawQuery": false,
          "refId": "Rücklauf HK1",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "last"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "rucklauf_hk1"
            }
          ]
        }
      ],
      "timeFrom": "24h",
      "title": "RL vs Vorlauf",
      "transformations": [
        {
          "id": "calculateField",
          "options": {
            "alias": "VLHKLast",
            "mode": "reduceRow",
            "reduce": {
              "include": [
                "VLHK"
              ],
              "reducer": "lastNotNull"
            }
          }
        },
        {
          "id": "calculateField",
          "options": {
            "alias": "RLHKLast",
            "mode": "reduceRow",
            "reduce": {
              "include": [
                "RLHK"
              ],
              "reducer": "lastNotNull"
            }
          }
        },
        {
          "id": "calculateField",
          "options": {
            "binary": {
              "left": "VLHKLast",
              "operator": "-",
              "reducer": "sum",
              "right": "RLHK"
            },
            "mode": "binary",
            "reduce": {
              "reducer": "sum"
            },
            "replaceFields": true
          }
        }
      ],
      "type": "gauge"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "JzL_Sa04z"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "displayName": "FBH (live)",
          "mappings": [],
          "max": 8,
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "dark-red"
              },
              {
                "color": "#EAB839",
                "value": 2
              },
              {
                "color": "dark-green",
                "value": 3
              }
            ]
          },
          "unit": "celsius"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 7,
        "w": 4,
        "x": 4,
        "y": 34
      },
      "id": 9,
      "interval": "5m",
      "maxDataPoints": 100,
      "options": {
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showThresholdLabels": false,
        "showThresholdMarkers": true
      },
      "pluginVersion": "9.2.4",
      "targets": [
        {
          "alias": "VLFBH",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "query": "SELECT mean(\"value\") FROM \"°C\" WHERE (\"entity_id\" = 'vorlauf_hk1') AND $timeFilter GROUP BY time($__interval) fill(null)",
          "rawQuery": false,
          "refId": "Vorlauf HK1",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "last"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "vorlauf_fbh"
            }
          ]
        },
        {
          "alias": "RLFBH",
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "°C",
          "orderByTime": "ASC",
          "policy": "default",
          "query": "SELECT last(\"value\") FROM \"°C\" WHERE (\"entity_id\" = 'rucklauf_hk1') AND $timeFilter GROUP BY time($__interval) fill(null)",
          "rawQuery": false,
          "refId": "Rücklauf HK1",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "last"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "rucklauf_fbh"
            }
          ]
        }
      ],
      "timeFrom": "24h",
      "title": "RL vs Vorlauf",
      "transformations": [
        {
          "id": "calculateField",
          "options": {
            "alias": "VLFBHLast",
            "mode": "reduceRow",
            "reduce": {
              "include": [
                "VLFBH"
              ],
              "reducer": "lastNotNull"
            },
            "replaceFields": false
          }
        },
        {
          "id": "calculateField",
          "options": {
            "alias": "RLFBHLast",
            "mode": "reduceRow",
            "reduce": {
              "include": [
                "RLFBH"
              ],
              "reducer": "lastNotNull"
            }
          }
        },
        {
          "id": "calculateField",
          "options": {
            "alias": "DifferenceFBH",
            "binary": {
              "left": "VLFBHLast",
              "operator": "-",
              "reducer": "sum",
              "right": "RLFBHLast"
            },
            "mode": "binary",
            "reduce": {
              "reducer": "sum"
            },
            "replaceFields": true
          }
        }
      ],
      "type": "gauge"
    },
    {
      "datasource": {
        "type": "influxdb",
        "uid": "JzL_Sa04z"
      },
      "description": "",
      "fieldConfig": {
        "defaults": {
          "color": {
            "mode": "thresholds"
          },
          "displayName": "Wärmepumpe (live)",
          "mappings": [],
          "min": -1,
          "thresholds": {
            "mode": "absolute",
            "steps": [
              {
                "color": "green"
              },
              {
                "color": "#EAB839",
                "value": 4000
              },
              {
                "color": "red",
                "value": 7000
              }
            ]
          },
          "unit": "watt"
        },
        "overrides": []
      },
      "gridPos": {
        "h": 7,
        "w": 4,
        "x": 8,
        "y": 34
      },
      "id": 11,
      "interval": "1",
      "options": {
        "orientation": "auto",
        "reduceOptions": {
          "calcs": [
            "lastNotNull"
          ],
          "fields": "",
          "values": false
        },
        "showThresholdLabels": false,
        "showThresholdMarkers": true
      },
      "pluginVersion": "9.2.4",
      "targets": [
        {
          "datasource": {
            "type": "influxdb",
            "uid": "JzL_Sa04z"
          },
          "groupBy": [
            {
              "params": [
                "$__interval"
              ],
              "type": "time"
            },
            {
              "params": [
                "null"
              ],
              "type": "fill"
            }
          ],
          "hide": false,
          "measurement": "W",
          "orderByTime": "ASC",
          "policy": "default",
          "query": "SELECT mean(\"value\") FROM \"°C\" WHERE (\"entity_id\" = 'vorlauf_hk1') AND $timeFilter GROUP BY time($__interval) fill(null)",
          "rawQuery": false,
          "refId": "Vorlauf HK1",
          "resultFormat": "time_series",
          "select": [
            [
              {
                "params": [
                  "value"
                ],
                "type": "field"
              },
              {
                "params": [],
                "type": "last"
              }
            ]
          ],
          "tags": [
            {
              "key": "entity_id",
              "operator": "=",
              "value": "leistung_warmepumpe"
            }
          ]
        }
      ],
      "timeFrom": "24h",
      "title": "Verbrauch",
      "transformations": [],
      "type": "gauge"
    }
  ],
  "refresh": "5m",
  "schemaVersion": 38,
  "style": "dark",
  "tags": [],
  "templating": {
    "list": []
  },
  "time": {
    "from": "now-30d",
    "to": "now"
  },
  "timepicker": {
    "hidden": true,
    "refresh_intervals": [
      "5s",
      "10s",
      "30s",
      "1m",
      "5m",
      "15m",
      "30m",
      "1h",
      "2h",
      "1d"
    ],
    "time_options": [
      "5m",
      "15m",
      "1h",
      "6h",
      "12h",
      "24h",
      "2d",
      "7d",
      "30d"
    ],
    "type": "timepicker"
  },
  "timezone": "browser",
  "title": "Heizungsüberwachung",
  "uid": "d5lnDaAVk",
  "version": 57,
  "weekStart": "monday"
}

Fazit

Nun hast du alle nötigen Informationen, um so richtig mit der Langzeitdatenspeicherung von Home Assistant in InfluxDB zu starten und diese anschließend mit Grafana auszuwerten.

Denn für mich geht es im Smart Home immer um Komfortoptimierung oder Kostenersparnis. Dabei verlasse ich mich nie auf mein Bauchgefühl, sondern treffe Fakten & datenbasierte Entscheidungen, was ohne meine Dashboards nicht möglich wäre.

Wie genau das geht, habe ich ja bereits bis zum Abwinken im Video gezeigt 🙌

Wenn du Fragen oder Anmerkungen hast, zögere nicht, sie mir unten in den Kommentaren mitzuteilen und ich werde mein Bestes tun, um dir zu helfen. Vielen Dank fürs Zuschauen!

HomeKit Geräte Übersicht

smarte News

Erfahre als Erster, wenn wir neue Artikel zu Smart Home oder anderen interessanten Themen veröffentlichen!

Wir senden keinen Spam und verkaufen keine Daten! Erfahre mehr in unserer Datenschutzerklärung.

Transparenz: In diesem Artikel sind Partnerlinks enthalten. Durch einen Klick darauf ge­lan­gt ihr direkt zum Anbieter. Solltet ihr euch dort für einen Kauf entscheiden, erhalte ich ei­ne kleine Provision. Für euch ändert sich am Preis nichts & Partnerlinks haben keinerlei Einfluss auf meine Berichterstattung. Vielen Dank für deine Unterstützung!

Gründer von simon42. Schreibt hier ehrlich und leidenschaftlich über Smart Home und Technik Themen, denn das Zuhause wurde bereits von Sprachassistenten übernommen und die Kontrolle abgegeben 😁

Nennenswerte Antworten

  1. Hallo Simon, was für ein langes Video. Vielen Dank für deine Arbeit. Leider bin ich schon bei Minute 15:10 Uhr hängen geblieben. Mein Grafana sagt mir zwar dass die datasource arbeitet, aber es werden keine “measurements” gefunden. Und ich habe lange gewartet. Was habe ich falsch gemacht? Oder wie kann ich prüfen wo der Fehler liegt.
    Gruß Jens

  2. Bin ich der einzige Depp, der das nicht hin bekommt?

  3. Hi Community, danke für die Aufnahme hier im Forum. Passend zum letzten Post, kann ich sagen, dass es wohl ein wenig dauert bis man das ansatzweise versteht, wie das Zusammenspiel zwischen allen Komponenten hinbekommt. Bei mir funktioniert es nun auch ansatzweise, was ich allerdings nicht hinbekomme, ist die Darstellung der Entitäten meiner Heizungsthermostate. Diese werden zwar angezeigt, aber ich habe es nicht hinbekommen die Entität im Grafana oder der InfluxDB zu finden. Alle aktuellen Temperaturen werden unter climate.thermostat_ angezeigt, aber scheinbar nicht geloggt. Hab zwar einige Beiträge gelesen, aber nicht verstanden warum ich Einträge in der Configuration.yaml machen muss, bzw. welche. Wäre für jeden Ansatz dankbar. Gruß Totti

  4. Hallo - danke für das tolle Video mit dem im HA und influxdb und grafana auf einem Dell Wyse 7050 super zum laufen bekommen habe.

    seit 2 Tagen nun kann ich Grafana nicht mehr nutzen. Er hat wohl im Core vom HA Updates gemacht und auch Grafana hat den Sprung auf 9.0 und 9.0.1 gemacht.

    Lt. Logs ist die influxdb richtig gestartet und auch im Grafana log

    msg=“Update check succeeded” duration=211.883109ms
    [11:35:19] INFO: Starting NGINX…
    logger=plugin.grafana-image-renderer t=2023-07-09T11:35:20.90285968+02:00 level=warn msg=“Plugin process is running with elevated privileges. This is not recommended”

    sollte alles richtig sein.

    Hab das addon schon deinstalliert - neu gestartet - neu installiert.

    All the Same.

    In Add-Ons ist Grafana ausgegraut; wenn ich in Add-Ons auf Starten klicke dreht sich der Kreis zu Tode.

    wenn ich in der Seitenleiste auf Grafana springe sagt er mir, dass Add-On sei nicht gestartet. Wenn ich es dann von dort aus starte sagt er:

    “The add-on is starting, this can take some time…”…

    und dann

    “Add-on läuft nicht. Möchtest du es jetzt starten?”

    Help - i need somebody´s Help…

    Im HA Add-on Store wird ja lediglich das - heute - 9.0.1er angeboten. Bei Grafana selber sind die schon bei 9.1 - 9.5 und 10.X -

  5. Hi, hast du es mittlerweile hinbekommen oder brauchst du noch Hilfe? Ich habe das Tutorial gerade umgesetzt und bei mir hat es einwandfrei funktioniert.
    Hast du die configuration.yaml richtig bearbeitet?

    LG Max

Setze die Diskussion fort unter community.simon42.com

31 mehr antworten

Teilnehmer

Avatar for wobi Avatar for tk176 Avatar for Stoffel_Hessen Avatar for Tester0815 Avatar for Gabba Avatar for WebTeufel Avatar for Marty56 Avatar for Kronos Avatar for Marty Avatar for spiderrolli Avatar for DeepCore Avatar for system Avatar for Astro0468 Avatar for max_xt98 Avatar for NoPlan Avatar for dp20eic Avatar for emden09 Avatar for SmArT1 Avatar for koobrewop Avatar for Ath0n Avatar for sasquuatch