Map SmartThings auto mode correctly (#145061)

This commit is contained in:
Joost Lekkerkerker 2025-05-16 20:14:41 +02:00 committed by Franck Nijhof
parent b76ac68fb1
commit e2ede3ed19
No known key found for this signature in database
GPG Key ID: AB33ADACE7101952
3 changed files with 19 additions and 19 deletions

View File

@ -31,7 +31,7 @@ from .entity import SmartThingsEntity
ATTR_OPERATION_STATE = "operation_state" ATTR_OPERATION_STATE = "operation_state"
MODE_TO_STATE = { MODE_TO_STATE = {
"auto": HVACMode.HEAT_COOL, "auto": HVACMode.AUTO,
"cool": HVACMode.COOL, "cool": HVACMode.COOL,
"eco": HVACMode.AUTO, "eco": HVACMode.AUTO,
"rush hour": HVACMode.AUTO, "rush hour": HVACMode.AUTO,
@ -40,7 +40,7 @@ MODE_TO_STATE = {
"off": HVACMode.OFF, "off": HVACMode.OFF,
} }
STATE_TO_MODE = { STATE_TO_MODE = {
HVACMode.HEAT_COOL: "auto", HVACMode.AUTO: "auto",
HVACMode.COOL: "cool", HVACMode.COOL: "cool",
HVACMode.HEAT: "heat", HVACMode.HEAT: "heat",
HVACMode.OFF: "off", HVACMode.OFF: "off",
@ -58,7 +58,7 @@ OPERATING_STATE_TO_ACTION = {
} }
AC_MODE_TO_STATE = { AC_MODE_TO_STATE = {
"auto": HVACMode.HEAT_COOL, "auto": HVACMode.AUTO,
"cool": HVACMode.COOL, "cool": HVACMode.COOL,
"dry": HVACMode.DRY, "dry": HVACMode.DRY,
"coolClean": HVACMode.COOL, "coolClean": HVACMode.COOL,
@ -69,7 +69,7 @@ AC_MODE_TO_STATE = {
"wind": HVACMode.FAN_ONLY, "wind": HVACMode.FAN_ONLY,
} }
STATE_TO_AC_MODE = { STATE_TO_AC_MODE = {
HVACMode.HEAT_COOL: "auto", HVACMode.AUTO: "auto",
HVACMode.COOL: "cool", HVACMode.COOL: "cool",
HVACMode.DRY: "dry", HVACMode.DRY: "dry",
HVACMode.HEAT: "heat", HVACMode.HEAT: "heat",

View File

@ -146,7 +146,7 @@
<HVACMode.COOL: 'cool'>, <HVACMode.COOL: 'cool'>,
<HVACMode.DRY: 'dry'>, <HVACMode.DRY: 'dry'>,
<HVACMode.FAN_ONLY: 'fan_only'>, <HVACMode.FAN_ONLY: 'fan_only'>,
<HVACMode.HEAT_COOL: 'heat_cool'>, <HVACMode.AUTO: 'auto'>,
<HVACMode.HEAT: 'heat'>, <HVACMode.HEAT: 'heat'>,
]), ]),
'max_temp': 35, 'max_temp': 35,
@ -206,7 +206,7 @@
<HVACMode.COOL: 'cool'>, <HVACMode.COOL: 'cool'>,
<HVACMode.DRY: 'dry'>, <HVACMode.DRY: 'dry'>,
<HVACMode.FAN_ONLY: 'fan_only'>, <HVACMode.FAN_ONLY: 'fan_only'>,
<HVACMode.HEAT_COOL: 'heat_cool'>, <HVACMode.AUTO: 'auto'>,
<HVACMode.HEAT: 'heat'>, <HVACMode.HEAT: 'heat'>,
]), ]),
'max_temp': 35, 'max_temp': 35,
@ -246,7 +246,7 @@
<HVACMode.COOL: 'cool'>, <HVACMode.COOL: 'cool'>,
<HVACMode.DRY: 'dry'>, <HVACMode.DRY: 'dry'>,
<HVACMode.FAN_ONLY: 'fan_only'>, <HVACMode.FAN_ONLY: 'fan_only'>,
<HVACMode.HEAT_COOL: 'heat_cool'>, <HVACMode.AUTO: 'auto'>,
]), ]),
'max_temp': 35, 'max_temp': 35,
'min_temp': 7, 'min_temp': 7,
@ -308,7 +308,7 @@
<HVACMode.COOL: 'cool'>, <HVACMode.COOL: 'cool'>,
<HVACMode.DRY: 'dry'>, <HVACMode.DRY: 'dry'>,
<HVACMode.FAN_ONLY: 'fan_only'>, <HVACMode.FAN_ONLY: 'fan_only'>,
<HVACMode.HEAT_COOL: 'heat_cool'>, <HVACMode.AUTO: 'auto'>,
]), ]),
'max_temp': 35, 'max_temp': 35,
'min_temp': 7, 'min_temp': 7,
@ -349,7 +349,7 @@
]), ]),
'hvac_modes': list([ 'hvac_modes': list([
<HVACMode.OFF: 'off'>, <HVACMode.OFF: 'off'>,
<HVACMode.HEAT_COOL: 'heat_cool'>, <HVACMode.AUTO: 'auto'>,
<HVACMode.COOL: 'cool'>, <HVACMode.COOL: 'cool'>,
<HVACMode.DRY: 'dry'>, <HVACMode.DRY: 'dry'>,
<HVACMode.FAN_ONLY: 'fan_only'>, <HVACMode.FAN_ONLY: 'fan_only'>,
@ -414,7 +414,7 @@
'friendly_name': 'Aire Dormitorio Principal', 'friendly_name': 'Aire Dormitorio Principal',
'hvac_modes': list([ 'hvac_modes': list([
<HVACMode.OFF: 'off'>, <HVACMode.OFF: 'off'>,
<HVACMode.HEAT_COOL: 'heat_cool'>, <HVACMode.AUTO: 'auto'>,
<HVACMode.COOL: 'cool'>, <HVACMode.COOL: 'cool'>,
<HVACMode.DRY: 'dry'>, <HVACMode.DRY: 'dry'>,
<HVACMode.FAN_ONLY: 'fan_only'>, <HVACMode.FAN_ONLY: 'fan_only'>,
@ -462,7 +462,7 @@
<HVACMode.COOL: 'cool'>, <HVACMode.COOL: 'cool'>,
<HVACMode.DRY: 'dry'>, <HVACMode.DRY: 'dry'>,
<HVACMode.FAN_ONLY: 'fan_only'>, <HVACMode.FAN_ONLY: 'fan_only'>,
<HVACMode.HEAT_COOL: 'heat_cool'>, <HVACMode.AUTO: 'auto'>,
]), ]),
'max_temp': 35, 'max_temp': 35,
'min_temp': 7, 'min_temp': 7,
@ -513,7 +513,7 @@
<HVACMode.COOL: 'cool'>, <HVACMode.COOL: 'cool'>,
<HVACMode.DRY: 'dry'>, <HVACMode.DRY: 'dry'>,
<HVACMode.FAN_ONLY: 'fan_only'>, <HVACMode.FAN_ONLY: 'fan_only'>,
<HVACMode.HEAT_COOL: 'heat_cool'>, <HVACMode.AUTO: 'auto'>,
]), ]),
'max_temp': 35, 'max_temp': 35,
'min_temp': 7, 'min_temp': 7,
@ -541,7 +541,7 @@
'hvac_modes': list([ 'hvac_modes': list([
<HVACMode.OFF: 'off'>, <HVACMode.OFF: 'off'>,
<HVACMode.COOL: 'cool'>, <HVACMode.COOL: 'cool'>,
<HVACMode.HEAT_COOL: 'heat_cool'>, <HVACMode.AUTO: 'auto'>,
]), ]),
'max_temp': 35.0, 'max_temp': 35.0,
'min_temp': 7.0, 'min_temp': 7.0,
@ -589,7 +589,7 @@
'hvac_modes': list([ 'hvac_modes': list([
<HVACMode.OFF: 'off'>, <HVACMode.OFF: 'off'>,
<HVACMode.COOL: 'cool'>, <HVACMode.COOL: 'cool'>,
<HVACMode.HEAT_COOL: 'heat_cool'>, <HVACMode.AUTO: 'auto'>,
]), ]),
'max_temp': 35.0, 'max_temp': 35.0,
'min_temp': 7.0, 'min_temp': 7.0,

