zigpy / zha-device-handlers

ZHA device handlers bridge the functionality gap created when manufacturers deviate from the ZCL specification, handling deviations and exceptions by parsing custom messages to and from Zigbee devices.
Apache License 2.0
654 stars 614 forks source link

[Device Support Request] tuya DINRail Power meter TS0601_TZE200_lsanae15 #1768

Open TommisGR opened 1 year ago

TommisGR commented 1 year ago

Is your feature request related to a problem? Please describe. tuya Din Rail Power Meter recognized as TS0601 by _TZE200_lsanae15 Only entities created are LQI and RSSI

Describe the solution you'd like To be able to report Power usage

Device signature ``` { "node_descriptor": "NodeDescriptor(logical_type=, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=, mac_capability_flags=, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=, *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" ] }, "242": { "profile_id": 41440, "device_type": "0x0061", "in_clusters": [], "out_clusters": [ "0x0021" ] } }, "manufacturer": "_TZE200_lsanae15", "model": "TS0601", "class": "zigpy.device.Device" } ```
Diagnostic information ```yaml { "home_assistant": { "installation_type": "Home Assistant OS", "version": "2022.8.7", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.10.5", "docker": true, "arch": "aarch64", "timezone": "Europe/Athens", "os_name": "Linux", "os_version": "5.15.32-v8", "supervisor": "2022.08.6", "host_os": "Home Assistant OS 8.5", "docker_version": "20.10.14", "chassis": "embedded", "run_as_root": true }, "custom_components": { "hacs": { "version": "1.27.2", "requirements": [ "aiogithubapi>=22.2.4" ] }, "watchman": { "version": "0.5.1", "requirements": [ "prettytable==3.0.0" ] }, "ble_monitor": { "version": "10.0.0", "requirements": [ "pycryptodomex>=3.14.1", "janus>=1.0.0", "aioblescan>=0.2.13", "btsocket>=0.2.0", "pyric>=0.1.6.3" ] }, "mopidy": { "version": "1.4.6", "requirements": [ "mopidyapi==1.0.0" ] }, "androidtv_custom": { "version": "0.1.0", "requirements": [ "adb-shell[async]==0.4.2", "androidtv[async]==0.0.67", "pure-python-adb[async]==0.3.0.dev0" ] }, "tapo": { "version": "1.2.15", "requirements": [ "plugp100==2.1.18" ] }, "sonoff": { "version": "3.2.0", "requirements": [ "pycryptodome>=3.6.6" ] } }, "integration_manifest": { "domain": "zha", "name": "Zigbee Home Automation", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/zha", "requirements": [ "bellows==0.33.1", "pyserial==3.5", "pyserial-asyncio==0.6", "zha-quirks==0.0.78", "zigpy-deconz==0.18.0", "zigpy==0.50.2", "zigpy-xbee==0.15.0", "zigpy-zigate==0.9.2", "zigpy-znp==0.8.2" ], "usb": [ { "vid": "10C4", "pid": "EA60", "description": "*2652*", "known_devices": [ "slae.sh cc2652rb stick" ] }, { "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*" } ], "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": 56904, "manufacturer": "_TZE200_lsanae15", "model": "TS0601", "name": "_TZE200_lsanae15 TS0601", "quirk_applied": false, "quirk_class": "zigpy.device.Device", "manufacturer_code": 4417, "power_source": "Mains", "lqi": 100, "rssi": -75, "last_seen": "2022-09-18T15:51:59", "available": true, "device_type": "Router", "signature": { "node_descriptor": "NodeDescriptor(logical_type=, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=, mac_capability_flags=, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=, *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" ] }, "242": { "profile_id": 41440, "device_type": "0x0061", "in_clusters": [], "out_clusters": [ "0x0021" ] } } }, "active_coordinator": false, "entities": [], "neighbors": [], "endpoint_names": [ { "name": "SMART_PLUG" }, { "name": "unknown 97 device_type of 0xa1e0 profile id" } ], "user_given_name": "DIN Rail Power", "device_reg_id": "62511e954010a08bd9424e57016c480f", "area_id": null, "cluster_details": { "1": { "device_type": { "name": "SMART_PLUG", "id": 81 }, "profile_id": 260, "in_clusters": { "0x0004": { "endpoint_attribute": "groups", "attributes": {}, "unsupported_attributes": {} }, "0x0005": { "endpoint_attribute": "scenes", "attributes": {}, "unsupported_attributes": {} }, "0xef00": { "endpoint_attribute": null, "attributes": {}, "unsupported_attributes": {} }, "0x0000": { "endpoint_attribute": "basic", "attributes": { "0x0001": { "attribute_name": "app_version", "value": 70 }, "0x0004": { "attribute_name": "manufacturer", "value": "_TZE200_lsanae15" }, "0x0005": { "attribute_name": "model", "value": "TS0601" } }, "unsupported_attributes": {} } }, "out_clusters": { "0x0019": { "endpoint_attribute": "ota", "attributes": {}, "unsupported_attributes": {} }, "0x000a": { "endpoint_attribute": "time", "attributes": {}, "unsupported_attributes": {} } } }, "242": { "device_type": { "name": "unknown", "id": 97 }, "profile_id": 41440, "in_clusters": {}, "out_clusters": { "0x0021": { "endpoint_attribute": "green_power", "attributes": {}, "unsupported_attributes": {} } } } } } } ```
Additional logs ``` Paste any additional debug logs here. Don't remove the extra line breaks outside the ``` marks. ```

Additional context Add any other context or screenshots about the feature request here. image https://www.aliexpress.com/item/1005004399475951.html

RealKanashii commented 1 year ago

The quirk before the last one works once I restart the full raspberry. Something was broken without restarting.

TommisGR commented 1 year ago

https://github.com/Koenkk/zigbee2mqtt/issues/13097 looks like same device has some info on additional DP

What follows ids from that post

DP 17 Alarm set ( if Alarm 2 not 'null') Alarm 1 - OverVoltage, 261V, Control On Alarm 2 - OverCurrent, 40A, Control On DP 11 Frozen set - day if month 22, hour of day - 15

2022-07-23T11:30:25 0xa4c1383a1774b16b (seq:  256, value: #0) [DP   6 Phase A] => raw: [   8 194   0   0   0   0   0   0 ]
2022-07-23T11:30:26 0xa4c1383a1774b16b (seq:  512, value: #0) [DP   1 Forward energy total  ] => int: 59
2022-07-23T11:30:26 0xa4c1383a1774b16b (seq:  768, value: #0) [DP   3 month energy] => raw: [  22   7  22   7   0   0   0   0 ]
2022-07-23T11:30:26 0xa4c1383a1774b16b (seq: 1024, value: #0) [DP   4 daily energy] => raw: [   7  23   7  23   0   0   0   0 ]
2022-07-23T11:30:26 0xa4c1383a1774b16b (seq: 1280, value: #0) [DP  11 Frozen set] => raw: [  22  15 ]
2022-07-23T11:30:26 0xa4c1383a1774b16b (seq: 1536, value: #0) [DP  17 Alarm set] => raw: [   3   1   1   5   1   1   0  40 ]
2022-07-23T11:30:26 0xa4c1383a1774b16b (seq: 1792, value: #0) [DP  16 switch   ] => bool: True
2022-07-23T11:30:26 0xa4c1383a1774b16b (seq: 1792, value: #1) [DP  18 Meter ID ] => string: 22062315
2022-07-26T21:12:35 0xa4c1383a1774b16b (seq: 6400, value: #0) [DP  10 Fault ] => bitmap: 00000000 00000000 000000
RealKanashii commented 1 year ago

Maybe we can update the quirk to get all the values...

TommisGR commented 1 year ago

i wouldnt know where to start maybe if someone held our hands for a bit :) like javicalle did.

RealKanashii commented 1 year ago

As far as I know we must configure the DP numbers as attributes as we made with 11, 6 and 4 to match the typical smart energy cluster device. I can try some test after I don't have time right now.

RealKanashii commented 1 year ago

I made a mod to AC_VOLTAGE_MULTIPLIER to get the right value... I defined the constant and then assigned a value of 2.

Now I see the correct Voltage in HA. I know is not much but I'm making slowly progress understanding how all this works.

@TommisGR if you want to update your quirk there's mine with the correct voltage.

How I made it: Multiply the voltage "value" twice didn't work for me. I have to touch the constant voltage modifier.

Defined the multiplier: AC_VOLTAGE_MULTIPLIER = 0x0600

And then passed it to cluster with value of "2" _CONSTANT_ATTRIBUTES = {AC_CURRENT_MULTIPLIER: 1, AC_CURRENT_DIVISOR: 1000, AC_VOLTAGE_MULTIPLIER: 2}

Full quirk:

"""Tuya Din Power Meter."""
from zigpy.profiles import zha
import zigpy.types as t
from zigpy.zcl.clusters.general import Basic, Groups, Ota, Scenes, Time, GreenPowerProxy
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 = 0x0201 #total energy /100  0x0211
TUYA_CURRENT_ATTR = 0x0011      #0x0212
TUYA_POWER_ATTR = 0x0006        #0x0213
TUYA_VOLTAGE_ATTR = 0x0004      #0x0214
TUYA_DIN_SWITCH_ATTR = 0x000b   #0x0101

SWITCH_EVENT = "switch_event"

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),      #t.int16s
        TUYA_POWER_ATTR: ("power", t.uint16_t, True),         #t.uint16_t
        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_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             #0x050B
    VOLTAGE_ID = 0x0505
    CURRENT_ID = 0x0508

    AC_CURRENT_MULTIPLIER = 0x0602
    AC_CURRENT_DIVISOR = 0x0603
    AC_VOLTAGE_MULTIPLIER = 0x0600

    _CONSTANT_ATTRIBUTES = {AC_CURRENT_MULTIPLIER: 1, AC_CURRENT_DIVISOR: 1000, AC_VOLTAGE_MULTIPLIER: 2}

    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 current_reported(self, value):
        """Ampers reported."""
        self._update_attribute(self.CURRENT_ID, value)

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

    cluster_id = Metering.cluster_id
    CURRENT_ID = 0x0000
    POWER_WATT = 0x0000

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

    def energy_reported(self, value):
        """Summation Energy reported."""
        self._update_attribute(self.CURRENT_ID, value)

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 TuyaPowerMeter_GPP(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=4417
        #                       maximum_buffer_size=66 maximum_incoming_transfer_size=66 server_mask=10752
        #                       maximum_outgoing_transfer_size=66 descriptor_capability_field=0>",
        # device_version=1
        # input_clusters=[0x0000, 0x0004, 0x0005, 0xef00]
        # output_clusters=[0x000a, 0x0019]
        MODELS_INFO: [
            ("_TZE200_lsanae15", "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],
            },
            242: {
                # <SimpleDescriptor endpoint=242 profile=41440 device_type=61
                # input_clusters=[]
                # output_clusters=[21]
                PROFILE_ID: 41440,
                DEVICE_TYPE: 97,
                INPUT_CLUSTERS: [],
                OUTPUT_CLUSTERS: [GreenPowerProxy.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],
            },
            242: {
                # <SimpleDescriptor endpoint=242 profile=41440 device_type=61
                # input_clusters=[]
                # output_clusters=[21]
                PROFILE_ID: 41440,
                DEVICE_TYPE: 97,
                INPUT_CLUSTERS: [],
                OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
            },
        }
    }
doreks commented 1 year ago

Hello, thank you all for the support and support the integration of this device into zha. in my case I have copied the last of the codes and it seems that the Switch button : on/off does not work

here log received after press on/off switch:

Logs ```python 2022-10-19 14:28:48.673 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140260156221392] 'Status' object is not subscriptable Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 202, in handle_call_service await hass.services.async_call( File "/usr/src/homeassistant/homeassistant/core.py", line 1738, in async_call task.result() File "/usr/src/homeassistant/homeassistant/core.py", line 1775, in _execute_service await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)( File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 207, in handle_service await service.entity_service_call( File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 678, in entity_service_call future.result() # pop exception if have File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 931, in async_request_call await coro File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 715, in _handle_entity_call await result File "/usr/src/homeassistant/homeassistant/components/zha/switch.py", line 90, in async_turn_on result = await self._on_off_channel.turn_on() File "/usr/src/homeassistant/homeassistant/components/zha/core/channels/general.py", line 342, in turn_on if isinstance(result, Exception) or result[1] is not Status.SUCCESS: TypeError: 'Status' object is not subscriptable 2022-10-19 14:28:50.607 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection] [140260156221392] 'Status' object is not subscriptable Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 202, in handle_call_service await hass.services.async_call( File "/usr/src/homeassistant/homeassistant/core.py", line 1738, in async_call task.result() File "/usr/src/homeassistant/homeassistant/core.py", line 1775, in _execute_service await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)( File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 207, in handle_service await service.entity_service_call( File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 678, in entity_service_call future.result() # pop exception if have File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 931, in async_request_call await coro File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 715, in _handle_entity_call await result File "/usr/src/homeassistant/homeassistant/components/zha/switch.py", line 97, in async_turn_off result = await self._on_off_channel.turn_off() File "/usr/src/homeassistant/homeassistant/components/zha/core/channels/general.py", line 350, in turn_off if isinstance(result, Exception) or result[1] is not Status.SUCCESS: TypeError: 'Status' object is not subscriptable ```
bsj17 commented 1 year ago

Did someone made progress on this quirk? Got the device today. Tried above, active powers seems only thing to be reading right. in my case. Switch control still does not work.

Thanks!

RealKanashii commented 1 year ago

The switch works for me.

doreks commented 1 year ago

How did you fix it?

RealKanashii commented 1 year ago

I just posted the quirk in the correct place and rejoined. Sometimes if you put the quirk after join some functions are invisible. Unlink, put the quirk, restart the HA and the force the join again. You can see the switch control there: image

ghost commented 1 year ago

So is there a chance we'll get this into a release so it's usable for everyone?

TheJulianJES commented 1 year ago

Is the quirk from this comment the latest quirk that works? If so, would you mind creating a PR for this (or should I create a PR to make this usable for everyone)?

prowebuk commented 1 year ago

As per bsj17, I only see a switch which doesn't appear to work, (not metered it out yet) and power factor unknown using [RealKanashii]'s quirk above.

image

2023-01-06 23:02:44.911 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[35, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, , 0, , 0, 0, 19, b'\x00\xb1\x14}\x01_\xc8\xb38\xc1\xa4\x8e', 0, 175, 255, 45, 42, 0, 32, -61] 2023-01-06 23:02:44.912 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [35, <DeviceState.APSDE_DATA_REQUEST_SLOTS_AVAILABLE|2: 34>, , 0, , 0, 0, 19, b'\x00\xb1\x14}\x01_\xc8\xb38\xc1\xa4\x8e', 0, 175, 255, 45, 42, 0, 32, -61]

2023-01-06 23:02:44.911 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[35, , , 0, , 0, 0, 19, b'\x00\xb1\x14}\x01_\xc8\xb38\xc1\xa4\x8e', 0, 175, 255, 45, 42, 0, 32, -61] 2023-01-06 23:02:44.912 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [35, , , 0, , 0, 0, 19, b'\x00\xb1\x14}\x01_\xc8\xb38\xc1\xa4\x8e', 0, 175, 255, 45, 42, 0, 32, -61] More Logs 2023-01-06 23:02:44.912 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=0, dst=AddrModeAddress(addr_mode=, address=), dst_ep=0, source_route=None, extended_timeout=False, tsn=None, profile_id=0, cluster_id=19, data=Serialized[b'\x00\xb1\x14}\x01_\xc8\xb38\xc1\xa4\x8e'], tx_options=, radius=0, non_member_radius=0, lqi=255, rssi=-61) 2023-01-06 23:02:44.913 INFO (MainThread) [zigpy.application] New device 0x14b1 (a4:c1:38:b3:c8:5f:01:7d) joined the network 2023-01-06 23:02:44.913 DEBUG (MainThread) [zigpy.device] [0x14b1] Scheduling initialization 2023-01-06 23:02:44.914 DEBUG (MainThread) [zigpy.application] Received frame on uninitialized device from ep 0 to ep 0, cluster 19: b'\x00\xb1\x14}\x01_\xc8\xb38\xc1\xa4\x8e' 2023-01-06 23:02:44.915 DEBUG (MainThread) [zigpy.zdo] [0x14b1:zdo] ZDO request ZDOCmd.Device_annce: [0x14B1, a4:c1:38:b3:c8:5f:01:7d, 142] 2023-01-06 23:02:44.917 INFO (MainThread) [zigpy.device] [0x14b1] Requesting 'Node Descriptor' 2023-01-06 23:02:44.918 DEBUG (MainThread) [zigpy.device] [0x14b1] Extending timeout for 0x6c request 2023-01-06 23:02:44.918 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=0, source_route=None, extended_timeout=True, tsn=108, profile_id=0, cluster_id=, data=Serialized[b'l\xb1\x14'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:44.918 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 0, profile: 0x0000, cluster_id: 0x0013, data: b'00b1147d015fc8b338c1a48e' 2023-01-06 23:02:44.920 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (18, 109, , , 0, , 0, b'l\xb1\x14', , 0) 2023-01-06 23:02:44.981 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 109, , 0, , 0, 0, 0, 0] 2023-01-06 23:02:44.981 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x6d 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:44.995 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[40, , , 0, , 0, 0, 32770, b'l\x00\xb1\x14\x01@\x8eA\x11BB\x00\x00*B\x00\x00', 0, 175, 255, 120, 201, 36, 0, -61] 2023-01-06 23:02:44.995 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [40, , , 0, , 0, 0, 32770, b'l\x00\xb1\x14\x01@\x8eA\x11BB\x00\x00*B\x00\x00', 0, 175, 255, 120, 201, 36, 0, -61] 2023-01-06 23:02:44.995 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=None, profile_id=0, cluster_id=32770, data=Serialized[b'l\x00\xb1\x14\x01@\x8eA\x11BB\x00\x00*B\x00\x00'], tx_options=, radius=0, non_member_radius=0, lqi=255, rssi=-61) 2023-01-06 23:02:44.996 DEBUG (MainThread) [zigpy.application] Received frame on uninitialized device from ep 0 to ep 0, cluster 32770: b'l\x00\xb1\x14\x01@\x8eA\x11BB\x00\x00*B\x00\x00' 2023-01-06 23:02:44.997 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 0, profile: 0x0000, cluster_id: 0x8002, data: b'6c00b11401408e4111424200002a420000' 2023-01-06 23:02:44.998 INFO (MainThread) [zigpy.device] [0x14b1] Got Node Descriptor: NodeDescriptor(logical_type=, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=, mac_capability_flags=, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, descriptor_capability_field=, *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) 2023-01-06 23:02:45.000 INFO (MainThread) [zigpy.device] [0x14b1] Discovering endpoints 2023-01-06 23:02:45.000 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=0, source_route=None, extended_timeout=False, tsn=110, profile_id=0, cluster_id=, data=Serialized[b'n\xb1\x14'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:45.000 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (18, 111, , , 0, , 0, b'n\xb1\x14', , 0) 2023-01-06 23:02:45.015 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 111, , 0, , 0, 0, 0, 0] 2023-01-06 23:02:45.016 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x6f 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:45.029 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[30, , , 0, , 0, 0, 32773, b'n\x00\xb1\x14\x02\x01\xf2', 0, 175, 255, 120, 201, 36, 0, -61] 2023-01-06 23:02:45.029 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [30, , , 0, , 0, 0, 32773, b'n\x00\xb1\x14\x02\x01\xf2', 0, 175, 255, 120, 201, 36, 0, -61] 2023-01-06 23:02:45.029 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=None, profile_id=0, cluster_id=32773, data=Serialized[b'n\x00\xb1\x14\x02\x01\xf2'], tx_options=, radius=0, non_member_radius=0, lqi=255, rssi=-61) 2023-01-06 23:02:45.030 DEBUG (MainThread) [zigpy.application] Received frame on uninitialized device from ep 0 to ep 0, cluster 32773: b'n\x00\xb1\x14\x02\x01\xf2' 2023-01-06 23:02:45.031 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 0, profile: 0x0000, cluster_id: 0x8005, data: b'6e00b1140201f2' 2023-01-06 23:02:45.032 INFO (MainThread) [zigpy.device] [0x14b1] Discovered endpoints: [1, 242] 2023-01-06 23:02:45.033 INFO (MainThread) [zigpy.device] [0x14b1] Initializing endpoints [>, >] 2023-01-06 23:02:45.034 INFO (MainThread) [zigpy.endpoint] [0x14b1:1] Discovering endpoint information 2023-01-06 23:02:45.036 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=0, source_route=None, extended_timeout=False, tsn=112, profile_id=0, cluster_id=, data=Serialized[b'p\xb1\x14\x01'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:45.037 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (19, 113, , , 0, , 0, b'p\xb1\x14\x01', , 0) 2023-01-06 23:02:45.058 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 113, , 0, , 0, 0, 0, 0] 2023-01-06 23:02:45.059 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x71 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:45.076 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[48, , , 0, , 0, 0, 32772, b'p\x00\xb1\x14\x14\x01\x04\x01Q\x00\x01\x04\x04\x00\x05\x00\x00\xef\x00\x00\x02\x19\x00\n\x00', 0, 175, 247, 120, 201, 36, 0, -63] 2023-01-06 23:02:45.077 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [48, , , 0, , 0, 0, 32772, b'p\x00\xb1\x14\x14\x01\x04\x01Q\x00\x01\x04\x04\x00\x05\x00\x00\xef\x00\x00\x02\x19\x00\n\x00', 0, 175, 247, 120, 201, 36, 0, -63] 2023-01-06 23:02:45.078 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=None, profile_id=0, cluster_id=32772, data=Serialized[b'p\x00\xb1\x14\x14\x01\x04\x01Q\x00\x01\x04\x04\x00\x05\x00\x00\xef\x00\x00\x02\x19\x00\n\x00'], tx_options=, radius=0, non_member_radius=0, lqi=247, rssi=-63) 2023-01-06 23:02:45.080 DEBUG (MainThread) [zigpy.application] Received frame on uninitialized device from ep 0 to ep 0, cluster 32772: b'p\x00\xb1\x14\x14\x01\x04\x01Q\x00\x01\x04\x04\x00\x05\x00\x00\xef\x00\x00\x02\x19\x00\n\x00' 2023-01-06 23:02:45.083 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 0, profile: 0x0000, cluster_id: 0x8004, data: b'7000b11414010401510001040400050000ef00000219000a00' 2023-01-06 23:02:45.085 INFO (MainThread) [zigpy.endpoint] [0x14b1:1] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=1, profile=260, device_type=81, device_version=1, input_clusters=[4, 5, 61184, 0], output_clusters=[25, 10]) 2023-01-06 23:02:45.090 INFO (MainThread) [zigpy.endpoint] [0x14b1:242] Discovering endpoint information 2023-01-06 23:02:45.092 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=0, source_route=None, extended_timeout=False, tsn=114, profile_id=0, cluster_id=, data=Serialized[b'r\xb1\x14\xf2'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:45.093 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (19, 115, , , 0, , 0, b'r\xb1\x14\xf2', , 0) 2023-01-06 23:02:45.111 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 115, , 0, , 0, 0, 0, 0] 2023-01-06 23:02:45.113 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x73 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:45.132 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[38, , , 0, , 0, 0, 32772, b'r\x00\xb1\x14\n\xf2\xe0\xa1a\x00\x00\x00\x01!\x00', 0, 175, 255, 120, 201, 36, 0, -61] 2023-01-06 23:02:45.132 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [38, , , 0, , 0, 0, 32772, b'r\x00\xb1\x14\n\xf2\xe0\xa1a\x00\x00\x00\x01!\x00', 0, 175, 255, 120, 201, 36, 0, -61] 2023-01-06 23:02:45.132 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=None, profile_id=0, cluster_id=32772, data=Serialized[b'r\x00\xb1\x14\n\xf2\xe0\xa1a\x00\x00\x00\x01!\x00'], tx_options=, radius=0, non_member_radius=0, lqi=255, rssi=-61) 2023-01-06 23:02:45.133 DEBUG (MainThread) [zigpy.application] Received frame on uninitialized device from ep 0 to ep 0, cluster 32772: b'r\x00\xb1\x14\n\xf2\xe0\xa1a\x00\x00\x00\x01!\x00' 2023-01-06 23:02:45.134 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 0, profile: 0x0000, cluster_id: 0x8004, data: b'7200b1140af2e0a161000000012100' 2023-01-06 23:02:45.135 INFO (MainThread) [zigpy.endpoint] [0x14b1:242] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=242, profile=41440, device_type=97, device_version=0, input_clusters=[], output_clusters=[33]) 2023-01-06 23:02:45.136 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=116, command_id=, *direction=, *is_reply=False) 2023-01-06 23:02:45.137 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Sending request: Read_Attributes(attribute_ids=[4, 5]) 2023-01-06 23:02:45.138 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=116, profile_id=260, cluster_id=0, data=Serialized[b'\x00t\x00\x04\x00\x05\x00'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:45.138 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (22, 117, , , 260, 0, 1, b'\x00t\x00\x04\x00\x05\x00', , 0) 2023-01-06 23:02:45.174 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 117, , 1, , 0, 0, 0, 0] 2023-01-06 23:02:45.176 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x75 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:45.212 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[58, , , 1, , 1, 260, 0, b'\x18t\x01\x04\x00\x00B\x10_TZE200_lsanae15\x05\x00\x00B\x06TS0601', 0, 175, 239, 120, 201, 36, 0, -64] 2023-01-06 23:02:45.213 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [58, , , 1, , 1, 260, 0, b'\x18t\x01\x04\x00\x00B\x10_TZE200_lsanae15\x05\x00\x00B\x06TS0601', 0, 175, 239, 120, 201, 36, 0, -64] 2023-01-06 23:02:45.213 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=0, data=Serialized[b'\x18t\x01\x04\x00\x00B\x10_TZE200_lsanae15\x05\x00\x00B\x06TS0601'], tx_options=, radius=0, non_member_radius=0, lqi=239, rssi=-64) 2023-01-06 23:02:45.215 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Received ZCL frame: b'\x18t\x01\x04\x00\x00B\x10_TZE200_lsanae15\x05\x00\x00B\x06TS0601' 2023-01-06 23:02:45.217 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=116, command_id=1, *direction=, *is_reply=True) 2023-01-06 23:02:45.220 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Decoded ZCL frame: Basic:Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0004, status=, value=TypeValue(type=CharacterString, value='_TZE200_lsanae15')), ReadAttributeRecord(attrid=0x0005, status=, value=TypeValue(type=CharacterString, value='TS0601'))]) 2023-01-06 23:02:45.237 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0x0000, data: b'18740104000042105f545a453230305f6c73616e616531350500004206545330363031' 2023-01-06 23:02:45.239 INFO (MainThread) [zigpy.device] [0x14b1] Read model 'TS0601' and manufacturer '_TZE200_lsanae15' from > 2023-01-06 23:02:45.240 INFO (MainThread) [zigpy.device] [0x14b1] Discovered basic device information for 2023-01-06 23:02:45.240 DEBUG (MainThread) [zigpy.application] Device is initialized 2023-01-06 23:02:45.242 DEBUG (MainThread) [zigpy.quirks.registry] Checking quirks for _TZE200_lsanae15 TS0601 (a4:c1:38:b3:c8:5f:01:7d) 2023-01-06 23:02:45.242 DEBUG (MainThread) [zigpy.quirks.registry] Considering 2023-01-06 23:02:45.242 DEBUG (MainThread) [zigpy.quirks.registry] Found custom device replacement for a4:c1:38:b3:c8:5f:01:7d: 2023-01-06 23:02:45.246 DEBUG (MainThread) [homeassistant.components.zha.core.discovery] 'sensor' component -> 'ElectricalMeasurement' using ['electrical_measurement'] 2023-01-06 23:02:45.247 DEBUG (MainThread) [homeassistant.components.zha.core.discovery] 'sensor' component -> 'ElectricalMeasurementApparentPower' using ['electrical_measurement'] 2023-01-06 23:02:45.247 DEBUG (MainThread) [homeassistant.components.zha.core.discovery] 'sensor' component -> 'ElectricalMeasurementRMSCurrent' using ['electrical_measurement'] 2023-01-06 23:02:45.247 DEBUG (MainThread) [homeassistant.components.zha.core.discovery] 'sensor' component -> 'ElectricalMeasurementRMSVoltage' using ['electrical_measurement'] 2023-01-06 23:02:45.247 DEBUG (MainThread) [homeassistant.components.zha.core.discovery] 'sensor' component -> 'ElectricalMeasurementFrequency' using ['electrical_measurement'] 2023-01-06 23:02:45.247 DEBUG (MainThread) [homeassistant.components.zha.core.discovery] 'sensor' component -> 'ElectricalMeasurementPowerFactor' using ['electrical_measurement'] 2023-01-06 23:02:45.248 DEBUG (MainThread) [homeassistant.components.zha.core.discovery] 'sensor' component -> 'RSSISensor' using ['basic'] 2023-01-06 23:02:45.248 DEBUG (MainThread) [homeassistant.components.zha.core.discovery] 'sensor' component -> 'LQISensor' using ['basic'] 2023-01-06 23:02:45.248 DEBUG (MainThread) [homeassistant.components.zha.core.discovery] 'sensor' component -> 'SmartEnergyMetering' using ['smartenergy_metering'] 2023-01-06 23:02:45.248 DEBUG (MainThread) [homeassistant.components.zha.core.discovery] 'sensor' component -> 'SmartEnergySummation' using ['smartenergy_metering'] 2023-01-06 23:02:45.250 DEBUG (MainThread) [homeassistant.components.zha.core.discovery] 'select' component -> 'ZHAStartupOnOffSelectEntity' using ['on_off'] 2023-01-06 23:02:45.254 DEBUG (MainThread) [homeassistant.components.zha.core.gateway] device - 0x14B1:a4:c1:38:b3:c8:5f:01:7d entering async_device_initialized - is_new_join: True 2023-01-06 23:02:45.254 DEBUG (MainThread) [homeassistant.components.zha.core.gateway] device - 0x14B1:a4:c1:38:b3:c8:5f:01:7d has joined the ZHA zigbee network 2023-01-06 23:02:45.240 DEBUG (MainThread) [zigpy.application] Device is initialized 2023-01-06 23:02:45.254 DEBUG (MainThread) [homeassistant.components.zha.core.gateway] device - 0x14B1:a4:c1:38:b3:c8:5f:01:7d entering async_device_initialized - is_new_join: True 2023-01-06 23:02:45.254 DEBUG (MainThread) [homeassistant.components.zha.core.gateway] device - 0x14B1:a4:c1:38:b3:c8:5f:01:7d has joined the ZHA zigbee network 2023-01-06 23:02:45.255 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x14B1](TS0601): started configuration 2023-01-06 23:02:45.257 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:ZDO](TS0601): 'async_configure' stage succeeded 2023-01-06 23:02:45.264 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: Performing cluster binding 2023-01-06 23:02:45.265 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=0, source_route=None, extended_timeout=False, tsn=118, profile_id=0, cluster_id=, data=Serialized[b'v}\x01_\xc8\xb38\xc1\xa4\x01\x06\x00\x03s\xe2\x07\xff\xff.!\x00\x01'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:45.265 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (37, 119, , , 0, , 0, b'v}\x01_\xc8\xb38\xc1\xa4\x01\x06\x00\x03s\xe2\x07\xff\xff.!\x00\x01', , 0) 2023-01-06 23:02:45.266 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0000]: Configuring cluster attribute reporting 2023-01-06 23:02:45.266 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0000]: finished channel configuration 2023-01-06 23:02:45.266 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: Performing cluster binding 2023-01-06 23:02:45.267 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: bound 'smartenergy_metering' cluster: Status.SUCCESS 2023-01-06 23:02:45.267 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: Configuring cluster attribute reporting 2023-01-06 23:02:45.267 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: Successfully configured reporting for '{'instantaneous_demand': (5, 900, 1), 'current_summ_delivered': (30, 900, 1), 'status': (1, 900, 1)}' on 'smartenergy_metering' cluster: [ConfigureReportingResponseRecord(status=)] 2023-01-06 23:02:45.268 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: finished channel configuration 2023-01-06 23:02:45.268 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: Performing cluster binding 2023-01-06 23:02:45.268 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: bound 'electrical_measurement' cluster: Status.SUCCESS 2023-01-06 23:02:45.268 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: Configuring cluster attribute reporting 2023-01-06 23:02:45.269 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: Successfully configured reporting for '{'active_power': (5, 900, 1), 'active_power_max': (30, 900, 1), 'apparent_power': (5, 900, 1)}' on 'electrical_measurement' cluster: [ConfigureReportingResponseRecord(status=)] 2023-01-06 23:02:45.269 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: Successfully configured reporting for '{'rms_current': (5, 900, 1), 'rms_current_max': (30, 900, 1), 'rms_voltage': (5, 900, 1)}' on 'electrical_measurement' cluster: [ConfigureReportingResponseRecord(status=)] 2023-01-06 23:02:45.270 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: Successfully configured reporting for '{'rms_voltage_max': (30, 900, 1), 'ac_frequency': (5, 900, 1), 'ac_frequency_max': (30, 900, 1)}' on 'electrical_measurement' cluster: [ConfigureReportingResponseRecord(status=)] 2023-01-06 23:02:45.270 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: finished channel configuration 2023-01-06 23:02:45.270 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0xef00]: Performing cluster binding 2023-01-06 23:02:45.271 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=0, source_route=None, extended_timeout=False, tsn=120, profile_id=0, cluster_id=, data=Serialized[b'x}\x01_\xc8\xb38\xc1\xa4\x01\x00\xef\x03s\xe2\x07\xff\xff.!\x00\x01'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:45.271 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0019]: finished channel configuration 2023-01-06 23:02:45.285 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (37, 121, , , 0, , 0, b'x}\x01_\xc8\xb38\xc1\xa4\x01\x00\xef\x03s\xe2\x07\xff\xff.!\x00\x01', , 0) 2023-01-06 23:02:45.297 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 119, , 0, , 0, 0, 0, 0] 2023-01-06 23:02:45.300 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x77 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:45.322 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[25, , , 0, , 0, 0, 32801, b'v\x82', 0, 175, 239, 120, 201, 36, 0, -64] 2023-01-06 23:02:45.322 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [25, , , 0, , 0, 0, 32801, b'v\x82', 0, 175, 239, 120, 201, 36, 0, -64] 2023-01-06 23:02:45.322 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=None, profile_id=0, cluster_id=32801, data=Serialized[b'v\x82'], tx_options=, radius=0, non_member_radius=0, lqi=239, rssi=-64) 2023-01-06 23:02:45.323 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 0, profile: 0x0000, cluster_id: 0x8021, data: b'7682' 2023-01-06 23:02:45.324 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: bound 'on_off' cluster: Status.INVALID_EP 2023-01-06 23:02:45.325 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: Configuring cluster attribute reporting 2023-01-06 23:02:45.325 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0006] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=122, command_id=, *direction=, *is_reply=False) 2023-01-06 23:02:45.326 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0006] Sending request: Configure_Reporting(config_records=[AttributeReportingConfig(direction=0, attrid=0x0000, datatype=16, min_interval=0, max_interval=900, reportable_change=1)]) 2023-01-06 23:02:45.327 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=122, profile_id=260, cluster_id=6, data=Serialized[b'\x00z\x06\x00\x00\x00\x10\x00\x00\x84\x03'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:45.335 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 121, , 0, , 0, 0, 0, 0] 2023-01-06 23:02:45.336 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x79 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:45.337 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (26, 123, , , 260, 6, 1, b'\x00z\x06\x00\x00\x00\x10\x00\x00\x84\x03', , 0) 2023-01-06 23:02:45.356 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[25, , , 0, , 0, 0, 32801, b'x\x00', 0, 175, 239, 120, 201, 36, 0, -64] 2023-01-06 23:02:45.357 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [25, , , 0, , 0, 0, 32801, b'x\x00', 0, 175, 239, 120, 201, 36, 0, -64] 2023-01-06 23:02:45.357 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=0, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=None, profile_id=0, cluster_id=32801, data=Serialized[b'x\x00'], tx_options=, radius=0, non_member_radius=0, lqi=239, rssi=-64) 2023-01-06 23:02:45.358 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 0, profile: 0x0000, cluster_id: 0x8021, data: b'7800' 2023-01-06 23:02:45.359 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0xef00]: bound 'tuya_manufacturer' cluster: Status.SUCCESS 2023-01-06 23:02:45.360 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0xef00]: Configuring cluster attribute reporting 2023-01-06 23:02:45.361 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0xef00]: finished channel configuration 2023-01-06 23:02:45.366 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 123, , 1, , 0, 0, 0, 0] 2023-01-06 23:02:45.366 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x7b 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:50.367 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: failed to set reporting on 'on_off' cluster for: 2023-01-06 23:02:50.368 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: finished channel configuration 2023-01-06 23:02:50.370 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: 'async_configure' stage succeeded 2023-01-06 23:02:50.370 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0000]: 'async_configure' stage succeeded 2023-01-06 23:02:50.371 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: 'async_configure' stage succeeded 2023-01-06 23:02:50.371 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: 'async_configure' stage succeeded 2023-01-06 23:02:50.371 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0xef00]: 'async_configure' stage succeeded 2023-01-06 23:02:50.371 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0019]: 'async_configure' stage succeeded 2023-01-06 23:02:50.374 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x14B1](TS0601): completed configuration 2023-01-06 23:02:50.374 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x14B1](TS0601): started initialization 2023-01-06 23:02:50.374 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:ZDO](TS0601): 'async_initialize' stage succeeded 2023-01-06 23:02:50.378 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: initializing channel: from_cache: False 2023-01-06 23:02:50.378 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: initializing cached channel attributes: ['start_up_on_off'] 2023-01-06 23:02:50.379 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: Reading attributes in chunks: ['start_up_on_off'] 2023-01-06 23:02:50.379 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0006] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=124, command_id=, *direction=, *is_reply=False) 2023-01-06 23:02:50.380 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0006] Sending request: Read_Attributes(attribute_ids=[16387]) 2023-01-06 23:02:50.381 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=124, profile_id=260, cluster_id=6, data=Serialized[b'\x00|\x00\x03@'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:50.381 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (20, 125, , , 260, 6, 1, b'\x00|\x00\x03@', , 0) 2023-01-06 23:02:50.382 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0000]: initializing channel: from_cache: False 2023-01-06 23:02:50.383 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0000]: finished channel initialization 2023-01-06 23:02:50.383 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: initializing channel: from_cache: False 2023-01-06 23:02:50.383 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: initializing cached channel attributes: ['demand_formatting', 'divisor', 'metering_device_type', 'multiplier', 'summation_formatting', 'unit_of_measure'] 2023-01-06 23:02:50.383 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: Reading attributes in chunks: ['demand_formatting', 'divisor', 'metering_device_type', 'multiplier', 'summation_formatting'] 2023-01-06 23:02:50.384 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: Reading attributes in chunks: ['unit_of_measure'] 2023-01-06 23:02:50.384 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: initializing uncached channel attributes: ['instantaneous_demand', 'current_summ_delivered', 'status'] - from cache[False] 2023-01-06 23:02:50.385 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: Reading attributes in chunks: ['instantaneous_demand', 'current_summ_delivered', 'status'] 2023-01-06 23:02:50.385 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: Performing channel specific initialization: ['instantaneous_demand', 'current_summ_delivered', 'status'] 2023-01-06 23:02:50.385 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: finished channel initialization 2023-01-06 23:02:50.386 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: initializing channel: from_cache: False 2023-01-06 23:02:50.386 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1: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'] 2023-01-06 23:02:50.386 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: Reading attributes in chunks: ['ac_current_divisor', 'ac_current_multiplier', 'ac_power_divisor', 'ac_power_multiplier', 'ac_voltage_divisor'] 2023-01-06 23:02:50.387 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: Reading attributes in chunks: ['ac_voltage_multiplier', 'ac_frequency_divisor', 'ac_frequency_multiplier', 'measurement_type', 'power_divisor'] 2023-01-06 23:02:50.388 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: Reading attributes in chunks: ['power_multiplier'] 2023-01-06 23:02:50.388 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1: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] 2023-01-06 23:02:50.388 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: Reading attributes in chunks: ['active_power', 'active_power_max', 'apparent_power', 'rms_current', 'rms_current_max'] 2023-01-06 23:02:50.389 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: Reading attributes in chunks: ['rms_voltage', 'rms_voltage_max', 'ac_frequency', 'ac_frequency_max'] 2023-01-06 23:02:50.389 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: finished channel initialization 2023-01-06 23:02:50.390 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0xef00]: initializing channel: from_cache: False 2023-01-06 23:02:50.390 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0xef00]: finished channel initialization 2023-01-06 23:02:50.390 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0019]: initializing channel: from_cache: False 2023-01-06 23:02:50.390 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0019]: finished channel initialization 2023-01-06 23:02:50.398 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x12e70009000200227d 2023-01-06 23:02:50.398 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_request[2, , 125] 2023-01-06 23:02:50.398 DEBUG (MainThread) [zigpy_deconz.api] APS data request response: [2, , 125] 2023-01-06 23:02:50.399 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 1794, 772) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.401 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 1794, 770) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.405 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0ee8000700a600 2023-01-06 23:02:50.405 DEBUG (MainThread) [zigpy_deconz.api] Received command device_state_changed[, 0] 2023-01-06 23:02:50.405 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [, 0] 2023-01-06 23:02:50.406 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 1794, 774) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.406 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_confirm (0,) 2023-01-06 23:02:50.406 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x04e80007000000 2023-01-06 23:02:50.408 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 1794, 769) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.410 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x04e80013000c00227d02b11401010000000000 2023-01-06 23:02:50.410 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 125, , 1, , 0, 0, 0, 0] 2023-01-06 23:02:50.411 DEBUG (MainThread) [zigpy_deconz.api] APS data confirm response for request with id 125: 00 2023-01-06 23:02:50.412 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 1794, 771) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.413 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x7d 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:50.420 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 1794, 1024) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.422 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 1794, 0) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.424 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 1794, 512) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.446 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1541) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.448 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1540) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.450 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1537) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.455 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1025) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.457 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1024) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.459 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 0) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.461 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1027) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.463 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1026) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.465 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1291) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.468 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1293) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.470 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1295) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.474 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1288) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.476 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1290) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.478 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1285) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.480 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 1287) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.482 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 768) params: FOREIGN KEY constraint failed 2023-01-06 23:02:50.484 DEBUG (MainThread) [zigpy.appdb] Error handling '_unsupported_attribute_added' event with (a4:c1:38:b3:c8:5f:01:7d, 1, 2820, 770) params: FOREIGN KEY constraint failed 2023-01-06 23:02:51.203 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x0ee9000700aa00 2023-01-06 23:02:51.204 DEBUG (MainThread) [zigpy_deconz.api] Received command device_state_changed[, 0] 2023-01-06 23:02:51.204 DEBUG (MainThread) [zigpy_deconz.api] Device state changed response: [, 0] 2023-01-06 23:02:51.204 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_indication (1, ) 2023-01-06 23:02:51.205 DEBUG (MainThread) [zigpy_deconz.uart] Send: 0x17e9000800010001 2023-01-06 23:02:51.207 DEBUG (MainThread) [zigpy_deconz.uart] Frame received: 0x17e90024001d00220200000102b11401040100ef060009d011000f4000afef70e42400c0 2023-01-06 23:02:51.207 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[29, , , 1, , 1, 260, 61184, b'\t\xd0\x11\x00\x0f@', 0, 175, 239, 112, 228, 36, 0, -64] 2023-01-06 23:02:51.207 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [29, , , 1, , 1, 260, 61184, b'\t\xd0\x11\x00\x0f@', 0, 175, 239, 112, 228, 36, 0, -64] 2023-01-06 23:02:50.410 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 125, , 1, , 0, 0, 0, 0] 2023-01-06 23:02:50.413 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x7d 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:51.207 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[29, , , 1, , 1, 260, 61184, b'\t\xd0\x11\x00\x0f@', 0, 175, 239, 112, 228, 36, 0, -64] 2023-01-06 23:02:51.207 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [29, , , 1, , 1, 260, 61184, b'\t\xd0\x11\x00\x0f@', 0, 175, 239, 112, 228, 36, 0, -64] 2023-01-06 23:02:51.207 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xd0\x11\x00\x0f@'], tx_options=, radius=0, non_member_radius=0, lqi=239, rssi=-64) 2023-01-06 23:02:51.208 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xd0\x11\x00\x0f@' 2023-01-06 23:02:51.209 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=208, command_id=17, *direction=, *is_reply=True) 2023-01-06 23:02:51.210 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:51.210 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x11 (TSN 208): mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:51.211 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] No explicit handler for cluster command 0x11: mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:51.212 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09d011000f40' 2023-01-06 23:02:51.397 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[29, , , 1, , 1, 260, 61184, b'\t\xd0\x11\x00\x0f@', 0, 175, 247, 112, 228, 36, 0, -63] 2023-01-06 23:02:51.397 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [29, , , 1, , 1, 260, 61184, b'\t\xd0\x11\x00\x0f@', 0, 175, 247, 112, 228, 36, 0, -63] 2023-01-06 23:02:51.397 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xd0\x11\x00\x0f@'], tx_options=, radius=0, non_member_radius=0, lqi=247, rssi=-63) 2023-01-06 23:02:51.398 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xd0\x11\x00\x0f@' 2023-01-06 23:02:51.398 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=208, command_id=17, *direction=, *is_reply=True) 2023-01-06 23:02:51.399 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:51.400 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x11 (TSN 208): mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:51.400 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] No explicit handler for cluster command 0x11: mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:51.401 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09d011000f40' 2023-01-06 23:02:51.595 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[29, , , 1, , 1, 260, 61184, b'\t\xd0\x11\x00\x0f@', 0, 175, 239, 112, 228, 36, 0, -64] 2023-01-06 23:02:51.595 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [29, , , 1, , 1, 260, 61184, b'\t\xd0\x11\x00\x0f@', 0, 175, 239, 112, 228, 36, 0, -64] 2023-01-06 23:02:51.596 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xd0\x11\x00\x0f@'], tx_options=, radius=0, non_member_radius=0, lqi=239, rssi=-64) 2023-01-06 23:02:51.596 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xd0\x11\x00\x0f@' 2023-01-06 23:02:51.597 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=208, command_id=17, *direction=, *is_reply=True) 2023-01-06 23:02:51.598 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:51.598 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x11 (TSN 208): mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:51.599 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] No explicit handler for cluster command 0x11: mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:51.600 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09d011000f40' 2023-01-06 23:02:51.796 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[29, , , 1, , 1, 260, 61184, b'\t\xd0\x11\x00\x0f@', 0, 175, 239, 112, 228, 36, 0, -64] 2023-01-06 23:02:51.796 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [29, , , 1, , 1, 260, 61184, b'\t\xd0\x11\x00\x0f@', 0, 175, 239, 112, 228, 36, 0, -64] 2023-01-06 23:02:51.796 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xd0\x11\x00\x0f@'], tx_options=, radius=0, non_member_radius=0, lqi=239, rssi=-64) 2023-01-06 23:02:51.797 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xd0\x11\x00\x0f@' 2023-01-06 23:02:51.798 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=208, command_id=17, *direction=, *is_reply=True) 2023-01-06 23:02:51.798 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:51.799 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x11 (TSN 208): mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:51.799 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] No explicit handler for cluster command 0x11: mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:51.801 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09d011000f40' 2023-01-06 23:02:51.998 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[29, , , 1, , 1, 260, 61184, b'\t\xd0\x11\x00\x0f@', 0, 175, 239, 112, 228, 36, 0, -64] 2023-01-06 23:02:51.998 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [29, , , 1, , 1, 260, 61184, b'\t\xd0\x11\x00\x0f@', 0, 175, 239, 112, 228, 36, 0, -64] 2023-01-06 23:02:51.998 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xd0\x11\x00\x0f@'], tx_options=, radius=0, non_member_radius=0, lqi=239, rssi=-64) 2023-01-06 23:02:51.999 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xd0\x11\x00\x0f@' 2023-01-06 23:02:52.000 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=208, command_id=17, *direction=, *is_reply=True) 2023-01-06 23:02:52.000 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:52.001 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x11 (TSN 208): mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:52.001 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] No explicit handler for cluster command 0x11: mcu_version_rsp(param=MCUVersionRsp(tsn=3840, version=64)) 2023-01-06 23:02:52.003 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09d011000f40' 2023-01-06 23:02:52.411 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[28, , , 1, , 1, 260, 10, b'\x00\xd1\x00\x07\x00', 0, 175, 239, 114, 228, 36, 0, -64] 2023-01-06 23:02:52.411 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [28, , , 1, , 1, 260, 10, b'\x00\xd1\x00\x07\x00', 0, 175, 239, 114, 228, 36, 0, -64] 2023-01-06 23:02:52.412 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=10, data=Serialized[b'\x00\xd1\x00\x07\x00'], tx_options=, radius=0, non_member_radius=0, lqi=239, rssi=-64) 2023-01-06 23:02:52.414 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x000a] Received ZCL frame: b'\x00\xd1\x00\x07\x00' 2023-01-06 23:02:52.415 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x000a] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=209, command_id=0, *direction=, *is_reply=False) 2023-01-06 23:02:52.418 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x000a] Decoded ZCL frame: Time:Read_Attributes(attribute_ids=[7]) 2023-01-06 23:02:52.420 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x000a] Received command 0x00 (TSN 209): Read_Attributes(attribute_ids=[7]) 2023-01-06 23:02:52.424 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x000a] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=209, command_id=, *direction=, *is_reply=True) 2023-01-06 23:02:52.427 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x000a] Sending reply: Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0007, status=, value=TypeValue(type=LocalTime, value=726361372))]) 2023-01-06 23:02:52.430 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=209, profile_id=260, cluster_id=10, data=Serialized[b'\x18\xd1\x01\x07\x00\x00#\x1ceK+'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:52.433 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0x000a, data: b'00d1000700' 2023-01-06 23:02:52.436 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (26, 128, , , 260, 10, 1, b'\x18\xd1\x01\x07\x00\x00#\x1ceK+', , 0) 2023-01-06 23:02:52.467 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 128, , 1, , 0, 0, 0, 0] 2023-01-06 23:02:52.467 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x80 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:54.666 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[40, , , 1, , 1, 260, 61184, b'\t\xd2\x02\x00\x01\x06\x00\x00\x08\tz\x00\x00\x00\x00\x00\x00', 0, 175, 247, 122, 228, 36, 0, -63] 2023-01-06 23:02:54.666 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [40, , , 1, , 1, 260, 61184, b'\t\xd2\x02\x00\x01\x06\x00\x00\x08\tz\x00\x00\x00\x00\x00\x00', 0, 175, 247, 122, 228, 36, 0, -63] 2023-01-06 23:02:54.666 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xd2\x02\x00\x01\x06\x00\x00\x08\tz\x00\x00\x00\x00\x00\x00'], tx_options=, radius=0, non_member_radius=0, lqi=247, rssi=-63) 2023-01-06 23:02:54.667 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xd2\x02\x00\x01\x06\x00\x00\x08\tz\x00\x00\x00\x00\x00\x00' 2023-01-06 23:02:54.668 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=210, command_id=2, *direction=, *is_reply=True) 2023-01-06 23:02:54.669 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:set_data_response(param=Command(status=0, tsn=1, command_id=6, function=0, data=[8, 9, 122, 0, 0, 0, 0, 0, 0])) 2023-01-06 23:02:54.669 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x02 (TSN 210): set_data_response(param=Command(status=0, tsn=1, command_id=6, function=0, data=[8, 9, 122, 0, 0, 0, 0, 0, 0])) 2023-01-06 23:02:54.670 DEBUG (MainThread) [zhaquirks.tuya] [0x14b1:1:0xef00] Received value [9, 122, 0, 0, 0, 0, 0, 0] for attribute 0x0006 (command 0x0002) 2023-01-06 23:02:54.671 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=210, command_id=, *direction=, *is_reply=True) 2023-01-06 23:02:54.672 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply: Default_Response(command_id=2, status=) 2023-01-06 23:02:54.672 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=210, profile_id=260, cluster_id=61184, data=Serialized[b'\x18\xd2\x0b\x02\x00'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:54.673 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09d202000106000008097a000000000000' 2023-01-06 23:02:54.675 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (20, 129, , , 260, 61184, 1, b'\x18\xd2\x0b\x02\x00', , 0) 2023-01-06 23:02:54.809 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[36, , , 1, , 1, 260, 61184, b'\t\xd3\x02\x00\x02\x01\x02\x00\x04\x00\x00\x00\x00', 0, 175, 247, 122, 228, 36, 0, -63] 2023-01-06 23:02:54.809 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [36, , , 1, , 1, 260, 61184, b'\t\xd3\x02\x00\x02\x01\x02\x00\x04\x00\x00\x00\x00', 0, 175, 247, 122, 228, 36, 0, -63] 2023-01-06 23:02:54.810 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xd3\x02\x00\x02\x01\x02\x00\x04\x00\x00\x00\x00'], tx_options=, radius=0, non_member_radius=0, lqi=247, rssi=-63) 2023-01-06 23:02:54.810 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xd3\x02\x00\x02\x01\x02\x00\x04\x00\x00\x00\x00' 2023-01-06 23:02:54.812 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=211, command_id=2, *direction=, *is_reply=True) 2023-01-06 23:02:54.813 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:set_data_response(param=Command(status=0, tsn=2, command_id=513, function=0, data=[4, 0, 0, 0, 0])) 2023-01-06 23:02:54.813 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x02 (TSN 211): set_data_response(param=Command(status=0, tsn=2, command_id=513, function=0, data=[4, 0, 0, 0, 0])) 2023-01-06 23:02:54.814 DEBUG (MainThread) [zhaquirks.tuya] [0x14b1:1:0xef00] Received value [0, 0, 0, 0] for attribute 0x0201 (command 0x0002) 2023-01-06 23:02:54.815 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=211, command_id=, *direction=, *is_reply=True) 2023-01-06 23:02:54.816 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply: Default_Response(command_id=2, status=) 2023-01-06 23:02:54.817 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=211, profile_id=260, cluster_id=61184, data=Serialized[b'\x18\xd3\x0b\x02\x00'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:54.817 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09d30200020102000400000000' 2023-01-06 23:02:54.819 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (20, 130, , , 260, 61184, 1, b'\x18\xd3\x0b\x02\x00', , 0) 2023-01-06 23:02:54.850 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 130, , 1, , 0, 0, 0, 0] 2023-01-06 23:02:54.851 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x82 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:54.969 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[40, , , 1, , 1, 260, 61184, b'\t\xd4\x02\x00\x03\x03\x00\x00\x08\x17\x01\x17\x01\x00\x00\x00\x00', 0, 175, 247, 122, 228, 36, 0, -63] 2023-01-06 23:02:54.969 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [40, , , 1, , 1, 260, 61184, b'\t\xd4\x02\x00\x03\x03\x00\x00\x08\x17\x01\x17\x01\x00\x00\x00\x00', 0, 175, 247, 122, 228, 36, 0, -63] 2023-01-06 23:02:54.969 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xd4\x02\x00\x03\x03\x00\x00\x08\x17\x01\x17\x01\x00\x00\x00\x00'], tx_options=, radius=0, non_member_radius=0, lqi=247, rssi=-63) 2023-01-06 23:02:54.970 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xd4\x02\x00\x03\x03\x00\x00\x08\x17\x01\x17\x01\x00\x00\x00\x00' 2023-01-06 23:02:54.971 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=212, command_id=2, *direction=, *is_reply=True) 2023-01-06 23:02:54.972 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:set_data_response(param=Command(status=0, tsn=3, command_id=3, function=0, data=[8, 23, 1, 23, 1, 0, 0, 0, 0])) 2023-01-06 23:02:54.972 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x02 (TSN 212): set_data_response(param=Command(status=0, tsn=3, command_id=3, function=0, data=[8, 23, 1, 23, 1, 0, 0, 0, 0])) 2023-01-06 23:02:54.973 DEBUG (MainThread) [zhaquirks.tuya] [0x14b1:1:0xef00] Received value [23, 1, 23, 1, 0, 0, 0, 0] for attribute 0x0003 (command 0x0002) 2023-01-06 23:02:54.974 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=212, command_id=, *direction=, *is_reply=True) 2023-01-06 23:02:54.975 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply: Default_Response(command_id=2, status=) 2023-01-06 23:02:54.976 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=212, profile_id=260, cluster_id=61184, data=Serialized[b'\x18\xd4\x0b\x02\x00'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:54.976 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09d4020003030000081701170100000000' 2023-01-06 23:02:54.977 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (20, 131, , , 260, 61184, 1, b'\x18\xd4\x0b\x02\x00', , 0) 2023-01-06 23:02:55.008 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 131, , 1, , 0, 0, 0, 0] 2023-01-06 23:02:55.008 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x83 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:55.117 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[40, , , 1, , 1, 260, 61184, b'\t\xd5\x02\x00\x04\x04\x00\x00\x08\x01\x07\x01\x07\x00\x00\x00\x00', 0, 175, 239, 122, 228, 36, 0, -64] 2023-01-06 23:02:55.117 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [40, , , 1, , 1, 260, 61184, b'\t\xd5\x02\x00\x04\x04\x00\x00\x08\x01\x07\x01\x07\x00\x00\x00\x00', 0, 175, 239, 122, 228, 36, 0, -64] 2023-01-06 23:02:55.117 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xd5\x02\x00\x04\x04\x00\x00\x08\x01\x07\x01\x07\x00\x00\x00\x00'], tx_options=, radius=0, non_member_radius=0, lqi=239, rssi=-64) 2023-01-06 23:02:55.118 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xd5\x02\x00\x04\x04\x00\x00\x08\x01\x07\x01\x07\x00\x00\x00\x00' 2023-01-06 23:02:55.119 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=213, command_id=2, *direction=, *is_reply=True) 2023-01-06 23:02:55.120 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:set_data_response(param=Command(status=0, tsn=4, command_id=4, function=0, data=[8, 1, 7, 1, 7, 0, 0, 0, 0])) 2023-01-06 23:02:55.120 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x02 (TSN 213): set_data_response(param=Command(status=0, tsn=4, command_id=4, function=0, data=[8, 1, 7, 1, 7, 0, 0, 0, 0])) 2023-01-06 23:02:55.121 DEBUG (MainThread) [zhaquirks.tuya] [0x14b1:1:0xef00] Received value [1, 7, 1, 7, 0, 0, 0, 0] for attribute 0x0004 (command 0x0002) 2023-01-06 23:02:55.122 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=213, command_id=, *direction=, *is_reply=True) 2023-01-06 23:02:55.123 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply: Default_Response(command_id=2, status=) 2023-01-06 23:02:55.123 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=213, profile_id=260, cluster_id=61184, data=Serialized[b'\x18\xd5\x0b\x02\x00'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:55.124 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09d5020004040000080107010700000000' 2023-01-06 23:02:55.125 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (20, 132, , , 260, 61184, 1, b'\x18\xd5\x0b\x02\x00', , 0) 2023-01-06 23:02:55.158 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 132, , 1, , 0, 0, 0, 0] 2023-01-06 23:02:55.159 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x84 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:55.260 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[34, , , 1, , 1, 260, 61184, b'\t\xd6\x02\x00\x05\x0b\x00\x00\x02\x01\x00', 0, 175, 247, 122, 228, 36, 0, -63] 2023-01-06 23:02:55.260 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [34, , , 1, , 1, 260, 61184, b'\t\xd6\x02\x00\x05\x0b\x00\x00\x02\x01\x00', 0, 175, 247, 122, 228, 36, 0, -63] 2023-01-06 23:02:55.261 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xd6\x02\x00\x05\x0b\x00\x00\x02\x01\x00'], tx_options=, radius=0, non_member_radius=0, lqi=247, rssi=-63) 2023-01-06 23:02:55.261 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xd6\x02\x00\x05\x0b\x00\x00\x02\x01\x00' 2023-01-06 23:02:55.262 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=214, command_id=2, *direction=, *is_reply=True) 2023-01-06 23:02:55.263 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:set_data_response(param=Command(status=0, tsn=5, command_id=11, function=0, data=[2, 1, 0])) 2023-01-06 23:02:55.263 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x02 (TSN 214): set_data_response(param=Command(status=0, tsn=5, command_id=11, function=0, data=[2, 1, 0])) 2023-01-06 23:02:55.264 DEBUG (MainThread) [zhaquirks.tuya] [0x14b1:1:0xef00] Received value [1, 0] for attribute 0x000b (command 0x0002) 2023-01-06 23:02:55.265 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=214, command_id=, *direction=, *is_reply=True) 2023-01-06 23:02:55.266 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply: Default_Response(command_id=2, status=) 2023-01-06 23:02:55.267 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=214, profile_id=260, cluster_id=61184, data=Serialized[b'\x18\xd6\x0b\x02\x00'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:55.269 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09d60200050b0000020100' 2023-01-06 23:02:55.271 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (20, 133, , , 260, 61184, 1, b'\x18\xd6\x0b\x02\x00', , 0) 2023-01-06 23:02:55.309 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 133, , 1, , 0, 0, 0, 0] 2023-01-06 23:02:55.309 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x85 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:55.414 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: failed to get attributes '['start_up_on_off']' on 'on_off' cluster: 2023-01-06 23:02:55.415 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: async_initialize: retryable request #1 failed: . Retrying in 1.2s 2023-01-06 23:02:55.479 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[45, , , 1, , 1, 260, 61184, b'\t\xd7\x02\x00\x07\x10\x01\x00\x01\x01\x12\x03\x00\x0822491039', 0, 175, 247, 122, 228, 36, 0, -63] 2023-01-06 23:02:55.479 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [45, , , 1, , 1, 260, 61184, b'\t\xd7\x02\x00\x07\x10\x01\x00\x01\x01\x12\x03\x00\x0822491039', 0, 175, 247, 122, 228, 36, 0, -63] 2023-01-06 23:02:55.480 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xd7\x02\x00\x07\x10\x01\x00\x01\x01\x12\x03\x00\x0822491039'], tx_options=, radius=0, non_member_radius=0, lqi=247, rssi=-63) 2023-01-06 23:02:55.480 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xd7\x02\x00\x07\x10\x01\x00\x01\x01\x12\x03\x00\x0822491039' 2023-01-06 23:02:55.481 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=215, command_id=2, *direction=, *is_reply=True) 2023-01-06 23:02:55.482 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:set_data_response(param=Command(status=0, tsn=7, command_id=272, function=0, data=[1, 1, 18, 3, 0, 8, 50, 50, 52, 57, 49, 48, 51, 57])) 2023-01-06 23:02:55.482 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x02 (TSN 215): set_data_response(param=Command(status=0, tsn=7, command_id=272, function=0, data=[1, 1, 18, 3, 0, 8, 50, 50, 52, 57, 49, 48, 51, 57])) 2023-01-06 23:02:55.483 DEBUG (MainThread) [zhaquirks.tuya] [0x14b1:1:0xef00] Received value [1, 18, 3, 0, 8, 50, 50, 52, 57, 49, 48, 51, 57] for attribute 0x0110 (command 0x0002) 2023-01-06 23:02:55.485 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=215, command_id=, *direction=, *is_reply=True) 2023-01-06 23:02:55.486 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply: Default_Response(command_id=2, status=) 2023-01-06 23:02:55.486 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=215, profile_id=260, cluster_id=61184, data=Serialized[b'\x18\xd7\x0b\x02\x00'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:55.488 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0xef00, data: b'09d70200071001000101120300083232343931303339' 2023-01-06 23:02:55.490 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (20, 134, , , 260, 61184, 1, b'\x18\xd7\x0b\x02\x00', , 0) 2023-01-06 23:02:55.521 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 134, , 1, , 0, 0, 0, 0] 2023-01-06 23:02:55.522 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x86 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:55.655 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 129, , 1, , 0, 0, 0, 0] 2023-01-06 23:02:55.656 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x81 'aps_data_confirm' for , status: 0x00 2023-01-06 23:02:56.644 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: initializing channel: from_cache: False 2023-01-06 23:02:56.645 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: initializing cached channel attributes: ['start_up_on_off'] 2023-01-06 23:02:56.646 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: Reading attributes in chunks: ['start_up_on_off'] 2023-01-06 23:02:56.648 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0006] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=135, command_id=, *direction=, *is_reply=False) 2023-01-06 23:02:56.650 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0006] Sending request: Read_Attributes(attribute_ids=[16387]) 2023-01-06 23:02:56.652 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=135, profile_id=260, cluster_id=6, data=Serialized[b'\x00\x87\x00\x03@'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:02:56.653 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (20, 136, , , 260, 6, 1, b'\x00\x87\x00\x03@', , 0) 2023-01-06 23:02:56.672 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 136, , 1, , 0, 0, 0, 0] 2023-01-06 23:02:56.674 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x88 'aps_data_confirm' for , status: 0x00 2023-01-06 23:03:00.940 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[38, , , 1, , 1, 260, 0, b'\x08\xd8\n\x01\x00 F\xe2\xff 6\xe4\xff \x00', 0, 175, 239, 131, 228, 36, 0, -64] 2023-01-06 23:03:00.941 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [38, , , 1, , 1, 260, 0, b'\x08\xd8\n\x01\x00 F\xe2\xff 6\xe4\xff \x00', 0, 175, 239, 131, 228, 36, 0, -64] 2023-01-06 23:03:00.941 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=0, data=Serialized[b'\x08\xd8\n\x01\x00 F\xe2\xff 6\xe4\xff \x00'], tx_options=, radius=0, non_member_radius=0, lqi=239, rssi=-64) 2023-01-06 23:03:00.941 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Received ZCL frame: b'\x08\xd8\n\x01\x00 F\xe2\xff 6\xe4\xff \x00' 2023-01-06 23:03:00.942 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=216, command_id=10, *direction=, *is_reply=True) 2023-01-06 23:03:00.943 DEBUG (MainThread) [zigpy.zcl] [0x14B1: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=54)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2023-01-06 23:03:00.944 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Received command 0x0A (TSN 216): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=54)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2023-01-06 23:03:00.945 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Attribute report received: app_version=70, 0xFFE2=54, 0xFFE4=0 2023-01-06 23:03:00.946 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=216, command_id=, *direction=, *is_reply=True) 2023-01-06 23:03:00.947 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Sending reply: Default_Response(command_id=10, status=) 2023-01-06 23:03:00.948 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=216, profile_id=260, cluster_id=0, data=Serialized[b'\x18\xd8\x0b\n\x00'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:03:00.948 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0x0000, data: b'08d80a01002046e2ff2036e4ff2000' 2023-01-06 23:03:00.950 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (20, 137, , , 260, 0, 1, b'\x18\xd8\x0b\n\x00', , 0) 2023-01-06 23:03:00.977 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 137, , 1, , 0, 0, 0, 0] 2023-01-06 23:03:00.977 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x89 'aps_data_confirm' for , status: 0x00 2023-01-06 23:03:01.192 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_indication[45, , , 1, , 1, 260, 0, b'\x08\xd9\n\xdf\xffB\x0f\xc2dK+\x13\x07eK+e\x08eK+\x12', 0, 175, 255, 131, 228, 36, 0, -62] 2023-01-06 23:03:01.192 DEBUG (MainThread) [zigpy_deconz.api] APS data indication response: [45, , , 1, , 1, 260, 0, b'\x08\xd9\n\xdf\xffB\x0f\xc2dK+\x13\x07eK+e\x08eK+\x12', 0, 175, 255, 131, 228, 36, 0, -62] 2023-01-06 23:03:01.193 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=0, data=Serialized[b'\x08\xd9\n\xdf\xffB\x0f\xc2dK+\x13\x07eK+e\x08eK+\x12'], tx_options=, radius=0, non_member_radius=0, lqi=255, rssi=-62) 2023-01-06 23:03:01.193 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Received ZCL frame: b'\x08\xd9\n\xdf\xffB\x0f\xc2dK+\x13\x07eK+e\x08eK+\x12' 2023-01-06 23:03:01.194 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=217, command_id=10, *direction=, *is_reply=True) 2023-01-06 23:03:01.195 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0xFFDF, value=TypeValue(type=CharacterString, value='�dK+\x13\x07eK+e\x08eK+\x12'))]) 2023-01-06 23:03:01.195 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Received command 0x0A (TSN 217): Report_Attributes(attribute_reports=[Attribute(attrid=0xFFDF, value=TypeValue(type=CharacterString, value='�dK+\x13\x07eK+e\x08eK+\x12'))]) 2023-01-06 23:03:01.196 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Attribute report received: 0xFFDF='�dK+\x13\x07eK+e\x08eK+\x12' 2023-01-06 23:03:01.197 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=217, command_id=, *direction=, *is_reply=True) 2023-01-06 23:03:01.198 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Sending reply: Default_Response(command_id=10, status=) 2023-01-06 23:03:01.199 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=217, profile_id=260, cluster_id=0, data=Serialized[b'\x18\xd9\x0b\n\x00'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:03:01.199 DEBUG (MainThread) [zigpy_deconz.api] 'aps_data_indication' response from , ep: 1, profile: 0x0104, cluster_id: 0x0000, data: b'08d90adfff420fc2644b2b1307654b2b6508654b2b12' 2023-01-06 23:03:01.201 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (20, 138, , , 260, 0, 1, b'\x18\xd9\x0b\n\x00', , 0) 2023-01-06 23:03:01.223 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 138, , 1, , 0, 0, 0, 0] 2023-01-06 23:03:01.223 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x8a 'aps_data_confirm' for , status: 0x00 2023-01-06 23:03:01.675 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: failed to get attributes '['start_up_on_off']' on 'on_off' cluster: 2023-01-06 23:03:01.676 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: async_initialize: retryable request #2 failed: . Retrying in 1.0s 2023-01-06 23:03:02.664 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: initializing channel: from_cache: False 2023-01-06 23:03:02.665 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: initializing cached channel attributes: ['start_up_on_off'] 2023-01-06 23:03:02.665 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: Reading attributes in chunks: ['start_up_on_off'] 2023-01-06 23:03:02.666 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0006] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=139, command_id=, *direction=, *is_reply=False) 2023-01-06 23:03:02.667 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0006] Sending request: Read_Attributes(attribute_ids=[16387]) 2023-01-06 23:03:02.667 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=139, profile_id=260, cluster_id=6, data=Serialized[b'\x00\x8b\x00\x03@'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:03:02.668 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (20, 140, , , 260, 6, 1, b'\x00\x8b\x00\x03@', , 0) 2023-01-06 23:03:02.683 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 140, , 1, , 0, 0, 0, 0] 2023-01-06 23:03:02.684 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x8c 'aps_data_confirm' for , status: 0x00 2023-01-06 23:03:07.685 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: failed to get attributes '['start_up_on_off']' on 'on_off' cluster: 2023-01-06 23:03:07.685 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: async_initialize: retryable request #3 failed: . Retrying in 3.4s 2023-01-06 23:03:11.050 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: initializing channel: from_cache: False 2023-01-06 23:03:11.050 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: initializing cached channel attributes: ['start_up_on_off'] 2023-01-06 23:03:11.051 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: Reading attributes in chunks: ['start_up_on_off'] 2023-01-06 23:03:11.051 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0006] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=142, command_id=, *direction=, *is_reply=False) 2023-01-06 23:03:11.052 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0006] Sending request: Read_Attributes(attribute_ids=[16387]) 2023-01-06 23:03:11.053 DEBUG (MainThread) [zigpy_deconz.zigbee.application] Sending packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x0000), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x14B1), dst_ep=1, source_route=None, extended_timeout=False, tsn=142, profile_id=260, cluster_id=6, data=Serialized[b'\x00\x8e\x00\x03@'], tx_options=, radius=0, non_member_radius=0, lqi=None, rssi=None) 2023-01-06 23:03:11.053 DEBUG (MainThread) [zigpy_deconz.api] Command Command.aps_data_request (20, 143, , , 260, 6, 1, b'\x00\x8e\x00\x03@', , 0) 2023-01-06 23:03:11.068 DEBUG (MainThread) [zigpy_deconz.api] Received command aps_data_confirm[12, , 143, , 1, , 0, 0, 0, 0] 2023-01-06 23:03:11.069 DEBUG (MainThread) [zigpy_deconz.api] Request id: 0x8f 'aps_data_confirm' for , status: 0x00 2023-01-06 23:03:16.070 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: failed to get attributes '['start_up_on_off']' on 'on_off' cluster: 2023-01-06 23:03:16.070 WARNING (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: async_initialize: all attempts have failed: [TimeoutError(), TimeoutError(), TimeoutError(), TimeoutError()] 2023-01-06 23:03:16.073 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0006]: 'async_initialize' stage succeeded 2023-01-06 23:03:16.074 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0000]: 'async_initialize' stage succeeded 2023-01-06 23:03:16.074 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0702]: 'async_initialize' stage succeeded 2023-01-06 23:03:16.074 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0b04]: 'async_initialize' stage succeeded 2023-01-06 23:03:16.074 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0xef00]: 'async_initialize' stage succeeded 2023-01-06 23:03:16.074 DEBUG (MainThread) [homeassistant.components.zha.core.channels.base] [0x14B1:1:0x0019]: 'async_initialize' stage succeeded 2023-01-06 23:03:16.075 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x14B1](TS0601): power source: Mains 2023-01-06 23:03:16.076 DEBUG (MainThread) [homeassistant.components.zha.core.device] [0x14B1](TS0601): completed initialization 2023-01-06 23:04:38.672 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xda\x02\x00\x08\x06\x00\x00\x08\ty\x00\x00\x00\x00\x00\x00'], tx_options=, radius=0, non_member_radius=0, lqi=247, rssi=-63) 2023-01-06 23:04:38.674 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xda\x02\x00\x08\x06\x00\x00\x08\ty\x00\x00\x00\x00\x00\x00' 2023-01-06 23:04:38.675 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=218, command_id=2, *direction=, *is_reply=True) 2023-01-06 23:04:38.677 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:set_data_response(param=Command(status=0, tsn=8, command_id=6, function=0, data=[8, 9, 121, 0, 0, 0, 0, 0, 0])) 2023-01-06 23:04:38.678 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x02 (TSN 218): set_data_response(param=Command(status=0, tsn=8, command_id=6, function=0, data=[8, 9, 121, 0, 0, 0, 0, 0, 0])) 2023-01-06 23:04:38.680 DEBUG (MainThread) [zhaquirks.tuya] [0x14b1:1:0xef00] Received value [9, 121, 0, 0, 0, 0, 0, 0] for attribute 0x0006 (command 0x0002) 2023-01-06 23:04:38.683 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=218, command_id=, *direction=, *is_reply=True) 2023-01-06 23:04:38.684 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply: Default_Response(command_id=2, status=) 2023-01-06 23:04:38.811 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xdb\x02\x00\t\x01\x02\x00\x04\x00\x00\x00\x00'], tx_options=, radius=0, non_member_radius=0, lqi=239, rssi=-64) 2023-01-06 23:04:38.811 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xdb\x02\x00\t\x01\x02\x00\x04\x00\x00\x00\x00' 2023-01-06 23:04:38.812 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=219, command_id=2, *direction=, *is_reply=True) 2023-01-06 23:04:38.813 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:set_data_response(param=Command(status=0, tsn=9, command_id=513, function=0, data=[4, 0, 0, 0, 0])) 2023-01-06 23:04:38.813 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x02 (TSN 219): set_data_response(param=Command(status=0, tsn=9, command_id=513, function=0, data=[4, 0, 0, 0, 0])) 2023-01-06 23:04:38.813 DEBUG (MainThread) [zhaquirks.tuya] [0x14b1:1:0xef00] Received value [0, 0, 0, 0] for attribute 0x0201 (command 0x0002) 2023-01-06 23:04:38.814 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=219, command_id=, *direction=, *is_reply=True) 2023-01-06 23:04:38.815 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply: Default_Response(command_id=2, status=) 2023-01-06 23:05:32.370 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=True, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=False), manufacturer=4417, tsn=170, command_id=0, *direction=, *is_reply=False) 2023-01-06 23:05:32.371 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending request: set_data(param=Command(status=0, tsn=0, command_id=257, function=0, data=[1, 1])) 2023-01-06 23:05:32.405 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\x18\xaa\x0b\x00\x83'], tx_options=, radius=0, non_member_radius=0, lqi=247, rssi=-63) 2023-01-06 23:05:32.406 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\x18\xaa\x0b\x00\x83' 2023-01-06 23:05:32.407 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=170, command_id=11, *direction=, *is_reply=True) 2023-01-06 23:05:32.409 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:Default_Response(command_id=0, status=) 2023-01-06 23:05:38.002 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=True, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=False), manufacturer=4417, tsn=172, command_id=0, *direction=, *is_reply=False) 2023-01-06 23:05:38.002 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending request: set_data(param=Command(status=0, tsn=0, command_id=257, function=0, data=[1, 0])) 2023-01-06 23:05:38.048 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\x18\xac\x0b\x00\x83'], tx_options=, radius=0, non_member_radius=0, lqi=215, rssi=-67) 2023-01-06 23:05:38.049 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\x18\xac\x0b\x00\x83' 2023-01-06 23:05:38.050 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=172, command_id=11, *direction=, *is_reply=True) 2023-01-06 23:05:38.052 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:Default_Response(command_id=0, status=) 2023-01-06 23:05:41.765 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=True, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=False), manufacturer=4417, tsn=174, command_id=0, *direction=, *is_reply=False) 2023-01-06 23:05:41.766 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending request: set_data(param=Command(status=0, tsn=0, command_id=257, function=0, data=[1, 1])) 2023-01-06 23:05:41.800 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\x18\xae\x0b\x00\x83'], tx_options=, radius=0, non_member_radius=0, lqi=215, rssi=-67) 2023-01-06 23:05:41.801 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\x18\xae\x0b\x00\x83' 2023-01-06 23:05:41.803 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=174, command_id=11, *direction=, *is_reply=True) 2023-01-06 23:05:41.804 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:Default_Response(command_id=0, status=) 2023-01-06 23:05:48.429 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=True, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=False), manufacturer=4417, tsn=176, command_id=0, *direction=, *is_reply=False) 2023-01-06 23:05:48.429 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending request: set_data(param=Command(status=0, tsn=0, command_id=257, function=0, data=[1, 0])) 2023-01-06 23:05:48.456 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\x18\xb0\x0b\x00\x83'], tx_options=, radius=0, non_member_radius=0, lqi=239, rssi=-64) 2023-01-06 23:05:48.456 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\x18\xb0\x0b\x00\x83' 2023-01-06 23:05:48.457 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=176, command_id=11, *direction=, *is_reply=True) 2023-01-06 23:05:48.457 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:Default_Response(command_id=0, status=) 2023-01-06 23:05:51.537 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=True, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=False), manufacturer=4417, tsn=178, command_id=0, *direction=, *is_reply=False) 2023-01-06 23:05:51.538 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending request: set_data(param=Command(status=0, tsn=0, command_id=257, function=0, data=[1, 1])) 2023-01-06 23:05:51.578 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\x18\xb2\x0b\x00\x83'], tx_options=, radius=0, non_member_radius=0, lqi=207, rssi=-68) 2023-01-06 23:05:51.579 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\x18\xb2\x0b\x00\x83' 2023-01-06 23:05:51.579 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=178, command_id=11, *direction=, *is_reply=True) 2023-01-06 23:05:51.580 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:Default_Response(command_id=0, status=) 2023-01-06 23:05:59.019 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=0, data=Serialized[b'\x08\xdc\n\x01\x00 F\xe2\xff 6\xe4\xff \x00'], tx_options=, radius=0, non_member_radius=0, lqi=231, rssi=-65) 2023-01-06 23:05:59.020 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Received ZCL frame: b'\x08\xdc\n\x01\x00 F\xe2\xff 6\xe4\xff \x00' 2023-01-06 23:05:59.020 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=220, command_id=10, *direction=, *is_reply=True) 2023-01-06 23:05:59.021 DEBUG (MainThread) [zigpy.zcl] [0x14B1: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=54)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2023-01-06 23:05:59.022 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Received command 0x0A (TSN 220): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=70)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=54)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))]) 2023-01-06 23:05:59.022 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Attribute report received: app_version=70, 0xFFE2=54, 0xFFE4=0 2023-01-06 23:05:59.023 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=220, command_id=, *direction=, *is_reply=True) 2023-01-06 23:05:59.024 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0x0000] Sending reply: Default_Response(command_id=10, status=) 2023-01-06 23:06:38.681 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xdd\x02\x00\n\x06\x00\x00\x08\t\x82\x00\x00\x00\x00\x00\x00'], tx_options=, radius=0, non_member_radius=0, lqi=247, rssi=-63) 2023-01-06 23:06:38.682 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xdd\x02\x00\n\x06\x00\x00\x08\t\x82\x00\x00\x00\x00\x00\x00' 2023-01-06 23:06:38.683 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=221, command_id=2, *direction=, *is_reply=True) 2023-01-06 23:06:38.683 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:set_data_response(param=Command(status=0, tsn=10, command_id=6, function=0, data=[8, 9, 130, 0, 0, 0, 0, 0, 0])) 2023-01-06 23:06:38.684 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x02 (TSN 221): set_data_response(param=Command(status=0, tsn=10, command_id=6, function=0, data=[8, 9, 130, 0, 0, 0, 0, 0, 0])) 2023-01-06 23:06:38.684 DEBUG (MainThread) [zhaquirks.tuya] [0x14b1:1:0xef00] Received value [9, 130, 0, 0, 0, 0, 0, 0] for attribute 0x0006 (command 0x0002) 2023-01-06 23:06:38.685 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=221, command_id=, *direction=, *is_reply=True) 2023-01-06 23:06:38.685 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply: Default_Response(command_id=2, status=) 2023-01-06 23:06:38.776 DEBUG (MainThread) [zigpy.application] Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=, address=0x14B1), src_ep=1, dst=AddrModeAddress(addr_mode=, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=None, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xde\x02\x00\x0b\x01\x02\x00\x04\x00\x00\x00\x00'], tx_options=, radius=0, non_member_radius=0, lqi=255, rssi=-62) 2023-01-06 23:06:38.777 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received ZCL frame: b'\t\xde\x02\x00\x0b\x01\x02\x00\x04\x00\x00\x00\x00' 2023-01-06 23:06:38.778 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=0, direction=, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=222, command_id=2, *direction=, *is_reply=True) 2023-01-06 23:06:38.780 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Decoded ZCL frame: TuyaManufClusterDinPower:set_data_response(param=Command(status=0, tsn=11, command_id=513, function=0, data=[4, 0, 0, 0, 0])) 2023-01-06 23:06:38.782 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Received command 0x02 (TSN 222): set_data_response(param=Command(status=0, tsn=11, command_id=513, function=0, data=[4, 0, 0, 0, 0])) 2023-01-06 23:06:38.783 DEBUG (MainThread) [zhaquirks.tuya] [0x14b1:1:0xef00] Received value [0, 0, 0, 0] for attribute 0x0201 (command 0x0002) 2023-01-06 23:06:38.785 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=, is_manufacturer_specific=False, direction=, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=222, command_id=, *direction=, *is_reply=True) 2023-01-06 23:06:38.786 DEBUG (MainThread) [zigpy.zcl] [0x14B1:1:0xef00] Sending reply: Default_Response(command_id=2, status=)
BenVDL commented 1 year ago

