]> git.basschouten.com Git - openhab-addons.git/commitdiff
[airthings] Adapt channels to new dimention for Radon measurements (#15011)
authorKai Kreuzer <kai@openhab.org>
Sun, 21 May 2023 15:15:14 +0000 (17:15 +0200)
committerGitHub <noreply@github.com>
Sun, 21 May 2023 15:15:14 +0000 (17:15 +0200)
Signed-off-by: Kai Kreuzer <kai@openhab.org>
bundles/org.openhab.binding.bluetooth.airthings/README.md
bundles/org.openhab.binding.bluetooth.airthings/src/main/java/org/openhab/binding/bluetooth/airthings/internal/AirthingsWavePlusHandler.java

index 5a54bdf570007f0cc3f8569a53aa350b268346f2..916c9a3c74af06e1aa1cf8682f5b0fed5cf3e612 100644 (file)
@@ -37,21 +37,21 @@ Following channels are supported for `Airthings Wave Mini` thing:
 
 The `Airthings Wave Plus` thing has additionally the following channels:
 
-| Channel ID         | Item Type                | Description                                 |
-| ------------------ | ------------------------ | ------------------------------------------- |
-| pressure           | Number:Pressure          | The measured air pressure                   |
-| co2                | Number:Dimensionless     | The measured CO2 level                      |
-| radon_st_avg       | Number:Density           | The measured radon short term average level |
-| radon_lt_avg       | Number:Density           | The measured radon long term average level  |
+| Channel ID         | Item Type                        | Description                                 |
+| ------------------ | -------------------------------- | ------------------------------------------- |
+| pressure           | Number:Pressure                  | The measured air pressure                   |
+| co2                | Number:Dimensionless             | The measured CO2 level                      |
+| radon_st_avg       | Number:RadiationSpecificActivity | The measured radon short term average level |
+| radon_lt_avg       | Number:RadiationSpecificActivity | The measured radon long term average level  |
 
 The `Airthings Wave Gen 1` thing has the following channels:
 
-| Channel ID         | Item Type                | Description                                 |
-| ------------------ | ------------------------ | ------------------------------------------- |
-| radon_st_avg       | Number:Density           | The measured radon short term average level |
-| radon_lt_avg       | Number:Density           | The measured radon long term average level  |
-| temperature        | Number:Temperature       | The measured temperature                    |
-| humidity           | Number:Dimensionless     | The measured humidity                       |
+| Channel ID         | Item Type                        | Description                                 |
+| ------------------ | -------------------------------- | ------------------------------------------- |
+| radon_st_avg       | Number:RadiationSpecificActivity | The measured radon short term average level |
+| radon_lt_avg       | Number:RadiationSpecificActivity | The measured radon long term average level  |
+| temperature        | Number:Temperature               | The measured temperature                    |
+| humidity           | Number:Dimensionless             | The measured humidity                       |
 
 Note: For the `Airthings Wave Gen 1`, only one channel can be updated at each refreshInterval, so it will take refreshInterval x 4 cycles to sequentially update all 4 channels  
 
@@ -66,11 +66,11 @@ bluetooth:airthings_wave_plus:adapter1:sensor1  "Airthings Wave Plus Sensor 1" (
 airthings.items:
 
 ```java
-Number:Temperature      temperature     "Temperature [%.1f %unit%]"                   { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:temperature" }
-Number:Dimensionless    humidity        "Humidity [%d %unit%]"                        { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:humidity" }
-Number:Pressure         pressure        "Air Pressure [%d %unit%]"                    { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:pressure" }
-Number:Dimensionless    co2             "CO2 level [%d %unit%]"                       { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:co2" }
-Number:Dimensionless    tvoc            "TVOC level [%d %unit%]"                      { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:tvoc" }
-Number:Density          radon_st_avg    "Radon short term average level [%d %unit%]"  { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:radon_st_avg" }
-Number:Density          radon_lt_avg    "Radon long term average level [%d %unit%]"   { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:radon_lt_avg" }
+Number:Temperature                  temperature     "Temperature [%.1f %unit%]"                   { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:temperature" }
+Number:Dimensionless                humidity        "Humidity [%d %unit%]"                        { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:humidity" }
+Number:Pressure                     pressure        "Air Pressure [%d %unit%]"                    { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:pressure" }
+Number:Dimensionless                co2             "CO2 level [%d %unit%]"                       { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:co2" }
+Number:Dimensionless                tvoc            "TVOC level [%d %unit%]"                      { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:tvoc" }
+Number:RadiationSpecificActivity    radon_st_avg    "Radon short term average level [%d %unit%]"  { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:radon_st_avg" }
+Number:RadiationSpecificActivity    radon_lt_avg    "Radon long term average level [%d %unit%]"   { channel="bluetooth:airthings_wave_plus:adapter1:sensor1:radon_lt_avg" }
 ```
index b3f397c5a95647039ff64421819c13834d47566a..a356442c7e5d3a9daec098afb09752d84df063f1 100644 (file)
@@ -22,7 +22,7 @@ import javax.measure.quantity.Pressure;
 import javax.measure.quantity.Temperature;
 
 import org.eclipse.jdt.annotation.NonNullByDefault;
-import org.openhab.core.library.dimension.Density;
+import org.openhab.core.library.dimension.RadiationSpecificActivity;
 import org.openhab.core.library.types.QuantityType;
 import org.openhab.core.library.unit.SIUnits;
 import org.openhab.core.library.unit.Units;
@@ -77,13 +77,13 @@ public class AirthingsWavePlusHandler extends AbstractAirthingsHandler {
             }
             Number radonShortTermAvg = data.get(AirthingsDataParser.RADON_SHORT_TERM_AVG);
             if (radonShortTermAvg != null) {
-                updateState(CHANNEL_ID_RADON_ST_AVG,
-                        new QuantityType<Density>(radonShortTermAvg, Units.BECQUEREL_PER_CUBIC_METRE));
+                updateState(CHANNEL_ID_RADON_ST_AVG, new QuantityType<RadiationSpecificActivity>(radonShortTermAvg,
+                        Units.BECQUEREL_PER_CUBIC_METRE));
             }
             Number radonLongTermAvg = data.get(AirthingsDataParser.RADON_LONG_TERM_AVG);
             if (radonLongTermAvg != null) {
                 updateState(CHANNEL_ID_RADON_LT_AVG,
-                        new QuantityType<Density>(radonLongTermAvg, Units.BECQUEREL_PER_CUBIC_METRE));
+                        new QuantityType<RadiationSpecificActivity>(radonLongTermAvg, Units.BECQUEREL_PER_CUBIC_METRE));
             }
         } catch (AirthingsParserException e) {
             logger.error("Failed to parse data received from Airthings sensor: {}", e.getMessage());