Files
homelab-infra/monitoring/grafana/dashboards/weather-day-report.json
T
Micha d99082a3a7 weather day-report: visuelles Report-Layout statt Markdown-Textblock
Die markdown-html-Tabellenzelle rendert in Grafana 13 als Klartext (eine
ueberlaufende Zeile). Ersetzt durch native Panels:
- farbcodiertes Bewertungs-Banner (stat, background-color per Mapping)
- 8 Kennzahl-Karten mit Mini-Sparkline (T min/max, Regen, UV, Boee,
  Luftfeuchte, Luftdruck, Solar) inkl. Thresholds in Blau/Cyan/Amber/Gruen
- 2 Tagescharts: Temperatur (Aussen/Gefuehlt/Taupunkt) und Solar+UV
Gleiche $__timeFilter-Queries wie das Wetterarchiv-Dashboard.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-20 09:34:56 +02:00

358 lines
16 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"uid": "ha-weather-day-report",
"title": "Wetterbericht KalliHome",
"tags": ["weather", "ecowitt", "homeassistant", "report"],
"timezone": "Europe/Berlin",
"schemaVersion": 39,
"version": 3,
"refresh": "",
"time": { "from": "now-1d/d", "to": "now/d" },
"templating": { "list": [] },
"annotations": { "list": [] },
"links": [
{ "asDropdown": true, "icon": "external link", "includeVars": false, "keepTime": false, "tags": ["weather"], "targetBlank": false, "title": "Wetter-Dashboards", "tooltip": "", "type": "dashboards", "url": "" }
],
"panels": [
{
"id": 2,
"title": "",
"type": "text",
"gridPos": { "h": 3, "w": 24, "x": 0, "y": 0 },
"options": {
"mode": "markdown",
"content": "**Wetterbericht Tag auswählen.** Standard: **gestern** (ganzer Tag, Europe/Berlin). Anderen Tag: Zeitbereich oben rechts → *Absolute time range* → z. B. From `2026-06-15 00:00:00`, To `2026-06-16 00:00:00`. Alle Tage als Liste: **[Wetter-Tagesberichte](/d/ha-weather-report-history)** (Datum anklicken)."
}
},
{
"id": 3,
"title": "Bewertung des Tages",
"type": "stat",
"gridPos": { "h": 4, "w": 24, "x": 0, "y": 3 },
"datasource": { "type": "influxdb", "uid": "ha-weather-influx" },
"fieldConfig": {
"defaults": {
"color": { "mode": "thresholds" },
"thresholds": { "mode": "absolute", "steps": [ { "color": "#868e96", "value": null } ] },
"mappings": [
{ "type": "value", "options": {
"Sonnig & warm": { "color": "#ff922b", "index": 0 },
"Warm": { "color": "#fab005", "index": 1 },
"Regnerisch": { "color": "#4dabf7", "index": 2 },
"Kalt": { "color": "#74c0fc", "index": 3 },
"Unauffaellig": { "color": "#868e96", "index": 4 }
} }
]
},
"overrides": []
},
"options": {
"reduceOptions": { "values": false, "calcs": ["lastNotNull"], "fields": "" },
"orientation": "horizontal",
"colorMode": "background",
"graphMode": "none",
"justifyMode": "center",
"textMode": "value",
"wideLayout": true
},
"targets": [
{
"refId": "A",
"datasource": { "type": "influxdb", "uid": "ha-weather-influx" },
"rawQuery": true,
"format": "table",
"rawSql": "WITH s AS (SELECT max(value) AS smax FROM \"W/m²\" WHERE entity_id = 'gw3000a_solar_radiation' AND $__timeFilter(time)), u AS (SELECT max(value) AS uvmax FROM \"UV index\" WHERE entity_id = 'gw3000a_uv_index' AND $__timeFilter(time)), t AS (SELECT max(value) AS tmax FROM \"°C\" WHERE entity_id = 'gw3000a_outdoor_temperature' AND $__timeFilter(time)), r AS (SELECT max(value) AS rain FROM \"mm\" WHERE entity_id = 'gw3000a_daily_rain' AND $__timeFilter(time)) SELECT CASE WHEN s.smax >= 700 AND u.uvmax >= 6 THEN 'Sonnig & warm' WHEN t.tmax >= 25 THEN 'Warm' WHEN coalesce(r.rain, 0) >= 5 THEN 'Regnerisch' WHEN t.tmax <= 5 THEN 'Kalt' ELSE 'Unauffaellig' END AS \"Bewertung\" FROM s CROSS JOIN u CROSS JOIN t CROSS JOIN r"
}
]
},
{
"id": 10,
"title": "",
"type": "stat",
"gridPos": { "h": 4, "w": 6, "x": 0, "y": 7 },
"datasource": { "type": "influxdb", "uid": "ha-weather-influx" },
"fieldConfig": {
"defaults": {
"unit": "celsius",
"decimals": 1,
"displayName": "Temp min",
"color": { "mode": "fixed", "fixedColor": "#4dabf7" }
},
"overrides": []
},
"options": {
"reduceOptions": { "values": false, "calcs": ["min"], "fields": "" },
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"textMode": "value_and_name",
"wideLayout": true
},
"targets": [
{ "refId": "A", "datasource": { "type": "influxdb", "uid": "ha-weather-influx" }, "rawQuery": true, "format": "time_series", "rawSql": "SELECT time, value FROM \"°C\" WHERE entity_id = 'gw3000a_outdoor_temperature' AND $__timeFilter(time) ORDER BY time" }
]
},
{
"id": 11,
"title": "",
"type": "stat",
"gridPos": { "h": 4, "w": 6, "x": 6, "y": 7 },
"datasource": { "type": "influxdb", "uid": "ha-weather-influx" },
"fieldConfig": {
"defaults": {
"unit": "celsius",
"decimals": 1,
"displayName": "Temp max",
"color": { "mode": "thresholds" },
"thresholds": { "mode": "absolute", "steps": [
{ "color": "#4dabf7", "value": null },
{ "color": "#51cf66", "value": 15 },
{ "color": "#fcc419", "value": 24 },
{ "color": "#ff922b", "value": 29 },
{ "color": "#ff6b6b", "value": 34 }
] }
},
"overrides": []
},
"options": {
"reduceOptions": { "values": false, "calcs": ["max"], "fields": "" },
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"textMode": "value_and_name",
"wideLayout": true
},
"targets": [
{ "refId": "A", "datasource": { "type": "influxdb", "uid": "ha-weather-influx" }, "rawQuery": true, "format": "time_series", "rawSql": "SELECT time, value FROM \"°C\" WHERE entity_id = 'gw3000a_outdoor_temperature' AND $__timeFilter(time) ORDER BY time" }
]
},
{
"id": 12,
"title": "",
"type": "stat",
"gridPos": { "h": 4, "w": 6, "x": 12, "y": 7 },
"datasource": { "type": "influxdb", "uid": "ha-weather-influx" },
"fieldConfig": {
"defaults": {
"unit": "lengthmm",
"decimals": 1,
"displayName": "Regen",
"color": { "mode": "thresholds" },
"thresholds": { "mode": "absolute", "steps": [
{ "color": "#868e96", "value": null },
{ "color": "#4dabf7", "value": 0.2 },
{ "color": "#1c7ed6", "value": 5 },
{ "color": "#1864ab", "value": 15 }
] }
},
"overrides": []
},
"options": {
"reduceOptions": { "values": false, "calcs": ["max"], "fields": "" },
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"textMode": "value_and_name",
"wideLayout": true
},
"targets": [
{ "refId": "A", "datasource": { "type": "influxdb", "uid": "ha-weather-influx" }, "rawQuery": true, "format": "time_series", "rawSql": "SELECT time, value FROM \"mm\" WHERE entity_id = 'gw3000a_daily_rain' AND $__timeFilter(time) ORDER BY time" }
]
},
{
"id": 13,
"title": "",
"type": "stat",
"gridPos": { "h": 4, "w": 6, "x": 18, "y": 7 },
"datasource": { "type": "influxdb", "uid": "ha-weather-influx" },
"fieldConfig": {
"defaults": {
"unit": "short",
"decimals": 1,
"displayName": "UV max",
"color": { "mode": "thresholds" },
"thresholds": { "mode": "absolute", "steps": [
{ "color": "#51cf66", "value": null },
{ "color": "#94d82d", "value": 3 },
{ "color": "#fcc419", "value": 6 },
{ "color": "#ff922b", "value": 8 },
{ "color": "#ff6b6b", "value": 11 }
] }
},
"overrides": []
},
"options": {
"reduceOptions": { "values": false, "calcs": ["max"], "fields": "" },
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"textMode": "value_and_name",
"wideLayout": true
},
"targets": [
{ "refId": "A", "datasource": { "type": "influxdb", "uid": "ha-weather-influx" }, "rawQuery": true, "format": "time_series", "rawSql": "SELECT time, value FROM \"UV index\" WHERE entity_id = 'gw3000a_uv_index' AND $__timeFilter(time) ORDER BY time" }
]
},
{
"id": 14,
"title": "",
"type": "stat",
"gridPos": { "h": 4, "w": 6, "x": 0, "y": 11 },
"datasource": { "type": "influxdb", "uid": "ha-weather-influx" },
"fieldConfig": {
"defaults": {
"unit": "velocitykmh",
"decimals": 1,
"displayName": "Böe max",
"color": { "mode": "thresholds" },
"thresholds": { "mode": "absolute", "steps": [
{ "color": "#15aabf", "value": null },
{ "color": "#22b8cf", "value": 20 },
{ "color": "#fcc419", "value": 40 },
{ "color": "#ff922b", "value": 60 },
{ "color": "#ff6b6b", "value": 80 }
] }
},
"overrides": []
},
"options": {
"reduceOptions": { "values": false, "calcs": ["max"], "fields": "" },
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"textMode": "value_and_name",
"wideLayout": true
},
"targets": [
{ "refId": "A", "datasource": { "type": "influxdb", "uid": "ha-weather-influx" }, "rawQuery": true, "format": "time_series", "rawSql": "SELECT time, value FROM \"km/h\" WHERE entity_id = 'gw3000a_wind_gust' AND $__timeFilter(time) ORDER BY time" }
]
},
{
"id": 15,
"title": "",
"type": "stat",
"gridPos": { "h": 4, "w": 6, "x": 6, "y": 11 },
"datasource": { "type": "influxdb", "uid": "ha-weather-influx" },
"fieldConfig": {
"defaults": {
"unit": "percent",
"decimals": 0,
"displayName": "Luftfeuchte Ø",
"color": { "mode": "fixed", "fixedColor": "#22b8cf" }
},
"overrides": []
},
"options": {
"reduceOptions": { "values": false, "calcs": ["mean"], "fields": "" },
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"textMode": "value_and_name",
"wideLayout": true
},
"targets": [
{ "refId": "A", "datasource": { "type": "influxdb", "uid": "ha-weather-influx" }, "rawQuery": true, "format": "time_series", "rawSql": "SELECT time, value FROM \"%\" WHERE entity_id = 'gw3000a_humidity' AND $__timeFilter(time) ORDER BY time" }
]
},
{
"id": 16,
"title": "",
"type": "stat",
"gridPos": { "h": 4, "w": 6, "x": 12, "y": 11 },
"datasource": { "type": "influxdb", "uid": "ha-weather-influx" },
"fieldConfig": {
"defaults": {
"unit": "pressurehpa",
"decimals": 0,
"displayName": "Luftdruck Ø",
"color": { "mode": "fixed", "fixedColor": "#3bc9db" }
},
"overrides": []
},
"options": {
"reduceOptions": { "values": false, "calcs": ["mean"], "fields": "" },
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"textMode": "value_and_name",
"wideLayout": true
},
"targets": [
{ "refId": "A", "datasource": { "type": "influxdb", "uid": "ha-weather-influx" }, "rawQuery": true, "format": "time_series", "rawSql": "SELECT time, value FROM \"hPa\" WHERE entity_id = 'gw3000a_relative_pressure' AND $__timeFilter(time) ORDER BY time" }
]
},
{
"id": 17,
"title": "",
"type": "stat",
"gridPos": { "h": 4, "w": 6, "x": 18, "y": 11 },
"datasource": { "type": "influxdb", "uid": "ha-weather-influx" },
"fieldConfig": {
"defaults": {
"unit": "wattm2",
"decimals": 0,
"displayName": "Solar max",
"color": { "mode": "thresholds" },
"thresholds": { "mode": "absolute", "steps": [
{ "color": "#868e96", "value": null },
{ "color": "#fcc419", "value": 200 },
{ "color": "#ff922b", "value": 600 },
{ "color": "#ff6b6b", "value": 900 }
] }
},
"overrides": []
},
"options": {
"reduceOptions": { "values": false, "calcs": ["max"], "fields": "" },
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"textMode": "value_and_name",
"wideLayout": true
},
"targets": [
{ "refId": "A", "datasource": { "type": "influxdb", "uid": "ha-weather-influx" }, "rawQuery": true, "format": "time_series", "rawSql": "SELECT time, value FROM \"W/m²\" WHERE entity_id = 'gw3000a_solar_radiation' AND $__timeFilter(time) ORDER BY time" }
]
},
{
"id": 20,
"title": "Temperatur über den Tag",
"type": "timeseries",
"gridPos": { "h": 9, "w": 12, "x": 0, "y": 15 },
"datasource": { "type": "influxdb", "uid": "ha-weather-influx" },
"fieldConfig": {
"defaults": { "unit": "celsius", "custom": { "drawStyle": "line", "fillOpacity": 12, "lineWidth": 2, "showPoints": "never" } },
"overrides": [
{ "matcher": { "id": "byFrameRefID", "options": "A" }, "properties": [ { "id": "displayName", "value": "Außen" }, { "id": "color", "value": { "mode": "fixed", "fixedColor": "#fa5252" } } ] },
{ "matcher": { "id": "byFrameRefID", "options": "B" }, "properties": [ { "id": "displayName", "value": "Gefühlt" }, { "id": "color", "value": { "mode": "fixed", "fixedColor": "#ff922b" } } ] },
{ "matcher": { "id": "byFrameRefID", "options": "C" }, "properties": [ { "id": "displayName", "value": "Taupunkt" }, { "id": "color", "value": { "mode": "fixed", "fixedColor": "#4dabf7" } } ] }
]
},
"options": { "legend": { "displayMode": "list", "placement": "bottom", "calcs": ["min", "max"] }, "tooltip": { "mode": "multi" } },
"targets": [
{ "refId": "A", "datasource": { "type": "influxdb", "uid": "ha-weather-influx" }, "rawQuery": true, "format": "time_series", "rawSql": "SELECT time, value FROM \"°C\" WHERE entity_id = 'gw3000a_outdoor_temperature' AND $__timeFilter(time) ORDER BY time" },
{ "refId": "B", "datasource": { "type": "influxdb", "uid": "ha-weather-influx" }, "rawQuery": true, "format": "time_series", "rawSql": "SELECT time, value FROM \"°C\" WHERE entity_id = 'gw3000a_feels_like_temperature' AND $__timeFilter(time) ORDER BY time" },
{ "refId": "C", "datasource": { "type": "influxdb", "uid": "ha-weather-influx" }, "rawQuery": true, "format": "time_series", "rawSql": "SELECT time, value FROM \"°C\" WHERE entity_id = 'gw3000a_dewpoint' AND $__timeFilter(time) ORDER BY time" }
]
},
{
"id": 21,
"title": "Sonne: Solarstrahlung & UV",
"type": "timeseries",
"gridPos": { "h": 9, "w": 12, "x": 12, "y": 15 },
"datasource": { "type": "influxdb", "uid": "ha-weather-influx" },
"fieldConfig": {
"defaults": { "custom": { "drawStyle": "line", "fillOpacity": 30, "lineWidth": 1, "showPoints": "never", "gradientMode": "opacity" } },
"overrides": [
{ "matcher": { "id": "byFrameRefID", "options": "A" }, "properties": [ { "id": "displayName", "value": "Solar" }, { "id": "unit", "value": "wattm2" }, { "id": "color", "value": { "mode": "fixed", "fixedColor": "#f2b705" } } ] },
{ "matcher": { "id": "byFrameRefID", "options": "B" }, "properties": [ { "id": "displayName", "value": "UV-Index" }, { "id": "unit", "value": "short" }, { "id": "color", "value": { "mode": "fixed", "fixedColor": "#ff6b6b" } }, { "id": "custom.axisPlacement", "value": "right" }, { "id": "custom.fillOpacity", "value": 0 }, { "id": "custom.lineWidth", "value": 2 } ] }
]
},
"options": { "legend": { "displayMode": "list", "placement": "bottom", "calcs": ["max"] }, "tooltip": { "mode": "multi" } },
"targets": [
{ "refId": "A", "datasource": { "type": "influxdb", "uid": "ha-weather-influx" }, "rawQuery": true, "format": "time_series", "rawSql": "SELECT time, value FROM \"W/m²\" WHERE entity_id = 'gw3000a_solar_radiation' AND $__timeFilter(time) ORDER BY time" },
{ "refId": "B", "datasource": { "type": "influxdb", "uid": "ha-weather-influx" }, "rawQuery": true, "format": "time_series", "rawSql": "SELECT time, value FROM \"UV index\" WHERE entity_id = 'gw3000a_uv_index' AND $__timeFilter(time) ORDER BY time" }
]
}
]
}