@TheJulianJES @RealKanashii Thanks for your hard work!! The button (switch) is still not working. @RealKanashii In your screenshot above, your switch is off and your active power is 922W and current of 2,3A. Does your switch really works?

RealKanashii commented 1 year ago

Let me try tomorrow. It worked for sure. I cut the power twice before. Maybe the last quirk broke something but for sure it was working.

RealKanashii commented 1 year ago

I think maybe the switch is "inverted" in state. I will confirm you tomorrow.

BenVDL commented 1 year ago

@RealKanashii Hello, do you have more news yet? Thanks!

RealKanashii commented 1 year ago

Tested, not working. I will check it later.

RealKanashii commented 1 year ago

image

TheJulianJES commented 1 year ago

Not sure if this works at all, but for the switch, you could try to copy the TuyaOnOff cluster class in the custom quirk (from here).

Then, replace CustomCluster (first copied line) with NoManufacturerCluster (might need to import that). (Also make sure to remove the TuyaOnOff cluster from the imports, as the one from the custom quirk needs to be used.)

EDIT: See below for a better way to do this.

javicalle commented 1 year ago

The same can be done if you declare a new TuyaOnOffNM class like:

class TuyaOnOffNM(NoManufacturerCluster, TuyaOnOff):
    """Tuya OnOff cluster with NoManufacturerID."""

