From 5e840d306b0351344ce451aa91e019b80299411f Mon Sep 17 00:00:00 2001 From: Nick DeBoom Date: Tue, 8 Apr 2025 12:50:38 -0500 Subject: [PATCH] Support additional Room AC configurations Add additional profiles and handling for Room AC with support for heating-only or cooling-only. --- ...m-air-conditioner-cooling-only-nostate.yml | 18 ++++++++++ .../room-air-conditioner-cooling-only.yml | 27 +++++++++++++++ ...r-conditioner-fan-cooling-only-nostate.yml | 22 +++++++++++++ .../room-air-conditioner-fan-cooling-only.yml | 31 +++++++++++++++++ ...r-conditioner-fan-heating-only-nostate.yml | 22 +++++++++++++ .../room-air-conditioner-fan-heating-only.yml | 31 +++++++++++++++++ ...ditioner-fan-wind-cooling-only-nostate.yml | 24 ++++++++++++++ ...-air-conditioner-fan-wind-cooling-only.yml | 33 +++++++++++++++++++ ...ioner-fan-wind-heating-cooling-nostate.yml | 26 +++++++++++++++ ...ditioner-fan-wind-heating-only-nostate.yml | 24 ++++++++++++++ ...-air-conditioner-fan-wind-heating-only.yml | 33 +++++++++++++++++++ ...ir-conditioner-heating-cooling-nostate.yml | 20 +++++++++++ ...m-air-conditioner-heating-only-nostate.yml | 18 ++++++++++ .../room-air-conditioner-heating-only.yml | 27 +++++++++++++++ ...r-conditioner-humidity-cooling-nostate.yml | 22 +++++++++++++ .../room-air-conditioner-humidity-cooling.yml | 32 ++++++++++++++++++ ...nditioner-humidity-fan-cooling-nostate.yml | 24 ++++++++++++++ ...-conditioner-humidity-fan-cooling-only.yml | 33 +++++++++++++++++++ ...r-humidity-fan-heating-cooling-nostate.yml | 26 +++++++++++++++ ...oner-humidity-fan-heating-only-nostate.yml | 24 ++++++++++++++ ...-conditioner-humidity-fan-heating-only.yml | 33 +++++++++++++++++++ ...ioner-humidity-heating-cooling-nostate.yml | 24 ++++++++++++++ ...ditioner-humidity-heating-only-nostate.yml | 22 +++++++++++++ ...-air-conditioner-humidity-heating-only.yml | 32 ++++++++++++++++++ .../profiles/room-air-conditioner-nostate.yml | 28 ++++++++++++++++ .../matter-thermostat/src/init.lua | 8 +++-- 26 files changed, 661 insertions(+), 3 deletions(-) create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-cooling-only-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-cooling-only.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-cooling-only-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-cooling-only.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-heating-only-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-heating-only.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-cooling-only-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-cooling-only.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-heating-cooling-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-heating-only-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-heating-only.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-heating-cooling-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-heating-only-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-heating-only.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-cooling-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-cooling.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-cooling-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-cooling-only.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-heating-cooling-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-heating-only-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-heating-only.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-heating-cooling-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-heating-only-nostate.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-heating-only.yml create mode 100644 drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-nostate.yml diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-cooling-only-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-cooling-only-nostate.yml new file mode 100644 index 0000000000..767a7a8c41 --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-cooling-only-nostate.yml @@ -0,0 +1,18 @@ +name: room-air-conditioner-cooling-only-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-cooling-only.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-cooling-only.yml new file mode 100644 index 0000000000..7c5eb39720 --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-cooling-only.yml @@ -0,0 +1,27 @@ +name: room-air-conditioner-cooling-only +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: thermostatOperatingState + version: 1 + config: + values: + - key: "thermostatOperatingState.value" + enabledValues: + - idle + - cooling + - heating + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-cooling-only-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-cooling-only-nostate.yml new file mode 100644 index 0000000000..81f473b3b6 --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-cooling-only-nostate.yml @@ -0,0 +1,22 @@ +name: room-air-conditioner-fan-cooling-only-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-cooling-only.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-cooling-only.yml new file mode 100644 index 0000000000..71e3a7a34d --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-cooling-only.yml @@ -0,0 +1,31 @@ +name: room-air-conditioner-fan-cooling +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: thermostatOperatingState + version: 1 + config: + values: + - key: "thermostatOperatingState.value" + enabledValues: + - idle + - cooling + - heating + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-heating-only-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-heating-only-nostate.yml new file mode 100644 index 0000000000..5a9fe4bfde --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-heating-only-nostate.yml @@ -0,0 +1,22 @@ +name: room-air-conditioner-fan-heating-only-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-heating-only.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-heating-only.yml new file mode 100644 index 0000000000..16153ec295 --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-heating-only.yml @@ -0,0 +1,31 @@ +name: room-air-conditioner-fan-heating-only +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: thermostatOperatingState + version: 1 + config: + values: + - key: "thermostatOperatingState.value" + enabledValues: + - idle + - cooling + - heating + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-cooling-only-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-cooling-only-nostate.yml new file mode 100644 index 0000000000..b076092525 --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-cooling-only-nostate.yml @@ -0,0 +1,24 @@ +name: room-air-conditioner-fan-wind-heating-cooling-only-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: windMode + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-cooling-only.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-cooling-only.yml new file mode 100644 index 0000000000..a01e112a8e --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-cooling-only.yml @@ -0,0 +1,33 @@ +name: room-air-conditioner-fan-wind-cooling-only +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: thermostatOperatingState + version: 1 + config: + values: + - key: "thermostatOperatingState.value" + enabledValues: + - idle + - cooling + - heating + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: windMode + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-heating-cooling-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-heating-cooling-nostate.yml new file mode 100644 index 0000000000..d30886803c --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-heating-cooling-nostate.yml @@ -0,0 +1,26 @@ +name: room-air-conditioner-fan-wind-heating-cooling-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: windMode + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-heating-only-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-heating-only-nostate.yml new file mode 100644 index 0000000000..60041c921e --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-heating-only-nostate.yml @@ -0,0 +1,24 @@ +name: room-air-conditioner-fan-wind-heating-only-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: windMode + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-heating-only.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-heating-only.yml new file mode 100644 index 0000000000..7cbe796d02 --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-fan-wind-heating-only.yml @@ -0,0 +1,33 @@ +name: room-air-conditioner-fan-wind-heating-only +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: thermostatOperatingState + version: 1 + config: + values: + - key: "thermostatOperatingState.value" + enabledValues: + - idle + - cooling + - heating + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: windMode + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-heating-cooling-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-heating-cooling-nostate.yml new file mode 100644 index 0000000000..955479a782 --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-heating-cooling-nostate.yml @@ -0,0 +1,20 @@ +name: room-air-conditioner-heating-cooling-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-heating-only-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-heating-only-nostate.yml new file mode 100644 index 0000000000..44af53eb5a --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-heating-only-nostate.yml @@ -0,0 +1,18 @@ +name: room-air-conditioner-heating-only-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-heating-only.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-heating-only.yml new file mode 100644 index 0000000000..e0390b573f --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-heating-only.yml @@ -0,0 +1,27 @@ +name: room-air-conditioner-heating-only +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: thermostatOperatingState + version: 1 + config: + values: + - key: "thermostatOperatingState.value" + enabledValues: + - idle + - cooling + - heating + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-cooling-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-cooling-nostate.yml new file mode 100644 index 0000000000..ea68452bec --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-cooling-nostate.yml @@ -0,0 +1,22 @@ +name: room-air-conditioner-humidity-cooling-only-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: relativeHumidityMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: airConditionerFanMode + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-cooling.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-cooling.yml new file mode 100644 index 0000000000..5ebeab256d --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-cooling.yml @@ -0,0 +1,32 @@ +name: room-air-conditioner-humidity-cooling-only +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: relativeHumidityMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: thermostatOperatingState + version: 1 + config: + values: + - key: "thermostatOperatingState.value" + enabledValues: + - idle + - cooling + - heating + - id: airConditionerFanMode + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner + diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-cooling-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-cooling-nostate.yml new file mode 100644 index 0000000000..1cd4ae897f --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-cooling-nostate.yml @@ -0,0 +1,24 @@ +name: room-air-conditioner-humidity-fan-cooling-only-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: relativeHumidityMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-cooling-only.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-cooling-only.yml new file mode 100644 index 0000000000..3783c57bb7 --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-cooling-only.yml @@ -0,0 +1,33 @@ +name: room-air-conditioner-humidity-fan-cooling-only +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: relativeHumidityMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: thermostatOperatingState + version: 1 + config: + values: + - key: "thermostatOperatingState.value" + enabledValues: + - idle + - cooling + - heating + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-heating-cooling-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-heating-cooling-nostate.yml new file mode 100644 index 0000000000..863fe8e5ad --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-heating-cooling-nostate.yml @@ -0,0 +1,26 @@ +name: room-air-conditioner-humidity-fan-heating-cooling-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: relativeHumidityMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-heating-only-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-heating-only-nostate.yml new file mode 100644 index 0000000000..74621710f2 --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-heating-only-nostate.yml @@ -0,0 +1,24 @@ +name: room-air-conditioner-humidity-fan-heating-only-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: relativeHumidityMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-heating-only.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-heating-only.yml new file mode 100644 index 0000000000..051f9da6aa --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-fan-heating-only.yml @@ -0,0 +1,33 @@ +name: room-air-conditioner-humidity-fan-heating-only +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: relativeHumidityMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: thermostatOperatingState + version: 1 + config: + values: + - key: "thermostatOperatingState.value" + enabledValues: + - idle + - cooling + - heating + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-heating-cooling-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-heating-cooling-nostate.yml new file mode 100644 index 0000000000..412ef49a21 --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-heating-cooling-nostate.yml @@ -0,0 +1,24 @@ +name: room-air-conditioner-humidity-heating-cooling-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: relativeHumidityMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: airConditionerFanMode + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-heating-only-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-heating-only-nostate.yml new file mode 100644 index 0000000000..e9ad3966e2 --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-heating-only-nostate.yml @@ -0,0 +1,22 @@ +name: room-air-conditioner-humidity-heating-only-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: relativeHumidityMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: airConditionerFanMode + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-heating-only.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-heating-only.yml new file mode 100644 index 0000000000..b973fabfbc --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-humidity-heating-only.yml @@ -0,0 +1,32 @@ +name: room-air-conditioner-humidity-heating-only +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: relativeHumidityMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: thermostatOperatingState + version: 1 + config: + values: + - key: "thermostatOperatingState.value" + enabledValues: + - idle + - cooling + - heating + - id: airConditionerFanMode + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner + diff --git a/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-nostate.yml b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-nostate.yml new file mode 100644 index 0000000000..709cc31380 --- /dev/null +++ b/drivers/SmartThings/matter-thermostat/profiles/room-air-conditioner-nostate.yml @@ -0,0 +1,28 @@ +name: room-air-conditioner-nostate +components: +- id: main + capabilities: + - id: switch + version: 1 + - id: temperatureMeasurement + version: 1 + - id: relativeHumidityMeasurement + version: 1 + - id: thermostatMode + version: 1 + - id: thermostatHeatingSetpoint + version: 1 + - id: thermostatCoolingSetpoint + version: 1 + - id: airConditionerFanMode + version: 1 + - id: fanSpeedPercent + version: 1 + - id: windMode + version: 1 + - id: firmwareUpdate + version: 1 + - id: refresh + version: 1 + categories: + - name: AirConditioner diff --git a/drivers/SmartThings/matter-thermostat/src/init.lua b/drivers/SmartThings/matter-thermostat/src/init.lua index 69adcc3c7d..a872dabbc9 100644 --- a/drivers/SmartThings/matter-thermostat/src/init.lua +++ b/drivers/SmartThings/matter-thermostat/src/init.lua @@ -682,16 +682,18 @@ local function match_profile(driver, device) local thermostat_modes = create_thermostat_modes_profile(device) if thermostat_modes == "" then profile_name = profile_name .. "-heating-cooling" - else - device.log.warn_with({hub_logs=true}, "Device does not support both heating and cooling. No matching profile") + elseif thermostat_modes == "No Heating nor Cooling Support" then + device.log.warn_with({hub_logs=true}, "Device does not support either heating or cooling. No matching profile") return + else + profile_name = profile_name .. thermostat_modes end if profile_name == "room-air-conditioner-humidity-fan-wind-heating-cooling" then profile_name = "room-air-conditioner" end - if not running_state_supported and profile_name == "room-air-conditioner-fan-heating-cooling" then + if not running_state_supported then profile_name = profile_name .. "-nostate" end