====== BWT Aqua ====== ++++ Version History...| **Version 0.2.0** * Ausführen von Befehlen auf dem BWT Wasserenthärter (Urlaubsmodus ein/aus, Extra Spühlung, Extra Regeneration, Inbetriebnahme, Ausserbetriebsetzen) * Zusätzliche Infomationen (Restkapazität Säule 1 und 2, Status Säule 1 und 2, Regeneration abgesaugte Sole Menge) * Zeitstempel letzter Aktualisierung steht neu in Loxone Epoch Time und als Text zur Verfügung * Auto Update von Version 0.1.1 **Version 0.1.1** * Fehlerkorrektur: Falsche IP beim Abrufen der Daten * Erweiterung Logging im Fehlerfall * Auto-Update Feature aktiviert für zukünftige Releases **Version 0.1.0** * erste öffentliche Alpha Version ++++ ---- ===== Download ===== [[https://github.com/paolobazzi/LoxBerry-Plugin-BWT-Aqua/archive/0.2.0.zip]] ===== 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://192.168.1.54/users/login|https:%%//%%/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: {{plugins:bwt_aqua:1265139761.png?400}} * **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]] {{plugins:bwt_aqua:1265139763.png?400}} 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. {{plugins:bwt_aqua:1265139762.png}} \\ **Visualisierung in Loxone** {{plugins:bwt_aqua:1265139790.png?400}} ==== 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]] {{plugins:bwt_aqua:1265139760.png?400}} 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 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:   {{plugins:bwt_aqua:1269957097.xml|1269957097.xml}} Importiert in der Config und mit Status-Baustein ergänzt: {{plugins:bwt_aqua:1269957099.png?400}}\\ Danke an [[https://loxwiki.atlassian.net/wiki/people/6166f6f22f6aed0068248332?ref=confluence|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): {{plugins:bwt_aqua:1265139791.png?250}} 2) Danach für jede gewünschte Aktion einen virtuellen Ausgangsbefehl anlegen (Name und Befehl bei EIN eintragen): {{plugins:bwt_aqua:1265139787.png?400}} \\ 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:  {{plugins:bwt_aqua:1269957098.xml|1269957098.xml}}\\ Danke an [[https://loxwiki.atlassian.net/wiki/people/6166f6f22f6aed0068248332?ref=confluence|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: {{plugins:bwt_aqua:1265139789.png?250}} ===== 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". {{:plugins:bwt_aqua:image-api-einstellungen.png?400|}} Dank Authentifizierung mittels Basic-Auth lässt sich die API direkt ohne Plugin in Loxone einbinden: * URL: ''[[http://BWT-AQUA-IP:8080/api/GetCurrentData]]'' * Username: user * Passwort: Login-Code welcher von BWT mit der Registrierungsmail versendet wird. Aufruf aus Loxone: * Virtuellen HTTP Eingang anlegen * URL: ''[[http://user:LOGIN-CODE@BWT-AQUA-IP:8080/api/GetCurrentData]]'' (z.B: ''[[http://user:loginCode@192.168.1.100:8080/api/GetCurrentData]]'') * 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 | l | | Durchfluss Monat [l] | "WaterTreatedCurrentMonth_l" :\v | l | | Durchfluss Jahr [l] | "WaterTreatedCurrentYear_l" : "\v | l | | Vorrat [Tage] | "RegenerativRemainingDays" :\v | | | Vorrat [%] | "RegenerativLevel" :\v | % | Beispielkonfiguration Virtueller HTTP Eingang (Inhalt als XML Datei abspeichern und in Loxone importieren, anschliessend username, passwort und IP anpassen): 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 stellen und Fehler melden ===== Fragen und Fehler bitte im Loxforum melden: [[https://www.loxforum.com/forum/projektforen/loxberry/plugins/278330-plugin-bwt-aqua-anbindung-wasserenth%C3%A4rter]] Alternativ als Issue in Github: [[https://github.com/paolobazzi/LoxBerry-Plugin-BWT-Aqua/issues]] \\