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:
parent
a385ca93bd
commit
c827bba780
2 changed files with 10 additions and 8 deletions
|
@ -328,7 +328,7 @@
|
||||||
},
|
},
|
||||||
"manufacturer": {
|
"manufacturer": {
|
||||||
"name": "Manufacturer",
|
"name": "Manufacturer",
|
||||||
"description": "Manufacturer code."
|
"description": "Manufacturer code. Use a value of \"-1\" to force no code to be set."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -161,7 +161,9 @@ SERVICE_SCHEMAS = {
|
||||||
vol.Optional(ATTR_CLUSTER_TYPE, default=CLUSTER_TYPE_IN): cv.string,
|
vol.Optional(ATTR_CLUSTER_TYPE, default=CLUSTER_TYPE_IN): cv.string,
|
||||||
vol.Required(ATTR_ATTRIBUTE): vol.Any(cv.positive_int, str),
|
vol.Required(ATTR_ATTRIBUTE): vol.Any(cv.positive_int, str),
|
||||||
vol.Required(ATTR_VALUE): vol.Any(int, cv.boolean, cv.string),
|
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(
|
SERVICE_WARNING_DEVICE_SQUAWK: vol.Schema(
|
||||||
|
@ -210,7 +212,9 @@ SERVICE_SCHEMAS = {
|
||||||
vol.Required(ATTR_COMMAND_TYPE): cv.string,
|
vol.Required(ATTR_COMMAND_TYPE): cv.string,
|
||||||
vol.Exclusive(ATTR_ARGS, "attrs_params"): _ensure_list_if_present,
|
vol.Exclusive(ATTR_ARGS, "attrs_params"): _ensure_list_if_present,
|
||||||
vol.Exclusive(ATTR_PARAMS, "attrs_params"): dict,
|
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),
|
cv.deprecated(ATTR_ARGS),
|
||||||
|
@ -223,7 +227,9 @@ SERVICE_SCHEMAS = {
|
||||||
vol.Optional(ATTR_CLUSTER_TYPE, default=CLUSTER_TYPE_IN): cv.string,
|
vol.Optional(ATTR_CLUSTER_TYPE, default=CLUSTER_TYPE_IN): cv.string,
|
||||||
vol.Required(ATTR_COMMAND): cv.positive_int,
|
vol.Required(ATTR_COMMAND): cv.positive_int,
|
||||||
vol.Optional(ATTR_ARGS, default=[]): cv.ensure_list,
|
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 = {}
|
success = {}
|
||||||
failure = {}
|
failure = {}
|
||||||
if zha_device is not None:
|
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(
|
cluster = zha_device.async_get_cluster(
|
||||||
endpoint_id, cluster_id, cluster_type=cluster_type
|
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)
|
zha_device = zha_gateway.get_device(ieee)
|
||||||
response = None
|
response = None
|
||||||
if zha_device is not 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(
|
response = await zha_device.write_zigbee_attribute(
|
||||||
endpoint_id,
|
endpoint_id,
|
||||||
cluster_id,
|
cluster_id,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue