Samstag, 17. Januar 2015

Homeautomation auf eine Raspberry Pi - Teil 4 - Virtuelle Verkabelung


Demoraum

Komponenten Pairing

Damit alle Komponenten überhaupt verwendet werden können müssen sie zuerst einmal mit ihrem Gateway verbunden werden. Dazu bitte unbedingt die Anleitung der Komponenten konsultieren. Gegebenenfalls muss ein bestehendes Pairing lt. Anleitung aufgehoben werden.

Taster

Das ist sehr einfach. Zuerst muss das Gateway in den Paring-Modus versetzt werden. Dazu ist für HomeMatic folgendes notwendig:
set gw_ga_HomeMatic hmPairForSec 600
Dann hat man 600 Sekunden zeit um den Paring.Knopf auf der Komponente zu drücken. Hat das geklappt, dann kommt im Logfile sowas wie
2015.01.17 20:13:53 2: CUL_HM Unknown device CUL_HM_HM_PB_2_WM55_2_2B46D2 is now defined
2015.01.17 20:13:53 2: autocreate: define CUL_HM_HM_PB_2_WM55_2_2B46D2 CUL_HM 2B46D2
2015.01.17 20:13:53 2: autocreate: define FileLog_CUL_HM_HM_PB_2_WM55_2_2B46D2 FileLog ./log/CUL_HM_HM_PB_2_WM55_2_2B46D2-%Y.log CUL_HM_HM_PB_2_WM55_2_2B46D2
2015.01.17 20:13:53 3: CUL_HM pair: CUL_HM_HM_PB_2_WM55_2_2B46D2 pushButton, model HM-PB-2-WM55-2 serialNr 
2015.01.17 20:13:53 3: CUL_HM set CUL_HM_HM_PB_2_WM55_2_2B46D2 getConfig
Nun muss man den Taster nur noch einen passenden Namen verpassen (Achtung der legt 3 Objekte an, also alle Umbenennen)
rename CUL_HM_HM_PB_2_WM55_2_2B46D2 ta_de_TasterTV
rename CUL_HM_HM_PB_2_WM55_2_2B46D2_Btn_01 ta_de_TasterTV_B1
rename CUL_HM_HM_PB_2_WM55_2_2B46D2_Btn_02 ta_de_TasterTV_B2
und ihn auch gleich in den passenden Raum verschieben
attr ta_de_TasterTV room raumDemozimmer
attr ta_de_TasterTV_B1 room raumDemozimmer
attr ta_de_TasterTV_B2 room raumDemozimmer
fertig. Und damit immer noch nicht fertig. Die HomeMatic-Taster erwarten sich eine Rückmeldung. Erhalten sie diese nicht, dann leuchten sie gelb statt grün wenn man sie drückt. Daher brauchen wir noch einen Virtuell CCU (das ist die HomeMatic Steuerzentrale). Also die erst einmal anlegen
define gl_VCCU CUL_HM 123ABC
attr gl_VCCU model CCU-FHEM
set gl_VCCU virtual 10
attr gl_VCCU_Btn1 subType virtual
attr gl_VCCU_Btn2 subType virtual
set ta_de_TasterTV_B1 peerChan 0 gl_VCCU_Btn1 single set
set ta_de_TasterTV_B2 peerChan 0 gl_VCCU_Btn2 single set
Die passende HomeMatic-Id nicht vergessen :)
Hat man das Erledigt noch einmal die pairing-Taste vom Schalter. Ab dem Zeitpunkt leuchtet der schalter grün sobald man ihn betätigt, er kriegt dann von FHEM ein Rückmeldung dass das Signal ankam.

Für den EnOcean Taster lautet das Kommando ganz ähnlich
set gw_ga_EnOcean teach 600
Dann den Taster drücken, Logfile prüfen, da steht dann sowas wie
2015.01.17 20:27:47 3: TCM set gw_ga_EnOcean teach 600
2015.01.17 20:27:51 1: EnOcean Unknown device with SenderID 008B1DB3 and RORG F6, please define it.
2015.01.17 20:27:51 2: autocreate: define EnO_switch_008B1DB3 EnOcean 008B1DB3 EnOcean:1:F6:10:008B1DB3:30:03FFFFFFFF3100
2015.01.17 20:27:51 2: autocreate: define FileLog_EnO_switch_008B1DB3 FileLog ./log/EnO_switch_008B1DB3-%Y.log EnO_switch_008B1DB3
auch hier wieder umbenennen und in den Raum verschieben
rename EnO_switch_008B1DB3 ta_de_TasterTuer
attr ta_de_TasterTuer room raumDemozimmer
fertig

