RPI - LXCCU - RS485 USB - Proxy

oder etwas genauer Raspberry PI mit LXCCU, HM Funk Lan Gateway, RS485 USB Adapter und Apache Reverse Proxy als Smarthome ZENTRALE.

Für das Homematic Usertreffen in AT habe ich ein Test System installiert und hier Dokumentiert.

Was

Ich möchte euch nun hier eine Haus-Zentrale vorstellen die folgendes in einem Raspberry PI zusammenfasst:

  • LXCCU (Homematic CCU2 Zentralen Firmware)
  • RS485 USB Adapter mit Software-Emulation eines HM Wired LAN Gateways
  • Apache Reverse Proxy für einen sicheren Zugang zur CCU von Unterwegs
  • HM Wired auf 1-Wire Adapter / Gateway

Warum

  • Mehr Leistung als die originale CCU2
  • Sicherer Zugang von Unterwegs ohne „Cloud“-Dienstleister
  • Temperaturen bei der Heizung endlich mit günstigen Fühlern messbar und direkt in der LXCCU verwendbar.
  • Einfache Migration von einer bestehenden CCU1 oder CCU2 oder nur als „Backup“ Hardware für die CCU verwendbar!

Was braucht ihr dazu

  • Internetzugang
  • Router mit Port-Forwarding und dynamischen DNS Dienst
  • Raspberry PI (mit SD Karte, Netzteil, Kühlkörper und Gehäuse)
  • HM RF LAN Konfigurationsadapter oder Gateway
  • Optional
  • RS485 USB Adapter
  • HM Wired auf 1-Wire Interface

Router Einstellungen

Damit diese Anleitung auch funktioniert, solltet ihr einen Router mit aktiviertem DHCP Server haben, bei dem ihr für die Zentrale und die LXCCU eine IP Adressen reservieren könnt.

Weiters müsst ihr für den Reverse-Proxy ein Port Forwarding und einen dynamischen DNS Anbieter (gibt es gratis) nutzen, damit die Zentrale aus dem Internet erreichbar ist.

Sicherheit

Grundsätzliches:

Jede Verbindung aus dem Internet nach Hause birgt natürlich ein Sicherheitsrisiko, dessen sollte sich jeder absolut bewusst sein!

Aber ein Raspberry im Internet mit den aktuellsten Versionen der Software ist wesentlich sicherer als die fertigen Zentralen oder auch NAS-Systeme bei denen bekannte Sicherheitslücken kaum behoben werden. Und wenn doch, dann nur mit sehr großer Verzögerung. Hier spielt Debian ganz klar seinen „Trumpf“ aus.

Auch erfolgt die Kommunikation über das Internet bis zum Raspberry verschlüsselt (https) und der Apache übernimmt die Authentifizierung. Somit sind etwaige Sicherheitslücken bestehender Web-Interfaces kein Problem.

Diese „Lösung“ wird bei fast allen Internetdiensten eingesetzt, wo „sicher“ auf einen im internen Netzwerk befindlichen Server zugegriffen werden soll!

Mir ist es wichtig eine „Balance“ zwischen Sicherheit und Komfort zu finden!

Raspberry PI Setup

Ladet euch von der Raspberry Seite das aktuelle Raspbian Image herunter und kopiert es je nach verwendeten Betriebsystem auf die SD-Karte.

Beim ersten Start des Raspberry mit angesteckten HDMI Monitor und USB Tastatur sollten folgende Einstellungen (mit raspi-config, das automatisch aufgerufen wird) gemacht werden:

  • Expand Filesystem
  • Change User Password
  • Internationalisation Options
  • Change Locale –> de_DE.utf8
  • Change Timezone –> Europe / Vienna
  • Change Keyboard Layout –> DE
  • Advanced Options
  • Hostname –> z.B. home (damit der Raspi auch im Lokalen Netzwerk unter dem FQDN home.domain.endung erreichbar ist!)
  • Memory Split –> 8MB als Grafikspeicher sind genug!
  • Reboot

Dann nach dem Anmelden als Benutzer pi mit dem Kennwort das ihr oben vergeben habt das root password setzen mit:

sudo passwd root

Nach der Eingabe kann auf den root Benutzer gewechselt werden mit:

su -

Danach sollte der Raspberry auf aktuellen Stand gebracht werden mit:

aptitude update && aptitude upgrade -y

Einige Basistools sollten auch installiert werden:

aptitude install vim htop iftop iotop rpi-update

Auch der Kernel muss aktualisiert werden und das geht so:

rpi-update

Konzept Grafisch dargestellt

Damit ihr es euch besser vorstellen könnt, habe ich den Aufbau grafisch dargestellt:

Und hier die Zentrale im Detail:

LXCCU

Wenn die vorigen Schritte alle durchgeführt wurden, ist es sehr einfach die LXCCU zu installieren. Dazu muss nur folgendes gemacht werden:

aptitude install lsb-release
wget -nv -O- http://www.lxccu.com/setup.sh | bash -

Details findet ihr hier .

USB RS485 Daemon

Die dazu notwendige Software wird demnächst hier veröffentlicht und wenn ein Debian Packet erstellt wird, ist dies dann auch im LXCCU Repository.

Wenn ihr die Software vorab haben möchtet so kontaktiert mich einfach über paulg4h@lxccu.com oder das Homematic-Forum.

Apache Reverse Proxy

Eine detaillierte Anleitung für den Apache Reverse Proxy habe ich hier veröffentlicht .

Dass diese Anleitung nie 100% richtig sein kann ist…

HM Kompatible Sensoren

Diese Hardware wurde nicht von EQ3 entwickelt und es wird auch keine Software die von EQ3 entwickelt wurde, in diesen Sensoren verwendet sondern die HM Protokolle wurden Reverse Engineert und als Arduino Libary veröffentlicht.

Diese Komponenten sprechen also nur die gleiche Sprache und das kann nicht verboten sein!

Details zu den Sensoren findet ihr im FHEM-Forum, wo diese entwickelt wurden.

http://www.fhemwiki.de/wiki/Universalsensor