Einfach CCU-Historian Daten mit Grafana visualisieren dank Docker

Ich bin totaler Fan von irgendwelchen Graphen (sinnvoll oder nicht), die mir z.B. den Verlauf der Helligkeit in meinem Garten anzeigen (welcher mit der Homematic Wetterstation ermittelt und in CCU-Historian gespeichert wird). Daher musste ich mir Grafana zulegen, welches mir für einige meiner Sensoren ansehnliche Diagramme erstellt.

So behalte ich z.B. immer den Überblick, ob ich meinem Nachwuchs mal wieder erklären muss, wie man richtig lüftet – wenn die Netatmo Raumsensoren mal wieder eine CO2 Konzentration über 2000ppm gemessen haben sollte man mal lüften.

Beispiel eine CO2 Wert Übersicht

Da ich nicht alles manuell installieren will, greife ich gerne auf Docker Container zurück, welche sich meist einfacher einrichten lassen. Als Umgebung nutze ich dazu ein Synology NAS.

Für diesen Anwendungsfall nutze ich zwei Container:

Einrichtung CCU-Historian

In DSM des Synology NAS öffnet man Docker und sucht unter Registrierung nach CCU-Historian, ich habe mich hier für das Docker Image von xjokay entschieden. Image in der Liste auswählen und mit Download herunterladen

Wurde das Image heruntergeladen, findet man dies unter Abbild. Den xjokay/ccu-historian:latest Eintrag in der Liste auswählen und auf Starten klicken. Man kann dem Container einen eigenen Namen geben, kann aber auch einfach den Namen stehen lassen. Ich habe weder den Container mit hoher Priorität ausgeführt, noch irgendwelche Ressourcenbeschränkungen eingestellt.

Die wichtigen Einstellungen erfolgen unter Erweiterte Einstellungen. Hier muss bei Volume, Port-Einstellungen und Umgebung etwas eingetragen werden.

Unter Volume verknüpft man lokale Verzeichnisse auf dem NAS mit dem Container. Dazu habe ich auf meinem NAS ein Docker Verzeichnis für alle möglichen Container angelegt, und dann je Container ein Unterverzeichnis, aber dies ist jedem selbst überlassen.

Meine Beispiel Pfade Container Pfad
docker/ccu_hist/data/database/database
docker/ccu_hist/data/config/opt/ccu-historian/config
Volume Einträge
So sollte das Ergebnis aussehen

Im nächsten Schritt die Port Einstellungen. Sollte man hier eigene Anpassungen vornehmen, bitte in der nachfolgenden Beschreibung berücksichtigen (z.B. den Port für die PostgreSQL).

Lokaler
Port
Container
Port
ProtocolDescription
802080TCPWeb-GUI Port
20982098TCPXml RPC Port
20992099TCPBin RPC Port
80828082TCPDatabase Web-GUI Port
90929092TCPDatabase TCP Port
54355435TCPDatabase PostgreSQL Port
Verwendete Port-Einstellung mit meinen Ports

Als letzte Einstellung erfolgt das Setzen von drei notwendigen Umgebungsvariablen im Tab Umgebung. Ich habe eine CCU3 im Einsatz, mit der IP 192.168.1.43. Zusätzlich läuft mein NAS unter der IP 192.168.1.10, daher ergeben sich für mich folgende Einträge

ENV fieldValuesDescription
CONFIG_CCU_TYPECCU3Type of the CCU hardware
CONFIG_CCU_IP192.168.1.43IP of the CCU
CONFIG_HOST_IP192.168.1.10IP of the Docker host
Benötigte Umgebungsvariablen

Daraufhin kann man den Container speichern und starten. Nach kurzer Zeit sollte unter der Adresse http://192.168.1.10:8020 (IP für eigenes NAS anpassen) das CCU Historien WEB-UI aufrufbar sein.

CCU-Historian Web-UI
CCU-Historian Web-UI Ausschnitt

Im CCU-Historian Web-UI kann man sich schon ein paar Kurven anzeigen lassen, aber mit Grafana sieht es irgendwie schicker aus.

Für Grafana brauchen wir den Zugriff auf die Datenbank, hinter CCU-Historian. Um das Datenbank UI aufzurufen und in den Daten stöbern zu können, müssen wir die URL http://192.168.2.10:8082 verwenden (IP anpassen) und sollten folgendes sehen

CCU-Historian Database Web-UI
CCU-Historian Datenbank UI