2-fach Schaltaktor

Der ist wieder eine EnOcean-Komponeten, also zuerst einmal
set gw_ga_EnOcean teach 600
Dann der Anleitung folgend ersten Kanal einlernen
set gw_ga_EnOcean teach 600
dann den zweiten Kanal einlernen.
Jetzt wieder umbenennen und in den Raum verschieben
rename EnO_UTE_FFE3E901 sa_de_LichtRaum
rename EnO_UTE_FFE3E903 sa_de_LichtTV
attr sa_de_LichtRaum room raumDemozimmer
attr sa_de_LichtTV room raumDemozimmer
fertig. Jetzt wäre wohl ein passender Zeitpunkt Save config. Wir wollen ja, dass die Änderungen bei einem Neustart erhalten bleiben.

Manuelles Schalten

Vom GUI aus kann man nun den Schaltaktor schon verändern, also ein
set sa_de_LichtRaum on
schalten das Licht ein (Achtung nochmals die Warnung: Nur Fachkräfte dürfen diese Verkabelung vornehmen!). Und ein 
set sa_de_LichtRaum off
schaltet es wieder aus.
Allerdings ein 
set sa_de_LichtTV on
bewirkt nichts. Das scheint eine Eigenheit des D 452 FU-EBI O.T. zu sein. Damit der funktioniert muss man den defaultChannel umsetzten. Und zwar mit
attr sa_de_LichtTV defaultChannel 1
dann klappt auch das Schalten von der Kommandozeile dafür (man kann auch im GUI auf die Lampen klicken). Nochmal speichern :)

Virtuelle Verkabelung

Gewünschtes Verhalten

Wir haben 3 Wippen und 2 Schaltaktoren. Wie die Namen schon andeuten sollen, wollen wir damit 2 Lichter schalten. 
  • Einmal das 'große' Raumlicht. 
  • Eine kleine Lampe beim Fernseher.
  • Mit der 1-fach Wippe (beim TV) soll das Licht dort geschalten werden können
  • Mit einem Teil der Doppelwippe wird das Raumlicht geschalten
  • Mit dem zweiten Teil der Doppelwippe können beide gleichzeitig an oder aus gemacht werden
Soweit das gewünschte Verhalten

Die 'Kabel'

Für das Raumlicht ist die Verkabelung sehr einfach.
define fc_de_TasterTuerA notify ta_de_TasterTuer:.*A.* { fhem("set sa_de_LichtRaum ".($EVENT=~m/AI/ ? "on" : "off")) }
Das macht folgendes. Kommt ein Event vom ta_de_TasterTuer mit dem Filter auf A, dann wird die Funktion ausgeführt. Und die macht wenn AI kommt ein on sonst ein off. Noch ein
attr fc_de_TasterTuerA room raumDemozimmer
und alles im Raum ist wieder zusammen ;)

Dann der Taster für das TV-Licht
define fc_de_TasterTV_on notify ta_de_TasterTV_B2:.*Short.* set sa_de_LichtTV on
attr fc_de_TasterTV_on room raumDemozimmer
define fc_de_TasterTV_off notify ta_de_TasterTV_B1:.*Short.* set sa_de_LichtTV off
attr fc_de_TasterTV_off room raumDemozimmer
Schaut für HomeMatic ein wenig anders aus, aber auch gut :)

Und noch den ganzen Raum schalten, das geht wieder einfach.
define fc_de_TasterTuerB notify ta_de_TasterTuer:.*B.* { fhem("set sa_de_LichtTV,sa_de_LichtRaum ".($EVENT=~m/BI/ ? "on" : "off")) }
attr fc_de_TasterTuerB room raumDemozimmer
Und fertig.

Abschluss

Das war es vorläufig mit meinem Blogging über die Hausautomation. Es hat soweit alles geklappt wie ich mir das wünschte. 
Sobald die Wohnung renoviert wird geht es weiter. Dann werde ich sicher noch den einen oder anderen Fallstrick finden ...

Falls zufällig wer über diesen Blog stolpert und noch Fragen hat, jederzeit gerne ;)