And using this class in the replacement part:

            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,
                    TuyaOnOffNM,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            }
RealKanashii commented 1 year ago

The same can be done if you declare a new TuyaOnOffNM class like:

class TuyaOnOffNM(NoManufacturerCluster, TuyaOnOff):
    """Tuya OnOff cluster with NoManufacturerID."""

And using this class in the replacement part:

            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,
                    TuyaOnOffNM,
                ],
                OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id],
            }

I had to import a lot of classes as this class need them: foundation, OnOff, Union, etc

from zigpy.zcl import foundation
from zhaquirks.tuya import NoManufacturerCluster
from typing import Any, Callable, Dict, List, Optional, Tuple, Union
from zigpy.zcl.clusters.general import Basic, Groups, Ota, Scenes, Time, GreenPowerProxy, OnOff
from zigpy.zcl.clusters.homeautomation import ElectricalMeasurement
from zigpy.zcl.clusters.smartenergy import Metering

Anyway once I fullfilled all the imports the cluster shows the same: image

javicalle commented 1 year ago

Based on the quirk from your comment https://github.com/zigpy/zha-device-handlers/issues/1768#issuecomment-1273648283 the new proposal would be something like:

ts0601_din_power.py ```python """Tuya Din Power Meter.""" from zigpy.profiles import zha import zigpy.types as t from zigpy.zcl.clusters.general import Basic, Groups, Ota, Scenes, Time, GreenPowerProxy 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 ( NoManufacturerCluster, TuyaManufClusterAttributes, TuyaOnOff, TuyaSwitch, ) TUYA_TOTAL_ENERGY_ATTR = 0x0201 #total energy /100 0x0211 TUYA_CURRENT_ATTR = 0x0011 #0x0212 TUYA_POWER_ATTR = 0x0006 #0x0213 TUYA_VOLTAGE_ATTR = 0x0004 #0x0214 TUYA_DIN_SWITCH_ATTR = 0x000b #0x0101 SWITCH_EVENT = "switch_event" class TuyaOnOffNM(NoManufacturerCluster, TuyaOnOff): """Tuya OnOff cluster with NoManufacturerID.""" 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), #t.int16s TUYA_POWER_ATTR: ("power", t.uint16_t, True), #t.uint16_t 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_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 #0x050B VOLTAGE_ID = 0x0505 CURRENT_ID = 0x0508 AC_CURRENT_MULTIPLIER = 0x0602 AC_CURRENT_DIVISOR = 0x0603 AC_VOLTAGE_MULTIPLIER = 0x0600 _CONSTANT_ATTRIBUTES = {AC_CURRENT_MULTIPLIER: 1, AC_CURRENT_DIVISOR: 1000, AC_VOLTAGE_MULTIPLIER: 2} 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 current_reported(self, value): """Ampers reported.""" self._update_attribute(self.CURRENT_ID, value) class TuyaElectricalMeasurement(LocalDataCluster, Metering): """Custom class for total energy measurement.""" cluster_id = Metering.cluster_id CURRENT_ID = 0x0000 POWER_WATT = 0x0000 """Setting unit of measurement.""" _CONSTANT_ATTRIBUTES = {0x0300: POWER_WATT} def energy_reported(self, value): """Summation Energy reported.""" self._update_attribute(self.CURRENT_ID, value) class TuyaPowerMeter(TuyaSwitch): """Tuya power meter device.""" signature = { # "node_descriptor": "", # device_version=1 # input_clusters=[0x0000, 0x0004, 0x0005, 0xef00] # output_clusters=[0x000a, 0x0019] MODELS_INFO: [ ("_TZE200_byzdayie", "TS0601"), ("_TZE200_ewxhg6o9", "TS0601"), ], ENDPOINTS: { # 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, TuyaOnOffNM, ], OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id], } } } class TuyaPowerMeter_GPP(TuyaSwitch): """Tuya power meter device.""" signature = { # "node_descriptor": "", # device_version=1 # input_clusters=[0x0000, 0x0004, 0x0005, 0xef00] # output_clusters=[0x000a, 0x0019] MODELS_INFO: [ ("_TZE200_lsanae15", "TS0601"), ], ENDPOINTS: { # 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], }, 242: { #

I'm a little lost here. What are we trying to fix?

RealKanashii commented 1 year ago

An empty class?

Well with my last quirk we discovered the onoff button is not working ( i really though it was), in fact i'm not sure the PD is correct as the zigbee2mqtt code I found with this device tells the on/off DP is 16. The configuration show and error in the on/off attribute although is imported from onoff cluster which seems to work otherwirse.

javicalle commented 1 year ago

Not empty, you can expand it 😉

If you can interact with the phisycal device (pressing a button or whatever), please attach the debug logs from any device operation.

RealKanashii commented 1 year ago

@BenVDL use this quirk: https://github.com/zigpy/zha-device-handlers/issues/1768#issuecomment-1257134983

I probably broke something testing some changes. The on/off switch still failing but now we can continue from it. Not sure about the values although

RealKanashii commented 1 year ago

For what I saw this rail have in the DP6 several values not only the current but the voltage and power. How can I split the info from 1 DP to assign and override the cluster info?

DP6 is the phase with all the values, example: raw: [ 9 59 0 0 0 0 0 0 ]

case 6:   
                     return {
                            current: ((value[4] | value[3] << 8) / 1000), voltage: ((value[1] | value[0] << 8) / 10), power: ((value[7] | value[6] << 8))
                        };

DP 16 is definitely the switch with boolean values

case 16: // DPID that we added to common
                       return {   state: value ? 'ON' : 'OFF'};

Can someone help to recreate this transformation with this quirk?

RealKanashii commented 1 year ago
value=[8, 206, 0, 9, 12, 0, 1, 170]

voltage=((value[1] | (value[0] << 8)) / 10)
current=((value[4] | (value[3] << 8)) / 1000)
power=((value[7] | (value[6] << 8)) )

document.write("Voltage="+voltage+" Current=" +current+ " Power=" +power);

Which make sense when you get the results: Voltage=225.4V Current=2.316A Power=426W

RealKanashii commented 1 year ago

@javicalle tell me I don't need to deserialize the message from the power meter to use this attributes... please.

javicalle commented 1 year ago

There are good a bad news. The bad one is that I don't have that knowledge and all the python code related is unfriendly to me. The good new is that someone already have implemented something similar:

I bet that you can follow the code better than me, but I can try to help with any doubts you have.

javicalle commented 1 year ago

DP 16 is definitely the switch with boolean values

case 16: // DPID that we added to common
                       return {   state: value ? 'ON' : 'OFF'};

Can someone help to recreate this transformation with this quirk?

The switch behavior is managed here:

        elif attrid == TUYA_DIN_SWITCH_ATTR:
            self.endpoint.device.switch_bus.listener_event(
                SWITCH_EVENT, self.endpoint.endpoint_id, value
            )

I believe that just tunning the TUYA_DIN_SWITCH_ATTR you could get it work (maybe with 0x0010?)

RealKanashii commented 1 year ago

I believe that just tunning the TUYA_DIN_SWITCH_ATTR you could get it work (maybe with 0x0010?)

I did several times but it fails. I think there's something different in how the value is used. I saw a class: class TuyaManufacturerClusterOnOff(TuyaManufCluster): which can be useful but I got errors as I don't know how to import : I tried but it failed:

File "/config/custom_zha_quirks/ts0601_din_power.py", line 183, in TuyaPowerMeter_GPP
    TuyaManufacturerClusterOnOff.cluster.id,
NameError: name 'TuyaManufacturerClusterOnOff' is not defined

I'm gonna take a look at the code you pointed.

javicalle commented 1 year ago

No, the TuyaManufacturerClusterOnOff would replace the TuyaManufClusterDinPower not the TuyaOnOff.

If I am right, the TuyaManufClusterDinPower gets the DP16. We need to trigger the switch_bus event that will trigger the switch_event here:

Let me check.

RealKanashii commented 1 year ago

It's far far from my level.

javicalle commented 1 year ago

Code updated. Remove the __init__ method in both classes TuyaPowerMeter and TuyaPowerMeter_GPP

I will need some time for the other part.

RealKanashii commented 1 year ago

Thanks @javicalle , need I to download the quirk again an set into the custom ones?

javicalle commented 1 year ago

I can't remember all the situation but I would suggest to remove any local quirk for the device and create a new file with the content from my previous comment:

SanchYESS commented 1 year ago

Tweaked @javicalle code a bit, this works for me - now I get voltage and current. Also fixed a bug (remade energy thru divisor attr): after server reloading energy became rounded to int until first values update which confused the HA energy counter. super()._update_attribute stuff does not do any better, just TuyaManufClusterDinPower cluster attrs values make more sense. Also added logger just for the cause.

Does someone know where I can set voltage and current rounding? Raw data has more precision than end values show. And I'm afraid that it won't work with _TZE200_byzdayie and _TZE200_ewxhg6o9, maybe would be better to make a separate class (something like TuyaManufClusterDinPowerGPP(TuyaManufClusterAttributes))

ts0601_din_power.py ```python """Tuya Din Power Meter.""" from zigpy.profiles import zha import zigpy.types as t from zigpy.zcl.clusters.general import Basic, Groups, Ota, Scenes, Time, GreenPowerProxy 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 ( NoManufacturerCluster, TuyaManufClusterAttributes, TuyaOnOff, TuyaSwitch, ) import logging _LOGGER = logging.getLogger(__name__) TUYA_TOTAL_ENERGY_ATTR = 0x0201 #total energy /100 0x0211 TUYA_CURRENT_ATTR = 0x0011 #0x0212 TUYA_POWER_ATTR = 0x0006 #0x0213 TUYA_VOLTAGE_ATTR = 0x0004 #0x0214 TUYA_DIN_SWITCH_ATTR = 0x000b #0x0101 SWITCH_EVENT = "switch_event" class TuyaOnOffNM(NoManufacturerCluster, TuyaOnOff): """Tuya OnOff cluster with NoManufacturerID.""" 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), #t.int16s TUYA_POWER_ATTR: ("power", t.uint64_t, True), #t.uint16_t 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_reported(value) super()._update_attribute(attrid, value) #elif attrid == TUYA_CURRENT_ATTR: # self.endpoint.electrical_measurement.current_reported(value) elif attrid == TUYA_POWER_ATTR: self.endpoint.electrical_measurement.voltage_reported((value >> 48) & 0xffff) self.endpoint.electrical_measurement.current_reported((value >> 24) & 0xffffff) self.endpoint.electrical_measurement.power_reported(value & 0xffffff) super()._update_attribute(TUYA_VOLTAGE_ATTR, (value >> 48) & 0xffff) super()._update_attribute(TUYA_CURRENT_ATTR, (value >> 24) & 0xffffff) super()._update_attribute(TUYA_POWER_ATTR, value & 0xffffff) #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 ) super()._update_attribute(attrid, value) else: super()._update_attribute(attrid, value) _LOGGER.warning("attrid: 0x%04x value: %d (0x%x)" % (attrid, value, value)) class TuyaPowerMeasurement(LocalDataCluster, ElectricalMeasurement): """Custom class for power, voltage and current measurement.""" cluster_id = ElectricalMeasurement.cluster_id POWER_ID = 0x050b #0x050B VOLTAGE_ID = 0x0505 CURRENT_ID = 0x0508 AC_VOLTAGE_MULTIPLIER = 0x0600 AC_VOLTAGE_DIVISOR = 0x0601 AC_CURRENT_MULTIPLIER = 0x0602 AC_CURRENT_DIVISOR = 0x0603 _CONSTANT_ATTRIBUTES = {AC_CURRENT_MULTIPLIER: 1, AC_CURRENT_DIVISOR: 1000, AC_VOLTAGE_MULTIPLIER: 1, AC_VOLTAGE_DIVISOR: 10} 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 current_reported(self, value): """Ampers reported.""" self._update_attribute(self.CURRENT_ID, value) class TuyaElectricalMeasurement(LocalDataCluster, Metering): """Custom class for total energy measurement.""" cluster_id = Metering.cluster_id CURRENT_SUMM_DELIVERED_ID = 0x0000 UNIT_OF_MEASURE_ID = 0x0300 MULTIPLIER_ID = 0x0301 DIVISOR_ID = 0x0302 POWER_WATT_ENUM = 0x0000 """Setting unit of measurement.""" _CONSTANT_ATTRIBUTES = {UNIT_OF_MEASURE_ID: POWER_WATT_ENUM, DIVISOR_ID: 100} def energy_reported(self, value): """Summation Energy reported.""" self._update_attribute(self.CURRENT_SUMM_DELIVERED_ID, value) class TuyaPowerMeter(TuyaSwitch): """Tuya power meter device.""" signature = { # "node_descriptor": "", # device_version=1 # input_clusters=[0x0000, 0x0004, 0x0005, 0xef00] # output_clusters=[0x000a, 0x0019] MODELS_INFO: [ ("_TZE200_byzdayie", "TS0601"), ("_TZE200_ewxhg6o9", "TS0601"), ], ENDPOINTS: { # 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, TuyaOnOffNM, ], OUTPUT_CLUSTERS: [Time.cluster_id, Ota.cluster_id], } } } class TuyaPowerMeter_GPP(TuyaSwitch): """Tuya power meter device.""" signature = { # "node_descriptor": "", # device_version=1 # input_clusters=[0x0000, 0x0004, 0x0005, 0xef00] # output_clusters=[0x000a, 0x0019] MODELS_INFO: [ ("_TZE200_lsanae15", "TS0601"), ], ENDPOINTS: { # 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], }, 242: { #
CSRLabs commented 1 year ago

