Skip to content

Prevent ZHA from creating the OnOff entity for remotes #289

@mguaylam

Description

@mguaylam

While working on this issue zigpy/zha-device-handlers#3314, I learned that ZHA creates automatically an entity when it sees a contact device with an On/Off cluster. But since, at least my device, has only a client On/Off cluster, should ZHA creates an entity from it?

@STRICT_MATCH(cluster_handler_names=CLUSTER_HANDLER_ON_OFF)
class Opening(BinarySensor):
"""ZHA OnOff BinarySensor."""
_attribute_name = "on_off"
_attr_device_class: BinarySensorDeviceClass = BinarySensorDeviceClass.OPENING

The reasoning being that the ZCL says a client On/Off cluster has no attributes and that it should only transmit commands of the On/Off server cluster.

Meaning that this cluster has no attributes and does not support reporting by implying that. Creating an entity from it works because it does send commands when binding but there can't be reporting.

3.8 On/Off
3.8.3 Client
The client has no cluster specific attributes. The client generates the cluster specific commands received by the server (see 3.8.2.3) , as required by the application. No cluster specific commands are received by the client.

This is an issue because when the command fails to send, the device will not try to send it again. It's really meant to control another device like a lightbulb.

Also, I see the server attributes are defined in the client cluster but there should be none there since it's a client.
image

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions