Koenkk / Koenkk/zigbee2mqtt

Sinopé TH1123ZB configure fails for haElectricalMeasurement: activePower/rmsCurrent/rmsVoltage UNREPORTABLE_ATTRIBUTE

Open
#32,734 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

problem
Dominant language
TypeScript
Stars
15.7k
Forks
2k
Avg merge
18h 55m
Merged PRs (30d)
35

Description

What happened?

This is a continuation of the stale and closed #31970, and it still appears to be an issue on the current latest version, 2.13.0-1. I've copied over the details with updated versions. Unfortunately, manually adding the problematic attributes to the thermostats threw an UNSUPPORTED_ATTRIBUTE error.

I have three Sinopé TH1123ZB thermostats set up in Home Assistant. For some reason, all are controllable in Z2M as far as settings/temp go, but the Z2M log is being flooded by errors reporting that it can't configure the haElectricalMeasurement cluster (containing rmsCurrent, activePower and rmsVoltage) for two of those three thermostats. As such, the power entities for the aforementioned units show Unknown for the Energy sensor; the third reports energy without issue.

The third thermostat (still a TH1123ZB) appears to store different attributes within its haElectricalMeasurement cluster, which may explain why it's not throwing errors.

Unpairing from the network and repairing doesn't eliminate the errors, nor did changing out the coordinator hardware. I've also factory reset the units, but to no avail.

What did you expect to happen?

The two problematic thermostats should report power readings and not throw errors in the log.

How to reproduce it (minimal and precise)

With the thermostats already paired to the coordinator, the errors will appear very frequently while it constantly tries to configure the values.

Zigbee2MQTT version

2.13.0-1

Adapter firmware version

8.2.2

Adapter

SMLIGHT SLZB06M

Setup

Z2M as an add-on within Home Assistant OS, within Proxmox (v8.4.19). Host is running with: 4 x Intel(R) Core(TM) i5-7500T CPU @ 2.70GHz.

Device database.db entry

{"id":70,"type":"EndDevice","ieeeAddr":"0x500b91400001ca0a","nwkAddr":64999,"manufId":4508,"manufName":"Sinope Technologies\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","powerSource":"Mains (single phase)","modelId":"TH1123ZB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","epList":[1,196],"endpoints":{"1":{"profId":260,"epId":1,"devId":769,"inClusterList":[0,3,4,5,513,516,1026,1794,2820,2821,65281],"outClusterList":[65281,25],"clusters":{"hvacThermostat":{"attributes":{"localTemp":2255,"pIHeatingDemand":0,"occupiedHeatingSetpoint":2150}},"seMetering":{"attributes":{"currentSummDelivered":146962}},"haElectricalMeasurement":{"attributes":{"1361":146962,"rmsVoltage":2409,"rmsCurrent":0,"acPowerDivisor":1,"acPowerMultiplier":1,"acCurrentDivisor":1000,"acCurrentMultiplier":1,"acVoltageDivisor":10,"acVoltageMultiplier":1}},"manuSpecificSinope":{"attributes":{"currentLoad":0}},"genBasic":{"attributes":{"modelId":"TH1123ZB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","manufacturerName":"Sinope Technologies\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","powerSource":1,"zclVersion":2,"appVersion":43,"stackVersion":5,"hwVersion":2,"dateCode":"20190708\u0000\u0000\u0000\u0000\u0000\u0000\u0000","swBuildId":"1679\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"}}},"binds":[{"cluster":0,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":3,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":4,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":513,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":516,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":1026,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":65281,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":2820,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1}],"configuredReportings":[{"cluster":513,"attrId":0,"minRepIntval":0,"maxRepIntval":3600,"repChange":10},{"cluster":513,"attrId":8,"minRepIntval":0,"maxRepIntval":3600,"repChange":10},{"cluster":513,"attrId":18,"minRepIntval":0,"maxRepIntval":3600,"repChange":10}],"meta":{}},"196":{"profId":49757,"epId":196,"devId":769,"inClusterList":[1],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":43,"stackVersion":5,"hwVersion":2,"dateCode":"20190708\u0000\u0000\u0000\u0000\u0000\u0000\u0000","swBuildId":"1679\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","zclVersion":2,"interviewCompleted":true,"interviewState":"SUCCESSFUL","meta":{},"lastSeen":1778455918959}, {"id":126,"type":"Router","ieeeAddr":"0x500b9140000239b1","nwkAddr":33289,"manufId":4508,"manufName":"Sinope Technologies\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","powerSource":"Mains (single phase)","modelId":"TH1123ZB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","epList":[1],"endpoints":{"1":{"profId":260,"epId":1,"devId":769,"inClusterList":[0,3,4,5,513,516,1026,1794,2820,2821,65281],"outClusterList":[10,65281,25],"clusters":{"genBasic":{"attributes":{"modelId":"TH1123ZB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","manufacturerName":"Sinope Technologies\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","powerSource":1,"zclVersion":2,"appVersion":65,"stackVersion":1,"hwVersion":2,"dateCode":"20200330\u0000\u0000\u0000\u0000\u0000\u0000\u0000","swBuildId":"2051\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"}},"haElectricalMeasurement":{"attributes":{"1361":770818,"acPowerDivisor":1,"acPowerMultiplier":1,"acCurrentDivisor":1000,"acCurrentMultiplier":1,"acVoltageDivisor":10,"acVoltageMultiplier":1,"activePower":0,"rmsVoltage":2431,"rmsCurrent":0}},"hvacThermostat":{"attributes":{"localTemp":2223,"pIHeatingDemand":0,"occupiedHeatingSetpoint":1900,"systemMode":0}},"manuSpecificSinope":{"attributes":{"512":0,"currentLoad":0}}},"binds":[{"cluster":0,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":3,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":4,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":513,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":516,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":1026,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":65281,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":2820,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1}],"configuredReportings":[{"cluster":513,"attrId":0,"minRepIntval":0,"maxRepIntval":3600,"repChange":10},{"cluster":513,"attrId":8,"minRepIntval":0,"maxRepIntval":3600,"repChange":10},{"cluster":513,"attrId":18,"minRepIntval":0,"maxRepIntval":3600,"repChange":10},{"cluster":513,"attrId":28,"minRepIntval":10,"maxRepIntval":3600,"repChange":null}],"meta":{}}},"appVersion":65,"stackVersion":1,"hwVersion":2,"dateCode":"20200330\u0000\u0000\u0000\u0000\u0000\u0000\u0000","swBuildId":"2051\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","zclVersion":2,"interviewCompleted":true,"interviewState":"SUCCESSFUL","meta":{},"lastSeen":1778455823081}, {"id":72,"type":"Router","ieeeAddr":"0x500b9140000106b7","nwkAddr":60375,"manufId":4508,"manufName":"Sinope Technologies\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","powerSource":"Mains (single phase)","modelId":"TH1123ZB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","epList":[1,196],"endpoints":{"1":{"profId":260,"epId":1,"devId":769,"inClusterList":[0,3,4,5,513,516,1026,2820,2821,65281],"outClusterList":[65281,25],"clusters":{"genBasic":{"attributes":{"hwVersion":0,"zclVersion":1,"modelId":"TH1123ZB\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","manufacturerName":"Sinope Technologies\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","powerSource":1,"appVersion":36,"stackVersion":3}},"haElectricalMeasurement":{"attributes":{"1361":9227,"acPowerDivisor":1,"acPowerMultiplier":1,"acCurrentDivisor":1000,"acCurrentMultiplier":1,"acVoltageDivisor":10,"acVoltageMultiplier":1}},"hvacThermostat":{"attributes":{"localTemp":2019,"occupiedHeatingSetpoint":1850,"pIHeatingDemand":0}}},"binds":[{"cluster":0,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":3,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":4,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":513,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":516,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":1026,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":65281,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1},{"cluster":2820,"type":"endpoint","deviceIeeeAddress":"0x6c5cb1fffe9946c5","endpointID":1}],"configuredReportings":[{"cluster":513,"attrId":0,"minRepIntval":0,"maxRepIntval":3600,"repChange":10},{"cluster":513,"attrId":8,"minRepIntval":0,"maxRepIntval":3600,"repChange":10},{"cluster":513,"attrId":18,"minRepIntval":0,"maxRepIntval":3600,"repChange":10}],"meta":{}},"196":{"profId":49757,"epId":196,"devId":769,"inClusterList":[1],"outClusterList":[],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":36,"stackVersion":3,"hwVersion":0,"zclVersion":1,"interviewCompleted":true,"interviewState":"SUCCESSFUL","meta":{},"lastSeen":1778456194860}

Debug log

log.1.log

Notes

I've included all three thermostat database.db entries in the field above for reference.

Example failure from log:

z2m: Failed to configure 'Spare Bedroom Cadet Wall Heater Thermostat', attempt 4 (Error: ZCL command 0x500b9140000106b7/1 haElectricalMeasurement.configReport([{"minimumReportInterval":10,"maximumReportInterval":65000,"reportableChange":5,"attribute":"activePower"},{"minimumReportInterval":10,"maximumReportInterval":65000,"reportableChange":50,"attribute":"rmsCurrent"},{"minimumReportInterval":10,"maximumReportInterval":65000,"reportableChange":50,"attribute":"rmsVoltage"}], {"timeout":10000,"disableResponse":false,"disableRecovery":false,"disableDefaultResponse":true,"direction":0,"reservedBits":0,"writeUndiv":false}) failed (Status 'UNREPORTABLE_ATTRIBUTE')

Contributor guide

Open the contributing guide

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.

Research direction

Start by comparing the three thermostat entries in database.db with the failure in log.1.log, focusing on haElectricalMeasurement.configReport and the differing reported attributes. The fix is complete when TH1123ZB devices with these attribute variants no longer repeatedly produce UNREPORTABLE_ATTRIBUTE errors and their power readings are available.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.