Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

[BUG] Bseed switches linking #3883

Open
alltair4747 opened this issue Feb 17, 2025 · 0 comments
Open

[BUG] Bseed switches linking #3883

alltair4747 opened this issue Feb 17, 2025 · 0 comments
Labels
possible bug Possible bug, yet to be confirmed

Comments

@alltair4747
Copy link

Bug description

I am not able to somehow implement solution when 3 switches (zigbee, no neutral) works together as one. I tried to use all kind of different automations but none of them is working 100 percent time as sometimes one or even two devices wont recieve the command (they are unreachable). When I have used smartlife app with zigbee gateway and multticontrol solution, it worked perfectly but no luck with ZHA.

Devices are using this class "TuyaSingleNoNeutralSwitch_2". I also tried to modify it a bit but does not change anything

`class TuyaSingleNoNeutralSwitch_2_marek(EnchantedDevice, TuyaSwitch):
"""Tuya 1 gang no neutral light switch (v2)."""

_CONSTANT_ATTRIBUTES = {0x0007: 1}

signature = {
    # "node_descriptor": "NodeDescriptor(byte1=2, byte2=64, mac_capability_flags=128, manufacturer_code=4098,
    # maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264,
    # maximum_outgoing_transfer_size=82, descriptor_capability_field=0)
    MODELS_INFO: [
        ("_TZ3000_hafsqare", "TS0011"),
    ],
    ENDPOINTS: {
        # <SimpleDescriptor endpoint=1 profile=260 device_type=100
        # device_version=1
        # input_clusters=[0, 3, 4, 5, 6]
        # output_clusters=[a, 19]>
        1: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                Identify.cluster_id,
                Groups.cluster_id,
                Scenes.cluster_id,
                OnOff.cluster_id,
            ],
            OUTPUT_CLUSTERS: [Ota.cluster_id, Time.cluster_id],
        },
    },
}
replacement = {
    SKIP_CONFIGURATION: False,
    ENDPOINTS: {
        1: {
            PROFILE_ID: zha.PROFILE_ID,
            DEVICE_TYPE: zha.DeviceType.ON_OFF_LIGHT_SWITCH,
            INPUT_CLUSTERS: [
                Basic.cluster_id,
                Identify.cluster_id,
                Groups.cluster_id,
                Scenes.cluster_id,
                TuyaZBOnOffAttributeCluster,
            ],
            OUTPUT_CLUSTERS: [Ota.cluster_id],
        },
    },
}`

Steps to reproduce

  1. Pair all devices to ZHA
  2. Create an automation or use existing blueprint to pair switches together
  3. Try to use switches (toogle different switches several times) for while to see the issue.

Expected behavior

I expect to be able to use switches the same way I was able to use them within smartlife using multi-controll association

Screenshots/Video

Screenshots/Video [Paste/upload your media here] https://photos.app.goo.gl/6itN8Ta7V3KK6P7G6

Device signature

