Home Assistant Smart Home Teil 2 – Vorbereitende Installationen

Im zweiten Teil der Reihe Home Assistant Smart Home geht’s an das Thema Vorbereitende Installation. Was muss an IT Infrastruktur vorhanden sein, damit zum Schluss meine Smarthome Komponenten reibungslos laufen. Wie im ersten Beitrag bereits erwähnt verwende ich einen Intel NUC und eine Synology NAS. Diese bereite ich jetzt vor.

Die NAS bedient folgende Dienste:

  • DNS-Server für meine Home-DNS-Zone
  • MariaDB 10 für Home Assistant Recorder Datenbank
  • NFS File Service für Proxmox VE Full-VM Backup
  • Synology Active Backup Server für File-basiertes Backup
  • MariaDB 10 für Kodi Datenbanken (bereits vorhanden)
  • CIFS File Service für Kodi Mediendateien (bereits vorhanden)

Der NUC bedient folgende Dienste:

  • Proxmox VE Hypervisor
    • Home Assistant VM
    • RaspberryMatic CCU VM
    • deCONZ Phoscon VM
Synology NAS

Die Synology NAS ist inkl. MariaDB und phpMyAdmin für Kodi Media Center bereits in Betrieb und verfügt über ein File Share und die Datenbanken für Kodi. Daher gehe ich hier nur auf die zusätzliche Konfiguration für PVE und die Smart Home Komponenten ein.

File Service

Über das Synology Control Panel lege ich einen File Share pvedata an. Da der File Share per NFS an den PVE-Host angebunden wird, blende ich den File Share aus und richte auch keine User-Berechtigungen ein. Lediglich die NFS Rule für den PVE-Host konfiguriere ich wie folgt:

  • Hostname or IP: <Proxmox VE IP-Adresse>
  • Privilege: Read/Write
  • Squash: no mapping
  • Enable asynchron: Enable
  • high ports: false
  • Unterordner erlauben: true

MariaDB

Wie bereits erwähnt, verwende ich Home Assistant in den späteren Beiträgen und greife mit der jetzigen DB-Einrichtung etwas vor. Über SSH lege ich eine Datenbank und einen User für Home Assistant an. Datenbank und User nenne ich der Einfachheit halber homeassistant.

sudo -i
/usr/local/mariadb10/bin/mysql -u root -p
mysql> CREATE DATABASE IF NOT EXISTS homeassistaant;
mysql> CREATE USER 'homeassistant'@'<Homeassistant IP-Adresse>' IDENTIFIED BY '<Passwort>';
mysql> GRANT ALL PRIVILEGES ON homeassistant.* TO 'homeassistant'@'<Homeassistant IP-Adresse>';
mysql> quit;

Die Datenbankstruktur wird von Home Assistant automatisch bei der ersten Verbindung angelegt.
Soll der Home Assistant User von allen IPs aus zugreifen können, lauten die User Parameter 'homeassistant'@'%'.

Active Backup for Business

Auch die Einrichtung von ABB setzt voraus, dass die VMs aus den folgenden Beiträgen bereits angelegt, installiert und konfiguriert sind. Rein chronologisch ist die Einrichtung natürlich erst zu einem späteren Zeitpunkt möglich.

tbd:
– Installation
– Backup Job einrichten

Proxmox VE

Proxmox VE installiere ich in Version 6.3-1 auf Basis von Debian 10 (Buster) per ISO, bzw. per USB-Stick. Die Installation selbst dokumentiere ich hier nicht, dazu gibt’s bereits genug Beiträge in anderen Foren. Daher hier nur kurz ein paar Anleitungen zur Konfiguration nach der Installation.

No-Subscription Warning

Ohne Subscription erscheint in der Web-GUI von Proxmox bei jedem Login eine Warnmeldung, dass das System ohne Subscription betrieben wird. Dies ist trotzdem ganz legal, allerdings ist die Meldung sehr störend, kann aber glücklicherweise deaktiviert werden.

Dazu verbindet man sich im ersten Schritt per SSH mit dem PVE Host. Danach sichert man die Datei, die für die Deaktivierung angepasst werden muss und öffnet die Datei mit nano:

cp /usr/share/javascript/proxmox-widget-toolkit/proxmox.js /usr/share/javascript/proxmox-widget-toolkit/proxmox.js.bak
nano /usr/share/javascript/proxmox-widget-toolkit/proxmox.js

In der proxmox.js Datei sucht man in nano mit Ctrl+W nach dem Suchbegriff No valid subscription. Die Ergebniszeile sieht wie folgt aus:

...
Ext.Msg.show({
  title: gettext('No valid subscription'),
...

Der Eintrag Ext.Msg.show wird gegen den Eintrag void getauscht und die Datei mit Ctrl+X gespeichert:

...
void({
  title: gettext('No valid subscription'),
...

Danach muss nur noch der PVE Web Service neu gestartet werden, um die Änderung zu aktivieren:

systemctl restart pveproxy.service

No-Subscription Repository

Da ich keine Subscription habe, deaktiviere das Enterprise Repository und lege eine Sources-Datei an für das No-Subscription Repository.

mv /etc/apt/sources.list.d/pve-enterprise.list /etc/apt/sources.list.de/pve-enterprise.list.bak
nano /etc/apt/sources.list.d/pve-no-subscription.list

In der neu erstellte Sources-Datei ist folgender Eintrag hinzuzufügen:

deb http://download.proxmox.com/debian/pve buster pve-no-subscription

Open vSwitch

Optional kann man auch noch Open vSwitch (OVS) nachinstallieren, falls man das Feature nutzen möchte:

apt update
apt install openvswitch-switch

Mir reichen in meiner Installation die normalen Linux Netzwerk-Bridges und benötige daher OVS nicht.

IfUpDown2

Um Änderungen an der Netzwerkkonfiguration in der PVE GUI auch im laufenden Betrieb ohne Neustart zu ermöglichen, installiere ich noch das dazu benötigte ifupdown2 Tool.

apt install ifupdown2

NFS Storage

tbd

Firewall outbound

Wie im ersten Beitrag ja bereits erwähnt, möchte ich die Kommunikation Richtung Internet für meine Smart Home Geräte reglementieren. Folgende Ziele / Ports werden für Updates von Debian / Proxmox VE benötigt, sowie optional für die Ausstellung von Let’s Encrypt Zertifikaten.

download.proxmox.com / TCP 80
ftp.de.debian.org / TCP 80
security.debian.org / TCP 80
debian.map.fastlydns.net / TCP 443
acme-v02.api.letsencrypt.org / TCP 443 (optional)

Backup Schedule

tbd

Quellen:

Schreibe einen Kommentar

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

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.