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 |
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.
Die folgenden Einstellungen stehen zur Verfügung:
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
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
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.
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:
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:
Aufruf aus Loxone:
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):
<?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.
{ "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:
{ "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:
{ "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:
{ "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 und Fehler bitte im Loxforum melden:
Alternativ als Issue in Github:
https://github.com/paolobazzi/LoxBerry-Plugin-BWT-Aqua/issues