Device signature
[Paste the device signature here]
{
  "trace": {
    "last_step": "condition/2",
    "run_id": "21f06c869166179cd2ce38e3997a261c",
    "state": "stopped",
    "script_execution": "failed_conditions",
    "timestamp": {
      "start": "2025-02-17T10:07:47.485826+00:00",
      "finish": "2025-02-17T10:07:47.487482+00:00"
    },
    "domain": "automation",
    "item_id": "1739616098482",
    "trigger": "state of switch.tz3000_hafsqare_ts0011_switch_4",
    "trace": {
      "trigger/0": [
        {
          "path": "trigger/0",
          "timestamp": "2025-02-17T10:07:47.486068+00:00",
          "changed_variables": {
            "linked_entities": [
              "switch.tz3000_hafsqare_ts0011_switch_3",
              "switch.tz3000_hafsqare_ts0011_switch_5",
              "switch.tz3000_hafsqare_ts0011_switch_4"
            ],
            "this": {
              "entity_id": "automation.link_on_off_state_of_multiple_devices_hallway",
              "state": "on",
              "attributes": {
                "id": "1739616098482",
                "last_triggered": "2025-02-17T10:07:47.210765+00:00",
                "mode": "queued",
                "current": 1,
                "max": 10,
                "friendly_name": "Link On/Off State of Multiple Devices Hallway"
              },
              "last_changed": "2025-02-17T10:05:32.193884+00:00",
              "last_reported": "2025-02-17T10:07:47.210867+00:00",
              "last_updated": "2025-02-17T10:07:47.210867+00:00",
              "context": {
                "id": "01JM9P1MG9F6MM21VMKVPBAK2X",
                "parent_id": "01JM9P1MG8SNB2BGRZ6Y16E9VA",
                "user_id": null
              }
            },
            "trigger": {
              "id": "0",
              "idx": "0",
              "alias": null,
              "platform": "state",
              "entity_id": "switch.tz3000_hafsqare_ts0011_switch_4",
              "from_state": {
                "entity_id": "switch.tz3000_hafsqare_ts0011_switch_4",
                "state": "on",
                "attributes": {
                  "friendly_name": "Hallway kitchen door switch Switch"
                },
                "last_changed": "2025-02-17T10:07:34.879524+00:00",
                "last_reported": "2025-02-17T10:07:34.880017+00:00",
                "last_updated": "2025-02-17T10:07:34.879524+00:00",
                "context": {
                  "id": "01JM9P18AZVS5FBJBVQJZ0NK18",
                  "parent_id": "01JM9P18AXNJJ45NXJWGRXMWF0",
                  "user_id": null
                }
              },
              "to_state": {
                "entity_id": "switch.tz3000_hafsqare_ts0011_switch_4",
                "state": "off",
                "attributes": {
                  "friendly_name": "Hallway kitchen door switch Switch"
                },
                "last_changed": "2025-02-17T10:07:47.484968+00:00",
                "last_reported": "2025-02-17T10:07:47.485481+00:00",
                "last_updated": "2025-02-17T10:07:47.484968+00:00",
                "context": {
                  "id": "01JM9P1MG9F6MM21VMKVPBAK2X",
                  "parent_id": "01JM9P1MG8SNB2BGRZ6Y16E9VA",
                  "user_id": null
                }
              },
              "for": null,
              "attribute": null,
              "description": "state of switch.tz3000_hafsqare_ts0011_switch_4"
            }
          }
        }
      ],
      "condition/0": [
        {
          "path": "condition/0",
          "timestamp": "2025-02-17T10:07:47.486164+00:00",
          "result": {
            "result": true,
            "entities": []
          }
        }
      ],
      "condition/1": [
        {
          "path": "condition/1",
          "timestamp": "2025-02-17T10:07:47.486669+00:00",
          "result": {
            "result": true,
            "entities": []
          }
        }
      ],
      "condition/2": [
        {
          "path": "condition/2",
          "timestamp": "2025-02-17T10:07:47.487038+00:00",
          "result": {
            "result": false,
            "entities": []
          }
        }
      ]
    },
    "config": {
      "mode": "queued",
      "max_exceeded": "silent",
      "variables": {
        "linked_entities": [
          "switch.tz3000_hafsqare_ts0011_switch_3",
          "switch.tz3000_hafsqare_ts0011_switch_5",
          "switch.tz3000_hafsqare_ts0011_switch_4"
        ]
      },
      "triggers": [
        {
          "platform": "state",
          "entity_id": [
            "switch.tz3000_hafsqare_ts0011_switch_3",
            "switch.tz3000_hafsqare_ts0011_switch_5",
            "switch.tz3000_hafsqare_ts0011_switch_4"
          ]
        }
      ],
      "conditions": [
        {
          "condition": "template",
          "value_template": "{{ trigger.to_state.state != trigger.from_state.state }}"
        },
        {
          "condition": "template",
          "value_template": "{{ (trigger.to_state.state == \"on\") or (trigger.to_state.state == \"off\") }}"
        },
        {
          "condition": "template",
          "value_template": "{{trigger.to_state.context.parent_id is none or (trigger.to_state.context.id != this.context.id and trigger.to_state.context.parent_id != this.context.id) }}"
        }
      ],
      "actions": [
        {
          "target": {
            "entity_id": "{{ expand(linked_entities) | selectattr(\"entity_id\", \"!=\", trigger.entity_id) | map(attribute=\"entity_id\") | list }}"
          },
          "action": "homeassistant.turn_{{ trigger.to_state.state }}"
        }
      ],
      "id": "1739616098482",
      "alias": "Link On/Off State of Multiple Devices Hallway",
      "description": ""
    },
    "blueprint_inputs": {
      "id": "1739616098482",
      "alias": "Link On/Off State of Multiple Devices Hallway",
      "description": "",
      "use_blueprint": {
        "path": "aderusha/link_multiple_devices.yaml",
        "input": {
          "linked_entities": [
            "switch.tz3000_hafsqare_ts0011_switch_3",
            "switch.tz3000_hafsqare_ts0011_switch_5",
            "switch.tz3000_hafsqare_ts0011_switch_4"
          ]
        }
      }
    },
    "context": {
      "id": "01JM9P1MRXXF3A3YJZ1YRXPMJR",
      "parent_id": "01JM9P1MG9F6MM21VMKVPBAK2X",
      "user_id": null
    }
  },
  "logbookEntries": []
}

Diagnostic information

