Es gibt jeweils Beschreibungen abhängig vom System das man nutzten will.
Grafana & InfluxDB
Moderator: Co-Administratoren
- anli
- Beiträge: 4326
- Registriert: 10.06.2009, 14:01
- Wohnort: 20 Min. nördlich von Hannover und bei Bremen
- Hat sich bedankt: 1 Mal
- Danksagung erhalten: 23 Mal
- Kontaktdaten:
Re: Grafana & InfluxDB
Mit redmatic, dem TICK-Stack und Grafana ist das ein nobrainer.
Redmatic ist für die Raspimatic und CCU3 als Addon verfügbar, bei CCU2 und CCU1 kann es auch extern laufen.
Als erstes alle benötigen Komponenten installieren (redmatic, TICK-Stack, grafana). Dann die Verbindung in redmatic zur ccu einrichten, Datenbank in influxdb einrichten, datasource in grafana einrichten.
Dann in redmatic influxdb adapter installieren: Burger-Menu, manage palette, dann
Dann den Flow anlegen
im rpc event Topic wie gewünscht anlegen, wenn gewünscht Filter einrichten, "emit only changed values" auswählen
Mit change node die in msg.topic enthaltenen Daten in msg.measurement umspeichern, da influxdb die Daten dort erwartet
Dann mit function-Node und folgendem Skript Leerzeichen escapen (Bug im influxdb-Connector, wenn der mal gefixt wird, erhält man evtl. doppelte \\, dann das Skript wieder löschen):
Und dann ab in die Datenbank:
WICHTIG: Wenn alles fertig eingerichtet ist, oben rechts auf Deploy klicken, damit es aktiv wird!
Redmatic ist für die Raspimatic und CCU3 als Addon verfügbar, bei CCU2 und CCU1 kann es auch extern laufen.
Als erstes alle benötigen Komponenten installieren (redmatic, TICK-Stack, grafana). Dann die Verbindung in redmatic zur ccu einrichten, Datenbank in influxdb einrichten, datasource in grafana einrichten.
Dann in redmatic influxdb adapter installieren: Burger-Menu, manage palette, dann
Dann den Flow anlegen
im rpc event Topic wie gewünscht anlegen, wenn gewünscht Filter einrichten, "emit only changed values" auswählen
Mit change node die in msg.topic enthaltenen Daten in msg.measurement umspeichern, da influxdb die Daten dort erwartet
Dann mit function-Node und folgendem Skript Leerzeichen escapen (Bug im influxdb-Connector, wenn der mal gefixt wird, erhält man evtl. doppelte \\, dann das Skript wieder löschen):
Code: Alles auswählen
msg.measurement = msg.measurement.replace(/ /g, '\\ ');
return msg;
Herzliche Grüße, anli
Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.
Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)
Einsteiger-Hilfe • erweiterter Skript-Parser
Alle Angaben ohne Gewähr und Haftung meinerseits. Verwendung der von mir zur Verfügung gestellten Downloads auf eigene Gefahr. Ich bitte um Verständnis, dass ich aus zeitlichen Gründen keine unaufgeforderte Hilfestellung per PN/Mail geben kann. Bitte allgemeine Fragen ins Forum stellen, hier können viele fähige User viel schneller helfen.
Homematic-Manager v2: einfaches Tool zum Erstellen von Direktverknüpfungen und Bearbeiten von Gerätenamen, -parametern etc. für Homematic und HomematicIP (Alternative diesbzgl. zur WebUI)
Einsteiger-Hilfe • erweiterter Skript-Parser
Re: Grafana & InfluxDB
Hallo,
ganz doofe Frage zu RedMatic/Node Red:
Wie verhält sich so ein Flow, wenn die influxDB mal nicht erreichbar ist? Wie kann ich sicherstellen, dass die Messwerte in dieser Zeit nicht verloren gehen?
Vielen Dank
ganz doofe Frage zu RedMatic/Node Red:
Wie verhält sich so ein Flow, wenn die influxDB mal nicht erreichbar ist? Wie kann ich sicherstellen, dass die Messwerte in dieser Zeit nicht verloren gehen?
Vielen Dank
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Grafana & InfluxDB
Der von Anli beschriebene Flow kümmert sich da nicht drum, wenn Influx nicht erreichbar ist sind die Werte verloren. Spräche allerdings nichts dagegen sich einen komplexeren Flow zu bauen der die Werte im Context cached und einen Retry-Mechanismus implementiert beim Schreiben in die Influx. Ich halte das allerdings für komplizierter und aufwendiger als sicherzustellen dass die Influx läuft (die bei mir übrigens in >4 Jahren kein einziges mal gecrashed ist)
Re: Grafana & InfluxDB
Hallo,
Danke fürs Feedback.
Da die influxdb auf einem anderen PI laufen muss und ggfs auch mal runtergefahren, gebootet wird, oder auch mal Netzwerk den Problem haben könnte, werde ich mal ne chache Variante probieren.
Gruss
Danke fürs Feedback.
Da die influxdb auf einem anderen PI laufen muss und ggfs auch mal runtergefahren, gebootet wird, oder auch mal Netzwerk den Problem haben könnte, werde ich mal ne chache Variante probieren.
Gruss
-
- Beiträge: 3978
- Registriert: 12.07.2009, 20:01
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 176 Mal
- Kontaktdaten:
Re: Grafana & InfluxDB
Influx auf dem Pi ist so ne Sache... Das kann gut gehen - wenn man nicht zu viele Measurements mit nicht zu hoher Frequenz schreibt. Bei einem "alles Loggen" Ansatz und vielen Geräten geht es aber ziemlich wahrscheinlich schief. Erstens mag eine SD Card es nicht so gern wenn andauernd geschrieben wird und zweitens ist die Performance einer SD so schlecht dass Downsampling und Lesen aus der Datenbank saulahm wird. Nicht umsonst sagen die Macher von InfluxDB dass man ein Kiste mit SSD nutzen soll, selbst von HDDs wird abgeraten:
Was das Caching und den Retry angeht: ich würd da genau überlegen ob der Aufwand sich lohnt. Ist nicht grade super-trivial, führt also auch selbst weitere mögliche Fehlerquellen ein. Ein Reboot nach einem Kernelupdate o.Ä. ist normalerweise eh so schnell erledigt dass bei den üblichen 3-Minuten Intervallen von Homematic Sensoren eigtl. nie mehr als 1 Datenpunkt verloren geht, bei einer Temperaturmessung z.B. imho völlig egal. Und über Netzwerk würd ich mir auch kein Kopf machen, Ethernet mit einem modernen Switch ist definitiv das zuverlässigste Glied in der Kette.What kind of storage do I need?
InfluxDB is designed to run on SSDs. InfluxData does not test on HDDs or networked storage devices, and we do not recommend them for production. Performance is an order of magnitude lower on spinning disk drives and the system may break down under even moderate load. For best results InfluxDB servers must have at least 1000 IOPS on the storage system.
-
- Beiträge: 117
- Registriert: 08.06.2019, 13:25
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Salzburg
- Hat sich bedankt: 9 Mal
- Danksagung erhalten: 3 Mal
Re: Grafana & InfluxDB
Hallo Leute,
super Sache das Ganze und bei mir auch schon so im Einsatz
Eine Frage hätte ich jedoch zur "Datenstruktur".
Derzeit werden ja alle Datenpunkte als eigenes Measurement in der InfluxDB gespeichert. Ich hätte bei mir jetzt aber die Anforderung, dass ich aus 2 Measurements etwas berechnen müsste und das gibt offenbar die InfluxDB schlichtweg nicht her. Ich würde mir zB.: gerne die Taupunkttemperaturen berechnen aus Temperatur und Luftfeuchtigkeit. Allerdings schaffe ich es nicht in einem Query diese beiden Values gleichzeitig zu bekommen.
Ich hätte mich mit RedMatic auch schon etwas gespielt. Nur leider krieg ich's nicht hin
Wie kann ich zB.: alle Values eines Geräts (man nehme das Raumthermostat) in ein Measurement zusammenfassen?!
super Sache das Ganze und bei mir auch schon so im Einsatz
Eine Frage hätte ich jedoch zur "Datenstruktur".
Derzeit werden ja alle Datenpunkte als eigenes Measurement in der InfluxDB gespeichert. Ich hätte bei mir jetzt aber die Anforderung, dass ich aus 2 Measurements etwas berechnen müsste und das gibt offenbar die InfluxDB schlichtweg nicht her. Ich würde mir zB.: gerne die Taupunkttemperaturen berechnen aus Temperatur und Luftfeuchtigkeit. Allerdings schaffe ich es nicht in einem Query diese beiden Values gleichzeitig zu bekommen.
Ich hätte mich mit RedMatic auch schon etwas gespielt. Nur leider krieg ich's nicht hin
Wie kann ich zB.: alle Values eines Geräts (man nehme das Raumthermostat) in ein Measurement zusammenfassen?!