Browse Source

Add homegear install, raspimatic, yahm section

master
Lennart Heimbs 2 years ago
parent
commit
ab8f7b0214
2 changed files with 82 additions and 17 deletions
  1. 65
    8
      bericht/lennart/main.tex
  2. 17
    9
      bericht/lennart/references.bib

+ 65
- 8
bericht/lennart/main.tex View File

@@ -20,7 +20,7 @@
\usepackage[ngerman]{babel}
\usepackage{float}

\definecolor{codegreen}{rgb}{0,0.6,0}
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
\definecolor{codepurple}{rgb}{0.58,0,0.82}
@@ -44,14 +44,14 @@
showtabs=false,
tabsize=2
}
\lstset{style=listingstyle}
\def\inline{\lstinline[basicstyle=\ttfamily\footnotesize]}

\makeatletter
\xpretocmd\lstinline{\Colorbox{backcolour}\bgroup\appto\lst@DeInit{\egroup}}{}{}
\makeatother
\begin{document}

\maketitle
@@ -100,7 +100,7 @@ Um die Funktionalität dieses Systems zu testen wird anschließend ein Homematic

\section{Smart Home Umgebung}
\label{blog}
Den Startpunkt des Projekts stellt der Blogeintrag ``Homematic mit node-red über homegear'' \citep{mayer2017smarthomesetup} dar, in dem eine Smart Home Struktur basierend auf einem Raspberry Pi beschrieben wird.
Den Startpunkt des Projekts stellt der Blogeintrag ``Homematic mit node-red über homegear'' \cite{mayer2017smarthomesetup} dar, in dem eine Smart Home Struktur basierend auf einem Raspberry Pi beschrieben wird.
Im Folgendem wird das Aufsetzen der Gateway unter Berücksichtigung des Blogartikels beschrieben.

\subsection{Hardware}
@@ -322,6 +322,7 @@ Da jeder Hersteller von Smart Home Geräten sein eigenes Protokoll benutzt um mi
%Es bedient die entsprechenden Funk Kanäle der Sensoren und Aktoren, benötigt aber noch Software um die Protokolle der verschiedenen Hersteller verstehen zu können.

\subsubsection{Homegear}
\label{homegear}
Die in dem Blogartikel von Patrik Mayer in Kapitel \ref{blog} auf Seite \pageref{blog} genutzte Software um mit verschiedenen Aktoren und Sensoren zu kommunizieren ist \emph{homegear}.
Homegear ist ein Open-Source Programm um Internet der Dinge Geräte zentral zu kontrollieren und managen.
Dazu spricht es eine Vielzahl an Protokollen diverser Hersteller wie Homematic, Intertechno, Philips Hue und Sonos, und unterstützt auch das MQTT-Protokoll.
@@ -330,17 +331,73 @@ Um die Flexibilität der Umgebung zu erhöhen wird homegear hier nur als Schnitt

Homegear selbst besteht aus dem Homegear-Grundmodul, welches die grundlegende Funktionalität bereitstellt und weiteren spezifischen Modulen, die die verschiedenen Hersteller/Protokolle bedienen.
Installiert auf dem Raspberry Pi wird das Grundmodul über das Offizielle Repository:

\begin{lstlisting}
apt install apt-transport-https
sudo apt install apt-transport-https
wget https://apt.homegear.eu/Release.key && apt-key add Release.key && rm Release.key
echo 'deb https://apt.homegear.eu/Raspbian/ stretch/' >> /etc/apt/sources.list.d/homegear.list
apt update
apt install homegear homegear-nodes-core homegear-management
sudo echo 'deb https://apt.homegear.eu/Raspbian/ stretch/' >> /etc/apt/sources.list.d/homegear.list
sudo apt update
sudo apt install homegear homegear-nodes-core homegear-management
\end{lstlisting}
Die verfügbaren Hersteller-spezifischen Module können in der Homegear Dokumentaiton \cite{homegear2018documentation} gefunden werden.
Homematic BidCos, welches das Standard Funkprotokoll von Homematic bis 2015 war, kann beispielsweise über das vorher eingerichtete Repository ganz einfach mittels \inline{apt install} installiert werden:
\begin{lstlisting}
sudo apt install homegear-homematicbidcos
\end{lstlisting}

Nach der Installation eines Moduls muss der homegear-Service mittels
\begin{lstlisting}
sudo service homegear restart
\end{lstlisting}
neu gestartet werden.
Die ordnungsgemäße Funktion des Moduls kann anschließend in der Log-Datei von homegear überprüft werden:
\begin{lstlisting}
tail -n 1000 -f /var/log/homegear/homegear.log
\end{lstlisting}
Homematic BidCos Geräte werden bei korrekter Funktion des Moduls über das Komandozeilen-Interface hinzugefügt.
Über \inline{homegear -r} wird das Komandozeilen-Interface gestartet.
Mittels \inline{families select 0} wird die Homematic BidCos Gerätefamilie ausgewählt.
\inline{pairing on} versetzt homegear schließlich in den Pairing-Modus.
Nun muss nur noch der Pairing-Modus an dem entsprechenden Gerät eingeschaltet werden.
Nach wenigen Sekunden können mit dem Befehl \inline{ls} die Verbundenen Geräte angezeigt werden.

Um über node-red mit den angeschlossenen Geräten zu kommunizieren muss das MQTT-Interface von homegear eingerichtet werden.
Dazu wird dient die Konfigurationsdatei \inline{mqtt.conf} in dem homegar Konfigurationsverzeichnis \inline{/etc/homegear}.

\subsubsection{Homematics Protokolle}
Wie in Abschnitt \ref{homegear} bereits erwähnt wurde das Standardprotokoll von Homematic \emph{Homematic BidCos} im Jahre 2015 von \emph{Homematic IP} abgelöst.
Homegear unterstützt das neue Protokoll Homematic IP jedoch nicht.
Um beispilsweise den bereits angesprochenen Präsenzsensor von Homematic nutzen zu können, der das Homematic IP Protokoll benutzt, ist es notwendig eine Alternative zu homegear zu finden.
Dazu wurden nach einer Webrecherche drei Optionen gefunden:
\begin{enumerate}
\item RaspberryMatic
\item YAHM
\item piVCCU
\end{enumerate}
\paragraph{RaspberryMatic} ist ein von Jens Maus entwickeltes Projekt, welches ein einfaches, Linux/ buildroot-basierendes Homematic kompatibles Betriebssystem für Einplatinencomputer wie den Raspberry Pi zur Verfügung stellt.
Es basiert auf der \textbf Open-\textbf Central-\textbf Control-\textbf Unit-SDK (OCCU) die von eq-3 zur freien Verfügung gestellt wird.
Damit ist RaspberryMatic in der Lage die gesamte Protokollpalette von Homematic zu bedienen.

Der Vorteil von RaspberryMatic ist die einfachheit der Bedienung und die enorme Anzahl an extra Features.
Verworfen wurde RaspberryMatic jedoch, da es nur als komplettes Betriebssystemimage installierbar ist.
Dies bedeutet, dass bei Benutzung beziehungsweise bei der Installation von RaspberryMatic die gesamte bestehende Konfiguration des Raspberry Pi zurückgesetzt wird und widerholt werden muss nachdem das neue Betriebssystem installiert ist, was sehr Aufwändig und nicht Anwenderfreundlich ist.
Zusätzlich ist der Nutzen eines Alternativ-Programmes zu homegear nur als Zwischenlösung gedacht.
Implementiert homegear das Homematic IP Protokoll in der Zukunft oder wird kein Homematic IP Gerät in der Smart-Home Umgebung benutzt, ist es wünschenswert RaspberryMatic vom Raspberry Pi entfernen zu können.
Dies ist mit RaspberryMatic aber nicht ohne größeren Aufwand möglich.
Aus diesen Gründen wurde von der Benutzung von RaspberryMatic abgesehen.

\paragraph{YAHM} ist eine von Leonid Kogan entwickelte Lösung, die die Central-Control-Unit 2 (CCU2) von eq-3 in einem Virtuellen Linux Container (LXC) auf dem Raspberry Pi emuliert.
Die CCU2 wird normalerweise von eq-3 separat mit eigener Hardware verkauft, durch YAHM läuft sie als eigenständiges System auf dem Raspbery Pi.
Das Hinzufügen von Geräten geschieht bei YAHM über das Homematic eigene Webinterface und es werden wie bei RaspberryMatic alle Homematic Protokolle unterstützt.

Die Entscheidung gegen YAHM ist gefallen, da YAHM seit Juni 2018 nicht mehr aktiv Entwickelt wird und damit die Akutalität der Installation nicht gewährleistet werden kann.

\paragraph{piVCCU} ist die letzte Alternative um Homematic Ip zu benutzen.
piVCCU ist ein Project von Alexander Reinert, welches wie YAHM einen Virtuellen Linux Container benutzt um die CCU2 oder auch die CCU3 (die neueste Generation der Homematic CCUs) auf dem Raspberry Pi zu emulieren.



\newpage
\bibliographystyle{plain}
\bibliography{references}
\end{document}

+ 17
- 9
bericht/lennart/references.bib View File

@@ -1,12 +1,3 @@
@book{adams1995hitchhiker,
title={The Hitchhiker's Guide to the Galaxy},
author={Adams, D.},
isbn={9781417642595},
url={http://books.google.com/books?id=W-xMPgAACAAJ},
year={1995},
publisher={San Val}
}

@misc {bendel2019smarthome,
author = "Prof. Dr. Oliver Bendel",
title = "Smart Home",
@@ -23,4 +14,21 @@
month = "Juli",
howpublished = {https://allgeek.de/2017/07/09/homematic-mit-node-red-ueber-homegear/},
note = "[Online; aufgerufen 27-08-2019]"
}

@misc {homegear2018documentation,
author = "Homegear",
title = "Homegear Documentation",
year = "2016-2018",
howpublished = {https://doc.homegear.eu/overview/},
note = "[Online; aufgerufen 28-08-2019]"
}

@misc {alexreinert2019pivccu,
author = "Alexander Reinert",
title = "piVCCU Raspberry Pi Setup",
year = "2019",
month = "Juni",
howpublished = {https://github.com/alexreinert/piVCCU/blob/master/docs/setup/raspberrypi.md},
note = "[Online; aufgerufen 30-08-2019]"
}

Loading…
Cancel
Save