Homeautomation auf eine Raspberry Pi - Teil 3 - Komponenten für den 'Demoraum'


Demoraum

Idee

Bevor ich groß investiere will ich natürlich erst einmal testen ob ich denn mit dem Ansatz zurechtkomme und ob denn alles so geht wie ich mir das vorstelle. Dazu habe ich mich natürlich viel im Internet informiert und sehr viel gelesen. Herausgekommen sind dann 2 Systeme, die ich gerne parallel betreiben möchte. Auch ob das geht will ich mit meinem Demozimmer versuchen.
Also nun erst einmal die beiden Systeme die ich mir so überlegt habe

EnOcean

Das ist ein offenes System (https://www.enocean.com/), es gibt praktisch alles von vielen verschiedenen Herstellern. Allerdings ist es auch nicht ganz billig.

USB Gateway

USB 300
Der USB 300 ist das Standard USB Modul. Das kann man am Pi aber auch am PC einsetzen. Von da her fiel meine Wahl da drauf. Es gäbe auch eine Pi Modul, das war mir aber zu unsicher, wenn die Leistung des Pi nicht reichen würde müsste ich nochmals Geld in die Hand nehmen, und das wollte ich nicht.

4-fach Taster

PTM 210
Der PTM 210 ist ein 4-fach Taster. Ich werde ihn aber hier als 2-fach Wippe verwenden. Allerdings hat man sehr viele Möglichkeiten mit dem Taster. Das interessante dran: Der hat keine Batterien. Durch das Drücken wird per Piezo soviel Strom erzeugt, dass das nötige Funk-Signal versandt werden kann. Der sollte also wartungsarm sein, mal sehen ;)

2-fach Schaltaktor

D 452 FU-EBI O.T.
Der D 452 FU-EBI O.T. ist ein 2-Kanal Schaltaktor. Der muss an 220V angeschlossen werden. Hier eine Warnung vorweg. Das ist gefährlich! Wer da nicht die passende Ausbildung dazu hat, der darf das nicht machen, damit gefährdet man sich und andere!

HomeMatic

Ein nicht offenes System (http://www.homematic.com/), aber auch mit vielen verschiedenen Komponenten. Das System ist soweit ich das bisher gesehen habe etwas billiger wie EnOcean.

USB Gateway

HM-USB-CFG-2
Der HM-USB-CFG-2 verbindet den USB-Port des Pi mit der Welt von HomeMatic. Da gibt es auch noch ein LAN Modul, das war mir aber für den Demoraum zu teuer ;)

2-fach Taster

HM-PB-2-WM55-2
Auch von HomeMatic gibt es diverse Taster. Für einen ersten Test habe ich mir einen einfachen 2 Kanal Taster angeschafft. Der hat allerdings Batterien und ein Status LED in der Mitte.

Gateway in FHEM einrichten

Dazu werden beide Adapter an den die 2 USB Anschlüsse von hase (siehe hase) angeschlossen und der Server gestartet.

USB 300 - EnOcean

Die Konfiguration ist sehr einfach. Direkt nach dem Start steht das Gateway bereits zur Verfügung. Zu finden unter Everything, bei mir mit dem Namen TCM_ESP3_0, ob der immer so heißt weiß ich nicht. Im Logfile sollten dann die folgenden Zeilen zu finden sein
2015.01.16 11:52:34 1: usb create starting
2015.01.16 11:52:37 3: Probing CUL device /dev/ttyAMA0
2015.01.16 11:52:37 3: Probing TCM_ESP3 device /dev/ttyAMA0
2015.01.16 11:52:38 3: Probing FRM device /dev/ttyAMA0
2015.01.17 12:45:18 3: Probing TCM_ESP3 device /dev/ttyUSB0
2015.01.17 12:45:22 1: define TCM_ESP3_0 TCM ESP3 /dev/ttyUSB0@57600
2015.01.17 12:45:23 3: Opening TCM_ESP3_0 device /dev/ttyUSB0
2015.01.17 12:45:23 3: Setting TCM_ESP3_0 baudrate to 57600
2015.01.17 12:45:23 3: TCM_ESP3_0 device opened
2015.01.17 12:45:23 1: usb create end
Damit ist das erledigt ;)

HM-USB-CFG-2

