Fix: Complete dashboard rewrite - EXTRACT(EPOCH) for time, state ~ regex filter, timeInterval in datasource

This commit is contained in:
hermes
2026-09-09 05:12:45 +00:00
parent 5d657ddde0
commit 18f10bb174
2 changed files with 48 additions and 88 deletions
@@ -38,7 +38,7 @@ data:
"y": 0 "y": 0
}, },
"id": 14, "id": 14,
"title": "Temperatures", "title": "Temperaturen",
"panelType": "row", "panelType": "row",
"type": "row" "type": "row"
}, },
@@ -108,7 +108,7 @@ data:
}, },
"format": "time_series", "format": "time_series",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT\n last_changed AS time,\n state::float AS value,\n entity_id AS metric\nFROM recorder_states\nWHERE entity_id IN ('sensor.thzctl_vorlaufisttemp', 'sensor.thzctl_ruecklaufisttemp')\n AND $__timeFilter(last_changed)\nORDER BY last_changed", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -181,7 +181,7 @@ data:
}, },
"format": "time_series", "format": "time_series",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT\n last_changed AS time,\n state::float AS value,\n entity_id AS metric\nFROM recorder_states\nWHERE entity_id IN ('sensor.tecalor_thz5_5_eco_heissgas_temp', 'sensor.tecalor_thz5_5_eco_olsumpftemperatur', 'sensor.tecalor_thz5_5_eco_invertertemperatur')\n AND $__timeFilter(last_changed)\nORDER BY last_changed", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -270,7 +270,7 @@ data:
}, },
"format": "time_series", "format": "time_series",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT\n last_changed AS time,\n state::float AS value,\n entity_id AS metric\nFROM recorder_states\nWHERE 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 $__timeFilter(last_changed)\nORDER BY last_changed", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -343,7 +343,7 @@ data:
}, },
"format": "time_series", "format": "time_series",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT\n last_changed AS time,\n state::float AS value,\n entity_id AS metric\nFROM recorder_states\nWHERE entity_id IN ('sensor.tecalor_thz5_5_eco_verfluessiger_temp', 'sensor.tecalor_thz5_5_eco_speichersolltemp_tag')\n AND $__timeFilter(last_changed)\nORDER BY last_changed", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -416,7 +416,7 @@ data:
}, },
"format": "time_series", "format": "time_series",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT\n last_changed AS time,\n state::float AS value,\n entity_id AS metric\nFROM recorder_states\nWHERE entity_id IN ('sensor.tecalor_thz5_5_eco_laufzeit_verdichter_heizen', 'sensor.tecalor_thz5_5_eco_laufzeit_verdichter_ww')\n AND $__timeFilter(last_changed)\nORDER BY last_changed", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -501,7 +501,7 @@ data:
}, },
"format": "time_series", "format": "time_series",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT\n last_changed AS time,\n state::float AS value,\n entity_id AS metric\nFROM recorder_states\nWHERE 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 $__timeFilter(last_changed)\nORDER BY last_changed", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -559,7 +559,7 @@ data:
}, },
"format": "table", "format": "table",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT state::float AS value, entity_id AS metric\nFROM recorder_states\nWHERE entity_id = 'sensor.tecalor_thz5_5_eco_el_energieaufnahme_ww_summe_mwh'\nORDER BY last_changed DESC LIMIT 1", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -617,7 +617,7 @@ data:
}, },
"format": "table", "format": "table",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT state::float AS value, entity_id AS metric\nFROM recorder_states\nWHERE entity_id = 'sensor.tecalor_thz5_5_eco_el_energieaufnahme_heiz_summe_mwh'\nORDER BY last_changed DESC LIMIT 1", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -687,7 +687,7 @@ data:
}, },
"format": "table", "format": "table",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT state::float AS value, entity_id AS metric\nFROM recorder_states\nWHERE entity_id = 'sensor.tecalor_thz5_5_eco_firmware_version'\nORDER BY last_changed DESC LIMIT 1", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -745,7 +745,7 @@ data:
}, },
"format": "table", "format": "table",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT state::float AS value, entity_id AS metric\nFROM recorder_states\nWHERE entity_id = 'sensor.tecalor_thz5_5_eco_laufzeit_verdichter_heizen'\nORDER BY last_changed DESC LIMIT 1", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -803,7 +803,7 @@ data:
}, },
"format": "table", "format": "table",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT state::float AS value, entity_id AS metric\nFROM recorder_states\nWHERE entity_id = 'sensor.tecalor_thz5_5_eco_laufzeit_verdichter_ww'\nORDER BY last_changed DESC LIMIT 1", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -861,7 +861,7 @@ data:
}, },
"format": "table", "format": "table",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT state::float AS value, entity_id AS metric\nFROM recorder_states\nWHERE entity_id = 'sensor.tecalor_thz5_5_eco_raumsolltemp_tag'\nORDER BY last_changed DESC LIMIT 1", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -31,7 +31,7 @@
"y": 0 "y": 0
}, },
"id": 14, "id": 14,
"title": "Temperatures", "title": "Temperaturen",
"panelType": "row", "panelType": "row",
"type": "row" "type": "row"
}, },
@@ -70,7 +70,7 @@
} }
] ]
}, },
"unit": "\u00b0C" "unit": "°C"
}, },
"overrides": [] "overrides": []
}, },
@@ -83,11 +83,7 @@
"id": 2, "id": 2,
"options": { "options": {
"legend": { "legend": {
"calcs": [ "calcs": ["lastNotNull", "max", "min"],
"lastNotNull",
"max",
"min"
],
"displayMode": "table", "displayMode": "table",
"placement": "bottom", "placement": "bottom",
"showLegend": true "showLegend": true
@@ -105,11 +101,11 @@
}, },
"format": "time_series", "format": "time_series",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT\n s.last_changed 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 $__timeFilter(s.last_changed)\nORDER BY s.last_changed", "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",
"refId": "A" "refId": "A"
} }
], ],
"title": "Vorlauf & R\u00fccklauf Temperatur", "title": "Vorlauf & Rücklauf Temperatur",
"type": "timeseries" "type": "timeseries"
}, },
{ {
@@ -147,7 +143,7 @@
} }
] ]
}, },
"unit": "\u00b0C" "unit": "°C"
}, },
"overrides": [] "overrides": []
}, },
@@ -160,11 +156,7 @@
"id": 3, "id": 3,
"options": { "options": {
"legend": { "legend": {
"calcs": [ "calcs": ["lastNotNull", "max", "min"],
"lastNotNull",
"max",
"min"
],
"displayMode": "table", "displayMode": "table",
"placement": "bottom", "placement": "bottom",
"showLegend": true "showLegend": true
@@ -182,11 +174,11 @@
}, },
"format": "time_series", "format": "time_series",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT\n s.last_changed 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 $__timeFilter(s.last_changed)\nORDER BY s.last_changed", "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",
"refId": "A" "refId": "A"
} }
], ],
"title": "Kesseltemperatur (Heissgas, \u00d6lsumpftemp, Inverter)", "title": "Kesseltemperatur (Heissgas, Ölsumpftemp, Inverter)",
"type": "timeseries" "type": "timeseries"
}, },
{ {
@@ -253,11 +245,7 @@
"id": 4, "id": 4,
"options": { "options": {
"legend": { "legend": {
"calcs": [ "calcs": ["lastNotNull", "max", "min"],
"lastNotNull",
"max",
"min"
],
"displayMode": "table", "displayMode": "table",
"placement": "bottom", "placement": "bottom",
"showLegend": true "showLegend": true
@@ -275,7 +263,7 @@
}, },
"format": "time_series", "format": "time_series",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT\n s.last_changed 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 $__timeFilter(s.last_changed)\nORDER BY s.last_changed", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -317,7 +305,7 @@
} }
] ]
}, },
"unit": "\u00b0C" "unit": "°C"
}, },
"overrides": [] "overrides": []
}, },
@@ -330,11 +318,7 @@
"id": 5, "id": 5,
"options": { "options": {
"legend": { "legend": {
"calcs": [ "calcs": ["lastNotNull", "max", "min"],
"lastNotNull",
"max",
"min"
],
"displayMode": "table", "displayMode": "table",
"placement": "bottom", "placement": "bottom",
"showLegend": true "showLegend": true
@@ -352,11 +336,11 @@
}, },
"format": "time_series", "format": "time_series",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT\n s.last_changed 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 $__timeFilter(s.last_changed)\nORDER BY s.last_changed", "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",
"refId": "A" "refId": "A"
} }
], ],
"title": "Verfl\u00fcssiger & Speichersoll", "title": "Verflüssiger & Speichersoll",
"type": "timeseries" "type": "timeseries"
}, },
{ {
@@ -407,11 +391,7 @@
"id": 6, "id": 6,
"options": { "options": {
"legend": { "legend": {
"calcs": [ "calcs": ["lastNotNull", "max", "min"],
"lastNotNull",
"max",
"min"
],
"displayMode": "table", "displayMode": "table",
"placement": "bottom", "placement": "bottom",
"showLegend": true "showLegend": true
@@ -429,7 +409,7 @@
}, },
"format": "time_series", "format": "time_series",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT\n s.last_changed 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 $__timeFilter(s.last_changed)\nORDER BY s.last_changed", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -496,11 +476,7 @@
"id": 7, "id": 7,
"options": { "options": {
"legend": { "legend": {
"calcs": [ "calcs": ["lastNotNull", "max", "min"],
"lastNotNull",
"max",
"min"
],
"displayMode": "table", "displayMode": "table",
"placement": "bottom", "placement": "bottom",
"showLegend": true "showLegend": true
@@ -518,7 +494,7 @@
}, },
"format": "time_series", "format": "time_series",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT\n s.last_changed 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 $__timeFilter(s.last_changed)\nORDER BY s.last_changed", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -562,9 +538,7 @@
"justifyMode": "auto", "justifyMode": "auto",
"orientation": "horizontal", "orientation": "horizontal",
"reduceOptions": { "reduceOptions": {
"calcs": [ "calcs": ["lastNotNull"],
"lastNotNull"
],
"fields": "", "fields": "",
"values": false "values": false
}, },
@@ -578,7 +552,7 @@
}, },
"format": "table", "format": "table",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT 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'\nORDER BY s.last_changed DESC LIMIT 1", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -622,9 +596,7 @@
"justifyMode": "auto", "justifyMode": "auto",
"orientation": "horizontal", "orientation": "horizontal",
"reduceOptions": { "reduceOptions": {
"calcs": [ "calcs": ["lastNotNull"],
"lastNotNull"
],
"fields": "", "fields": "",
"values": false "values": false
}, },
@@ -638,7 +610,7 @@
}, },
"format": "table", "format": "table",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT 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'\nORDER BY s.last_changed DESC LIMIT 1", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -694,9 +666,7 @@
"justifyMode": "auto", "justifyMode": "auto",
"orientation": "horizontal", "orientation": "horizontal",
"reduceOptions": { "reduceOptions": {
"calcs": [ "calcs": ["lastNotNull"],
"lastNotNull"
],
"fields": "", "fields": "",
"values": false "values": false
}, },
@@ -710,7 +680,7 @@
}, },
"format": "table", "format": "table",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT 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'\nORDER BY s.last_changed DESC LIMIT 1", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -754,9 +724,7 @@
"justifyMode": "auto", "justifyMode": "auto",
"orientation": "horizontal", "orientation": "horizontal",
"reduceOptions": { "reduceOptions": {
"calcs": [ "calcs": ["lastNotNull"],
"lastNotNull"
],
"fields": "", "fields": "",
"values": false "values": false
}, },
@@ -770,7 +738,7 @@
}, },
"format": "table", "format": "table",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT 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'\nORDER BY s.last_changed DESC LIMIT 1", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -814,9 +782,7 @@
"justifyMode": "auto", "justifyMode": "auto",
"orientation": "horizontal", "orientation": "horizontal",
"reduceOptions": { "reduceOptions": {
"calcs": [ "calcs": ["lastNotNull"],
"lastNotNull"
],
"fields": "", "fields": "",
"values": false "values": false
}, },
@@ -830,7 +796,7 @@
}, },
"format": "table", "format": "table",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT 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'\nORDER BY s.last_changed DESC LIMIT 1", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -874,9 +840,7 @@
"justifyMode": "auto", "justifyMode": "auto",
"orientation": "horizontal", "orientation": "horizontal",
"reduceOptions": { "reduceOptions": {
"calcs": [ "calcs": ["lastNotNull"],
"lastNotNull"
],
"fields": "", "fields": "",
"values": false "values": false
}, },
@@ -890,7 +854,7 @@
}, },
"format": "table", "format": "table",
"rawQuery": true, "rawQuery": true,
"rawSql": "SELECT 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'\nORDER BY s.last_changed DESC LIMIT 1", "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",
"refId": "A" "refId": "A"
} }
], ],
@@ -900,11 +864,7 @@
], ],
"refresh": "30s", "refresh": "30s",
"schemaVersion": 40, "schemaVersion": 40,
"tags": [ "tags": ["homeassistant", "tec", "heat-pump"],
"homeassistant",
"tec",
"heat-pump"
],
"templating": { "templating": {
"list": [] "list": []
}, },
@@ -914,7 +874,7 @@
}, },
"timepicker": {}, "timepicker": {},
"timezone": "browser", "timezone": "browser",
"title": "Tecalor W\u00e4rmepumpe", "title": "Tecalor Wärmepumpe",
"uid": "tec-waermepumpe", "uid": "tec-waermepumpe",
"version": 1 "version": 1
} }