diff --git a/homeassistant-observability/tecalor-dashboard-cm.yaml b/homeassistant-observability/tecalor-dashboard-cm.yaml index e07dd7b..db1d005 100644 --- a/homeassistant-observability/tecalor-dashboard-cm.yaml +++ b/homeassistant-observability/tecalor-dashboard-cm.yaml @@ -45,7 +45,7 @@ data: { "datasource": { "type": "postgres", - "uid": "homeassistant" + "uid": "PBB7EDB19FB19A0A4" }, "fieldConfig": { "defaults": { @@ -68,16 +68,13 @@ data: } }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "\u00b0C" + "thresholds": [ + { + "color": "green", + "value": null + } + ], + "unit": "°C" }, "overrides": [] }, @@ -112,17 +109,27 @@ data: }, "format": "time_series", "rawQuery": true, - "rawSql": "SELECT\n EXTRACT(EPOCH FROM s.last_changed) * 1000 as time,\n s.state::float as value,\n sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id IN ('sensor.thzctl_vorlaufisttemp', 'sensor.thzctl_ruecklaufisttemp')\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\n AND $__timeFilter(s.last_changed)\nORDER BY s.last_changed", + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Vorlauf' as metric FROM states WHERE metadata_id = 1152 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", "refId": "A" + }, + { + "datasource": { + "type": "postgres", + "uid": "PBB7EDB19FB19A0A4" + }, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Rücklauf' as metric FROM states WHERE metadata_id = 1151 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "B" } ], - "title": "Vorlauf & R\u00fccklauf Temperatur", + "title": "Vorlauf & Rücklauf Temperatur", "type": "timeseries" }, { "datasource": { "type": "postgres", - "uid": "homeassistant" + "uid": "PBB7EDB19FB19A0A4" }, "fieldConfig": { "defaults": { @@ -145,16 +152,13 @@ data: } }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "\u00b0C" + "thresholds": [ + { + "color": "green", + "value": null + } + ], + "unit": "°C" }, "overrides": [] }, @@ -189,11 +193,31 @@ data: }, "format": "time_series", "rawQuery": true, - "rawSql": "SELECT\n EXTRACT(EPOCH FROM s.last_changed) * 1000 as time,\n s.state::float as value,\n sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id IN ('sensor.tecalor_thz5_5_eco_heissgas_temp', 'sensor.tecalor_thz5_5_eco_olsumpftemperatur', 'sensor.tecalor_thz5_5_eco_invertertemperatur')\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\n AND $__timeFilter(s.last_changed)\nORDER BY s.last_changed", + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Heissgas' as metric FROM states WHERE metadata_id = 1174 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", "refId": "A" + }, + { + "datasource": { + "type": "postgres", + "uid": "PBB7EDB19FB19A0A4" + }, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Ölsumpftemp' as metric FROM states WHERE metadata_id = 1177 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "B" + }, + { + "datasource": { + "type": "postgres", + "uid": "PBB7EDB19FB19A0A4" + }, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Inverter' as metric FROM states WHERE metadata_id = 1176 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "C" } ], - "title": "Kesseltemperatur (Heissgas, \u00d6lsumpftemp, Inverter)", + "title": "Kesseltemperatur (Heissgas, Ölsumpftemp, Inverter)", "type": "timeseries" }, { @@ -211,7 +235,7 @@ data: { "datasource": { "type": "postgres", - "uid": "homeassistant" + "uid": "PBB7EDB19FB19A0A4" }, "fieldConfig": { "defaults": { @@ -234,19 +258,12 @@ data: } }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, + "thresholds": [ + { + "color": "green", + "value": null + } + ], "unit": "bar" }, "overrides": [] @@ -282,8 +299,28 @@ data: }, "format": "time_series", "rawQuery": true, - "rawSql": "SELECT\n EXTRACT(EPOCH FROM s.last_changed) * 1000 as time,\n s.state::float as value,\n sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id IN ('sensor.tecalor_thz5_5_eco_druck_hochdruck', 'sensor.tecalor_thz5_5_eco_druck_niederdruck', 'sensor.tecalor_thz5_5_eco_druck_heizkreis')\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\n AND $__timeFilter(s.last_changed)\nORDER BY s.last_changed", + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Hochdruck' as metric FROM states WHERE metadata_id = 1199 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", "refId": "A" + }, + { + "datasource": { + "type": "postgres", + "uid": "PBB7EDB19FB19A0A4" + }, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Niederdruck' as metric FROM states WHERE metadata_id = 1200 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "B" + }, + { + "datasource": { + "type": "postgres", + "uid": "PBB7EDB19FB19A0A4" + }, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Heizkreis' as metric FROM states WHERE metadata_id = 1198 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "C" } ], "title": "Druck (Hoch/Nieder/Heizkreis)", @@ -292,7 +329,7 @@ data: { "datasource": { "type": "postgres", - "uid": "homeassistant" + "uid": "PBB7EDB19FB19A0A4" }, "fieldConfig": { "defaults": { @@ -315,16 +352,13 @@ data: } }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "\u00b0C" + "thresholds": [ + { + "color": "green", + "value": null + } + ], + "unit": "°C" }, "overrides": [] }, @@ -359,17 +393,27 @@ data: }, "format": "time_series", "rawQuery": true, - "rawSql": "SELECT\n EXTRACT(EPOCH FROM s.last_changed) * 1000 as time,\n s.state::float as value,\n sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id IN ('sensor.tecalor_thz5_5_eco_verfluessiger_temp', 'sensor.tecalor_thz5_5_eco_speichersolltemp_tag')\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\n AND $__timeFilter(s.last_changed)\nORDER BY s.last_changed", + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Verflüssiger' as metric FROM states WHERE metadata_id = 1175 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", "refId": "A" + }, + { + "datasource": { + "type": "postgres", + "uid": "PBB7EDB19FB19A0A4" + }, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Speichersoll' as metric FROM states WHERE metadata_id = 1165 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "B" } ], - "title": "Verfl\u00fcssiger & Speichersoll", + "title": "Verflüssiger & Speichersoll", "type": "timeseries" }, { "datasource": { "type": "postgres", - "uid": "homeassistant" + "uid": "PBB7EDB19FB19A0A4" }, "fieldConfig": { "defaults": { @@ -392,15 +436,12 @@ data: } }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, + "thresholds": [ + { + "color": "green", + "value": null + } + ], "unit": "h" }, "overrides": [] @@ -436,8 +477,18 @@ data: }, "format": "time_series", "rawQuery": true, - "rawSql": "SELECT\n EXTRACT(EPOCH FROM s.last_changed) * 1000 as time,\n s.state::float as value,\n sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id IN ('sensor.tecalor_thz5_5_eco_laufzeit_verdichter_heizen', 'sensor.tecalor_thz5_5_eco_laufzeit_verdichter_ww')\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\n AND $__timeFilter(s.last_changed)\nORDER BY s.last_changed", + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Heizen' as metric FROM states WHERE metadata_id = 1193 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", "refId": "A" + }, + { + "datasource": { + "type": "postgres", + "uid": "PBB7EDB19FB19A0A4" + }, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'WW' as metric FROM states WHERE metadata_id = 1194 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "B" } ], "title": "Laufzeit Verdichter (Heizen / WW)", @@ -458,7 +509,7 @@ data: { "datasource": { "type": "postgres", - "uid": "homeassistant" + "uid": "PBB7EDB19FB19A0A4" }, "fieldConfig": { "defaults": { @@ -481,15 +532,12 @@ data: } }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, + "thresholds": [ + { + "color": "green", + "value": null + } + ], "unit": "MWh" }, "overrides": [] @@ -525,8 +573,18 @@ data: }, "format": "time_series", "rawQuery": true, - "rawSql": "SELECT\n EXTRACT(EPOCH FROM s.last_changed) * 1000 as time,\n s.state::float as value,\n sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id IN ('sensor.tecalor_thz5_5_eco_el_energieaufnahme_ww_summe_mwh', 'sensor.tecalor_thz5_5_eco_el_energieaufnahme_heiz_summe_mwh')\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\n AND $__timeFilter(s.last_changed)\nORDER BY s.last_changed", + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'WW' as metric FROM states WHERE metadata_id = 1146 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", "refId": "A" + }, + { + "datasource": { + "type": "postgres", + "uid": "PBB7EDB19FB19A0A4" + }, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Heizung' as metric FROM states WHERE metadata_id = 1147 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "B" } ], "title": "Energieaufnahme (WW / Heizung, kumuliert)", @@ -535,7 +593,7 @@ data: { "datasource": { "type": "postgres", - "uid": "homeassistant" + "uid": "PBB7EDB19FB19A0A4" }, "fieldConfig": { "defaults": { @@ -543,15 +601,12 @@ data: "mode": "palette-classic" }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, + "thresholds": [ + { + "color": "green", + "value": null + } + ], "unit": "MWh" }, "overrides": [] @@ -585,7 +640,7 @@ data: }, "format": "table", "rawQuery": true, - "rawSql": "SELECT EXTRACT(EPOCH FROM s.last_changed) * 1000 as time, s.state::float as value, sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id = 'sensor.tecalor_thz5_5_eco_el_energieaufnahme_ww_summe_mwh'\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\nORDER BY s.last_changed DESC LIMIT 1", + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 1146 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", "refId": "A" } ], @@ -595,7 +650,7 @@ data: { "datasource": { "type": "postgres", - "uid": "homeassistant" + "uid": "PBB7EDB19FB19A0A4" }, "fieldConfig": { "defaults": { @@ -603,15 +658,12 @@ data: "mode": "palette-classic" }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, + "thresholds": [ + { + "color": "green", + "value": null + } + ], "unit": "MWh" }, "overrides": [] @@ -645,7 +697,7 @@ data: }, "format": "table", "rawQuery": true, - "rawSql": "SELECT EXTRACT(EPOCH FROM s.last_changed) * 1000 as time, s.state::float as value, sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id = 'sensor.tecalor_thz5_5_eco_el_energieaufnahme_heiz_summe_mwh'\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\nORDER BY s.last_changed DESC LIMIT 1", + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 1147 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", "refId": "A" } ], @@ -667,7 +719,7 @@ data: { "datasource": { "type": "postgres", - "uid": "homeassistant" + "uid": "PBB7EDB19FB19A0A4" }, "fieldConfig": { "defaults": { @@ -675,16 +727,12 @@ data: "mode": "palette-classic" }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "short" + "thresholds": [ + { + "color": "green", + "value": null + } + ] }, "overrides": [] }, @@ -717,7 +765,7 @@ data: }, "format": "table", "rawQuery": true, - "rawSql": "SELECT EXTRACT(EPOCH FROM s.last_changed) * 1000 as time, s.state::float as value, sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id = 'sensor.tecalor_thz5_5_eco_firmware_version'\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\nORDER BY s.last_changed DESC LIMIT 1", + "rawSql": "SELECT state as value FROM states WHERE metadata_id = 1201 ORDER BY last_changed DESC LIMIT 1", "refId": "A" } ], @@ -727,7 +775,7 @@ data: { "datasource": { "type": "postgres", - "uid": "homeassistant" + "uid": "PBB7EDB19FB19A0A4" }, "fieldConfig": { "defaults": { @@ -735,16 +783,13 @@ data: "mode": "palette-classic" }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "short" + "thresholds": [ + { + "color": "green", + "value": null + } + ], + "unit": "h" }, "overrides": [] }, @@ -777,7 +822,7 @@ data: }, "format": "table", "rawQuery": true, - "rawSql": "SELECT EXTRACT(EPOCH FROM s.last_changed) * 1000 as time, s.state::float as value, sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id = 'sensor.tecalor_thz5_5_eco_laufzeit_verdichter_heizen'\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\nORDER BY s.last_changed DESC LIMIT 1", + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 1193 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", "refId": "A" } ], @@ -787,7 +832,7 @@ data: { "datasource": { "type": "postgres", - "uid": "homeassistant" + "uid": "PBB7EDB19FB19A0A4" }, "fieldConfig": { "defaults": { @@ -795,16 +840,13 @@ data: "mode": "palette-classic" }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "short" + "thresholds": [ + { + "color": "green", + "value": null + } + ], + "unit": "h" }, "overrides": [] }, @@ -837,7 +879,7 @@ data: }, "format": "table", "rawQuery": true, - "rawSql": "SELECT EXTRACT(EPOCH FROM s.last_changed) * 1000 as time, s.state::float as value, sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id = 'sensor.tecalor_thz5_5_eco_laufzeit_verdichter_ww'\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\nORDER BY s.last_changed DESC LIMIT 1", + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 1194 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", "refId": "A" } ], @@ -847,7 +889,7 @@ data: { "datasource": { "type": "postgres", - "uid": "homeassistant" + "uid": "PBB7EDB19FB19A0A4" }, "fieldConfig": { "defaults": { @@ -855,16 +897,13 @@ data: "mode": "palette-classic" }, "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "short" + "thresholds": [ + { + "color": "green", + "value": null + } + ], + "unit": "°C" }, "overrides": [] }, @@ -897,12 +936,126 @@ data: }, "format": "table", "rawQuery": true, - "rawSql": "SELECT EXTRACT(EPOCH FROM s.last_changed) * 1000 as time, s.state::float as value, sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id = 'sensor.tecalor_thz5_5_eco_raumsolltemp_tag'\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\nORDER BY s.last_changed DESC LIMIT 1", + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 1170 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", "refId": "A" } ], "title": "Raumsolltemp (Tag)", "type": "stat" + }, + { + "datasource": { + "type": "postgres", + "uid": "PBB7EDB19FB19A0A4" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "mappings": [], + "thresholds": [ + { + "color": "green", + "value": null + } + ], + "unit": "kW" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 4, + "x": 16, + "y": 28 + }, + "id": 18, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "targets": [ + { + "datasource": { + "type": "postgres", + "uid": "PBB7EDB19FB19A0A4" + }, + "format": "table", + "rawQuery": true, + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 1181 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", + "refId": "A" + } + ], + "title": "Motorleistung (kW)", + "type": "stat" + }, + { + "datasource": { + "type": "postgres", + "uid": "PBB7EDB19FB19A0A4" + }, + "fieldConfig": { + "defaults": { + "color": { + "mode": "palette-classic" + }, + "mappings": [], + "thresholds": [ + { + "color": "green", + "value": null + } + ], + "unit": "W" + }, + "overrides": [] + }, + "gridPos": { + "h": 4, + "w": 4, + "x": 20, + "y": 28 + }, + "id": 19, + "options": { + "colorMode": "background", + "graphMode": "area", + "justifyMode": "auto", + "orientation": "horizontal", + "reduceOptions": { + "calcs": [ + "lastNotNull" + ], + "fields": "", + "values": false + }, + "textMode": "auto" + }, + "targets": [ + { + "datasource": { + "type": "postgres", + "uid": "PBB7EDB19FB19A0A4" + }, + "format": "table", + "rawQuery": true, + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 324 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", + "refId": "A" + } + ], + "title": "Strom Wärmepumpe (W)", + "type": "stat" } ], "refresh": "30s", @@ -921,7 +1074,7 @@ data: }, "timepicker": {}, "timezone": "browser", - "title": "Tecalor W\u00e4rmepumpe", + "title": "Tecalor Wärmepumpe", "uid": "tec-waermepumpe", "version": 1 - } \ No newline at end of file + } diff --git a/homeassistant-observability/tecalor-dashboard.json b/homeassistant-observability/tecalor-dashboard.json index 893a69f..1598e70 100644 --- a/homeassistant-observability/tecalor-dashboard.json +++ b/homeassistant-observability/tecalor-dashboard.json @@ -3,10 +3,7 @@ "list": [ { "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, + "datasource": {"type": "grafana", "uid": "-- Grafana --"}, "enable": true, "hide": true, "iconColor": "rgba(0, 211, 255, 1)", @@ -24,413 +21,233 @@ "panels": [ { "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 0 - }, + "gridPos": {"h": 1, "w": 24, "x": 0, "y": 0}, "id": 14, "title": "Temperaturen", "panelType": "row", "type": "row" }, { - "datasource": { - "type": "postgres", - "uid": "homeassistant" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, + "color": {"mode": "palette-classic"}, "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "fillGradient": 0, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": "linear", - "show": "default", - "thresholdsStyle": { - "mode": "off" - } + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", + "axisLabel": "", "fillGradient": 0, "lineInterpolation": "linear", + "lineWidth": 2, "pointSize": 5, "scaleDistribution": "linear", + "show": "default", "thresholdsStyle": {"mode": "off"} }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "\u00b0C" + "mappings": [], "thresholds": [{"color": "green", "value": null}], + "unit": "°C" }, "overrides": [] }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 1 - }, + "gridPos": {"h": 8, "w": 12, "x": 0, "y": 1}, "id": 2, "options": { - "legend": { - "calcs": [ - "lastNotNull", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } + "legend": {"calcs": ["lastNotNull", "max", "min"], "displayMode": "table", "placement": "bottom", "showLegend": true}, + "tooltip": {"mode": "multi", "sort": "desc"} }, "targets": [ { - "datasource": { - "type": "postgres", - "uid": "PBB7EDB19FB19A0A4" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "format": "time_series", "rawQuery": true, - "rawSql": "SELECT\n EXTRACT(EPOCH FROM s.last_changed) * 1000 as time,\n s.state::float as value,\n sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id IN ('sensor.thzctl_vorlaufisttemp', 'sensor.thzctl_ruecklaufisttemp')\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\n AND $__timeFilter(s.last_changed)\nORDER BY s.last_changed", + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Vorlauf' as metric FROM states WHERE metadata_id = 1152 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", "refId": "A" + }, + { + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Rücklauf' as metric FROM states WHERE metadata_id = 1151 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "B" } ], - "title": "Vorlauf & R\u00fccklauf Temperatur", + "title": "Vorlauf & Rücklauf Temperatur", "type": "timeseries" }, { - "datasource": { - "type": "postgres", - "uid": "homeassistant" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, + "color": {"mode": "palette-classic"}, "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "fillGradient": 0, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": "linear", - "show": "default", - "thresholdsStyle": { - "mode": "off" - } + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", + "axisLabel": "", "fillGradient": 0, "lineInterpolation": "linear", + "lineWidth": 2, "pointSize": 5, "scaleDistribution": "linear", + "show": "default", "thresholdsStyle": {"mode": "off"} }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "\u00b0C" + "mappings": [], "thresholds": [{"color": "green", "value": null}], + "unit": "°C" }, "overrides": [] }, - "gridPos": { - "h": 8, - "w": 12, - "x": 12, - "y": 1 - }, + "gridPos": {"h": 8, "w": 12, "x": 12, "y": 1}, "id": 3, "options": { - "legend": { - "calcs": [ - "lastNotNull", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } + "legend": {"calcs": ["lastNotNull", "max", "min"], "displayMode": "table", "placement": "bottom", "showLegend": true}, + "tooltip": {"mode": "multi", "sort": "desc"} }, "targets": [ { - "datasource": { - "type": "postgres", - "uid": "PBB7EDB19FB19A0A4" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "format": "time_series", "rawQuery": true, - "rawSql": "SELECT\n EXTRACT(EPOCH FROM s.last_changed) * 1000 as time,\n s.state::float as value,\n sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id IN ('sensor.tecalor_thz5_5_eco_heissgas_temp', 'sensor.tecalor_thz5_5_eco_olsumpftemperatur', 'sensor.tecalor_thz5_5_eco_invertertemperatur')\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\n AND $__timeFilter(s.last_changed)\nORDER BY s.last_changed", + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Heissgas' as metric FROM states WHERE metadata_id = 1174 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", "refId": "A" + }, + { + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Ölsumpftemp' as metric FROM states WHERE metadata_id = 1177 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "B" + }, + { + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Inverter' as metric FROM states WHERE metadata_id = 1176 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "C" } ], - "title": "Kesseltemperatur (Heissgas, \u00d6lsumpftemp, Inverter)", + "title": "Kesseltemperatur (Heissgas, Ölsumpftemp, Inverter)", "type": "timeseries" }, { "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 9 - }, + "gridPos": {"h": 1, "w": 24, "x": 0, "y": 9}, "id": 15, "title": "Druck & Zustand", "panelType": "row" }, { - "datasource": { - "type": "postgres", - "uid": "homeassistant" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, + "color": {"mode": "palette-classic"}, "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "fillGradient": 0, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": "linear", - "show": "default", - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", + "axisLabel": "", "fillGradient": 0, "lineInterpolation": "linear", + "lineWidth": 2, "pointSize": 5, "scaleDistribution": "linear", + "show": "default", "thresholdsStyle": {"mode": "off"} }, + "mappings": [], "thresholds": [{"color": "green", "value": null}], "unit": "bar" }, "overrides": [] }, - "gridPos": { - "h": 8, - "w": 8, - "x": 0, - "y": 10 - }, + "gridPos": {"h": 8, "w": 8, "x": 0, "y": 10}, "id": 4, "options": { - "legend": { - "calcs": [ - "lastNotNull", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } + "legend": {"calcs": ["lastNotNull", "max", "min"], "displayMode": "table", "placement": "bottom", "showLegend": true}, + "tooltip": {"mode": "multi", "sort": "desc"} }, "targets": [ { - "datasource": { - "type": "postgres", - "uid": "PBB7EDB19FB19A0A4" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "format": "time_series", "rawQuery": true, - "rawSql": "SELECT\n EXTRACT(EPOCH FROM s.last_changed) * 1000 as time,\n s.state::float as value,\n sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id IN ('sensor.tecalor_thz5_5_eco_druck_hochdruck', 'sensor.tecalor_thz5_5_eco_druck_niederdruck', 'sensor.tecalor_thz5_5_eco_druck_heizkreis')\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\n AND $__timeFilter(s.last_changed)\nORDER BY s.last_changed", + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Hochdruck' as metric FROM states WHERE metadata_id = 1199 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", "refId": "A" + }, + { + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Niederdruck' as metric FROM states WHERE metadata_id = 1200 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "B" + }, + { + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Heizkreis' as metric FROM states WHERE metadata_id = 1198 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "C" } ], "title": "Druck (Hoch/Nieder/Heizkreis)", "type": "timeseries" }, { - "datasource": { - "type": "postgres", - "uid": "homeassistant" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, + "color": {"mode": "palette-classic"}, "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "fillGradient": 0, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": "linear", - "show": "default", - "thresholdsStyle": { - "mode": "off" - } + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", + "axisLabel": "", "fillGradient": 0, "lineInterpolation": "linear", + "lineWidth": 2, "pointSize": 5, "scaleDistribution": "linear", + "show": "default", "thresholdsStyle": {"mode": "off"} }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "\u00b0C" + "mappings": [], "thresholds": [{"color": "green", "value": null}], + "unit": "°C" }, "overrides": [] }, - "gridPos": { - "h": 8, - "w": 8, - "x": 8, - "y": 10 - }, + "gridPos": {"h": 8, "w": 8, "x": 8, "y": 10}, "id": 5, "options": { - "legend": { - "calcs": [ - "lastNotNull", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } + "legend": {"calcs": ["lastNotNull", "max", "min"], "displayMode": "table", "placement": "bottom", "showLegend": true}, + "tooltip": {"mode": "multi", "sort": "desc"} }, "targets": [ { - "datasource": { - "type": "postgres", - "uid": "PBB7EDB19FB19A0A4" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "format": "time_series", "rawQuery": true, - "rawSql": "SELECT\n EXTRACT(EPOCH FROM s.last_changed) * 1000 as time,\n s.state::float as value,\n sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id IN ('sensor.tecalor_thz5_5_eco_verfluessiger_temp', 'sensor.tecalor_thz5_5_eco_speichersolltemp_tag')\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\n AND $__timeFilter(s.last_changed)\nORDER BY s.last_changed", + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Verflüssiger' as metric FROM states WHERE metadata_id = 1175 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", "refId": "A" + }, + { + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Speichersoll' as metric FROM states WHERE metadata_id = 1165 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "B" } ], - "title": "Verfl\u00fcssiger & Speichersoll", + "title": "Verflüssiger & Speichersoll", "type": "timeseries" }, { - "datasource": { - "type": "postgres", - "uid": "homeassistant" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, + "color": {"mode": "palette-classic"}, "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "fillGradient": 0, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": "linear", - "show": "default", - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", + "axisLabel": "", "fillGradient": 0, "lineInterpolation": "linear", + "lineWidth": 2, "pointSize": 5, "scaleDistribution": "linear", + "show": "default", "thresholdsStyle": {"mode": "off"} }, + "mappings": [], "thresholds": [{"color": "green", "value": null}], "unit": "h" }, "overrides": [] }, - "gridPos": { - "h": 8, - "w": 8, - "x": 16, - "y": 10 - }, + "gridPos": {"h": 8, "w": 8, "x": 16, "y": 10}, "id": 6, "options": { - "legend": { - "calcs": [ - "lastNotNull", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } + "legend": {"calcs": ["lastNotNull", "max", "min"], "displayMode": "table", "placement": "bottom", "showLegend": true}, + "tooltip": {"mode": "multi", "sort": "desc"} }, "targets": [ { - "datasource": { - "type": "postgres", - "uid": "PBB7EDB19FB19A0A4" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "format": "time_series", "rawQuery": true, - "rawSql": "SELECT\n EXTRACT(EPOCH FROM s.last_changed) * 1000 as time,\n s.state::float as value,\n sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id IN ('sensor.tecalor_thz5_5_eco_laufzeit_verdichter_heizen', 'sensor.tecalor_thz5_5_eco_laufzeit_verdichter_ww')\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\n AND $__timeFilter(s.last_changed)\nORDER BY s.last_changed", + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Heizen' as metric FROM states WHERE metadata_id = 1193 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", "refId": "A" + }, + { + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'WW' as metric FROM states WHERE metadata_id = 1194 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "B" } ], "title": "Laufzeit Verdichter (Heizen / WW)", @@ -438,147 +255,75 @@ }, { "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 18 - }, + "gridPos": {"h": 1, "w": 24, "x": 0, "y": 18}, "id": 16, "title": "Energieverbrauch", "panelType": "row" }, { - "datasource": { - "type": "postgres", - "uid": "homeassistant" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, + "color": {"mode": "palette-classic"}, "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "fillGradient": 0, - "lineInterpolation": "linear", - "lineWidth": 2, - "pointSize": 5, - "scaleDistribution": "linear", - "show": "default", - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] + "axisBorderShow": false, "axisCenteredZero": false, "axisColorMode": "text", + "axisLabel": "", "fillGradient": 0, "lineInterpolation": "linear", + "lineWidth": 2, "pointSize": 5, "scaleDistribution": "linear", + "show": "default", "thresholdsStyle": {"mode": "off"} }, + "mappings": [], "thresholds": [{"color": "green", "value": null}], "unit": "MWh" }, "overrides": [] }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 19 - }, + "gridPos": {"h": 8, "w": 12, "x": 0, "y": 19}, "id": 7, "options": { - "legend": { - "calcs": [ - "lastNotNull", - "max", - "min" - ], - "displayMode": "table", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "multi", - "sort": "desc" - } + "legend": {"calcs": ["lastNotNull", "max", "min"], "displayMode": "table", "placement": "bottom", "showLegend": true}, + "tooltip": {"mode": "multi", "sort": "desc"} }, "targets": [ { - "datasource": { - "type": "postgres", - "uid": "PBB7EDB19FB19A0A4" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "format": "time_series", "rawQuery": true, - "rawSql": "SELECT\n EXTRACT(EPOCH FROM s.last_changed) * 1000 as time,\n s.state::float as value,\n sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id IN ('sensor.tecalor_thz5_5_eco_el_energieaufnahme_ww_summe_mwh', 'sensor.tecalor_thz5_5_eco_el_energieaufnahme_heiz_summe_mwh')\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\n AND $__timeFilter(s.last_changed)\nORDER BY s.last_changed", + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'WW' as metric FROM states WHERE metadata_id = 1146 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", "refId": "A" + }, + { + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, + "format": "time_series", + "rawQuery": true, + "rawSql": "SELECT EXTRACT(EPOCH FROM last_changed)::bigint * 1000 as time, CAST(state AS float) as value, 'Heizung' as metric FROM states WHERE metadata_id = 1147 AND state NOT IN ('unavailable','unknown','none') AND $__timeFilter(last_changed) ORDER BY last_changed", + "refId": "B" } ], "title": "Energieaufnahme (WW / Heizung, kumuliert)", "type": "timeseries" }, { - "datasource": { - "type": "postgres", - "uid": "homeassistant" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, + "color": {"mode": "palette-classic"}, + "mappings": [], "thresholds": [{"color": "green", "value": null}], "unit": "MWh" }, "overrides": [] }, - "gridPos": { - "h": 8, - "w": 6, - "x": 12, - "y": 19 - }, + "gridPos": {"h": 8, "w": 6, "x": 12, "y": 19}, "id": 8, "options": { - "colorMode": "background", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, + "colorMode": "background", "graphMode": "area", "justifyMode": "auto", + "orientation": "horizontal", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto" }, "targets": [ { - "datasource": { - "type": "postgres", - "uid": "PBB7EDB19FB19A0A4" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "format": "table", "rawQuery": true, - "rawSql": "SELECT EXTRACT(EPOCH FROM s.last_changed) * 1000 as time, s.state::float as value, sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id = 'sensor.tecalor_thz5_5_eco_el_energieaufnahme_ww_summe_mwh'\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\nORDER BY s.last_changed DESC LIMIT 1", + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 1146 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", "refId": "A" } ], @@ -586,59 +331,28 @@ "type": "stat" }, { - "datasource": { - "type": "postgres", - "uid": "homeassistant" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, + "color": {"mode": "palette-classic"}, + "mappings": [], "thresholds": [{"color": "green", "value": null}], "unit": "MWh" }, "overrides": [] }, - "gridPos": { - "h": 8, - "w": 6, - "x": 18, - "y": 19 - }, + "gridPos": {"h": 8, "w": 6, "x": 18, "y": 19}, "id": 9, "options": { - "colorMode": "background", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, + "colorMode": "background", "graphMode": "area", "justifyMode": "auto", + "orientation": "horizontal", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto" }, "targets": [ { - "datasource": { - "type": "postgres", - "uid": "PBB7EDB19FB19A0A4" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "format": "table", "rawQuery": true, - "rawSql": "SELECT EXTRACT(EPOCH FROM s.last_changed) * 1000 as time, s.state::float as value, sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id = 'sensor.tecalor_thz5_5_eco_el_energieaufnahme_heiz_summe_mwh'\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\nORDER BY s.last_changed DESC LIMIT 1", + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 1147 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", "refId": "A" } ], @@ -647,70 +361,33 @@ }, { "collapsed": false, - "gridPos": { - "h": 1, - "w": 24, - "x": 0, - "y": 27 - }, + "gridPos": {"h": 1, "w": 24, "x": 0, "y": 27}, "id": 17, "title": "Zusatzinformationen", "panelType": "row" }, { - "datasource": { - "type": "postgres", - "uid": "homeassistant" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "short" + "color": {"mode": "palette-classic"}, + "mappings": [], "thresholds": [{"color": "green", "value": null}] }, "overrides": [] }, - "gridPos": { - "h": 4, - "w": 4, - "x": 0, - "y": 28 - }, + "gridPos": {"h": 4, "w": 4, "x": 0, "y": 28}, "id": 10, "options": { - "colorMode": "background", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, + "colorMode": "background", "graphMode": "area", "justifyMode": "auto", + "orientation": "horizontal", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto" }, "targets": [ { - "datasource": { - "type": "postgres", - "uid": "PBB7EDB19FB19A0A4" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "format": "table", "rawQuery": true, - "rawSql": "SELECT EXTRACT(EPOCH FROM s.last_changed) * 1000 as time, s.state::float as value, sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id = 'sensor.tecalor_thz5_5_eco_firmware_version'\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\nORDER BY s.last_changed DESC LIMIT 1", + "rawSql": "SELECT state as value FROM states WHERE metadata_id = 1201 ORDER BY last_changed DESC LIMIT 1", "refId": "A" } ], @@ -718,59 +395,28 @@ "type": "stat" }, { - "datasource": { - "type": "postgres", - "uid": "homeassistant" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "short" + "color": {"mode": "palette-classic"}, + "mappings": [], "thresholds": [{"color": "green", "value": null}], + "unit": "h" }, "overrides": [] }, - "gridPos": { - "h": 4, - "w": 4, - "x": 4, - "y": 28 - }, + "gridPos": {"h": 4, "w": 4, "x": 4, "y": 28}, "id": 11, "options": { - "colorMode": "background", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, + "colorMode": "background", "graphMode": "area", "justifyMode": "auto", + "orientation": "horizontal", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto" }, "targets": [ { - "datasource": { - "type": "postgres", - "uid": "PBB7EDB19FB19A0A4" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "format": "table", "rawQuery": true, - "rawSql": "SELECT EXTRACT(EPOCH FROM s.last_changed) * 1000 as time, s.state::float as value, sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id = 'sensor.tecalor_thz5_5_eco_laufzeit_verdichter_heizen'\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\nORDER BY s.last_changed DESC LIMIT 1", + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 1193 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", "refId": "A" } ], @@ -778,59 +424,28 @@ "type": "stat" }, { - "datasource": { - "type": "postgres", - "uid": "homeassistant" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "short" + "color": {"mode": "palette-classic"}, + "mappings": [], "thresholds": [{"color": "green", "value": null}], + "unit": "h" }, "overrides": [] }, - "gridPos": { - "h": 4, - "w": 4, - "x": 8, - "y": 28 - }, + "gridPos": {"h": 4, "w": 4, "x": 8, "y": 28}, "id": 12, "options": { - "colorMode": "background", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, + "colorMode": "background", "graphMode": "area", "justifyMode": "auto", + "orientation": "horizontal", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto" }, "targets": [ { - "datasource": { - "type": "postgres", - "uid": "PBB7EDB19FB19A0A4" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "format": "table", "rawQuery": true, - "rawSql": "SELECT EXTRACT(EPOCH FROM s.last_changed) * 1000 as time, s.state::float as value, sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id = 'sensor.tecalor_thz5_5_eco_laufzeit_verdichter_ww'\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\nORDER BY s.last_changed DESC LIMIT 1", + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 1194 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", "refId": "A" } ], @@ -838,83 +453,101 @@ "type": "stat" }, { - "datasource": { - "type": "postgres", - "uid": "homeassistant" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "fieldConfig": { "defaults": { - "color": { - "mode": "palette-classic" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "short" + "color": {"mode": "palette-classic"}, + "mappings": [], "thresholds": [{"color": "green", "value": null}], + "unit": "°C" }, "overrides": [] }, - "gridPos": { - "h": 4, - "w": 4, - "x": 12, - "y": 28 - }, + "gridPos": {"h": 4, "w": 4, "x": 12, "y": 28}, "id": 13, "options": { - "colorMode": "background", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, + "colorMode": "background", "graphMode": "area", "justifyMode": "auto", + "orientation": "horizontal", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, "textMode": "auto" }, "targets": [ { - "datasource": { - "type": "postgres", - "uid": "PBB7EDB19FB19A0A4" - }, + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, "format": "table", "rawQuery": true, - "rawSql": "SELECT EXTRACT(EPOCH FROM s.last_changed) * 1000 as time, s.state::float as value, sm.entity_id as metric\nFROM states s JOIN states_meta sm ON s.metadata_id = sm.metadata_id\nWHERE sm.entity_id = 'sensor.tecalor_thz5_5_eco_raumsolltemp_tag'\n AND s.state ~ '^-?[0-9]+\\.?[0-9]*$'\nORDER BY s.last_changed DESC LIMIT 1", + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 1170 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", "refId": "A" } ], "title": "Raumsolltemp (Tag)", "type": "stat" + }, + { + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, + "fieldConfig": { + "defaults": { + "color": {"mode": "palette-classic"}, + "mappings": [], "thresholds": [{"color": "green", "value": null}], + "unit": "kW" + }, + "overrides": [] + }, + "gridPos": {"h": 4, "w": 4, "x": 16, "y": 28}, + "id": 18, + "options": { + "colorMode": "background", "graphMode": "area", "justifyMode": "auto", + "orientation": "horizontal", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, + "textMode": "auto" + }, + "targets": [ + { + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, + "format": "table", + "rawQuery": true, + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 1181 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", + "refId": "A" + } + ], + "title": "Motorleistung (kW)", + "type": "stat" + }, + { + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, + "fieldConfig": { + "defaults": { + "color": {"mode": "palette-classic"}, + "mappings": [], "thresholds": [{"color": "green", "value": null}], + "unit": "W" + }, + "overrides": [] + }, + "gridPos": {"h": 4, "w": 4, "x": 20, "y": 28}, + "id": 19, + "options": { + "colorMode": "background", "graphMode": "area", "justifyMode": "auto", + "orientation": "horizontal", "reduceOptions": {"calcs": ["lastNotNull"], "fields": "", "values": false}, + "textMode": "auto" + }, + "targets": [ + { + "datasource": {"type": "postgres", "uid": "PBB7EDB19FB19A0A4"}, + "format": "table", + "rawQuery": true, + "rawSql": "SELECT CAST(state AS float) as value FROM states WHERE metadata_id = 324 AND state NOT IN ('unavailable','unknown','none') ORDER BY last_changed DESC LIMIT 1", + "refId": "A" + } + ], + "title": "Strom Wärmepumpe (W)", + "type": "stat" } ], "refresh": "30s", "schemaVersion": 40, - "tags": [ - "homeassistant", - "tec", - "heat-pump" - ], - "templating": { - "list": [] - }, - "time": { - "from": "now-24h", - "to": "now" - }, + "tags": ["homeassistant", "tec", "heat-pump"], + "templating": {"list": []}, + "time": {"from": "now-24h", "to": "now"}, "timepicker": {}, "timezone": "browser", - "title": "Tecalor W\u00e4rmepumpe", + "title": "Tecalor Wärmepumpe", "uid": "tec-waermepumpe", "version": 1 -} \ No newline at end of file +}