Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[3RSP02028BZ / Third Reality] configure fails: "has no input cluster 3rPlugGen2SpecialCluster" — device exposes the special cluster at 0x1000, definition expects 0xff03

Open Beginner friendly
#33,467 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
76/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
typescript
Domain
backend

Research direction

The device definition is in zigbee-herdsman-converters at src/devices/third_reality.ts; start by reading the 3RSP02028BZ definition and how its extends reference 3rPlugGen2SpecialCluster. Compare the expected 0xff03 ID with the reported endpoint ID 0x1000 and check nearby tests or definitions for custom cluster handling. Done when configure can find the cluster on this device and the relevant configuration succeeds.

Written by the indexing model from the issue text.

Description

problem
What happened?

On every Zigbee2MQTT (re)start, the configure step for a ThirdReality smart plug (3RSP02028BZ) fails with:

z2m: Failed to configure 'Living Room Lamp', attempt N (Error: Device 0x282c02bfffea1dfa has no input cluster 3rPlugGen2SpecialCluster
    at getEndpointsWithCluster (…/zigbee-herdsman-converters/src/lib/utils.ts:768:15)
    at configure (…/zigbee-herdsman-converters/src/lib/modernExtend.ts:261:52)
    …)

Root cause: the device definition for 3RSP02028BZ (src/devices/third_reality.ts in zigbee-herdsman-converters) adds the custom cluster 3rPlugGen2SpecialCluster with ID 0xff03 (manufacturerCode 0x1233):

extend: [
    m.deviceAddCustomCluster("3rPlugGen2SpecialCluster", {
        name: "3rPlugGen2SpecialCluster",
        ID: 0xff03,
        manufacturerCode: 0x1233,
        …

However, this unit exposes its special cluster at 0x1000 (4096) — see the inClusterList in the device entry below: [0, 3, 4, 5, 6, 4096, 2820, 1794]. getEndpointsWithCluster therefore finds no endpoint with the cluster and configure
fails on every attempt, on every restart.

The device's manufacturer ID (4659 = 0x1233) matches the definition's manufacturerCode, so this looks like a hardware/firmware-generation difference in the special cluster ID rather than a misidentified device.

What did you expect to happen?

Configure succeeds: the special cluster is found at the ID the device actually exposes
(0x1000 on this unit), and binds/reporting are (re)applied after restart.

How to reproduce it (minimal and precise)
  1. Pair a ThirdReality 3RSP02028BZ with swBuildId 1.01.01, dateCode "20251126 1702-3R" (newer production batch).
  2. Restart Zigbee2MQTT.
  3. The configure extension fails for the device on all 3 attempts with the error above.
Zigbee2MQTT version

2.14.2

Adapter firmware version

7.4.4 [GA]

Adapter

SkyConnect (Silicon Labs EFR32, ember driver), coordinator 0x44e2f8fffe8c9890

Setup

Unraid 7 (x86-64), Docker container koenkk/zigbee2mqtt:latest, MQTT broker on the host.

Device database.db entry
{"id":2,"type":"Router","ieeeAddr":"0x282c02bfffea1dfa","nwkAddr":3199,"manufId":4659,"manufName":"Third Reality, Inc","powerSource":"Mains (single phase)","modelId":"3RSP02028BZ","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":81,"inClusterList":[0,3,4,5,6,4096,2820,1794],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"modelId":"3RSP02028BZ","manufacturerName":"Third Reality, Inc","powerSource":1,"zclVersion":3,"appVersion":71,"stackVersion":2,"hwVersion":1,"swBuildId":"1.01.01","dateCode":"20251126 1702-3R"}}},"genOnOff":{"attributes":{"onOff":0}},"haElectricalMeasurement":{"attributes":{"acPowerDivisor":10,"acVoltageDivisor":10,"acCurrentDivisor":1000,"acPowerMultiplier":1,"acVoltageMultiplier":1,"acCurrentMultiplier":1,"rmsVoltage":1199,"acFrequency":60,"rmsCurrent":0,"activePower":0,"powerFactor":0}},"seMetering":{"attributes":{"unitOfMeasure":0,"divisor":3600000,"summaFormatting":255,"multiplier":1,"currentSummDelivered":150235655}}},"binds":[{"cluster":6,"type":"endpoint","deviceIeeeAddress":"0x44e2f8fffe8c9890","endpointID":1},{"cluster":2820,"type":"endpoint","deviceIeeeAddress":"0x44e2f8fffe8c9890","endpointID":1},{"cluster":1794,"type":"endpoint","deviceIeeeAddress":"0x44e2f8fffe8c9890","endpointID":1}],"configuredReportings":[{"cluster":6,"attrId":0,"minRepIntval":0,"maxRepIntval":3600,"repChange":0},{"cluster":2820,"attrId":1291,"minRepIntval":5,"maxRepIntval":3600,"repChange":10},{"cluster":2820,"attrId":1288,"minRepIntval":5,"maxRepIntval":3600,"repChange":50},{"cluster":2820,"attrId":1285,"minRepIntval":5,"maxRepIntval":3600,"repChange":5}],"meta":{}},"242":{"profId":41440,"epId":242,"devId":97,"inClusterList":[],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":71,"stackVersion":2,"hwVersion":1,"dateCode":"20251126 1702-3R","swBuildId":"1.01.01","zclVersion":3,"interviewCompleted":true,"interviewState":"SUCCESSFUL","meta":{}}
Debug log
[2026-10-21 13:20:19] error: 	z2m: Failed to configure 'Living Room Lamp', attempt 2 (Error: Device 0x282c02bfffea1dfa has no input cluster 3rPlugGen2SpecialCluster
    at getEndpointsWithCluster (/app/node_modules/.pnpm/[email protected][email protected]/node_modules/zigbee-herdsman-converters/src/lib/utils.ts:768:15)
    at configure (/app/node_modules/.pnpm/[email protected][email protected]/node_modules/zigbee-herdsman-converters/src/lib/modernExtend.ts:261:52)
    at Object.configure (/app/node_modules/.pnpm/[email protected][email protected]/node_modules/zigbee-herdsman-converters/src/index.ts:371:27)
    at async Configure.configure (/app/lib/extension/configure.ts:135:13)
    at async Immediate.<anonymous> (/app/lib/extension/configure.ts:65:17))
Notes
  • First time opening an issue, so let me know if I'm missing anything!
  • Related: issue #31665 ([3RSP02028BZ / Third Reality, Inc] ???, 2026-04) covers a unit with the same dateCode "20251126 1702-3R"; its endpoint dump shows 3rPlugGen2SpecialCluster resolved in the input cluster list, i.e. that unit's special cluster sat at the ID the definition expects. This report's unit has it at 0x1000 — consistent with two hardware/firmware generations using different IDs.
  • The custom cluster was introduced in zigbee-herdsman-converters 25.17.0 (release PR #9923); the failure started appearing after that version shipped.
  • Practical impact today is modest: binds and configuredReportings are already saved on the device (visible in the entry above), so the plug works. But configure failing on every restart means the configuration is never (re)applied — e.g. after a re-pair/factory reset the device would come up without reporting.
  • Suggested fix: have the 3RSP02028BZ definition accept the special cluster at both 0xff03 and 0x1000 (probe both IDs / match on whichever the device exposes), e.g. in the m.numeric/m.enumLookup extends that reference it.
  • Template pre-checks: verified against current master (2026-10-21) — the definition still uses ID: 0xff03; no fix commit since the custom cluster landed in 25.17.0, and no open PR in either repo. Latest release v26.123.0 (2026-10-20) is unaffected (built on the same definition).
Dominant language
TypeScript
Stars
15.8k
Forks
2k
Avg merge
1d 9h
Merged PRs (30d)
43

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from Koenkk/zigbee2mqtt

All issues in Koenkk/zigbee2mqtt

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.