BitNotice #134 - Volkszähler-Daten mit Grafana visualisieren
(77 MB) 00:17:25
2018-09-12 17:30 🛈Das Projekt Volkszähler hatte ich ja schon öfter gezeigt: Mit diesem lassen sich über längere Zeiträume Messwerte sammeln und darstellen. Auch wenn es prinzipiell funktioniert: Inzwischen gibt es Konkurrenzprojekte, welche interessante Funktionen haben. Eines davor ist Grafana – eine reine Messwertvisualisierung, welche durch einfache Bedienung und großen Funktionsumfang heraussticht. In der aktuellen Version können auch Daten auf MySQL-Tabellen angezeigt werden – also jene Datenbank, die auch der „VZ“ nutzt. Verheiraten wir das Ganze doch einfach und nutzen Grafana zum Anzeigen der VZ-Daten.
Code
Using Channel-IDs (that’s not UUID)
SELECT timestamp/1000 as time_sec, data.value as value, properties.value as metric FROM data LEFT JOIN properties ON (properties.entity_id = data.channel_id) LEFT JOIN entities ON (entities.id = data.channel_id) WHERE (channel_id = 1 || channel_id = 2 || channel_id = 3) AND (timestamp/1000) >= $__unixEpochFrom() AND (timestamp/1000) <= $__unixEpochTo() AND properties.pkey = 'title' ORDER BY timestamp ASC
Using channel names
SELECT timestamp/1000 as time_sec, data.value as value, properties.value as metric FROM data LEFT JOIN properties ON (properties.entity_id = data.channel_id) LEFT JOIN entities ON (entities.id = data.channel_id) WHERE (properties.value = "Flur" || properties.value = "Werkstatt" ) AND (timestamp/1000) >= $__unixEpochFrom() AND (timestamp/1000) <= $__unixEpochTo() AND properties.pkey = 'title' ORDER BY timestamp ASC
Using UUID
SELECT timestamp/1000 as time_sec, data.value as value, properties.value as metric FROM data LEFT JOIN properties ON (properties.entity_id = data.channel_id) LEFT JOIN entities ON (entities.id = data.channel_id) WHERE (uuid = "12345678-1234-1234-1234-1234567890ab" || uuid = "12345678-1234-1234-1234-1234567890ac" ) AND (timestamp/1000) >= $__unixEpochFrom() AND (timestamp/1000) <= $__unixEpochTo() AND properties.pkey = 'title' ORDER BY timestamp ASC