Metainformationen zur Seite
Plugin-Daten | |
---|---|
Autor | Paolo Bazzi |
Logo | |
Status | STABLE |
Version | 0.2.0 |
Min. LB Version | 1.4.2 |
Release Download | https://github.com/paolobazzi/LoxBerry-Plugin-BWT-Aqua/archive/0.2.0.zip |
Beschreibung | Anbindung von BWT Aqua Wasserenthärtungsanlage an Loxone. |
Sprachen | EN, DE |
Diskussion | https://www.loxforum.com/forum/projektforen/loxberry/plugins/278330-plugin-bwt-aqua-anbindung-wasserenth%C3%A4rter |
BWT Aqua
Download
Funktion des Plugins
Das Plugin verbindet sich via HTTP auf die BWT Aqua Perla Wasserenthärtungsanlage und liest via HTTP die aktuellen Daten zu Durchfluss und Füllstand aus.
Die Daten werden aus der Weboberläche der Anlage ausgelesen, welche im lokalen Netz unter https:%%//%%<IP-der-BWT>/users/login zur Verfügung steht.
Installation
Zip Downloaden und installieren. Automatische Updates werden noch nicht unterstützt.
Konfigurationsoptionen
Die folgenden Einstellungen stehen zur Verfügung:
- IP Adresse: Die lokale IP Adresse Enthärtungsanlage (ohne HTTP)
- Code: Das Passwort für den Zugriff auf die Enthärtungsanlage (Der Code steht in der Mail der Registrierung der Anlage bei BWT. Alternativ kann der Code via BWT Support angefragt werden).
- Per HTTP senden: Wenn eingeschaltet, werden die Daten der Enthärtungsanlage alle 15 Min an virtuelle Eingänge des Miniservers gesendet.
- Per HTTP bereitstellen: Mittels verlinkter URL können die Daten der Enthärtungsanlage aus Loxone mittels virtuellem HTTP Eingang ausgelesen werden.
- Miniserver: Auswahl des Miniservers für den Versand der Daten via HTTP.
Mittels Button Testen kann der Verbindungsaufbau und das abrufen der Daten getestet werden. Sofern "Per HTTP senden" aktiviert ist, werden die Daten auch direkt zum Testen an den Miniserver gesendet.
Die Ausgabe zeigt, ob die Verbindung klappt und listet die abgerufenen Werte.
URL: http://loxberry/plugins/bwt-aqua/index.cgi?action=test
Einrichtung in der Loxone Config Software
Variante "Per HTTP senden"
Virtueller Eingang | Bedeutung | Typ | |
bwt-aqua-flow-current | Aktueller Durchfluss (Liter) | Virtueller Eingang | |
bwt-aqua-flow-current-percent | Aktuelle Leistung (Prozent) | Virtueller Eingang | |
bwt-aqua-flow-today | Aktueller Durchfluss Heute (Liter) | Virtueller Eingang | |
bwt-aqua-flow-month | Aktueller Durchfluss Monat (Liter) | Virtueller Eingang | |
bwt-aqua-flow-year | Aktueller Durchfluss Jahr (m | 3) | Virtueller Eingang |
---|---|---|---|
bwt-aqua-regenerant-refill-days | Regeneriermittel verbleibend (Tage) | Virtueller Eingang | |
bwt-aqua-regenerant-remaining | Regeneriermittel Stand (Prozent) | Virtueller Eingang | |
bwt-aqua-data-timestamp | Letzte Datenübertragung | Virtueller Text Eingang | |
bwt-aqua-column1-remaining-capacity | Restkapazität Säule 1 (Liter) | Virtueller Eingang | |
bwt-aqua-column2-remaining-capacity | Restkapazität Säule 2 (Liter) | Virtueller Eingang | |
bwt-aqua-column1-state | Regenerationsschritt Säule 1 | Virtueller Text Eingang | |
bwt-aqua-column2-state | Regenerationsschritt Säule 2 | Virtueller Text Eingang | |
bwt-aqua-sole-counter-last-extracted-quantity | Solezähler - Zuletzt abgesaugte Menge (ml) | Virtueller Eingang |
Die Namen der Eingänge werden in Zukunft konfigurierbar sein. Aktuell stehen sie schon im Konfigurationsfile des Plugins, sind aber via Oberfläche noch nicht anpassbar.
Visualisierung in Loxone
Variante "Per HTTP bereitstellen"
Alternativ können die Werde auch via HTTP Eingang abgerufen werden.
URL: http://loxberry/plugins/bwt-aqua/index.cgi?action=fetch
Befehlserkennung:
Virtueller Eingang | Bedeutung | Typ | |
flowCurrent=\v | Aktueller Durchfluss (Liter) | Zahl | |
flowCurrentPercent=\v | Aktuelle Leistung (Prozent) | Zahl | |
flowToday=\v | Aktueller Durchfluss Heute (Liter) | Zahl | |
flowMonth=\v | Aktueller Durchfluss Monat (Liter) | Zahl | |
flowYear=\v | Aktueller Durchfluss Jahr (m | 3) | Zahl |
---|---|---|---|
regenerantRefillDays=\v | Regeneriermittel verbleibend (Tage) | Zahl | |
regenerantRemainingDays=\v | Regeneriermittel Stand (Prozent) | Zahl | |
timestamp=\v | Letzte Datenübertragung | Zahl (in Virtuellem Status mit <v.d> formatieren | |
remainingCapacityColumn1=\v | Restkapazität Säule 1 (Liter) | Zahl | |
remainingCapacityColumn2=\v | Restkapazität Säule 1 (Liter) | Zahl | |
soleCounterLastExtractedQuantity=\v | Solezähler - Zuletzt abgesaugte Menge (ml) | Zahl | |
stateColumn1=\1 | Regenerationsschritt Säule 1 | Zahl (in Statusbaustein prüfen, Wert = 66 entspricht "Betrieb") | |
stateColumn2=\1 | Regenerationsschritt Säule 2 | Zahl (in Statusbaustein prüfen, Wert = 66 entspricht "Betrieb") |
Vorlage für virtuelle Eingänge:
Importiert in der Config und mit Status-Baustein ergänzt:
Danke an Armin Votava für die Vorlage.
Befehle aufrufen
Via BWT Aqua Plugin lassen sich auch diverse Aktionen auf der BWT Wasserenthärtungsanlage auslösen.
1) Zur Konfiguration zunächst den Loxberry Server als virtuellen Ausgang anlegen (Adresse als IP eintragen):
2) Danach für jede gewünschte Aktion einen virtuellen Ausgangsbefehl anlegen (Name und Befehl bei EIN eintragen):
Die möglichen Befehle sind hier aufgeführt oder auch direkt in der Loxberry Konfigurationsseite des Plugins aufgeführt:
Aktion | Ausgangsbefehl |
Regeneriermittelbefüllung | /plugins/bwt-aqua/index.cgi?action=trigger&id=489&value=1 |
Urlaubsmodus einschalten | /plugins/bwt-aqua/index.cgi?action=trigger&id=484&value=1 |
Urlaubsmodus ausschalten | /plugins/bwt-aqua/index.cgi?action=trigger&id=484&value=0 |
Extra Regeneration auslösen | /plugins/bwt-aqua/index.cgi?action=trigger&id=482&value=1 |
Extra Spülung auslösen | /plugins/bwt-aqua/index.cgi?action=trigger&id=483&value=1 |
Ausserbetriebsetzen | /plugins/bwt-aqua/index.cgi?action=trigger&id=507&value=1 |
Wiederinbetriebnahme | /plugins/bwt-aqua/index.cgi?action=trigger&id=507&value=0 |
Vorlage für virtuelle Ausgänge:
1269957098.xml
Danke an Armin Votava für die Vorlage.
3) In der Loxone Config für Aktionen mit ein/aus einen Schalter und für Aktionen welche nur aufgerufen werden einen Taster anlegen:
Visualisierung mit Urlaubsmodus Ein:
Zugriff auf neue lokale BWT API
Im Jahr 2022 hat BWT den Zugriff auf die vom Plugin verwendete lokale API durch einen Umbau der Firmware auf Zugriff via VNC Technologie verunmöglicht. Als Ersatz gibts dafür seit Firmware Version: 2.0203 eine neue (noch nicht offiziell kommunizierte) lokale REST API.
Die passende Firmware könnt ihr euch via BWT Support aufspielen lassen. Danach muss die lokale API in den Einstellungen einmalig aktiviert werden: Menü → Einstellungen → Allgemein → Verbindungen, ganz unten: API auf "ein".
Dank Authentifizierung mittels Basic-Auth lässt sich die API direkt ohne Plugin in Loxone einbinden:
- Username: user
- Passwort: Login-Code welcher von BWT mit der Registrierungsmail versendet wird.
Aufruf aus Loxone:
- Virtuellen HTTP Eingang anlegen
- Abfragezyklus z.B. 900s (=alle 15 Minuten)
- Timeout: 4000ms
- Anzahl erlaubter Timeouts: 10
- Virtueller HTTP Eingang Befehle anlegen und gemäss folgender Tabelle konfigurieren:
Bezeichnung | Befehlserkennun | Einheit |
Durchfluss Tag [l] | "WaterTreatedCurrentDay_l" :\v | <v.1> l |
Durchfluss Monat [l] | "WaterTreatedCurrentMonth_l" :\v | <v.1> l |
Durchfluss Jahr [l] | "WaterTreatedCurrentYear_l" : "\v | <v.1> l |
Vorrat [Tage] | "RegenerativRemainingDays" :\v | <v> |
Vorrat [%] | "RegenerativLevel" :\v | <v> % |
Beispielkonfiguration Virtueller HTTP Eingang (Inhalt als XML Datei abspeichern und in Loxone importieren, anschliessend username, passwort und IP anpassen):
- Beispielkonfiguration Virtueller HTTP Eingang
<?xml version="1.0" encoding="utf-8"?> <VirtualInHttp Title="BWT Local API" Comment="" Address="http://username:password@192.168.1.2:8080/api/GetCurrentData" PollingTime="900"> <Info templateType="2" minVersion="12021105"/> <VirtualInHttpCmd Title="Verbrauch Tag [l]" Comment="" Check=""WaterTreatedCurrentDay_l" :\v" Signed="true" Analog="true" SourceValLow="0" DestValLow="0" SourceValHigh="100" DestValHigh="100" DefVal="0" MinVal="-10000" MaxVal="10000"/> <VirtualInHttpCmd Title="Verbrauch Monat [l]" Comment="" Check=""WaterTreatedCurrentMonth_l" :\v" Signed="true" Analog="true" SourceValLow="0" DestValLow="0" SourceValHigh="100" DestValHigh="100" DefVal="0" MinVal="-10000" MaxVal="10000"/> <VirtualInHttpCmd Title="Verbrauch Jahr [l]" Comment="" Check=""WaterTreatedCurrentYear_l" : "\v" Signed="true" Analog="true" SourceValLow="0" DestValLow="0" SourceValHigh="100" DestValHigh="100" DefVal="0" MinVal="-10000" MaxVal="10000"/> <VirtualInHttpCmd Title="Vorrat Tage" Comment="" Check=""RegenerativRemainingDays" :\v" Signed="true" Analog="true" SourceValLow="0" DestValLow="0" SourceValHigh="100" DestValHigh="100" DefVal="0" MinVal="-10000" MaxVal="10000"/> <VirtualInHttpCmd Title="Vorrat" Comment="" Check=""RegenerativLevel" :\v" Signed="true" Analog="true" SourceValLow="0" DestValLow="0" SourceValHigh="100" DestValHigh="100" DefVal="0" MinVal="-10000" MaxVal="10000"/> </VirtualInHttp>
Der Aufruf /GetCurrentData
liefert auch weitere Daten. Achtung: textuelle Werte wie Datum lassen sich via virtuellem HTTP Eingang leider in Loxone nicht abgreifen.
- /GetCurrentData Beispielwerte
{ "ActiveErrorIDs": "", "BlendedWaterSinceSetup_l": 12344, "CapacityColumn1_ml_dH": 15848200, "CapacityColumn2_ml_dH": 15848200, "CurrentFlowrate_l_h": 0, "DosingSinceSetup_ml": 0, "FirmwareVersion": "2.0207", "HardnessIN_CaCO3": 345, "HardnessIN_dH": 10, "HardnessIN_fH": 18, "HardnessIN_mmol_l": 2, "HardnessOUT_CaCO3": 24, "HardnessOUT_dH": 2, "HardnessOUT_fH": 3, "HardnessOUT_mmol_l": 1, "HolidayModeStartTime": 0, "LastRegenerationColumn1": "2023-09-13 01:55:25", "LastRegenerationColumn2": "2023-09-13 02:51:01", "LastServiceCustomer": "2023-09-11 10:35:13", "LastServiceTechnican": "2023-09-22 08:43:04", "OutOfService": 0, "RegenerationCountSinceSetup": 1234, "RegenerationCounterColumn1": 456, "RegenerationCounterColumn2": 789, "RegenerativLevel": 63, "RegenerativRemainingDays": 40, "RegenerativSinceSetup_g": 230000, "ShowError": 0, "WaterSinceSetup_l": 12345, "WaterTreatedCurrentDay_l": 123, "WaterTreatedCurrentMonth_l": 4567, "WaterTreatedCurrentYear_l": 890722 }
Es stehen neben dem Aufruf von /GetCurrentData
auch weitere Endpunkte mit zusätzlichen Daten zur Verfügung.
Verbrauch für den aktullen Tag zur Verfügung:
- /GetDailyData Beispielwerte
{ "0000_0029_l": 0, "0030_0059_l": 0, "0100_0129_l": 0, "0130_0159_l": 0, "0200_0229_l": 0, "0230_0259_l": 0, "0300_0329_l": 0, "0330_0359_l": 0, "0400_0429_l": 0, "0430_0459_l": 0, "0500_0529_l": 0, "0530_0559_l": 0, "0600_0629_l": 0, "0630_0659_l": 0, "0700_0729_l": 0, "0730_0759_l": 0, "0800_0829_l": 0, "0830_0859_l": 1, "0900_0929_l": 2, "0930_0959_l": 3, "1000_1029_l": 4, "1030_1059_l": 0, "1100_1129_l": 1, "1130_1159_l": 2, "1200_1229_l": 8, "1230_1259_l": 9, "1300_1329_l": 2, "1330_1359_l": 0, "1400_1429_l": 0, "1430_1459_l": 2, "1500_1529_l": 2, "1530_1559_l": 0, "1600_1629_l": 0, "1630_1659_l": 0, "1700_1729_l": 0, "1730_1759_l": 0, "1800_1829_l": 0, "1830_1859_l": 13, "1900_1929_l": 5, "1930_1959_l": 1, "2000_2029_l": 0, "2030_2059_l": 0, "2100_2129_l": 0, "2130_2159_l": 0, "2200_2229_l": 0, "2230_2259_l": 0, "2300_2329_l": 0, "2330_2359_l": 0 }
Verbrauch pro Tag im Monat:
- /GetMonthlyData Beispielwerte
{ "Day01_l": 10, "Day02_l": 20, "Day03_l": 30, "Day04_l": 20, "Day05_l": 0, "Day06_l": 0, "Day07_l": 101, "Day08_l": 102, "Day09_l": 103, "Day10_l": 156, "Day11_l": 232, "Day12_l": 22, "Day13_l": 222, "Day14_l": 233, "Day15_l": 123, "Day16_l": 34, "Day17_l": 124, "Day18_l": 30, "Day19_l": 40, "Day20_l": 23, "Day21_l": 40, "Day22_l": 20, "Day23_l": 40, "Day24_l": 23, "Day25_l": 30, "Day26_l": 40, "Day27_l": 30, "Day28_l": 40, "Day29_l": 40, "Day30_l": 40, "Day31_l": 30 }
Verbrauch pro Monat im Jahr:
- /GetYearlyData Beispielwerte
{ "Month01_l": 1234, "Month02_l": 1234, "Month03_l": 1234, "Month04_l": 1234, "Month05_l": 1234, "Month06_l": 1234, "Month07_l": 1234, "Month08_l": 1234, "Month09_l": 1234, "Month10_l": 1234, "Month11_l": 1234, "Month12_l": 1234 }
Fragen stellen und Fehler melden
Fragen und Fehler bitte im Loxforum melden:
Alternativ als Issue in Github:
https://github.com/paolobazzi/LoxBerry-Plugin-BWT-Aqua/issues