HomeMatic ist heir ein wenig aufwändiger. Zuerst muss man sich dazu den Treiber bauen. Anleitungen dazu findet man direkt bei FHEM unter http://www.fhemwiki.de/wiki/HM-CFG-USB_USB_Konfigurations-Adapter und im FHEM-Forum unter http://forum.fhem.de/index.php/topic,13071.0.html. Die Standard-Installation von Raspian bringt nun offensichtlich die Compile-Tools schon mit, daher musste ich nur mehr ganz wenig dazu installieren
sudo apt-get install libusb-1.0-0-dev
cd /opt/
sudo git clone git://git.zerfleddert.de/hmcfgusb
cd hmcfgusb/
sudo make
sudo /opt/hmcfgusb/hmland -p 1234 -D
Hat das geklappt, dann muss man noch sicherstellen, dass der Treiber bereits vor dem Start von FHEM aktiviert wird, und mit FHEM beendet wird.
Also weiter mit
sudo cp /opt/hmcfgusb/hmcfgusb.rules /etc/udev/rules.d/
sudo vim /etc/init.d/fhem
die # Zeichen in den beiden Zeilen
#       /opt/hmcfgusb/hmland -d -p 1234 -r 0
und
#       pkill hmland
entfernen.
Dann ein Reboot und rein ins GUI von hase (siehe: http://www.fhemwiki.de/wiki/HMLAN_Konfigurator) und dort im GUI eingeben (Achtung nach jeder Zeile ein Enter nicht vergessen
define HMLAN1 HMLAN 127.0.0.1:1234
attr HMLAN1 hmId 123ABC
Das 123ABC muss durch eine eigene Id ersetzt werden (ich habe hier nicht meine Id angegeben ;) )
Dann unbedingt "Save config" anklicken und nun sollte man im GUI unter Everything sehen, dass es einen HMLAN1 Gateway gibt und der Status sollte auf opened sein.
Damit haben wir nun 2 Bussysteme in einem FHEM integriert.

Namensschema im FHEM

Nachdem Perl sich nicht durch Übersicht (*gg*) auszeichnet habe ich mir gleich zu Beginn ein Namensschema für alle Objekte überlegt, das ich im Folgenden verwenden werde.

<Art-Kürzel>_<Raum-Kürzel>_Beschreibung

Für Art habe ich vorgesehen (Erweiterung bei Bedarf, mehr habe ich aktuell nicht)
KürzelVerwendung
doTürsensor
fcFunktionen
gwUSB Gateways
mdBewegungsmelder
saSchaltaktor
taTaster

Die Kürzel für die Räume habe ich mir wie folgt überlegt
KürzelRaum
deDemoraum (virtueller Testraum)
gaGang
glGlobal (zB für allg. Funktionen)

Anpassung der Namen

Nachdem hase im Gang stehen wird kann ich also die ersten 2 Objekte, die wir schon haben bereits umbenennen. Das geht wieder über die FHEM Commandline (speichern nicht vergessen)
rename TCM_ESP3_0 gw_ga_EnOcean
rename HMLAN1 gw_ga_HomeMatic
außerdem ist es sinnvoll das room Attribut zu setzen, dann sieht man die Geräte auch gleich im passenden Raum.
Also 
attr gw_ga_EnOcean room raumGang
attr gw_ga_HomeMatic room raumGang
hier habe ich room vor jeden Namen geschrieben, damit die im GUI untereinander liegen

Nächste Schritte

Nun haben wir im Prinzip Alles beisammen was es braucht um mit der 'Installation' zu beginnen. Dazu dann mehr im 4ten Teil.


Freitag, 16. Januar 2015

Homeautomation auf eine Raspberry Pi - Teil 2 - Server Software


Installation

Auswahl der passenden Server Software

