mirror of
https://github.com/home-assistant/core.git
synced 2025-07-16 17:57:11 +00:00
Test VIRTUAL_COUNT parameter (#100434)
This commit is contained in:
parent
b4c095e944
commit
9eb0b844bc
@ -11,6 +11,7 @@ from homeassistant.components.modbus.const import (
|
|||||||
CONF_INPUT_TYPE,
|
CONF_INPUT_TYPE,
|
||||||
CONF_LAZY_ERROR,
|
CONF_LAZY_ERROR,
|
||||||
CONF_SLAVE_COUNT,
|
CONF_SLAVE_COUNT,
|
||||||
|
CONF_VIRTUAL_COUNT,
|
||||||
MODBUS_DOMAIN,
|
MODBUS_DOMAIN,
|
||||||
)
|
)
|
||||||
from homeassistant.const import (
|
from homeassistant.const import (
|
||||||
@ -265,7 +266,7 @@ ENTITY_ID2 = f"{ENTITY_ID}_1"
|
|||||||
CONF_NAME: TEST_ENTITY_NAME,
|
CONF_NAME: TEST_ENTITY_NAME,
|
||||||
CONF_ADDRESS: 51,
|
CONF_ADDRESS: 51,
|
||||||
CONF_SCAN_INTERVAL: 0,
|
CONF_SCAN_INTERVAL: 0,
|
||||||
CONF_SLAVE_COUNT: 1,
|
CONF_VIRTUAL_COUNT: 1,
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@ -294,9 +295,18 @@ TEST_NAME = "test_sensor"
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
CONF_BINARY_SENSORS: [
|
||||||
|
{
|
||||||
|
CONF_NAME: TEST_ENTITY_NAME,
|
||||||
|
CONF_ADDRESS: 51,
|
||||||
|
CONF_VIRTUAL_COUNT: 3,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
async def test_config_slave_binary_sensor(hass: HomeAssistant, mock_modbus) -> None:
|
async def test_config_virtual_binary_sensor(hass: HomeAssistant, mock_modbus) -> None:
|
||||||
"""Run config test for binary sensor."""
|
"""Run config test for binary sensor."""
|
||||||
assert SENSOR_DOMAIN in hass.config.components
|
assert SENSOR_DOMAIN in hass.config.components
|
||||||
|
|
||||||
@ -355,33 +365,63 @@ async def test_config_slave_binary_sensor(hass: HomeAssistant, mock_modbus) -> N
|
|||||||
STATE_OFF,
|
STATE_OFF,
|
||||||
[STATE_OFF],
|
[STATE_OFF],
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
{CONF_VIRTUAL_COUNT: 1, CONF_UNIQUE_ID: SLAVE_UNIQUE_ID},
|
||||||
|
[False] * 8,
|
||||||
|
STATE_OFF,
|
||||||
|
[STATE_OFF],
|
||||||
|
),
|
||||||
(
|
(
|
||||||
{CONF_SLAVE_COUNT: 1, CONF_UNIQUE_ID: SLAVE_UNIQUE_ID},
|
{CONF_SLAVE_COUNT: 1, CONF_UNIQUE_ID: SLAVE_UNIQUE_ID},
|
||||||
[True] + [False] * 7,
|
[True] + [False] * 7,
|
||||||
STATE_ON,
|
STATE_ON,
|
||||||
[STATE_OFF],
|
[STATE_OFF],
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
{CONF_VIRTUAL_COUNT: 1, CONF_UNIQUE_ID: SLAVE_UNIQUE_ID},
|
||||||
|
[True] + [False] * 7,
|
||||||
|
STATE_ON,
|
||||||
|
[STATE_OFF],
|
||||||
|
),
|
||||||
(
|
(
|
||||||
{CONF_SLAVE_COUNT: 1, CONF_UNIQUE_ID: SLAVE_UNIQUE_ID},
|
{CONF_SLAVE_COUNT: 1, CONF_UNIQUE_ID: SLAVE_UNIQUE_ID},
|
||||||
[False, True] + [False] * 6,
|
[False, True] + [False] * 6,
|
||||||
STATE_OFF,
|
STATE_OFF,
|
||||||
[STATE_ON],
|
[STATE_ON],
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
{CONF_VIRTUAL_COUNT: 1, CONF_UNIQUE_ID: SLAVE_UNIQUE_ID},
|
||||||
|
[False, True] + [False] * 6,
|
||||||
|
STATE_OFF,
|
||||||
|
[STATE_ON],
|
||||||
|
),
|
||||||
(
|
(
|
||||||
{CONF_SLAVE_COUNT: 7, CONF_UNIQUE_ID: SLAVE_UNIQUE_ID},
|
{CONF_SLAVE_COUNT: 7, CONF_UNIQUE_ID: SLAVE_UNIQUE_ID},
|
||||||
[True, False] * 4,
|
[True, False] * 4,
|
||||||
STATE_ON,
|
STATE_ON,
|
||||||
[STATE_OFF, STATE_ON] * 3 + [STATE_OFF],
|
[STATE_OFF, STATE_ON] * 3 + [STATE_OFF],
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
{CONF_VIRTUAL_COUNT: 7, CONF_UNIQUE_ID: SLAVE_UNIQUE_ID},
|
||||||
|
[True, False] * 4,
|
||||||
|
STATE_ON,
|
||||||
|
[STATE_OFF, STATE_ON] * 3 + [STATE_OFF],
|
||||||
|
),
|
||||||
(
|
(
|
||||||
{CONF_SLAVE_COUNT: 31, CONF_UNIQUE_ID: SLAVE_UNIQUE_ID},
|
{CONF_SLAVE_COUNT: 31, CONF_UNIQUE_ID: SLAVE_UNIQUE_ID},
|
||||||
[True, False] * 16,
|
[True, False] * 16,
|
||||||
STATE_ON,
|
STATE_ON,
|
||||||
[STATE_OFF, STATE_ON] * 15 + [STATE_OFF],
|
[STATE_OFF, STATE_ON] * 15 + [STATE_OFF],
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
{CONF_VIRTUAL_COUNT: 31, CONF_UNIQUE_ID: SLAVE_UNIQUE_ID},
|
||||||
|
[True, False] * 16,
|
||||||
|
STATE_ON,
|
||||||
|
[STATE_OFF, STATE_ON] * 15 + [STATE_OFF],
|
||||||
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
async def test_slave_binary_sensor(
|
async def test_virtual_binary_sensor(
|
||||||
hass: HomeAssistant, expected, slaves, mock_do_cycle
|
hass: HomeAssistant, expected, slaves, mock_do_cycle
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Run test for given config."""
|
"""Run test for given config."""
|
||||||
|
@ -50,6 +50,7 @@ from homeassistant.components.modbus.const import (
|
|||||||
CONF_SWAP_BYTE,
|
CONF_SWAP_BYTE,
|
||||||
CONF_SWAP_WORD,
|
CONF_SWAP_WORD,
|
||||||
CONF_SWAP_WORD_BYTE,
|
CONF_SWAP_WORD_BYTE,
|
||||||
|
CONF_VIRTUAL_COUNT,
|
||||||
DEFAULT_SCAN_INTERVAL,
|
DEFAULT_SCAN_INTERVAL,
|
||||||
MODBUS_DOMAIN as DOMAIN,
|
MODBUS_DOMAIN as DOMAIN,
|
||||||
RTUOVERTCP,
|
RTUOVERTCP,
|
||||||
@ -263,11 +264,23 @@ async def test_ok_struct_validator(do_config) -> None:
|
|||||||
CONF_STRUCTURE: ">f",
|
CONF_STRUCTURE: ">f",
|
||||||
CONF_SLAVE_COUNT: 5,
|
CONF_SLAVE_COUNT: 5,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
CONF_NAME: TEST_ENTITY_NAME,
|
||||||
|
CONF_COUNT: 2,
|
||||||
|
CONF_DATA_TYPE: DataType.CUSTOM,
|
||||||
|
CONF_STRUCTURE: ">f",
|
||||||
|
CONF_VIRTUAL_COUNT: 5,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
CONF_NAME: TEST_ENTITY_NAME,
|
CONF_NAME: TEST_ENTITY_NAME,
|
||||||
CONF_DATA_TYPE: DataType.STRING,
|
CONF_DATA_TYPE: DataType.STRING,
|
||||||
CONF_SLAVE_COUNT: 2,
|
CONF_SLAVE_COUNT: 2,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
CONF_NAME: TEST_ENTITY_NAME,
|
||||||
|
CONF_DATA_TYPE: DataType.STRING,
|
||||||
|
CONF_VIRTUAL_COUNT: 2,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
CONF_NAME: TEST_ENTITY_NAME,
|
CONF_NAME: TEST_ENTITY_NAME,
|
||||||
CONF_DATA_TYPE: DataType.INT16,
|
CONF_DATA_TYPE: DataType.INT16,
|
||||||
@ -279,6 +292,12 @@ async def test_ok_struct_validator(do_config) -> None:
|
|||||||
CONF_SLAVE_COUNT: 2,
|
CONF_SLAVE_COUNT: 2,
|
||||||
CONF_DATA_TYPE: DataType.INT32,
|
CONF_DATA_TYPE: DataType.INT32,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
CONF_NAME: TEST_ENTITY_NAME,
|
||||||
|
CONF_COUNT: 2,
|
||||||
|
CONF_VIRTUAL_COUNT: 2,
|
||||||
|
CONF_DATA_TYPE: DataType.INT32,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
CONF_NAME: TEST_ENTITY_NAME,
|
CONF_NAME: TEST_ENTITY_NAME,
|
||||||
CONF_DATA_TYPE: DataType.INT16,
|
CONF_DATA_TYPE: DataType.INT16,
|
||||||
|
@ -21,6 +21,7 @@ from homeassistant.components.modbus.const import (
|
|||||||
CONF_SWAP_NONE,
|
CONF_SWAP_NONE,
|
||||||
CONF_SWAP_WORD,
|
CONF_SWAP_WORD,
|
||||||
CONF_SWAP_WORD_BYTE,
|
CONF_SWAP_WORD_BYTE,
|
||||||
|
CONF_VIRTUAL_COUNT,
|
||||||
CONF_ZERO_SUPPRESS,
|
CONF_ZERO_SUPPRESS,
|
||||||
MODBUS_DOMAIN,
|
MODBUS_DOMAIN,
|
||||||
DataType,
|
DataType,
|
||||||
@ -150,6 +151,16 @@ SLAVE_UNIQUE_ID = "ground_floor_sensor"
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
CONF_SENSORS: [
|
||||||
|
{
|
||||||
|
CONF_NAME: TEST_ENTITY_NAME,
|
||||||
|
CONF_ADDRESS: 51,
|
||||||
|
CONF_DATA_TYPE: DataType.INT32,
|
||||||
|
CONF_VIRTUAL_COUNT: 5,
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
async def test_config_sensor(hass: HomeAssistant, mock_modbus) -> None:
|
async def test_config_sensor(hass: HomeAssistant, mock_modbus) -> None:
|
||||||
@ -671,6 +682,21 @@ async def test_all_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> None:
|
|||||||
False,
|
False,
|
||||||
["34899771392", "0"],
|
["34899771392", "0"],
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
{
|
||||||
|
CONF_VIRTUAL_COUNT: 1,
|
||||||
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
|
CONF_DATA_TYPE: DataType.FLOAT32,
|
||||||
|
},
|
||||||
|
[
|
||||||
|
0x5102,
|
||||||
|
0x0304,
|
||||||
|
int.from_bytes(struct.pack(">f", float("nan"))[0:2]),
|
||||||
|
int.from_bytes(struct.pack(">f", float("nan"))[2:4]),
|
||||||
|
],
|
||||||
|
False,
|
||||||
|
["34899771392", "0"],
|
||||||
|
),
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 0,
|
CONF_SLAVE_COUNT: 0,
|
||||||
@ -680,6 +706,15 @@ async def test_all_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> None:
|
|||||||
False,
|
False,
|
||||||
["16909060"],
|
["16909060"],
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
{
|
||||||
|
CONF_VIRTUAL_COUNT: 0,
|
||||||
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
|
},
|
||||||
|
[0x0102, 0x0304],
|
||||||
|
False,
|
||||||
|
["16909060"],
|
||||||
|
),
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 1,
|
CONF_SLAVE_COUNT: 1,
|
||||||
@ -689,6 +724,15 @@ async def test_all_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> None:
|
|||||||
False,
|
False,
|
||||||
["16909060", "67305985"],
|
["16909060", "67305985"],
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
{
|
||||||
|
CONF_VIRTUAL_COUNT: 1,
|
||||||
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
|
},
|
||||||
|
[0x0102, 0x0304, 0x0403, 0x0201],
|
||||||
|
False,
|
||||||
|
["16909060", "67305985"],
|
||||||
|
),
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 3,
|
CONF_SLAVE_COUNT: 3,
|
||||||
@ -712,6 +756,29 @@ async def test_all_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> None:
|
|||||||
"219025152",
|
"219025152",
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
{
|
||||||
|
CONF_VIRTUAL_COUNT: 3,
|
||||||
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
|
},
|
||||||
|
[
|
||||||
|
0x0102,
|
||||||
|
0x0304,
|
||||||
|
0x0506,
|
||||||
|
0x0708,
|
||||||
|
0x090A,
|
||||||
|
0x0B0C,
|
||||||
|
0x0D0E,
|
||||||
|
0x0F00,
|
||||||
|
],
|
||||||
|
False,
|
||||||
|
[
|
||||||
|
"16909060",
|
||||||
|
"84281096",
|
||||||
|
"151653132",
|
||||||
|
"219025152",
|
||||||
|
],
|
||||||
|
),
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 1,
|
CONF_SLAVE_COUNT: 1,
|
||||||
@ -721,6 +788,15 @@ async def test_all_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> None:
|
|||||||
True,
|
True,
|
||||||
[STATE_UNAVAILABLE, STATE_UNKNOWN],
|
[STATE_UNAVAILABLE, STATE_UNKNOWN],
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
{
|
||||||
|
CONF_VIRTUAL_COUNT: 1,
|
||||||
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
|
},
|
||||||
|
[0x0102, 0x0304, 0x0403, 0x0201],
|
||||||
|
True,
|
||||||
|
[STATE_UNAVAILABLE, STATE_UNKNOWN],
|
||||||
|
),
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 1,
|
CONF_SLAVE_COUNT: 1,
|
||||||
@ -730,9 +806,18 @@ async def test_all_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> None:
|
|||||||
False,
|
False,
|
||||||
[STATE_UNAVAILABLE, STATE_UNKNOWN],
|
[STATE_UNAVAILABLE, STATE_UNKNOWN],
|
||||||
),
|
),
|
||||||
|
(
|
||||||
|
{
|
||||||
|
CONF_VIRTUAL_COUNT: 1,
|
||||||
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
|
},
|
||||||
|
[],
|
||||||
|
False,
|
||||||
|
[STATE_UNAVAILABLE, STATE_UNKNOWN],
|
||||||
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
async def test_slave_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> None:
|
async def test_virtual_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> None:
|
||||||
"""Run test for sensor."""
|
"""Run test for sensor."""
|
||||||
entity_registry = er.async_get(hass)
|
entity_registry = er.async_get(hass)
|
||||||
for i in range(0, len(expected)):
|
for i in range(0, len(expected)):
|
||||||
@ -766,7 +851,7 @@ async def test_slave_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> Non
|
|||||||
[
|
[
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 0,
|
CONF_VIRTUAL_COUNT: 0,
|
||||||
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
CONF_SWAP: CONF_SWAP_BYTE,
|
CONF_SWAP: CONF_SWAP_BYTE,
|
||||||
CONF_DATA_TYPE: DataType.UINT16,
|
CONF_DATA_TYPE: DataType.UINT16,
|
||||||
@ -777,7 +862,7 @@ async def test_slave_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> Non
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 0,
|
CONF_VIRTUAL_COUNT: 0,
|
||||||
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
CONF_SWAP: CONF_SWAP_WORD,
|
CONF_SWAP: CONF_SWAP_WORD,
|
||||||
CONF_DATA_TYPE: DataType.UINT32,
|
CONF_DATA_TYPE: DataType.UINT32,
|
||||||
@ -788,7 +873,7 @@ async def test_slave_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> Non
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 0,
|
CONF_VIRTUAL_COUNT: 0,
|
||||||
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
CONF_SWAP: CONF_SWAP_WORD,
|
CONF_SWAP: CONF_SWAP_WORD,
|
||||||
CONF_DATA_TYPE: DataType.UINT64,
|
CONF_DATA_TYPE: DataType.UINT64,
|
||||||
@ -799,7 +884,7 @@ async def test_slave_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> Non
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 1,
|
CONF_VIRTUAL_COUNT: 1,
|
||||||
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
CONF_DATA_TYPE: DataType.UINT16,
|
CONF_DATA_TYPE: DataType.UINT16,
|
||||||
CONF_SWAP: CONF_SWAP_BYTE,
|
CONF_SWAP: CONF_SWAP_BYTE,
|
||||||
@ -810,7 +895,7 @@ async def test_slave_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> Non
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 1,
|
CONF_VIRTUAL_COUNT: 1,
|
||||||
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
CONF_DATA_TYPE: DataType.UINT32,
|
CONF_DATA_TYPE: DataType.UINT32,
|
||||||
CONF_SWAP: CONF_SWAP_WORD,
|
CONF_SWAP: CONF_SWAP_WORD,
|
||||||
@ -821,7 +906,7 @@ async def test_slave_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> Non
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 1,
|
CONF_VIRTUAL_COUNT: 1,
|
||||||
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
CONF_DATA_TYPE: DataType.UINT64,
|
CONF_DATA_TYPE: DataType.UINT64,
|
||||||
CONF_SWAP: CONF_SWAP_WORD,
|
CONF_SWAP: CONF_SWAP_WORD,
|
||||||
@ -832,7 +917,7 @@ async def test_slave_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> Non
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 3,
|
CONF_VIRTUAL_COUNT: 3,
|
||||||
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
CONF_DATA_TYPE: DataType.UINT16,
|
CONF_DATA_TYPE: DataType.UINT16,
|
||||||
CONF_SWAP: CONF_SWAP_BYTE,
|
CONF_SWAP: CONF_SWAP_BYTE,
|
||||||
@ -843,7 +928,7 @@ async def test_slave_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> Non
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 3,
|
CONF_VIRTUAL_COUNT: 3,
|
||||||
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
CONF_DATA_TYPE: DataType.UINT32,
|
CONF_DATA_TYPE: DataType.UINT32,
|
||||||
CONF_SWAP: CONF_SWAP_WORD,
|
CONF_SWAP: CONF_SWAP_WORD,
|
||||||
@ -868,7 +953,7 @@ async def test_slave_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> Non
|
|||||||
),
|
),
|
||||||
(
|
(
|
||||||
{
|
{
|
||||||
CONF_SLAVE_COUNT: 3,
|
CONF_VIRTUAL_COUNT: 3,
|
||||||
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
CONF_UNIQUE_ID: SLAVE_UNIQUE_ID,
|
||||||
CONF_DATA_TYPE: DataType.UINT64,
|
CONF_DATA_TYPE: DataType.UINT64,
|
||||||
CONF_SWAP: CONF_SWAP_WORD,
|
CONF_SWAP: CONF_SWAP_WORD,
|
||||||
@ -901,7 +986,9 @@ async def test_slave_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> Non
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
async def test_slave_swap_sensor(hass: HomeAssistant, mock_do_cycle, expected) -> None:
|
async def test_virtual_swap_sensor(
|
||||||
|
hass: HomeAssistant, mock_do_cycle, expected
|
||||||
|
) -> None:
|
||||||
"""Run test for sensor."""
|
"""Run test for sensor."""
|
||||||
for i in range(0, len(expected)):
|
for i in range(0, len(expected)):
|
||||||
entity_id = f"{SENSOR_DOMAIN}.{TEST_ENTITY_NAME}".replace(" ", "_")
|
entity_id = f"{SENSOR_DOMAIN}.{TEST_ENTITY_NAME}".replace(" ", "_")
|
||||||
@ -1230,7 +1317,7 @@ async def mock_restore(hass):
|
|||||||
CONF_NAME: TEST_ENTITY_NAME,
|
CONF_NAME: TEST_ENTITY_NAME,
|
||||||
CONF_ADDRESS: 51,
|
CONF_ADDRESS: 51,
|
||||||
CONF_SCAN_INTERVAL: 0,
|
CONF_SCAN_INTERVAL: 0,
|
||||||
CONF_SLAVE_COUNT: 1,
|
CONF_VIRTUAL_COUNT: 1,
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user