From a38b51e256d309d14ea19125a4b6c558c027b725 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Brings?= Date: Fri, 19 Mar 2021 21:24:39 +0100 Subject: [PATCH] [ValloxMV] Adding Co2 measurement (#10324) Signed-off-by: bjoernbrings --- .../internal/ValloxMVBindingConstants.java | 5 ++ .../valloxmv/internal/ValloxMVWebSocket.java | 6 ++- .../OH-INF/i18n/valloxmv_de.properties | 46 ++++++++++--------- .../resources/OH-INF/thing/thing-types.xml | 8 ++++ 4 files changed, 42 insertions(+), 23 deletions(-) diff --git a/bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVBindingConstants.java b/bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVBindingConstants.java index 0425506336f..05e8e4977f4 100644 --- a/bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVBindingConstants.java +++ b/bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVBindingConstants.java @@ -97,6 +97,11 @@ public class ValloxMVBindingConstants { */ public static final String CHANNEL_HUMIDITY = "humidity"; + /** + * Current CO2 of the air flow exhausting the building. + */ + public static final String CHANNEL_CO2 = "co2"; + /** * Current cell state (0=heat recovery, 1=cool recovery, 2=bypass, 3=defrosting). */ diff --git a/bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVWebSocket.java b/bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVWebSocket.java index 369b70ad455..13a29228317 100644 --- a/bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVWebSocket.java +++ b/bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVWebSocket.java @@ -428,7 +428,9 @@ public class ValloxMVWebSocket { BigDecimal bdTempOutside = getTemperature(bytes, 134); BigDecimal bdTempIncomingBeforeHeating = getTemperature(bytes, 136); BigDecimal bdTempIncoming = getTemperature(bytes, 138); - int iHumidity = getNumberBE(bytes, 166); + + int iHumidity = getNumberBE(bytes, 148); + int iCo2 = getNumberBE(bytes, 150); int iStateOrig = getNumberBE(bytes, 214); int iBoostTimer = getNumberBE(bytes, 220); @@ -503,6 +505,8 @@ public class ValloxMVWebSocket { updateChannel(ValloxMVBindingConstants.CHANNEL_TEMPERATURE_INCOMING, new QuantityType<>(bdTempIncoming, SIUnits.CELSIUS)); updateChannel(ValloxMVBindingConstants.CHANNEL_HUMIDITY, new QuantityType<>(iHumidity, Units.PERCENT)); + updateChannel(ValloxMVBindingConstants.CHANNEL_CO2, + new QuantityType<>(iHumidity, Units.PARTS_PER_MILLION)); updateChannel(ValloxMVBindingConstants.CHANNEL_CELLSTATE, new DecimalType(iCellstate)); updateChannel(ValloxMVBindingConstants.CHANNEL_UPTIME_YEARS, new DecimalType(iUptimeYears)); updateChannel(ValloxMVBindingConstants.CHANNEL_UPTIME_HOURS, new DecimalType(iUptimeHours)); diff --git a/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/i18n/valloxmv_de.properties b/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/i18n/valloxmv_de.properties index 34dd5eff0fd..a66229398c8 100644 --- a/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/i18n/valloxmv_de.properties +++ b/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/i18n/valloxmv_de.properties @@ -1,24 +1,24 @@ # binding -binding.valloxmv.name = Vallox Lüftungsanlagen -binding.valloxmv.description = Binding für das Online-Interface von Vallox Lüftungsanlagen +binding.valloxmv.name = Vallox Lüftungsanlagen +binding.valloxmv.description = Binding für das Online-Interface von Vallox Lüftungsanlagen # thing types -thing-type.valloxmv.valloxmv.label = Vallox Lüftungsanlage -thing-type.valloxmv.valloxmv.description = Anbindung an das Online-Interface einer Vallox Lüftungsanlage +thing-type.valloxmv.valloxmv.label = Vallox Lüftungsanlage +thing-type.valloxmv.valloxmv.description = Anbindung an das Online-Interface einer Vallox Lüftungsanlage thing-type.config.valloxmv.valloxmv.ip.label = IP -thing-type.config.valloxmv.valloxmv.ip.description = IP Adresse oder DNS-Name des Online-Interface der Lüftungsanlage +thing-type.config.valloxmv.valloxmv.ip.description = IP Adresse oder DNS-Name des Online-Interface der Lüftungsanlage thing-type.config.valloxmv.valloxmv.updateinterval.label = Update Intervall thing-type.config.valloxmv.valloxmv.updateinterval.description = Intervall in dem die Daten aktualisiert werden in Sekunden (Standard: 60s) # channel types channel-type.valloxmv.onoff.label = An/Aus -channel-type.valloxmv.onoff.description = An/Aus-Schalter der Lüftungsanlage +channel-type.valloxmv.onoff.description = An/Aus-Schalter der Lüftungsanlage channel-type.valloxmv.state.label = Profil -channel-type.valloxmv.state.description = Aktuell aktives Profil der Lüftungsanlage +channel-type.valloxmv.state.description = Aktuell aktives Profil der Lüftungsanlage channel-type.valloxmv.state.state.option.1 = Kaminfunktion channel-type.valloxmv.state.state.option.2 = Abwesend channel-type.valloxmv.state.state.option.3 = Anwesend -channel-type.valloxmv.state.state.option.4 = Stoßlüftung +channel-type.valloxmv.state.state.option.4 = Stoßlüftung channel-type.valloxmv.fanspeed.label = Ventilatorleistung channel-type.valloxmv.fanspeed.description = Leistung in % (0-100) channel-type.valloxmv.fanspeedextract.label = Ventilatorleistung Abluft @@ -26,21 +26,23 @@ channel-type.valloxmv.fanspeedextract.description = Leistung Abluft in (1/min) channel-type.valloxmv.fanspeedsupply.label = Ventilatorleistung Zuluft channel-type.valloxmv.fanspeedsupply.description = Leistung Zuluft in (1/min) channel-type.valloxmv.tempinside.label = Temperatur innen -channel-type.valloxmv.tempinside.description = Aktuelle Temperatur im Gebäude -channel-type.valloxmv.tempoutside.label = Temperatur außen -channel-type.valloxmv.tempoutside.description = Aktuelle Temperatur außerhalb des Gebäudes +channel-type.valloxmv.tempinside.description = Aktuelle Temperatur im Gebäude +channel-type.valloxmv.tempoutside.label = Temperatur außen +channel-type.valloxmv.tempoutside.description = Aktuelle Temperatur außerhalb des Gebäudes channel-type.valloxmv.tempexhaust.label = Temperatur Abluft -channel-type.valloxmv.tempexhaust.description = Aktuelle Temperatur der ausgestoßenen Luft +channel-type.valloxmv.tempexhaust.description = Aktuelle Temperatur der ausgestoßenen Luft channel-type.valloxmv.tempincomingbeforeheating.label = Temperatur Zuluft vor Heizung -channel-type.valloxmv.tempincomingbeforeheating.description = Aktuelle Temperatur der Zuluft vor Erwärmung durch Heizung (optionales Zubehör) +channel-type.valloxmv.tempincomingbeforeheating.description = Aktuelle Temperatur der Zuluft vor Erwärmung durch Heizung (optionales Zubehör) channel-type.valloxmv.tempincoming.label = Temperatur Zuluft channel-type.valloxmv.tempincoming.description = Aktuelle Temperatur der Zuluft channel-type.valloxmv.humidity.label = Luftfeuchtigkeit channel-type.valloxmv.humidity.description = Aktuelle Luftfeuchtigkeit der Abluft -channel-type.valloxmv.cellstate.label = Status Wärmetauscher -channel-type.valloxmv.cellstate.description = Status Wärmetauscher -channel-type.valloxmv.cellstate.state.option.0 = Wärmerückgewinnung -channel-type.valloxmv.cellstate.state.option.1 = Kälterückgewinnung +channel-type.valloxmv.co2.label = CO2 +channel-type.valloxmv.co2.description = Aktueller Kohlenstoffdioxidgehalt in der Abluft +channel-type.valloxmv.cellstate.label = Status Wärmetauscher +channel-type.valloxmv.cellstate.description = Status Wärmetauscher +channel-type.valloxmv.cellstate.state.option.0 = Wärmerückgewinnung +channel-type.valloxmv.cellstate.state.option.1 = Kälterückgewinnung channel-type.valloxmv.cellstate.state.option.2 = Deaktiviert (bypass) channel-type.valloxmv.cellstate.state.option.3 = Enteisung channel-type.valloxmv.uptimeyears.label = Zeit in Betrieb (Jahre) @@ -52,7 +54,7 @@ channel-type.valloxmv.uptimehourscurrent.description = Betriebszeit seit letztem channel-type.valloxmv.filterchangeddate.label = Letzter Filterwechsel channel-type.valloxmv.filterchangeddate.description = Datum des letzten Filterwechsels channel-type.valloxmv.remainingfilterdays.label = Tage bis Filtertausch -channel-type.valloxmv.remainingfilterdays.description = Anzahl an Tagen bis zum nächsten Filtertausch +channel-type.valloxmv.remainingfilterdays.description = Anzahl an Tagen bis zum nächsten Filtertausch channel-type.valloxmv.extrfanbalancebase.label = Abluft Basis Leistung channel-type.valloxmv.extrfanbalancebase.description = Abluft Basis Leistung in % (0-100) channel-type.valloxmv.suppfanbalancebase.label = Zuluft Basis Leistung @@ -61,11 +63,11 @@ channel-type.valloxmv.homespeedsetting.label = Ventilatorleistung Anwesend channel-type.valloxmv.homespeedsetting.description = Ventilatorleistung im Profil Anwesend in % (0-100) channel-type.valloxmv.awayspeedsetting.label = Ventilatorleistung Abwesend channel-type.valloxmv.awayspeedsetting.description = Ventilatorleistung im Profil Abwesend in % (0-100) -channel-type.valloxmv.boostspeedsetting.label = Ventilatorleistung Stoßlüftung -channel-type.valloxmv.boostspeedsetting.description = Ventilatorleistung im Profil Stoßlüftung in % (0-100) +channel-type.valloxmv.boostspeedsetting.label = Ventilatorleistung Stoßlüftung +channel-type.valloxmv.boostspeedsetting.description = Ventilatorleistung im Profil Stoßlüftung in % (0-100) channel-type.valloxmv.homeairtemptarget.label = Zieltemperatur Anwesend channel-type.valloxmv.homeairtemptarget.description = Zieltemperatur im Profil Anwesend channel-type.valloxmv.awayairtemptarget.label = Zieltemperatur Abwesend channel-type.valloxmv.awayairtemptarget.description = Zieltemperatur im Profil Abwesend -channel-type.valloxmv.boostairtemptarget.label = Zieltemperatur Stoßlüftung -channel-type.valloxmv.boostairtemptarget.description = Zieltemperatur im Profil Stoßlüftung +channel-type.valloxmv.boostairtemptarget.label = Zieltemperatur Stoßlüftung +channel-type.valloxmv.boostairtemptarget.description = Zieltemperatur im Profil Stoßlüftung diff --git a/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/thing/thing-types.xml index 66fccd0d11d..e7393a99ad3 100644 --- a/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/thing/thing-types.xml @@ -18,6 +18,7 @@ + @@ -151,6 +152,13 @@ + + Number:Dimensionless + + CO2 measurement + + + Number