View File

@ -119,7 +119,7 @@ async def test_ac_set_hvac_mode_off(
@pytest.mark.parametrize( @pytest.mark.parametrize(
("hvac_mode", "argument"), ("hvac_mode", "argument"),
[ [
(HVACMode.HEAT_COOL, "auto"), (HVACMode.AUTO, "auto"),
(HVACMode.COOL, "cool"), (HVACMode.COOL, "cool"),
(HVACMode.DRY, "dry"), (HVACMode.DRY, "dry"),
(HVACMode.HEAT, "heat"), (HVACMode.HEAT, "heat"),
@ -174,7 +174,7 @@ async def test_ac_set_hvac_mode_turns_on(
SERVICE_SET_HVAC_MODE, SERVICE_SET_HVAC_MODE,
{ {
ATTR_ENTITY_ID: "climate.ac_office_granit", ATTR_ENTITY_ID: "climate.ac_office_granit",
ATTR_HVAC_MODE: HVACMode.HEAT_COOL, ATTR_HVAC_MODE: HVACMode.AUTO,
}, },
blocking=True, blocking=True,
) )
@ -266,7 +266,7 @@ async def test_ac_set_temperature_and_hvac_mode_while_off(
{ {
ATTR_ENTITY_ID: "climate.ac_office_granit", ATTR_ENTITY_ID: "climate.ac_office_granit",
ATTR_TEMPERATURE: 23, ATTR_TEMPERATURE: 23,
ATTR_HVAC_MODE: HVACMode.HEAT_COOL, ATTR_HVAC_MODE: HVACMode.AUTO,
}, },
blocking=True, blocking=True,
) )
@ -316,7 +316,7 @@ async def test_ac_set_temperature_and_hvac_mode(
{ {
ATTR_ENTITY_ID: "climate.ac_office_granit", ATTR_ENTITY_ID: "climate.ac_office_granit",
ATTR_TEMPERATURE: 23, ATTR_TEMPERATURE: 23,
ATTR_HVAC_MODE: HVACMode.HEAT_COOL, ATTR_HVAC_MODE: HVACMode.AUTO,
}, },
blocking=True, blocking=True,
) )
@ -623,7 +623,7 @@ async def test_thermostat_set_hvac_mode(
await hass.services.async_call( await hass.services.async_call(
CLIMATE_DOMAIN, CLIMATE_DOMAIN,
SERVICE_SET_HVAC_MODE, SERVICE_SET_HVAC_MODE,
{ATTR_ENTITY_ID: "climate.asd", ATTR_HVAC_MODE: HVACMode.HEAT_COOL}, {ATTR_ENTITY_ID: "climate.asd", ATTR_HVAC_MODE: HVACMode.AUTO},
blocking=True, blocking=True,
) )
devices.execute_device_command.assert_called_once_with( devices.execute_device_command.assert_called_once_with(