Das ist wohl der schwierigste Schritt. Abhängig davon darf / muss man sich dann mit verschiedenen Programmiersprachen / Paradigmen auseinandersetzen. Soweit ich weiß gibt es einige freie Projekte, mit deren Hilfe sich hase gut betreiben ließe. 
Allerdings unterstützen die zum Teil ganz verschiedene Hardware, sodass man wohl zuerst einmal überlegen muss welches Bussystem will man den einsetzen und danach sollte man dann den Server auswählen.
Ein weiteres Problem sind die nicht ganz üppigen CPU Reserven auf dem Pi, dh der verwendete Server sollte wenn möglich auch noch Ressourcen schonen ...
Ich habe nicht wirklich  umfangreich gesucht, aber ich habe folgende Projekte gesehen
  • FHEM (http://fhem.de/fhem.html): Das Projekt unterstützt EnOcean und HomeMatic sehr umfangreich. Daher viel meine Wahl dann da drauf. Manko ist sicher das WebGUI, das ist schon ein wenig altbacken (unbedingt anderen Style wählen, dann ist es nicht mehr ganz so schlimm). Für mich ein großer Vorteil, die Programmierung geht direkt über die Webseite, ich muss keine weiteren Tools installieren oder Shares freigeben um von Windows aus meinen Server programmieren zu können. Großer Nachteil, programmiert wird in Perl, das muss man mögen *gg*
  • openHAB (http://www.openhab.org/): Habe ich auf dem Pi nur mit einem Load > 1.5 zum Laufen gekriegt, das ist mir zu hoch. Ob da dann alle zeitkritischen Pakete noch ankommen kann ich mir nicht vorstellen. Lt. Webseite ist auch die Unterstützung für EnOcean nicht sehr umfangreich, jedenfalls habe ich nicht viel gefunden, was aber durchaus an mir liegen mag. Von daher kann ich über das Projekt recht wenig sagen.
  • OpenRemote (http://www.openremote.org/display/HOME/OpenRemote): Da habe ich nur ein paar Videos auf YouTube darüber gesehen, mich aber dann nicht eingelesen oder es gar probiert. Dh das Projekt kenne ich nicht.

FHEM

Installation

Es existiert eine gute Anleitung im Wiki von FHEM unter http://www.fhemwiki.de/wiki/Raspberry_Pi, dieser bin ich im Prinzip gefolgt. Aber natürlich waren nicht alle Abhängigkeiten erfüllt und ich musste ein wenig basteln
sudo apt-get install perl libdevice-serialport-perl
sudo apt-get install libio-socket-ssl-perl
wget  http://fhem.de/fhem-5.6.deb
sudo dpkg -i fhem-5.6.deb
sudo apt-get install libwww-perl
sudo apt-get -f install
Am Ende steht dann in der Console
Starting fhem...
Mit
sudo service fhem start
sudo service fhem stop
kann man dann den FHEM Server-Prozess starten und stoppen. Einfach testen kann man das indem man direkt versucht FHEM zu öffnen. In meinem Fall mit der Url: http://hase:8083/. Das sollte klappen.
Als nächstes wird FHEM aktualisiert. Details dazu bitte der Doku von FHEM entnehmen. Um das zu tun einfach
update
in der Eingabe-Zeile von FHEM eingeben und Enter drücken (so wird FHEM programmiert)
Weiter geht es mit dem Kommando
shutdown restart
das startet FHEM durch. Das Update sollte man auch hin und wieder später einmal machen.
Wer möchte kann auch
attr global sendStatistics 1
aktivieren (in der Doku lesen).
Am besten dann noch einmal ein in der Console (nicht im FHEM)
sudo reboot
und schauen ob der Server wirklich wieder läuft. Bei mir war das der Fall, das ist schon einmal gut :)

Abschluss

Damit haben wir nun alle Voraussetzungen geschaffen um mit der eigentlichen Integration der Komponenten zu beginnen.
Das wird also der nächste Schritt.

Donnerstag, 15. Januar 2015

Homeautomation auf eine Raspberry Pi - Teil 1 - OS Vorbereitung


Installation 

Raspberry Pi

Backup der SD Karte

Nachdem ich auf der Karte bereits eine lauffähige Installation des Ganzen habe und ich diese ev. als Nachschlagewerk noch brauche wird zuerst einmal ein Backup der ganzen Karte erstellt. Nachdem ich mich damit unter Linux besser auskenne mache ich damit. Die SD Karte wurde beim Einstecken automatisch gemountet daher an Anfang auch noch ein umount
umount /dev/sdb5
umount /dev/sdb3
umount /dev/sdb6
sudo dd bs=4M if=/dev/sdb of=backup-2015-01-15.img

RASPIAN installieren

Von der Seite http://www.raspberrypi.org/ das aktuellste Image von RASPBIAN herunterladen und nach Anleitung auf die SD-Karte installieren
unzip 2014-12-24-wheezy-raspbian.zip
sudo dd bs=4M if=2014-12-24-wheezy-raspbian.img of=/dev/sdb
sync
Das sync am Ende ist wichtig, damit auch wirklich Alles auf der SD Karte ankommt, sonst liegt es ev. noch im OS Cache.
Dann kann man die SD Karte aus dem Rechner entfernen und in den Raspberry Pi zum ersten Booten einsetzen.

Erstes Booten / Konfiguration

Beim ersten Booten sind noch ein paar Einstellung zu ändern, daher braucht man da einen Monitor und auch ein Tastatur am Pi. Angepasst habe ich

  • 1: Expand Filesystem: Ich will ja den ganzen Platz haben
  • 2: Change User Password: Das gehört auch umgesetzt
  • 3: Enable Boot to Desktop/Scratch: Habe ich auf Console umgestellt
  • ... Rest vorerst gelassen
  • 8 - A2: Hostname: geändert auf hase (Home Automation Server)
  • 8 - A4: ssh aktivieren
Dann Tastatur und Monitor entfernen und das war es. Für alle weitern Schritte habe ich hase nur mehr am Netzwerk und am Strom angeschlossen.

Konfiguration / Update / Tools installieren

Beim initialen Setup habe ich natürlich das Tastaturmapping und die Zeitzone übersehen. Weil hase nun aber schon ohne Tastatur und Monitor läuft muss ich in per nmap suchen (damit ich die IP-Adresse kenne) und dann direkt per ssh drauf
sudo raspi-config
Und dann
  • 4 - I1: de_AT.UTF-8 zusätzlich auswählen und als default setzen
  • 4 - I2: Europe - Vienna
  • 4 - I3: Change Keyboard Layout: Einfach angewählt und das war es? Ev. brauche ich das gar nicht, ich geh eh per ssh drauf
Dann kommt erst einmal die große Update-Orgie und auch noch gleich vim mit installieren bevor es weiter geht (wer sich vim nicht antuen will, kann aber natürlich auch bei nano als default-Editor bleiben, dann halt immer wo jetzt vim steht nano schreiben)
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install vim

Netzwerkkonfiguration

Eigentlich ist hase per default mit DHCP ausgerüstet. Dh man muss eigentlich nichts mehr tun, damit alles klappt. Allerdings kann mein Router aktuell wins und dns nicht gut vereinen, dh ich habe Probleme von Windows aus hase per Namen aufzulösen (umgekehrt leider auch). Damit das geht braucht es ein paar Anpassungen und ein paar weiter Pakete
sudo apt-get install winbind samba
sudo vim /etc/nsswitch.conf
Dort in der Zeile mit hosts nach files aber vor dns noch den Wert wins eintragen, die Zeile schaut dann bei mir so aus
hosts:          files wins dns
Und sinnvollerweise passt man auch die Workgroup an. Also in der Samba-Konfiguration die Zeile mit workgroup anpassen, an den im Heimnetzwerk verwendeten Name der Arbeitsgruppe. Das muss wieder als root geschehen, also ein
sudo vim /etc/samba/smb.conf
Ist Alles korrekt nur mehr den smb-Dienst neu starten mit
sudo service samba restart
Nun sollte man vom Pi aus auf den Windows-Rechner aber auch umgekehrt direkt per Namen kommen können.

Zeitsynchronisation 

Letztens hatte ich das Problem, dass die Zeit am Pi nicht mehr synchronisiert war. Gelöst habe ich es mit einem Tipp uas dem Internet (http://aufschnur.de/2014/raspberry-pi-uhrzeit-automatik/).
Aktuell passt aber die Zeit nach dem Reboot, dh ich bereite nur ntpdate vor, den Rest lasse ich so wie es bei der Installation gesetzt wurde. Also nur
sudo apt-get install ntpdate
Falls mir dann später einmal auffallen sollte dass die Zeit nicht passt kann ich das über die Console dann richten lassen, mit
sudo service ntp stop
sudo ntpdate 0.de.pool.ntp.org
sudo service ntp start
oder dann direkt die Änderung mit dem cronjob aktivieren und ntp deinstallieren


Abschluss

Damit haben wir das System einmal fertig. Im nächsten Schritt geht es ans Installieren der notwendigen Programme für den Home Automation Server.

Hilfreiche Links

Natürlich waren das nicht die einzigen Seiten, die mir mit Informationen aushalfen, allen anderen sei hier anonym gedankt.