[ecobee] Add support for Smart Thermostat Premium (#12892)

Signed-off-by: Rob Nielsen <rob.nielsen@yahoo.com>
This commit is contained in:
robnielsen 2022-06-08 01:52:07 -05:00 committed by GitHub
parent e24ca5708b
commit 045de1b589
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 8 deletions

View File

@ -407,14 +407,20 @@ The following channels are available on the Ecobee Remote Sensor.
Some or all of the following Remote Sensor channels will be added dynamically depending on the capabilities of the sensor.
| Channel | Type | ReadWrite | Description |
|--------------|-----------------------|-----------|--------------|
| temperature | Number:Temperature | | Temperature reported by the sensor |
| humidity | Number:Dimensionless | | Humidity reported by the sensor |
| occupancy | Switch | | Occupancy status reported by the sensor |
| co2 | String | | CO2 reported by the sensor |
| dryContact | String | | Dry contact status reported by the sensor |
| adc | String | | ADC reported by the sensor |
| Channel | Type | ReadWrite | Description |
|--------------------|-----------------------|-----------|--------------|
| temperature | Number:Temperature | | Temperature reported by the sensor |
| humidity | Number:Dimensionless | | Humidity reported by the sensor |
| occupancy | Switch | | Occupancy status reported by the sensor |
| adc | String | | ADC reported by the sensor |
| airPressure | String | | Air Pressure reported by the sensor |
| airQuality | String | | Air Quality reported by the sensor (clean-poor) |
| airQualityAccuracy | String | | Air Quality Accuracy reported by the sensor |
| co2 | String | | CO2 reported by the sensor |
| co2PPM | String | | CO2 level reported by the sensor (low-high) |
| dryContact | String | | Dry contact status reported by the sensor |
| vocPPM | String | | Volatile organic compounds (VOC) reported by the sensor (low-high) |
## Thing Actions

View File

@ -50,11 +50,16 @@ import org.slf4j.LoggerFactory;
public class EcobeeSensorThingHandler extends BaseThingHandler {
public static final String CAPABILITY_ADC = "adc";
public static final String CAPABILITY_AIR_PRESSURE = "airPressure";
public static final String CAPABILITY_AIR_QUALITY = "airQuality";
public static final String CAPABILITY_AIR_QUALITY_ACCURACY = "airQualityAccuracy";
public static final String CAPABILITY_CO2 = "co2";
public static final String CAPABILITY_CO2_PPM = "co2PPM";
public static final String CAPABILITY_DRY_CONTACT = "dryContact";
public static final String CAPABILITY_HUMIDITY = "humidity";
public static final String CAPABILITY_OCCUPANCY = "occupancy";
public static final String CAPABILITY_TEMPERATURE = "temperature";
public static final String CAPABILITY_VOC_PPM = "vocPPM";
public static final String CAPABILITY_UNKNOWN = "unknown";
private final Logger logger = LoggerFactory.getLogger(EcobeeSensorThingHandler.class);
@ -144,9 +149,14 @@ public class EcobeeSensorThingHandler extends BaseThingHandler {
acceptedItemType = "Switch";
break;
case CAPABILITY_ADC:
case CAPABILITY_AIR_PRESSURE:
case CAPABILITY_AIR_QUALITY:
case CAPABILITY_AIR_QUALITY_ACCURACY:
case CAPABILITY_CO2:
case CAPABILITY_CO2_PPM:
case CAPABILITY_DRY_CONTACT:
case CAPABILITY_UNKNOWN:
case CAPABILITY_VOC_PPM:
default:
acceptedItemType = "String";
break;
@ -167,9 +177,14 @@ public class EcobeeSensorThingHandler extends BaseThingHandler {
channelTypeUID = CHANNELTYPEUID_OCCUPANCY;
break;
case CAPABILITY_ADC:
case CAPABILITY_AIR_PRESSURE:
case CAPABILITY_AIR_QUALITY:
case CAPABILITY_AIR_QUALITY_ACCURACY:
case CAPABILITY_CO2:
case CAPABILITY_CO2_PPM:
case CAPABILITY_DRY_CONTACT:
case CAPABILITY_UNKNOWN:
case CAPABILITY_VOC_PPM:
default:
channelTypeUID = CHANNELTYPEUID_GENERIC;
break;
@ -198,9 +213,14 @@ public class EcobeeSensorThingHandler extends BaseThingHandler {
state = EcobeeUtils.undefOrOnOff("true".equals(value));
break;
case CAPABILITY_ADC:
case CAPABILITY_AIR_PRESSURE:
case CAPABILITY_AIR_QUALITY:
case CAPABILITY_AIR_QUALITY_ACCURACY:
case CAPABILITY_CO2:
case CAPABILITY_CO2_PPM:
case CAPABILITY_DRY_CONTACT:
case CAPABILITY_UNKNOWN:
case CAPABILITY_VOC_PPM:
default:
state = EcobeeUtils.undefOrString(value);
break;