]> git.basschouten.com Git - openhab-addons.git/commitdiff
[ValloxMV] Adding Co2 measurement (#10324)
authorBjörn Brings <bjoernbrings@web.de>
Fri, 19 Mar 2021 20:24:39 +0000 (21:24 +0100)
committerGitHub <noreply@github.com>
Fri, 19 Mar 2021 20:24:39 +0000 (21:24 +0100)
Signed-off-by: bjoernbrings <bjoernbrings@web.de>
bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVBindingConstants.java
bundles/org.openhab.binding.valloxmv/src/main/java/org/openhab/binding/valloxmv/internal/ValloxMVWebSocket.java
bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/i18n/valloxmv_de.properties
bundles/org.openhab.binding.valloxmv/src/main/resources/OH-INF/thing/thing-types.xml

index 0425506336f102f35e63a7efbabe814f036ba10a..05e8e4977f4186c66f0328623cd2b19a5d1cf993 100644 (file)
@@ -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).
      */
index 369b70ad455d4825173838018d428b3985bdf6d4..13a29228317f1b1b0a1832dce410744c3949479e 100644 (file)
@@ -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));
index 34dd5eff0fd0d54abc60d5b1756405cbd330b046..a66229398c8268a9332f978a878d4a738df36a14 100644 (file)
@@ -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
index 66fccd0d11da13e702ee887ac039fff13e67def1..e7393a99ad3b965b383bf4c7ef97ed4e3792dc2b 100644 (file)
@@ -18,6 +18,7 @@
                        <channel id="tempincomingbeforeheating" typeId="tempincomingbeforeheating"/>
                        <channel id="tempincoming" typeId="tempincoming"/>
                        <channel id="humidity" typeId="humidity"/>
+                       <channel id="co2" typeId="co2"/>
                        <channel id="cellstate" typeId="cellstate"/>
                        <channel id="uptimeyears" typeId="uptimeyears"/>
                        <channel id="uptimehours" typeId="uptimehours"/>
                <state readOnly="true" min="0" max="100" pattern="%d %unit%"/>
        </channel-type>
 
+       <channel-type id="co2">
+               <item-type>Number:Dimensionless</item-type>
+               <label>CO2</label>
+               <description>CO2 measurement</description>
+               <state readOnly="true" pattern="%d %unit%"/>
+       </channel-type>
+
        <channel-type id="cellstate">
                <item-type>Number</item-type>
                <label>Cell State</label>