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.
While working on this issue https://github.com/zigpy/zha-device-handlers/issues/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? https://github.com/zigpy/zha/blob/701f57568fd909a469bdbb31089e2bafc095eea7/zha/application/platforms/binary_sensor/__init__.py#L167-L172
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.
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.