\section{Flow/Ausarbeit}
\label{kevin:flow}
In Node-RED gibt es die Möglichkeit Arbeitsblätter anzulegen.
Dadurch lassen sich die verschiedenen Sensoren in logische Gruppen verpacken.
Das Projekt bekommt dadurch eine bessere Übersicht und Strukturierung.
Jeder einzelner Flow beschreibt dabei eine eigene Logik, welche die Sensordaten auswertet und visualisiert.

Bei der datenflussbasierten Entwicklung in Node-RED wird der Datenaustausch durch sogenannte Message-Objekte umgesetzt.

\subsection{MainDashboard -Flow}
\label{kevin:maindashboard-flow}
\begin{figure}[H]
    \centering
    \includegraphics[width=.75\textwidth]{images/main-dashboard-flow.png}
    \caption{Auswertung und Visualisierung des PIR-und Ultraschallsensors}
    \label{fig:main-dashboard-flow}
\end{figure}
Für die visuelle Darstellung des PIR- und Ultraschallsensors ist das Flow „MainDashboard“ zuständig(s. Abb. \ref{fig:main-dashboard-flow}).
Zu Beginn sind im roten Bereich die beiden Subflows „UltraSchallSensor“ und „PirSensor“ erkennbar.
Diese repräsentieren dabei eine selbst entwickelte Logik und geben ihre Sensordaten weiter an das gelbe „merge“ Node im blauen Kasten.
Durch den „merge“ Baustein werden die beiden Datenströme miteinander kombiniert.
Dadurch können diese Datenstöme anschließend leichter durch den „PräsenzFunction“ Node ausgewertet  werden.
Die beiden äußeren Zweige, haben eine einfache „TextFunction“ welche eine textuelle Darstellung der beiden Werte „Ausgelöst“ und „Nicht Ausgelöst“ in der UI anzeigen.

\subsection{HMPresenceSensor–Flow}
\label{kevin:hmpresencesensor-flow}
\begin{figure}[H]
    \centering
    \includegraphics[width=.75\textwidth]{images/hmpresencesensor-flow.png}
    \caption{Flow für den Homematic IP Präsenzmelder}
    \label{fig:hmpresencesensor-flow}
\end{figure}
In diesem Flow (s. Abb. \ref{fig:hmpresencesensor-flow}) wird die Logik von dem HomeMatic IP Präsenzmelder definiert.
Zu Beginn wird eine Subscription durch die beiden violetten Nodes (linke Seite) erstellt, somit erhalten wir die Daten von vorgenanntem Sensor.
Je nachdem, welchen Wert wir erhalten wird dementpsrechend eine Weiterverarbeitung durch Function Nodes vorgenommen und anschließend durch einen Text auf der Bedienoberfläche dargestellt.

\subsection{HMDoorSensor-Flow}
\label{kevin:hmdoorsensor-flow}
\begin{figure}[H]
    \centering
    \includegraphics[width=.75\textwidth]{images/hmdoorsensor-flow.png}
    \caption{HomeMatic Türsensor Flow}
    \label{fig:hmdoorsensor-flow}
\end{figure}
Der HomeMatic Funk Tür-/Fensterkontakt liefert durch die Subscription „DoorSensor“ (violetterNode) einen Boolean-Wert, ob die Türe offen oder geschlossen ist.
Der weitergeleitete Wert wird in der „Function“ Node durch den String „Geschlossen“ oder „Offen“ ersetzt und als Text in der Bedienoberfläche dargestellt.

\subsection{HMPowermeter–Flow}
\label{kevin:hmpowermeter-flow}
\begin{figure}[H]
    \centering
    \includegraphics[width=.75\textwidth]{images/hmpowermeter-flow.png}
    \caption{Sensorauswertung für den Homematic Funk-Schaltaktor}
    \label{fig:hmpowermeter-flow}
\end{figure}
Der Homematic Funk-Schaltaktor bietet die Funktionalität Daten zu senden und zu empfangen.
Die blaue Markierung beschreibt die Funktion Daten durch die Subscriptions (violetten Nodes) zu empfangen.
Dabei werden die Werte Netzspannung, Strom, Leistung und Frequenz auf der Bedienoberfläche dargestellt.
Die Netzspannung und der Strom haben zusätzlich eine grafische Auswertung erhalten, um dadurch den zeitlichen Verlauf der Werte besser verfolgen zu können.
Für das Ein-/ Ausschalten des Funk-Schaltaktors wird ein Switch-Schalter innerhalb der Bedienoberfläche erstellt.
Das Schalten erfolgt durch die Booleanwerte True/False und wird anschließend mit einem sogenannten Thema/Topic zu RedMatic weitergeleitet.
Der„StateText“ Node zeigt in der Bedienoberfläche den aktuellen Verbindungsstatus des Homematic Moduls an.
\begin{figure}[H]
    \centering
    \includegraphics[width=.75\textwidth]{images/hmpowermeter-redmatic-flow.png}
    \caption{Weiterleitungen in RedMatic}
    \label{fig:hmpowermeter-redmatic-flow}
\end{figure}
Die Weiterleitung der Sensordaten an Node-RED erfolgt in RedMatic in Abschnitt \ref{lennart:redmatic} auf Seite \pageref{lennart:redmatic}.
Wie bei der blauen Markierung erkennbar ist, werden in diesem Flow die Sensordaten des Homematic Modulsdirekt an Node-RED weitergeleitet und dort empfangen.
Die rote Markierung zeigt die Logik für das Umschalten des Funk-Schaltkontaktes.
Zu Beginn wird eine Subscription auf Node-RED gemacht, welche die Daten des Switch-Schalters empfängt.
Anschließend werden die empfangenen Boolean-Werte an das Modul gesendet und umgesetzt.