Does someone know where I can set voltage and current rounding?

I pointed this out a few times but I'm not sure whether this is going to be taken into account by the developers. My understanding is that custom rounding is not possible at this time but I'd be more than happy to be proven wrong. I'm currently using this workaround that is not recommended by the devs and might suddenly stop working.

See here

https://github.com/zigpy/zha-device-handlers/issues/2165#issuecomment-1417902058

TommisGR commented 1 year ago

After upgrading HA to 2023.3.1 the quirk stoped updating the wattage. Its stuck on same value (LQI changes) and it appears online but its stuck. Any ideas on how to troubleshoot it?

TommisGR commented 1 year ago

some logs

grep "0xb6e9"  home-assistant.log 
2023-03-03 20:55:12.117 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0000] Attribute id: 4 value: _TZE200_lsanae15
2023-03-03 20:55:12.117 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0000] Attribute id: 5 value: TS0601
2023-03-03 20:55:12.119 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0xef00] Attribute id: 4 value: 1071
2023-03-03 20:55:15.232 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0000] Attribute id: 4 value: _TZE200_lsanae15
2023-03-03 20:55:15.232 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0000] Attribute id: 5 value: TS0601
2023-03-03 20:55:15.233 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0702] Attribute id: 768 value: 0
2023-03-03 20:55:15.233 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0b04] Attribute id: 1539 value: 1000
2023-03-03 20:55:15.234 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0b04] Attribute id: 1538 value: 1
2023-03-03 20:55:15.234 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0000] Attribute id: 1 value: 70
2023-03-03 20:55:15.235 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0000] Attribute id: 65506 value: 54
2023-03-03 20:55:15.235 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0000] Attribute id: 65508 value: 0
2023-03-03 20:55:15.236 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0000] Attribute id: 65503 value:  +i +i
2023-03-03 20:55:15.408 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0xef00] Attribute id: 513 value: 2526
2023-03-03 20:55:15.409 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0702] Attribute id: 0 value: 25
2023-03-03 20:55:15.409 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0xef00] Attribute id: 4 value: 1071
2023-03-03 20:55:15.410 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0b04] Attribute id: 1291 value: 588
2023-03-03 20:55:15.410 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0xef00] Attribute id: 6 value: 588
2023-03-03 20:55:15.411 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0b04] Attribute id: 1288 value: 80
2023-03-03 20:55:15.411 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0b04] Attribute id: 1285 value: 107
2023-03-03 20:55:15.411 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0004] Attribute id: 65533 value: 2
2023-03-03 20:55:15.412 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0004] Attribute id: 0 value: 0
2023-03-03 20:55:15.412 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0005] Attribute id: 0 value: 0
2023-03-03 20:55:15.412 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0005] Attribute id: 3 value: 0
2023-03-03 20:55:15.414 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0b04] Attribute id: 1536 value: 2
2023-03-03 20:55:39.723 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0xef00] Attribute id: 11 value: 0
2023-03-03 20:55:39.723 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0x0006] Attribute id: 0 value: 0
2023-03-03 20:55:39.724 DEBUG (MainThread) [zigpy.appdb] [0xb6e9:1:0xef00] Attribute id: 17 value: 80
2023-03-03 20:57:15.221 DEBUG (MainThread) [zhaquirks.tuya] [0xb6e9:1:0xef00] Received value [8, 231, 0, 12, 3, 0, 2, 153] for attribute 0x0006 (command 0x0002)
2023-03-03 20:57:15.426 DEBUG (MainThread) [zhaquirks.tuya] [0xb6e9:1:0xef00] Received value [8, 231, 0, 12, 3, 0, 2, 153] for attribute 0x0006 (command 0x0002)
2023-03-03 20:57:15.523 DEBUG (MainThread) [zhaquirks.tuya] [0xb6e9:1:0xef00] Received value [0, 3, 10, 224] for attribute 0x0201 (command 0x0002)
2023-03-03 20:59:15.211 DEBUG (MainThread) [zhaquirks.tuya] [0xb6e9:1:0xef00] Received value [8, 230, 0, 11, 179, 0, 2, 131] for attribute 0x0006 (command 0x0002)
2023-03-03 20:59:15.408 DEBUG (MainThread) [zhaquirks.tuya] [0xb6e9:1:0xef00] Received value [0, 3, 10, 226] for attribute 0x0201 (command 0x0002)
2023-03-03 21:01:15.194 DEBUG (MainThread) [zhaquirks.tuya] [0xb6e9:1:0xef00] Received value [8, 239, 0, 7, 146, 0, 1, 110] for attribute 0x0006 (command 0x0002)
2023-03-03 21:01:15.394 DEBUG (MainThread) [zhaquirks.tuya] [0xb6e9:1:0xef00] Received value [0, 3, 10, 228] for attribute 0x0201 (command 0x0002)
2023-03-03 21:03:15.212 DEBUG (MainThread) [zhaquirks.tuya] [0xb6e9:1:0xef00] Received value [8, 234, 0, 7, 27, 0, 1, 87] for attribute 0x0006 (command 0x0002)
2023-03-03 21:03:15.394 DEBUG (MainThread) [zhaquirks.tuya] [0xb6e9:1:0xef00] Received value [0, 3, 10, 229] for attribute 0x0201 (command 0x0002)
2023-03-03 21:05:15.227 DEBUG (MainThread) [zhaquirks.tuya] [0xb6e9:1:0xef00] Received value [8, 250, 0, 7, 73, 0, 1, 86] for attribute 0x0006 (command 0x0002)
2023-03-03 21:05:15.408 DEBUG (MainThread) [zhaquirks.tuya] [0xb6e9:1:0xef00] Received value [0, 3, 10, 230] for attribute 0x0201 (command 0x0002)
TommisGR commented 1 year ago

