Let zigpy decide on default manufacturer id (#108257)

* zha: let cluster set default manufacturer id

* zha: allow forcing manufacturer id off
This commit is contained in:
Joakim Plate 2024-01-17 21:42:20 +01:00 committed by GitHub
parent a385ca93bd
commit c827bba780
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 10 additions and 8 deletions

View file

@ -161,7 +161,9 @@ SERVICE_SCHEMAS = {
vol.Optional(ATTR_CLUSTER_TYPE, default=CLUSTER_TYPE_IN): cv.string,
vol.Required(ATTR_ATTRIBUTE): vol.Any(cv.positive_int, str),
vol.Required(ATTR_VALUE): vol.Any(int, cv.boolean, cv.string),
vol.Optional(ATTR_MANUFACTURER): cv.positive_int,
vol.Optional(ATTR_MANUFACTURER): vol.All(
vol.Coerce(int), vol.Range(min=-1)
),
}
),
SERVICE_WARNING_DEVICE_SQUAWK: vol.Schema(
@ -210,7 +212,9 @@ SERVICE_SCHEMAS = {
vol.Required(ATTR_COMMAND_TYPE): cv.string,
vol.Exclusive(ATTR_ARGS, "attrs_params"): _ensure_list_if_present,
vol.Exclusive(ATTR_PARAMS, "attrs_params"): dict,
vol.Optional(ATTR_MANUFACTURER): cv.positive_int,
vol.Optional(ATTR_MANUFACTURER): vol.All(
vol.Coerce(int), vol.Range(min=-1)
),
}
),
cv.deprecated(ATTR_ARGS),
@ -223,7 +227,9 @@ SERVICE_SCHEMAS = {
vol.Optional(ATTR_CLUSTER_TYPE, default=CLUSTER_TYPE_IN): cv.string,
vol.Required(ATTR_COMMAND): cv.positive_int,
vol.Optional(ATTR_ARGS, default=[]): cv.ensure_list,
vol.Optional(ATTR_MANUFACTURER): cv.positive_int,
vol.Optional(ATTR_MANUFACTURER): vol.All(
vol.Coerce(int), vol.Range(min=-1)
),
}
),
}
@ -819,8 +825,6 @@ async def websocket_read_zigbee_cluster_attributes(
success = {}
failure = {}
if zha_device is not None:
if cluster_id >= MFG_CLUSTER_ID_START and manufacturer is None:
manufacturer = zha_device.manufacturer_code
cluster = zha_device.async_get_cluster(
endpoint_id, cluster_id, cluster_type=cluster_type
)
@ -1300,8 +1304,6 @@ def async_load_api(hass: HomeAssistant) -> None:
zha_device = zha_gateway.get_device(ieee)
response = None
if zha_device is not None:
if cluster_id >= MFG_CLUSTER_ID_START and manufacturer is None:
manufacturer = zha_device.manufacturer_code
response = await zha_device.write_zigbee_attribute(
endpoint_id,
cluster_id,