Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Device Support Request] TUYA DIN ENERGY METERING #1973

Open
seblang opened this issue Nov 29, 2022 · 142 comments
Open

[Device Support Request] TUYA DIN ENERGY METERING #1973

seblang opened this issue Nov 29, 2022 · 142 comments
Labels
custom quirk available A custom quirk is available to solve the issue, but it's not merged in the repo yet Tuya Request/PR regarding a Tuya device

Comments

@seblang
Copy link

seblang commented Nov 29, 2022

Is your feature request related to a problem? Please describe.
I can pair this tuya consumption energy metering device but i have no sensor

Describe the solution you'd like
i want to be able to see the consumption metering

Device signature
Paste the device signature here.
Don't remove the extra line breaks outside the ``` {
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0051",
      "in_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0xef00"
      ],
      "out_clusters": [
        "0x000a",
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZE204_cjbofhxw",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}
Diagnostic information
Paste the diagnostic information here.
Don't remove the extra line breaks outside the ``` marks.
Additional logs
Paste any additional debug logs here.
Don't remove the extra line breaks outside the ``` {
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2022.11.4",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.7",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/Paris",
    "os_name": "Linux",
    "os_version": "5.15.74",
    "supervisor": "2022.11.2",
    "host_os": "Home Assistant OS 9.3",
    "docker_version": "20.10.18",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
    "hacs": {
      "version": "1.28.4",
      "requirements": [
        "aiogithubapi>=22.2.4"
      ]
    },
    "multizone_controller": {
      "version": "1.2",
      "requirements": []
    },
    "average": {
      "version": "2.3.0",
      "requirements": []
    },
    "pollens": {
      "version": "2022.02.01",
      "requirements": []
    },
    "solcast_solar": {
      "version": "3.0.26",
      "requirements": [
        "aiohttp>=3.6.2",
        "datetime>=4.3",
        "isodate>=0.6.0"
      ]
    },
    "fullykiosk": {
      "version": "1.1.0",
      "requirements": [
        "python-fullykiosk==0.0.11"
      ]
    },
    "tahoma": {
      "version": "2.14.0",
      "requirements": [
        "pyoverkiz==1.5.6"
      ]
    },
    "favicon": {
      "version": "10.4",
      "requirements": []
    },
    "rte_ecowatt": {
      "version": "0.1.1",
      "requirements": [
        "Async-OAuthlib==0.0.9"
      ]
    },
    "reversotts": {
      "version": "1.0.2",
      "requirements": [
        "pyttsreverso==0.4"
      ]
    },
    "huawei_solar": {
      "version": "1.1.2",
      "requirements": [
        "pyserial==3.5",
        "pyserial-asyncio==0.6",
        "huawei-solar==2.1.2"
      ]
    },
    "virtual": {
      "version": "0.7.7",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "config_flow": true,
    "documentation": "https://www.home-assistant.io/integrations/zha",
    "requirements": [
      "bellows==0.34.2",
      "pyserial==3.5",
      "pyserial-asyncio==0.6",
      "zha-quirks==0.0.86",
      "zigpy-deconz==0.19.0",
      "zigpy==0.51.5",
      "zigpy-xbee==0.16.2",
      "zigpy-zigate==0.10.3",
      "zigpy-znp==0.9.1"
    ],
    "usb": [
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ]
      },
      {
        "vid": "1A86",
        "pid": "55D4",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus v2"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*zigstar*",
        "known_devices": [
          "ZigStar Coordinators"
        ]
      },
      {
        "vid": "1CF1",
        "pid": "0030",
        "description": "*conbee*",
        "known_devices": [
          "Conbee II"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8A2A",
        "description": "*zigbee*",
        "known_devices": [
          "Nortek HUSBZB-1"
        ]
      },
      {
        "vid": "0403",
        "pid": "6015",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate+"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8B34",
        "description": "*bv 2010/10*",
        "known_devices": [
          "Bitron Video AV2010/10"
        ]
      }
    ],
    "codeowners": [
      "@dmulcahey",
      "@adminiuga",
      "@puddly"
    ],
    "zeroconf": [
      {
        "type": "_esphomelib._tcp.local.",
        "name": "tube*"
      },
      {
        "type": "_zigate-zigbee-gateway._tcp.local.",
        "name": "*zigate*"
      },
      {
        "type": "_zigstar_gw._tcp.local.",
        "name": "*zigstar*"
      }
    ],
    "dependencies": [
      "file_upload"
    ],
    "after_dependencies": [
      "onboarding",
      "usb",
      "zeroconf"
    ],
    "iot_class": "local_polling",
    "loggers": [
      "aiosqlite",
      "bellows",
      "crccheck",
      "pure_pcapy3",
      "zhaquirks",
      "zigpy",
      "zigpy_deconz",
      "zigpy_xbee",
      "zigpy_zigate",
      "zigpy_znp"
    ],
    "is_built_in": true
  },
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 27050,
    "manufacturer": "_TZE204_cjbofhxw",
    "model": "TS0601",
    "name": "_TZE204_cjbofhxw TS0601",
    "quirk_applied": false,
    "quirk_class": "zigpy.device.Device",
    "manufacturer_code": 4098,
    "power_source": "Mains",
    "lqi": 203,
    "rssi": -47,
    "last_seen": "2022-11-29T21:48:19",
    "available": true,
    "device_type": "Router",
    "signature": {
      "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
      "endpoints": {
        "1": {
          "profile_id": 260,
          "device_type": "0x0051",
          "in_clusters": [
            "0x0000",
            "0x0004",
            "0x0005",
            "0xef00"
          ],
          "out_clusters": [
            "0x000a",
            "0x0019"
          ]
        }
      }
    },
    "active_coordinator": false,
    "entities": [],
    "neighbors": [],
    "endpoint_names": [
      {
        "name": "SMART_PLUG"
      }
    ],
    "user_given_name": null,
    "device_reg_id": "30b9cbfc4fcfb0e8393dce44c893bc70",
    "area_id": null,
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "SMART_PLUG",
          "id": 81
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0001": {
                "attribute_name": "app_version",
                "value": 70
              },
              "0x0004": {
                "attribute_name": "manufacturer",
                "value": "_TZE204_cjbofhxw"
              },
              "0x0005": {
                "attribute_name": "model",
                "value": "TS0601"
              }
            },
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0xef00": {
            "endpoint_attribute": null,
            "attributes": {},
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {
          "0x0019": {
            "endpoint_attribute": "ota",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x000a": {
            "endpoint_attribute": "time",
            "attributes": {},
            "unsupported_attributes": {}
          }
        }
      }
    }
  }
}.

Additional context
Add any other context or screenshots about the feature request here.

@javicalle
Copy link
Collaborator

There are already 2 implementations for Tuya DIN metering devices.
I would suggest you to try with the HikingPowerMeter one.

There is a good guide to create your local quirk:

Just copy inside your local quirk folder the current ts0601_din_power.py file:

Edit the content adding your device signature at the MODELS_INFO like this:

class HikingPowerMeter(TuyaSwitch):
    """Hiking Power Meter Device - DDS238-2."""

    signature = {
        # "node_descriptor": "<NodeDescriptor byte1=1 byte2=64 mac_capability_flags=142 manufacturer_code=4098
        #                       maximum_buffer_size=82 maximum_incoming_transfer_size=82 server_mask=11264
        #                       maximum_outgoing_transfer_size=82 descriptor_capability_field=0>",
        # device_version=1
        # input_clusters=[0x0000, 0x0004, 0x0005, 0xef00]
        # output_clusters=[0x000a, 0x0019]
        MODELS_INFO: [
            ("_TZE200_bkkmqmyo", "TS0601"),
            ("_TZE204_cjbofhxw", "TS0601"),
        ],
        ENDPOINTS: {

Save changes, restart HA and repair the device.

@seblang
Copy link
Author

seblang commented Nov 30, 2022

Hi Thank you

Done but result is not perfect :-)

tempo

If I ask a reconfiguration I have this :

tempo

My product have no switch :

tempo1

available info according vendor

tempo2

Can you help me to update mu quirks please

@javicalle
Copy link
Collaborator

We can remove the switch, this part is the easy one.
For all the other entities we need to collect the info that report the device and map it against the measured values.

To do that, will be necessary to activate the logs for the integration and collect the relevant information. Instructions here:

You will get multiple reports from your device, NMK: 0x7667

Every report will be a meassurement and you have to analize it to map against the correct one. In example, the current voltage will be a value around 220/240

@seblang
Copy link
Author

seblang commented Nov 30, 2022

Hi debug activated, but I am not sur how to understand the log file:

2022-11-30 19:57:34.371 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'\t\x00' 2022-11-30 19:57:34.374 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 64): b'\t\x00' 2022-11-30 19:57:34.374 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'\t\x00' 2022-11-30 19:57:34.519 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 19:57:34.519 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 19:57:34.566 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=181), 99, -69, 0x7667, 255, 255, b'\t@%\t\x00'] 2022-11-30 19:57:34.567 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=181, profile_id=260, cluster_id=61184, data=Serialized[b'\t@%\t\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 19:57:34.567 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t@%\t\x00' 2022-11-30 19:57:34.568 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=64, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 19:57:34.569 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'\t\x00' 2022-11-30 19:57:34.572 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 64): b'\t\x00' 2022-11-30 19:57:34.573 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'\t\x00' 2022-11-30 19:57:38.100 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 94, -70, []] 2022-11-30 19:57:38.100 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 94, -70, []) 2022-11-30 19:57:38.149 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=182), 94, -70, 0x7667, 255, 255, b'\tA%\x0b\x00'] 2022-11-30 19:57:38.149 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=182, profile_id=260, cluster_id=61184, data=Serialized[b'\tA%\x0b\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=94, rssi=-70) 2022-11-30 19:57:38.150 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\tA%\x0b\x00' 2022-11-30 19:57:38.150 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=65, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 19:57:38.151 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'\x0b\x00' 2022-11-30 19:57:38.154 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 65): b'\x0b\x00' 2022-11-30 19:57:38.155 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'\x0b\x00' 2022-11-30 19:57:38.296 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 19:57:38.297 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 19:57:38.346 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=183), 99, -69, 0x7667, 255, 255, b'\tA%\x0b\x00'] 2022-11-30 19:57:38.347 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=183, profile_id=260, cluster_id=61184, data=Serialized[b'\tA%\x0b\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 19:57:38.347 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\tA%\x0b\x00' 2022-11-30 19:57:38.348 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=65, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 19:57:38.348 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'\x0b\x00' 2022-11-30 19:57:38.351 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 65): b'\x0b\x00' 2022-11-30 19:57:38.351 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'\x0b\x00' 2022-11-30 19:57:38.498 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 19:57:38.498 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 19:57:38.546 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=184), 99, -69, 0x7667, 255, 255, b'\tA%\x0b\x00'] 2022-11-30 19:57:38.546 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=184, profile_id=260, cluster_id=61184, data=Serialized[b'\tA%\x0b\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 19:57:38.547 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\tA%\x0b\x00' 2022-11-30 19:57:38.548 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=65, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 19:57:38.548 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'\x0b\x00' 2022-11-30 19:57:38.551 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 65): b'\x0b\x00' 2022-11-30 19:57:38.552 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'\x0b\x00' 2022-11-30 19:57:38.697 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 19:57:38.697 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 19:57:38.744 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=185), 99, -69, 0x7667, 255, 255, b'\tA%\x0b\x00'] 2022-11-30 19:57:38.745 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=185, profile_id=260, cluster_id=61184, data=Serialized[b'\tA%\x0b\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 19:57:38.745 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\tA%\x0b\x00' 2022-11-30 19:57:38.746 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=65, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 19:57:38.747 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'\x0b\x00' 2022-11-30 19:57:38.750 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 65): b'\x0b\x00' 2022-11-30 19:57:38.750 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'\x0b\x00' 2022-11-30 19:57:38.896 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 19:57:38.896 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 19:57:38.944 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=186), 99, -69, 0x7667, 255, 255, b'\tA%\x0b\x00'] 2022-11-30 19:57:38.944 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=186, profile_id=260, cluster_id=61184, data=Serialized[b'\tA%\x0b\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 19:57:38.945 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\tA%\x0b\x00' 2022-11-30 19:57:38.945 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=65, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 19:57:38.946 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'\x0b\x00' 2022-11-30 19:57:38.949 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 65): b'\x0b\x00' 2022-11-30 19:57:38.949 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'\x0b\x00' 2022-11-30 19:57:42.475 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 19:57:42.475 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 19:57:42.530 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=187), 99, -69, 0x7667, 255, 255, b'\tB%\r\x00'] 2022-11-30 19:57:42.531 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=187, profile_id=260, cluster_id=61184, data=Serialized[b'\tB%\r\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 19:57:42.531 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\tB%\r\x00' 2022-11-30 19:57:42.532 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=66, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 19:57:42.532 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'\r\x00' 2022-11-30 19:57:42.538 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 66): b'\r\x00' 2022-11-30 19:57:42.538 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'\r\x00' 2022-11-30 19:57:42.675 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 19:57:42.676 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 19:57:42.723 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=188), 99, -69, 0x7667, 255, 255, b'\tB%\r\x00'] 2022-11-30 19:57:42.723 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=188, profile_id=260, cluster_id=61184, data=Serialized[b'\tB%\r\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 19:57:42.724 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\tB%\r\x00' 2022-11-30 19:57:42.724 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=66, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 19:57:42.725 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'\r\x00' 2022-11-30 19:57:42.729 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 66): b'\r\x00' 2022-11-30 19:57:42.730 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'\r\x00'

@javicalle
Copy link
Collaborator

javicalle commented Nov 30, 2022