Diagnostic information
[Paste the diagnostic information here]
{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2025.2.4",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.13.1",
    "docker": true,
    "arch": "aarch64",
    "timezone": "Europe/Prague",
    "os_name": "Linux",
    "os_version": "6.6.62-haos-raspi",
    "supervisor": "2025.02.1",
    "host_os": "Home Assistant OS 14.2",
    "docker_version": "27.2.0",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
    "bambu_lab": {
      "documentation": "https://github.com/greghesp/ha-bambulab",
      "version": "2.1.3",
      "requirements": [
        "cloudscraper"
      ]
    },
    "hacs": {
      "documentation": "https://hacs.xyz/docs/use/",
      "version": "2.0.5",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    }
  },
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "after_dependencies": [
      "hassio",
      "onboarding",
      "usb"
    ],
    "codeowners": [
      "dmulcahey",
      "adminiuga",
      "puddly",
      "TheJulianJES"
    ],
    "config_flow": true,
    "dependencies": [
      "file_upload",
      "homeassistant_hardware"
    ],
    "documentation": "https://www.home-assistant.io/integrations/zha",
    "iot_class": "local_polling",
    "loggers": [
      "aiosqlite",
      "bellows",
      "crccheck",
      "pure_pcapy3",
      "zhaquirks",
      "zigpy",
      "zigpy_deconz",
      "zigpy_xbee",
      "zigpy_zigate",
      "zigpy_znp",
      "zha",
      "universal_silabs_flasher"
    ],
    "requirements": [
      "zha==0.0.49"
    ],
    "usb": [
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*slzb-07*",
        "known_devices": [
          "smlight slzb-07"
        ]
      },
      {
        "vid": "1A86",
        "pid": "55D4",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus v2"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*zigstar*",
        "known_devices": [
          "ZigStar Coordinators"
        ]
      },
      {
        "vid": "1CF1",
        "pid": "0030",
        "description": "*conbee*",
        "known_devices": [
          "Conbee II"
        ]
      },
      {
        "vid": "0403",
        "pid": "6015",
        "description": "*conbee*",
        "known_devices": [
          "Conbee III"
        ]
      },
      {
        "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"
        ]
      }
    ],
    "zeroconf": [
      {
        "type": "_esphomelib._tcp.local.",
        "name": "tube*"
      },
      {
        "type": "_zigate-zigbee-gateway._tcp.local.",
        "name": "*zigate*"
      },
      {
        "type": "_zigstar_gw._tcp.local.",
        "name": "*zigstar*"
      },
      {
        "type": "_uzg-01._tcp.local.",
        "name": "uzg-01*"
      },
      {
        "type": "_slzb-06._tcp.local.",
        "name": "slzb-06*"
      },
      {
        "type": "_xzg._tcp.local.",
        "name": "xzg*"
      },
      {
        "type": "_czc._tcp.local.",
        "name": "czc*"
      },
      {
        "type": "_zigbee-coordinator._tcp.local.",
        "name": "*"
      }
    ],
    "is_built_in": true,
    "overwrites_built_in": false
  },
  "setup_times": {
    "null": {
      "setup": 0.00013414800923783332
    },
    "01J9DS2FRBNNP9YP1CTKFT16ZK": {
      "wait_import_platforms": -0.04460659199685324,
      "wait_base_component": -0.0013432740088319406,
      "config_entry_setup": 14.715912912011845
    }
  },
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 55976,
    "manufacturer": "_TZ3000_hafsqare",
    "model": "TS0011",
    "name": "_TZ3000_hafsqare TS0011",
    "quirk_applied": true,
    "quirk_class": "ts001x.TuyaSingleNoNeutralSwitch_2_marek",
    "quirk_id": null,
    "manufacturer_code": 4417,
    "power_source": "Battery or Unknown",
    "lqi": 208,
    "rssi": -48,
    "last_seen": "2025-02-17T11:14:27",
    "available": true,
    "device_type": "EndDevice",
    "signature": {
      "node_descriptor": {
        "logical_type": 2,
        "complex_descriptor_available": 0,
        "user_descriptor_available": 0,
        "reserved": 0,
        "aps_flags": 0,
        "frequency_band": 8,
        "mac_capability_flags": 128,
        "manufacturer_code": 4417,
        "maximum_buffer_size": 66,
        "maximum_incoming_transfer_size": 66,
        "server_mask": 10752,
        "maximum_outgoing_transfer_size": 66,
        "descriptor_capability_field": 0
      },
      "endpoints": {
        "1": {
          "profile_id": "0x0104",
          "device_type": "0x0103",
          "input_clusters": [
            "0x0000",
            "0x0003",
            "0x0004",
            "0x0005",
            "0x0006"
          ],
          "output_clusters": [
            "0x0019"
          ]
        }
      },
      "manufacturer": "_TZ3000_hafsqare",
      "model": "TS0011"
    },
    "active_coordinator": false,
    "entities": [
      {
        "entity_id": "switch.tz3000_hafsqare_ts0011_switch_3",
        "name": "_TZ3000_hafsqare TS0011"
      },
      {
        "entity_id": "update.tz3000_hafsqare_ts0011_firmware_4",
        "name": "_TZ3000_hafsqare TS0011"
      }
    ],
    "neighbors": [],
    "routes": [],
    "endpoint_names": [
      {
        "name": "ON_OFF_LIGHT_SWITCH"
      }
    ],
    "user_given_name": "Hallway bedroom door switch",
    "device_reg_id": "b4e2b8db2dbc1a6ad11bb1621e5055ea",
    "area_id": "hallway",
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "ON_OFF_LIGHT_SWITCH",
          "id": 259
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0013": {
                "attribute": "ZCLAttributeDef(id=0x0013, name='alarm_mask', type=<flag 'AlarmMask'>, zcl_type=<DataTypeId.map8: 24>, access=<ZCLAttributeAccess.Read|Write: 3>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0001": {
                "attribute": "ZCLAttributeDef(id=0x0001, name='app_version', type=<class 'zigpy.types.basic.uint8_t'>, zcl_type=<DataTypeId.uint8: 32>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": 80
              },
              "0xfffd": {
                "attribute": "ZCLAttributeDef(id=0xFFFD, name='cluster_revision', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0006": {
                "attribute": "ZCLAttributeDef(id=0x0006, name='date_code', type=<class 'zigpy.types.basic.LimitedCharString.<locals>.LimitedCharString'>, zcl_type=<DataTypeId.string: 66>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0012": {
                "attribute": "ZCLAttributeDef(id=0x0012, name='device_enabled', type=<enum 'Bool'>, zcl_type=<DataTypeId.bool_: 16>, access=<ZCLAttributeAccess.Read|Write: 3>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0014": {
                "attribute": "ZCLAttributeDef(id=0x0014, name='disable_local_config', type=<flag 'DisableLocalConfig'>, zcl_type=<DataTypeId.map8: 24>, access=<ZCLAttributeAccess.Read|Write: 3>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0008": {
                "attribute": "ZCLAttributeDef(id=0x0008, name='generic_device_class', type=<enum 'GenericDeviceClass'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0009": {
                "attribute": "ZCLAttributeDef(id=0x0009, name='generic_device_type', type=<enum 'GenericLightingDeviceType'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0003": {
                "attribute": "ZCLAttributeDef(id=0x0003, name='hw_version', type=<class 'zigpy.types.basic.uint8_t'>, zcl_type=<DataTypeId.uint8: 32>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0010": {
                "attribute": "ZCLAttributeDef(id=0x0010, name='location_desc', type=<class 'zigpy.types.basic.LimitedCharString.<locals>.LimitedCharString'>, zcl_type=<DataTypeId.string: 66>, access=<ZCLAttributeAccess.Read|Write: 3>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0004": {
                "attribute": "ZCLAttributeDef(id=0x0004, name='manufacturer', type=<class 'zigpy.types.basic.LimitedCharString.<locals>.LimitedCharString'>, zcl_type=<DataTypeId.string: 66>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": "_TZ3000_hafsqare"
              },
              "0x000c": {
                "attribute": "ZCLAttributeDef(id=0x000C, name='manufacturer_version_details', type=<class 'zigpy.types.basic.CharacterString'>, zcl_type=<DataTypeId.string: 66>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0005": {
                "attribute": "ZCLAttributeDef(id=0x0005, name='model', type=<class 'zigpy.types.basic.LimitedCharString.<locals>.LimitedCharString'>, zcl_type=<DataTypeId.string: 66>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": "TS0011"
              },
              "0x0011": {
                "attribute": "ZCLAttributeDef(id=0x0011, name='physical_env', type=<enum 'PhysicalEnvironment'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read|Write: 3>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0007": {
                "attribute": "ZCLAttributeDef(id=0x0007, name='power_source', type=<enum 'PowerSource'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": 3
              },
              "0x000a": {
                "attribute": "ZCLAttributeDef(id=0x000A, name='product_code', type=<class 'zigpy.types.basic.LVBytes'>, zcl_type=<DataTypeId.octstr: 65>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x000e": {
                "attribute": "ZCLAttributeDef(id=0x000E, name='product_label', type=<class 'zigpy.types.basic.CharacterString'>, zcl_type=<DataTypeId.string: 66>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x000b": {
                "attribute": "ZCLAttributeDef(id=0x000B, name='product_url', type=<class 'zigpy.types.basic.CharacterString'>, zcl_type=<DataTypeId.string: 66>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0xfffe": {
                "attribute": "ZCLAttributeDef(id=0xFFFE, name='reporting_status', type=<enum 'AttributeReportingStatus'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": 0
              },
              "0x000d": {
                "attribute": "ZCLAttributeDef(id=0x000D, name='serial_number', type=<class 'zigpy.types.basic.CharacterString'>, zcl_type=<DataTypeId.string: 66>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0002": {
                "attribute": "ZCLAttributeDef(id=0x0002, name='stack_version', type=<class 'zigpy.types.basic.uint8_t'>, zcl_type=<DataTypeId.uint8: 32>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x4000": {
                "attribute": "ZCLAttributeDef(id=0x4000, name='sw_build_id', type=<class 'zigpy.types.basic.CharacterString'>, zcl_type=<DataTypeId.string: 66>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0000": {
                "attribute": "ZCLAttributeDef(id=0x0000, name='zcl_version', type=<class 'zigpy.types.basic.uint8_t'>, zcl_type=<DataTypeId.uint8: 32>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": 3
              }
            },
            "unsupported_attributes": []
          },
          "0x0003": {
            "endpoint_attribute": "identify",
            "attributes": {
              "0xfffd": {
                "attribute": "ZCLAttributeDef(id=0xFFFD, name='cluster_revision', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0000": {
                "attribute": "ZCLAttributeDef(id=0x0000, name='identify_time', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read|Write: 3>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0xfffe": {
                "attribute": "ZCLAttributeDef(id=0xFFFE, name='reporting_status', type=<enum 'AttributeReportingStatus'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              }
            },
            "unsupported_attributes": []
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {
              "0xfffd": {
                "attribute": "ZCLAttributeDef(id=0xFFFD, name='cluster_revision', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0000": {
                "attribute": "ZCLAttributeDef(id=0x0000, name='name_support', type=<flag 'NameSupport'>, zcl_type=<DataTypeId.map8: 24>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0xfffe": {
                "attribute": "ZCLAttributeDef(id=0xFFFE, name='reporting_status', type=<enum 'AttributeReportingStatus'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              }
            },
            "unsupported_attributes": []
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {
              "0xfffd": {
                "attribute": "ZCLAttributeDef(id=0xFFFD, name='cluster_revision', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0000": {
                "attribute": "ZCLAttributeDef(id=0x0000, name='count', type=<class 'zigpy.types.basic.uint8_t'>, zcl_type=<DataTypeId.uint8: 32>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0002": {
                "attribute": "ZCLAttributeDef(id=0x0002, name='current_group', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0001": {
                "attribute": "ZCLAttributeDef(id=0x0001, name='current_scene', type=<class 'zigpy.types.basic.uint8_t'>, zcl_type=<DataTypeId.uint8: 32>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0005": {
                "attribute": "ZCLAttributeDef(id=0x0005, name='last_configured_by', type=<class 'zigpy.types.named.EUI64'>, zcl_type=<DataTypeId.EUI64: 240>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0004": {
                "attribute": "ZCLAttributeDef(id=0x0004, name='name_support', type=<flag 'NameSupport'>, zcl_type=<DataTypeId.map8: 24>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0xfffe": {
                "attribute": "ZCLAttributeDef(id=0xFFFE, name='reporting_status', type=<enum 'AttributeReportingStatus'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0003": {
                "attribute": "ZCLAttributeDef(id=0x0003, name='scene_valid', type=<enum 'Bool'>, zcl_type=<DataTypeId.bool_: 16>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              }
            },
            "unsupported_attributes": []
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x8001": {
                "attribute": "ZCLAttributeDef(id=0x8001, name='backlight_mode', type=<enum 'SwitchBackLight'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read|Write|Report: 11>, mandatory=False, is_manufacturer_specific=False)",
                "value": 1
              },
              "0x8000": {
                "attribute": "ZCLAttributeDef(id=0x8000, name='child_lock', type=<enum 'Bool'>, zcl_type=<DataTypeId.bool_: 16>, access=<ZCLAttributeAccess.Read|Write|Report: 11>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0xfffd": {
                "attribute": "ZCLAttributeDef(id=0xFFFD, name='cluster_revision', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0x4000": {
                "attribute": "ZCLAttributeDef(id=0x4000, name='global_scene_control', type=<enum 'Bool'>, zcl_type=<DataTypeId.bool_: 16>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x4002": {
                "attribute": "ZCLAttributeDef(id=0x4002, name='off_wait_time', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read|Write: 3>, mandatory=False, is_manufacturer_specific=False)",
                "value": 0
              },
              "0x0000": {
                "attribute": "ZCLAttributeDef(id=0x0000, name='on_off', type=<enum 'Bool'>, zcl_type=<DataTypeId.bool_: 16>, access=<ZCLAttributeAccess.Read|Report|Scene: 25>, mandatory=True, is_manufacturer_specific=False)",
                "value": 0
              },
              "0x4001": {
                "attribute": "ZCLAttributeDef(id=0x4001, name='on_time', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read|Write: 3>, mandatory=False, is_manufacturer_specific=False)",
                "value": 0
              },
              "0x8002": {
                "attribute": "ZCLAttributeDef(id=0x8002, name='power_on_state', type=<enum 'PowerOnState'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read|Write|Report: 11>, mandatory=False, is_manufacturer_specific=False)",
                "value": 0
              },
              "0xfffe": {
                "attribute": "ZCLAttributeDef(id=0xFFFE, name='reporting_status', type=<enum 'AttributeReportingStatus'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x4003": {
                "attribute": "ZCLAttributeDef(id=0x4003, name='start_up_on_off', type=<enum 'StartUpOnOff'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read|Write: 3>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x8004": {
                "attribute": "ZCLAttributeDef(id=0x8004, name='switch_mode', type=<enum 'SwitchMode'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read|Write|Report: 11>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              }
            },
            "unsupported_attributes": [
              16387,
              "start_up_on_off"
            ]
          }
        },
        "out_clusters": {
          "0x0019": {
            "endpoint_attribute": "ota",
            "attributes": {
              "0xfffd": {
                "attribute": "ZCLAttributeDef(id=0xFFFD, name='cluster_revision', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0002": {
                "attribute": "ZCLAttributeDef(id=0x0002, name='current_file_version', type=<class 'zigpy.types.basic.uint32_t'>, zcl_type=<DataTypeId.uint32: 35>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": 80
              },
              "0x0003": {
                "attribute": "ZCLAttributeDef(id=0x0003, name='current_zigbee_stack_version', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0004": {
                "attribute": "ZCLAttributeDef(id=0x0004, name='downloaded_file_version', type=<class 'zigpy.types.basic.uint32_t'>, zcl_type=<DataTypeId.uint32: 35>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0005": {
                "attribute": "ZCLAttributeDef(id=0x0005, name='downloaded_zigbee_stack_version', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0001": {
                "attribute": "ZCLAttributeDef(id=0x0001, name='file_offset', type=<class 'zigpy.types.basic.uint32_t'>, zcl_type=<DataTypeId.uint32: 35>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x000a": {
                "attribute": "ZCLAttributeDef(id=0x000A, name='image_stamp', type=<class 'zigpy.types.basic.uint32_t'>, zcl_type=<DataTypeId.uint32: 35>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0008": {
                "attribute": "ZCLAttributeDef(id=0x0008, name='image_type_id', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0006": {
                "attribute": "ZCLAttributeDef(id=0x0006, name='image_upgrade_status', type=<enum 'ImageUpgradeStatus'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0007": {
                "attribute": "ZCLAttributeDef(id=0x0007, name='manufacturer_id', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0009": {
                "attribute": "ZCLAttributeDef(id=0x0009, name='minimum_block_req_delay', type=<class 'zigpy.types.basic.uint16_t'>, zcl_type=<DataTypeId.uint16: 33>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0xfffe": {
                "attribute": "ZCLAttributeDef(id=0xFFFE, name='reporting_status', type=<enum 'AttributeReportingStatus'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x000b": {
                "attribute": "ZCLAttributeDef(id=0x000B, name='upgrade_activation_policy', type=<enum 'UpgradeActivationPolicy'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              },
              "0x0000": {
                "attribute": "ZCLAttributeDef(id=0x0000, name='upgrade_server_id', type=<class 'zigpy.types.named.EUI64'>, zcl_type=<DataTypeId.EUI64: 240>, access=<ZCLAttributeAccess.Read: 1>, mandatory=True, is_manufacturer_specific=False)",
                "value": null
              },
              "0x000c": {
                "attribute": "ZCLAttributeDef(id=0x000C, name='upgrade_timeout_policy', type=<enum 'UpgradeTimeoutPolicy'>, zcl_type=<DataTypeId.enum8: 48>, access=<ZCLAttributeAccess.Read: 1>, mandatory=False, is_manufacturer_specific=False)",
                "value": null
              }
            },
            "unsupported_attributes": []
          }
        }
      }
    }
  }
}

Logs

Logs
[Paste the logs here]

2025-02-17 10:32:30.408 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration bambu_lab which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2025-02-17 10:32:30.412 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2025-02-17 10:32:49.844 WARNING (SyncWorker_5) [zhaquirks] Loaded custom quirks. Please contribute them to https://github.com/zigpy/zha-device-handlers
2025-02-17 10:32:52.052 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'bambu_lab' accessed lovelace_data['mode'] instead of lovelace_data.mode at custom_components/bambu_lab/frontend/__init__.py, line 21: if self.hass.data["lovelace"]["mode"] == "storage":. This will stop working in Home Assistant 2026.2, please create a bug report at https://github.com/greghesp/ha-bambulab/issues
2025-02-17 10:32:52.066 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'bambu_lab' accessed lovelace_data['resources'] instead of lovelace_data.resources at custom_components/bambu_lab/frontend/__init__.py, line 38: if self.hass.data["lovelace"]["resources"].loaded:. This will stop working in Home Assistant 2026.2, please create a bug report at https://github.com/greghesp/ha-bambulab/issues
2025-02-17 10:32:52.086 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'bambu_lab' accessed lovelace_data['resources'] instead of lovelace_data.resources at custom_components/bambu_lab/frontend/__init__.py, line 52: for resource in self.hass.data["lovelace"]["resources"].async_items(). This will stop working in Home Assistant 2026.2, please create a bug report at https://github.com/greghesp/ha-bambulab/issues
2025-02-17 10:33:50.483 WARNING (MainThread) [homeassistant.components.gree.coordinator] Device gree-502cc6b1a4bf is unresponsive for 0:01:01.896494 seconds
2025-02-17 10:34:37.156 ERROR (MainThread) [zigpy.zcl] [0xE430:1:0xef00] Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/zigpy/zcl/__init__.py", line 425, in reply
    return await self._endpoint.reply(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<9 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/endpoint.py", line 304, in reply
    return await self.device.reply(
           ^^^^^^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 558, in reply
    return await self.request(
           ^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 371, in request
    async with self._limit_concurrency(priority=priority):
               ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/contextlib.py", line 221, in __aexit__
    await anext(self.gen)
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 120, in _limit_concurrency
    async with self._concurrent_requests_semaphore(priority=priority):
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 32, in __aexit__
    await self.context_manager.__aexit__(exc_type, exc, traceback)
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 184, in __aexit__
    self.release()
    ~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 160, in release
    raise ValueError("Semaphore released too many times")
ValueError: Semaphore released too many times

2025-02-17 10:39:41.503 ERROR (MainThread) [zigpy.zcl] [0x5B0B:1:0x0020] Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/zigpy/endpoint.py", line 270, in request
    return await self.device.request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 378, in request
    await send_request()
  File "/usr/local/lib/python3.13/site-packages/zigpy/application.py", line 835, in request
    await self.send_packet(
    ...<14 lines>...
    )
  File "/usr/local/lib/python3.13/site-packages/bellows/zigbee/application.py", line 937, in send_packet
    raise zigpy.exceptions.DeliveryError(
        f"Failed to deliver message: {send_status!r}", send_status
    )
zigpy.exceptions.DeliveryError: Failed to deliver message: <sl_Status.ZIGBEE_DELIVERY_FAILED: 3074>

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/zha/zigbee/cluster_handlers/general.py", line 630, in check_in_response
    await self.checkin_response(True, self.CHECKIN_FAST_POLL_TIMEOUT, tsn=tsn)
  File "/usr/local/lib/python3.13/site-packages/zha/zigbee/cluster_handlers/__init__.py", line 85, in wrapper
    with wrap_zigpy_exceptions():
         ~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/contextlib.py", line 162, in __exit__
    self.gen.throw(value)
    ~~~~~~~~~~~~~~^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/zha/zigbee/cluster_handlers/__init__.py", line 77, in wrap_zigpy_exceptions
    raise ZHAException(message) from exc
zha.exceptions.ZHAException: Failed to send request: Failed to deliver message: <sl_Status.ZIGBEE_DELIVERY_FAILED: 3074>

2025-02-17 11:07:29.120 ERROR (MainThread) [zigpy.zcl] [0xDAA8:1:0x0006] Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/zigpy/zcl/__init__.py", line 425, in reply
    return await self._endpoint.reply(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<9 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/endpoint.py", line 304, in reply
    return await self.device.reply(
           ^^^^^^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 558, in reply
    return await self.request(
           ^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 371, in request
    async with self._limit_concurrency(priority=priority):
               ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/contextlib.py", line 221, in __aexit__
    await anext(self.gen)
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 120, in _limit_concurrency
    async with self._concurrent_requests_semaphore(priority=priority):
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 32, in __aexit__
    await self.context_manager.__aexit__(exc_type, exc, traceback)
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 184, in __aexit__
    self.release()
    ~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 160, in release
    raise ValueError("Semaphore released too many times")
ValueError: Semaphore released too many times

2025-02-17 11:07:33.208 ERROR (MainThread) [zigpy.zcl] [0x68AA:1:0x0006] Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/zigpy/zcl/__init__.py", line 425, in reply
    return await self._endpoint.reply(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<9 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/endpoint.py", line 304, in reply
    return await self.device.reply(
           ^^^^^^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 558, in reply
    return await self.request(
           ^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 371, in request
    async with self._limit_concurrency(priority=priority):
               ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/contextlib.py", line 221, in __aexit__
    await anext(self.gen)
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 120, in _limit_concurrency
    async with self._concurrent_requests_semaphore(priority=priority):
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 32, in __aexit__
    await self.context_manager.__aexit__(exc_type, exc, traceback)
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 184, in __aexit__
    self.release()
    ~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 160, in release
    raise ValueError("Semaphore released too many times")
ValueError: Semaphore released too many times

2025-02-17 11:08:41.996 ERROR (MainThread) [zigpy.zcl] [0xE430:1:0xef00] Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/zigpy/zcl/__init__.py", line 425, in reply
    return await self._endpoint.reply(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<9 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/endpoint.py", line 304, in reply
    return await self.device.reply(
           ^^^^^^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 558, in reply
    return await self.request(
           ^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 371, in request
    async with self._limit_concurrency(priority=priority):
               ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/contextlib.py", line 221, in __aexit__
    await anext(self.gen)
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 120, in _limit_concurrency
    async with self._concurrent_requests_semaphore(priority=priority):
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 32, in __aexit__
    await self.context_manager.__aexit__(exc_type, exc, traceback)
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 184, in __aexit__
    self.release()
    ~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 160, in release
    raise ValueError("Semaphore released too many times")
ValueError: Semaphore released too many times

2025-02-17 11:10:07.420 ERROR (MainThread) [zigpy.zcl] [0xE8B1:1:0xef00] Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 127, in _limit_concurrency
    yield
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 373, in request
    await send_request()
  File "/usr/local/lib/python3.13/site-packages/zigpy/application.py", line 835, in request
    await self.send_packet(
    ...<14 lines>...
    )
  File "/usr/local/lib/python3.13/site-packages/bellows/zigbee/application.py", line 937, in send_packet
    raise zigpy.exceptions.DeliveryError(
        f"Failed to deliver message: {send_status!r}", send_status
    )
zigpy.exceptions.DeliveryError: Failed to deliver message: <sl_Status.ZIGBEE_DELIVERY_FAILED: 3074>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/zigpy/zcl/__init__.py", line 425, in reply
    return await self._endpoint.reply(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<9 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/endpoint.py", line 304, in reply
    return await self.device.reply(
           ^^^^^^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 558, in reply
    return await self.request(
           ^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 371, in request
    async with self._limit_concurrency(priority=priority):
               ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/contextlib.py", line 235, in __aexit__
    await self.gen.athrow(value)
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 120, in _limit_concurrency
    async with self._concurrent_requests_semaphore(priority=priority):
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 32, in __aexit__
    await self.context_manager.__aexit__(exc_type, exc, traceback)
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 184, in __aexit__
    self.release()
    ~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 160, in release
    raise ValueError("Semaphore released too many times")
ValueError: Semaphore released too many times

2025-02-17 11:11:11.530 ERROR (MainThread) [zigpy.zcl] [0xE8B1:1:0x000a] Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/zigpy/zcl/__init__.py", line 425, in reply
    return await self._endpoint.reply(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<9 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/endpoint.py", line 304, in reply
    return await self.device.reply(
           ^^^^^^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 558, in reply
    return await self.request(
           ^^^^^^^^^^^^^^^^^^^
    ...<11 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 371, in request
    async with self._limit_concurrency(priority=priority):
               ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/contextlib.py", line 221, in __aexit__
    await anext(self.gen)
  File "/usr/local/lib/python3.13/site-packages/zigpy/device.py", line 120, in _limit_concurrency
    async with self._concurrent_requests_semaphore(priority=priority):
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 32, in __aexit__
    await self.context_manager.__aexit__(exc_type, exc, traceback)
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 184, in __aexit__
    self.release()
    ~~~~~~~~~~~~^^
  File "/usr/local/lib/python3.13/site-packages/zigpy/datastructures.py", line 160, in release
    raise ValueError("Semaphore released too many times")
ValueError: Semaphore released too many times


</details>


### Additional information

_No response_
@alltair4747 alltair4747 added the possible bug Possible bug, yet to be confirmed label Feb 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
possible bug Possible bug, yet to be confirmed
Projects
None yet
Development

No branches or pull requests

1 participant