[3RSP02028BZ / Third Reality] configure fails: "has no input cluster 3rPlugGen2SpecialCluster" — device exposes the special cluster at 0x1000, definition expects 0xff03
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
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)
- Pair a ThirdReality
3RSP02028BZwithswBuildId 1.01.01,dateCode "20251126 1702-3R"(newer production batch). - Restart Zigbee2MQTT.
- 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 samedateCode "20251126 1702-3R"; its endpoint dump shows3rPlugGen2SpecialClusterresolved 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 at0x1000— 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
configuredReportingsare 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
3RSP02028BZdefinition accept the special cluster at both0xff03and0x1000(probe both IDs / match on whichever the device exposes), e.g. in them.numeric/m.enumLookupextends that reference it. - Template pre-checks: verified against current
master(2026-10-21) — the definition still usesID: 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
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Koenkk/zigbee2mqtt
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Koenkk/zigbee2mqtt#33542 ·
Maintainers usually reply within 1 day
-
Innr RB 287 C / RS 242 C: extend color_temp range to 50–1000 mired with firmware 1.9.64 / 1.9.54Openproblem
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Koenkk/zigbee2mqtt#33523 ·
Maintainers usually reply within 1 day
-
problem
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Koenkk/zigbee2mqtt#33516 ·
Maintainers usually reply within 1 day
-
Missing Websocket pings from backendPossibly taken A pull request linked to this issue is open or already merged. Openproblem
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Koenkk/zigbee2mqtt#33515 · 1 comment ·
Maintainers usually reply within 1 day
-
external converter
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Koenkk/zigbee2mqtt#33499 · 3 comments ·
Maintainers usually reply within 1 day
All issues in Koenkk/zigbee2mqtt
Similar issues
-
Add: Disco Mix SDOpencheck:passed streams:add
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
level2 nsoc26
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
GauravKarakoti/SecureFlow#1488 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
deltachat/deltachat-desktop#6914 ·
Maintainers usually reply within 2 days
-
area:cli bug P4
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
bug from-studio
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
esengine/DeepSeek-Reasonix#14868 ·
Maintainers usually reply within 1 day