Sie sind nicht eingeloggt.
Plugin-Daten
AutorMichael Schlenstedt
Logo
StatusSTABLE
Version1.0.1
Min. LB Version2.2.1
Release Downloadhttps://github.com/mschlenstedt/LoxBerry-Plugin-Poolmanager/archive/refs/tags/PoolManager-V1.0.1.zip
Pre-Release Downloadhttps://github.com/mschlenstedt/LoxBerry-Plugin-Poolmanager/archive/refs/tags/PoolManager-V2.0.3.zip
BeschreibungMit dem LoxBerry PoolManager kann eine automatische pH-Wert und Chlor-Regelung mit Sensoren von Atlas Scientific aufgebaut werden.
SprachenDE, EN
Diskussionhttps://www.loxforum.com/forum/projektforen/loxberry/plugins/355455-plugin-loxberry-poolmanager

LoxBerry PoolManager

Download

Download über das entsprechende GIT-Archiv. Der aktuellste Download findet sich oben in der Tabelle. Ältere Versionen im Release-Archiv: https://github.com/mschlenstedt/LoxBerry-Plugin-Poolmanager/releases

Funktion des Plugins

Das Plugin stellt ein Gateway zu den Atlas Scientific Sensoren und Aktoren bereit. Dabei werden alle unterstützten Sensoren (z. B. pH-Sonde, Redox-Sonde) kontinuierlich ausgelesen und per MQTT und dem MQTT Gateway Plugin an den Miniserver übertragen. Aktoren (Dosierpumpen) von Atlas Scientific können zudem über das Gateway angesteuert werden und so entsprechende Dosierungen vorgenommen werden.

Alle Sensoren und Aktoren können über das Plugin kalibriert werden. Des weiteren bietet das Plugin die Ausgabe aller Messwerte sowie die Durchführung des Kalibrierungsprozesses über ein LCD Display an, welches vor Ort im Pool-Technikhaus angebracht sein kann (Raspberry muss dazu natürlich im Pool-Technikhaus installiert sein).

Folgende Hardware wird vom Plugin unterstützt: Unterstützte Hardware

Installation

Keine Besonderheiten. Das Plugin wird standardmäßig über die Pluginverwaltung installiert. Das Plugin setzt ein installiertes und konfiguriertes  MQTT Gateway Plugin voraus (nur LoxBerry 2.2 - ab LoxBerry 3.0 ist das Gateway bereits im LoxBerry integriert)!

Hardware vorbereiten

Separater I2C Bus

Das Plugin blockiert den I2C Bus, an dem alle Sensoren angeschlossen werden. Es werden an alle Busteilnehmer regelmäßig Befehle gesendet (auch an fremde Sensoren/Aktoren) - das kann zu erheblichen Fehlfunktionen bei den "Nicht-Atlas-Scientific-Komponenten" auf dem Bus führen! Ich empfehle Euch die Atlas Scientific Sensoren auf einem eigenen I2C Bus laufen zu lassen (wobei das Whiteboard zwingend Bus 1 verwendet - ihr müsst also eure anderen Komponenten umlegen). Wie man mehrere I2C Busse auf dem Raspberry aktiviert, könnt ihr hier nachlesen: Mehrere I2C Busse an einem Raspberry

Hinweis: Das vom Plugin unterstützte LCD Display (Adafruit LCD+Keypad Kit for Raspberry Pi) kann gemeinsam am gleichen Bus wie die Atlas Sensoren betrieben werden. Hier gibt es keine Probleme.

Vor der ersten Verwendung mit dem Plugin müssen alle Sensoren und Aktoren in den I2C-Modus versetzt werden (standardmäßig werden die Sensoren im UART Modus ausgeliefert). Wenn ihr zwei gleiche Sensoren oder Aktoren einsetzen möchtet (z. B. zwei Dosierpumpen), müsst ihr zudem von einem der Geräte die Default-Busadresse ändern. Wie das geht ist hier beschrieben: Unterstützte Hardware

Weitere Beispiele für Hardware Rund um den Pool und Loxone: Beispiel: Hardware für die Steuerung

Konfigurationsoptionen

Reiter: Atlas Scientific Gateway

Hier kann das Atlas Scientific Gateway gestartet und gestoppt werden und es können neue Sensoren oder Aktoren zu eurer Konfiguration hinzugefügt werden. Zudem kann der I2C Bus nach Geräten gescannt werden.

Hinzufügen/Editieren von Sensoren und Aktoren:

Option Beschreibung
Name Eindeutiger Name für den Sensor. Vermeidet Sonderzeichen, Umlaute, Leerzeichen (auch wenn diese theoretisch funktionieren sollten). Der Name wird in den Sensor geschrieben (gefiltert, rein ASCII).
Typ Typ des Sensors, z. B. pH, ORP (Redox), PRS (Pressure) usw.
Adresse I2C Busadresse in Dezimalschreibweise, z. B. "99" für die pH Sonde.
Nutze Kalibrierung über das Plugin Ist diese Option aktiviert, kann die Sonde über das WebUI (und ggf. LCD Display) bequem kalibriert werden.
Mittlerer Kalibrierungspunkt Mittlerer Kalibrierungspunkt oder bei 1-Punkt-Kalibrierung der einzigste Kalibrierungspunkt. Hier wird der Zielwert eingegeben, also bei z. B. bei der 7.0 pH Kalibrierungslösung wird hier "7.0" eingegeben.
Unterer Kalibrierungspunkt Unterer Kalibrierungspunkt. Leer lassen wenn keine Zwei- oder Dreipunktkalibrierung verwendet wird. Ansonsten analog dem mittleren Kalibrierungspunkt Zielwert eingeben.
Oberer Kalibrierungspunkt Oberer Kalibrierungspunkt. Leer lassen wenn keine Dreipunktkalibrierung verwendet wird. Ansonsten analog dem unteren Kalibrierungspunkt Zielwert eingeben.
Zeige Wert auf LCD Ist ein LCD angeschlossen, kann hier die Anzeige auf dem LCD aktiviert werden. Alle aktivierten Sensoren/Aktoren werden auf dem LCD der Reihe nach in einer Endlosschleife angezeigt.
Einheit für LCD Diese Einheit wird dem Wert angefügt. Nur reines ASCII ist möglich!
Wert für LCD Einige Sensoren/Aktoren senden mehrere Werte (bei PMP Pumpen z. B. aktueller Dosierwert und die Zählerstände). Hier könnt ihr auswählen, welcher der Werte am LCD angezeigt werden soll.

Beispiel: Kalibrierungseinstellungen pH Sonde mit 3-Punkt-Kalibrierung:

Lest in den Datenblättern bei Atlas Scientific nach wie die Sensoren kalibriert werden (z. B. ob 3-Punkt, 1-Punkt oder wie auch immer)

Nach jedem Hinzufügen, Löschen oder Ändern muss das Gateway neu gestartet werden, damit die Änderungen aktiv werden!

Reiter: LCD Display

In diesem Tab wird ein an den LoxBerry angeschlossenes LCD Display konfiguriert. Die Benutzung des Displays wird weiter unten in einem separaten Kapitel beschrieben.

Option Beschreibung
LCD Display Hier kann das LCD Display aktiviert oder deaktiviert werden.
Zykluszeit Im Standardmodus werden alle Messwerte der Reihe nach im Display angezeigt. Mit dieser Zeit kann die Anzeige-Zeit, nach der jeweils gewechselt wird, angepasst werden. Angabe in Sekunden.
Display Timeout Nach dieser Zeit (Angabe in Sekunden) schaltet sich das Display ab. Es kann dann durch Tastendruck reaktiviert werden. Möchte man das Display permanent eingeschaltet lassen, trägt man hier eine 0 (Null) ein.
Externer Messwert: Messwert Name Möchte man weitere externe Messwerte im Display anzeigen (z. B. Temperaturen), so kann man hier einen Namen vergeben, der dazu im Display angezeigt wird. Leer lassen um die Funktion zu deaktivieren. Beschreibung im Kapitel unten.
Externer Messwert: Messwert Einheit Möchte man weitere externe Messwerte im Display anzeigen (z. B. Temperaturen), so kann man hier die dazugehörige Einheit angeben, die dazu im Display angezeigt wird. Leer lassen um die Funktion zu deaktivieren. Beschreibung im Kapitel unten.

Reiter: Einstellungen

Grundlegende Einstellungen zum Plugin werden im Tab "Einstellungen" getätigt:

Option Beschreibung
Aktualisierungszeit Status [s] Nach dieser Anzahl an Sekunden wird der Status der Sensoren (damit sind nicht die Messwerte gemeint!) neu eingelesen werden. Das beinhaltet z. B. Informationen über Firmware, Spannung, Konfigurationsoptionen etc. Das Auslesen nimmt einige Zeit in Abspruch, in der das Plugin nichts anderen machen kann. Werte < 3600 Sekunden machen keinen Sinn.
Aktualisierungszeit Messwerte [s] Nach dieser Anzahl Sekunden werden alle Messwerte erneut vom Plugin eingelesen. Kürzere Zeiten als 1,5s sind nicht realisierbar. Sinnvoll sind Werte ab 5 Sekunden, da sowohl pH- als auch Redoxmessungen träge sind.
MQTT Topic Unter diesem Topic werden die Daten des Plugins im Broker veröffentlicht

Reiter: Messungen