Einfach anmelden und dann kann man sich die nackten Daten anschauen. Das Passwort lautet „ccu-historian„.

Damit ist aber der Zugriff via Grafana noch nicht ganz möglich. Erst muss die Konfiguration noch entsprechend angepasst werden. Nach dem Start des Container, sollte im Config (im Beispiel docker/ccu_hist/data/config) Verzeichnis eine Datei ccu-historian.config zu finden sein. Diese muss an zwei Stellen angepasst werden database.pgEnable=true und database.pgAllowOthers=true, danach sollte der Inhalt in etwa so aussehen:

database.dir='/database'
database.webAllowOthers=true
database.pgEnable=true
database.pgAllowOthers=true
devices.device1.address='192.168.1.43'
devices.device1.type=CCU3
devices.historianAddress='192.168.1.10'
webServer.historianAddress='192.168.1.10'

Den Container nach der Änderung der Konfiguration einmal über die Docker Oberfläche durchstarten.

Einrichtung von Grafana

Als erstes muss der Grafana Container von Dockerhub geladen werden, dies erfolgt wie bei CCU-Historian in der Docker Oberfläche von DSM im Unterbereich Registrierung. Diesmal sucht man nach Grafana und wählt den Docker Container von Grafana selbst aus (sollte der erste Eintrag sein).

Grafana Suchergebnis

Wieder erst den Container herunterladen und dann im Bereich Abbild den Container grafana/grafana:latest auswählen und auf Starten klicken. Im Unterschied zu CCU-Historian, kann man in diesem Fall die Einstellungen alle direkt übernehmen und direkt im erscheinenden Dialog auf Weiter klicken.

Name vergeben und direkt weiter

In der darauffolgenden Übersicht, sieht man nochmal alle Einstellungen, unter anderem, den Port unter dem man das Web-UI von Grafana findet (hier Automatisch, was bedeutet, dass der Port bei Start des Container vergeben wird und in der DSM Container Ansicht angezeigt wird). Sollte der Default-Port 3000 schon belegt sein, oder man möchte einen eigenen festlegen, kann man zurückgehen und den Port unter Erweiterte Einstellungen noch festlegen.

Default Einstellungen mit automatischer Port-Zuteilung

Wenn man den Haken bei „Diesen Container nach Abschluss des Assistenten ausführen“ gesetzt hat, kann man nach kurzer Zeit direkt das Grafana UI aufrufen http://192.168.1.10:3000

Grafana Login Screen

Die erste Anmeldung erfolgt mit User admin und Passwort admin. Nach Bestätigung wird man direkt aufgefordert, dass Passwort zu ändern, was man tun sollte. Ist dies erledigt, kommt man auf den Homescreen, welcher einem direkt die Dinge anzeigt, die man zu erledigen hat, eine Datenquelle einfügen und ein Dashboard anlegen (den Rest ignoriere wir jetzt erstmal).

Grafana Setup Workflow

Mit dem Klick auf Add data source kommt man zu einer Liste von möglichen Quellen. Wir interessieren und für eine SQL Quelle, um genau zu sein, für eine PostgreSQL. Diese in der Liste suchen und mit einem Klick auf Select die Konfiguration starten.

Wir geben der Verbindung einen Namen, z.B. CCU, tragen den CCU-Historian Host mit Port ein 192.168.1.10:5435 und geben den Pfad an, unter dem die Datenbank liegt. Unter einem Synology Docker Container sollte dieser Pfad immer ../../database/history sein. User und Passwort sind wie bei CCU-Historian Database Web-UI sa und ccu-historian. Da wir kein SSL installiert haben, muss dies hier deaktiviert werden (es befindet sich alles in einem privaten und geschütztem Netzwerk, daher sollte dies kein Problem sein)

PostgreSQL Konfiguration für CCU-Historian

Als letzten Schritt die Konfiguration mit einem klick auf Save & Test speichern und überprüfen. Ist die Konfiguration korrekt, wird dies durch die Meldung Database Connection OK bestätigt.

Jetzt brauchen wir noch ein Dashboard, um die Daten anzuzeigen. Dazu müssen wir auf dem Homescreen ein neues Dashboard anlegen. Zum Homescreen kommt man am schnellsten mit einem Klick auf das Grafana Logo links oben. Dort sieht man im Workflow als nächsten Eintrag New dashboard, worauf wir klicken.

Ein neues leeres Dashboard

