167 lines
6.4 KiB
JSON
167 lines
6.4 KiB
JSON
{
|
|
"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!"
|
|
},
|
|
"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!"
|
|
},
|
|
"labels": {},
|
|
"isPaused": false,
|
|
"notification_settings": { "receiver": "Telegram" }
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|