quirk in use

"""Tuya Din Power Meter."""
from zigpy.profiles import zha
import zigpy.types as t
from zigpy.zcl.clusters.general import Basic, Groups, Ota, Scenes, Time, GreenPowerProxy
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 = 0x0201 #total energy /100  0x0211
TUYA_CURRENT_ATTR = 0x0011      #0x0212
TUYA_POWER_ATTR = 0x0006        #0x0213
TUYA_VOLTAGE_ATTR = 0x0004      #0x0214
TUYA_DIN_SWITCH_ATTR = 0x000b   #0x0101

SWITCH_EVENT = "switch_event"

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),      #t.int16s
        TUYA_POWER_ATTR: ("power", t.uint16_t, True),         #t.uint16_t
        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_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             #0x050B
    VOLTAGE_ID = 0x0505
    CURRENT_ID = 0x0508

    AC_CURRENT_MULTIPLIER = 0x0602
    AC_CURRENT_DIVISOR = 0x0603
    AC_VOLTAGE_MULTIPLIER = 0x0600 #new Definition

    _CONSTANT_ATTRIBUTES = {AC_CURRENT_MULTIPLIER: 1, AC_CURRENT_DIVISOR: 1000, AC_VOLTAGE_MULTIPLIER: 2} #new AC_VOLTAGE_MULTIPLIER

    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 current_reported(self, value):
        """Ampers reported."""
        self._update_attribute(self.CURRENT_ID, value)

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

    cluster_id = Metering.cluster_id
    CURRENT_ID = 0x0000
    POWER_WATT = 0x0000

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

    def energy_reported(self, value):
        """Summation Energy reported."""
        self._update_attribute(self.CURRENT_ID, value)

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 TuyaPowerMeter_GPP(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=4417
        #                       maximum_buffer_size=66 maximum_incoming_transfer_size=66 server_mask=10752
        #                       maximum_outgoing_transfer_size=66 descriptor_capability_field=0>",
        # device_version=1
        # input_clusters=[0x0000, 0x0004, 0x0005, 0xef00]
        # output_clusters=[0x000a, 0x0019]
        MODELS_INFO: [
            ("_TZE200_lsanae15", "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],
            },
            242: {
                # <SimpleDescriptor endpoint=242 profile=41440 device_type=61
                # input_clusters=[]
                # output_clusters=[21]
                PROFILE_ID: 41440,
                DEVICE_TYPE: 97,
                INPUT_CLUSTERS: [],
                OUTPUT_CLUSTERS: [GreenPowerProxy.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],
            },
            242: {
                # <SimpleDescriptor endpoint=242 profile=41440 device_type=61
                # input_clusters=[]
                # output_clusters=[21]
                PROFILE_ID: 41440,
                DEVICE_TYPE: 97,
                INPUT_CLUSTERS: [],
                OUTPUT_CLUSTERS: [GreenPowerProxy.cluster_id],
            },
        }
    }
