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:
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 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!
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
Hallo Dittmar, die Fehlermeldung deutet darauf hin, dass auf deinem Raspi bereits eine Anwendung unter dem Port :80 läuft.
Unter folgendem Link http://www.ccu-historian.de/index.php?n=CCU-Historian.TippsAmpTricks findest du die Lösung für dein Problem.
Gruß Erhard
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
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:
+ [X]. Anschliessend muss der Raspberry mit
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
sudo reboot
neu gestartet werden. Mit dem Befehldate
sollte nach dem Neustart die richtige Uhrzeit angezeigt werden.Oder hast du evtl. eine Firewall im Einsatz, die das NTP-Protolkoll blockiert?
Gruß Erhard
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
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
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
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
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
Hallo Thomas,
wird die Zeit nach dem manuellen Starten vom ntp-Dienst jetzt aktualisiert?
Gruß Erhard
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
Hallo Thomas,
schade, dass die Uhrzeit nach wie vor nicht aktualisiert wird. Im Moment habe ich leider auch keinen weiteren Tipp!
Gruß Erhard
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
Hallo Erhard,
exakt der selbe Fall bei mir. Noch irgend eine Idee?
Vielen Dank
Martin
Hallo,
doch gelöst. Hatte auf Port 81 + Port 82 einen Webserver laufen.
LG
Martin
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
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
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
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?
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
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
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
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
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] mittar -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
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
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
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
Hallo Markus,
hast du den Eintrag in der Datei /etc/hosts vornehmen können? Falls du dazu Fragen hast, helfe ich dir gerne weiter.
Gruß Erhard
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
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
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
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