The device is calling some custom command 0x25 every 4 minutes seconds with one five repetitions.
I have no idea what is this command. There is nothing in ZHA and I can't find any relation in Z2M.

Is any entity updating values?
Any other logs than these ones?

@seblang
Copy link
Author

seblang commented Nov 30, 2022

no

@seblang
Copy link
Author

seblang commented Nov 30, 2022

I have cancel the quirk to see if I have some other info

Journaux complets 2022-11-30 23:04:53.593 DEBUG (MainThread) [zigpy.appdb] [0x7667:1:0x0000] Attribute id: 4 value: _TZE204_cjbofhxw 2022-11-30 23:04:53.593 DEBUG (MainThread) [zigpy.appdb] [0x7667:1:0x0000] Attribute id: 5 value: TS0601 2022-11-30 23:04:58.525 DEBUG (MainThread) [zigpy.appdb] [0x7667:1:0x0000] Attribute id: 4 value: _TZE204_cjbofhxw 2022-11-30 23:04:58.525 DEBUG (MainThread) [zigpy.appdb] [0x7667:1:0x0000] Attribute id: 5 value: TS0601 2022-11-30 23:04:58.525 DEBUG (MainThread) [zigpy.appdb] [0x7667:1:0x0000] Attribute id: 1 value: 70 2022-11-30 23:04:58.525 DEBUG (MainThread) [zigpy.appdb] [0x7667:1:0x0000] Attribute id: 65506 value: 31 2022-11-30 23:04:58.525 DEBUG (MainThread) [zigpy.appdb] [0x7667:1:0x0000] Attribute id: 65508 value: 0 2022-11-30 23:04:58.525 DEBUG (MainThread) [zigpy.appdb] [0x7667:1:0x0000] Attribute id: 65503 value: 2022-11-30 23:04:58.525 DEBUG (MainThread) [zigpy.appdb] [0x7667:1:0x0000] Attribute id: 65534 value: 0 2022-11-30 23:05:06.984 DEBUG (MainThread) [homeassistant.components.zha.core.gateway] [0x7667](_TZE204_cjbofhxw TS0601) restored as 'available', last seen: 0:01:36 ago, consider_unavailable_time: 7200 seconds 2022-11-30 23:05:07.010 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x7667](TS0601): started initialization 2022-11-30 23:05:07.010 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:ZDO](TS0601): 'async_initialize' stage succeeded 2022-11-30 23:05:07.149 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0x0000]: initializing channel: from_cache: True 2022-11-30 23:05:07.149 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0x0000]: finished channel initialization 2022-11-30 23:05:07.149 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0xef00]: initializing channel: from_cache: True 2022-11-30 23:05:07.150 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0xef00]: finished channel initialization 2022-11-30 23:05:07.150 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0x0019]: initializing channel: from_cache: True 2022-11-30 23:05:07.150 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0x0019]: finished channel initialization 2022-11-30 23:05:07.186 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0x0000]: 'async_initialize' stage succeeded 2022-11-30 23:05:07.186 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0xef00]: 'async_initialize' stage succeeded 2022-11-30 23:05:07.186 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0x0019]: 'async_initialize' stage succeeded 2022-11-30 23:05:07.226 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x7667](TS0601): power source: Mains 2022-11-30 23:05:07.226 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x7667](TS0601): completed initialization 2022-11-30 23:05:07.253 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x7667](TS0601): started initialization 2022-11-30 23:05:07.253 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:ZDO](TS0601): 'async_initialize' stage succeeded 2022-11-30 23:05:07.388 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0x0000]: initializing channel: from_cache: False 2022-11-30 23:05:07.388 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0x0000]: finished channel initialization 2022-11-30 23:05:07.388 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0xef00]: initializing channel: from_cache: False 2022-11-30 23:05:07.389 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0xef00]: finished channel initialization 2022-11-30 23:05:07.389 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0x0019]: initializing channel: from_cache: False 2022-11-30 23:05:07.389 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0x0019]: finished channel initialization 2022-11-30 23:05:07.393 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0x0000]: 'async_initialize' stage succeeded 2022-11-30 23:05:07.393 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0xef00]: 'async_initialize' stage succeeded 2022-11-30 23:05:07.393 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x7667:1:0x0019]: 'async_initialize' stage succeeded 2022-11-30 23:05:07.416 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x7667](TS0601): power source: Mains 2022-11-30 23:05:07.416 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x7667](TS0601): completed initialization 2022-11-30 23:05:07.653 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 23:05:07.653 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 23:05:07.656 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=77), 99, -69, 0x7667, 255, 255, b'\t\x13%/\x00'] 2022-11-30 23:05:07.657 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=77, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x13%/\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 23:05:07.658 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x13%/\x00' 2022-11-30 23:05:07.658 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=19, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:07.660 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'/\x00' 2022-11-30 23:05:07.671 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 19): b'/\x00' 2022-11-30 23:05:07.671 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'/\x00' 2022-11-30 23:05:07.685 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:07.685 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:07.961 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=78), 99, -69, 0x7667, 255, 255, b'\t\x13%/\x00'] 2022-11-30 23:05:07.961 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=78, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x13%/\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 23:05:07.962 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x13%/\x00' 2022-11-30 23:05:07.963 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=19, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:07.963 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'/\x00' 2022-11-30 23:05:07.966 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 19): b'/\x00' 2022-11-30 23:05:07.967 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'/\x00' 2022-11-30 23:05:07.971 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 23:05:07.971 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 23:05:07.973 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=79), 99, -69, 0x7667, 255, 255, b'\t\x13%/\x00'] 2022-11-30 23:05:07.973 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=79, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x13%/\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 23:05:07.974 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x13%/\x00' 2022-11-30 23:05:07.974 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=19, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:07.975 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'/\x00' 2022-11-30 23:05:07.979 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 19): b'/\x00' 2022-11-30 23:05:07.980 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'/\x00' 2022-11-30 23:05:08.180 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 23:05:08.180 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 23:05:08.207 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=80), 104, -68, 0x7667, 255, 255, b'\t\x13%/\x00'] 2022-11-30 23:05:08.208 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=80, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x13%/\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:08.209 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x13%/\x00' 2022-11-30 23:05:08.209 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=19, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:08.210 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'/\x00' 2022-11-30 23:05:08.216 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 19): b'/\x00' 2022-11-30 23:05:08.217 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'/\x00' 2022-11-30 23:05:08.383 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:08.383 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:08.386 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=81), 104, -68, 0x7667, 255, 255, b'\t\x13%/\x00'] 2022-11-30 23:05:08.387 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=81, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x13%/\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:08.395 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x13%/\x00' 2022-11-30 23:05:08.396 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=19, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:08.396 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'/\x00' 2022-11-30 23:05:08.416 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 19): b'/\x00' 2022-11-30 23:05:08.416 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'/\x00' 2022-11-30 23:05:11.840 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:11.840 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:11.885 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=82), 104, -68, 0x7667, 255, 255, b'\t\x14%1\x00'] 2022-11-30 23:05:11.886 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=82, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x14%1\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:11.886 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x14%1\x00' 2022-11-30 23:05:11.887 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=20, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:11.888 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'1\x00' 2022-11-30 23:05:11.904 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 20): b'1\x00' 2022-11-30 23:05:11.904 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'1\x00' 2022-11-30 23:05:12.064 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:12.064 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:12.144 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=83), 104, -68, 0x7667, 255, 255, b'\t\x14%1\x00'] 2022-11-30 23:05:12.144 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=83, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x14%1\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:12.145 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x14%1\x00' 2022-11-30 23:05:12.145 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=20, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:12.146 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'1\x00' 2022-11-30 23:05:12.156 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 20): b'1\x00' 2022-11-30 23:05:12.156 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'1\x00' 2022-11-30 23:05:12.223 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:12.223 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:12.286 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=84), 104, -68, 0x7667, 255, 255, b'\t\x14%1\x00'] 2022-11-30 23:05:12.287 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=84, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x14%1\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:12.287 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x14%1\x00' 2022-11-30 23:05:12.288 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=20, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:12.289 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'1\x00' 2022-11-30 23:05:12.304 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 20): b'1\x00' 2022-11-30 23:05:12.304 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'1\x00' 2022-11-30 23:05:12.445 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:12.445 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:12.502 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=85), 104, -68, 0x7667, 255, 255, b'\t\x14%1\x00'] 2022-11-30 23:05:12.503 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=85, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x14%1\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:12.503 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x14%1\x00' 2022-11-30 23:05:12.504 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=20, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:12.505 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'1\x00' 2022-11-30 23:05:12.519 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 20): b'1\x00' 2022-11-30 23:05:12.519 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'1\x00' 2022-11-30 23:05:12.649 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 109, -67, []] 2022-11-30 23:05:12.649 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 109, -67, []) 2022-11-30 23:05:12.671 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=86), 104, -68, 0x7667, 255, 255, b'\t\x14%1\x00'] 2022-11-30 23:05:12.672 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=86, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x14%1\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:12.672 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x14%1\x00' 2022-11-30 23:05:12.673 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=20, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:12.674 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'1\x00' 2022-11-30 23:05:12.690 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 20): b'1\x00' 2022-11-30 23:05:12.690 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'1\x00' 2022-11-30 23:05:16.599 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:16.599 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:16.601 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=87), 104, -68, 0x7667, 255, 255, b'\t\x15%3\x00'] 2022-11-30 23:05:16.602 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=87, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x15%3\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:16.602 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x15%3\x00' 2022-11-30 23:05:16.603 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=21, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:16.604 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'3\x00' 2022-11-30 23:05:16.612 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 21): b'3\x00' 2022-11-30 23:05:16.612 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'3\x00' 2022-11-30 23:05:16.615 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 23:05:16.615 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 23:05:16.616 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=88), 104, -68, 0x7667, 255, 255, b'\t\x15%3\x00'] 2022-11-30 23:05:16.617 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=88, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x15%3\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:16.618 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x15%3\x00' 2022-11-30 23:05:16.618 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=21, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:16.619 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'3\x00' 2022-11-30 23:05:16.633 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 21): b'3\x00' 2022-11-30 23:05:16.633 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'3\x00' 2022-11-30 23:05:16.636 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 23:05:16.636 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 23:05:16.697 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=89), 99, -69, 0x7667, 255, 255, b'\t\x15%3\x00'] 2022-11-30 23:05:16.697 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=89, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x15%3\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 23:05:16.698 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x15%3\x00' 2022-11-30 23:05:16.698 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=21, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:16.699 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'3\x00' 2022-11-30 23:05:16.711 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 21): b'3\x00' 2022-11-30 23:05:16.712 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'3\x00' 2022-11-30 23:05:16.796 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 23:05:16.796 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 23:05:16.846 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=90), 99, -69, 0x7667, 255, 255, b'\t\x15%3\x00'] 2022-11-30 23:05:16.847 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=90, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x15%3\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 23:05:16.847 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x15%3\x00' 2022-11-30 23:05:16.848 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=21, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:16.849 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'3\x00' 2022-11-30 23:05:16.862 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 21): b'3\x00' 2022-11-30 23:05:16.862 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'3\x00' 2022-11-30 23:05:17.003 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 23:05:17.003 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 23:05:17.044 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=91), 99, -69, 0x7667, 255, 255, b'\t\x15%3\x00'] 2022-11-30 23:05:17.044 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=91, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x15%3\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 23:05:17.045 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x15%3\x00' 2022-11-30 23:05:17.045 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=21, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:17.046 WARNING (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Unknown cluster command 37 b'3\x00' 2022-11-30 23:05:17.073 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received command 0x25 (TSN 21): b'3\x00' 2022-11-30 23:05:17.074 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] No explicit handler for cluster command 0x25: b'3\x00' 2022-11-30 23:05:20.339 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:20.339 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:20.389 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=0, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=92), 104, -68, 0x7667, 255, 255, b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'] 2022-11-30 23:05:20.389 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=92, profile_id=260, cluster_id=0, data=Serialized[b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:20.390 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received ZCL frame: b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00' 2022-11-30 23:05:20.390 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:20.391 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:20.392 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received command 0x0A (TSN 22): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:20.394 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Attribute report received: app_version=70, 0xFFE2=31, 0xFFE4=0 2022-11-30 23:05:20.396 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:20.397 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 2022-11-30 23:05:20.397 DEBUG (MainThread) [bellows.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), dst_ep=1, source_route=None, extended_timeout=False, tsn=22, profile_id=260, cluster_id=0, data=Serialized[b'\x18\x16\x0b\n\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None) 2022-11-30 23:05:20.540 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:20.540 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:20.589 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=0, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=93), 104, -68, 0x7667, 255, 255, b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'] 2022-11-30 23:05:20.589 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=93, profile_id=260, cluster_id=0, data=Serialized[b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:20.590 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received ZCL frame: b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00' 2022-11-30 23:05:20.590 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:20.592 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:20.592 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received command 0x0A (TSN 22): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:20.593 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Attribute report received: app_version=70, 0xFFE2=31, 0xFFE4=0 2022-11-30 23:05:20.595 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:20.596 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 2022-11-30 23:05:20.739 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 23:05:20.739 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 23:05:20.790 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=0, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=94), 99, -69, 0x7667, 255, 255, b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'] 2022-11-30 23:05:20.791 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=94, profile_id=260, cluster_id=0, data=Serialized[b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=99, rssi=-69) 2022-11-30 23:05:20.791 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received ZCL frame: b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00' 2022-11-30 23:05:20.792 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:20.793 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:20.794 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received command 0x0A (TSN 22): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:20.795 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Attribute report received: app_version=70, 0xFFE2=31, 0xFFE4=0 2022-11-30 23:05:20.796 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:20.797 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 2022-11-30 23:05:20.937 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 23:05:20.937 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 23:05:20.990 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=0, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=95), 104, -68, 0x7667, 255, 255, b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'] 2022-11-30 23:05:20.991 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=95, profile_id=260, cluster_id=0, data=Serialized[b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:20.991 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received ZCL frame: b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00' 2022-11-30 23:05:20.992 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:20.993 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:20.993 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received command 0x0A (TSN 22): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:20.995 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Attribute report received: app_version=70, 0xFFE2=31, 0xFFE4=0 2022-11-30 23:05:20.996 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:20.997 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 2022-11-30 23:05:21.138 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []] 2022-11-30 23:05:21.138 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 99, -69, []) 2022-11-30 23:05:21.186 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=0, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=96), 104, -68, 0x7667, 255, 255, b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'] 2022-11-30 23:05:21.187 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=96, profile_id=260, cluster_id=0, data=Serialized[b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:21.187 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received ZCL frame: b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00' 2022-11-30 23:05:21.188 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:21.189 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:21.189 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received command 0x0A (TSN 22): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:21.191 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Attribute report received: app_version=70, 0xFFE2=31, 0xFFE4=0 2022-11-30 23:05:21.193 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:21.194 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 2022-11-30 23:05:21.336 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:21.336 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:21.385 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=0, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=97), 104, -68, 0x7667, 255, 255, b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'] 2022-11-30 23:05:21.386 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=97, profile_id=260, cluster_id=0, data=Serialized[b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:21.386 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received ZCL frame: b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00' 2022-11-30 23:05:21.387 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:21.389 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:21.391 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received command 0x0A (TSN 22): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:21.391 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Attribute report received: app_version=70, 0xFFE2=31, 0xFFE4=0 2022-11-30 23:05:21.393 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:21.394 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 2022-11-30 23:05:21.535 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:21.535 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:21.587 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=0, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=98), 104, -68, 0x7667, 255, 255, b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'] 2022-11-30 23:05:21.588 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=98, profile_id=260, cluster_id=0, data=Serialized[b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:21.588 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received ZCL frame: b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00' 2022-11-30 23:05:21.589 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:21.591 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:21.591 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received command 0x0A (TSN 22): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:21.592 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Attribute report received: app_version=70, 0xFFE2=31, 0xFFE4=0 2022-11-30 23:05:21.598 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:21.599 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 2022-11-30 23:05:21.735 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:21.735 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:21.786 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=0, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=99), 104, -68, 0x7667, 255, 255, b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'] 2022-11-30 23:05:21.786 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=99, profile_id=260, cluster_id=0, data=Serialized[b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:21.787 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received ZCL frame: b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00' 2022-11-30 23:05:21.788 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:21.789 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:21.791 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received command 0x0A (TSN 22): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:21.791 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Attribute report received: app_version=70, 0xFFE2=31, 0xFFE4=0 2022-11-30 23:05:21.793 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:21.793 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 2022-11-30 23:05:21.935 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:21.935 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:21.982 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=0, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=100), 104, -68, 0x7667, 255, 255, b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'] 2022-11-30 23:05:21.982 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=100, profile_id=260, cluster_id=0, data=Serialized[b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:21.983 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received ZCL frame: b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00' 2022-11-30 23:05:21.983 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:21.984 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:21.985 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received command 0x0A (TSN 22): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:21.985 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Attribute report received: app_version=70, 0xFFE2=31, 0xFFE4=0 2022-11-30 23:05:21.989 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:21.989 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 2022-11-30 23:05:22.133 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:22.133 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:22.191 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=0, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=101), 104, -68, 0x7667, 255, 255, b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'] 2022-11-30 23:05:22.191 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=101, profile_id=260, cluster_id=0, data=Serialized[b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:22.192 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received ZCL frame: b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00' 2022-11-30 23:05:22.192 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:22.194 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:22.194 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received command 0x0A (TSN 22): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:22.196 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Attribute report received: app_version=70, 0xFFE2=31, 0xFFE4=0 2022-11-30 23:05:22.198 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:22.199 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 2022-11-30 23:05:22.332 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:22.332 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:22.380 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=0, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=102), 104, -68, 0x7667, 255, 255, b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'] 2022-11-30 23:05:22.381 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=102, profile_id=260, cluster_id=0, data=Serialized[b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:22.382 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received ZCL frame: b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00' 2022-11-30 23:05:22.382 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:22.383 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:22.384 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received command 0x0A (TSN 22): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:22.384 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Attribute report received: app_version=70, 0xFFE2=31, 0xFFE4=0 2022-11-30 23:05:22.386 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:22.387 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 2022-11-30 23:05:22.532 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:22.532 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:22.568 DEBUG (MainThread) [bellows.ezsp.protocol] Send command sendUnicast: (<EmberOutgoingMessageType.OUTGOING_DIRECT: 0>, 0x7667, EmberApsFrame(profileId=260, clusterId=0, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY|APS_OPTION_RETRY: 320>, groupId=0, sequence=22), 97, b'\x18\x16\x0b\n\x00') 2022-11-30 23:05:22.583 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=0, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=103), 104, -68, 0x7667, 255, 255, b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'] 2022-11-30 23:05:22.584 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=103, profile_id=260, cluster_id=0, data=Serialized[b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:22.584 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received ZCL frame: b'\x08\x16\n\x01\x00 F\xe2\xff \x1f\xe4\xff \x00' 2022-11-30 23:05:22.585 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:22.586 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:22.588 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Received command 0x0A (TSN 22): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=31)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2022-11-30 23:05:22.589 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Attribute report received: app_version=70, 0xFFE2=31, 0xFFE4=0 2022-11-30 23:05:22.591 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=22, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-11-30 23:05:22.591 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>) 2022-11-30 23:05:22.612 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:22.612 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:22.622 DEBUG (MainThread) [bellows.zigbee.application] Received incomingRouteRecordHandler frame with [0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []] 2022-11-30 23:05:22.622 DEBUG (MainThread) [bellows.zigbee.application] Processing route record request: (0x7667, e0:79:8d:ff:fe:de:3b:6a, 104, -68, []) 2022-11-30 23:05:22.673 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=104), 104, -68, 0x7667, 255, 255, b'\t\x17%5\x00'] 2022-11-30 23:05:22.674 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x7667), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=104, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x17%5\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=104, rssi=-68) 2022-11-30 23:05:22.674 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Received ZCL frame: b'\t\x17%5\x00' 2022-11-30 23:05:22.675 DEBUG (MainThread) [zigpy.zcl] [0x7667:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=23, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)