Wir fügen nun eine neue Abfrage auf dem vorhanden Panel ein, dazu auf Add Query klicken und das Panel wird angezeigt. In der Ansicht wählen wir in der Auswahlliste Query den Eintrag CCU aus und wechseln im Query Bereich mittels dem Stift Symbol in die SQL Ansicht der Abfrage.

So sollte das Bild aussehen

Als Beispiel wollen wir die Temperatur der Wetterstation visualisieren. Die Tabelle dazu finden wir mittels dem CCU-Historian Web UI, dort sucht man z.B. nach „temperature“, bekommt dann die Liste aller Homematic Komponenten, die einen Parameter mit dem Namensbestandteil „temperature“ haben, in meinem Fall nur die Wetterstation.

Ergebnis der Suche nach Temperature

Man wählt den gewünschten Eintrag aus, in dem Fall ACTUAL_TEMPERATURE, und klickt auf Details. In dieser Ansicht findet man in der Tabelle den Eintrag Tabellenname mit dem gesuchten Wert, hier: D_HMIP_RF_00185BE73E40A0_1_ACTUAL_TEMPERATURE

Die daraus resultierende Abfrage lautet:

SELECT 
  TS_TO_UNIX(TS) AS time, 
  "VALUE" as Aussentemperatur
FROM 
  D_HMIP_RF_00185BE73E40A0_1_ACTUAL_TEMPERATURE 
WHERE 
  $__timeFilter(ts)
ORDER BY ts

Diese Abfrage kann man theoretisch für alle Parameter 1:1 übernehmen, man muss nur die Tabelle anpassen und dem Value einen passenden Namen.

Mit Version > 3.0.1 von CCU-Historian beachten

Von Version 3.0.1 verwendet CCU-Historian scheinbar eine neue H2 Datenbank Version, die Schlüsselwörter berücksichtigt, welche damit nicht mehr verwendet werden dürfen.
Für CCU-Historian hat dies zur Folge, dass der Spaltenname VALUE eigentlich nicht mehr verwendet werden darf. Damit man diesen aber dennoch in einer Grafana Abfrage verwenden kann, muss man das Wort in Doppelhochkomma setzen und genau so schreiben wie in der Datenbank definiert, also in Großbuchstaben ("VALUE").

Ergebnis des SQL

Wenn man möchte kann man im Bereich „General“ dem Panel noch einen sprechenderen Namen geben und dann das ganze speichern.

Jetzt kann man beliebig mit Grafana rumspielen und auf die CCU-Historian Daten zugreifen.


Beitrag veröffentlicht

in

von

Schlagwörter:

Kommentare

