SmartHomeNG umziehen Neu

Im folgenden wird ein mögliches Vorgehen beschrieben, um SmartHomeNG auf ein neues System (mit neuem Betriebssystem) umzuziehen.

Diese Beschreibung ist Work in Progress



Neues System installieren

Das neue System wird gemäß der Komplettanleitung installiert, jedoch ohne den letzten Schritt (SmartHomeNG als Dienst einrichten).

Linux installieren

Das Debian Linux gemäß der Komplettanleitung installieren und konfigurieren.

SmartHomeNG installieren

SmartHomeNG gemäß der Komplettanleitung installieren und rudimentär konfigurieren. SmartHomeNG sollte dabei, wie in der Anleitung beschrieben, gestartet worden sein, damit die im folgenden benötigten Verzeichnisse angelegt werden.

Mosquitto installieren

Den MQTT Broker Mosquitto gemäß der Komplettanleitung installieren. Mosquitto braucht nicht konfiguriert zu werden. Die Konfiguration wird in einem späteren Schritt vom alten System übernommen.

smartVISU installieren

Die smartVISU gemäß der Komplettanleitung installieren und konfigurieren.

Falls die Seiten der smartVISU nicht durch das entsprechende SmartHomeNG Plugin generiert werden, müssen die entsprechenden Dateien aus dem Verzeichnis /var/www/html vom alten System auf das neue System übertragen werden.

knxd installieren

Den KNX Daemon knxd gemäß der Komplettanleitung installieren. knxd braucht nicht konfiguriert zu werden. Die Konfiguration wird in einem späteren Schritt vom alten System übernommen.

Onewire installieren

Die Onewire Unterstützung gemäß der Komplettanleitung installieren. Onewire braucht nicht konfiguriert zu werden. Die Konfiguration wird in einem späteren Schritt vom alten System übernommen.

Samba installieren

Die SMB Unterstützung Samba gemäß der Komplettanleitung installieren. Als Shares sollten das SmartHomeNG Verzeichnis /usr/local/smarthome und das smartVISU Verzeichnis /var/www/html eingerichtet werden.


Konfiguration sichern/übertragen

Nachdem Samba konfiguriert wurde, können auf einem Desktop Rechner die SmartHomeNG Verzeichnisse des alten und des neuen Systems gemountet werden. Im Anschluß können die Dateien einfach vom alten auf das neue System kopiert werden.

Dienst-Konfigurationen übertragen

Im folgenden ist beschrieben, wie die Konfigurationen der Dienste vom alten System auf das neue System übertragen werden.

Da die Konfigurationsdateien der Dienste eventuell nur mit sudo Rechten gelesen werden können, sollten sie auf dem alten System zuerst in ein Transfer-Verzeichnis kopiert werden. Am besten dazu auf dem alten und auf dem neuen System ein Verzeichnis transfer Verzeichnis im SmartHomeNG Verzeichnis usr/local/smarthome anlegen.

Da die Konfigurationen der Dienste alle nur mit sudo-Rechten geschrieben werden können, werden die Dateien nachdem sie auf das neue System übertragen wurden, mit sudo-Rechten aus dem Transfer Verzeichnis an ihren richtigen Ort verschoben.

Mosquitto

Für die Mosquitto Konfiguration muss das Verzeichnis /etc/mosquitto mit allen Unterverzeichnissen übertragen werden.

knxd

Für die knxd Konfiguration muss die Datei /etc/knxd.conf übertragen werden.

Onewire

Für die Onewire Konfiguration muss die Datei /etc/owfs.conf übertragen werden.

Samba

Falls auf dem alten System weitere/andere Shares eingerichtet waren, als auf dem neuen System bisher eingerichtet sind, muss die Datei /etc/samba/smb.conf übertragen werden.

SmartHomeNG Konfiguration sichern

Mit Hilfe der Admin GUI ein Backup der Konfiguration von SmartHomeNG erstellen.

Kopieren weiterer Daten

Im folgenden werden weitere Daten, die im ../var Verzeichnis von SmartHmeNG gespeichert sind, auf das neue System übertragen.