How can I use this information to customize my quirk
please

@seblang
Copy link
Author

seblang commented Dec 1, 2022

How can I interpret the log?

@seblang
Copy link
Author

seblang commented Dec 1, 2022

2022-12-01 21:03:52.052 DEBUG (MainThread) [zigpy.appdb] [0x1c87:1:0x0000] Attribute id: 4 value: _TZE204_cjbofhxw 2022-12-01 21:03:52.052 DEBUG (MainThread) [zigpy.appdb] [0x1c87:1:0x0000] Attribute id: 5 value: TS0601 2022-12-01 21:03:57.241 DEBUG (MainThread) [zigpy.appdb] [0x1c87:1:0x0000] Attribute id: 4 value: _TZE204_cjbofhxw 2022-12-01 21:03:57.241 DEBUG (MainThread) [zigpy.appdb] [0x1c87:1:0x0000] Attribute id: 5 value: TS0601 2022-12-01 21:03:57.241 DEBUG (MainThread) [zigpy.appdb] [0x1c87:1:0x0b04] Attribute id: 1539 value: 1000 2022-12-01 21:03:57.241 DEBUG (MainThread) [zigpy.appdb] [0x1c87:1:0x0b04] Attribute id: 1538 value: 1 2022-12-01 21:03:57.241 DEBUG (MainThread) [zigpy.appdb] [0x1c87:1:0x0b04] Attribute id: 1536 value: 2 2022-12-01 21:03:57.241 DEBUG (MainThread) [zigpy.appdb] [0x1c87:1:0x0702] Attribute id: 768 value: 0 2022-12-01 21:03:57.242 DEBUG (MainThread) [zigpy.appdb] [0x1c87:1:0x0000] Attribute id: 1 value: 70 2022-12-01 21:03:57.242 DEBUG (MainThread) [zigpy.appdb] [0x1c87:1:0x0000] Attribute id: 65506 value: 31 2022-12-01 21:03:57.242 DEBUG (MainThread) [zigpy.appdb] [0x1c87:1:0x0000] Attribute id: 65508 value: 0 2022-12-01 21:03:57.242 DEBUG (MainThread) [zigpy.appdb] [0x1c87:1:0x0000] Attribute id: 65503 value: t��+����+e���+����+� 2022-12-01 21:04:01.505 DEBUG (MainThread) [homeassistant.components.zha.core.gateway] [0x1C87](_TZE204_cjbofhxw TS0601) restored as 'available', last seen: 0:01:34 ago, consider_unavailable_time: 7200 seconds 2022-12-01 21:04:01.530 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x1C87](TS0601): started initialization 2022-12-01 21:04:01.530 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:ZDO](TS0601): 'async_initialize' stage succeeded 2022-12-01 21:04:01.664 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0006]: initializing channel: from_cache: True 2022-12-01 21:04:01.664 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0006]: initializing cached channel attributes: ['start_up_on_off'] 2022-12-01 21:04:01.664 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0006]: Reading attributes in chunks: ['start_up_on_off'] 2022-12-01 21:04:01.664 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0006]: initializing uncached channel attributes: ['on_off'] - from cache[True] 2022-12-01 21:04:01.664 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0006]: Reading attributes in chunks: ['on_off'] 2022-12-01 21:04:01.664 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0006]: finished channel initialization 2022-12-01 21:04:01.665 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: initializing channel: from_cache: True 2022-12-01 21:04:01.665 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: initializing cached channel attributes: ['ac_current_divisor', 'ac_current_multiplier', 'ac_power_divisor', 'ac_power_multiplier', 'ac_voltage_divisor', 'ac_voltage_multiplier', 'ac_frequency_divisor', 'ac_frequency_multiplier', 'measurement_type', 'power_divisor', 'power_multiplier'] 2022-12-01 21:04:01.665 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: Reading attributes in chunks: ['ac_current_divisor', 'ac_current_multiplier', 'ac_power_divisor', 'ac_power_multiplier', 'ac_voltage_divisor'] 2022-12-01 21:04:01.665 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: Reading attributes in chunks: ['ac_voltage_multiplier', 'ac_frequency_divisor', 'ac_frequency_multiplier', 'measurement_type', 'power_divisor'] 2022-12-01 21:04:01.665 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: Reading attributes in chunks: ['power_multiplier'] 2022-12-01 21:04:01.665 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: initializing uncached channel attributes: ['active_power', 'active_power_max', 'apparent_power', 'rms_current', 'rms_current_max', 'rms_voltage', 'rms_voltage_max', 'ac_frequency', 'ac_frequency_max'] - from cache[True] 2022-12-01 21:04:01.665 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: Reading attributes in chunks: ['active_power', 'active_power_max', 'apparent_power', 'rms_current', 'rms_current_max'] 2022-12-01 21:04:01.666 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: Reading attributes in chunks: ['rms_voltage', 'rms_voltage_max', 'ac_frequency', 'ac_frequency_max'] 2022-12-01 21:04:01.666 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: finished channel initialization 2022-12-01 21:04:01.666 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0000]: initializing channel: from_cache: True 2022-12-01 21:04:01.666 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0000]: finished channel initialization 2022-12-01 21:04:01.666 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: initializing channel: from_cache: True 2022-12-01 21:04:01.666 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: initializing cached channel attributes: ['demand_formatting', 'divisor', 'metering_device_type', 'multiplier', 'summation_formatting', 'unit_of_measure'] 2022-12-01 21:04:01.666 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: Reading attributes in chunks: ['demand_formatting', 'divisor', 'metering_device_type', 'multiplier', 'summation_formatting'] 2022-12-01 21:04:01.666 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: Reading attributes in chunks: ['unit_of_measure'] 2022-12-01 21:04:01.667 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: initializing uncached channel attributes: ['instantaneous_demand', 'current_summ_delivered', 'status'] - from cache[True] 2022-12-01 21:04:01.667 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: Reading attributes in chunks: ['instantaneous_demand', 'current_summ_delivered', 'status'] 2022-12-01 21:04:01.667 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: Performing channel specific initialization: ['instantaneous_demand', 'current_summ_delivered', 'status'] 2022-12-01 21:04:01.667 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: finished channel initialization 2022-12-01 21:04:01.667 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0xef00]: initializing channel: from_cache: True 2022-12-01 21:04:01.667 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0xef00]: finished channel initialization 2022-12-01 21:04:01.667 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0019]: initializing channel: from_cache: True 2022-12-01 21:04:01.667 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0019]: finished channel initialization 2022-12-01 21:04:01.701 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0006]: 'async_initialize' stage succeeded 2022-12-01 21:04:01.701 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: 'async_initialize' stage succeeded 2022-12-01 21:04:01.701 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0000]: 'async_initialize' stage succeeded 2022-12-01 21:04:01.701 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: 'async_initialize' stage succeeded 2022-12-01 21:04:01.701 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0xef00]: 'async_initialize' stage succeeded 2022-12-01 21:04:01.701 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0019]: 'async_initialize' stage succeeded 2022-12-01 21:04:01.719 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x1C87](TS0601): power source: Mains 2022-12-01 21:04:01.719 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x1C87](TS0601): completed initialization 2022-12-01 21:04:01.732 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x1C87](TS0601): started initialization 2022-12-01 21:04:01.732 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:ZDO](TS0601): 'async_initialize' stage succeeded 2022-12-01 21:04:01.859 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0006]: initializing channel: from_cache: False 2022-12-01 21:04:01.859 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0006]: initializing cached channel attributes: ['start_up_on_off'] 2022-12-01 21:04:01.859 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0006]: Reading attributes in chunks: ['start_up_on_off'] 2022-12-01 21:04:01.860 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0x0006] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=59, command_id=<GeneralCommand.Read_Attributes: 0>, *direction=<Direction.Server_to_Client: 0>, *is_reply=False) 2022-12-01 21:04:01.860 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0x0006] Sending request: Read_Attributes(attribute_ids=[16387]) 2022-12-01 21:04:01.861 DEBUG (MainThread) [bellows.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1C87), dst_ep=1, source_route=None, extended_timeout=False, tsn=59, profile_id=260, cluster_id=6, data=Serialized[b'\x00;\x00\x03@'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None) 2022-12-01 21:04:01.863 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: initializing channel: from_cache: False 2022-12-01 21:04:01.863 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: initializing cached channel attributes: ['ac_current_divisor', 'ac_current_multiplier', 'ac_power_divisor', 'ac_power_multiplier', 'ac_voltage_divisor', 'ac_voltage_multiplier', 'ac_frequency_divisor', 'ac_frequency_multiplier', 'measurement_type', 'power_divisor', 'power_multiplier'] 2022-12-01 21:04:01.863 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: Reading attributes in chunks: ['ac_current_divisor', 'ac_current_multiplier', 'ac_power_divisor', 'ac_power_multiplier', 'ac_voltage_divisor'] 2022-12-01 21:04:01.864 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: Reading attributes in chunks: ['ac_voltage_multiplier', 'ac_frequency_divisor', 'ac_frequency_multiplier', 'measurement_type', 'power_divisor'] 2022-12-01 21:04:01.865 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: Reading attributes in chunks: ['power_multiplier'] 2022-12-01 21:04:01.865 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: initializing uncached channel attributes: ['active_power', 'active_power_max', 'apparent_power', 'rms_current', 'rms_current_max', 'rms_voltage', 'rms_voltage_max', 'ac_frequency', 'ac_frequency_max'] - from cache[False] 2022-12-01 21:04:01.866 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: Reading attributes in chunks: ['active_power', 'active_power_max', 'apparent_power', 'rms_current', 'rms_current_max'] 2022-12-01 21:04:01.866 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: Reading attributes in chunks: ['rms_voltage', 'rms_voltage_max', 'ac_frequency', 'ac_frequency_max'] 2022-12-01 21:04:01.867 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0b04]: finished channel initialization 2022-12-01 21:04:01.868 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0000]: initializing channel: from_cache: False 2022-12-01 21:04:01.868 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0000]: finished channel initialization 2022-12-01 21:04:01.868 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: initializing channel: from_cache: False 2022-12-01 21:04:01.868 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: initializing cached channel attributes: ['demand_formatting', 'divisor', 'metering_device_type', 'multiplier', 'summation_formatting', 'unit_of_measure'] 2022-12-01 21:04:01.868 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: Reading attributes in chunks: ['demand_formatting', 'divisor', 'metering_device_type', 'multiplier', 'summation_formatting'] 2022-12-01 21:04:01.869 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: Reading attributes in chunks: ['unit_of_measure'] 2022-12-01 21:04:01.869 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: initializing uncached channel attributes: ['instantaneous_demand', 'current_summ_delivered', 'status'] - from cache[False] 2022-12-01 21:04:01.870 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: Reading attributes in chunks: ['instantaneous_demand', 'current_summ_delivered', 'status'] 2022-12-01 21:04:01.870 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: Performing channel specific initialization: ['instantaneous_demand', 'current_summ_delivered', 'status'] 2022-12-01 21:04:01.870 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0702]: finished channel initialization 2022-12-01 21:04:01.870 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0xef00]: initializing channel: from_cache: False 2022-12-01 21:04:01.871 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0xef00]: finished channel initialization 2022-12-01 21:04:01.871 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0019]: initializing channel: from_cache: False 2022-12-01 21:04:01.871 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x1C87:1:0x0019]: finished channel initialization 2022-12-01 21:04:03.328 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=22), 203, -47, 0x1c87, 255, 255, b'\t\x1b%\xf1\x00'] 2022-12-01 21:04:03.328 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1C87), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=22, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x1b%\xf1\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=203, rssi=-47) 2022-12-01 21:04:03.329 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Received ZCL frame: b'\t\x1b%\xf1\x00' 2022-12-01 21:04:03.330 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=27, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-12-01 21:04:03.331 WARNING (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Unknown cluster command 37 b'\xf1\x00' 2022-12-01 21:04:03.351 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Received command 0x25 (TSN 27): b'\xf1\x00' 2022-12-01 21:04:03.352 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] No explicit handler for cluster command 0x25: b'\xf1\x00' 2022-12-01 21:04:03.633 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=23), 208, -46, 0x1c87, 255, 255, b'\t\x1b%\xf1\x00'] 2022-12-01 21:04:03.633 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1C87), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=23, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x1b%\xf1\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=208, rssi=-46) 2022-12-01 21:04:03.634 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Received ZCL frame: b'\t\x1b%\xf1\x00' 2022-12-01 21:04:03.635 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=27, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-12-01 21:04:03.635 WARNING (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Unknown cluster command 37 b'\xf1\x00' 2022-12-01 21:04:03.638 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Received command 0x25 (TSN 27): b'\xf1\x00' 2022-12-01 21:04:03.639 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] No explicit handler for cluster command 0x25: b'\xf1\x00' 2022-12-01 21:04:03.787 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=24), 208, -46, 0x1c87, 255, 255, b'\t\x1b%\xf1\x00'] 2022-12-01 21:04:03.788 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1C87), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=24, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x1b%\xf1\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=208, rssi=-46) 2022-12-01 21:04:03.788 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Received ZCL frame: b'\t\x1b%\xf1\x00' 2022-12-01 21:04:03.789 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=27, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-12-01 21:04:03.789 WARNING (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Unknown cluster command 37 b'\xf1\x00' 2022-12-01 21:04:03.803 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Received command 0x25 (TSN 27): b'\xf1\x00' 2022-12-01 21:04:03.804 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] No explicit handler for cluster command 0x25: b'\xf1\x00' 2022-12-01 21:04:03.937 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=25), 208, -46, 0x1c87, 255, 255, b'\t\x1b%\xf1\x00'] 2022-12-01 21:04:03.938 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1C87), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=25, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x1b%\xf1\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=208, rssi=-46) 2022-12-01 21:04:03.938 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Received ZCL frame: b'\t\x1b%\xf1\x00' 2022-12-01 21:04:03.939 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=27, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-12-01 21:04:03.940 WARNING (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Unknown cluster command 37 b'\xf1\x00' 2022-12-01 21:04:03.948 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Received command 0x25 (TSN 27): b'\xf1\x00' 2022-12-01 21:04:03.948 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] No explicit handler for cluster command 0x25: b'\xf1\x00' 2022-12-01 21:04:05.948 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=26), 208, -46, 0x1c87, 255, 255, b'\t\x1b%\xf1\x00'] 2022-12-01 21:04:05.948 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1C87), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=26, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x1b%\xf1\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=208, rssi=-46) 2022-12-01 21:04:05.949 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Received ZCL frame: b'\t\x1b%\xf1\x00' 2022-12-01 21:04:05.950 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=27, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-12-01 21:04:05.950 WARNING (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Unknown cluster command 37 b'\xf1\x00' 2022-12-01 21:04:06.016 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Received command 0x25 (TSN 27): b'\xf1\x00' 2022-12-01 21:04:06.016 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] No explicit handler for cluster command 0x25: b'\xf1\x00' 2022-12-01 21:04:07.778 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=27), 208, -46, 0x1c87, 255, 255, b'\t\x1c%\xf3\x00'] 2022-12-01 21:04:07.779 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1C87), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=27, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x1c%\xf3\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=208, rssi=-46) 2022-12-01 21:04:07.779 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Received ZCL frame: b'\t\x1c%\xf3\x00' 2022-12-01 21:04:07.783 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=28, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True) 2022-12-01 21:04:07.784 WARNING (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Unknown cluster command 37 b'\xf3\x00' 2022-12-01 21:04:07.802 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Received command 0x25 (TSN 28): b'\xf3\x00' 2022-12-01 21:04:07.802 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] No explicit handler for cluster command 0x25: b'\xf3\x00' 2022-12-01 21:04:07.925 DEBUG (MainThread) [bellows.zigbee.application] Received incomingMessageHandler frame with [<EmberIncomingMessageType.INCOMING_UNICAST: 0>, EmberApsFrame(profileId=260, clusterId=61184, sourceEndpoint=1, destinationEndpoint=1, options=<EmberApsOption.APS_OPTION_ENABLE_ROUTE_DISCOVERY: 256>, groupId=0, sequence=28), 213, -45, 0x1c87, 255, 255, b'\t\x1c%\xf3\x00'] 2022-12-01 21:04:07.927 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x1C87), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=28, profile_id=260, cluster_id=61184, data=Serialized[b'\t\x1c%\xf3\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=213, rssi=-45) 2022-12-01 21:04:07.927 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Received ZCL frame: b'\t\x1c%\xf3\x00' 2022-12-01 21:04:07.928 DEBUG (MainThread) [zigpy.zcl] [0x1C87:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=28, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)

@Warre118
Copy link

Hi
Are there any updates on this request?
I have the same device installed yesterday but can't get it to work.
From what I understand ZHA needs to send a a reply on command 0x25 to confirm that there is a cloud connection, before it starts sending any data, as described here Koenkk/zigbee2mqtt#15359 (comment)

I have some programming skills, but this is too difficult for me to figure out, can someone help with this?
Big chance that the rest of the ts0601_din_power.py quirk works as soon as that this command is send. (if not, big chance that I can figure out the attributes and map it correctly as soon as it is being send by the device)

@MattWestb
Copy link
Contributor

@javicalle Look in the link in the post before its very interesting and the "found" is implanted and tested by the same user as was doing the same with our "tuya magic" casting for Hubitat and Z2M and ZHA (deCONZ not) have implanting it from his work.
I think "tuya cloud service status" need being implanted in your MCU commands and i think some other devices can needing it 2 (the LCD temperature sensors and some TRVs that is not reporting with very long intervals or not at all).

Thanks for digging and implanting your findings in Hubitat so other open system can using it @kkossev (our tuya magician) !!!

@MattWestb
Copy link
Contributor

From https://developer.tuya.com/en/docs/iot/tuya-zigbee-module-uart-communication-protocol?id=K9ear5khsqoty#title-32-MCU%20requests%20gateway%20connection%20status%20(0x25).
Command 0x25 = Tuya gateway connection status
And command 0x26 = Configure Zigbee network policy is interesting.

@javicalle
Copy link
Collaborator

javicalle commented Dec 15, 2022

Ok, let's try it...

That's my (quick & dirty) proposal:

  1. copy the current ts0601_din_power.py file:
  1. edit the HikingManufClusterDinPower and add the following code (ie: between attributes declaration and the _update_attribute method):
        .../...
        HIKING_POWER_FACTOR_ATTR: ("power_factor", t.uint16_t, True),
    }

    class TuyaTsn(t.Struct):
        """Tuya request data."""

        status: t.uint8_t
        tsn: t.uint8_t

    client_commands = TuyaManufClusterAttributes.client_commands.copy()
    client_commands.update(
        {
            0x25: foundation.ZCLCommandDef(
                "mcu_connection_status",
                {"data": TuyaTsn},
                True,
                is_manufacturer_specific=True,
            ),
        }
    )

    def handle_mcu_connection_status(self, payload: TuyaTsn) -> foundation.Status:
        """Handle gateway connection status requests (0x25)."""

        payload_rsp = 0x01  # 0x00 not connected to internet | 0x01 connected to internet | 0x02 time out

        self.create_catching_task(
            super().command(0x25, payload_rsp, expect_reply=False)
        )

        return foundation.Status.SUCCESS

    def _update_attribute(self, attrid, value):
        super()._update_attribute(attrid, value)
        .../...
  1. add the import foundation statement at the top of file:
