mirror of
https://github.com/home-assistant/core.git
synced 2025-04-24 09:17:53 +00:00
Move check thresholds valid to platform schema in threshold (#129540)
This commit is contained in:
parent
8384100e1b
commit
d11012b2b7
@ -61,15 +61,29 @@ _LOGGER = logging.getLogger(__name__)
|
||||
|
||||
DEFAULT_NAME: Final = "Threshold"
|
||||
|
||||
PLATFORM_SCHEMA = BINARY_SENSOR_PLATFORM_SCHEMA.extend(
|
||||
{
|
||||
vol.Required(CONF_ENTITY_ID): cv.entity_id,
|
||||
vol.Optional(CONF_DEVICE_CLASS): DEVICE_CLASSES_SCHEMA,
|
||||
vol.Optional(CONF_HYSTERESIS, default=DEFAULT_HYSTERESIS): vol.Coerce(float),
|
||||
vol.Optional(CONF_LOWER): vol.Coerce(float),
|
||||
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
||||
vol.Optional(CONF_UPPER): vol.Coerce(float),
|
||||
}
|
||||
|
||||
def no_missing_threshold(value: dict) -> dict:
|
||||
"""Validate data point list is greater than polynomial degrees."""
|
||||
if value.get(CONF_LOWER) is None and value.get(CONF_UPPER) is None:
|
||||
raise vol.Invalid("Lower or Upper thresholds are not provided")
|
||||
|
||||
return value
|
||||
|
||||
|
||||
PLATFORM_SCHEMA = vol.All(
|
||||
BINARY_SENSOR_PLATFORM_SCHEMA.extend(
|
||||
{
|
||||
vol.Required(CONF_ENTITY_ID): cv.entity_id,
|
||||
vol.Optional(CONF_DEVICE_CLASS): DEVICE_CLASSES_SCHEMA,
|
||||
vol.Optional(CONF_HYSTERESIS, default=DEFAULT_HYSTERESIS): vol.Coerce(
|
||||
float
|
||||
),
|
||||
vol.Optional(CONF_LOWER): vol.Coerce(float),
|
||||
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
|
||||
vol.Optional(CONF_UPPER): vol.Coerce(float),
|
||||
}
|
||||
),
|
||||
no_missing_threshold,
|
||||
)
|
||||
|
||||
|
||||
@ -126,9 +140,6 @@ async def async_setup_platform(
|
||||
hysteresis: float = config[CONF_HYSTERESIS]
|
||||
device_class: BinarySensorDeviceClass | None = config.get(CONF_DEVICE_CLASS)
|
||||
|
||||
if lower is None and upper is None:
|
||||
raise ValueError("Lower or Upper thresholds not provided")
|
||||
|
||||
async_add_entities(
|
||||
[
|
||||
ThresholdSensor(
|
||||
|
@ -538,7 +538,7 @@ async def test_sensor_no_lower_upper(
|
||||
await async_setup_component(hass, Platform.BINARY_SENSOR, config)
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert "Lower or Upper thresholds not provided" in caplog.text
|
||||
assert "Lower or Upper thresholds are not provided" in caplog.text
|
||||
|
||||
|
||||
async def test_device_id(
|
||||
|
Loading…
x
Reference in New Issue
Block a user