Metainformationen zur Seite
Plugin-Daten | |
---|---|
Autor | Michael Schlenstedt |
Logo | |
Status | STABLE |
Version | 2.0.3 |
Min. LB Version | 2.2.1 |
Release Download | https://github.com/mschlenstedt/LoxBerry-Plugin-Poolmanager/archive/refs/tags/PoolManager-V2.0.3.zip |
Beschreibung | Mit dem LoxBerry PoolManager kann eine automatische pH-Wert und Chlor-Regelung mit Sensoren von Atlas Scientific aufgebaut werden. |
Sprachen | DE, EN |
Diskussion | https://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 einplugin:getvalues
- Liest alle Messwerte neu einplugin:readconfig
- Liest die Pluginkonfiguration neu ein (z. B. bei Änderungen) und aktualisiert anschließend den Status aller Sensorenplugin:display_on
- Schaltet ein an den LoxBerry angeschlossenes LCD Display dauerhaft anplugin: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