COnvert DATA_TYPE to enum. (#57699)

This commit is contained in:
jan iversen
2021-10-15 07:09:59 +02:00
committed by GitHub
parent faf5c2eb40
commit 4417ffb407
8 changed files with 122 additions and 155 deletions
+5 -8
View File
@@ -8,10 +8,7 @@ from homeassistant.components.modbus.const import (
CONF_DATA_TYPE,
CONF_LAZY_ERROR,
CONF_TARGET_TEMP,
DATA_TYPE_FLOAT32,
DATA_TYPE_FLOAT64,
DATA_TYPE_INT16,
DATA_TYPE_INT32,
DataType,
)
from homeassistant.const import (
ATTR_TEMPERATURE,
@@ -128,7 +125,7 @@ async def test_service_climate_update(hass, mock_modbus, mock_ha):
CONF_TARGET_TEMP: 117,
CONF_ADDRESS: 117,
CONF_SLAVE: 10,
CONF_DATA_TYPE: DATA_TYPE_INT16,
CONF_DATA_TYPE: DataType.INT16,
}
]
},
@@ -143,7 +140,7 @@ async def test_service_climate_update(hass, mock_modbus, mock_ha):
CONF_TARGET_TEMP: 117,
CONF_ADDRESS: 117,
CONF_SLAVE: 10,
CONF_DATA_TYPE: DATA_TYPE_INT32,
CONF_DATA_TYPE: DataType.INT32,
}
]
},
@@ -158,7 +155,7 @@ async def test_service_climate_update(hass, mock_modbus, mock_ha):
CONF_TARGET_TEMP: 117,
CONF_ADDRESS: 117,
CONF_SLAVE: 10,
CONF_DATA_TYPE: DATA_TYPE_FLOAT32,
CONF_DATA_TYPE: DataType.FLOAT32,
}
]
},
@@ -173,7 +170,7 @@ async def test_service_climate_update(hass, mock_modbus, mock_ha):
CONF_TARGET_TEMP: 117,
CONF_ADDRESS: 117,
CONF_SLAVE: 10,
CONF_DATA_TYPE: DATA_TYPE_FLOAT64,
CONF_DATA_TYPE: DataType.FLOAT64,
}
]
},
+11 -13
View File
@@ -46,9 +46,6 @@ from homeassistant.components.modbus.const import (
CONF_SWAP,
CONF_SWAP_BYTE,
CONF_SWAP_WORD,
DATA_TYPE_CUSTOM,
DATA_TYPE_INT,
DATA_TYPE_STRING,
DEFAULT_SCAN_INTERVAL,
MODBUS_DOMAIN as DOMAIN,
RTUOVERTCP,
@@ -59,6 +56,7 @@ from homeassistant.components.modbus.const import (
SERVICE_WRITE_REGISTER,
TCP,
UDP,
DataType,
)
from homeassistant.components.modbus.validators import (
duplicate_entity_validator,
@@ -142,23 +140,23 @@ async def test_number_validator():
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_COUNT: 2,
CONF_DATA_TYPE: DATA_TYPE_STRING,
CONF_DATA_TYPE: DataType.STRING,
},
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_COUNT: 2,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
},
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_COUNT: 2,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SWAP: CONF_SWAP_BYTE,
},
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_COUNT: 2,
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
CONF_DATA_TYPE: DataType.CUSTOM,
CONF_STRUCTURE: ">i",
CONF_SWAP: CONF_SWAP_BYTE,
},
@@ -178,36 +176,36 @@ async def test_ok_struct_validator(do_config):
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_COUNT: 8,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
},
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_COUNT: 8,
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
CONF_DATA_TYPE: DataType.CUSTOM,
},
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_COUNT: 8,
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
CONF_DATA_TYPE: DataType.CUSTOM,
CONF_STRUCTURE: "no good",
},
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_COUNT: 20,
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
CONF_DATA_TYPE: DataType.CUSTOM,
CONF_STRUCTURE: ">f",
},
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_COUNT: 1,
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
CONF_DATA_TYPE: DataType.CUSTOM,
CONF_STRUCTURE: ">f",
CONF_SWAP: CONF_SWAP_WORD,
},
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_COUNT: 1,
CONF_DATA_TYPE: DATA_TYPE_STRING,
CONF_DATA_TYPE: DataType.STRING,
CONF_STRUCTURE: ">f",
CONF_SWAP: CONF_SWAP_WORD,
},
+34 -38
View File
@@ -14,11 +14,7 @@ from homeassistant.components.modbus.const import (
CONF_SWAP_NONE,
CONF_SWAP_WORD,
CONF_SWAP_WORD_BYTE,
DATA_TYPE_CUSTOM,
DATA_TYPE_FLOAT,
DATA_TYPE_INT,
DATA_TYPE_STRING,
DATA_TYPE_UINT,
DataType,
)
from homeassistant.components.sensor import (
CONF_STATE_CLASS,
@@ -148,7 +144,7 @@ async def test_config_sensor(hass, mock_modbus):
CONF_ADDRESS: 1234,
CONF_COUNT: 8,
CONF_PRECISION: 2,
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
CONF_DATA_TYPE: DataType.CUSTOM,
CONF_STRUCTURE: ">no struct",
},
]
@@ -163,7 +159,7 @@ async def test_config_sensor(hass, mock_modbus):
CONF_ADDRESS: 1234,
CONF_COUNT: 2,
CONF_PRECISION: 2,
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
CONF_DATA_TYPE: DataType.CUSTOM,
CONF_STRUCTURE: ">4f",
},
]
@@ -176,7 +172,7 @@ async def test_config_sensor(hass, mock_modbus):
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_ADDRESS: 1234,
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
CONF_DATA_TYPE: DataType.CUSTOM,
CONF_COUNT: 4,
CONF_SWAP: CONF_SWAP_NONE,
CONF_STRUCTURE: "invalid",
@@ -191,7 +187,7 @@ async def test_config_sensor(hass, mock_modbus):
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_ADDRESS: 1234,
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
CONF_DATA_TYPE: DataType.CUSTOM,
CONF_COUNT: 4,
CONF_SWAP: CONF_SWAP_NONE,
CONF_STRUCTURE: "",
@@ -206,7 +202,7 @@ async def test_config_sensor(hass, mock_modbus):
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_ADDRESS: 1234,
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
CONF_DATA_TYPE: DataType.CUSTOM,
CONF_COUNT: 4,
CONF_SWAP: CONF_SWAP_NONE,
CONF_STRUCTURE: "1s",
@@ -221,7 +217,7 @@ async def test_config_sensor(hass, mock_modbus):
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_ADDRESS: 1234,
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
CONF_DATA_TYPE: DataType.CUSTOM,
CONF_COUNT: 1,
CONF_STRUCTURE: "2s",
CONF_SWAP: CONF_SWAP_WORD,
@@ -258,7 +254,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 1,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
@@ -276,7 +272,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 1,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SCALE: 1,
CONF_OFFSET: 13,
CONF_PRECISION: 0,
@@ -288,7 +284,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 1,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SCALE: 3,
CONF_OFFSET: 13,
CONF_PRECISION: 0,
@@ -300,7 +296,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 1,
CONF_DATA_TYPE: DATA_TYPE_UINT,
CONF_DATA_TYPE: DataType.UINT,
CONF_SCALE: 3,
CONF_OFFSET: 13,
CONF_PRECISION: 4,
@@ -312,7 +308,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 1,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SCALE: 1.5,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
@@ -324,7 +320,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 1,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SCALE: "1.5",
CONF_OFFSET: "5",
CONF_PRECISION: "1",
@@ -336,7 +332,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 1,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SCALE: 2.4,
CONF_OFFSET: 0,
CONF_PRECISION: 2,
@@ -348,7 +344,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 1,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SCALE: 1,
CONF_OFFSET: -10.3,
CONF_PRECISION: 1,
@@ -360,7 +356,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 2,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
@@ -372,7 +368,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 2,
CONF_DATA_TYPE: DATA_TYPE_UINT,
CONF_DATA_TYPE: DataType.UINT,
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
@@ -384,7 +380,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 4,
CONF_DATA_TYPE: DATA_TYPE_UINT,
CONF_DATA_TYPE: DataType.UINT,
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
@@ -396,7 +392,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 4,
CONF_DATA_TYPE: DATA_TYPE_UINT,
CONF_DATA_TYPE: DataType.UINT,
CONF_SCALE: 2,
CONF_OFFSET: 3,
CONF_PRECISION: 0,
@@ -408,7 +404,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 4,
CONF_DATA_TYPE: DATA_TYPE_UINT,
CONF_DATA_TYPE: DataType.UINT,
CONF_SCALE: 2.0,
CONF_OFFSET: 3.0,
CONF_PRECISION: 0,
@@ -421,7 +417,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
{
CONF_COUNT: 2,
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_INPUT,
CONF_DATA_TYPE: DATA_TYPE_UINT,
CONF_DATA_TYPE: DataType.UINT,
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
@@ -434,7 +430,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
{
CONF_COUNT: 2,
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING,
CONF_DATA_TYPE: DATA_TYPE_UINT,
CONF_DATA_TYPE: DataType.UINT,
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
@@ -447,7 +443,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
{
CONF_COUNT: 2,
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING,
CONF_DATA_TYPE: DATA_TYPE_FLOAT,
CONF_DATA_TYPE: DataType.FLOAT,
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 5,
@@ -460,7 +456,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
{
CONF_COUNT: 8,
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING,
CONF_DATA_TYPE: DATA_TYPE_STRING,
CONF_DATA_TYPE: DataType.STRING,
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
@@ -473,7 +469,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
{
CONF_COUNT: 8,
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_HOLDING,
CONF_DATA_TYPE: DATA_TYPE_STRING,
CONF_DATA_TYPE: DataType.STRING,
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
@@ -486,7 +482,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
{
CONF_COUNT: 2,
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_INPUT,
CONF_DATA_TYPE: DATA_TYPE_UINT,
CONF_DATA_TYPE: DataType.UINT,
CONF_SCALE: 1,
CONF_OFFSET: 0,
CONF_PRECISION: 0,
@@ -498,7 +494,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 1,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SWAP: CONF_SWAP_NONE,
},
[0x0102],
@@ -508,7 +504,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 1,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SWAP: CONF_SWAP_BYTE,
},
[0x0201],
@@ -518,7 +514,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 2,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SWAP: CONF_SWAP_BYTE,
},
[0x0102, 0x0304],
@@ -528,7 +524,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 2,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SWAP: CONF_SWAP_WORD,
},
[0x0102, 0x0304],
@@ -538,7 +534,7 @@ async def test_config_wrong_struct_sensor(hass, error_message, mock_modbus, capl
(
{
CONF_COUNT: 2,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
CONF_SWAP: CONF_SWAP_WORD_BYTE,
},
[0x0102, 0x0304],
@@ -610,7 +606,7 @@ async def test_lazy_error_sensor(hass, mock_do_cycle, start_expect, end_expect):
{
CONF_COUNT: 8,
CONF_PRECISION: 2,
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
CONF_DATA_TYPE: DataType.CUSTOM,
CONF_STRUCTURE: ">4f",
},
# floats: 7.931250095367432, 10.600000381469727,
@@ -622,7 +618,7 @@ async def test_lazy_error_sensor(hass, mock_do_cycle, start_expect, end_expect):
{
CONF_COUNT: 4,
CONF_PRECISION: 0,
CONF_DATA_TYPE: DATA_TYPE_CUSTOM,
CONF_DATA_TYPE: DataType.CUSTOM,
CONF_STRUCTURE: ">2i",
},
[0x0000, 0x0100, 0x0000, 0x0032],
@@ -632,7 +628,7 @@ async def test_lazy_error_sensor(hass, mock_do_cycle, start_expect, end_expect):
{
CONF_COUNT: 1,
CONF_PRECISION: 0,
CONF_DATA_TYPE: DATA_TYPE_INT,
CONF_DATA_TYPE: DataType.INT,
},
[0x0101],
"257",