zha-device-handlers icon indicating copy to clipboard operation
zha-device-handlers copied to clipboard

[Device Support Request] TS011F _TZ3000_cfnprab5 variant - SM-SO306M (UseeLink 4 AC with 2 USB, universal plugs)

Open fonix232 opened this issue 2 years ago • 10 comments

Problem description

While the general device is supported by plethora of quirks, this specific model I got off of Amazon does not seem to match any of them. My unit has an extra, unknown input cluster (0xe001), and no output clusters at all.

Quirk finding failure logs
2023-05-24 10:27:33.823 DEBUG (MainThread) [zigpy.quirks.registry] Checking quirks for _TZ3000_cfnprab5 TS011F (70:b3:d5:2b:60:01:68:64)
2023-05-24 10:27:33.823 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts011f_switch.Tuya_1G_Switch'>
2023-05-24 10:27:33.823 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.823 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts011f_switch.Tuya_2G_Switch'>
2023-05-24 10:27:33.823 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2, 242} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.823 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.lidl.ts011f_plug.Lidl_Plug_3AC_4USB'>
2023-05-24 10:27:33.823 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 242} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.823 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts011f_plug.Plug_2AC_var05'>
2023-05-24 10:27:33.823 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2, 242} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.823 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts011f_plug.Plug_2AC_var03'>
2023-05-24 10:27:33.823 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.823 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts011f_plug.Plug_v2'>
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts011f_plug.Plug_4AC_2USB_Metering'>
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {242, 1, 2, 3} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts011f_plug.Plug_4AC_2USB_cfnprab5'>
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2, 3, 4, 5, 242} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts011f_plug.Plug_TZ3210_1AC'>
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 242} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts011f_plug.Plug_TZ3210_2AC'>
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2, 242} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts011f_plug.Plug_4AC_2USB'>
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2, 3, 4, 5, 242} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts011f_plug.Plug_3AC_4USB'>
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {242, 1, 2, 3} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts011f_plug.Plug_1AC'>
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {242, 11} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts011f_plug.Plug'>
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 242} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.824 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xiaomi.aqara.opple_switch.XiaomiOpple2ButtonSwitchFace2'>
2023-05-24 10:27:33.825 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2, 242} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.825 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xiaomi.aqara.opple_switch.XiaomiOpple2ButtonSwitchFace1'>
2023-05-24 10:27:33.825 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1, 2, 41, 42, 242, 51, 21, 31} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.825 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
2023-05-24 10:27:33.825 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.825 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
2023-05-24 10:27:33.825 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {232, 230} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.825 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.tuya.ts0201.MoesTemperatureHumidtySensorWithScreen'>
2023-05-24 10:27:33.825 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.825 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
2023-05-24 10:27:33.826 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.826 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
2023-05-24 10:27:33.826 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.826 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
2023-05-24 10:27:33.826 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {1} {1, 2, 3, 4, 5}
2023-05-24 10:27:33.826 DEBUG (MainThread) [zigpy.quirks.registry] Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
2023-05-24 10:27:33.826 DEBUG (MainThread) [zigpy.quirks.registry] Fail because endpoint list mismatch: {11, 13} {1, 2, 3, 4, 5}

Solution description

An additional profile that matches the clusters of this device so that it is recognised.

Device signature

Device signature
{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4660, maximum_buffer_size=108, maximum_incoming_transfer_size=0, server_mask=11264, maximum_outgoing_transfer_size=0, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": "0x0104",
      "device_type": "0x0100",
      "input_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0xe001"
      ],
      "output_clusters": []
    },
    "2": {
      "profile_id": "0x0104",
      "device_type": "0x0100",
      "input_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0xe001"
      ],
      "output_clusters": []
    },
    "3": {
      "profile_id": "0x0104",
      "device_type": "0x0100",
      "input_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0xe001"
      ],
      "output_clusters": []
    },
    "4": {
      "profile_id": "0x0104",
      "device_type": "0x0100",
      "input_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0xe001"
      ],
      "output_clusters": []
    },
    "5": {
      "profile_id": "0x0104",
      "device_type": "0x0100",
      "input_clusters": [
        "0x0000",
        "0x0003",
        "0x0004",
        "0x0005",
        "0x0006",
        "0xe001"
      ],
      "output_clusters": []
    }
  },
  "manufacturer": "_TZ3000_cfnprab5",
  "model": "TS011F",
  "class": "zigpy.device.Device"
}