import zigpy.types as t
from zigpy.zcl import foundation
from zigpy.zcl.clusters.general import Basic, Groups, Ota, Scenes, Time

Save changes, restart HA and repair the device.

There is some instructions:

If something isn't working, enable the debug logs and attach the relevant info.
Put the logs between ``` marks or as attached file to easy reading.

@Warre118
Copy link

Warre118 commented Dec 15, 2022

Hi,
Thank you for the quick response, your help is much apperciated.
I made the necessary changes to the custom quirk, however, there still seems to be an issue with the 0x25 command.
since the warning changed, I'm quite sure the changes had an effect.

Now I get WARNING (MainThread) [zigpy.zcl] [0x93D7:1:0xef00] Data remains after deserializing ZCL frame: b'\xb9\x00'

I copied the most relevant lines from the debug log and pasted them below.
If you need the complete file, happy to include this.

2022-12-15 23:46:50.850 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x93D7, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=40, SecurityUse=<Bool.false: 0>, TimeStamp=1369556, TSN=0, Data=b'\x09\x40\x25\xB9\x00', MacSrcAddr=0x93D7, MsgResultRadius=29)
2022-12-15 23:46:50.855 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x93D7), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\t@%\xb9\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=40, rssi=None)
2022-12-15 23:46:50.857 DEBUG (MainThread) [zigpy.zcl] [0x93D7:1:0xef00] Received ZCL frame: b'\t@%\xb9\x00'
2022-12-15 23:46:50.859 DEBUG (MainThread) [zigpy.zcl] [0x93D7:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=64, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
2022-12-15 23:46:50.862 DEBUG (MainThread) [zigpy.zcl] [0x93D7:1:0xef00] Decoded ZCL frame: HikingManufClusterDinPower:mcu_connection_status()
2022-12-15 23:46:50.863 WARNING (MainThread) [zigpy.zcl] [0x93D7:1:0xef00] Data remains after deserializing ZCL frame: b'\xb9\x00'
2022-12-15 23:46:50.873 DEBUG (MainThread) [zigpy.zcl] [0x93D7:1:0xef00] Received command 0x25 (TSN 64): mcu_connection_status()
2022-12-15 23:46:50.874 DEBUG (MainThread) [zigpy.zcl] [0x93D7:1:0xef00] No explicit handler for cluster command 0x25: mcu_connection_status()

@javicalle
Copy link
Collaborator

I have updated the code in my comment adding a new class and updating its use in the commands update and method definition.

Please, be sure to put your logs like this:

```
here all your logs
```

@Warre118
Copy link

The warnings are gone now, but the device is still only sending the x25 messages.
I also see the "no explicit handler" message at the bottom of the log.
not sure if it helps, but here is the debug log where i got below snippet from.
home-assistant_zha_2022-12-16T00-39-37.512Z.log.txt

2022-12-16 01:39:24.728 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x3DFB, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=40, SecurityUse=<Bool.false: 0>, TimeStamp=501062, TSN=0, Data=b'\x09\x3B\x25\x5D\x00', MacSrcAddr=0x3DFB, MsgResultRadius=29)
2022-12-16 01:39:24.732 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x3DFB), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\t;%]\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=40, rssi=None)
2022-12-16 01:39:24.734 DEBUG (MainThread) [zigpy.zcl] [0x3DFB:1:0xef00] Received ZCL frame: b'\t;%]\x00'
2022-12-16 01:39:24.737 DEBUG (MainThread) [zigpy.zcl] [0x3DFB:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=59, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
2022-12-16 01:39:24.740 DEBUG (MainThread) [zigpy.zcl] [0x3DFB:1:0xef00] Decoded ZCL frame: HikingManufClusterDinPower:mcu_connection_status(data=TuyaTsn(status=93, tsn=0))
2022-12-16 01:39:24.741 DEBUG (MainThread) [zigpy.zcl] [0x3DFB:1:0xef00] Received command 0x25 (TSN 59): mcu_connection_status(data=TuyaTsn(status=93, tsn=0))
2022-12-16 01:39:24.743 DEBUG (MainThread) [zigpy.zcl] [0x3DFB:1:0xef00] No explicit handler for cluster command 0x25: mcu_connection_status(data=TuyaTsn(status=93, tsn=0))

@javicalle
Copy link
Collaborator

Have you updated also this part?

def handle_mcu_connection_status(self, payload: TuyaTsn) -> foundation.Status:

@Warre118
Copy link

Just double checked, but that looks ok.
I copy/pasted the whole block of code over the old block, did a restart of home assistant, and re-paired the device.
Just to be sure, below a printscreen of the adapted class.

image

I also see a timeout error during initialisation, but this is for the 0x0006 cluster, so I don't think that is relevant for now.

2022-12-16 08:38:30.300 WARNING (MainThread) [homeassistant.components.zha.core.channels.base] [0x3DFB:16:0x0006]: async_initialize: all attempts have failed: [TimeoutError(), TimeoutError(), TimeoutError(), TimeoutError()]

@javicalle
Copy link
Collaborator

Not sure if related but it lacks an break like before the _update_attribute method.
I'll check later.

@Warre118
Copy link

Hi, @javicalle have you been able to take a look?
I had another look over the weekend, but I can't figure out why the handle is not recognized.
If I base myself on the handle_mcu_version_response in this ini.py, as far as I can tell everything looks ok.

The only thing I see, is that in this comand the client_commands are copied from the TuyaNewManufCluster class instead of the TuyaManufClusterAttributes class. so I copied the command from the TuyaManufCluster class, (that seemed the most logic position to me) but the results are the same.

@Warre118
Copy link

Warre118 commented Dec 19, 2022

ok, I think I got the handle working, based on the logs below.
However the device is still repeating the x25 command, so the exepected response does not seem correct.
here you find the complete custom quirk file. Below the lines I changed to get it working.

from zhaquirks.tuya import TuyaManufClusterAttributes, TuyaOnOff, TuyaSwitch, TuyaNewManufCluster

class HikingManufClusterDinPower(TuyaManufClusterAttributes, TuyaNewManufCluster):

client_commands = TuyaNewManufCluster.client_commands.copy()
2022-12-19 09:34:14.694 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0x3DFB, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=40, SecurityUse=<Bool.false: 0>, TimeStamp=9681462, TSN=0, Data=b'\x09\x27\x25\x11\x00', MacSrcAddr=0x3DFB, MsgResultRadius=29)
2022-12-19 09:34:14.699 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x3DFB), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b"\t'%\x11\x00"], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=40, rssi=None)
2022-12-19 09:34:14.702 DEBUG (MainThread) [zigpy.zcl] [0x3DFB:1:0xef00] Received ZCL frame: b"\t'%\x11\x00"
2022-12-19 09:34:14.704 DEBUG (MainThread) [zigpy.zcl] [0x3DFB:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=39, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
2022-12-19 09:34:14.706 DEBUG (MainThread) [zigpy.zcl] [0x3DFB:1:0xef00] Decoded ZCL frame: HikingManufClusterDinPower:mcu_thisisatest(data=TuyaTsn(status=17, tsn=0))
2022-12-19 09:34:14.707 DEBUG (MainThread) [zigpy.zcl] [0x3DFB:1:0xef00] Received command 0x25 (TSN 39): mcu_thisisatest(data=TuyaTsn(status=17, tsn=0))
2022-12-19 09:34:14.723 ERROR (MainThread) [zigpy.zcl] [0x3DFB:1:0xef00] Traceback (most recent call last):
2022-12-19 09:34:14.734 DEBUG (MainThread) [zigpy.zcl] [0x3DFB:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=39, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
2022-12-19 09:34:14.736 DEBUG (MainThread) [zigpy.zcl] [0x3DFB:1:0xef00] Sending reply: Default_Response(command_id=37, status=<Status.SUCCESS: 0>)
2022-12-19 09:34:14.738 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x3DFB), dst_ep=1, source_route=None, extended_timeout=False, tsn=39, profile_id=260, cluster_id=61184, data=Serialized[b"\x18'\x0b%\x00"], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2022-12-19 09:34:14.742 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0x3DFB), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=39, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK|ACK_REQUEST: 48>, Radius=0, Data=b'\x18\x27\x0B\x25\x00')

@kkossev
Copy link

kkossev commented Dec 20, 2022

However the device is still repeating the 0x25 command, so the exepected response does not seem correct

The payload for the 0x25 command answer should be 3 bytes - the previously received serial number (2 bytes) plus 0x01. See the sniffed communication to Tuya gateway. So either the Tuya documentation or the MatSee Plus implementation for this device may be wrong,

However, even with the correct answer to 0x25 command, the device will still continue to query the ZIgbee coordinator every 5 seconds.
The LED will blink shortly every 3 seconds if the 0x25 command answer was OK. Otherwise will stay constantly lit.

@Warre118
Copy link

Warre118 commented Dec 21, 2022

Thank you for the info.
The LED does not blink, it is permanent on, and In the logs I only see the x25 command coming trough in the form of Data=b'\x09\x27\x25\x11\x00'

I'm way over my head here, so below logic could be totatly wrong.
To get a specific example, I'll use the data in the logs of above comment.
If the received string is Data=b'\x09\x27\x25\x11\x00' then, from what I understand, I have to reply with x27\x11\x01.
Now my question is how do I build this reply?

The data received from the device is stored via the class TuyaTsn(t.Struct):
If I check the status: t.uint8_t I get x11
If I check the tsn: t.uint8_t I always get 0
Based on that, I think only the second part of the data string (x25\x11\x00) is stored.

For now this is my code, but I'm quite sure the payload_rsp needs to be defined differently.
p.s. in this comment the code block is colorcoded, How do I do that? I can't find this in the Github documentation. 😅

    class TuyaTsn(t.Struct):
        """Tuya request data."""

        status: t.uint8_t
        tsn: t.uint8_t

    client_commands = TuyaNewManufCluster.client_commands.copy()
    client_commands.update(
        {
            0x25: foundation.ZCLCommandDef(
                "mcu_thisisatest",
                {"data": TuyaTsn},
                True,
                is_manufacturer_specific=True,
            ),
        }
    )

    def handle_mcu_thisisatest(self, payload: TuyaTsn) -> foundation.Status:
        """Handle gateway connection status requests (0x25)."""
        payload_rsp: t.uint32_t
        payload_rsp = payload.status, payload.tsn, 0x01  # 0x00 not connected to internet | 0x01 connected to internet | 0x02 time out
        
        self.debug("handle_mcu_thisisatest response: %s", payload_rsp)
        
        self.create_catching_task(
            super().command(0x25, payload_rsp, expect_reply=False)
        )

        return foundation.Status.SUCCESS
2022-12-21 09:42:14.966 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.IncomingMsg.Callback(GroupId=0x0000, ClusterId=61184, SrcAddr=0xC817, SrcEndpoint=1, DstEndpoint=1, WasBroadcast=<Bool.false: 0>, LQI=76, SecurityUse=<Bool.false: 0>, TimeStamp=3890105, TSN=0, Data=b'\x09\x53\x25\xEC\x00', MacSrcAddr=0xDF0C, MsgResultRadius=28)
2022-12-21 09:42:14.967 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xC817), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tS%\xec\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=76, rssi=None)
2022-12-21 09:42:14.968 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Received ZCL frame: b'\tS%\xec\x00'
2022-12-21 09:42:14.968 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=83, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
2022-12-21 09:42:14.970 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Decoded ZCL frame: HikingManufClusterDinPower:mcu_thisisatest(data=TuyaTsn(status=236, tsn=0))
2022-12-21 09:42:14.970 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Received command 0x25 (TSN 83): mcu_thisisatest(data=TuyaTsn(status=236, tsn=0))
2022-12-21 09:42:14.971 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] handle_mcu_thisisatest response: (0, 236, 1)
2022-12-21 09:42:14.974 ERROR (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/zigpy/quirks/__init__.py", line 173, in command
    command = self.server_commands[command_id]
KeyError: 37

2022-12-21 09:42:14.975 DEBUG (Thread-13) [aiosqlite] executing functools.partial(<built-in method execute of sqlite3.Connection object at 0x7f32d0ec5540>, 'UPDATE devices_v11\n                    SET last_seen=:ts\n                    WHERE ieee=:ieee AND :ts - last_seen > :min_last_seen_delta', {'ts': 1671612134.967824, 'ieee': e0:79:8d:ff:fe:de:3b:71, 'min_last_seen_delta': 30.0})
2022-12-21 09:42:14.979 DEBUG (Thread-13) [aiosqlite] operation functools.partial(<built-in method execute of sqlite3.Connection object at 0x7f32d0ec5540>, 'UPDATE devices_v11\n                    SET last_seen=:ts\n                    WHERE ieee=:ieee AND :ts - last_seen > :min_last_seen_delta', {'ts': 1671612134.967824, 'ieee': e0:79:8d:ff:fe:de:3b:71, 'min_last_seen_delta': 30.0}) completed
2022-12-21 09:42:14.982 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=83, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
2022-12-21 09:42:14.982 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Sending reply: Default_Response(command_id=37, status=<Status.SUCCESS: 0>)
2022-12-21 09:42:14.983 DEBUG (MainThread) [zigpy_znp.zigbee.application] Sending packet ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xC817), dst_ep=1, source_route=None, extended_timeout=False, tsn=83, profile_id=260, cluster_id=61184, data=Serialized[b'\x18S\x0b%\x00'], tx_options=<TransmitOptions.ACK: 1>, radius=0, non_member_radius=0, lqi=None, rssi=None)
2022-12-21 09:42:14.986 DEBUG (MainThread) [zigpy_znp.api] Sending request: AF.DataRequestExt.Req(DstAddrModeAddress=AddrModeAddress(mode=<AddrMode.NWK: 2>, address=0xC817), DstEndpoint=1, DstPanId=0x0000, SrcEndpoint=1, ClusterId=61184, TSN=83, Options=<TransmitOptions.SUPPRESS_ROUTE_DISC_NETWORK|ACK_REQUEST: 48>, Radius=0, Data=b'\x18\x53\x0B\x25\x00')
2022-12-21 09:42:14.988 DEBUG (Thread-13) [aiosqlite] executing functools.partial(<built-in method commit of sqlite3.Connection object at 0x7f32d0ec5540>)
2022-12-21 09:42:14.990 DEBUG (Thread-13) [aiosqlite] operation functools.partial(<built-in method commit of sqlite3.Connection object at 0x7f32d0ec5540>) completed
2022-12-21 09:42:15.007 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataRequestExt.Rsp(Status=<Status.SUCCESS: 0>)
2022-12-21 09:42:15.053 DEBUG (MainThread) [zigpy_znp.api] Received command: AF.DataConfirm.Callback(Status=<Status.SUCCESS: 0>, Endpoint=1, TSN=83)

@javicalle
Copy link
Collaborator

javicalle commented Dec 21, 2022

Sorry for the late response.

The only thing I see, is that in this comand the client_commands are copied from the TuyaNewManufCluster class instead of the TuyaManufClusterAttributes class. so I copied the command from the TuyaManufCluster class, (that seemed the most logic position to me) but the results are the same.

No, that is not correct. The TuyaNewManufCluster is another diferent approach (for the same target) but don't apply here.

However the device is still repeating the x25 command

Repeating from time to time is not a problem. The problem is if there are retries (with the same tsn number). Can you check it?

In any case, the response message (Data=b'\x18\x27\x0B\x25\x00') is not what I would expect.

2022-12-21 09:42:14.974 ERROR (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/zigpy/quirks/__init__.py", line 173, in command
    command = self.server_commands[command_id]
KeyError: 37

That's interesting...
We need to define also the server_commands to be able to send the response.

Putting all together that would be:

ts0601_din_power.py
"""Tuya Din Power Meter."""
from zigpy.profiles import zha
import zigpy.types as t
from zigpy.zcl import foundation
from zigpy.zcl.clusters.general import Basic, Groups, Ota, Scenes, Time
from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement
from zigpy.zcl.clusters.smartenergy import Metering

from zhaquirks import Bus, LocalDataCluster
from zhaquirks.const import (
    DEVICE_TYPE,
    ENDPOINTS,
    INPUT_CLUSTERS,
    MODELS_INFO,
    OUTPUT_CLUSTERS,
    PROFILE_ID,
)
from zhaquirks.tuya import TuyaManufClusterAttributes, TuyaOnOff, TuyaSwitch

TUYA_TOTAL_ENERGY_ATTR = 0x0211
TUYA_CURRENT_ATTR = 0x0212
TUYA_POWER_ATTR = 0x0213
TUYA_VOLTAGE_ATTR = 0x0214
TUYA_DIN_SWITCH_ATTR = 0x0101

SWITCH_EVENT = "switch_event"

"""Hiking Power Meter Attributes"""
HIKING_DIN_SWITCH_ATTR = 0x0110
HIKING_TOTAL_ENERGY_DELIVERED_ATTR = 0x0201
HIKING_TOTAL_ENERGY_RECEIVED_ATTR = 0x0266
HIKING_VOLTAGE_CURRENT_ATTR = 0x0006
HIKING_POWER_ATTR = 0x0267
HIKING_FREQUENCY_ATTR = 0x0269
HIKING_POWER_FACTOR_ATTR = 0x026F
HIKING_TOTAL_REACTIVE_ATTR = 0x026D
HIKING_REACTIVE_POWER_ATTR = 0x026E


class TuyaManufClusterDinPower(TuyaManufClusterAttributes):
    """Manufacturer Specific Cluster of the Tuya Power Meter device."""

    attributes = {
        TUYA_TOTAL_ENERGY_ATTR: ("energy", t.uint16_t, True),
        TUYA_CURRENT_ATTR: ("current", t.int16s, True),
        TUYA_POWER_ATTR: ("power", t.uint16_t, True),
        TUYA_VOLTAGE_ATTR: ("voltage", t.uint16_t, True),
        TUYA_DIN_SWITCH_ATTR: ("switch", t.uint8_t, True),
    }

    def _update_attribute(self, attrid, value):
        super()._update_attribute(attrid, value)
        if attrid == TUYA_TOTAL_ENERGY_ATTR:
            self.endpoint.smartenergy_metering.energy_deliver_reported(value / 100)
        elif attrid == TUYA_CURRENT_ATTR:
            self.endpoint.electrical_measurement.current_reported(value)
        elif attrid == TUYA_POWER_ATTR:
            self.endpoint.electrical_measurement.power_reported(value / 10)
        elif attrid == TUYA_VOLTAGE_ATTR:
            self.endpoint.electrical_measurement.voltage_reported(value / 10)
        elif attrid == TUYA_DIN_SWITCH_ATTR:
            self.endpoint.device.switch_bus.listener_event(
                SWITCH_EVENT, self.endpoint.endpoint_id, value
            )


class TuyaPowerMeasurement(LocalDataCluster, ElectricalMeasurement):
    """Custom class for power, voltage and current measurement."""

    cluster_id = ElectricalMeasurement.cluster_id

    POWER_ID = 0x050B
    VOLTAGE_ID = 0x0505
    CURRENT_ID = 0x0508
    REACTIVE_POWER_ID = 0x050E
    AC_FREQUENCY_ID = 0x0300
    TOTAL_REACTIVE_POWER_ID = 0x0305
    POWER_FACTOR_ID = 0x0510

    AC_CURRENT_MULTIPLIER = 0x0602
    AC_CURRENT_DIVISOR = 0x0603
    AC_FREQUENCY_MULTIPLIER = 0x0400
    AC_FREQUENCY_DIVISOR = 0x0401

    _CONSTANT_ATTRIBUTES = {
        AC_CURRENT_MULTIPLIER: 1,
        AC_CURRENT_DIVISOR: 1000,
        AC_FREQUENCY_MULTIPLIER: 1,
        AC_FREQUENCY_DIVISOR: 100,
    }

    def voltage_reported(self, value):
        """Voltage reported."""
        self._update_attribute(self.VOLTAGE_ID, value)

    def power_reported(self, value):
        """Power reported."""
        self._update_attribute(self.POWER_ID, value)

    def power_factor_reported(self, value):
        """Power Factor reported."""
        self._update_attribute(self.POWER_FACTOR_ID, value)

    def reactive_power_reported(self, value):
        """Reactive Power reported."""
        self._update_attribute(self.REACTIVE_POWER_ID, value)

    def current_reported(self, value):
        """Ampers reported."""
        self._update_attribute(self.CURRENT_ID, value)

    def frequency_reported(self, value):
        """AC Frequency reported."""
        self._update_attribute(self.AC_FREQUENCY_ID, value)

    def reactive_energy_reported(self, value):
        """Summation Reactive Energy reported."""
        self._update_attribute(self.TOTAL_REACTIVE_POWER_ID, value)


class TuyaElectricalMeasurement(LocalDataCluster, Metering):
    """Custom class for total energy measurement."""

    cluster_id = Metering.cluster_id
    CURRENT_DELIVERED_ID = 0x0000
    CURRENT_RECEIVED_ID = 0x0001
    POWER_WATT = 0x0000

    """Setting unit of measurement."""
    _CONSTANT_ATTRIBUTES = {0x0300: POWER_WATT}

    def energy_deliver_reported(self, value):
        """Summation Energy Deliver reported."""
        self._update_attribute(self.CURRENT_DELIVERED_ID, value)

    def energy_receive_reported(self, value):
        """Summation Energy Receive reported."""
        self._update_attribute(self.CURRENT_RECEIVED_ID, value)


class HikingManufClusterDinPower(TuyaManufClusterAttributes):
    """Manufacturer Specific Cluster of the Hiking Power Meter device."""

    attributes = {
        HIKING_DIN_SWITCH_ATTR: ("switch", t.uint8_t, True),
        HIKING_TOTAL_ENERGY_DELIVERED_ATTR: ("energy_delivered", t.uint16_t, True),
        HIKING_TOTAL_ENERGY_RECEIVED_ATTR: ("energy_received", t.uint16_t, True),
        HIKING_VOLTAGE_CURRENT_ATTR: ("voltage_current", t.uint32_t, True),
        HIKING_POWER_ATTR: ("power", t.uint16_t, True),
        HIKING_FREQUENCY_ATTR: ("frequency", t.uint16_t, True),
        HIKING_TOTAL_REACTIVE_ATTR: ("total_reactive_energy", t.int32s, True),
        HIKING_REACTIVE_POWER_ATTR: ("reactive_power", t.int16s, True),
        HIKING_POWER_FACTOR_ATTR: ("power_factor", t.uint16_t, True),
    }

    class TuyaConnectionStatus(t.Struct):
        """Tuya request data."""

        data_1: t.uint8_t
        data_2: t.uint8_t

    client_commands = TuyaManufClusterAttributes.client_commands.copy()
    client_commands.update(
        {
            0x25: foundation.ZCLCommandDef(
                "mcu_connection_status",
                {"payload": TuyaConnectionStatus},
                True,
                is_manufacturer_specific=True,
            ),
        }
    )

    class TuyaConnectionStatusRsp(t.Struct):
        """Tuya request data."""

        data_1: t.uint8_t
        data_2: t.uint8_t
        data_3: t.uint8_t

    server_commands = TuyaManufClusterAttributes.server_commands.copy()
    server_commands.update(
        {
            0x25: foundation.ZCLCommandDef(
                "mcu_connection_status_rsp",
                {"payload": TuyaConnectionStatusRsp},
                False,
                is_manufacturer_specific=True,
            ),
        }
    )

    def handle_mcu_connection_status(self, payload: TuyaConnectionStatus) -> foundation.Status:
        """Handle gateway connection status requests (0x25)."""

        payload_rsp = TuyaConnectionStatusRsp()
        payload_rsp.data_1 = payload.data_1
        payload_rsp.data_2 = payload.data_2  # If this is data length would be 0x01
        payload_rsp.data_3 = 0x01  # 0x00 not connected to internet | 0x01 connected to internet | 0x02 time out

        self.create_catching_task(
            super().command(0x25, payload_rsp, expect_reply=False)
        )

        return foundation.Status.SUCCESS

    def _update_attribute(self, attrid, value):
        super()._update_attribute(attrid, value)
        if attrid == HIKING_DIN_SWITCH_ATTR:
            self.endpoint.device.switch_bus.listener_event(SWITCH_EVENT, 16, value)
        elif attrid == HIKING_TOTAL_ENERGY_DELIVERED_ATTR:
            self.endpoint.smartenergy_metering.energy_deliver_reported(value / 100)
        elif attrid == HIKING_TOTAL_ENERGY_RECEIVED_ATTR:
            self.endpoint.smartenergy_metering.energy_receive_reported(value / 100)
        elif attrid == HIKING_VOLTAGE_CURRENT_ATTR:
            self.endpoint.electrical_measurement.current_reported(value >> 16)
            self.endpoint.electrical_measurement.voltage_reported(
                (value & 0x0000FFFF) / 10
            )
        elif attrid == HIKING_POWER_ATTR:
            self.endpoint.electrical_measurement.power_reported(value)
        elif attrid == HIKING_FREQUENCY_ATTR:
            self.endpoint.electrical_measurement.frequency_reported(value)
        elif attrid == HIKING_TOTAL_REACTIVE_ATTR:
            self.endpoint.electrical_measurement.reactive_energy_reported(value)
        elif attrid == HIKING_REACTIVE_POWER_ATTR:
            self.endpoint.electrical_measurement.reactive_power_reported(value)
        elif attrid == HIKING_POWER_FACTOR_ATTR:
            self.endpoint.electrical_measurement.power_factor_reported(value / 10)


class TuyaPowerMeter(TuyaSwitch):
    """Tuya power meter device."""

    def __init__(self, *args, **kwargs):
        """Init device."""
        self.switch_bus = Bus()
        super().__init__(*args, **kwargs)

    signature = {
        # "node_descriptor": "<NodeDescriptor byte1=1 byte2=64 mac_capability_flags=142 manufacturer_code=4098
        #                       maximum_buffer_size=82 maximum_incoming_transfer_size=82 server_mask=11264
        #                       maximum_outgoing_transfer_size=82 descriptor_capability_field=0>",
        # device_version=1
        # input_clusters=[0x0000, 0x0004, 0x0005, 0xef00]
        # output_clusters=[0x000a, 0x0019]
        MODELS_INFO: [
            ("_TZE200_byzdayie", "TS0601"),
            ("_TZE200_ewxhg6o9", "TS0601"),
        ],
        ENDPOINTS: {
            # <SimpleDescriptor endpoint=1 profile=260 device_type=51
            # device_version=1
            # input_clusters=[0, 4, 5, 61184]
            # output_clusters=[10, 25]>
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    TuyaManufClusterAttributes.cluster_id,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            }
        },
    }

    replacement = {
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    TuyaManufClusterDinPower,
                    TuyaPowerMeasurement,
                    TuyaElectricalMeasurement,
                    TuyaOnOff,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            }
        }
    }


class HikingPowerMeter(TuyaSwitch):
    """Hiking Power Meter Device - DDS238-2."""

    signature = {
        # "node_descriptor": "<NodeDescriptor byte1=1 byte2=64 mac_capability_flags=142 manufacturer_code=4098
        #                       maximum_buffer_size=82 maximum_incoming_transfer_size=82 server_mask=11264
        #                       maximum_outgoing_transfer_size=82 descriptor_capability_field=0>",
        # device_version=1
        # input_clusters=[0x0000, 0x0004, 0x0005, 0xef00]
        # output_clusters=[0x000a, 0x0019]
        MODELS_INFO: [
            ("_TZE200_bkkmqmyo", "TS0601"),
            ("_TZE204_cjbofhxw", "TS0601"),
        ],
        ENDPOINTS: {
            # <SimpleDescriptor endpoint=1 profile=260 device_type=51
            # device_version=1
            # input_clusters=[0, 4, 5, 61184]
            # output_clusters=[10, 25]>
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    TuyaManufClusterAttributes.cluster_id,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            }
        },
    }

    replacement = {
        ENDPOINTS: {
            1: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
                INPUT_CLUSTERS: [
                    Basic.cluster_id,
                    Groups.cluster_id,
                    Scenes.cluster_id,
                    HikingManufClusterDinPower,
                    TuyaElectricalMeasurement,
                    TuyaPowerMeasurement,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            },
            16: {
                PROFILE_ID: zha.PROFILE_ID,
                DEVICE_TYPE: zha.DeviceType.SMART_PLUG,
                INPUT_CLUSTERS: [
                    TuyaOnOff,
                ],
                OUTPUT_CLUSTERS: [],
            },
        }
    }

PS: you can color your code with:

```python
YOUR CODE HERE
```

@javicalle
Copy link
Collaborator

If I check the status: t.uint8_t I get x11

This value change over time? Or is exactly x11 always?

@Warre118
Copy link

The message is repeated five times, then there is a timeout of 5 seconds, and then the TSN number goes up with one decimal, and the status number goes up with two decimals.
Below an example.

With the code above the No explicit handler for cluster command 0x25: mcu_connection_status pops up.

2022-12-21 22:56:28.421 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xC817), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tu%\xd4\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=127, rssi=None)
2022-12-21 22:56:28.423 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Received ZCL frame: b'\tu%\xd4\x00'
2022-12-21 22:56:28.427 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=117, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
2022-12-21 22:56:28.431 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Decoded ZCL frame: HikingManufClusterDinPower:mcu_connection_status(payload=TuyaConnectionStatus(data_1=212, data_2=0))
2022-12-21 22:56:28.434 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Received command 0x25 (TSN 117): mcu_connection_status(payload=TuyaConnectionStatus(data_1=212, data_2=0))
2022-12-21 22:56:28.441 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] No explicit handler for cluster command 0x25: mcu_connection_status(payload=TuyaConnectionStatus(data_1=212, data_2=0))
------------------------------------------------------------------------------------------------------------------------------------
2022-12-21 22:56:32.082 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0xC817), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tv%\xd6\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=28, non_member_radius=0, lqi=127, rssi=None)
2022-12-21 22:56:32.083 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Received ZCL frame: b'\tv%\xd6\x00'
2022-12-21 22:56:32.084 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=118, command_id=37, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
2022-12-21 22:56:32.085 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Decoded ZCL frame: HikingManufClusterDinPower:mcu_connection_status(payload=TuyaConnectionStatus(data_1=214, data_2=0))
2022-12-21 22:56:32.086 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] Received command 0x25 (TSN 118): mcu_connection_status(payload=TuyaConnectionStatus(data_1=214, data_2=0))
2022-12-21 22:56:32.087 DEBUG (MainThread) [zigpy.zcl] [0xC817:1:0xef00] No explicit handler for cluster command 0x25: mcu_connection_status(payload=TuyaConnectionStatus(data_1=214, data_2=0))

@MattWestb
Copy link
Contributor

If one unicats is not being acked the sender is sending it with the same TSN after some hundred millS.
Id the system (the Zibee stack if ZCL or the quirk id not ZCL) sending one default resonance to the device ?
If not is the device doing right and the the system is doing wrong.

Default response from quirk is implanted in tuya INIT must only using the right device class for using it.

@javicalle
Copy link
Collaborator

Thanks for testing.
I'm a bit confused here.

Can you try replacing the copy() parr like this?

client_commands = TuyaManufCluster.client_commands.copy()
server_commands = TuyaManufCluster.server_commands.copy()

@thomsy81
Copy link

So I am on 2023.5.3, trying to add this and basically if I add the quirk to my quirks folder and restart, ZHA fails to start every time. Remove the file and pycache folder and it starts no problem.

I've download what seems to be the latest version posted last week. Any suggestions would be appreciated!

@ricardasr25
Copy link

I managed to get it finally working. The quirk was working fine, the issue was the device itself. Since I tried to apply the quirk without the clamp and conseguently without any load to measure, the device did not create any sensor entities for the Active power and RMS current. I then tried to attach the CT clamp to the Live wire of a 60W incandescent bulb, reloaded the ZHA integration and the other entities appeared.

I even looked at the logs from ZHA and discovered that the device did not report any other information other than the RMS voltage (dp=20). There were no dp=17, 18 or 19 (respectively "current_sum_delivered", "rms_current", "active_power").

Here is an extract of the logs, showing only the RMS voltage reading (Tuya DP 20):

DEBUG (MainThread) [zigpy.zcl] [0x7F39:1:0xef00] Received ZCL frame: b'\ti\x02\x00$\x14\x02\x00\x04\x00\x00\x08\xba'
2023-05-12 10:59:59.198 DEBUG (MainThread) [zigpy.zcl] [0x7F39:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False), tsn=105, command_id=2, *direction=<Direction.Client_to_Server: 1>)
2023-05-12 10:59:59.199 DEBUG (MainThread) [zigpy.zcl] [0x7F39:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:set_data_response(data=TuyaCommand(status=0, tsn=36, datapoints=[TuyaDatapointData(dp=20, data=TuyaData(dp_type=<TuyaDPType.VALUE: 2>, function=0, raw=b'\x00\x00\x08\xba', *payload=2234))]))

Screenshot 2023-05-13 alle 12 55 36

The energy measurement (in kWh) is still missing, but I think I can create an helper in HA to calculate it, like @eberlini did.

I hope this helps those who are still having problems with this device not showing the active power and current entities in Home Assistant.

After a whole month of struggle, your simple explanation worked like a charm! Used Riemann helper to get Kwh. Thanks:)

@dhyoungs
Copy link

i have tested some of the codes provided and get all sensor but the summation delivered sensor (the total kWh used) the code I used is the following quirk ts0601_din_power.py.txt

remove the .txt in the end to have the .py file

SOLVED: Just to confirm (that after a lot of running round, as I'm new to HA), this script/quirk worked for me with the TS0601 by _TZE204_cjbofhxw - many thanks.

Had to go and create directory, add quirks etc for the first time. Also removed and re-added the device (not just re-configured it). But it then worked.

It shouldn't be this hard - think that this is Tuya's fault for trying to make everything dial home to Tuya... which is not just a horrid customer experience, but frankly a security risk. A big thank you anyway for the script.

@mifraburneo
Copy link

Hi guys,

Pulling my hair out with this sensor, already 2 weeks playing with it but no success. I have used the attached quirk but still only get Power Factor unknown, only the RMS Voltage displayed. As i'm very new to HA, could please someone advise where to find and how to delete the pycache folder as this is the only thing that I wasn't able to replicate? Many thanks for your help on this. ts0601_din_power (5).zip image image

I can confirm the version uploaded by @ricardasr25 works pretty much like a charm. Just make sure the clamp is well attatched and in the correct direction ;)

@ssm84
Copy link

ssm84 commented Jun 1, 2023

at the end i decide to bight the bullet and change from zha to mqtt.
after the install, i had to create a virtual sensor for the summation energy.
all works good

@jihonrado
Copy link

After a whole month of struggle, your simple explanation worked like a charm! Used Riemann helper to get Kwh. Thanks:)

@ricardasr25 How did you configure the helper exactly? Specifically, the method for the integration. Thanks in advance!

@rrozema
Copy link

rrozema commented Jun 4, 2023

@javicalle Can you have one more look at why the energy values are not being read from the _TZE204_cjbofhxw device using the quirk file you created? According to the information from the device's supplier (listed in the opening post) the device should be able to provide kWh values too. I know it should be possible to create a riemann-sum helper to collect (almost) the same data from the voltage and watt values, however that is more cumbersome to all users of the device (I have not yet been able to get it to work), plus it is not as accurate as when the device itself collects it: for example usage during down time of HA will not be included if we have to use the riemann-sum helper method.

Furthermore, I tried creating a PR to get the quirk you created into the official quirks list. But when i tried to merge this version with the existing zhaquirks\tuya\ts0601_din_power.py in the zha-device-handlers project, I found that my merge would remove other models quirk definitions. I do not have sufficient knowledge to properly merge the new file with the existing one without breaking those other model's quirks. Can you please merge the quirk code as posted by cryptocelt on January 18th into the existing ts0601_din_power.py so that it doesn't break the existing devices? I can confirm that said custom quirk file results in my "TS0601 by _TZE204_cjbofhxw" devices getting a working RMS current, RMS Voltage and power entity added:
image
tested with latest HA 2023.6.0.

@panticz
Copy link

panticz commented Aug 7, 2023

Maybe important information for new / not heavily electronically enrolled: users:

The clamp has to by placed only around ONE wire (L conductor, usualy brown or red) and NOT around the whole cable with both L and N conductors.

The ZHA quirk for the TZE204_cjbofhxw clamp meter did NOT work https://raw.githubusercontent.com/zigpy/zha-device-handlers/dev/zhaquirks/tuya/ts0601_din_power.py
Bildschirmfoto vom 2023-06-12 01-31-28

but the file ts0601_din_power.py from https://github.com/zigpy/zha-device-handlers/files/11401270/ts0601_din_power.zip provided by setterlee WORKS fine:
Bildschirmfoto vom 2023-06-12 01-52-28

just extract the archive and copy s0601_din_power.py to /config/custom_zha_quirks/

mkdir /config/custom_zha_quirks
cd /config/custom_zha_quirks

wget https://github.com/zigpy/zha-device-handlers/files/11401270/ts0601_din_power.zip
unzip ts0601_din_power.zip 
rm -r __pycache__ ts0601_din_power.zip

cat<<EOF>>/config/configuration.yaml 
zha:
  enable_quirks: true
  custom_quirks_path: /config/custom_zha_quirks
EOF

then restart homeassistant

@leonardo20022002
Copy link

Hi good I have the model of amperometric pinsa ts0601 but it is not from din bar the question is the following is it ok anyway or not ? I'll put the image below to make you understand the precise model and I wanted to add that I use z2mqtt and not zha and I wanted to know if the guide was the same or different because as far as I could read all of them used year zha

image link;https://prnt.sc/A3nWIIBl55UT

@moosepr
Copy link

moosepr commented Nov 6, 2023

I have the same device (TZE204_cjbofhxw) and have had some success with the second link posted by panticz. I am getting data, but the numbers are a little off

image

clearly 2 amps @ 240v is 480w

I do have a smart meter with the overly fancy in home display, which is super slow reporting, but things were stable and that had da different wattage value

image

Im happy to ignore the wattage value from the sensor and calculate my own, but is there any tweakable values in the quirk file so i can get the current value closer?

@andyb2000
Copy link

andyb2000 commented Nov 12, 2023

Can somebody please help.
I'm using the quirk: ts0601_din_power.TuyaPowerMeter
It seems to detect the unit, and the unit correctly turns off it's red LED and goes into occasional blinking so it appears the ZHA and device are communicating, but I never get any entities:

image

This is with a load on the clamp so it should see the entities. I've tried the various versions and just get the same.

Device reconfiguration complete.

 binding  reporting
Cluster
Binding
Reporting
Basic
Groups
Scenes
TuyaManufClusterDinPower
TuyaPowerMeasurement
Attribute
min/max/change
active_power: 
5/900/1
active_power_max: 
30/900/1
apparent_power: 
5/900/1
rms_current: 
5/900/1
rms_current_max: 
30/900/1
rms_voltage: 
5/900/1
rms_voltage_max: 
30/900/1
ac_frequency: 
5/900/1
ac_frequency_max: 
30/900/1
TuyaElectricalMeasurement
Attribute
min/max/change
instantaneous_demand: 
5/900/1
current_summ_delivered: 
30/900/1
current_tier1_summ_delivered: 
30/900/1
current_tier2_summ_delivered: 
30/900/1
current_tier3_summ_delivered: 
30/900/1
current_tier4_summ_delivered: 
30/900/1
current_tier5_summ_delivered: 
30/900/1
current_tier6_summ_delivered: 
30/900/1
status: 
1/900/1
Time
Ota

DEBUG shows:


"data": {
    "ieee": "**REDACTED**",
    "nwk": 20307,
    "manufacturer": "_TZE204_cjbofhxw",
    "model": "TS0601",
    "name": "_TZE204_cjbofhxw TS0601",
    "quirk_applied": true,
    "quirk_class": "ts0601_din_power.TuyaPowerMeter",
    "quirk_id": null,
    "manufacturer_code": 4098,
    "power_source": "Mains",
    "lqi": 142,
    "rssi": null,
    "last_seen": "2023-11-10T13:53:20",
    "available": true,
    "device_type": "Router",
    "signature": {
      "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
      "endpoints": {
        "1": {
          "profile_id": "0x0104",
          "device_type": "0x0051",
          "input_clusters": [
            "0x0000",
            "0x0004",
            "0x0005",
            "0x0702",
            "0x0b04",
            "0xef00"
          ],
          "output_clusters": [
            "0x000a",
            "0x0019"
          ]
        }
      },
      "manufacturer": "_TZE204_cjbofhxw",
      "model": "TS0601"
    },
    "active_coordinator": false,
    "entities": [],
    "neighbors": [
      {
        "device_type": "Coordinator",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x0000",
        "permit_joining": "Unknown",
        "depth": "0",
        "lqi": "192"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x342F",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "236"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Parent",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x4877",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "254"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x74B0",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "136"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0xE63E",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "128"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0xE85B",
        "permit_joining": "Unknown",
        "depth": "15",
        "lqi": "158"
      }
    ],
    "routes": [
      {
        "dest_nwk": "0x0000",
        "route_status": "Active",
        "memory_constrained": false,
        "many_to_one": true,
        "route_record_required": false,
        "next_hop": "0x0000"
      },
      {
        "dest_nwk": "0x4877",
        "route_status": "Active",
        "memory_constrained": false,
        "many_to_one": true,
        "route_record_required": true,
        "next_hop": "0x4877"
      }
    ],
    "endpoint_names": [
      {
        "name": "SMART_PLUG"
      }
    ],
    "user_given_name": "PowerMonitor",
    "device_reg_id": "daf0521b649369c322e53964a68c59eb",
    "area_id": null,
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "SMART_PLUG",
          "id": 81
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0001": {
                "attribute_name": "app_version",
                "value": 70
              }
            },
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0xef00": {
            "endpoint_attribute": "tuya_manufacturer",
            "attributes": {
              "0xef00": {
                "attribute_name": "mcu_version",
                "value": "1.0.0"
              }
            },
            "unsupported_attributes": {}
          },
          "0x0b04": {
            "endpoint_attribute": "electrical_measurement",
            "attributes": {
              "0x0603": {
                "attribute_name": "ac_current_divisor",
                "value": 1000
              },
              "0x0602": {
                "attribute_name": "ac_current_multiplier",
                "value": 1
              },
              "0x050b": {
                "attribute_name": "active_power",
                "value": 179
              },
              "0x0508": {
                "attribute_name": "rms_current",
                "value": 719
              }
            },
            "unsupported_attributes": {
              "0x0600": {
                "attribute_name": "ac_voltage_multiplier"
              },
              "0x0601": {
                "attribute_name": "ac_voltage_divisor"
              },
              "0x0401": {
                "attribute_name": "ac_frequency_divisor"
              },
              "0x0400": {
                "attribute_name": "ac_frequency_multiplier"
              },
              "0x0604": {
                "attribute_name": "ac_power_multiplier"
              },
              "0x0605": {
                "attribute_name": "ac_power_divisor"
              },
              "0x0000": {
                "attribute_name": "measurement_type"
              },
              "0x0403": {
                "attribute_name": "power_divisor"
              },
              "0x0402": {
                "attribute_name": "power_multiplier"
              },
              "0x0508": {
                "attribute_name": "rms_current"
              },
              "0x050b": {
                "attribute_name": "active_power"
              },
              "0x050a": {
                "attribute_name": "rms_current_max"
              },
              "0x050d": {
                "attribute_name": "active_power_max"
              },
              "0x0505": {
                "attribute_name": "rms_voltage"
              },
              "0x050f": {
                "attribute_name": "apparent_power"
              },
              "0x0510": {
                "attribute_name": "power_factor"
              },
              "0x0300": {
                "attribute_name": "ac_frequency"
              },
              "0x0302": {
                "attribute_name": "ac_frequency_max"
              },
              "0x0507": {
                "attribute_name": "rms_voltage_max"
              }
            }
          },
          "0x0702": {
            "endpoint_attribute": "smartenergy_metering",
            "attributes": {
              "0x0302": {
                "attribute_name": "divisor",
                "value": 1000
              },
              "0x0300": {
                "attribute_name": "unit_of_measure",
                "value": 0
              }
            },
            "unsupported_attributes": {
              "0x0400": {
                "attribute_name": "instantaneous_demand"
              },
              "0x0301": {
                "attribute_name": "multiplier"
              },
              "0x0303": {
                "attribute_name": "summation_formatting"
              },
              "0x0304": {
                "attribute_name": "demand_formatting"
              },
              "0x0000": {
                "attribute_name": "current_summ_delivered"
              },
              "0x0306": {
                "attribute_name": "metering_device_type"
              },
              "0x0100": {
                "attribute_name": "current_tier1_summ_delivered"
              },
              "0x0102": {
                "attribute_name": "current_tier2_summ_delivered"
              },
              "0x0104": {
                "attribute_name": "current_tier3_summ_delivered"
              },
              "0x0106": {
                "attribute_name": "current_tier4_summ_delivered"
              },
              "0x0108": {
                "attribute_name": "current_tier5_summ_delivered"
              },
              "0x010a": {
                "attribute_name": "current_tier6_summ_delivered"
              },
              "0x0200": {
                "attribute_name": "status"
              }
            }
          }
        },
        "out_clusters": {
          "0x000a": {
            "endpoint_attribute": "time",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0019": {
            "endpoint_attribute": "ota",
            "attributes": {},
            "unsupported_attributes": {}
          }
        }
      }
    }
  }
}

Anything else I can provide to help diagnose what's wrong here?

@panticz
Copy link

panticz commented Jan 3, 2024

@andyb2000 apparently newer versions of Home Assistant require also the enable_quirks: true parameter in /config/configuration.yaml, see

# /config/configuration.yaml
...
zha:
  enable_quirks: true
  custom_quirks_path: /config/custom_zha_quirks

@andyb2000
Copy link

Thanks @panticz yes I have that (other quirks load and work, so they're loading).

Unfortunately I've given up with this device as it just won't work for me.

jeverley added a commit to jeverley/zha-device-handlers that referenced this issue Feb 1, 2024
Aims to address device support requests:

2 bidirectional clamps:
zigpy#2549 (_TZE204_81yrt3lo)
zigpy#2650 (_TZE200_rks0sgb7)

1 bidirectional clamp:
zigpy#2420 (_TZE204_ac0fhfiq)

1 clamp:
zigpy#1973 (_TZE204_cjbofhxw)

@jmuf I've just spotted that in parallel you've also been working on zigpy#2870 for 
_TZE200_rks0sgb7, shall we pool ideas?
@cobirnm
Copy link

cobirnm commented Feb 2, 2024

I’ve been able to add the merger using the ts0601_energy_meter quirk. Never the less I had to change the quirk because there was a mismatch in cluster 242, that was not allowing the quirk to be loaded.
@jeverley maybe you should check this on your PR.

@jeverley
Copy link
Contributor

jeverley commented Feb 2, 2024

I’ve been able to add the merger using the ts0601_energy_meter quirk. Never the less I had to change the quirk because there was a mismatch in cluster 242, that was not allowing the quirk to be loaded. @jeverley maybe you should check this on your PR.
I’m also unable to get the sum delivery entity. Are you all able to get it and having the total consumption in KW?

Thanks for testing @cobirnm, please can you post a copy of your device signature?

Secondly, Is the summation delivered sensor present after a ZHA restart?

@cobirnm
Copy link

cobirnm commented Feb 3, 2024

Please find the signature bellow. And yes I got the summarization after a restart. It was the first time I had to do a restart to get a sensor!

{ "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4098, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)", "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0053", "input_clusters": [ "0x0000", "0x0004", "0x0005", "0x0702", "0x0b04", "0xef00" ], "output_clusters": [ "0x000a", "0x0019" ] } }, "manufacturer": "_TZE204_cjbofhxw", "model": "TS0601", "class": "ts0601_energy_meter_removed_242.TuyaEnergyMeter1Clamp" }

@jeverley
Copy link
Contributor

jeverley commented Feb 3, 2024

Thanks @cobirnm, looking at that I believe the latest version of the quirk in the PR already removed the ZGP (242) cluster for the _TZE204_cjbofhxw device, possible to recheck if that version now works for you without changes?

Yes it's odd they don't always show up when the device is first added.
I suspect it has something to do with the attributes not being populated with a value during the ZHA initial sensor discovery (due to the report interval) - am I on the right track there @TheJulianJES ?

One option could be that on first load I fill the supported attributes with 0s but that feels a bit hacky.

@isidrocg
Copy link

isidrocg commented May 3, 2024

I had similar problems when adding this sensor, and everything was solved using this quirk and putting a high load on the clamp before adding the device to HA (1 kW or so). Also, I found somewhere that after removing a ZHA device, there is some kind of persistence of it, so you need to restart HA (maybe reloading only the ZHA integration also works) to remove the configuration of the device before applying a new/updated quirk. Hope that helps.

@jovanyeo
Copy link

jovanyeo commented May 3, 2024

You are right. if the load is below 0.2A, then it will only shown the voltage reading.

@rrozema
Copy link

rrozema commented Jul 21, 2024

@javicalle: Can you please merge your version of ts601_din_power.py as posted in this thread on March 2nd, 2023 by cryptocelt into the one that was created by TheJulianJES which is now the default one that gets installed with ZHA: zha-device-handler. I have tried but am unable to do so myself.
Your version adds working support for:

            ("_TZE204_cjbofhxw", "TS0601"),
            ("_TZE204_ac0fhfiq", "TS0601"),

but removes the devices added by @TheJulianJES :

            ("_TZE200_byzdayie", "TS0601"),
            ("_TZE200_ewxhg6o9", "TS0601"),

So without this merge we can now get either of these devices working but never both in the same setup. There is a lot of confusion already over the support of these devices. If you could do a merge of the two versions and get that into the zha-device-handlers that would really help a lot of people.

@rrozema
Copy link

rrozema commented Jul 27, 2024

For anyone reading this in search of getting their _TZE204_cjbofhxw or _TZE204_ac0fhfiq working:

  • create a folder called 'custom_zha_quirks' in your /config folder.
  • make sure your /config/configuration.yaml file has the following lines in it. If it doesn't, add them.
zha:
  enable_quirks: true
  custom_quirks_path: /config/custom_zha_quirks

  • download the zip file posted by cryptocelt on March 2nd, 2023.
  • Unpack the files from that zip onto your local computer.
  • Rename the file ts0601_din_power.py into something else, for example ts0601_din_power_javicalle,py (@javicalle is the developer that created this quirk file)
  • Put that renamed file in your custom_zha_quirks folder.
  • If you tried getting you device to work before using one of the many other ts0601_din_power.py files posted here, delete that ts0601_din_power.py file AND the pychache folder from your custom_zha_quirks folder. That pycache sub folder is not shown in the Studio Code Server Add-on, so you need to use either the File Editor or the Samba share add-on to delete it. Do not skip deleting that folder, your new custom quirk file will not work correctly if you do not delete that folder.
  • Restart Home Assistant (do NOT skip this!)
  • Include your device again. (It is reported that a load needs to be on the device while you are including it into ZHA to get all sensors added. For me this was not needed, but just to be sure you can put the current transformer around ONE of the leads to a lightbulb that is on or some other thing that takes power while you include the device. If you already did include your device before but got no or different sensors at the time, you can try pressing 'Reconfigure' in the device properties page to get the sensors added as an alternative to removing and re-including the device.)

Using Javicalle's quirk file you will get working sensors for:

  • RMS Current (A)
  • RMS voltage (V)
  • Power (W)

Also some non-working sensors will show up, these will always have a value of 'unavailable':

  • Power Factor
  • AC Frequency
  • Apparent power
  • Instantaneous demand

Most people will never need the first 3 of these unavailable sensors. The Instantaneous demand (kWh) however is one that many people want for their Energy Dashboard. Luckily the energy used can -with the loss of some accuracy- also be determined from the sensors that we do have available using a Riemann sum integral.

  • Go to Settings -> Helpers.
  • Click the '+ CREATE HELPER' button.
  • Select the 'Integral sensor'.
  • Enter a name for your new sensor, f.e. "Energy used".
  • Select 'k (kilo)' for Metrix prefix.
  • Select 'Hours' for Time unit.
  • Select the Power (W) sensor of your device for Input Sensor.
  • Select 'Left Riemann sum' for the Integration method.
  • Enter the number of decimals that you'd like for your sensor for Precision (I suggest putting at least 1 in here. Higher is recommended if you have a led lamp or other low-power load on the device).
  • Press Submit

You should now have a kWh sensor added to your device. You can disable the unavailable sensors from your device to hide them from view.

@remizik
Copy link

remizik commented Aug 27, 2024

Hi, what do I need to do if my device is : _TZE204_81yrt3lo
?
Thanks for your help

edit : ok this helped > #2549

@ideaalab
Copy link

For anyone reading this in search of getting their _TZE204_cjbofhxw or _TZE204_ac0fhfiq working:

  • create a folder called 'custom_zha_quirks' in your /config folder.
  • make sure your /config/configuration.yaml file has the following lines in it. If it doesn't, add them.
zha:
  enable_quirks: true
  custom_quirks_path: /config/custom_zha_quirks
  • download the zip file posted by cryptocelt on March 2nd, 2023.
  • Unpack the files from that zip onto your local computer.
  • Rename the file ts0601_din_power.py into something else, for example ts0601_din_power_javicalle,py (@javicalle is the developer that created this quirk file)
  • Put that renamed file in your custom_zha_quirks folder.
  • If you tried getting you device to work before using one of the many other ts0601_din_power.py files posted here, delete that ts0601_din_power.py file AND the pychache folder from your custom_zha_quirks folder. That pycache sub folder is not shown in the Studio Code Server Add-on, so you need to use either the File Editor or the Samba share add-on to delete it. Do not skip deleting that folder, your new custom quirk file will not work correctly if you do not delete that folder.
  • Restart Home Assistant (do NOT skip this!)
  • Include your device again. (It is reported that a load needs to be on the device while you are including it into ZHA to get all sensors added. For me this was not needed, but just to be sure you can put the current transformer around ONE of the leads to a lightbulb that is on or some other thing that takes power while you include the device. If you already did include your device before but got no or different sensors at the time, you can try pressing 'Reconfigure' in the device properties page to get the sensors added as an alternative to removing and re-including the device.)

Hey, thanks for your detailed explanation!
Ive tried to follow every step but could not make my energy meter work.
My model is _TZE204_81yrt3lo do you think it can work?
How does this quirk associate with the energy meter? I dont see any reference to model number or similar. How HASS will know this file should be used for that specific zigbee device?
Regards

@remizik
Copy link

remizik commented Aug 30, 2024

Hey, thanks for your detailed explanation! Ive tried to follow every step but could not make my energy meter work. My model is _TZE204_81yrt3lo do you think it can work? How does this quirk associate with the energy meter? I dont see any reference to model number or similar. How HASS will know this file should be used for that specific zigbee device? Regards

Try this :

  • Install File Editor in HA

  • Edit your configuration.yaml like this :
    5iaPSq9

zha:
  enable_quirks: true
  custom_quirks_path: /config/custom_zha_quirks

You should see all the sensors on the right as well :)

I hope this helps

@ideaalab
Copy link

Thanks you for the explanation and images! I did everything exactly as explained... with just one minor difference... my quirk file had missing the ".py" extension x(
Just renamed the file and everything started working great!
My question is, whats the difference between the quirk by javicalle ( #1973 (comment) ) and the one you provided? ( https://github.com/jeverley/zha-device-handlers/blob/ts0601_energy_meter_devices/zhaquirks/tuya/ts0601_energy_meter.py )

@remizik
Copy link

remizik commented Aug 30, 2024

The one by javicalle doesn't contain "81yrt3lo" so I'm guessing it doesn't have the right content for our device

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
custom quirk available A custom quirk is available to solve the issue, but it's not merged in the repo yet Tuya Request/PR regarding a Tuya device
Projects
None yet
Development

No branches or pull requests