CCU-Historian: Startskript für Linux (Ubuntu)

Das Langzeitarchiv für HomeMatic

Moderator: Co-Administratoren

Antworten
MAD-Dad
Beiträge: 12
Registriert: 18.08.2013, 21:23

CCU-Historian: Startskript für Linux (Ubuntu)

Beitrag von MAD-Dad » 30.09.2013, 21:34

Hallo zusammen,

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
2. Benutzer anlegen, Kennwort ändern und anmelden

Code: Alles auswählen

useradd -m homematic && \
passwd homematic && \
su - homematic
3. CCU-Historian herunterladen

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
Entpacken:

Code: Alles auswählen

unzip ccu-historian-0.6.0-bin.zip
Kopieren der Config Datei:

Code: Alles auswählen

cp ccu-historian-sample.config ccu-historian.config
Löschen der ZIP-Datei:

Code: Alles auswählen

rm ccu-historian-0.6.0-bin.zip
4. CCU-Historian konfigurieren

Anpassen der Konfiguration;

Code: Alles auswählen

vi /home/homatic/ccu-historian/ccu.historian.config
Folgende Parameter habe ich verändert:

Code: Alles auswählen

ccu.historianAddress='[IP-des-CCU-Historian-Servers]'
webServer.port=80xx
ccu.address='[IP-der-CCU]'
5. Erstellen eines Startscripts

Anlegen des Startscripts:

Code: Alles auswählen

sudo vi /etc/init.d/ccuhistorian
Inhalt:

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
6. Start-/Stop-Einträge erstellen

Code: Alles auswählen

sudo update-rc.d ccuhistorian defaults
7. Start von CCU-Historian

Code: Alles auswählen

/etc/init.d/ccuhistorian start
8. Aufruf von CCU-Historian im Browser

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
Grüße

Marcel

284 Kanäle in 102 Geräten und 32 CUxD-Kanäle in 2 CUxD-Geräten

flom
Beiträge: 3
Registriert: 08.01.2014, 11:45

Re: CCU-Historian: Startskript für Linux (Ubuntu)

Beitrag von flom » 09.01.2014, 12:10

Hallo MAD-Dad,

vielen Dank für das tolle Startskript! Das erleichtert die Einrichtung auf Linux ernorm.
Mein CCU-Historian läuft auf CentOS. Ich musste noch SCREEN nachinstallieren, jetzt läuft das Script einwandfrei.

Gruß,
flom

NorbertM
Beiträge: 10
Registriert: 26.08.2014, 07:33
System: Alternative CCU (auf Basis OCCU)

Re: CCU-Historian: Startskript für Linux (Ubuntu)

Beitrag von NorbertM » 25.12.2014, 20:20

Hallo Marcel,

ich habe Dein Script eingesetzt um den Historian auf einem neu aufgesetzten Ubuntu 14.4 LTS Server automatisch zu starten. Der Start im Usercontext klappte erst als ich die Start/Stop Einträge mit der Zeile 'sudo update-rc.d ccuhistorian defaults 99' angelegt habe.
Vielen Dank dafür dass Du das Script veröffentlicht hast.

Gruß,
Norbert
RaspberryMatic 3.75.7.20240420 auf Raspi 4 / Funk: HM Configuration Tool LAN u. HmIP-RFUSB / CuXD / Emailaddon / XML-API / Anbindung an LCN per Kontaktübergabe / Helligkeits- und Zeitsteuerung Rolladen / Briefkastenüberwachung mit Mailversand
--------------------------------------------
HM:
1x HM-LC-Sw1-Pl-2, 1x HM-LC-Sw2-FM, 1x HM-Sen-MDIR-O-2, 2x HM-Sen-MDIR-SM, 1x HM-Sec-MDIR-2, 1x HM-Sec-MDIR, 1x HM-RC-12-B, 1x HM-RC-4-B, 1x HM-SCI-3-FM, 1x HM-SwI-3-FM, 1x HM-LC-Sw4-DR, 2x HM-WDS10-TH-O, 1x HM-OU-LED16, 9x HM-Sec-SD
HMIP:
11xHMIP-eTRV-2, 1xHmIP-WTH-B-2
LCN:
10xUPP mit FI und NU16, 10xHager WYT360, 2xSH, 2xSHS, 3xR8H, 1xB8H, 2xIS, 1xPK, 2xTU4H
--------------------------------------------

Antworten

Zurück zu „CCU-Historian“