Home Assistant Unofficial Reference 2024.12.1
homeassistant.components.knx.validation Namespace Reference

Functions

vol.All backwards_compatible_xknx_climate_enum_member (type[Enum] enumClass)
 
Callable[[Any], str|int] dpt_subclass_validator (type[DPTBase] dpt_base_class)
 
str|int ga_validator (Any value)
 
str ip_v4_validator (Any value, bool|None multicast=None)
 
str|int|None maybe_ga_validator (Any value)
 

Variables

Callable[[Any], str|int] dpt_base_type_validator = dpt_subclass_validator(DPTBase)
 
 ga_list_validator
 
 ga_list_validator_optional
 
 ia_validator
 
Callable[[Any], str|int] numeric_type_validator = dpt_subclass_validator(DPTNumeric)
 
 sensor_type_validator = vol.Any(numeric_type_validator, string_type_validator)
 
Callable[[Any], str|int] string_type_validator = dpt_subclass_validator(DPTString)
 
 sync_state_validator
 

Detailed Description

Validation helpers for KNX config schemas.

Function Documentation

◆ backwards_compatible_xknx_climate_enum_member()

vol.All homeassistant.components.knx.validation.backwards_compatible_xknx_climate_enum_member ( type[Enum]  enumClass)
Transform a string to an enum member.

Backwards compatible with member names of xknx 2.x climate DPT Enums
due to unintentional breaking change in HA 2024.8.

Definition at line 110 of file validation.py.

◆ dpt_subclass_validator()

Callable[[Any], str | int] homeassistant.components.knx.validation.dpt_subclass_validator ( type[DPTBase]  dpt_base_class)
Validate that value is parsable as given sensor type.

Definition at line 16 of file validation.py.

◆ ga_validator()

str | int homeassistant.components.knx.validation.ga_validator ( Any  value)
Validate that value is parsable as GroupAddress or InternalGroupAddress.

Definition at line 40 of file validation.py.

◆ ip_v4_validator()

str homeassistant.components.knx.validation.ip_v4_validator ( Any  value,
bool | None   multicast = None 
)
Validate that value is parsable as IPv4 address.

Optionally check if address is in a reserved multicast block or is explicitly not.

Definition at line 86 of file validation.py.

◆ maybe_ga_validator()

str | int | None homeassistant.components.knx.validation.maybe_ga_validator ( Any  value)
Validate a group address or None.

Definition at line 55 of file validation.py.

Variable Documentation

◆ dpt_base_type_validator

Callable[[Any], str | int] homeassistant.components.knx.validation.dpt_base_type_validator = dpt_subclass_validator(DPTBase)

Definition at line 34 of file validation.py.

◆ ga_list_validator

homeassistant.components.knx.validation.ga_list_validator
Initial value:
1 = vol.All(
2  cv.ensure_list,
3  [ga_validator],
4  vol.IsTrue("value must be a group address or a list containing group addresses"),
5 )

Definition at line 62 of file validation.py.

◆ ga_list_validator_optional

homeassistant.components.knx.validation.ga_list_validator_optional
Initial value:
1 = vol.Maybe(
2  vol.All(
3  cv.ensure_list,
4  [ga_validator],
5  vol.Any(vol.IsTrue(), vol.SetTo(None)), # avoid empty lists -> None
6  )
7 )

Definition at line 68 of file validation.py.

◆ ia_validator

homeassistant.components.knx.validation.ia_validator
Initial value:
1 = vol.Any(
2  vol.All(str, str.strip, cv.matches_regex(IndividualAddress.ADDRESS_RE.pattern)),
3  vol.All(vol.Coerce(int), vol.Range(min=1, max=65535)),
4  msg=(
5  "value does not match pattern for KNX individual address"
6  " '<area>.<line>.<device>' (eg.'1.1.100')"
7  ),
8 )

Definition at line 76 of file validation.py.

◆ numeric_type_validator

Callable[[Any], str | int] homeassistant.components.knx.validation.numeric_type_validator = dpt_subclass_validator(DPTNumeric)

Definition at line 35 of file validation.py.

◆ sensor_type_validator

homeassistant.components.knx.validation.sensor_type_validator = vol.Any(numeric_type_validator, string_type_validator)

Definition at line 37 of file validation.py.

◆ string_type_validator

Callable[[Any], str | int] homeassistant.components.knx.validation.string_type_validator = dpt_subclass_validator(DPTString)

Definition at line 36 of file validation.py.

◆ sync_state_validator

homeassistant.components.knx.validation.sync_state_validator
Initial value:
1 = vol.Any(
2  vol.All(vol.Coerce(int), vol.Range(min=2, max=1440)),
3  cv.boolean,
4  cv.matches_regex(r"^(init|expire|every)( \d*)?$"),
5 )

Definition at line 103 of file validation.py.