Add more data_types to modbus (#52423)
* Add more data_types. * Use new struct when writing temperature.
This commit is contained in:
parent
91a2b96da0
commit
2ecfd74fa4
7 changed files with 123 additions and 101 deletions
|
@ -135,15 +135,6 @@ async def test_config_sensor(hass, mock_modbus):
|
|||
@pytest.mark.parametrize(
|
||||
"do_config,error_message",
|
||||
[
|
||||
(
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_COUNT: 8,
|
||||
CONF_PRECISION: 2,
|
||||
CONF_DATA_TYPE: DATA_TYPE_INT,
|
||||
},
|
||||
"Unable to detect data type for test_sensor sensor, try a custom type",
|
||||
),
|
||||
(
|
||||
{
|
||||
CONF_ADDRESS: 1234,
|
||||
|
@ -152,7 +143,7 @@ async def test_config_sensor(hass, mock_modbus):
|
|||
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
|
||||
CONF_STRUCTURE: ">no struct",
|
||||
},
|
||||
"Error in sensor test_sensor structure: bad char in struct format",
|
||||
"bad char in struct format",
|
||||
),
|
||||
(
|
||||
{
|
||||
|
@ -172,7 +163,7 @@ async def test_config_sensor(hass, mock_modbus):
|
|||
CONF_SWAP: CONF_SWAP_NONE,
|
||||
CONF_STRUCTURE: "invalid",
|
||||
},
|
||||
"Error in sensor test_sensor structure: bad char in struct format",
|
||||
"bad char in struct format",
|
||||
),
|
||||
(
|
||||
{
|
||||
|
@ -229,7 +220,7 @@ async def test_config_wrong_struct_sensor(
|
|||
expect_setup_to_fail=True,
|
||||
)
|
||||
|
||||
assert error_message in caplog.text
|
||||
assert caplog.text.count(error_message)
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
|
@ -597,46 +588,6 @@ async def test_restore_state_sensor(hass, mock_test_state, mock_modbus):
|
|||
assert hass.states.get(ENTITY_ID).state == mock_test_state[0].state
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"swap_type, error_message",
|
||||
[
|
||||
(
|
||||
CONF_SWAP_WORD,
|
||||
f"Error in sensor {SENSOR_NAME} swap(word) not possible due to the registers count: 1, needed: 2",
|
||||
),
|
||||
(
|
||||
CONF_SWAP_WORD_BYTE,
|
||||
f"Error in sensor {SENSOR_NAME} swap(word_byte) not possible due to the registers count: 1, needed: 2",
|
||||
),
|
||||
],
|
||||
)
|
||||
async def test_swap_sensor_wrong_config(
|
||||
hass, caplog, swap_type, error_message, mock_pymodbus
|
||||
):
|
||||
"""Run test for sensor swap."""
|
||||
config = {
|
||||
CONF_NAME: SENSOR_NAME,
|
||||
CONF_ADDRESS: 1234,
|
||||
CONF_COUNT: 1,
|
||||
CONF_SWAP: swap_type,
|
||||
CONF_DATA_TYPE: DATA_TYPE_INT,
|
||||
}
|
||||
|
||||
caplog.set_level(logging.ERROR)
|
||||
caplog.clear()
|
||||
await base_config_test(
|
||||
hass,
|
||||
config,
|
||||
SENSOR_NAME,
|
||||
SENSOR_DOMAIN,
|
||||
CONF_SENSORS,
|
||||
None,
|
||||
method_discovery=True,
|
||||
expect_setup_to_fail=True,
|
||||
)
|
||||
assert error_message in "".join(caplog.messages)
|
||||
|
||||
|
||||
async def test_service_sensor_update(hass, mock_pymodbus):
|
||||
"""Run test for service homeassistant.update_entity."""
|
||||
config = {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue