ich möchte mich hier bei allen für die zahlreichen Tips und Hilfen bedanken. Ich bin ein noch recht frischer HomeMatic User - mit zunehmender Begeisterung. Eure Erfahrungen haben mir bei der Umsetzung gut geholfen.
Ich habe nun CCU-Historian auf meinem Ubuntu 12.04 LTS Server lauffähig und möchte allen Interessierten kundtun wie.
Wichtig war mir:
- Automatischer Start nach Reboot
- keine root Rechte
INFO:
Diese Anleitung ist für die Stable Version. Nutzer der CCU2 benötigen m.W. die Version Dev4. Bitte entsprechend die andere ZIP Datei wählen und den Parameter in der Config Datei auf ccu.version=2 setzen.
1. Installation der notwendigen Pakete:
Code: Alles auswählen
sudo apt-get update && \
sudo apt-get install openjdk-7-jre-headless && \
sudo apt-get install screen
Code: Alles auswählen
useradd -m homematic && \
passwd homematic && \
su - homematic
Erstellen eines Unterverzeichnisses, herunterladen von CCU-Historian:
Code: Alles auswählen
mkdir ccu-historian && \
cd ccu-historian && \
wget http://www.ccu-historian.de/uploads/CCU-Historian/ccu-historian-0.6.0-bin.zip
Code: Alles auswählen
unzip ccu-historian-0.6.0-bin.zip
Code: Alles auswählen
cp ccu-historian-sample.config ccu-historian.config
Code: Alles auswählen
rm ccu-historian-0.6.0-bin.zip
Anpassen der Konfiguration;
Code: Alles auswählen
vi /home/homatic/ccu-historian/ccu.historian.config
Code: Alles auswählen
ccu.historianAddress='[IP-des-CCU-Historian-Servers]'
webServer.port=80xx
ccu.address='[IP-der-CCU]'
Anlegen des Startscripts:
Code: Alles auswählen
sudo vi /etc/init.d/ccuhistorian
Code: Alles auswählen
#!/bin/bash
### BEGIN INIT INFO
# Provides: ccuhistorian
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# chkconfig: 345 50 50
# Description: CCU Historian control script.
### END INIT INFO #
NAME='ccu-historian' # Server handle for the screen session
USER='homematic' # User that this will be running under.
DIR='/home/homematic/ccu-historian'
SERVICE='ccu-historian.jar'
INVOCATION="java -jar $SERVICE"
CMD="/usr/bin/screen -S $NAME -A -d -m $INVOCATION"
service_start() {
if [ -f /var/run/$NAME.pid ]; then
if [ "$(ps -p `cat /var/run/$NAME.pid` | wc -l)" -gt 1 ]; then
echo -e "Cannot start $NAME. $NAME is already running."
else
rm -rf /var/run/$NAME.pid
service_start
fi
else
cd $DIR
su $USER -c "$CMD"
sleep 7
ps -ef | grep SCREEN | grep "$NAME" | grep -v grep | awk '{ print $2}' > /var/run/$NAME.pid
echo "$NAME started."
fi
}
service_stop() {
if [ -f /var/run/$NAME.pid ]; then
echo "Stopping $NAME."
kill `cat /var/run/$NAME.pid`
rm -rf /var/run/$NAME.pid
echo "$NAME stopped."
else
echo -e "Cannot stop $NAME. Server is not running."
fi
}
case "$1" in
'start')
service_start
;;
'stop')
service_stop
;;
'restart')
service_stop
sleep 5
service_start
;;
*)
echo "Usage $0 start|stop|restart"
esac
Code: Alles auswählen
sudo chmod 0755 /etc/init.d/ccuhistorian
Code: Alles auswählen
sudo update-rc.d ccuhistorian defaults
Code: Alles auswählen
/etc/init.d/ccuhistorian start
http://[IP-des-CCU-Historian-Servers]:[webServer.port=80xx]
Das waren meine Schritte auf meinem Ubuntu Server.
Ich bin um konstruktive Kritik dankbar und hoffe auch etwas zu diesem tollen Projekt beigetragen zu haben.
Grüße
Marcel