TommisGR commented 1 year ago

and some additional logs

2023-03-03 21:09:15.597 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3b seq -- probably duplicate response
2023-03-03 21:09:15.799 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3b seq -- probably duplicate response
2023-03-03 21:09:15.996 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3b seq -- probably duplicate response
2023-03-03 21:09:16.200 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3b seq -- probably duplicate response
2023-03-03 21:09:16.400 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3b seq -- probably duplicate response
2023-03-03 21:09:16.600 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3b seq -- probably duplicate response
2023-03-03 21:09:16.802 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3b seq -- probably duplicate response
2023-03-03 21:09:17.002 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3b seq -- probably duplicate response
2023-03-03 21:09:17.203 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3b seq -- probably duplicate response
2023-03-03 21:09:17.399 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3b seq -- probably duplicate response
2023-03-03 21:09:17.604 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3b seq -- probably duplicate response
2023-03-03 21:09:17.804 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3b seq -- probably duplicate response
2023-03-03 21:09:18.005 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3b seq -- probably duplicate response
2023-03-03 21:09:18.413 DEBUG (MainThread) [zhaquirks.tuya] [0xb6e9:1:0xef00] Received value [0, 3, 10, 233] for attribute 0x0201 (command 0x0002)
2023-03-03 21:09:18.814 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3c seq -- probably duplicate response
2023-03-03 21:09:19.013 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3c seq -- probably duplicate response
2023-03-03 21:09:19.212 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3c seq -- probably duplicate response
2023-03-03 21:09:19.427 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3c seq -- probably duplicate response
2023-03-03 21:09:19.615 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3c seq -- probably duplicate response
2023-03-03 21:09:19.817 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3c seq -- probably duplicate response
2023-03-03 21:09:20.010 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3c seq -- probably duplicate response
2023-03-03 21:09:20.232 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3c seq -- probably duplicate response
2023-03-03 21:09:20.416 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3c seq -- probably duplicate response
2023-03-03 21:09:20.618 DEBUG (MainThread) [zigpy.device] [0xb6e9] Invalid state on future for 0x3c seq -- probably duplicate response
SanchYESS commented 1 year ago