In diesem Reiter seht ihr die aktuellen Messwerte eurer Sensoren und Aktoren. Die Webseite wird kontinuierlich aktualisiert.

Wenn ihr in der Konfiguration eures Sensors/Aktors die Kalibrierung über das Plugin aktiviert habt, könnt ihr von hier aus auch die Kalibrierung starten. Die Zielwerte der Kalibrierung werden ebenfalls in der Konfiguration des Sensors/Aktors eingetragen. Lest in den [[https://atlas-scientific.com|Datenblättern bei Atlas Scientific]] nach wie die Sensoren kalibriert werden (z. B. ob 3-Punkt, 1-Punkt oder wie auch immer).

Bei der Kalibrierung werdet ihr Schritt für Schritt durch die einzelnen Schritte durchgeführt. Dabei wird das Plugin gestoppt (damit eure Regelung nicht verrückt spielt). Wartet bei jeden Schritt bis sich die Anzeige stabilisiert hat und speichert dann die Kalibrierung ab. Bei Aktoren (Pumpe) wird eine Menge X dosiert, die ihr über eine hochgenaue Waage oder einen Messzylinder ermitteln müsst. Den tatsächlich gemessenen Wert müsst ihr im Kalibrierschritt dann eintragen.


Einrichtung in der Loxone Config Software

Messwerte auslesen/verwenden

Das Plugin sendet alle ausgelesenen Messwerte per MQTT an den MQTT Broker bzw. das  MQTT Gateway Plugin. Im Gateway Plugin muss das Topic des PoolManager Plugins abonniert werden (standardmäßig lautet das Topic poolmanager/#). Bitte lest in der Dokumentation des  MQTT Gateway Plugin nach, wie genau die Werte in der Loxone Config verwendet werden: MQTT - Schritt für Schritt: MQTT -> Loxone

Ich behandele das Thema "Anlegen eines Virtuellen Eingangs" hier nur in Kürze:

  • Virtuellen Eingang anlegen
  • Bezeichnung aus der Incoming Overview des Gateway Plugins kopieren und im Virtuellen Eingang exakt so einfügen. 
  • Als Digitaleingang verwenden: NEIN
  • Validierung korrekt setzen.

Beispiel anhand der pH Sonde (Adresse 99):

Aktoren und Plugin steuern

Alle Aktoren (Pumpen) und auch das Plugin können über das Topic poolmanager/set/command gesteuert werden. Dazu muss für das MQTT Gateway Plugin ein Virtueller Ausgang angelegt werden. Bitte lest in der Dokumentation des  MQTT Widgets nach, wie genau die Werte in der Loxone Config verwendet werden: MQTT - Schritt für Schritt: Loxone -> MQTT

Ich behandele das Thema "Anlegen eines Virtuellen Ausgangs" hier nur in Kürze:

  • Virtuellen Ausgang anlegen, Adresse: /dev/udp/192.168.3.212/11884 (IP und ggf. Port müsst ihr anpassen)
  • Darunter einen "Virtuellen Ausgang Befehl" anlegen
  • Befehl bei EIN: publish poolmanager/set/command <EUER BEFEHL>
  • Optional: Befehl bei AUS: publish poolmanager/set/command <EUER BEFEHL>
  • Als Digitalausgang verwenden: je nach Bedarf, meist hier NEIN (um Werte über <v> an das Plugin zu übertragen

Für die Befehle gibt es nun zwei Möglichkeiten: Entweder einen Befehl direkt an einen Sensor oder Aktor senden oder aber einen Befehl an das Plugin senden:

Befehl an Sensor/Aktor senden

Hierbei fügt ihr direkt den Befehl, den ihr aus der Dokumentation des Atlas Scientific Sensors entnehmen könnt, direkt 1:1 hier ein. Dem Befehl wird die Sensor-Adresse gefolgt von einem Doppelpunkt vorangestellt. Beispiel: Dosierbefehl an die Pumpe mit der Adresse 103 senden. Der Befehl lautet dann: 103:d,<v> Das <v> wird von Loxone dann wie üblich durch den Analogwert des Befehlseingangs ersetzt. An das Plugin und damit die Pumpe wird also z. B. gesendet: 103:d,50 um 50ml über die Pumpe zu dosieren.

Beispiel Dosierbefehl an Pumpe:

Befehl an das Plugin senden (Pluginfunktionen steuern)

Das Plugin kann über das gleiche Topic wie die Sensoren und Aktoren gesteuert werden. Anstelle der vorangestellten Sensoradresse wird hier aber das Signalwort "plugin" gefolgt von einem Doppeltpunkt gestellt. Beispiel Auslesen der Sensoren pausieren: plugin:pause

Folgende Befehle werden aktuell vom Plugin unterstützt:

  • plugin:pause - Pausiert das Plugin bzw. das Auslesen der Sensoren und versetzt alle Sensoren und Aktoren in den SLEEP Modus (z. B. wenn die Poolpumpe nicht läuft)
  • plugin:start - Startet das Plugin wieder (z. B. wenn die Poolpumpe morgens wieder läuft)
  • plugin:calibrate - Nur für interne Zwecke - nicht verwenden!
  • plugin:getstatus - liest alle Statuswerte neu ein
  • plugin:getvalues - Liest alle Messwerte neu ein
  • plugin:readconfig - Liest die Pluginkonfiguration neu ein (z. B. bei Änderungen) und aktualisiert anschließend den Status aller Sensoren
  • plugin:display_on - Schaltet ein an den LoxBerry angeschlossenes LCD Display dauerhaft an
  • plugin:display_off - Schaltet ein an den LoxBerry angeschlossenes LCD Display aus. Zusätzlich wird der hinterlegte Timeout aktiviert.
  • plugin:display_auto - Schaltet ein an den LoxBerry angeschlossenes LCD Display ein. Zusätzlich wird der hinterlegte Timeout aktiviert, d. h. nach Timeout wird das Display wieder automatisch ausgeschaltet.

Beispiel Plugin bei EIN starten und bei AUS pausieren lassen:

Beispiele für die Umsetzung von Aufgaben in der LoxConfig

LCD Display

Zur Bedienung oder zum Ablesen von Messwerten im Poolhaus kann ein LCD Display an den LoxBerry angeschlossen werden. Es wird ausschließlich das Adafruit LCD+Keypad Kit for Raspberry Pi unterstützt. Andere LCD Displays funktionieren mit dem Plugin nicht.

Im Standardmodus werden alle Messwerte des Plugins zyklisch im Display angezeigt. Durch drücken der Links- oder Rechts-Taste wird die Anzeige unterbrochen und man kann die einzelnen Werte über Links/Rechts explizit durchschalten. Erfolgt für 30 Sekunden kein Tastendruck, wird die zyklische Anzeige wieder aktiviert.

Die Anzeige eines Sensors/Aktors und die gewünschte Einheit muss explizit in der Sensor/Aktor-Konfiguration aktiviert werden. Ansonsten erfolgt keine Anzeige. Siehe oben.

Anzeige externer Messwerte

Man kann zusätzlich bis zu 5 externe Messwerte auf dem Display anzeigen lassen. Dazu trägt man Name und Einheit im Reiter "LCD Display" entsprechend ein. So ist es zum Beispiel möglich einen Temperatursensor oder auch Wetterdaten mit auf dem Display anzuzeigen. Es muss zwingend ein Name angegeben werden (sonst wird der Wert ignoriert), die Angabe einer EInheit ist optional. Die Messwerte werden vom Miniserver aus per Virtuellem Ausgang an ein bestimmtes MQTT Topic gesendet. Von dort aus werden sie vom Plugin eingelesen und angezeigt.

Die externen Messwerte können über das Topic poolmanager/lcd/value1/value (Beispiel für den ersten von 5 Messwerten) an das Plugin gesendet werden. Dazu muss für das MQTT Widget ein Virtueller Ausgang angelegt werden. Bitte lest in der Dokumentation des MQTT Widgets nach, wie genau die Werte in der Loxone Config verwendet werden: MQTT - Schritt für Schritt: Loxone -> MQTT

Ich behandele das Thema "Anlegen eines Virtuellen Ausgangs" hier nur in Kürze:

  • Virtuellen Ausgang anlegen, Adresse: /dev/udp/192.168.3.212/11884 (IP und ggf. Port müsst ihr anpassen)
  • Darunter einen "Virtuellen Ausgang Befehl" anlegen
  • Befehl bei EIN: publish poolmanager/lcd/value1/value <v>
  • Als Digitalausgang verwenden: NEIN

Für weitere Messwerte dann value1 entsprechend gegen value2, value3 etc. austauschen.

Steuern des Displays von Loxone aus

Das Display kann auch extern ein- und ausgeschaltet werden (z. B. über einen Türkontakt o. ä.). Siehe dazu hier: Befehle an das Plugin senden

Kalibrierung

Noch nicht implementiert

Manuelle Steuerung des Plugins über die Kommandozeile

Die Aktoren und Sensoren können auch manuell vom LoxBerry aus gesteuert und konfiguriert werden: Manuelle Steuerung/Auslesen von Sensoren/Aktoren

Roadmap

Kalibrierung über die WebUI von Sensoren und Aktoren (zugewiesen an Michael Schlenstedt)

LCD Display zur Anzeige (zugewiesen an Michael Schlenstedt)

LCD Display zur Steuerung (zugewiesen an Michael Schlenstedt)

Fragen stellen und Fehler melden