Diagnostic information

Diagnostic information
{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2023.5.4",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.10.11",
    "docker": true,
    "arch": "x86_64",
    "timezone": "Europe/London",
    "os_name": "Linux",
    "os_version": "6.1.25",
    "supervisor": "2023.04.1",
    "host_os": "Home Assistant OS 10.1",
    "docker_version": "23.0.3",
    "chassis": "vm",
    "run_as_root": true
  },
  "custom_components": {
    "hacs": {
      "version": "1.32.1",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "govee_lan": {
      "version": "1.0.0",
      "requirements": [
        "govee-led-wez>=0.0.14"
      ]
    },
    "openweathermaphistory": {
      "version": "1.1.0",
      "requirements": []
    },
    "xiaomi_cloud_map_extractor": {
      "version": "v2.2.0",
      "requirements": [
        "pillow",
        "pybase64",
        "python-miio",
        "requests",
        "pycryptodome"
      ]
    },
    "meross_lan": {
      "version": "3.0.3",
      "requirements": []
    },
    "dreame_vacuum": {
      "version": "v0.16.4",
      "requirements": [
        "pillow",
        "numpy",
        "pybase64",
        "requests",
        "pycryptodome",
        "python-miio>=0.5.6",
        "py-mini-racer"
      ]
    },
    "shairport_sync": {
      "version": "1.2.0",
      "requirements": []
    },
    "spotcast": {
      "version": "v3.6.30",
      "requirements": []
    },
    "octopus_energy": {
      "version": "7.0.0",
      "requirements": []
    }
  },
  "integration_manifest": {
    "domain": "zha",
    "name": "Zigbee Home Automation",
    "after_dependencies": [
      "onboarding",
      "usb"
    ],
    "codeowners": [
      "@dmulcahey",
      "@adminiuga",
      "@puddly"
    ],
    "config_flow": true,
    "dependencies": [
      "file_upload"
    ],
    "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"
    ],
    "requirements": [
      "bellows==0.35.5",
      "pyserial==3.5",
      "pyserial-asyncio==0.6",
      "zha-quirks==0.0.99",
      "zigpy-deconz==0.21.0",
      "zigpy==0.55.0",
      "zigpy-xbee==0.18.0",
      "zigpy-zigate==0.11.0",
      "zigpy-znp==0.11.1"
    ],
    "usb": [
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*2652*",
        "known_devices": [
          "slae.sh cc2652rb stick"
        ]
      },
      {
        "vid": "1A86",
        "pid": "55D4",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus v2"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*sonoff*plus*",
        "known_devices": [
          "sonoff zigbee dongle plus"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*tubeszb*",
        "known_devices": [
          "TubesZB Coordinator"
        ]
      },
      {
        "vid": "1A86",
        "pid": "7523",
        "description": "*zigstar*",
        "known_devices": [
          "ZigStar Coordinators"
        ]
      },
      {
        "vid": "1CF1",
        "pid": "0030",
        "description": "*conbee*",
        "known_devices": [
          "Conbee II"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8A2A",
        "description": "*zigbee*",
        "known_devices": [
          "Nortek HUSBZB-1"
        ]
      },
      {
        "vid": "0403",
        "pid": "6015",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate+"
        ]
      },
      {
        "vid": "10C4",
        "pid": "EA60",
        "description": "*zigate*",
        "known_devices": [
          "ZiGate"
        ]
      },
      {
        "vid": "10C4",
        "pid": "8B34",
        "description": "*bv 2010/10*",
        "known_devices": [
          "Bitron Video AV2010/10"
        ]
      }
    ],
    "zeroconf": [
      {
        "type": "_esphomelib._tcp.local.",
        "name": "tube*"
      },
      {
        "type": "_zigate-zigbee-gateway._tcp.local.",
        "name": "*zigate*"
      },
      {
        "type": "_zigstar_gw._tcp.local.",
        "name": "*zigstar*"
      },
      {
        "type": "_slzb-06._tcp.local.",
        "name": "slzb-06*"
      }
    ],
    "is_built_in": true
  },
  "data": {
    "ieee": "**REDACTED**",
    "nwk": 12955,
    "manufacturer": "_TZ3000_cfnprab5",
    "model": "TS011F",
    "name": "_TZ3000_cfnprab5 TS011F",
    "quirk_applied": false,
    "quirk_class": "zigpy.device.Device",
    "manufacturer_code": 4660,
    "power_source": "Mains",
    "lqi": 255,
    "rssi": -52,
    "last_seen": "2023-05-24T10:41:23",
    "available": true,
    "device_type": "Router",
    "signature": {
      "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4660, maximum_buffer_size=108, maximum_incoming_transfer_size=0, server_mask=11264, maximum_outgoing_transfer_size=0, descriptor_capability_field=<DescriptorCapability.NONE: 0>, *allocate_address=True, *is_alternate_pan_coordinator=False, *is_coordinator=False, *is_end_device=False, *is_full_function_device=True, *is_mains_powered=True, *is_receiver_on_when_idle=True, *is_router=True, *is_security_capable=False)",
      "endpoints": {
        "1": {
          "profile_id": "0x0104",
          "device_type": "0x0100",
          "input_clusters": [
            "0x0000",
            "0x0003",
            "0x0004",
            "0x0005",
            "0x0006",
            "0xe001"
          ],
          "output_clusters": []
        },
        "2": {
          "profile_id": "0x0104",
          "device_type": "0x0100",
          "input_clusters": [
            "0x0000",
            "0x0003",
            "0x0004",
            "0x0005",
            "0x0006",
            "0xe001"
          ],
          "output_clusters": []
        },
        "3": {
          "profile_id": "0x0104",
          "device_type": "0x0100",
          "input_clusters": [
            "0x0000",
            "0x0003",
            "0x0004",
            "0x0005",
            "0x0006",
            "0xe001"
          ],
          "output_clusters": []
        },
        "4": {
          "profile_id": "0x0104",
          "device_type": "0x0100",
          "input_clusters": [
            "0x0000",
            "0x0003",
            "0x0004",
            "0x0005",
            "0x0006",
            "0xe001"
          ],
          "output_clusters": []
        },
        "5": {
          "profile_id": "0x0104",
          "device_type": "0x0100",
          "input_clusters": [
            "0x0000",
            "0x0003",
            "0x0004",
            "0x0005",
            "0x0006",
            "0xe001"
          ],
          "output_clusters": []
        }
      },
      "manufacturer": "_TZ3000_cfnprab5",
      "model": "TS011F"
    },
    "active_coordinator": false,
    "entities": [
      {
        "entity_id": "light.gaming_station_power_1",
        "name": "_TZ3000_cfnprab5 TS011F"
      },
      {
        "entity_id": "light.gaming_station_power_2",
        "name": "_TZ3000_cfnprab5 TS011F"
      },
      {
        "entity_id": "light.gaming_station_power_3",
        "name": "_TZ3000_cfnprab5 TS011F"
      },
      {
        "entity_id": "light.gaming_station_power_4",
        "name": "_TZ3000_cfnprab5 TS011F"
      },
      {
        "entity_id": "light.gaming_station_power_usb",
        "name": "_TZ3000_cfnprab5 TS011F"
      },
      {
        "entity_id": "button.gaming_station_power_identify",
        "name": "_TZ3000_cfnprab5 TS011F"
      }
    ],
    "neighbors": [
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Parent",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x9957",
        "permit_joining": "NotAccepting",
        "depth": "1",
        "lqi": "117"
      },
      {
        "device_type": "Coordinator",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x0000",
        "permit_joining": "NotAccepting",
        "depth": "0",
        "lqi": "134"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x029C",
        "permit_joining": "NotAccepting",
        "depth": "1",
        "lqi": "55"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x4E5E",
        "permit_joining": "NotAccepting",
        "depth": "2",
        "lqi": "0"
      },
      {
        "device_type": "Router",
        "rx_on_when_idle": "On",
        "relationship": "Sibling",
        "extended_pan_id": "**REDACTED**",
        "ieee": "**REDACTED**",
        "nwk": "0x87FE",
        "permit_joining": "NotAccepting",
        "depth": "1",
        "lqi": "1"
      }
    ],
    "routes": [],
    "endpoint_names": [
      {
        "name": "ON_OFF_LIGHT"
      },
      {
        "name": "ON_OFF_LIGHT"
      },
      {
        "name": "ON_OFF_LIGHT"
      },
      {
        "name": "ON_OFF_LIGHT"
      },
      {
        "name": "ON_OFF_LIGHT"
      }
    ],
    "user_given_name": "Gaming Station Power",
    "device_reg_id": "83b7a88e021527acfac7b1e827b5ab13",
    "area_id": "office",
    "cluster_details": {
      "1": {
        "device_type": {
          "name": "ON_OFF_LIGHT",
          "id": 256
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {
              "0x0001": {
                "attribute_name": "app_version",
                "value": 100
              },
              "0x0003": {
                "attribute_name": "hw_version",
                "value": 3
              },
              "0x0004": {
                "attribute_name": "manufacturer",
                "value": "_TZ3000_cfnprab5"
              },
              "0x0005": {
                "attribute_name": "model",
                "value": "TS011F"
              },
              "0x0007": {
                "attribute_name": "power_source",
                "value": 1
              },
              "0xfffd": {
                "attribute_name": "cluster_revision",
                "value": 1
              }
            },
            "unsupported_attributes": {
              "0x0008": {
                "attribute_name": "generic_device_class"
              },
              "0x0009": {
                "attribute_name": "generic_device_type"
              },
              "0x0013": {
                "attribute_name": "alarm_mask"
              }
            }
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 1
              }
            },
            "unsupported_attributes": {}
          },
          "0x0003": {
            "endpoint_attribute": "identify",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0xe001": {
            "endpoint_attribute": null,
            "attributes": {},
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {}
      },
      "2": {
        "device_type": {
          "name": "ON_OFF_LIGHT",
          "id": 256
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 1
              }
            },
            "unsupported_attributes": {}
          },
          "0x0003": {
            "endpoint_attribute": "identify",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0xe001": {
            "endpoint_attribute": null,
            "attributes": {},
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {}
      },
      "3": {
        "device_type": {
          "name": "ON_OFF_LIGHT",
          "id": 256
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 1
              }
            },
            "unsupported_attributes": {}
          },
          "0x0003": {
            "endpoint_attribute": "identify",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0xe001": {
            "endpoint_attribute": null,
            "attributes": {},
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {}
      },
      "4": {
        "device_type": {
          "name": "ON_OFF_LIGHT",
          "id": 256
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 1
              }
            },
            "unsupported_attributes": {}
          },
          "0x0003": {
            "endpoint_attribute": "identify",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0xe001": {
            "endpoint_attribute": null,
            "attributes": {},
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {}
      },
      "5": {
        "device_type": {
          "name": "ON_OFF_LIGHT",
          "id": 256
        },
        "profile_id": 260,
        "in_clusters": {
          "0x0000": {
            "endpoint_attribute": "basic",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0006": {
            "endpoint_attribute": "on_off",
            "attributes": {
              "0x0000": {
                "attribute_name": "on_off",
                "value": 1
              }
            },
            "unsupported_attributes": {}
          },
          "0x0003": {
            "endpoint_attribute": "identify",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0004": {
            "endpoint_attribute": "groups",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0x0005": {
            "endpoint_attribute": "scenes",
            "attributes": {},
            "unsupported_attributes": {}
          },
          "0xe001": {
            "endpoint_attribute": null,
            "attributes": {},
            "unsupported_attributes": {}
          }
        },
        "out_clusters": {}
      }
    }
  }
}