@TommisGR I guess it is the same bug that I've found. It is already fixed but not in the release yet. But it seems I've found a way to temporarily fix it. I placed ts0601_din_power.py and __init__.py in *custom_quirks_folder*/tuya. In ts0601_din_power.py you need to change

from zhaquirks.tuya import TuyaManufClusterAttributes, TuyaOnOff, TuyaSwitch

to

from *your_custom_quirks_folder*.tuya import TuyaManufClusterAttributes, TuyaOnOff, TuyaSwitch
TommisGR commented 1 year ago

Yap it works now. Was in the proccess of implemented the changes I saw In ur other post. Thank for the new one cause I was at a loss onvhow to use a custom

__init__.py
TommisGR commented 1 year ago

And after a few hours it got stack again. reboot no joy.

'grep "0xbe19"  home-assistant.log'
2023-03-07 18:04:05.930 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0000] Attribute id: 4 value: _TZE200_lsanae15
2023-03-07 18:04:05.932 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0000] Attribute id: 5 value: TS0601
2023-03-07 18:04:05.935 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0xef00] Attribute id: 4 value: 2339
2023-03-07 18:04:08.811 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0000] Attribute id: 4 value: _TZE200_lsanae15
2023-03-07 18:04:08.812 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0000] Attribute id: 5 value: TS0601
2023-03-07 18:04:08.812 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0702] Attribute id: 768 value: 0
2023-03-07 18:04:08.813 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0b04] Attribute id: 1539 value: 1000
2023-03-07 18:04:08.813 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0b04] Attribute id: 1538 value: 1
2023-03-07 18:04:08.814 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0000] Attribute id: 1 value: 70
2023-03-07 18:04:08.814 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0000] Attribute id: 65506 value: 54
2023-03-07 18:04:08.815 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0000] Attribute id: 65508 value: 0
2023-03-07 18:04:08.816 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0000] Attribute id: 65503 value: \" +i_" +i_" +i`" +i " +i " +i " +i " +i
2023-03-07 18:04:08.947 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0xef00] Attribute id: 513 value: 2526
2023-03-07 18:04:08.948 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0702] Attribute id: 0 value: 25
2023-03-07 18:04:08.948 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0xef00] Attribute id: 4 value: 2339
2023-03-07 18:04:08.949 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0b04] Attribute id: 1291 value: 468
2023-03-07 18:04:08.949 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0xef00] Attribute id: 6 value: 468
2023-03-07 18:04:08.950 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0b04] Attribute id: 1288 value: 2428
2023-03-07 18:04:08.950 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0b04] Attribute id: 1285 value: 2339
2023-03-07 18:04:08.951 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0004] Attribute id: 65533 value: 2
2023-03-07 18:04:08.951 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0004] Attribute id: 0 value: 0
2023-03-07 18:04:08.952 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0005] Attribute id: 0 value: 0
2023-03-07 18:04:08.952 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0005] Attribute id: 3 value: 0
2023-03-07 18:04:08.954 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0b04] Attribute id: 1536 value: 2
2023-03-07 18:04:33.008 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0xef00] Attribute id: 11 value: 0
2023-03-07 18:04:33.009 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0006] Attribute id: 0 value: 0
2023-03-07 18:04:33.009 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0xef00] Attribute id: 17 value: 2428
2023-03-07 18:04:33.012 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0702] Attribute id: 770 value: 100
2023-03-07 18:04:33.013 DEBUG (MainThread) [zigpy.appdb] [0xbe19:1:0x0b04] Attribute id: 1537 value: 10

