{ "dashboard": { "id": null, "uid": "cariflex-main", "title": "Cariflex - Supervision Énergétique", "tags": ["cariflex", "energy", "martinique"], "timezone": "America/Martinique", "refresh": "30s", "time": {"from": "now-24h", "to": "now"}, "panels": [ { "id": 1, "title": "Capteurs Air Quality (10)", "type": "timeseries", "gridPos": {"h": 8, "w": 12, "x": 0, "y": 0}, "datasource": {"type": "influxdb", "uid": "influxdb-v2"}, "targets": [{ "query": "from(bucket:\"smartcity\") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r[\"_measurement\"] == \"mqtt_consumer\") |> filter(fn: (r) => r[\"topic\"] =~ /airquality/) |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)", "refId": "A" }], "fieldConfig": { "defaults": {"unit": "none"}, "overrides": [] } }, { "id": 2, "title": "Capteurs Weather (10)", "type": "timeseries", "gridPos": {"h": 8, "w": 12, "x": 12, "y": 0}, "datasource": {"type": "influxdb", "uid": "influxdb-v2"}, "targets": [{ "query": "from(bucket:\"smartcity\") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r[\"_measurement\"] == \"mqtt_consumer\") |> filter(fn: (r) => r[\"topic\"] =~ /weather/) |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)", "refId": "A" }], "fieldConfig": { "defaults": {"unit": "celsius", "min": 15, "max": 40}, "overrides": [] } }, { "id": 3, "title": "Capteurs Traffic (10)", "type": "timeseries", "gridPos": {"h": 8, "w": 12, "x": 0, "y": 8}, "datasource": {"type": "influxdb", "uid": "influxdb-v2"}, "targets": [{ "query": "from(bucket:\"smartcity\") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r[\"_measurement\"] == \"mqtt_consumer\") |> filter(fn: (r) => r[\"topic\"] =~ /traffic/) |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)", "refId": "A" }], "fieldConfig": { "defaults": {"unit": "kmh", "min": 0, "max": 100}, "overrides": [] } }, { "id": 4, "title": "Capteurs Parking (10)", "type": "timeseries", "gridPos": {"h": 8, "w": 12, "x": 12, "y": 8}, "datasource": {"type": "influxdb", "uid": "influxdb-v2"}, "targets": [{ "query": "from(bucket:\"smartcity\") |> range(start: v.timeRangeStart, stop: v.timeRangeStop) |> filter(fn: (r) => r[\"_measurement\"] == \"mqtt_consumer\") |> filter(fn: (r) => r[\"topic\"] =~ /parking/) |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)", "refId": "A" }], "fieldConfig": { "defaults": {"unit": "percent", "min": 0, "max": 100}, "overrides": [] } }, { "id": 5, "title": "Battery Level (tous capteurs)", "type": "gauge", "gridPos": {"h": 6, "w": 6, "x": 0, "y": 16}, "datasource": {"type": "influxdb", "uid": "influxdb-v2"}, "targets": [{ "query": "from(bucket:\"smartcity\") |> range(start: -5m) |> filter(fn: (r) => r[\"_measurement\"] == \"mqtt_consumer\") |> filter(fn: (r) => r[\"_field\"] == \"battery_level\") |> mean()", "refId": "A" }], "fieldConfig": { "defaults": {"unit": "percent", "min": 0, "max": 100, "thresholds": {"steps": [{"color": "red", "value": 0}, {"color": "yellow", "value": 20}, {"color": "green", "value": 50}]}}, "overrides": [] } }, { "id": 6, "title": "Temperature (°C)", "type": "stat", "gridPos": {"h": 6, "w": 6, "x": 6, "y": 16}, "datasource": {"type": "influxdb", "uid": "influxdb-v2"}, "targets": [{ "query": "from(bucket:\"smartcity\") |> range(start: -5m) |> filter(fn: (r) => r[\"_measurement\"] == \"mqtt_consumer\") |> filter(fn: (r) => r[\"_field\"] == \"temperature_celsius\") |> mean()", "refId": "A" }], "fieldConfig": { "defaults": {"unit": "celsius", "min": 15, "max": 40}, "overrides": [] } }, { "id": 7, "title": "Noise Level (dB)", "type": "stat", "gridPos": {"h": 6, "w": 6, "x": 12, "y": 16}, "datasource": {"type": "influxdb", "uid": "influxdb-v2"}, "targets": [{ "query": "from(bucket:\"smartcity\") |> range(start: -5m) |> filter(fn: (r) => r[\"_measurement\"] == \"mqtt_consumer\") |> filter(fn: (r) => r[\"_field\"] == \"noise_level_db\") |> mean()", "refId": "A" }], "fieldConfig": { "defaults": {"unit": "dB", "min": 0, "max": 120}, "overrides": [] } }, { "id": 8, "title": "Rain (mm)", "type": "stat", "gridPos": {"h": 6, "w": 6, "x": 18, "y": 16}, "datasource": {"type": "influxdb", "uid": "influxdb-v2"}, "targets": [{ "query": "from(bucket:\"smartcity\") |> range(start: -1h) |> filter(fn: (r) => r[\"_measurement\"] == \"mqtt_consumer\") |> filter(fn: (r) => r[\"_field\"] == \"rain_mm\") |> sum()", "refId": "A" }], "fieldConfig": { "defaults": {"unit": "mm", "min": 0}, "overrides": [] } } ] }, "overwrite": true }