Archiv der Kategorie: Raspberry Pi

FHEM auf Raspberry Pi

FHEM mit https absichern

Umstellen der FHEM Webseite mit SSL auf https

Standardmässig finden wir die Webseite von FHEM über das unverschlüsselte http-Protokoll vor.  Wenn wir den FHEM Server über das Internet zugänglich machen wollen, dann ist eine Verschlüsselung des Nachrichtenverkehrs durch eine Umstellung auf das https-Protokoll unerlässlich. Wenngleich dies nicht unser Ziel ist, dann ist der FHEM Server sehr oft über WLAN angebunden. Trotz Absicherung des WLAN über eine WPA2-Verschlüsselung macht es Sinn, die Weboberfläche des FHEM Rechners nur noch verschlüsselt anzubinden.

Wir wollen alle eine große Reichweite unseres WLAN im Haus haben. Umgekehrt ist das WLAN dann aber auch sehr oft noch bei entfernteren Nachbarn oder auf der Straße zu erreichen. Mit entsprechenden Tools ist es ein Leichtes, den WLAN Funkverkehr mitzuschneiden und später in Ruhe auszuwerten. Im Rahmen einer Demonstration eines ehemaligen Hackers durfte ich einmal Zeuge sein, wie einfach es ist, über ein eigentlich geschütztes WLAN mitzuschneiden, auf welchen Internetadressen man dort gerade unterwegs ist.

Demgemäß wollen wir es solchen Leuten möglichst schwer machen, an unsere Hausautomatisierungs-Rechner zu kommen. Stellen wir uns nur vor, was passieren kann, wenn jemand über die ungesicherte Weboberfläche Garage und Haustüre öffnen könnte.

Selbstsigniertes Zertifikat erstellen

Zunächst melden wir uns per ssh an unserem Raspberry Pi an. Wir erstellen ein Verzeichnis, in dem wir die Schlüssel erzeugen und von dort auf dem Minirechner verteilen. Zunächst erzeugen wir den privaten Schlüssel.

cd
mkdir https
cd https
openssl genrsa -out server.key 2048

Mit diesem privaten Schlüssel  erzeugen wir den öffentlichen Schlüssel, den wir für das SSL Zertifikat brauchen.

openssl req -new -key server.key -out server.csr

Hier werden wir nach einigen Dingen gefragt. In meinem Beispiel hat mein lokaler Raspberry Pi den IP-Namen fhembackup. Die einzelnen Fragen sind in meinem Falle wie folgt:

  • Country Name (2 letter code): DE
  • State or Province Name (full name): Bayern
  • Locality Name (eg, city): Pfarrkirchen
  • Organization Name (eg, company): privat
  • Organizational Unit Name (eg, section):
  • Common Name (e.g. server FQDN or YOUR name):fhembackup
  • Email Address:martin.koch@hausautomatisierung-koch.de

Nun kommt noch die Frage nach einem Passwort. Dieses sollte natürlich nicht zu einfach sein, zu lange darf es aber auch nicht sein. In meinem Falle hatte er angemeckert, dass das Passwort nicht länger als 20 Bytes sein darf.

Danach kommt nur noch die Frage nach einem optionalen Firmennamen. Diese kann man leer lassen.

FHEM https

Schließlich generieren wir das Zertifikat, dessen Gültigkeitsdauer wir auf 5 Jahre = 1826 Tage (ein Schaltjahr alle 4 Jahre) festlegen.

cp server.key server.key.orig
openssl rsa -in server.key.orig -out server.key
openssl x509 -req -days 1826 -in server.csr -signkey server.key -out server.crt

Als Bestätigung der Erzeugung des Zertifikats bekommen wir als Bestätigung folgende Ausgabe:

FHEM serverkey

Zertifikat installieren

Sobald wir die Zertifikate erzeugt haben, müssen wir diese Dateien nur noch in das richtige Verzeichnis kopieren, auf das der FHEM Server zugreift. Das Installationsverzeichnis von FHEM liegt unter /opt/fhem. Im Unterverzeichnis cert sind die entsprechenden Zertifikate zu hinterlegen. Wir kopieren die Dateien nun noch dorthin. Zur Absicherung setzen wir noch die richtigen Berechtigungen.

sudo mkdir /opt/fhem/certs
sudo chmod 711 /opt/fhem/certs
sudo cp ~/https/server.key /opt/fhem/certs/server-key.pem
sudo cp ~/https/server.crt /opt/fhem/certs/server-cert.pem
sudo chmod 644 /opt/fhem/certs/server-key.pem
sudo chmod 644 /opt/fhem/certs/server-cert.pem

Nun haben wir alles installiert, so dass wir die Weboberfläche nur noch verschlüsselt erreichen können.

FHEM auf https umstellen

Wir müssen jetzt nur noch in FHEM das Attribut HTTPS für die Oberflächen WEB, WEBphone und WEBtablet setzen. Dazu geben wir in der Kommandozeile von FHEM (in umgekehrter Reihenfolge) die Attribute an und stellen alle drei Oberflächen auf HTTPS um:

attr WEBtablet HTTPS
attr WEBphone HTTPS
attr WEB HTTPS

