HomeMatic Raspberry Pi Tutorial

HomeMatic – CCU-Historian auf einem Raspberry Pi 3 Model B betreiben (Raspberry Pi OS 5.01)

Letzte Aktualisierung am 4. August 2021

Da sich meine CCU-Historian Installation auf einem Raspberry Pi 3 Model B mit Raspian Strech nach knapp vier Jahren stabilem Betrieb kürzlich zerschossen hatte, musste ich sie neu aufsetzen. Eine gute Gelegenheit, mal wieder eine aktualisierte Anleitung zu verfassen. Diese sollte grundsätzlich auch für Installationen auf einem Raspberry P 4 anwendbar sein.


Hardware:

1 Raspberry Pi 3 Model B
1 kompatible MicroSD Speicherkarte (ich habe eine SanDisk Ultra MicroSDXC I 64 GB Class 10 genommen, da darauf ja auch die Backups des CCU-Historian für einen längeren Zeitraum passen sollen, natürlich kann man auch kleinere Karten nehmen, weniger als 16 GB würde ich aber nicht verwenden)
1 passendes Netzteil
1 passender Ferritkern (zwei bis vier Windungen des Netzteil-Kabelendes dort durchwickeln um Störausstrahlungen zu vermeiden)
1 optional noch ein Gehäuse für den Raspi

Temporär zum Einrichten werden zusätzlich benötigt:
1 HDMI-Kabel (Monitor Anschluss)
1 USB Tastatur
1 USB Maus
1 Adapter SD/MicroSD-USB (temporär zum Einrichten, falls kein Speicherkartenslot vorhanden ist)

Installation des Betriebsystems

Als Betriebssystem habe ich „Raspberry Pi OS with desktop“ (Release date: May 7th 2021, Kernel version: 5.10) von der Downloadseite der Raspberry Pi Foundation verwendet und dieses über den Raspberry Pi Imager auf die microSD-Karte geschrieben. Ob die „Lite“ Version mit dem CCU-Historian funktioniert, habe ich nicht ausprobiert.

Nachdem die Speicherkarte eingesteckt und die Spannungsversorgung verbunden wurden, bootet der Raspberry Pi in die grafische Benutzeroberfläche.

Zunächst sollte der angebotene Assistent durchlaufen und dort die Landeseinstellungen und ein Passwort gesetzt werden.

Nun wird der Raspberry Pi so konfiguriert, dass er in die Kommandozeile bootet. Hierfür wählen wir unter „Preferences -> Raspberry Pi Configuration“…

..bei „Boot“ an Stelle der Voreinstellung „To Desktop“ die Einstellung „To CLI“ aus…

… und starten das System neu…

Nach dem Neustart bootet der Raspberry Pi automatisch in die Konsole und zeigt die Kommandozeile, die Maus wird nun nicht mehr benötigt…

Zunächst konfigurieren wir den Raspberry Pi mit dem Konfigurationstool…

sudo raspi-config

…und führen dabei zumindest die folgenden Schritte aus…


3 Interface Options
P2 SSH

6 Advanced Options
A1 Expand Filesystem

Sofern nicht eingangs schon im Assistenten erledigt, sollte man nun noch ein eigenes Passwort vergeben und in den „Localisation Options“ das Standortlayout sowie eine passende Tastatur einstellen…

Nach einem weiteren Reboot aktualisieren wir das System mit (nacheinander)…

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade

Nun wird noch etwas aufgeräumt…

sudo apt-get autoremove
sudo apt-get autoclean

…und der Raspberry Pi noch einmal neu gestartet…

sudo reboot

Jetzt haben wir ein aktuelles System. In dieser Version ist aber Java noch nicht vorinstalliert, was wir wie folgt nachholen…

sudo apt update
sudo apt install default-jdk

Der Erfolg kann mit….

sudo java -version

…überprüft werden…

Übertragen der CCU-Historian Dateien

Hierzu richten wir zunächst WinSCP ein.

Um mit allen Rechten auf den Raspberry Pi zugreifen zu können, wird mit…

sudo passwd root

…ein Root Passwort vergeben.

Anschließend wird die Root Passwortabfrage eingeschaltet…

Dazu muss lediglich in der Datei „/etc/ssh/sshd_config“ ein Eintrag verändert werden. Hierfür kann man z.B. den bereits im Betriebssystem integrierten NANO-Editor verwenden…

sudo su
nano /etc/ssh/sshd_config

Im Block…

# Authentication:

#LoginGraceTime 2m
#PermitRootLogin without-password
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

…wird die Zeile „PermitRootLogin without-password“ in „PermitRootLogin yes“ geändert und der „#“ am Anfang der Zeile entfernt.

# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10

Gespeichert wird mit…

[Strg] o und [Enter]

Wir verlassen den Editor mit…

[Strg] x

…und starten einmal neu…

sudo reboot

Jetzt sollten das Einloggen mit dem eben vergebenen Root Passwort und der Zugriff auf das Dateisystem über WinSCP funktionieren.

CCU-Historian auf Raspberry Pi 3