Für die folgen Schritte ist es wichtig, dass SmartHomeNG weder auf dem alten System, noch auf dem neuen System läuft. Falls SmartHomeNG auf einem der Systeme läuft, bitte mit python3 bin/smarthome.py -s SmartHomeNG beenden.

Item cache Verzeichnis kopieren

Um die Cache Werte der Items zu übertragen, muss der Inhalt der Verzeichnisses /usr/local/smarthome/var/cache des alten Systems in das gleichnamige Verzeichnis auf dem neuen System übertragen werden.

database Verzeichnis kopieren

Dieser Schritt ist nur notwendig, wenn SQlite3 als Datenbank verwendet wird.

Bei Verwendung von MySQL müssen die entsprechenden Daten nur übertragen werden, falls MySQL auf dem selben System läuft wie SmartHomeNG. In diesem Fall bitte die MySQL Dokumentation zu rate ziehen, welche Daten übertragen werden müssen.

Um die Datenbank zu übertragen, muss der Inhalt der Verzeichnisses /usr/local/smarthome/var/db des alten Systems in das gleichnamige Verzeichnis auf dem neuen System übertragen werden.

Dieser Vorgang dauert einige Zeit, da die Datenbank Datei mehrere Gigabyte groß sein kann.

executor Verzeichnis kopieren

Falls das executor Plugin genutzt wird, existiert ein Verzeichnis /usr/local/smarthome/var/executor_scripts. Der Inhalt dieses Verzeichnisses muss kopiert werden, damit die gespeicherten Skripte auf dem neuen System zur Verfügung stehen.

knx Verzeichnis kopieren

Um die Daten des knx Plugins zu übertragen, muss der Inhalt der Verzeichnisses /usr/local/smarthome/var/knx des alten Systems in das gleichnamige Verzeichnis auf dem neuen System übertragen werden.

Logs kopieren

Um die Logdateien zu übertragen, muss der Inhalt des Verzeichisses /usr/local/smarthome/var/log des alten Systems in das gleichnamige Verzeichnis auf dem neuen System übertragen werden.

plugins_cache Verzeichnis kopieren

Falls das Verzeichnis /usr/local/smarthome/var/plugings_cache existiert und nicht leer ist, sollte der Verzeichnisinhalt inclusive der Unterverzeichnisse kopiert werden.

SmartHomeNG Konfiguration einspielen

Auf dem neuen System SmartHomeNG starten

python3 bin/smarthome.py

Die Admin GUI des neuen Systemes starten und auf der Seite Dienste „Konfiguration wiederherstellen“ wählen, um die gesicherte Konfiguration des alten Systems auf dem neuen System zu installieren.

Damit die Konfiguration wirksam wird, startet SmartHomeNG neu.

Nun sollte kurz getestet werden, ob SmartHomeNG (bis auf noch nicht angeschlossene Peripherie) funktioniert. Dabei auch die Datenbank prüfen. Zuerst über einen Blick in das Webinterface des database Plugis (Sind die erwarteten Items da, sind zu einem Item die erwarteten Werte da).

Anschließend die smartVISU auf dem neuen System aufrufen und auf einer Seite mit einem Plot prüfen, ob der Plot die erwarteten Daten enthält.


Restarbeiten

Neues System als produktiv einrichten

In diesem Schritt wird das neue System so konfiguriert, dass es unter der bisher verwendeten IP Adresse und dem bisher verwendeten DNS Namen erreichbar ist.

Prinzipiell kann das System auch mit der neuen IP Adresse betrieben werden. Wenn jedoch der Mosquitto Broker auf dem System für die MQTT Kommunikation genutzt wird, sollte die IP Adresse auf die des alten Systems geändert werden, weil sonst in allen MQTT Devices eine neue Adresse für den Broker hinterlegt werden müsste.

Letzte Konfigurationsänderungen

Transfer Verzeichnis löschen

Das Transfer Verzeichnis, welches im SmartHomeNG Verzeichnis angelegt wurde, sollte nun mit seinem Inhalt gelöscht werden.

rm -R /usr/local/smarthome/transfer

SmartHomeNG als Dienst einrichten

Zum Abschluß smartHomeNG als Dienst einrichten, damit es bei einem Systemstart wieder gestartet wird. Das Vorgehen ist in der Komplettanleitung beschrieben.