523 lines
18 KiB
YAML
523 lines
18 KiB
YAML
apiVersion: v1
|
|
kind: ConfigMap
|
|
metadata:
|
|
name: grafana-dashboard-shelly-ws90
|
|
namespace: monitoring
|
|
labels:
|
|
grafana_dashboard: "1"
|
|
annotations:
|
|
grafana_dashboard_folder: "Grabengasse7"
|
|
data:
|
|
shelly-ws90.json: |
|
|
{
|
|
"uid": "shelly-ws90",
|
|
"title": "🌦️ Shelly WS90 Weather Console",
|
|
"tags": ["home", "weather", "outdoor", "prometheus"],
|
|
"timezone": "browser",
|
|
"schemaVersion": 39,
|
|
"version": 3,
|
|
"refresh": "30s",
|
|
"editable": false,
|
|
"graphTooltip": 2,
|
|
"time": { "from": "now-24h", "to": "now" },
|
|
"panels": [
|
|
{
|
|
"id": 1,
|
|
"type": "stat",
|
|
"title": "📶 Signal Strength",
|
|
"gridPos": { "x": 0, "y": 0, "w": 4, "h": 3 },
|
|
"datasource": { "type": "prometheus", "uid": "prometheus" },
|
|
"targets": [
|
|
{
|
|
"expr": "homeassistant_sensor_unit_lqi{entity=\"sensor.shelly_ws90_linkquality\"}",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "none",
|
|
"min": 0,
|
|
"max": 255,
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{ "color": "red", "value": null },
|
|
{ "color": "orange", "value": 50 },
|
|
{ "color": "yellow", "value": 100 },
|
|
{ "color": "green", "value": 150 }
|
|
]
|
|
},
|
|
"color": { "mode": "thresholds" }
|
|
}
|
|
},
|
|
"options": {
|
|
"graphMode": "none",
|
|
"colorMode": "value",
|
|
"textMode": "auto",
|
|
"reduceOptions": { "values": false, "calcs": ["lastNotNull"] }
|
|
}
|
|
},
|
|
{
|
|
"id": 2,
|
|
"type": "stat",
|
|
"title": "🔋 Battery Level",
|
|
"gridPos": { "x": 4, "y": 0, "w": 4, "h": 3 },
|
|
"datasource": { "type": "prometheus", "uid": "prometheus" },
|
|
"targets": [
|
|
{
|
|
"expr": "homeassistant_sensor_battery_percent{entity=\"sensor.shelly_ws90_batterie\"}",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "percent",
|
|
"min": 0,
|
|
"max": 100,
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{ "color": "red", "value": null },
|
|
{ "color": "orange", "value": 20 },
|
|
{ "color": "green", "value": 50 }
|
|
]
|
|
},
|
|
"color": { "mode": "thresholds" }
|
|
}
|
|
},
|
|
"options": {
|
|
"graphMode": "none",
|
|
"colorMode": "value",
|
|
"textMode": "auto",
|
|
"reduceOptions": { "values": false, "calcs": ["lastNotNull"] }
|
|
}
|
|
},
|
|
{
|
|
"id": 3,
|
|
"type": "stat",
|
|
"title": "🧭 Current Pressure",
|
|
"gridPos": { "x": 8, "y": 0, "w": 8, "h": 3 },
|
|
"datasource": { "type": "prometheus", "uid": "prometheus" },
|
|
"targets": [
|
|
{
|
|
"expr": "homeassistant_sensor_atmospheric_pressure_hpa{entity=\"sensor.shelly_ws90_atmospharischer_druck\"}",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "pressurehpa",
|
|
"decimals": 1,
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{ "color": "blue", "value": null },
|
|
{ "color": "green", "value": 1000 },
|
|
{ "color": "orange", "value": 1020 }
|
|
]
|
|
},
|
|
"color": { "mode": "value" }
|
|
}
|
|
},
|
|
"options": {
|
|
"graphMode": "none",
|
|
"colorMode": "value",
|
|
"textMode": "auto",
|
|
"reduceOptions": { "values": false, "calcs": ["lastNotNull"] }
|
|
}
|
|
},
|
|
{
|
|
"id": 4,
|
|
"type": "stat",
|
|
"title": "🌧️ Rain Status",
|
|
"gridPos": { "x": 16, "y": 0, "w": 8, "h": 3 },
|
|
"datasource": { "type": "prometheus", "uid": "prometheus" },
|
|
"targets": [
|
|
{
|
|
"expr": "homeassistant_binary_sensor_state{entity=\"binary_sensor.shelly_ws90_rain_status\"}",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"mappings": [
|
|
{
|
|
"type": "value",
|
|
"options": {
|
|
"0": { "text": "Dry", "color": "green" },
|
|
"1": { "text": "Wet", "color": "blue" }
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"options": {
|
|
"graphMode": "none",
|
|
"colorMode": "background",
|
|
"textMode": "value",
|
|
"reduceOptions": { "values": false, "calcs": ["lastNotNull"] }
|
|
}
|
|
},
|
|
{
|
|
"id": 5,
|
|
"type": "timeseries",
|
|
"title": "🌡️ Thermal Comfort & Humidity History (24h)",
|
|
"gridPos": { "x": 0, "y": 3, "w": 24, "h": 8 },
|
|
"datasource": { "type": "prometheus", "uid": "prometheus" },
|
|
"targets": [
|
|
{
|
|
"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.shelly_ws90_temperatur\"}",
|
|
"legendFormat": "Temperature",
|
|
"refId": "A"
|
|
},
|
|
{
|
|
"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.shelly_ws90_apparent_temperature\"}",
|
|
"legendFormat": "Apparent Temperature",
|
|
"refId": "B"
|
|
},
|
|
{
|
|
"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.shelly_ws90_wind_chill\"}",
|
|
"legendFormat": "Wind Chill",
|
|
"refId": "C"
|
|
},
|
|
{
|
|
"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.shelly_ws90_dew_point\"}",
|
|
"legendFormat": "Dew Point",
|
|
"refId": "D"
|
|
},
|
|
{
|
|
"expr": "homeassistant_sensor_temperature_celsius{entity=\"sensor.shelly_ws90_humidex\"}",
|
|
"legendFormat": "Humidex",
|
|
"refId": "E"
|
|
},
|
|
{
|
|
"expr": "homeassistant_sensor_humidity_percent{entity=\"sensor.shelly_ws90_luftfeuchtigkeit\"}",
|
|
"legendFormat": "Relative Humidity",
|
|
"refId": "F"
|
|
},
|
|
{
|
|
"expr": "homeassistant_sensor_unit_percent{entity=\"sensor.shelly_ws90_heat_stress\"}",
|
|
"legendFormat": "Heat Stress",
|
|
"refId": "G"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {
|
|
"lineWidth": 2,
|
|
"fillOpacity": 4,
|
|
"spanNulls": true,
|
|
"showPoints": "never"
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": { "id": "byName", "options": "Temperature" },
|
|
"properties": [
|
|
{ "id": "unit", "value": "celsius" },
|
|
{ "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" } }
|
|
]
|
|
},
|
|
{
|
|
"matcher": { "id": "byName", "options": "Apparent Temperature" },
|
|
"properties": [
|
|
{ "id": "unit", "value": "celsius" },
|
|
{ "id": "color", "value": { "fixedColor": "red", "mode": "fixed" } }
|
|
]
|
|
},
|
|
{
|
|
"matcher": { "id": "byName", "options": "Wind Chill" },
|
|
"properties": [
|
|
{ "id": "unit", "value": "celsius" },
|
|
{ "id": "color", "value": { "fixedColor": "light-blue", "mode": "fixed" } }
|
|
]
|
|
},
|
|
{
|
|
"matcher": { "id": "byName", "options": "Dew Point" },
|
|
"properties": [
|
|
{ "id": "unit", "value": "celsius" },
|
|
{ "id": "color", "value": { "fixedColor": "cyan", "mode": "fixed" } }
|
|
]
|
|
},
|
|
{
|
|
"matcher": { "id": "byName", "options": "Humidex" },
|
|
"properties": [
|
|
{ "id": "unit", "value": "celsius" },
|
|
{ "id": "color", "value": { "fixedColor": "purple", "mode": "fixed" } }
|
|
]
|
|
},
|
|
{
|
|
"matcher": { "id": "byName", "options": "Relative Humidity" },
|
|
"properties": [
|
|
{ "id": "unit", "value": "percent" },
|
|
{ "id": "color", "value": { "fixedColor": "blue", "mode": "fixed" } },
|
|
{ "id": "custom.axisPlacement", "value": "right" }
|
|
]
|
|
},
|
|
{
|
|
"matcher": { "id": "byName", "options": "Heat Stress" },
|
|
"properties": [
|
|
{ "id": "unit", "value": "percent" },
|
|
{ "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } },
|
|
{ "id": "custom.axisPlacement", "value": "right" }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "table",
|
|
"placement": "bottom",
|
|
"calcs": ["lastNotNull", "min", "max", "mean"]
|
|
},
|
|
"tooltip": { "mode": "multi", "sort": "desc" }
|
|
}
|
|
},
|
|
{
|
|
"id": 8,
|
|
"type": "gauge",
|
|
"title": "🧭 Wind Direction (Current)",
|
|
"gridPos": { "x": 0, "y": 11, "w": 6, "h": 8 },
|
|
"datasource": { "type": "prometheus", "uid": "prometheus" },
|
|
"targets": [
|
|
{
|
|
"expr": "homeassistant_sensor_unit_u0xb0{entity=\"sensor.shelly_ws90_wind_direction\"} or on() vector(0)",
|
|
"refId": "A"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "deg",
|
|
"min": 0,
|
|
"max": 360,
|
|
"thresholds": {
|
|
"mode": "absolute",
|
|
"steps": [
|
|
{ "color": "blue", "value": null }
|
|
]
|
|
},
|
|
"color": { "mode": "fixed" }
|
|
}
|
|
},
|
|
"options": {
|
|
"reduceOptions": { "values": false, "calcs": ["lastNotNull"] },
|
|
"orientation": "auto",
|
|
"showThresholdLabels": true,
|
|
"showThresholdMarkers": true
|
|
}
|
|
},
|
|
{
|
|
"id": 7,
|
|
"type": "timeseries",
|
|
"title": "💨 Wind & Gust Speed History (24h)",
|
|
"gridPos": { "x": 6, "y": 11, "w": 18, "h": 8 },
|
|
"datasource": { "type": "prometheus", "uid": "prometheus" },
|
|
"targets": [
|
|
{
|
|
"expr": "homeassistant_sensor_wind_speed_km_per_h{entity=\"sensor.shelly_ws90_wind_speed\"} or on() vector(0)",
|
|
"legendFormat": "Wind Speed",
|
|
"refId": "A"
|
|
},
|
|
{
|
|
"expr": "homeassistant_sensor_wind_speed_km_per_h{entity=\"sensor.shelly_ws90_gust_speed\"} or on() vector(0)",
|
|
"legendFormat": "Gust Speed",
|
|
"refId": "B"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "velocitykmh",
|
|
"custom": {
|
|
"lineWidth": 2,
|
|
"fillOpacity": 6,
|
|
"spanNulls": true,
|
|
"showPoints": "never"
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": { "id": "byName", "options": "Wind Speed" },
|
|
"properties": [
|
|
{ "id": "color", "value": { "fixedColor": "green", "mode": "fixed" } }
|
|
]
|
|
},
|
|
{
|
|
"matcher": { "id": "byName", "options": "Gust Speed" },
|
|
"properties": [
|
|
{ "id": "color", "value": { "fixedColor": "yellow", "mode": "fixed" } }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "table",
|
|
"placement": "bottom",
|
|
"calcs": ["lastNotNull", "max"]
|
|
},
|
|
"tooltip": { "mode": "multi", "sort": "desc" }
|
|
}
|
|
},
|
|
{
|
|
"id": 10,
|
|
"type": "timeseries",
|
|
"title": "🔆 Solar Illuminance & UV Index History (24h)",
|
|
"gridPos": { "x": 0, "y": 19, "w": 24, "h": 8 },
|
|
"datasource": { "type": "prometheus", "uid": "prometheus" },
|
|
"targets": [
|
|
{
|
|
"expr": "homeassistant_sensor_illuminance_lx{entity=\"sensor.shelly_ws90_illuminance\"}",
|
|
"legendFormat": "Solar Illuminance",
|
|
"refId": "A"
|
|
},
|
|
{
|
|
"expr": "homeassistant_sensor_state{entity=\"sensor.shelly_ws90_uv_index\"} or on() vector(0)",
|
|
"legendFormat": "UV Index",
|
|
"refId": "B"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {
|
|
"lineWidth": 2,
|
|
"fillOpacity": 5,
|
|
"spanNulls": true,
|
|
"showPoints": "never"
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": { "id": "byName", "options": "Solar Illuminance" },
|
|
"properties": [
|
|
{ "id": "unit", "value": "lux" },
|
|
{ "id": "color", "value": { "fixedColor": "orange", "mode": "fixed" } }
|
|
]
|
|
},
|
|
{
|
|
"matcher": { "id": "byName", "options": "UV Index" },
|
|
"properties": [
|
|
{ "id": "unit", "value": "none" },
|
|
{ "id": "decimals", "value": 0 },
|
|
{ "id": "color", "value": { "fixedColor": "purple", "mode": "fixed" } },
|
|
{ "id": "custom.axisPlacement", "value": "right" }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "table",
|
|
"placement": "bottom",
|
|
"calcs": ["lastNotNull", "max"]
|
|
},
|
|
"tooltip": { "mode": "multi", "sort": "desc" }
|
|
}
|
|
},
|
|
{
|
|
"id": 9,
|
|
"type": "timeseries",
|
|
"title": "🌧️ Precipitation History (Hourly Bars)",
|
|
"gridPos": { "x": 0, "y": 27, "w": 12, "h": 8 },
|
|
"datasource": { "type": "prometheus", "uid": "prometheus" },
|
|
"targets": [
|
|
{
|
|
"expr": "homeassistant_sensor_precipitation_intensity_mm_per_h{entity=\"sensor.shelly_ws90_rain_rate\"} or on() vector(0)",
|
|
"legendFormat": "Rain Intensity",
|
|
"refId": "A"
|
|
},
|
|
{
|
|
"expr": "homeassistant_sensor_precipitation_mm{entity=\"sensor.shelly_ws90_precipitation\"} or on() vector(0)",
|
|
"legendFormat": "Daily Rain",
|
|
"refId": "B"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"unit": "lengthmm",
|
|
"custom": {
|
|
"drawStyle": "bars",
|
|
"fillOpacity": 60,
|
|
"spanNulls": true
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": { "id": "byName", "options": "Rain Intensity" },
|
|
"properties": [
|
|
{ "id": "color", "value": { "fixedColor": "blue", "mode": "fixed" } }
|
|
]
|
|
},
|
|
{
|
|
"matcher": { "id": "byName", "options": "Daily Rain" },
|
|
"properties": [
|
|
{ "id": "color", "value": { "fixedColor": "dark-blue", "mode": "fixed" } }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "table",
|
|
"placement": "bottom",
|
|
"calcs": ["lastNotNull", "max"]
|
|
},
|
|
"tooltip": { "mode": "multi", "sort": "desc" }
|
|
}
|
|
},
|
|
{
|
|
"id": 12,
|
|
"type": "timeseries",
|
|
"title": "🧭 Barometric Pressure History (24h)",
|
|
"gridPos": { "x": 12, "y": 27, "w": 12, "h": 8 },
|
|
"datasource": { "type": "prometheus", "uid": "prometheus" },
|
|
"targets": [
|
|
{
|
|
"expr": "homeassistant_sensor_atmospheric_pressure_hpa{entity=\"sensor.shelly_ws90_atmospharischer_druck\"}",
|
|
"legendFormat": "Pressure",
|
|
"refId": "A"
|
|
},
|
|
{
|
|
"expr": "homeassistant_sensor_unit_hpa_per_h{entity=\"sensor.shelly_ws90_pressure_trend\"} or on() vector(0)",
|
|
"legendFormat": "Pressure Trend",
|
|
"refId": "B"
|
|
}
|
|
],
|
|
"fieldConfig": {
|
|
"defaults": {
|
|
"custom": {
|
|
"lineWidth": 2,
|
|
"fillOpacity": 5,
|
|
"spanNulls": true,
|
|
"showPoints": "never"
|
|
}
|
|
},
|
|
"overrides": [
|
|
{
|
|
"matcher": { "id": "byName", "options": "Pressure" },
|
|
"properties": [
|
|
{ "id": "unit", "value": "pressurehpa" },
|
|
{ "id": "color", "value": { "fixedColor": "purple", "mode": "fixed" } }
|
|
]
|
|
},
|
|
{
|
|
"matcher": { "id": "byName", "options": "Pressure Trend" },
|
|
"properties": [
|
|
{ "id": "unit", "value": "none" },
|
|
{ "id": "color", "value": { "fixedColor": "cyan", "mode": "fixed" } },
|
|
{ "id": "custom.axisPlacement", "value": "right" }
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"options": {
|
|
"legend": {
|
|
"displayMode": "table",
|
|
"placement": "bottom",
|
|
"calcs": ["lastNotNull", "min", "max"]
|
|
},
|
|
"tooltip": { "mode": "multi", "sort": "desc" }
|
|
}
|
|
}
|
|
]
|
|
}
|