chore: added grafana resources

This commit is contained in:
willem.serruys
2025-12-29 05:18:13 +01:00
parent ef6cfc74bd
commit d60a975389
6 changed files with 1184 additions and 380 deletions

View File

@@ -0,0 +1,166 @@
{
"apiVersion": 1,
"groups": [
{
"orgId": 1,
"name": "Home",
"folder": "Power",
"interval": "10s",
"rules": [
{
"uid": "ef6m5j923ruv4f",
"title": "Alert if peak is too high",
"condition": "C",
"data": [
{
"refId": "A",
"relativeTimeRange": { "from": 600, "to": 0 },
"datasourceUid": "cf6lzj1gt48aoe",
"model": {
"intervalMs": 1000,
"maxDataPoints": 43200,
"query": "from(bucket: \"homeassistant\")\n |\u003e range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |\u003e filter(fn: (r) =\u003e r[\"entity_id\"] == \"thienpont_serruys_load_grid\")\n |\u003e filter(fn: (r) =\u003e r[\"_field\"] == \"value\")\n |\u003e filter(fn: (r) =\u003e r[\"domain\"] == \"sensor\")\n |\u003e filter(fn: (r) =\u003e r[\"_measurement\"] == \"W\")\n |\u003e aggregateWindow(every: 15m, fn: mean, createEmpty: false, offset: 0s)\n |\u003e yield(name: \"peak_load_15min\")\n",
"refId": "A"
}
},
{
"refId": "B",
"relativeTimeRange": { "from": 0, "to": 0 },
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": { "params": [], "type": "gt" },
"operator": { "type": "and" },
"query": { "params": ["B"] },
"reducer": { "params": [], "type": "last" },
"type": "query"
}
],
"datasource": { "type": "__expr__", "uid": "__expr__" },
"expression": "A",
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"relativeTimeRange": { "from": 0, "to": 0 },
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": { "params": [5500], "type": "gt" },
"operator": { "type": "and" },
"query": { "params": ["C"] },
"reducer": { "params": [], "type": "last" },
"type": "query"
}
],
"datasource": { "type": "__expr__", "uid": "__expr__" },
"expression": "B",
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "threshold"
}
}
],
"dashboardUid": "2990096a-3ff9-4217-a629-2152a260b6b6",
"panelId": 3,
"noDataState": "NoData",
"execErrState": "Error",
"keepFiringFor": "1m",
"annotations": {
"__dashboardUid__": "2990096a-3ff9-4217-a629-2152a260b6b6",
"__panelId__": "3",
"description": "Disable some devices to lower the peak.",
"summary": "Peak is too high!"
},
"labels": {},
"isPaused": false,
"notification_settings": { "receiver": "Telegram" }
},
{
"uid": "af8fsdow4mjgga",
"title": "Alert if peak is negative",
"condition": "C",
"data": [
{
"refId": "A",
"relativeTimeRange": { "from": 600, "to": 0 },
"datasourceUid": "cf6lzj1gt48aoe",
"model": {
"intervalMs": 1000,
"maxDataPoints": 43200,
"query": "from(bucket: \"homeassistant\")\n |\u003e range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |\u003e filter(fn: (r) =\u003e r[\"entity_id\"] == \"thienpont_serruys_load_grid\")\n |\u003e filter(fn: (r) =\u003e r[\"_field\"] == \"value\")\n |\u003e filter(fn: (r) =\u003e r[\"domain\"] == \"sensor\")\n |\u003e filter(fn: (r) =\u003e r[\"_measurement\"] == \"W\")\n |\u003e aggregateWindow(every: 15m, fn: mean, createEmpty: false, offset: 0s)\n |\u003e yield(name: \"peak_load_15min\")\n",
"refId": "A"
}
},
{
"refId": "B",
"relativeTimeRange": { "from": 0, "to": 0 },
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": { "params": [], "type": "gt" },
"operator": { "type": "and" },
"query": { "params": ["B"] },
"reducer": { "params": [], "type": "last" },
"type": "query"
}
],
"datasource": { "type": "__expr__", "uid": "__expr__" },
"expression": "A",
"intervalMs": 1000,
"maxDataPoints": 43200,
"reducer": "last",
"refId": "B",
"type": "reduce"
}
},
{
"refId": "C",
"relativeTimeRange": { "from": 0, "to": 0 },
"datasourceUid": "__expr__",
"model": {
"conditions": [
{
"evaluator": { "params": [0], "type": "lt" },
"operator": { "type": "and" },
"query": { "params": ["C"] },
"reducer": { "params": [], "type": "last" },
"type": "query"
}
],
"datasource": { "type": "__expr__", "uid": "__expr__" },
"expression": "B",
"intervalMs": 1000,
"maxDataPoints": 43200,
"refId": "C",
"type": "threshold"
}
}
],
"dashboardUid": "2990096a-3ff9-4217-a629-2152a260b6b6",
"panelId": 3,
"noDataState": "NoData",
"execErrState": "Error",
"keepFiringFor": "1m",
"annotations": {
"__dashboardUid__": "2990096a-3ff9-4217-a629-2152a260b6b6",
"__panelId__": "3",
"description": "Enable some devices",
"summary": "Peak is too high!"
},
"isPaused": false,
"notification_settings": { "receiver": "Telegram" }
}
]
}
]
}