Aufgaben in Docker-Container verbannen

Um so komplexer das gesamte Umfeld wird, umso schwieriger wird es, den Überblick zu bewahren. Inzwischen haben sich einige Funktionen angesammelt. Um diese voneinander zu separieren, wollen wir die einzelnen Funktionen in Docker-Container einsperren. Diese laufen dann auf einem Raspberry Pi 4.

Die Vorteile beim Einsatz von Docker sind dabei vor allem, die einfache Möglichkeit neue Versionen einzuspielen und die Unabhängigkeit der unterschiedlichen Komponenten bezüglich der verwendeten Bibliotheken sicherstellen. So ist es einfach möglich, verschiedene Anwendungen mit unterschiedlichen Versionen von Bibliotheken zu verwenden. Bei der Installation von neuen Anwendungen sind die bestehenden Anwendungen nicht davon betroffen. Zusätzlich motiviert es, selbstgeschriebene Anwendungen möglichst klein und einfach zu halten.

Wie das ganze mit Docker funktionieren kann, zeigt der folgende Text.

„Aufgaben in Docker-Container verbannen“ weiterlesen

Visualisierung in Django – Anbindung von SPS und Pokey

Ziel der ganzen Automatisierung im Haus ist es für uns, viele Funktionen entweder gar nicht mehr zu bedienen, oder eine einfache und intuitive Bedienung zu ermöglichen. Um eine Funktion im Haus auszuführen, können wir entweder die normalen (Licht-)Schalter im Haus drücken oder auf die beiden Raspberry Pi Displays zurückgegriffen werden, auf denen die Visualisierung angezeigt wird.

Wie die Daten von den verschiedenen Komponenten auf diese Displays kommen, soll im folgenden gezeigt werden.

„Visualisierung in Django – Anbindung von SPS und Pokey“ weiterlesen

HEOS Box aus der Visualisierung ansteuern

Wir haben einige HEOS Boxen von Denon im Haus aufgestellt. Diese Boxen sind per LAN oder WLAN angeschlossen und können dann zum Streaming von Musik verwendet werden. Zu den Boxen gibt es von Denon eine App, mit der wir die Musik auf den Boxen steuern können. Wir haben aber auch das Ziel, dass wir die Boxen direkt von unserer Haus-Automatisierung (zum Beispiel vom RaspberryPi Panel) ansprechen können, so dass nicht immer das Smartphone griffbereit sein muss.

Unser erstes Ziel ist es dabei, dass wir die Musik starten und beenden, die Lautstärke regeln und durch die Playlist springen können. Wie dies geht, beschreiben wir im folgenden.

„HEOS Box aus der Visualisierung ansteuern“ weiterlesen

Wetterstation in die Visualisierung einbinden

Da viele Funktionen im und am Haus vom Wetter abhängig sind, haben wir überlegt, wie wir die Wetterdaten am besten bekommen können. Die eine Überlegung war es, aus dem Internet die entsprechenden Daten zu parsen. Leider sind die Daten doch recht ungenau, da die nächste offizielle Wetterstation sehr weit entfernt ist. Also musste es eine eigene Wetterstation sein. Die Anforderung war dabei, dass wir sie in unser Eco-System einbinden können.

„Wetterstation in die Visualisierung einbinden“ weiterlesen

MariaDB Datenbank aus Beckhoff TwinCat3 mit Daten füllen

Wir wollen alle Daten der Sensoren und alle Aktionen über die Beckhoff Steuerung im Haus in einer Datenbank protokollieren. So ist es uns später möglich zu erkennen, welche Aktionen häufig ausgeführt werden und welche eher selten. Außerdem können wir Temperaturkurven für die einzelnen Räume erstellen. Von daher benötigen wir eine einfache Möglichkeit, Daten in eine Datenbank zu schicken. Hierfür setzen wir auf MariaDB, einen Ableger von MySQL.

„MariaDB Datenbank aus Beckhoff TwinCat3 mit Daten füllen“ weiterlesen

SK6812 Remote über den Django Webserver steuern

Bisher haben wir den SK6812 LED Streifen direkt per Skript auf dem Raspberry angesteuert. Die erste Lösung war hierbei per Kommandozeile den Modus zu wechseln. Das ist uns aber auf Dauer zu umständlich. Deswegen wollen wir von jedem beliebigen Gerät, sei es ein Rechner, Tablet oder Smartphone den Streifen ansteuern.

„SK6812 Remote über den Django Webserver steuern“ weiterlesen

ADS per Python und Django ansprechen

Um von Django mit der SPS kommunizieren zu können, haben wir uns für ADS entscheiden. Es gibt eine Bibliothek für Python die ADS kann. Die Bibliothek kann man zum Beispiel hier finden. Sie lässt sich auch einfach per pip mit diesem Befehl installieren.

pip install pyads

Nun kann die Bibliothek in Python verwendet werden. Dazu muss sie einfach nur importiert werden.

import pyads

Eine Dokumentation der Bibliothek findet sich hier.

„ADS per Python und Django ansprechen“ weiterlesen