Im Verzeichnis…

/opt

…werden ein Unterverzeichnis…

/opt/ccu-historian

…angelegt und dorthin die die Dateien des CCU-Historian kopiert…

Um auf die (gemäß Anleitung des CCU-Historian umbenannte) Config-Datei uneingeschränkt zugreifen zu können, habe ich noch deren Rechte ein wenig angepasst…

sudo chmod 755 /opt/ccu-historian/ccu-historian.config

Zunächst ist die Datei „ccu-historian.config“ mindestens um Typ und IP-Adresse der CCU zu ergänzen.


Damit Daten von den HomeMatic BidCos-RF Geräten im Historian ankamen, war es bei mir erforderlich, ergänzend folgende Parameter zu definieren…

devices.historianAddress=’IP des Raspi‘
webServer.historianAddress=’IP des Raspi‘


Außerdem sollten in der „ccu-historian.config“ absolute Pfade verwendet werden, da es sonst zu Problemen (z.B. bei der Implementierung des Autostarts) kommen kann,

also z.B. an Stelle von…

database.dir=‘./data‘

…besser…

database.dir=’/opt/ccu-historian/data‘

Alles Weitere erfolgt nach der Anleitung des CCU-Historian.

Starten des CCU-Historian

Wenn alles passt, sollte sich der CCU-Historian wie folgt starten lassen…

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

Alternativ, ohne vorher in das Historian-Verzeichnis wechseln zu müssen, geht auch…

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

Der Aufruf der Web-Seiten erfolgt wie üblich in der Form…

http://[webServer.historianAddress]:[webServer.port]

Zum Beenden des Historians ist die Tastenkombination…

[Strg] c

…einzugeben.


Falls es doch noch Probleme mit den BidCos-RF Daten gibt, hilft es eventuell, die IP-Adresse des Raspberry Pi in der Firewall der CCU einzutragen.

Autostart einrichten

Die folgende Vorgehensweise basiert auf einer älteren Anleitung von Michael Leinich. Dessen Website war zum Zeitpunkt der Erstellung dieses Artikels (Anfang August 2021) nicht erreichbar.

Zunächst muss in…

/etc/init.d

…eine Datei mit dem Namen…

ccu-historian

…angelegt werden, was am Einfachsten mit WinSCP funktioniert…

CCU-Historian auf Raspberry Pi 3

…dort hinein wird das von Michael Leinich erstellte Shellskript kopiert…

#!/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

Anschließend werden die Rechte noch angepasst…

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

…und das Skript im Startup eingetragen…

sudo update-rc.d ccu-historian defaults

Sofern nicht noch von einer vorherigen Installation vorhanden, ist im Verzeichnis…

/opt/ccu-historian

…eine Datei mit dem Namen…

ccu-historian.pid

…zu erstellen und dort…

471

…einzutragen…

Wenn der Autostart funktioniert, lässt sich der CCU-Historian nach dem Reboot des Raspberry Pi nach kurzer Zeit wie folgt aufrufen…

http://[webServer.historianAddress]:[webServer.port]

Falls der CCU-Historian aber doch einmal manuell gestoppt…

sudo bash /etc/init.d/ccu-historian stop

…oder gestartet…

sudo bash /etc/init.d/ccu-historian start

…werden soll, gelingt dies mit den oben genannten Befehlen.


Zum Schluss ein weiterer Tipp:

Wenn remote auf den Raspberry Pi zugegriffen werden soll, empfehle ich hierzu Putty.

Das Einloggen erfolgt damit als „root“ mit dem oben vergebenen Root Passwort…

CCU-Historian auf Raspberry Pi 3

CCU-Historian auf Raspberry Pi 3


Und noch ein Hinweis:

CCU-Historian Highcharts bietet ein alternatives Front-End für den CCU-Historian, das sehr einfach zu installieren ist, indem die Dateien aus dem verlinkten Projektordner „dist/“ z.B. mit WinSCP in das Verzeichnis „webapp/custom/“ der CCU-Historian Installation kopiert werden…

CCU-Historian Highcharts

In der Datei config.js ist zumindest die IP-Addresse und der Port des CCU-Historian einzutragen (weitere Konfigurationen sind optional).

Aufgerufen wird das Front-End mit…

http://[webServer.historianAddress]/custom/index.html

CCU-Historian Highcharts

Bitte beachten...

SMART WOHNEN in Stern's Haus ist ein rein privates Projekt. Support kann ich daher nur im Rahmen meiner begrenzten Freizeit leisten, hierfür bitte ich um Verständnis. Meine Hinweise, Anleitungen, Schaltungen und Software werden so angeboten, „wie sie sind“. Die Verwendung erfolgt auf eigenes Risiko, ich übernehme hierfür keinerlei Gewährleistung bzw. Haftung! Für die Einhaltung der einschlägigen technischen Vorschriften ist jeder Anwender selbst verantwortlich!
Creative Commons Lizenzvertrag
Copyright © Jens-Peter Stern | SMART WOHNEN in Stern's Haus | smart-wohnen.org

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.