29 Antworten zu „Einfach CCU-Historian Daten mit Grafana visualisieren dank Docker“

  1. Avatar von Hasan Ugur Arslan
    Hasan Ugur Arslan

    Hallo,
    erstmal vielen Dank für die gute Anleitung. Ich habe leider ein kleines Problem. Ich bekomme bei den exakt gleichen Einstellungen (außer die Ordnerpfade auf der Synology) immer wieder folgende Fehlermeldung:
    „read tcp 172.17.0.3:55952->192.168.2.98:5435: read: connection reset by peer“

    1. Avatar von Michael
      Michael

      Hallo,
      du bekommst die Fehlermeldung beim Anlegen des CCU-Historian Container? Oder wann genau bekommst du die Meldung?
      Den Port 55952 versteh ich nämlich nicht, woher der kommen soll.

      Michael

      1. Avatar von Hasan Ugur Arslan
        Hasan Ugur Arslan

        Ich bekommen den Fehler in grafana. Wenn ich eine neue Datenquelle erzeugen möchte (Datasource). Ich wähle Postgre an, gebe die Daten ein, beim Klicken auf Test&Save kommt die Fehlermeldung. Ergänzende Infos: Sowohl der CCU-Historian als auch Grafana laufen auf einer Synology im Docker.
        Der CCU-Historian läuft bereits seit Anfang Dezember 2020 einwandfrei. Jetzt wollte ich die Daten in Grafana visualisieren. Den Historian habe ich auch nach Ihrer/deiner Anleitung eingerichtet. Hat alles wunderbar geklappt.

        1. Avatar von Michael
          Michael

          Die ccu-historian.config scheint nicht korrekt zu sein, wenn ich dort die beiden genannten Änderungen zurücknehme, bekomme ich auch die Fehlermeldung.

          Also prüfe nochmal, ob diese beiden Werte so gesetzt sind:
          database.pgEnable=true
          database.pgAllowOthers=true

          Michael

          1. Avatar von Hasan Ugur Arslan
            Hasan Ugur Arslan

            Hallo Michael,

            vielen Dank für deine Hilfe. Der Fehler lag auf jeden Fall an der config-Datei. Obwohl ich sie angepasst habe! Das ist aber das spannende an dem Fehler. Ich hatte die Mount-Pfade nicht genauso wie du. Host/Volume habe ich ja selbst festgelegt /volume1/docker/ccu_hist/data/config. In den „Path in container“ (rechte Spalte) habe ich /config eingetragen…. Das war der Fehler. So habe ich zwar die Config-Datei verändert, aber der Dockercontainer hat immer die ursprüngliche Config-Datei beim Neustarten „genutzt“.
            Ich habe wirklich alles probiert bei der Fehlersuche, am Ende habe ich alles gelöscht und genau nach deiner Anleitung alles nochmal neu installiert. Auch die Pfade auf meinem Host(Synology) habe ich genauso wie du eingerichtet. Jetzt funktioniert es! Vielen Dank nochmal!
            Da ich von Docker keine Ahnung habe, muss ich mich hier nochmal schlau machen.
            Viele Grüße
            Hasan

  2. Avatar von Torsten
    Torsten

    Hallo Michael,
    Klasse Anleitung, hat auf Anhieb funktioniert. 🙂
    Vielen Dank dafür
    Torsten

    1. Avatar von Michael
      Michael

      Hallo Torsten,
      freut mich zu hören, dass die Anleitung geholfen hat!
      Danke für das Feedback.

      Michael

  3. Avatar von JayJay
    JayJay

    Hallo,
    geile Anleitung vielen Dank. Ich hab keine Wetterstation, aber dafür viele Raum Temperatur Sensoren. Ich hab das gefühl mir fehlen die Daten komplett. Wenn ich in Historian rein gucke sind da keine Datenpunkte keine Daten ich kann auch nichts richtig einstellen. Muss ich im CCU3 oder in Historian noch was einstellen?

    Grüße
    Jörn

  4. Avatar von Jay Jay
    Jay Jay

    Problem gefunden: Vielleicht ein Tip für andere:
    für den Zugriff auf die CCU3 brauchte ich noch username und password
    devices.device1.username=’Admin‘
    devices.device1.password=’password‘
    und herausgefunden habe ich es mit hilfe der Log:
    logSystem.consoleLevel=Level.FINER
    logSystem.fileLevel=Level.FINER
    logSystem.fileName=’/database/ccu-historian-%g.log‘
    logSystem.fileLimit=1000000
    logSystem.fileCount=5
    logSystem.binRpcLevel=Level.WARNING

  5. Avatar von Viktor
    Viktor

    Hallo kann mir bitte jemand helfen ich bekomme ein Fehler beim erstellen von ( Add data source) invalid DSN: did you forget to escape a param value?

    Die ccu-historian.config Datei habe ich nach geguckt sit genau so aus wie auf dem Bild

    Was kann ich machen

  6. Avatar von Viktor
    Viktor

    Hallo was muß ich machen bei diesem Fehler

    invalid DSN: did you forget to escape a param value?

    1. Avatar von Michael Schmut
      Michael Schmut

      Hallo Viktor,

      mir ist noch nicht klar, wann exakt die Fehlermeldung auftritt. Beim Aufsetzen von CCU-Historian? Wie sieht die Config genau aus (also wirklich alle Werte 1:1 – bis auf die IP)?

      Viele Grüße
      Michael

  7. Avatar von Viktor
    Viktor

    Hallo Michael

    bei erstellen vin ( Add data source) in Grafana drücke ich dann auf Speichern Dan kommt der Fehler, die config haben ich genau so wie du gemacht ich habe es rein kopiert und die IP geändert, bei erschtelen von CCU-HISTORIAN in Umgebung habe ich noch CONFIG_CCU_USERNAME
    CONFIG_CCU_PASSWORD
    rein gemacht wall ich auf CCU Passwört habe, aber vorher habe ich auch ohne so wie bu gemacht hat aber auch nicht funktioniert.

    1. Avatar von Michael Schmut
      Michael Schmut

      Hallo Viktor,

      also du konntest dich via dem „CCU-Historian Datenbank UI“ (Bildunterschrift im Artikel) an der Datenbank direkt anmelden und siehst auch irgendwelche Tabellen dort (vgl. Screenshot „CCU-Historian Web-UI Ausschnitt“)?
      Dann liegt der Fehler nicht an der Config von CCU-Historian, sondern die Config sollte sich korrekt mit deiner CCU verbunden haben.

      Der Fehler hört sich ja eher wie ein Pfad Fehler wie du die DB in Grafana einbindest an. Also als ob irgendwelche Sonderzeichen in deinem Pfad vorkommen. Falls du da nur „/“ als Sonderzeichen drin haben solltest, könntest du versuchen jedes „/“ durch die Zeichenkette „%2F“ zu ersetzen. Falls du noch andere Sonderzeichen in dem Pfad haben solltest (also der Wert, der in meiner Beschreibung mit „../../database/history“ angegeben ist, versuche diese ebenfalls zu ersetzen.

      Viele Grüße
      Michael

  8. Avatar von Viktor
    Viktor

    Hallo Michael

    Es klappt nicht ich bin schon am verzweifeln, in Grafana habe ich nur MySQL und nicht den PostgreSQL macht das was aus. Kann es sein das es mit Port Freigabe 5435 nicht funktioniert

  9. Avatar von Dirk
    Dirk

    Hallo Michael,

    vorweg! 1a Anleitung. Danach hab ich schon lange gesucht., weil ich in Sachen grafana noch nicht so viel Kenntnis hab.

    Hab heute alles nach Deiner Anleitung eingerichtet. Kann mich auch auf die db verbinden. Leider bekomme ich aber immer wenn ich die query einrichte diese Fehlermeldung:

    db query error: pq: Syntax error in SQL statement „SELECT \000d\000a (timestamp) AS time, \000d\000a [*]value as Aussentemperatur\000d\000aFROM \000d\000a D_CUXD_CUX0100001_1_TEMPERATURE\000d\000aWHERE \000d\000a ts BETWEEN ‚2022-04-18T16:22:38.161Z‘ AND ‚2022-04-18T16:27:38.161Z’\000d\000aORDER BY ts“; expected „*, INTERSECTS, NOT, EXISTS, UNIQUE, INTERSECTS“; SQL statement: SELECT (timestamp) AS time, value as Aussentemperatur FROM D_CUXD_CUX0100001_1_TEMPERATURE WHERE ts BETWEEN ‚2022-04-18T16:22:38.161Z‘ AND ‚2022-04-18T16:27:38.161Z‘ ORDER BY ts [42001-212]

    Die abfrage sieht so aus:

    SELECT
    TS_TO_UNIX(TS) AS time,
    value as Aussentemperatur
    FROM
    D_CUXD_CUX0100001_1_TEMPERATURE
    WHERE
    $__timeFilter(ts)
    ORDER BY ts

    der datensatz lässt sich im historian auslesen und hat auch werte hinterlegt. In der webUI der H2 console der Datenbank kann ich via „SELECT FROM D_CUXD_CUX0100003_1_TEMPERATURE“ die Anzahl der Datensätze sehen. Also sollte das passen.

    meine Config sieht so aus:

    logSystem.fileLevel=Level.INFO
    logSystem.fileName=’/opt/ccu-historian/config/ccu-historian-%g.log‘
    logSystem.fileLimit=1000000
    logSystem.fileCount=5
    logSystem.binRpcLevel=Level.INFO
    database.dir=’/database‘
    database.webAllowOthers=true
    database.webEnable=true
    database.pgEnable=true
    database.pgAllowOthers=true
    devices.device1.address=’192.168.3.251′
    devices.device1.type=CCU2
    devices.historianAddress=’192.168.2.68′
    webServer.historianAddress=’192.168.2.68′
    devices.device1.plugin1.type=CUXD

    Das log der historian zeigt nichts relevantes für die fehlersuche.

    Mir ist auch aufgefallen, dass die zeit immer 2h später anzeigt, als es tatsächlich ist.
    in der historian kann man im Docker via „TZ – UTC-2“ das justieren. Warum auch immer -2, aber dann hat es gepasst.

    via XML-API und dem „infinity“ Plugin kann ich die aktuellen werte in grafana über den „gauge“ anzeigen, aber das ist halt immer nur der live wert, ohne Aufzeichnung dahinter. Deshalb wäre mir die Anbindung in die db noch sehr wichtig.

    Hast Du eine Idee woran das liegen könnte?

    1. Avatar von Michael Schmut
      Michael Schmut

      Hallo Dirk,

      sorry für die verspätete Antwort!

      Du verwendest wahrscheinlich schon CCU-Historian 3.0.1 (wie CCU Bert in seinem Kommentar erwähnt hat). Ich habe mal meine Umgebung heute auf 3.0.1 aktualisiert und bekommen dann den selben Fehler.
      Nach etwas testen, habe ich das Problem identifizieren können. Die Spalte „value“ ist unglücklich gewählt, denn Value ist eigentlich ein Schlüsselwort von H2, was H2 bisher aber nicht wirklich gestört hat. Neuere Version, wie die jetzt von CCU-Historian verwendete, haben aber ein Problem damit.

      Es gibt eine einfache Lösung, das Wort VALUE in doppelte Hochkommas einschließen und wie der Spaltenname in der Datenbank in Großbuchstaben, dann klappt es wieder.

      SELECT
      TS_TO_UNIX(TS) AS time,
      „VALUE“ as Aussentemperatur
      FROM
      D_HMIP_RF_00185BE73E40A0_1_ACTUAL_TEMPERATURE
      WHERE
      $__timeFilter(ts)
      ORDER BY ts

      Hoffe dies funktioniert bei dir auch.

      Michael

  10. Avatar von CCU Bert
    CCU Bert

    Hallo Michael

    seit der neuen Historian Version (3.0.1) bekomme ich bei allen Abfragen in Grafana derartige Fehler:

    “ query error: pq: Syntax error in SQL statement „SELECT \000a TS_TO_UNIX(ts) AS time, \000a [*]value AS Windgeschwindigkeit\000aFROM \000a D_HMIP_RF_00000000000_1_WIND_SPEED\000aWHERE \000a ts BETWEEN ‚2022-04-19T14:08:42.97Z‘ AND ‚2022-04-19T14:13:42.97Z’\000aORDER BY ts\000a“; expected „*, INTERSECTS, NOT, EXISTS, UNIQUE, INTERSECTS“; SQL statement: SELECT TS_TO_UNIX(ts) AS time, value AS Windgeschwindigkeit FROM D_HMIP_RF_000000000000_1_WIND_SPEED WHERE ts BETWEEN ‚2022-04-19T14:08:42.97Z‘ AND ‚2022-04-19T14:13:42.97Z‘ ORDER BY ts [42001-212]“

    Kannst du helfen?

    1. Avatar von Michael Schmut
      Michael Schmut

      Hallo CCU Bert,

      wie ich Dirk oben schon geantwortet habe, H2 ist jetzt restriktiver und achtet auf Schlüsselwörter wie den Spaltennamen VALUE.

      Eine Lösung die bei mir funktioniert ist, das Wort VALUE in doppelte Hochkommas einschließen und wie der Spaltenname in der Datenbank in Großbuchstaben, dann klappt es wieder.

      SELECT
      TS_TO_UNIX(TS) AS time,
      „VALUE“ as Aussentemperatur
      FROM
      D_HMIP_RF_00185BE73E40A0_1_ACTUAL_TEMPERATURE
      WHERE
      $__timeFilter(ts)
      ORDER BY ts

      Michael

      1. Avatar von CCU Bert
        CCU Bert

        Hallo Michael,

        funktioniert perfekt, Danke

  11. Avatar von Michael Schmut
    Michael Schmut

    Wenn jemand die Docker Container von CCU Historian 2.9.0 auf 3.0.1 aktualisiert, sollte er vorher ein Datenbank Export machen und dann erst die neue Docker Image Version installieren.

    https://github.com/mdzio/ccu-historian/releases/tag/3.0.1

    Leider funktioniert mit dem Docker Image nur die Export/Import Variante (wenn man nicht das Docker Image anpassen will, und das Kommando zur Ausführung ändert).

  12. Avatar von Peter
    Peter

    Hallo Michael

    Vielen Dank für die detaillierte Anleitung.
    Leider kann ich mich mit Grafana nicht mit dem CCU-Historian verbinden.
    Nach „Save&Test“ erscheint immer die Meldung „db query error: failed to connect to server – please inspect Grafana server log for details“ und „logger=tsdb.postgres err=“dial tcp 192.168.1.200:5435: connect: connection timed out“

    Kurz zu meiner Umgebung:
    CCU-Historian Version 3.0.3
    Grafana Version 9.0.2
    Synology Diskstation DS720+ mit DSM 7.1-42661 Update 3
    CCU-Historian und Grafana habe ich exakt nach deiner Anleitung installiert und auch die ccm-historian.config habe ich angepasst. Beim Start von CCU-Historian sehe ich auch, dass die aktualisierte Version übernommen wird.

    Über die Ports 8020 und 8082 kann ich mich via Browser auch auf der Datenbank einloggen und sehe die Daten.

    Die Firewall-Ports habe ich alle freigegeben.
    Leider finde ich nirgends eine Lösung für mein Problem.

    Hast du eine Idee?

  13. Avatar von Martin
    Martin

    Hallo Michael,

    ich betreibe den ccu-Historian auf einem Windowsrechner. Der Historian läuft seit Monaten problemlos und liefert Daten. Auf dem gleichen Windowsrechner habe ich Grafana installiert. Grafana läuft auch und ich versuche seit Tagen über deine aufgeführte Anleitung eine Verbindung zum Historian herzustellen. Ich bekomme keine Daten angezeigt sondern erhalte den folgenden Fehler angezeigt „db query error: failed to connect to server – please inspect Grafana server log for details“ Ich habe leider keine Idee wie und wo ich das Problem beseitigen kann. Um eine Antwort bzw. Hilfe würde ich mich freuen.
    Martin

    1. Avatar von Michael Schmut
      Michael Schmut

      Hallo Martin,
      der Datenbank-Pfad dürfte zumindest anders sein als bei der DSM Installation, also das „../../database“ ist anders – vermute aber den hast du angepasst.
      Aber ich bräuchte ein paar mehr Angaben, um mir ein Bild von der Installation zu machen. Und was steht im Log im Detail für eine Fehlermeldung?

      Viele Grüße
      Michael

  14. Avatar von Alex Koch
    Alex Koch

    Hallo Michael,
    tolle Anleitung. Vielen Dank.

    Ich bekomme beim Save&Test die Fehlermeldung db query error: EOF .
    Woran kann das liegen ? DB existiert in dem Pfad. Daten sind im Historian zu sehen und
    können auch angezeigt werden. Login mit sa auf die DB im ccu-historian geht auch.
    Hast Du eine Idee ?

    Vielen Dank

    1. Avatar von CO
      CO

      Hatte den gleichen Fehler.
      Prüfe mal ob Du
      1. Den HOST ohne „http://“ angegeben hast
      2. Der Pfad zu Deiner db stimmt (bei mir musste ich „/media/usb0/…“ anstatt „./media/usb0/…“ angeben.

  15. Avatar von Alex
    Alex

    Hallo Michael,

    vielen Dank für die Anleitung!

    Leider sind die Namen der Wertetabellen in CCU-Historian etwas kryptisch und ich hatte versucht in Grafana eine Query-Variable (z. B. THumidiy) anzulegen, um diese dann für die Werteabfrage zu verwenden:

    SELECT TS_TO_UNIX(TS) AS time, VALUE
    FROM $THumidiy
    WHERE $__timeFilter(ts)
    ORDER BY ts

    Leider scheint dies nicht zu klappen, obwohl die Variable den richtigen Wert enthält!? Gibt es dazu Ideen?

    Besten Dank & viele Grüße
    Alex

  16. Avatar von Bernd Petrich
    Bernd Petrich

    Hey toller Beitrag, bekomme allerdings keine Verbindung zu meiner CCU Historian. Kommt immer Connection Timeout auf der IP der CCU Historian.
    Kann das sein, das evt. unter Database Name: der Pfad von der Datenbank auf der Synology sein muss: Also: „Volume …….“ und
    so weiter statt „dem vorgegebenen“?
    Habe auch die Config Datei von Historian angepasst?
    Allerdings läuft Grafana als Bridge in der Synology.
    Und der Port ist bei mit nicht 80:80 sondern 80/8087.
    Danke.

  17. Avatar von Meik
    Meik

    Hallo Super Anleitung, leider hänge ich an der Abfrage der Werte und komme nicht weiter.
    DB scheint verbunden zu sein, zumindest sagt der Test OK.
    Beim Einrichten der Abfrage kann ich noch die Datenquelle PostGres SQL ccu auswählen, der Abfrage einen Namen geben.
    Kann ich die Werte nur per sql-Abfrage aus der Historian-DB abfragen?
    fg
    Meik

Schreibe einen Kommentar zu Michael Schmut Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.