Accept input register in Modbus binary sensor (#81352)

Adds input register as valid option for modbus binary_sensor

Co-authored-by: jan iversen <jancasacondor@gmail.com>
pull/81678/head
Benjamin Salchow 2022-11-07 10:14:12 +01:00 committed by GitHub
parent 5e05739019
commit 1d633ac484
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 1 deletions

View File

@ -287,7 +287,12 @@ BINARY_SENSOR_SCHEMA = BASE_COMPONENT_SCHEMA.extend(
{ {
vol.Optional(CONF_DEVICE_CLASS): BINARY_SENSOR_DEVICE_CLASSES_SCHEMA, vol.Optional(CONF_DEVICE_CLASS): BINARY_SENSOR_DEVICE_CLASSES_SCHEMA,
vol.Optional(CONF_INPUT_TYPE, default=CALL_TYPE_COIL): vol.In( vol.Optional(CONF_INPUT_TYPE, default=CALL_TYPE_COIL): vol.In(
[CALL_TYPE_COIL, CALL_TYPE_DISCRETE, CALL_TYPE_REGISTER_HOLDING] [
CALL_TYPE_COIL,
CALL_TYPE_DISCRETE,
CALL_TYPE_REGISTER_HOLDING,
CALL_TYPE_REGISTER_INPUT,
]
), ),
vol.Optional(CONF_SLAVE_COUNT, default=0): cv.positive_int, vol.Optional(CONF_SLAVE_COUNT, default=0): cv.positive_int,
} }

View File

@ -6,6 +6,7 @@ from homeassistant.components.modbus.const import (
CALL_TYPE_COIL, CALL_TYPE_COIL,
CALL_TYPE_DISCRETE, CALL_TYPE_DISCRETE,
CALL_TYPE_REGISTER_HOLDING, CALL_TYPE_REGISTER_HOLDING,
CALL_TYPE_REGISTER_INPUT,
CONF_INPUT_TYPE, CONF_INPUT_TYPE,
CONF_LAZY_ERROR, CONF_LAZY_ERROR,
CONF_SLAVE_COUNT, CONF_SLAVE_COUNT,
@ -54,6 +55,16 @@ ENTITY_ID = f"{SENSOR_DOMAIN}.{TEST_ENTITY_NAME}".replace(" ", "_")
} }
] ]
}, },
{
CONF_BINARY_SENSORS: [
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_ADDRESS: 51,
CONF_SLAVE: 10,
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_INPUT,
}
]
},
], ],
) )
async def test_config_binary_sensor(hass, mock_modbus): async def test_config_binary_sensor(hass, mock_modbus):
@ -91,6 +102,15 @@ async def test_config_binary_sensor(hass, mock_modbus):
}, },
], ],
}, },
{
CONF_BINARY_SENSORS: [
{
CONF_NAME: TEST_ENTITY_NAME,
CONF_ADDRESS: 51,
CONF_INPUT_TYPE: CALL_TYPE_REGISTER_INPUT,
},
],
},
], ],
) )
@pytest.mark.parametrize( @pytest.mark.parametrize(