Compare commits
No commits in common. "main" and "v0.4" have entirely different histories.
253
grafana.json
253
grafana.json
|
@ -1,47 +1,4 @@
|
||||||
{
|
{
|
||||||
"__inputs": [
|
|
||||||
{
|
|
||||||
"name": "DS_PROMETHEUS",
|
|
||||||
"label": "Prometheus",
|
|
||||||
"description": "",
|
|
||||||
"type": "datasource",
|
|
||||||
"pluginId": "prometheus",
|
|
||||||
"pluginName": "Prometheus"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"__elements": {},
|
|
||||||
"__requires": [
|
|
||||||
{
|
|
||||||
"type": "panel",
|
|
||||||
"id": "bargauge",
|
|
||||||
"name": "Bar gauge",
|
|
||||||
"version": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "grafana",
|
|
||||||
"id": "grafana",
|
|
||||||
"name": "Grafana",
|
|
||||||
"version": "9.4.3"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "datasource",
|
|
||||||
"id": "prometheus",
|
|
||||||
"name": "Prometheus",
|
|
||||||
"version": "1.0.0"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "panel",
|
|
||||||
"id": "stat",
|
|
||||||
"name": "Stat",
|
|
||||||
"version": ""
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "panel",
|
|
||||||
"id": "timeseries",
|
|
||||||
"name": "Time series",
|
|
||||||
"version": ""
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"annotations": {
|
"annotations": {
|
||||||
"list": [
|
"list": [
|
||||||
{
|
{
|
||||||
|
@ -71,14 +28,14 @@
|
||||||
"fiscalYearStartMonth": 0,
|
"fiscalYearStartMonth": 0,
|
||||||
"gnetId": 13950,
|
"gnetId": 13950,
|
||||||
"graphTooltip": 0,
|
"graphTooltip": 0,
|
||||||
"id": null,
|
"id": 9,
|
||||||
"links": [],
|
"links": [],
|
||||||
"liveNow": false,
|
"liveNow": false,
|
||||||
"panels": [
|
"panels": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
@ -138,33 +95,29 @@
|
||||||
},
|
},
|
||||||
"textMode": "value"
|
"textMode": "value"
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.4.3",
|
"pluginVersion": "8.5.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "tasmota_active_power_W{job=~\"$job\"}",
|
"expr": "tasmota_power_W{}",
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "power_W",
|
"legendFormat": "power_W",
|
||||||
"range": true,
|
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "tasmota_current_A{job=~\"$job\"}",
|
"expr": "tasmota_current_A{}",
|
||||||
"hide": false,
|
"hide": false,
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "current_A",
|
"legendFormat": "current_A",
|
||||||
"range": true,
|
|
||||||
"refId": "B"
|
"refId": "B"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -175,7 +128,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
@ -234,33 +187,29 @@
|
||||||
},
|
},
|
||||||
"textMode": "value"
|
"textMode": "value"
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.4.3",
|
"pluginVersion": "8.5.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "avg_over_time(tasmota_active_power_W{job=~\"$job\"}[$__range])",
|
"expr": "avg_over_time(tasmota_power_W{}[$__range])",
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "power_W",
|
"legendFormat": "power_W",
|
||||||
"range": true,
|
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "avg_over_time(tasmota_current_A{job=~\"$job\"}[$__range])",
|
"expr": "avg_over_time(tasmota_current_A{}[$__range])",
|
||||||
"hide": false,
|
"hide": false,
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "current_A",
|
"legendFormat": "current_A",
|
||||||
"range": true,
|
|
||||||
"refId": "B"
|
"refId": "B"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -271,7 +220,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
@ -314,19 +263,17 @@
|
||||||
"text": {},
|
"text": {},
|
||||||
"textMode": "auto"
|
"textMode": "auto"
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.4.3",
|
"pluginVersion": "8.5.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "delta(tasmota_energy_kWh_total{job=~\"$job\"}[$__range])",
|
"expr": "delta(tasmota_energy_kWh_total[$__range])",
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "",
|
"legendFormat": "",
|
||||||
"range": true,
|
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -337,7 +284,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
@ -385,19 +332,17 @@
|
||||||
"text": {},
|
"text": {},
|
||||||
"textMode": "auto"
|
"textMode": "auto"
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.4.3",
|
"pluginVersion": "8.5.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "delta(tasmota_energy_kWh_total{job=~\"$job\"}[$__range]) * .276",
|
"expr": "delta(tasmota_energy_kWh_total[$__range]) * .098",
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "",
|
"legendFormat": "",
|
||||||
"range": true,
|
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -408,7 +353,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
@ -451,20 +396,18 @@
|
||||||
"text": {},
|
"text": {},
|
||||||
"textMode": "auto"
|
"textMode": "auto"
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.4.3",
|
"pluginVersion": "8.5.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "delta(tasmota_energy_kWh_total{job=~\"$job\"}[$__range])",
|
"expr": "delta(tasmota_energy_kWh_total[$__range])",
|
||||||
"format": "time_series",
|
"format": "time_series",
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "",
|
"legendFormat": "",
|
||||||
"range": true,
|
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -475,7 +418,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
@ -534,19 +477,17 @@
|
||||||
"text": {},
|
"text": {},
|
||||||
"textMode": "value"
|
"textMode": "value"
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.4.3",
|
"pluginVersion": "8.5.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "delta(tasmota_energy_kWh_total{job=~\"$job\"}[$__range])*.276",
|
"expr": "delta(tasmota_energy_kWh_total[$__range])*.098",
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "",
|
"legendFormat": "",
|
||||||
"range": true,
|
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -558,7 +499,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
@ -601,20 +542,18 @@
|
||||||
"text": {},
|
"text": {},
|
||||||
"textMode": "auto"
|
"textMode": "auto"
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.4.3",
|
"pluginVersion": "8.5.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "delta(tasmota_energy_kWh_total{job=~\"$job\"}[$__range])",
|
"expr": "delta(tasmota_energy_kWh_total[$__range])",
|
||||||
"format": "time_series",
|
"format": "time_series",
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "",
|
"legendFormat": "",
|
||||||
"range": true,
|
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -625,7 +564,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
@ -684,19 +623,17 @@
|
||||||
"text": {},
|
"text": {},
|
||||||
"textMode": "value"
|
"textMode": "value"
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.4.3",
|
"pluginVersion": "8.5.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "delta(tasmota_energy_kWh_total{job=~\"$job\"}[$__range])*.276",
|
"expr": "delta(tasmota_energy_kWh_total[$__range])*.098",
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "",
|
"legendFormat": "",
|
||||||
"range": true,
|
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -708,7 +645,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
@ -767,33 +704,29 @@
|
||||||
},
|
},
|
||||||
"textMode": "value"
|
"textMode": "value"
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.4.3",
|
"pluginVersion": "8.5.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "max_over_time(tasmota_active_power_W{job=~\"$job\"}[$__range])",
|
"expr": "max_over_time(tasmota_power_W{}[$__range])",
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "power_W",
|
"legendFormat": "power_W",
|
||||||
"range": true,
|
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "max_over_time(tasmota_current_A{job=~\"$job\"}[$__range])",
|
"expr": "max_over_time(tasmota_current_A{}[$__range])",
|
||||||
"hide": false,
|
"hide": false,
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "current_A",
|
"legendFormat": "current_A",
|
||||||
"range": true,
|
|
||||||
"refId": "B"
|
"refId": "B"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -804,7 +737,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
@ -851,19 +784,17 @@
|
||||||
},
|
},
|
||||||
"textMode": "auto"
|
"textMode": "auto"
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.4.3",
|
"pluginVersion": "8.5.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "max_over_time(tasmota_voltage_V{job=~\"$job\"}[$__range])",
|
"expr": "max_over_time(tasmota_voltage_V{}[$__range])",
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "",
|
"legendFormat": "",
|
||||||
"range": true,
|
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -874,7 +805,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
@ -920,19 +851,17 @@
|
||||||
},
|
},
|
||||||
"textMode": "auto"
|
"textMode": "auto"
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.4.3",
|
"pluginVersion": "8.5.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "max_over_time(tasmota_energy_today_kWh_total{job=~\"$job\"}[$__range])",
|
"expr": "max_over_time(tasmota_energy_today_kWh_total{}[$__range])",
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "",
|
"legendFormat": "",
|
||||||
"range": true,
|
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -943,7 +872,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
|
@ -952,8 +881,6 @@
|
||||||
"mode": "palette-classic"
|
"mode": "palette-classic"
|
||||||
},
|
},
|
||||||
"custom": {
|
"custom": {
|
||||||
"axisCenteredZero": false,
|
|
||||||
"axisColorMode": "text",
|
|
||||||
"axisLabel": "",
|
"axisLabel": "",
|
||||||
"axisPlacement": "auto",
|
"axisPlacement": "auto",
|
||||||
"barAlignment": 0,
|
"barAlignment": 0,
|
||||||
|
@ -1025,8 +952,7 @@
|
||||||
"legend": {
|
"legend": {
|
||||||
"calcs": [],
|
"calcs": [],
|
||||||
"displayMode": "list",
|
"displayMode": "list",
|
||||||
"placement": "bottom",
|
"placement": "bottom"
|
||||||
"showLegend": true
|
|
||||||
},
|
},
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"mode": "single",
|
"mode": "single",
|
||||||
|
@ -1038,15 +964,13 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "tasmota_active_power_W{job=~\"$job\"}",
|
"expr": "tasmota_power_W{}",
|
||||||
"format": "time_series",
|
"format": "time_series",
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": "{{ device }}",
|
"legendFormat": "{{ device }}",
|
||||||
"range": true,
|
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -1058,7 +982,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
@ -1109,16 +1033,15 @@
|
||||||
"showUnfilled": true,
|
"showUnfilled": true,
|
||||||
"text": {}
|
"text": {}
|
||||||
},
|
},
|
||||||
"pluginVersion": "9.4.3",
|
"pluginVersion": "8.5.0",
|
||||||
"targets": [
|
"targets": [
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "delta(tasmota_energy_kWh_total{job=~\"$job\"}[$__range])",
|
"expr": "delta(tasmota_energy_kWh_total[$__range])",
|
||||||
"format": "table",
|
"format": "table",
|
||||||
"instant": false,
|
"instant": false,
|
||||||
"interval": "",
|
"interval": "",
|
||||||
|
@ -1134,7 +1057,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"description": "",
|
"description": "",
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
|
@ -1143,8 +1066,6 @@
|
||||||
"mode": "palette-classic"
|
"mode": "palette-classic"
|
||||||
},
|
},
|
||||||
"custom": {
|
"custom": {
|
||||||
"axisCenteredZero": false,
|
|
||||||
"axisColorMode": "text",
|
|
||||||
"axisLabel": "",
|
"axisLabel": "",
|
||||||
"axisPlacement": "auto",
|
"axisPlacement": "auto",
|
||||||
"barAlignment": 0,
|
"barAlignment": 0,
|
||||||
|
@ -1217,8 +1138,7 @@
|
||||||
"legend": {
|
"legend": {
|
||||||
"calcs": [],
|
"calcs": [],
|
||||||
"displayMode": "list",
|
"displayMode": "list",
|
||||||
"placement": "bottom",
|
"placement": "bottom"
|
||||||
"showLegend": true
|
|
||||||
},
|
},
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"mode": "single",
|
"mode": "single",
|
||||||
|
@ -1230,7 +1150,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "tasmota_energy_today_kWh_total{}",
|
"expr": "tasmota_energy_today_kWh_total{}",
|
||||||
|
@ -1248,7 +1168,7 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"fieldConfig": {
|
"fieldConfig": {
|
||||||
"defaults": {
|
"defaults": {
|
||||||
|
@ -1256,8 +1176,6 @@
|
||||||
"mode": "palette-classic"
|
"mode": "palette-classic"
|
||||||
},
|
},
|
||||||
"custom": {
|
"custom": {
|
||||||
"axisCenteredZero": false,
|
|
||||||
"axisColorMode": "text",
|
|
||||||
"axisLabel": "",
|
"axisLabel": "",
|
||||||
"axisPlacement": "auto",
|
"axisPlacement": "auto",
|
||||||
"barAlignment": 0,
|
"barAlignment": 0,
|
||||||
|
@ -1316,8 +1234,7 @@
|
||||||
"legend": {
|
"legend": {
|
||||||
"calcs": [],
|
"calcs": [],
|
||||||
"displayMode": "list",
|
"displayMode": "list",
|
||||||
"placement": "bottom",
|
"placement": "bottom"
|
||||||
"showLegend": true
|
|
||||||
},
|
},
|
||||||
"tooltip": {
|
"tooltip": {
|
||||||
"mode": "single",
|
"mode": "single",
|
||||||
|
@ -1329,14 +1246,12 @@
|
||||||
{
|
{
|
||||||
"datasource": {
|
"datasource": {
|
||||||
"type": "prometheus",
|
"type": "prometheus",
|
||||||
"uid": "${DS_PROMETHEUS}"
|
"uid": "XOGiKiT7k"
|
||||||
},
|
},
|
||||||
"editorMode": "code",
|
|
||||||
"exemplar": true,
|
"exemplar": true,
|
||||||
"expr": "rate(tasmota_active_power_W{job=~\"$job\"}[1h])",
|
"expr": "rate(tasmota_power_W[1h])",
|
||||||
"interval": "",
|
"interval": "",
|
||||||
"legendFormat": " Rate of Power",
|
"legendFormat": " Rate of Power",
|
||||||
"range": true,
|
|
||||||
"refId": "A"
|
"refId": "A"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
@ -1345,38 +1260,12 @@
|
||||||
"type": "timeseries"
|
"type": "timeseries"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"refresh": "5s",
|
"refresh": "10s",
|
||||||
"revision": 1,
|
"schemaVersion": 36,
|
||||||
"schemaVersion": 38,
|
|
||||||
"style": "dark",
|
"style": "dark",
|
||||||
"tags": [],
|
"tags": [],
|
||||||
"templating": {
|
"templating": {
|
||||||
"list": [
|
"list": []
|
||||||
{
|
|
||||||
"current": {},
|
|
||||||
"datasource": {
|
|
||||||
"type": "prometheus",
|
|
||||||
"uid": "${DS_PROMETHEUS}"
|
|
||||||
},
|
|
||||||
"definition": "label_values(job)",
|
|
||||||
"description": "variable to filter plugs by job",
|
|
||||||
"hide": 0,
|
|
||||||
"includeAll": true,
|
|
||||||
"label": "Job",
|
|
||||||
"multi": false,
|
|
||||||
"name": "job",
|
|
||||||
"options": [],
|
|
||||||
"query": {
|
|
||||||
"query": "label_values(job)",
|
|
||||||
"refId": "StandardVariableQuery"
|
|
||||||
},
|
|
||||||
"refresh": 1,
|
|
||||||
"regex": "/^tasmota-/",
|
|
||||||
"skipUrlSync": false,
|
|
||||||
"sort": 0,
|
|
||||||
"type": "query"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
"time": {
|
"time": {
|
||||||
"from": "now-30d",
|
"from": "now-30d",
|
||||||
|
@ -1401,6 +1290,6 @@
|
||||||
"timezone": "",
|
"timezone": "",
|
||||||
"title": "Tasmota Plug Usage",
|
"title": "Tasmota Plug Usage",
|
||||||
"uid": "_nyxoAfMk3",
|
"uid": "_nyxoAfMk3",
|
||||||
"version": 10,
|
"version": 33,
|
||||||
"weekStart": ""
|
"weekStart": ""
|
||||||
}
|
}
|
14
metrics.py
14
metrics.py
|
@ -5,15 +5,14 @@ from os import getenv
|
||||||
from time import sleep
|
from time import sleep
|
||||||
from prometheus_client.core import GaugeMetricFamily, REGISTRY, CounterMetricFamily
|
from prometheus_client.core import GaugeMetricFamily, REGISTRY, CounterMetricFamily
|
||||||
from prometheus_client import start_http_server
|
from prometheus_client import start_http_server
|
||||||
from loguru import logger
|
|
||||||
|
|
||||||
|
|
||||||
class TasmotaCollector(object):
|
class TasmotaCollector(object):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.ip = getenv('DEVICE_IP')
|
self.ip = getenv('DEVICE_IP')
|
||||||
logger.info("Env variable from DEVICE_NAME used is: " + self.ip)
|
|
||||||
self.device_name = getenv("DEVICE_NAME").lower()
|
self.device_name = getenv("DEVICE_NAME").lower()
|
||||||
logger.info("Env variable from DEVICE_NAME used is: " + self.device_name)
|
if not self.ip:
|
||||||
|
self.ip = "192.168.4.1"
|
||||||
self.user = getenv('USER')
|
self.user = getenv('USER')
|
||||||
self.password = getenv('PASSWORD')
|
self.password = getenv('PASSWORD')
|
||||||
|
|
||||||
|
@ -22,7 +21,7 @@ class TasmotaCollector(object):
|
||||||
response = self.fetch()
|
response = self.fetch()
|
||||||
|
|
||||||
for key in response:
|
for key in response:
|
||||||
metric_name = "tasmota_" + key.lower().replace(" ", "_")
|
metric_name = self.device_name + "_" + key.lower().replace(" ", "_")
|
||||||
metric = response[key].split()[0]
|
metric = response[key].split()[0]
|
||||||
unit = None
|
unit = None
|
||||||
if len(response[key].split()) > 1:
|
if len(response[key].split()) > 1:
|
||||||
|
@ -38,7 +37,7 @@ class TasmotaCollector(object):
|
||||||
def fetch(self):
|
def fetch(self):
|
||||||
|
|
||||||
url = 'http://' + self.ip + '/?m=1'
|
url = 'http://' + self.ip + '/?m=1'
|
||||||
logger.info("Getting Metrics from: " + url)
|
|
||||||
session = requests.Session()
|
session = requests.Session()
|
||||||
|
|
||||||
if self.user and self.password:
|
if self.user and self.password:
|
||||||
|
@ -71,9 +70,12 @@ signal.signal(signal.SIGINT, signal_handler)
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|
||||||
port = getenv('EXPORTER_PORT')
|
port = getenv('EXPORTER_PORT')
|
||||||
logger.info("Starting HTTP server on port: " + port)
|
if not port:
|
||||||
|
port = 8000
|
||||||
|
|
||||||
start_http_server(int(port))
|
start_http_server(int(port))
|
||||||
REGISTRY.register(TasmotaCollector())
|
REGISTRY.register(TasmotaCollector())
|
||||||
|
|
||||||
while(True):
|
while(True):
|
||||||
sleep(1)
|
sleep(1)
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,2 @@
|
||||||
prometheus_client
|
prometheus_client
|
||||||
requests
|
requests
|
||||||
loguru
|
|
Loading…
Reference in New Issue