2023-03-07 16:29:06.490 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa6 seq -- probably duplicate response
2023-03-07 16:29:06.501 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa6 seq -- probably duplicate response
2023-03-07 16:29:06.630 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa6 seq -- probably duplicate response
2023-03-07 16:29:06.876 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa6 seq -- probably duplicate response
2023-03-07 16:29:07.112 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa6 seq -- probably duplicate response
2023-03-07 16:29:07.260 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa6 seq -- probably duplicate response
2023-03-07 16:29:07.553 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa6 seq -- probably duplicate response
2023-03-07 16:29:07.714 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa6 seq -- probably duplicate response
2023-03-07 16:29:07.882 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa6 seq -- probably duplicate response
2023-03-07 16:29:08.272 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa6 seq -- probably duplicate response
2023-03-07 16:29:08.624 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa6 seq -- probably duplicate response
2023-03-07 16:29:08.866 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa6 seq -- probably duplicate response
2023-03-07 16:29:09.470 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa7 seq -- probably duplicate response
2023-03-07 16:29:09.819 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa7 seq -- probably duplicate response
2023-03-07 16:29:09.828 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa7 seq -- probably duplicate response
2023-03-07 16:29:10.043 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa7 seq -- probably duplicate response
2023-03-07 16:29:10.282 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa7 seq -- probably duplicate response
2023-03-07 16:29:10.407 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa7 seq -- probably duplicate response
2023-03-07 16:29:10.652 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa7 seq -- probably duplicate response
2023-03-07 16:29:11.077 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa7 seq -- probably duplicate response
2023-03-07 16:29:11.351 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa7 seq -- probably duplicate response
2023-03-07 16:29:11.367 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0xa7 seq -- probably duplicate response
javicalle commented 1 year ago

It seems to me that device don't get a reply from HA and is retrying the reports. Can you get a full log from one of those Invalid state on future for 0xa6 seq messages? I'm curious about which can be the offending device report.

TommisGR commented 1 year ago

$ grep "Invalid state on future for" home-assistant.log

2023-03-07 18:05:06.184 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x2f seq -- probably duplicate response
2023-03-07 18:05:06.289 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x2f seq -- probably duplicate response
2023-03-07 18:05:06.426 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x2f seq -- probably duplicate response
2023-03-07 18:05:06.617 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x2f seq -- probably duplicate response
2023-03-07 18:05:06.781 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x2f seq -- probably duplicate response
2023-03-07 18:05:07.042 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x2f seq -- probably duplicate response
2023-03-07 18:05:07.406 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x2f seq -- probably duplicate response
2023-03-07 18:05:07.582 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x2f seq -- probably duplicate response
2023-03-07 18:05:07.662 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x2f seq -- probably duplicate response
2023-03-07 18:05:07.877 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x2f seq -- probably duplicate response
2023-03-07 18:05:08.259 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x2f seq -- probably duplicate response
2023-03-07 18:05:08.281 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x2f seq -- probably duplicate response
2023-03-07 18:05:08.636 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x2f seq -- probably duplicate response
2023-03-07 18:05:09.706 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x30 seq -- probably duplicate response
2023-03-07 18:05:09.718 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x30 seq -- probably duplicate response
2023-03-07 18:05:09.914 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x30 seq -- probably duplicate response
2023-03-07 18:05:09.924 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x30 seq -- probably duplicate response
2023-03-07 18:05:10.204 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x30 seq -- probably duplicate response
2023-03-07 18:05:10.375 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x30 seq -- probably duplicate response
2023-03-07 18:05:10.526 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x30 seq -- probably duplicate response
2023-03-07 18:05:10.834 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x30 seq -- probably duplicate response
2023-03-07 18:05:11.010 DEBUG (MainThread) [zigpy.device] [0xbe19] Invalid state on future for 0x30 seq -- probably duplicate response
2023-03-07 18:17:23.228 DEBUG (MainThread) [zigpy.device] [0xbad9] Invalid state on future for 0x52 seq -- probably duplicate response
TommisGR commented 1 year ago

tryied another rebot between logs