Die Information wurden aus verschieden Quellen zusammengetragen und zu einer Funktionierenden Lösung zusammengestellt.
TEIL 1 CCU Historian
Installation auf einem Raspberry Pi mit Raspian Wheezy.
Code: Alles auswählen
java –version
cd /opt
sudo mkdir ccu-historian
cd ccu-historian
Aktuelle Version auf http://www.ccu-historian.de/ unter Installationspakete suchen
sudo wget http://www.ccu-historian.de/uploads/CCU ... .3-bin.zip
sudo unzip ccu-historian-0.7.3-bin.zip
sudo cp ccu-historian-sample.config ccu-historian.config
Die Konfiguration anpassen
sudo nano ccu-historian.config
Code: Alles auswählen
// CCU-Historian Konfiguration
//
// Hinweise:
// Kommentarzeilen starten mit zwei Schrägstrichen (//). Alle Zeichen nach den Schrägstrichen
// werden ignoriert. Zeichenketten als Optionswert müssen von einfachen Anführungszeichen (')
// umschlossen sein. Weitere Informationen sind auch im Abschnitt 3 im Handbuch zu finden.
//
// Liste der zur Verfügung stehen Konfigurationsoptionen mit ihren jeweiligen Standardwerten:
//
// logSystem.consoleLevel=Level.INFO
// logSystem.fileLevel=Level.OFF
logSystem.fileName='/opt/ccu-historian/ccu-historian-%g.log'
// logSystem.fileLimit=1000000
// logSystem.fileCount=5
// logSystem.binRpcLevel=Level.WARNING
database.dir='/opt/ccu-historian/data'
// database.name='history'
// database.user='sa'
// database.password='ccu-historian'
// database.backup=''
// database.webEnable=true
database.webPort=8092
database.webAllowOthers=true
// database.tcpEnable=false
// database.tcpPort=9092
// database.tcpAllowOthers=false
// database.pgEnable=false
// database.pgPort=5435
// database.pgAllowOthers=false
webServer.port=8090
webServer.dir='/opt/ccu-historian/webapp'
// webServer.logLevel=Level.WARNING
// webServer.historianAddress=''
// webServer.trendDesigns ... (s.a. Abschnitt 6.4.1 im Handbuch)
// webServer.apiKeys=[]
// historian.metaCycle=3600000 // 1 Stunde
// devices.historianRpcPort=2011
devices.historianAddress='192.168.1.20' // eigene IP-Adresse automatisch ermitteln
//
// Für jede Zentrale bzw. jedes Gerät müssen folgende zwei Optionen gesetzt werden
// (s.a. Abschnitt 3.2 im Handbuch):
// devices.device<Nr.>.type=<CCU1, CCU2 oder BINRPC>
// devices.device<Nr.>.address='<IP-Adresse>'
//
// Optional können noch folgende Optionen gesetzt werden:
// devices.device<Nr.>.plugin<Nr.>.type=<CUXD oder HMWLGW>
// devices.device<Nr.>.sysVarDataCycle=30000
// devices.device<Nr.>.reinitTimeout=300000
// devices.device<Nr.>.writeAccess=false
// devices.device<Nr.>.prefix=''
//
// Es muss im Folgenden mindestens eine Zentrale bzw. Gerät konfiguriert werden:
// Typ der Zentrale: CCU1 oder CCU2
devices.device1.type=CCU2
// IP-Adresse der Zentrale
devices.device1.address='192.168.1.19'
// Falls CUxD verwendet wird, die Kommentarzeichen (//) vor folgender Zeile entfernen:
devices.device1.plugin1.type=CUXD
// Falls das HomeMatic Wired LAN Gateway verwendet wird, die Kommentarzeichen (//) vor
// folgender Zeile entfernen:
// devices.device1.plugin1.type=HMWLGW
// Falls CUxD und das HMWLGW verwendet wird, die Kommentarzeichen (//) vor folgenden
// zwei Zeilen entfernen:
// devices.device1.plugin1.type=CUXD
// devices.device1.plugin2.type=HMWLGW
Dann das Programm erstellen
sudo java -jar /opt/ccu-historian/ccu-historian.jar Dauert min 1 Minute bis der Server bereit ist
Aufruf CCU Historian im Browser
http://raspi01:8090
Nun den Autostart beim Booten des Raspis Aktivieren
cd /etc/init.d
sudo nano ccu-historian erstellen mit Folgendem Inhalt
Code: Alles auswählen
#!/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
sudo chmod 755 /etc/init.d/ccu-historian
sudo update-rc.d ccu-historian defaults
cd /etc/init.d
sudo ./ccu-historian start Nach 30 min sollte er wieder erreichbar sein
sudo ./ccu-historian stop
sudo reboot
Die Installation des CCU Historian ist nun abgeschlossen.
_____________________________________________________________________________________________________________
TEIL 2 CCU-Historian Werte zu Homepage
Datei in opt/ccu-hostorian erstellen
nano CCU-cache
Code: Alles auswählen
#!/bin/sh
performcache(){
local url=$2
local name=$1
local now="$(date --rfc-3339=ns)"
echo $now - $name Starting
local start_time=`date +%s`
sudo wget -q -O "/opt/ccu-historian/webapp/cache/temp.png" "$url"
sudo mv /opt/ccu-historian/webapp/cache/temp.png /opt/ccu-historian/webapp/cache/${name}.png
local end_time=`date +%s` now="$(date --rfc-3339=ns)"
echo $now - $name End with `expr $end_time - $start_time` sec
echo "\"${now}\";\"${name}\";\"`expr $end_time - $start_time`\"" >> /opt/ccu-historian/webapp/cache/protokol.csv
}
echo Start caching CCU-historian images
performcache temp_day "http://localhost:8090/query/trend.gy?i=69&d=1D"
performcache temp_week "http://localhost:8090/query/trend.gy?i=69&d=1W"
performcache temp_month "http://localhost:8090/query/trend.gy?i=69&d=1M"
performcache temp_year "http://localhost:8090/query/trend.gy?i=69&d=1Y"
performcache humi_day "http://localhost:8090/query/trend.gy?i=70&d=1D"
performcache humi_week "http://localhost:8090/query/trend.gy?i=70&d=1W"
performcache humi_month "http://localhost:8090/query/trend.gy?i=70&d=1M"
performcache humi_year "http://localhost:8090/query/trend.gy?i=70&d=1Y"
performcache sun_day "http://localhost:8090/query/trend.gy?i=76&d=1D"
performcache sun_week "http://localhost:8090/query/trend.gy?i=76&d=1W"
performcache sun_month "http://localhost:8090/query/trend.gy?i=76&d=1M"
performcache sun_year "http://localhost:8090/query/trend.gy?i=76&d=1Y"
performcache bright_day "http://localhost:8090/query/trend.gy?i=77&d=1D"
performcache bright_week "http://localhost:8090/query/trend.gy?i=77&d=1W"
performcache bright_month "http://localhost:8090/query/trend.gy?i=77&d=1M"
performcache bright_year "http://localhost:8090/query/trend.gy?i=77&d=1Y"
performcache bright_day "http://localhost:8090/query/trend.gy?i=77&d=1D"
performcache bright_week "http://localhost:8090/query/trend.gy?i=77&d=1W"
performcache bright_month "http://localhost:8090/query/trend.gy?i=77&d=1M"
performcache bright_year "http://localhost:8090/query/trend.gy?i=77&d=1Y"
performcache wind_day "http://localhost:8090/query/trend.gy?i=73&d=1D"
performcache wind_week "http://localhost:8090/query/trend.gy?i=73&d=1W"
performcache wind_month "http://localhost:8090/query/trend.gy?i=73&d=1M"
performcache wind_year "http://localhost:8090/query/trend.gy?i=73&d=1Y"
exit
Die trend.gy? Werte müsst Ihr je nach ID der Datenpunkte angepasst werden.
Datei Ausführbar machen sudo chmod +x CCU-cache
Funktion Testen ./CCU-cache
Verzeichnis /opt/ccu-historian/cache erstellen mkdir /opt/ccu-historian/cache
Crontab eintragen damit das alle 15 Minuten erstellt wird
Crontab -e
*/15 * * * * /opt/ccu-historian/CCU-cache.sh
UPLOAD nach Webspace
Verzeichnis wetter auf remote FTP Server für WWW Umgebung erstellen
Steuerdatei erstellen /opt/ccu-historian/webapp/cache# nano ftpupload
Code: Alles auswählen
#!/bin/sh
curl -T /opt/ccu-historian/webapp/cache/bright_day.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/bright_week.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/bright_month.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/bright_year.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/humi_day.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/humi_week.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/humi_month.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/humi_year.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/sun_day.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/sun_week.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/sun_month.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/sun_year.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/temp_day.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/temp_week.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/temp_month.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/temp_year.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/wind_day.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/wind_week.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/wind_month.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
curl -T /opt/ccu-historian/webapp/cache/wind_year.png ftp://meine-webseite.de/httpdocs/wetter/ --user benutzername:passwort
Testen ./ftpupload
Crontab einrichten
Crontab -e
*/17 * * * * /opt/ccu-historian/webapp/cache/ftpupload.sh >>/var/log/ftpupload.log 2>&1
Sichtbares Ergebnis auf der Webseite z.B.
Teil meiner HTML Datei zur Anzeige der Graphen.
Code: Alles auswählen
<header>
<h2>Wetter Archive</h2>
</header>
<img src="temperatur.png" border=0 width="120" height="120"><br>
<img src="temp_day.png" border=0 title="Temperatur 24 Std">
<img src="temp_week.png" border=0 title="Temperatur Woche"><br>
<img src="temp_month.png" border=0 title="Temperatur Monat">
<img src="temp_year.png" border=0 title="Temperatur Jahr">
<br><br>
<img src="luftfeuchte.png" border=0 width="120" height="120"><br>
<img src="humi_day.png" border=0 width="640" height="260" title="Luftfeuchte 24 Std">
<img src="humi_week.png" border=0 width="640" height="260" title="Luftfeuchte Woche"><br>
<img src="humi_month.png" border=0 width="640" height="260" title="Luftfeuchte Monat">
<img src="humi_year.png" border=0 width="640" height="260" title="Luftfeuchte Jahr">
<br><br>
<img src="sonnenstunden.png" border=0 width="120" height="120"><br>
<img src="sun_day.png" border=0 width="640" height="260" title="Sonnenstunden 24 Std">
<img src="sun_week.png" border=0 width="640" height="260" title="Sonnenstunden Woche"><br>
<img src="sun_month.png" border=0 width="640" height="260" title="Sonnenstunden Monat">
<img src="sun_year.png" border=0 width="640" height="260" title="Sonnenstunden Jahr">
<br><br>
<img src="helligkeit.png" border=0 width="120" height="120"><br>
<img src="bright_day.png" border=0 width="640" height="260" title="Helligkeit 24 Std">
<img src="bright_week.png" border=0 width="640" height="260" title="Helligkeit Woche"><br>
<img src="bright_month.png" border=0 width="640" height="260" title="Helligkeit Monat">
<img src="bright_year.png" border=0 width="640" height="260" title="Helligkeit Jahr">
<br><br>
<img src="windstaerke.png" border=0 width="120" height="120"><br>
<img src="wind_day.png" border=0 width="640" height="260" title="Windstaerke 24 Std">
<img src="wind_week.png" border=0 width="640" height="260" title="Windstaerke Woche"><br>
<img src="wind_month.png" border=0 width="640" height="260" title="Windstaerke Monat">
<img src="wind_year.png" border=0 width="640" height="260" title="Windstaerke Jahr">