Swimmingpool und OpenHAB (3/4)

Nachdem wir im vorangegangenen Blogartikel den Controller für die Poolsteuerung erstellt haben, werden wir diesen nun über das WLAN mit OpenHAB verbinden und dort die Regeln für die smarte Steuerung implementieren.

Installation von OpenHAB

OpenHAB ist ein “Home Automation Broker”, also ein Smart Home Server Software. Diese kann auf einem Raspberry Pi installiert werden. Dafür gibt es einen Blogartikel, der die Installation beschreibt. Zusätzlich gibt es auf der Projektseite von openHAB eine sehr gute englische Dokumentation.

Wir gehen hier davon aus, dass schon eine Grundinstallation von OpenHAB besteht.

Wir müssen nun untere Umständen noch einige Addons der Installation hinzufügen. Dies ist über die Oberfläche “Paper UI” im Unterpunkt “Add-ons” möglich.

Für die Integration der Poolsteuerung benötigen wir folgende Add-ons:

  • MQTT Binding
  • openHAB Cloud Connector (optional für Internetzugriff über die Smartphone Apps)
  • RRD4j Persistence
  • JSONPath Transformation
  • Basic UI

Konfiguration

Die Konfigurationsdateien, die wir nun erstellen, liegen auf dem Raspberry normalerweise in dem Pfad ‘/etc/openhab2’. Die entsprechende Struktur mit den Dateien sind im GitHub-Repository hinterlegt.

MQTT-Broker anbinden

Die Konfiguration für die Anbindung des Mosquitto Dienstes befindet sich in der Datei ‘services/mqtt.cfg’. Dort wird der Hostname und der Port konfiguriert. In unserem Fall laufen openHAB und Mosquitto auf dem selben Raspberry.

Sitemap mit den Items

Zunächst müssen wir nun in OpenHAB die Objekte (Items) definieren, damit wir diese auf der Sitemap steuern und auswerten können.

pool.items

In der Datei pool.items werden die Mess- und Steuerpunkte festgelegt. Dort werden zum Beispiel die Verknüpfungen der MQTT-Topics mit den Items vorgenommen. So gibt es die Items für die Temperaturen, welche die Daten von MQTT entgegennehmen und die Items die Nachrichten versenden, um die Pumpen zu schalten. Das Größer- bzw. Kleiner-Zeichen in der Konfiguration gibt jeweils die Richtung der Nachrichten an:

Number  Sensor_Solar_Temperature "Solar"
(gPool, gTemperature, Chart_Pool_Temperature)
["CurrentTemperature", "object:solar"] {
  mqtt="<[mqtt:/sensor/solar/temperature:state:JSONPATH($.value)]"
}

 

Charts

Für Chart-Grafiken und die Integration in Alexa sind noch einige weitere Konfigurationselemente integriert. So kann zum Beispiel über die Einstellungen der Zeitraum der Charts festgelegt werden.

Die Charts werden genutzt, um die Temperaturverläufe und die Schaltzeiten visualisiert. Damit die Charts richtig funktionieren, benötigen diese Daten im Abstand von maximal einer Minute. Da passt also unser Timer im Pool-Controller bestens.

Die Messdaten werden in einer rrdb-Datenbank gespeichert. Dazu existiert ebenfalls eine Konfiguration im Repository. Da wir die Daten nicht für Langzeitauswertungen benötigen, reicht diese interne Datenbank von openHAB völlig aus.

Achtung der Asterisk * in der rrd4j.persist ist kein Platzhalter, sondern zeigt an, dass alle Elemente in dieser Gruppe gespeichert werden sollen!

pool.sitemap

Die Items werden nun in der Sitemap zusammengefügt und ergeben folgende Oberfläche:

Pool AutomationEinstellungen

 

Wie geht es weiter?

Nun haben wir die Sitemap mit den Temperaturwerten und den Schaltmöglichkeiten für die beiden Pumpen.

Im abschließenden vierten Artikel werden wir auf die Regeln für die automatisierte Steuerung des Pools eingehen.

Weiter zu: Der smarte Pool (4/4)

 

Letzter Artikel Der smarte Pool (4/4)
Neuer Artikel Der Pool-Controller (2/4)

Hinterlasse einen Kommentar

Kommentare müssen vor der Veröffentlichung überprüft werden

Erforderliche Angabe