Logs

Logs

I've made relevant logs available above, please notify me if any further are needed

[Paste the logs here]

Additional information

No response

fonix232 avatar May 24 '23 09:05 fonix232

Upon further inspection, I've realised that the unit I have is quite messed up - no OTA cluster endpoint, no way to update the firmware, and while the switches work, that's about it. Guess it's going back to Amazon.

fonix232 avatar May 24 '23 17:05 fonix232

It seems i have also a variant of this power cord. One piece shows correct with switches for all plugs and USB plus the option to switch on / off background light.

Bildschirmfoto 2023-06-07 um 08 20 12

But the other one shows only as light switches without further entities:

Bildschirmfoto 2023-06-07 um 08 34 44

zha-adfa12b853984fcc33aa8d149a7606a3-_TZ3000_cfnprab5 TS011F-c7c7ecd0bf2d9aebe71f84a7f0f4392d.json.txt

Is there a chance to update the quirk?

smartmatic avatar Jun 07 '23 06:06 smartmatic

@smartmatic The one that working have loading the quirk and sent the tuya magic so its OK. The other one is the same model but somthing is not OK with the data the system have getting from it so the quirk is not being loaded for it. Delete the device , wait one minute, adding it new and look if its loading the quirk. If not working restart HA and loos if its being OK.

