36 lines
1.1 KiB
Python
36 lines
1.1 KiB
Python
"""
|
|
Patch functions for Zigbee Home Automation.
|
|
|
|
For more details about this component, please refer to the documentation at
|
|
https://home-assistant.io/components/zha/
|
|
"""
|
|
|
|
|
|
def apply_application_controller_patch(zha_gateway):
|
|
"""Apply patches to ZHA objects."""
|
|
# Patch handle_message until zigpy can provide an event here
|
|
def handle_message(
|
|
sender, is_reply, profile, cluster, src_ep, dst_ep, tsn, command_id, args
|
|
):
|
|
"""Handle message from a device."""
|
|
if (
|
|
not sender.initializing
|
|
and sender.ieee in zha_gateway.devices
|
|
and not zha_gateway.devices[sender.ieee].available
|
|
):
|
|
zha_gateway.async_device_became_available(
|
|
sender,
|
|
is_reply,
|
|
profile,
|
|
cluster,
|
|
src_ep,
|
|
dst_ep,
|
|
tsn,
|
|
command_id,
|
|
args,
|
|
)
|
|
return sender.handle_message(
|
|
is_reply, profile, cluster, src_ep, dst_ep, tsn, command_id, args
|
|
)
|
|
|
|
zha_gateway.application_controller.handle_message = handle_message
|