CCU-Historian auf Raspberry

CCU-Historian ermöglicht die Langzeitauswertung der Aktivitäten der CCU2-Komponenten und der Werte der Sensoren. Die Software ist in Java programmiert und läuft somit auf verschiedenen Plattformen.
Mehr zu CCU-Historian erfährst du über die Homepage des Entwicklers unter ccu-historian.de.

Da die CCU2 nicht den schnellsten Prozessor besitzt und mit einigen Skripten von der Rechenleistung bereits sehr belastet wird, empfehle ich die Installation von CCU-Historiam auf einem Raspberry PI.

Raspberry PI einrichten
Wie du einen Raspberry PI einrichten und in Betrieb nehmen kannst, habe ich dem Beitrag „Raspberry einrichten“ ausführlich beschrieben.

Installation CCU-Historian
Mit folgendem Befehl meldest du dich, unter Verwendung der IP-Adresse deines Raspberry,  per Remote-Konsole auf deinem Raspberry an:

ssh pi@192.168.xxx.xxx

In der aktuellen (Stand: Mai 2016) Version von raspbian jessie ist Java bereits installiert. Folgender Befehl zeigt dir die installierte Version an:

java -version

In meiner Installation wird derzeit (Stand: Mai 2016)  folgendes ausgegeben:

java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) Client VM (build 25.65-b01, mixed mode)

Java funktioniert, somit kannst du dich der Installation von CCU-Historian zuwenden. Zunächst wird ein Verzeichnis für CCU-Historian angelegt:

cd /opt

sudo mkdir ccu-historian

cd ccu-historian

Nachdem du in das Verzeichnis ccu-historian gewechselt bist, kannst du unter ccu-historian.de die aktuelle Version ermitteln. Folgender Befehl lädt das aktuelle Installationspaket (Stand: Mai 2016) von CCU-Historian auf deinen Raspberry PI:

sudo wget http://www.ccu-historian.de/uploads/CCU-Historian/ccu-historian-0.7.6hf1-bin.zip

Jetzt muss das geladene Archiv entpackt werden:

sudo unzip ccu-historian-0.7.6hf1-bin.zip

Im nächsten Schritt wird die Vorlage der Konfigurationsdatei kopiert:

sudo cp ccu-historian-sample.config ccu-historian.config

Mit folgendem Befehl die Datei ccu-historian.config zum Bearbeiten aufrufen:

sudo nano ccu-historian.config

Folgende Zeilen einfügen bzw. ändern, die entsprechenden Daten liegen unter der Grafik zum Kopieren bereit:

ccu-historian_config02

logSystem.fileName='/opt/ccu-historian/ccu-historian.log'
database.dir='/opt/ccu-historian/data'
database.webPort=8082
database.webAllowOthers=true
webServer.dir='/opt/ccu-historian/webapp'
webServer.historianAddress='192.xxx.xxx.xxx' // IP-Adresse des Raspberry
devices.historianAddress='192.xxx.xxx.xxx'   // IP-Adresse des Raspberry

Die restlichen Änderung bitte der Grafik entnehmen und in der Datei ccu-historian.conf durchführen.

Hast du alle Änderungen durchgeführt und kontrolliert, beendest du den Editor durch [Ctrl] + [X].

Anmerkung: Alle die ihre CCU2 über „CCU-Protect“ abgesichert haben, müssen jetzt erst die Mac- oder IP-Adresse des Raspberry in die Datei „firewall.conf“ aufnehmen. Sonst wird der Raspberry „ausgesperrt“.
CCU-Protect beschreibe ich in meinem Beitrag „CCU absichern“.

Wenn du alles richtig gemacht hast, startet folgender Befehl den CCU-Historian „von Hand“. Nicht ungeduldig werden, die ersten Meldungen erscheinen erst nach ca. 30 Sekunden auf dem Bildschirm.

sudo java -jar /opt/ccu-historian/ccu-historian.jar

Wenn keine Fehlermeldungen erscheinen, kannst du jetzt unter der IP-Adresse des Raspberry CCU-Historian aufrufen und folgender Bildschirm erscheint:

ccu-historian_startbildschirm

CCU-Historian starte ohne ein Kennwort, dieses solltest du jetzt unbedingt über den Menüpunkt [Konfiguration] setzen.

Noch ist die Arbeit nicht abgeschlossen, CCU-Historian wurde bisher nur „von Hand“ gestartet. Deshalb wieder in das Konsolenfenster wechseln und mit [Strg] + [C] den laufenden Prozess beenden.

Boot-Script für CCU-Historian

Damit CCU-Historian bei jedem Systemstart automatisch startet, muss ein Shell-Skript unter /etc/init.d angelegt werden.

cd /etc/init.d

Jetzt über den Editor ein neues Skript mit dem Namen ccu-historian anlegen und den unten bereitgestellten Inhalt hinein kopieren.

sudo nano ccu-historian
#!/bin/bash
### BEGIN INIT INFO
# Provides:          ccu-historian
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop::    $network $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts ccu-historian
# Description:       starts ccu-historian
### END INIT INFO
(( EUID )) && echo .You need to have root priviliges.. && exit 1
PIDF=/opt/ccu-historian/ccu-historian.pid
CONFF=/opt/ccu-historian/ccu-historian.config
JAVACMD=/usr/bin/java
CCUCMD=/opt/ccu-historian/ccu-historian.jar
RETVAL=0

start() {
            echo -n "Starting ccu-historian"
            start-stop-daemon --start --pidfile $PIDF --make-pidfile --background  --exec $JAVACMD -- -jar $CCUCMD -config $CONFF
            RETVAL=$?
}

stop() {
            echo -n "Stopping ccu-historian"
            start-stop-daemon --quiet --stop --pidfile $PIDF
            RETVAL=$?
}
case "$1" in
    start)
      start
  ;;
    stop)
      stop
  ;;
    restart)
      stop
      start
  ;;
    *)
      echo "Usage: ccu-historian {start|stop|restart}"
      exit 1
  ;;
esac
exit $RETVAL

Mit [Strg]+[X] das neue Skript speichern und den Editor beenden

Damit das neue Skript ausgeführt werden kann, müssen die Rechte angepasst werden:

sudo chmod 755 /etc/init.d/ccu-historian

Jetzt noch das Skript in den regulären Boot-Ablauf integrieren:

sudo update-rc.d ccu-historian defaults

Das Boot-Skript kann jetzt noch mit folgenden Befehlen getestet werden, dazu zunächst in das Verzeichnist /etc/init.d wechseln:

cd /etc/init.d

Testweise kann jetzt über das Boot-Skript der CCU-Historian gestartet werden:

sudo ./ccu-historian start

Wenn jetzt kein Fehler erscheint, kannst du nach ca. 60 Sekunden CCU-Historian im Web-Browser aufrufen. Bitte etwas Geduld, der Raspberry PI ist nicht der Schnellste.  😉

Weitere Befehle sind:

sudo ./ccu-historian stop

sudo ./ccu-historian restart

Um alle deine Änderungen zu testen, solltest du jetzt den Raspberry einmal durchstarten:

sudo shutdown -r now

Nach ca. 1 Minute solltest du jetzt im Web-Browser den CCU-Historian aufrufen können.

Viel Spass beim Testen!

Autor: Erhard Simdorn

Am 1. September 2014 habe ich mir meine erste CCU2 gekauft und war von den Möglichkeiten der Hausautomation sofort begeistert. Am 22. November 2014 folgte dann die zweite CCU2 für einen weiteren Standort und bis heute sind es schon acht CCU2 für die ich der "Auslöser" war.

32 Gedanken zu „CCU-Historian auf Raspberry“

  1. Hallo Erhard,
    vielen Dank für die Anleitung. Der Beginn der Installation gelingt auch. Wenn ich dann aber CCU-Historian manuell das erste Mal starte bekomme ich folgende Ausgabe:
    18:21:16|INFO |Stopping web server
    18:21:16|INFO |Stopping interfaces
    18:21:16|INFO |Stopping database
    18:21:16|INFO |Stopping base services
    18:21:28|INFO |Starting CCU-Historian V0.7.6hf1
    18:21:28|INFO |by MDZ (info@ccu-historian.de)
    18:21:28|INFO |Setting up device 1
    18:21:28|INFO |Creating HM script client for http://192.168.178.22:8181/tclrega.exe
    18:21:28|INFO |Setting up plug-in 1
    18:21:28|INFO |Configured following interfaces: BidCos-RF, SysVar, CUxD
    18:21:28|INFO |Starting base services
    18:21:28|INFO |Connecting to database
    18:21:28|INFO |Starting database web server
    18:21:28|INFO |Starting interfaces
    18:21:29|INFO |Starting historian
    18:21:29|INFO |Starting web server
    18:21:30|WARNING|FAILED SelectChannelConnector@0.0.0.0:80: java.net.BindException: Die Adresse wird bereits verwendet
    18:21:30|WARNING|FAILED org.eclipse.jetty.server.Server@1f642bf: java.net.BindException: Die Adresse wird bereits verwendet
    18:21:30|SEVERE |Exception: Die Adresse wird bereits verwendet

    Alle Änderungen in der . config wurden wie im Beispiel vorgenommen.
    Wo liegt hier der Fehler ?

    Danke und viele Grüße
    Dittmar

    1. Hallo Erhard,
      vielen Dank für die genaue Anleitung. Das hat mir als absoluter Linux Laie sehr geholfen. Der ccu-historian läuft!!!!!
      Allerdings habe ich trotzdem noch ein Problem.
      Ich bekomme die Zeit auf meinem Raspberry nicht aktualisiert. Hab mich schon durch verschiedene Foren gearbeitet und schon einiges ausprobiert.
      Der Raspberry kommt ins Internet – kann also Internet Seiten abrufen. Das Datum heute ist bei mir auf dem Pi 07.10.2016 . Die Ländereinstellungen und Zeitzoneneinstellungen habe ich über die Oberfläche durchgeführt.
      Weißt Du einen Rat oder hast vielleicht einen Tip
      Vielen Dank

      Viele Grüße
      Thomas

      1. Hallo Thomas,

        anscheinend kann dein Raspberry nicht auf einen NTP-Server zugreifen und hat deshalb die falsche Uhrzeit.

        Melde dich mit dem Benuzter pi per ssh auf deinem Raspberry an und gib folgenden Befehl ein:
        nano /etc/ntp.conf
        In der ntp.conf sind mehrere NTP-Server aufgeführt, evtl. sind diese mit einem #-Zeichen auskommentiert. Wenn dem so ist, lösche einfach das #-Zeichen und speichere anschliessend die ntp.conf durch + [X]. Anschliessend muss der Raspberry mit sudo reboot neu gestartet werden. Mit dem Befehl date sollte nach dem Neustart die richtige Uhrzeit angezeigt werden.
        Oder hast du evtl. eine Firewall im Einsatz, die das NTP-Protolkoll blockiert?

        Gruß Erhard

        1. Hallo Erhard,
          die Server sind m.E. bereits korrekt eingetragen… bei mir steht da
          server ntps1-0.cs.tu-berlin.de
          server ntps1-1.cs.tu-berlin.de
          server 0.debian.pool.ntp.org iburst
          server 1.debian.pool.ntp.org iburst
          server 2.debian.pool.ntp.org iburst
          server 3.debian.pool.ntp.org iburst
          ..
          bereits am Sonntag ist mir gelungen zumindest das aktuelle Datum zu setzen. Da der Pi immer angeschaltet ist scheint die interne Uhr „weiterzurechnen“. Ich habe im Moment nur 1 Minute Differenz.
          Also scheint er nicht zu synchronisieren.
          Nach einem „reboot“ bleibt die Uhrzeit mit ca. 1 Minute Differenz

          Viele Grüße
          Thomas

          1. Hallo Thomas,

            bitte melde dich per Terminal als pi an deinem Raspberry an und gibt folgende Befehle nacheinander ein:

            sudo /etc/init.d/ntp stop
            sudo ntpd -q -g
            sudo /etc/init.d/ntp start

            Beim Starten vom ntp sollte keine Fehlermeldung erscheinen und anschliessend sollte die Zeit korrekt eingestellt sein.

            Gruß Erhard

          2. Hallo Erhard
            die erste Zeile „sudo /etc/init.d/ntp stop“ wurde ausgeführt – Folgende Meldung erschien: [ O K ] Stopping ntp (via systemctl): ntp.service
            Die zweite Zeile habe ich dann auch eingegeben und mit bestätigt. Hier springt der Cursor nur in die nächste Zeile
            Wenn ich die 3. Zeile trotzdem eingeben und mit bestätige springt der Cursor auch nur in die nächste Zeile.

            Viele Grüße
            Thomas

          3. Hallo Thomas,
            der Stop-Befehl wurde mit Erfolg ausgeführt, allerdings müsste der Start-Befehl auch mit einem OK quittiert werden.
            Bitte schaue mal mit:
            sudo nano /etc/ntp.conf
            nach, ob die Einträge mit einem #-Zeichen aus kommentiert sind, z.B. so:

            #restrict 127.0.0.1
            #restrict ::1

            Wenn dem so ist, musst du die #-Zeichen vor den Zeilen löschen und anschliessend die ntp.conf mit [Strg]+[O] speichern und mit [Strg]+[X] schliessen.

            Anschließend mit den Befehlen des letzten Kommentars den ntp-Dienst beenden bzw. starten.

            Ich wünsch dir viel Erfolg!

            Erhard

          4. Hallo,
            das sind in beiden Zeilen keine # vorgestellt.

            hab jetzt nochmals die von Dir vorgeschlagenen Befehlszeilen eingegeben.
            Wenn ich alle 3 eingebe verhält es sich so wie ich um 16:43 Uhr beschrieben habe

            1. sudo /etc/init.d/ntp stop
            2. sudo ntpd -q -g
            3. sudo /etc/init.d/ntp start

            Wenn ich die 2. Zeile weglasse bekomme ich sowohl beim Stop als auch beim Start das [ o k ]

            Viele Grüße
            Thomas

          5. Hallo Erhard
            die Zeit wurde vom Pi, solange er eingeschaltet blieb, schon immer selbstständig weiter gerechnet. Die Zeit Differenz blieb bei 1 Minute.
            Hab nun die Zeit auf dem Pi 6 Minuten vorgestellt den ntp gestoppt und wieder gestartet.
            Allerdings gleicht sich die Zeit nicht an

            Thomas

  2. Hallo Erhard,

    besten Dank für Deine Anleitung und die weiteren Hinweise. Leider kommt nach Ausführung deiner Anleitung um Umstellung des Ports 80 auf 81 (unter 80 läuft ein Webserver) folgende Fehlermeldung:

    20:49:16|WARNING|FAILED SelectChannelConnector@0.0.0.0:80: java.net.BindException: Address already in use
    20:49:16|WARNING|FAILED org.eclipse.jetty.server.Server@a347a: java.net.BindException: Address already in use
    Vermutlich muss ich auch noch etwas anders konfigurieren. Leider stehe ich auch dem Schlauch wo genau.

    Besten Dank für Deine Hilfe
    Olli

        1. Hallo Martin,

          prima das du selbst die Lösung gefunden hast!

          Für alle anderen die auf der Suche nach einer Lösung für diese Fehlermeldung sind, ein kleiner Tipp.
          Mit folgendem Befehl könnt ich die belegten Ports auf eurem Raspberry finden:

          netstat -aptn

          Die Ausgabe zeigt in der dritten Spalte die IP-Adresse inkl. dem verwendeten Port getrennt durch einen Doppelpunkt. In der letzten Spalte steht das Programm, welches den Port verwendet.

          Viel Spass mit CCU-Historian und deiner HomeMatic-Installation.

          Gruß Erhard

          1. Hallo Erhard,

            ich habe die CCU Historian Anwendung auch laufen – auf einem RASPI mit max2play image und Homeautomation Add-On – coole Lösung…
            (Link: https://www.max2play.com/hausautomatisierung/)

            Allerdings ist hier die stabile Version ccu-historian-0.7.6hf1-bin.zip eingebunden.
            (mir wäre die neue DEV Version (ccu-historian-0.7.7dev14-bin.zip) lieber, da dann wohl das Problem mit den vielen Schreibzugriffen auf die SD Karte im Griff ist.
            Wie ist deine Erfahrung aktuell: wird die SD Karte durch die vielen Schreibvorgänge geschrottet?

            Danke für deine Erfahrungswerte!

            Gruß
            Andreas

          2. Hallo Andreas,

            ich habe CCU Historian seit mehr als 2 Jahren mit der ersten 32GB SD Karte im Einsatz, und bisher noch keine Probleme erlebt. Ich lasse inzwischen mehr als 80 HomeMatic-Komponenten protokollieren.Zusätzlich übernimmt der Raspberry weitere Aufgaben in meiner Hausautomation, die ebenfalls schreibend auf die SD-Karte zugreifen. Für alle Fälle, klone ich alle 2 Monate die SD-Karte.

            Gruß Erhard

  3. Hallo,
    Danke für die super Anleitung. Ich habe den Historian auf einem ODROID installiert. Funktioniert eigentlich ganz gut, aber leider beendet sich der Historian nach einiger Zeit selbstständig (nach ca. 15-30 Minuten – so genau habe ich das noch nicht herausgefunden). Ich habe schon verschiedene Start-Scripts ausprobiert, aber dauerhaft bekomme ich ihn nicht zu Laufen. Fehlermeldungen kann ich auch keine entdecken. Hast du eine Idee, wo ich weiter forschen kann?

    1. Hallo Andreas,

      eine solche Situation hatte ich bisher nicht und kann dir deshalb leider auch keinen Tipp geben. Sorry!
      Über das init.d-Skript wird der CCU-Historian bei jedem Boot/Reboot eigentlich dauerhaft gestartet.

      Gruß Erhard

  4. Hallo Erhard,
    jetzt habe ich mal wieder 2 Fragen….
    Frage 1
    Ich habe die Version 1.0.0 seit einiger Zeit erfolgreich laufen. Wie kann ich nun auf die neue Version 1.1.0 upgraden ?
    Muss ich da wieder die Schritte von oben durchführen oder gibts da auch einen einfacheren Weg ?
    Frage 2
    Ich bin mir jetzt nicht sicher ob die Frage überhaupt in den Thread hier reingehört……….
    Du hast mal in einem Thread geschrieben dass die SD Card des Rasp nur begrenzt hält. Könnte man eigentlich an dem Raspberry eine kleine Festplatte anschliessen und die Daten des Historian dort speichern ?

    Viele Grüße
    Thomas

    1. Hallo Thomas,

      zunächst zu deiner ersten Frage: Du kannst das Update auf 1.1.0 nach einer Sicherung der Datenbank problemlos durchführen! CCU-Historian stoppen, das Verzeichnis [data] sichern, den CCU-Historian wieder starten. Danach das Update starten und anschliessend das Verzeichnis [data] zurücksichern.

      Zur zweiten Frage: Der Raspberry verfügt leider nicht über eine SATA-Schnittstelle, der Einsatz einer Festplatte ist nicht wirklich vorgesehen. Ich bin deshalb inzwischen auf ein Cubiboard umgestiegen und habe dort eine SSD an die SATA-Schnittstell angeschlossen. Dann habe ich mich mit ioBroker beschäftigt und nutze inzwischen die History-Fuktion von ioBroker. Richtig umfangreich und sehr dauerhaft. ioBroker bringt mit VIS eine super tolle Oberfläche für die Bedienung von HomeMatic, Philips Hue und vieles mehr mit.

      Liebe Grüße Erhard

      1. Hallo Eberhard
        leider bin ich in Bezug auf Linux Laie….
        Wie sichere ich denn das Verzeichnis [data] ?
        Wie starte ich das Update (mit „wget“ – aktuelle Version und anschliessenden „unzip“ ?)
        Und wie sichere ich das [data] Verzeichnis zurück ?
        Danke für Deine Hilfe

        Viele Grüße
        Thomas

        1. Hallo Thomas,

          das Verzeichnis [data] findest du unter /opt/ccu-historian/ . Wenn du per ssh auf den Raspberry gehst, wechselst du mit cd /opt/ccu-historian/ das Verzeichnis. In diesem Verzeichnis sicherst du dann das Verzeichnis [data] mit tar -czf data.tar.gz ./data/. Die erzeugte Datei data.tar.gz sicherst du dann auf eine anderen Datenträger und spielst sie wieder nach einem erfolgreichen Update in das Verzeichnis /opt/ccu-historian/ mit folgendem Befehl zurück: tar -xvzf data.tar.gz .

          Die Aktualisierung hast du richtig beschrieben, aber bitte VORHER das Verzeichnis [data] wegsichern. Ich würde dir eigentlich zu einer weiteren SD-Karte für das Update raten. Die SD-Karten kosten nicht soviel und du bist immer auf der sicheren Seite.

          Bei Fragen bitte einfach nochmal melden.

          Gruß Erhard

  5. Hallo Erhard,

    vielen Dank für die super Anleitung, jedoch erhalte ich, wenn ich Historien zum ersten Mal starte folgende Fehlermeldung:
    2017-11-22 13:02:36|INFO |CCU-Historian V1.1.1beta1
    2017-11-22 13:02:36|INFO |(C)MDZ (info@ccu-historian.de)
    2017-11-22 13:02:38|INFO |Starting base services
    2017-11-22 13:02:38|INFO |Connecting to database
    2017-11-22 13:02:39|INFO |Starting database web server
    2017-11-22 13:02:39|INFO |Stopping database
    2017-11-22 13:02:41|SEVERE |Exception: IO Exception: „java.net.UnknownHostException: raspberrypi: raspberrypi: unknown error“ [90028-196]

    Hast du eine Idee?

    Danke und Gruß,

    Markus

    1. Hallo Markus,

      anscheinend funktioniert die Namensauflösung auf deinem Raspberry nicht. Folgendes kannst du in Terminal auf deinem Raspberry testen:
      Gib den Befehl echo $HOSTNAME ein, es erscheint der Name deines Raspberry. Diesen Namen verwendest du anschliessend beim nächsten Befehl anstatt von Hostname ping Hostname. Falls jetzt eine Fehlermeldung erscheint, muss du für die IP-Adresse deines Raspberry einen Eintrag am Ende der Datei /etc/host erstellen. Falls du dazu Fragen hast, bitte einfach nochmal melden.

      Gruß Erhard

      1. Hallo Erhard,

        vielen Dank für die schnelle Antwort. Die Fehlermeldung kam tatsächlich so wie du erwartet hast. Die /etc/host war leer. Ich habe darin den Eintrag IPAdresse host hinzugefügt und einen reboot durchgeführt. Leider erhalte ich immer noch die Meldung:
        ping: unknown host raspberrypi
        Ich habe auch zusätzlich den host als localhost eingetragen. Hat aber auch nichts genützt.

        Hast du noch eine Idee?

        Danke und Gruß,

        Markus

  6. Hallo Erhard,

    ja 🙂 Alles läuft jetzt, war noch ein Tippfehler in der host(s).
    Vielen Dank für das super Tutorial.

    Jetzt versuche ich gerade in CCU-Historian die Eigenschaften von den Homematic Elementen einzubinden. Ich möchte z.B. einen Trend von dem Heizthermostat mit dem Wollwert, Istwert und Schaltausgang erstellen. Hast du dafür auch ein par Tipps?

    Vielen Dank nochmal und Gruß,

    Markus

    1. Hallo Markus,

      prima, dann klappt ja die Aufzeichnung der CCU2-Daten. Mach dir auf alle Fälle eine Sicherungskopie deiner funktionsfähigen SD-Karte. Da CCU-Historian ziemlich viele Daten auf die SD-Karte schreibt, leidet diese sehr. Nachdem ich innerhalb von drei Jahren zwei SD-Karten austauschen musste, bin ich jetzt auf einen Cubietruck mit ioBroker umgestiegen. An den Cubietruck kann eine SSD-Festplatte über SATAT angeschlossen werden und der ioBroker bringt einen SQL-Adapter zur Aufzeichnung der Daten mit. Wenn ich mal wieder Zeit finde, werde ich dazu eine Anleitung veröffentlichen.

      Gruß Erhard

  7. Hallo Erhard,

    vielen Dank für die VERSTÄNDLICHE Anleitung. Sie hat mir sehr geholfen.
    Die Tipps zur config-Datei sind klasse.
    Ich habe nach Ihrer Anleitung Historian 2.0.0 auf einem Raspi3 mit aktuellem Rasbian Betriebsystem installiert. Die Config-Datei nach Ihrern Tipps erstellt. Beim Start von Historian kommt folgende Meldung:
    pi@raspberrypi:~ $ sudo java -jar /opt/ccu-historian/ccu-historian.jar
    2018-07-05 18:43:03|INFO |CCU-Historian V2.0.0-beta.3
    2018-07-05 18:43:03|INFO |(C)MDZ (info@ccu-historian.de)
    2018-07-05 18:43:03|SEVERE |Exception: Can’t access configuration file ccu-historian.config
    2018-07-05 18:43:03|SEVERE |Detail: java.lang.Exception: Can’t access configuration file ccu-historian.config
    at mdz.ccuhistorian.Configuration.isFileModified(Configuration.groovy:100)
    at mdz.ccuhistorian.Main$_run_closure3.doCall(Main.groovy:71)
    at mdz.ccuhistorian.Main$_run_closure3.call(Main.groovy)
    at mdz.Exceptions.lambda$0(Exceptions.java:84)
    at mdz.Exceptions.catchToLog(Exceptions.java:74)
    at mdz.Exceptions.catchToLog(Exceptions.java:84)
    at mdz.ccuhistorian.Main.run(Main.groovy:70)
    at mdz.ccuhistorian.Main.main(Main.groovy:45)
    Haben Sie einen Tipp für mich, wo ich einen Fehler gemacht haben könnte? Als Pfade habe ich die absoluten Pfade eingetragen.
    Vielen Dank schon jetzt für Tipps.

    Viele Grüße
    Jörg

    1. Hallo Jörg,

      Diese Fehlermeldung kann zwei Ursachen haben:
      – Die Datei ccu-historian.config liegt nicht im selben Verzeichnis wie die Datei ccu-historian.jar.
      – Das Arbeitsverzeichnis ist falsch eingestellt.

      Im ersten Fall kann mit der Kommandozeilenoption -config der Pfad zur Konfigurationsdatei angepasst werden kann.

      Im zweiten Fall hilft die Kommandozeilenoption -config nicht. Das Arbeitsverzeichnis ist deshalb so wichtig, da in der Standardkonfiguration folgende Optionen relativ zum Arbeitsverzeichnis gesetzt werden (erkennbar an den Zeichen ./ am Anfang):

      logSystem.fileName='./ccu-historian-%g.log'
      database.dir='./data'
      webServer.dir='./webapp'
      Entweder muss ein absoluter Pfad in diesen Optionen verwendet werden. Wenn z.B. der CCU-Historian im Verzeichnis /a/b/c installiert wurde, müssen die Optionen wie folgt gesetzt werden:
      logSystem.fileName='/a/b/c/ccu-historian-%g.log'
      database.dir='/a/b/c/data'
      webServer.dir='/a/b/c/webapp'

      Oder es muss das Arbeitsverzeichnis vorher korrekt eingestellt werden. Dies geschieht mit einem cd (change directory) Befehl vor dem eigentlichen Start des CCU-Historians:
      cd /a/b/c
      java -jar ccu-historian.jar

      Weitere Tipps zur Fehlerbehebung findest du unter: http://www.ccu-historian.de/index.php?n=CCU-Historian.TippsAmpTricks

      Gruß Erhard

Kommentare sind geschlossen.