Als letztes speichern wir die geänderten Attribute ab, in dem wir auf Save config klicken. Im Folgenden ist die Weboberfläche nur noch über die sichere https-Variante aufrufbar. Sobald wir nun im Browser die aufgerufene Seite noch einmal laden wollen, kann die Seite nicht mehr gefunden werden, da nun das Protokoll http abgewiesen wird.

Haben wir bisher als Adresse http://fhembackup:8083  eingeben müssen, so ist sie jetzt nur noch über https://fhembackup:8083 zu erreichen.

 

Zuletzt aktualisiert am 25.06.2017.

Raspberry Pi für FHEM vorbereiten

Checkliste für den Raspberry Pi

Um mit dem Thema Hausautomatisierung loslegen zu können, müssen wir uns zuerst Gedanken über das System machen. Das habe ich im Artikel FS20, HOMEMATIC ODER WELCHES SYSTEM schon näher beschrieben.

Hat man sich auf ein System festgelegt und sich die Hardware besorgt bestehend aus

so kann man eigentlich loslegen.

Raspberry Pi für FHEM vorbereiten weiterlesen

Vernetzung mit Netzwerkkabel oder WLAN

Vernetzung – aber wie?

Ich habe mehrere Raspberry Pis im Einsatz, aber der Raspberry, der der Master für die Haussteuerung ist, ist mit einem Netzwerkkabel an mein Heimnetz verdrahtet.

Anfänglich hatte ich auch diesen Raspberry 2 mit einem WLAN-USB-Dongle ausgestattet, weil man dann einfach den Vorteil hat, das Wunderkästchen irgendwo hinzustellen, wo nur eine Steckdose für das Netzteil in der Nähe ist.

Ich hatte aber immer wieder das Problem, dass sich das Gerät vom WLAN abgemeldet hatte und dann nicht mehr erreichbar war. Vernetzung mit Netzwerkkabel oder WLAN weiterlesen

Hardwarebasis für die Haussteuerung

Hardwarebasis

Wenn man eine Haussteuerung aufsetzen will, so ist ein Raspberry Pi die richtige Hardwarebasis. Dieser Einplatinencomputer ist geradezu prädestiniert für diese Aufgabe. Er ist klein und völlig geräuschlos, da er auch keinen Lüfter besitzt. Noch dazu ist er unheimlich günstig, er ist oft schon unter 50€ zu haben.

Im hier beschriebenen Fall soll die Haussteuerung auf der Hardware eines Raspberry Pi implementiert werden. Heutzutage gibt es  zwei Versionen des Raspberry Pi auf dem Markt, die noch erhältlich sind. Ich selbst benutze noch die Version 2 des Raspberry. Die erste Hausautomation bewerkstelligte ich mit dem allerersten Raspberry Pi, der im Jahre 2012 auf den Markt kam. Später ersetzte ich ihn durch die Version 2, denn manchmal war er schon arg langsam.

Raspberry Pi 2

Für die bei mir mehrfach im Einsatz befindlichen Raspberry Pi 2 B  gibt es in folgendem Beitrag meine Empfehlungen:

Raspberry Pi 3

Für die neueren Modelle des Raspberry Pi 3 gibt es hier meine Empfehlungen:

 

Zuletzt aktualisiert am 20.12.2016.

Raspberry Pi 3 – Hardwarezentrale

Der Raspberry Pi

Mittlerweile wird fast nur noch der Raspberry Pi 3

verkauft, der deutlich mehr Leistung aufweisen kann als der Vorgänger und mir auch etwas stabiler erscheint. Wobei ich mich über die Stabilität nicht beklagen kann, ich hatte in den letzten Jahren vielleicht 2 oder 3 Situationen, in denen ich den Raspberry durchstarten musste,  meistens nach dem Wechsel der angeschlossenen Peripherie.

Das Netzteil

Wichtig für einen stabilen Betrieb  ist ein passendes bzw. ausreichend dimensioniertes Netzteil.

Für den Raspberry Pi 3 benötigt man ein Micro-USB 5V Netzteil mit 2500 mA. Setzt man ihn nur für die Haussteuerung ein und will den Raspberry nicht als Multimediazentrale benutzen, sollte das ausreichen, hat man den Raspberry Pi 3 am Fernseher hängen und will Grafik ausgeben bzw. Filme dekodieren, sollte man ein 3000 mA Netzteil wie dieses hier einsetzen:

Die Speicherkarte

Die zweite Komponente für den Raspberry ist eine passende Speicherkarte. Da der Raspberry Pi ohne Festplatte und Arbeitsspeicher betrieben wird und stattdessen eine handelsübliche Speicherkarte eingesetzt wird, ist es wichtig, ein ausreichend schnelles und ausreichend großes Modell einzusetzen. Für den  Raspberry Pi 3 benötigt man eine microSD Class 10 Speicherkarte. Ich habe gute Erfahrungen mit Transcend-Karten gemacht. Hier reicht eine 16 GByte- oder 32 GByte-Karte völlig aus, wenn man nur die Haussteuerung darauf betreiben will.

Eine von mir verwendete 16 GByte-Variante bekommt man hier:

Die 32 GByte-Variante gibt es beispielsweise hier:

 

Zuletzt aktualisiert am 22.04.2017.