MattWestb avatar Jun 07 '23 07:06 MattWestb

@smartmatic Delete the device , wait one minute, adding it new and look if its loading the quirk. If not working restart HA and loos if its being OK.

I‘ve executed the steps. Deleted the device, waited more than one minute and re-added it and restarted HA. But it does not load the quirk.

smartmatic avatar Jun 07 '23 09:06 smartmatic

Look in the diagnostic if the endpoints and clusters config is different that is shall not being then both looks being the sane device name / type. Sometime ZHA is failing matching the quirk the adding the device but is working after restart of HA but it shall working the same for both devices.

MattWestb avatar Jun 07 '23 10:06 MattWestb

I've tried it now multiple times but without success. The quirk ist not loaded.

I get also this warning in the log

`Logger: homeassistant.components.zha.core.cluster_handlers Source: components/zha/core/cluster_handlers/init.py:480 Integration: Zigbee Home Automation (documentation, issues) First occurred: 17:55:33 (25 occurrences) Last logged: 18:06:03

[0x8C0A:1:0x0006]: 'async_initialize' stage failed: 'backlight_mode' [0x8C0A:2:0x0006]: 'async_initialize' stage failed: 'backlight_mode' [0x8C0A:3:0x0006]: 'async_initialize' stage failed: 'backlight_mode' [0x8C0A:4:0x0006]: 'async_initialize' stage failed: 'backlight_mode' [0x8C0A:5:0x0006]: 'async_initialize' stage failed: 'backlight_mode' Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/zha/core/helpers.py", line 344, in wrapper return await func(cluster_handler, *args, **kwargs) File "/usr/src/homeassistant/homeassistant/components/zha/core/cluster_handlers/init.py", line 369, in async_initialize await self._get_attributes( File "/usr/src/homeassistant/homeassistant/components/zha/core/cluster_handlers/init.py", line 480, in _get_attributes read, _ = await self.cluster.read_attributes( File "/usr/local/lib/python3.10/site-packages/zigpy/zcl/init.py", line 455, in read_attributes attrid = self.attributes_by_name[attribute].id KeyError: 'backlight_mode' `

