Sinopé TH1123ZB configure fails for haElectricalMeasurement: activePower/rmsCurrent/rmsVoltage UNREPORTABLE_ATTRIBUTE
Nobody has claimed this yet.
- 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
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
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.
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