mirror of
https://github.com/home-assistant/core.git
synced 2025-12-24 12:59:34 +00:00
use write_registers also for target temp (#97475)
This commit is contained in:
@@ -22,6 +22,8 @@ from homeassistant.components.modbus.const import (
|
||||
CONF_HVAC_ONOFF_REGISTER,
|
||||
CONF_LAZY_ERROR,
|
||||
CONF_TARGET_TEMP,
|
||||
CONF_TARGET_TEMP_WRITE_REGISTERS,
|
||||
CONF_WRITE_REGISTERS,
|
||||
MODBUS_DOMAIN,
|
||||
DataType,
|
||||
)
|
||||
@@ -78,6 +80,19 @@ ENTITY_ID = f"{CLIMATE_DOMAIN}.{TEST_ENTITY_NAME}".replace(" ", "_")
|
||||
}
|
||||
],
|
||||
},
|
||||
{
|
||||
CONF_CLIMATES: [
|
||||
{
|
||||
CONF_NAME: TEST_ENTITY_NAME,
|
||||
CONF_TARGET_TEMP: 117,
|
||||
CONF_ADDRESS: 117,
|
||||
CONF_SLAVE: 10,
|
||||
CONF_HVAC_ONOFF_REGISTER: 12,
|
||||
CONF_TARGET_TEMP_WRITE_REGISTERS: True,
|
||||
CONF_WRITE_REGISTERS: True,
|
||||
}
|
||||
],
|
||||
},
|
||||
{
|
||||
CONF_CLIMATES: [
|
||||
{
|
||||
@@ -101,6 +116,30 @@ ENTITY_ID = f"{CLIMATE_DOMAIN}.{TEST_ENTITY_NAME}".replace(" ", "_")
|
||||
}
|
||||
],
|
||||
},
|
||||
{
|
||||
CONF_CLIMATES: [
|
||||
{
|
||||
CONF_NAME: TEST_ENTITY_NAME,
|
||||
CONF_TARGET_TEMP: 117,
|
||||
CONF_ADDRESS: 117,
|
||||
CONF_SLAVE: 10,
|
||||
CONF_HVAC_ONOFF_REGISTER: 12,
|
||||
CONF_HVAC_MODE_REGISTER: {
|
||||
CONF_ADDRESS: 11,
|
||||
CONF_WRITE_REGISTERS: True,
|
||||
CONF_HVAC_MODE_VALUES: {
|
||||
"state_off": 0,
|
||||
"state_heat": 1,
|
||||
"state_cool": 2,
|
||||
"state_heat_cool": 3,
|
||||
"state_dry": 4,
|
||||
"state_fan_only": 5,
|
||||
"state_auto": 6,
|
||||
},
|
||||
},
|
||||
}
|
||||
],
|
||||
},
|
||||
],
|
||||
)
|
||||
async def test_config_climate(hass: HomeAssistant, mock_modbus) -> None:
|
||||
@@ -353,6 +392,22 @@ async def test_service_climate_update(
|
||||
]
|
||||
},
|
||||
),
|
||||
(
|
||||
25,
|
||||
[0x00],
|
||||
{
|
||||
CONF_CLIMATES: [
|
||||
{
|
||||
CONF_NAME: TEST_ENTITY_NAME,
|
||||
CONF_TARGET_TEMP: 117,
|
||||
CONF_ADDRESS: 117,
|
||||
CONF_SLAVE: 10,
|
||||
CONF_DATA_TYPE: DataType.INT16,
|
||||
CONF_TARGET_TEMP_WRITE_REGISTERS: True,
|
||||
}
|
||||
]
|
||||
},
|
||||
),
|
||||
],
|
||||
)
|
||||
async def test_service_climate_set_temperature(
|
||||
@@ -417,6 +472,52 @@ async def test_service_climate_set_temperature(
|
||||
]
|
||||
},
|
||||
),
|
||||
(
|
||||
HVACMode.HEAT,
|
||||
[0x00],
|
||||
{
|
||||
CONF_CLIMATES: [
|
||||
{
|
||||
CONF_NAME: TEST_ENTITY_NAME,
|
||||
CONF_TARGET_TEMP: 117,
|
||||
CONF_ADDRESS: 117,
|
||||
CONF_SLAVE: 10,
|
||||
CONF_HVAC_MODE_REGISTER: {
|
||||
CONF_ADDRESS: 118,
|
||||
CONF_HVAC_MODE_VALUES: {
|
||||
CONF_HVAC_MODE_COOL: 1,
|
||||
CONF_HVAC_MODE_HEAT: 2,
|
||||
},
|
||||
CONF_WRITE_REGISTERS: True,
|
||||
},
|
||||
CONF_HVAC_ONOFF_REGISTER: 119,
|
||||
}
|
||||
]
|
||||
},
|
||||
),
|
||||
(
|
||||
HVACMode.OFF,
|
||||
[0x00],
|
||||
{
|
||||
CONF_CLIMATES: [
|
||||
{
|
||||
CONF_NAME: TEST_ENTITY_NAME,
|
||||
CONF_TARGET_TEMP: 117,
|
||||
CONF_ADDRESS: 117,
|
||||
CONF_SLAVE: 10,
|
||||
CONF_HVAC_MODE_REGISTER: {
|
||||
CONF_ADDRESS: 118,
|
||||
CONF_HVAC_MODE_VALUES: {
|
||||
CONF_HVAC_MODE_COOL: 1,
|
||||
CONF_HVAC_MODE_HEAT: 2,
|
||||
},
|
||||
},
|
||||
CONF_HVAC_ONOFF_REGISTER: 119,
|
||||
CONF_WRITE_REGISTERS: True,
|
||||
}
|
||||
]
|
||||
},
|
||||
),
|
||||
],
|
||||
)
|
||||
async def test_service_set_mode(
|
||||
|
||||
Reference in New Issue
Block a user