smartmatic avatar Jun 07 '23 16:06 smartmatic

i got the same device and zha isnt able to control devices.

I can provide logs if needed. i have other zigbee routers , maybe a conflict

tpickle-py avatar Jul 28 '23 14:07 tpickle-py

Jumping in here, since I just got the same one.

ZHA loads the quirk ts011f_plug.Plug_4AC_2USB_cfnprab5 and everything works, but the device does not exit pairing mode, meaning it reconnects multiple times before disconnecting completely (when the device runs into a pairing timeout I suppose).

image

MaxMSchneider avatar Oct 02 '23 13:10 MaxMSchneider

I just bought 2 of these and appear to be having the same problem. The strange thing is I already had one which (after some trial and error) I managed to get to pair with the quirk active.

That one had a different issue when paired, instead of showing 5 lights (which the 2 I bought are showing), operating any of the switches would turn all switches on/off, which I believe this issue addresses. But I managed to get the quirk working in the end.

These 2 are different, giving the same problems outlined in this thread, all 5 switches show as lights, and no quirk is added to the device during pairing. I've tried everything mentioned in this thread so far and nothing has worked on either device. Is there any other advice on how to pair them with the quirk active?

DavidGeorge528 avatar Nov 15 '23 16:11 DavidGeorge528

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar May 13 '24 17:05 github-actions[bot]

I just received one of these cfnprab5 power strips (4 AC, 2 USB, Euro variant), and the pairing issue still persists. The device pairs, is controllable for about half a minute, then restarts the pairing process. This repeats indefinitely. What to do to fix?

woomiez avatar Jul 16 '24 16:07 woomiez