[New device support]: ICZB-IW21SW from icasa
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 15.7k
- Forks
- 2k
- Avg merge
- 18h 55m
- Merged PRs (30d)
- 35
Description
Link
https://www.icasa.io/dimmersswitches
Database entry
{"id":52,"type":"Router","ieeeAddr":"0xdc8e95fffef5e887","nwkAddr":28877,"manufId":4644,"manufName":"icasa","powerSource":"Mains (single phase)","modelId":"ICZB-IW21SW","epList":[1,242],"endpoints":{"1":{"profId":260,"epId":1,"devId":256,"inClusterList":[0,3,4,5,6,2821,4096],"outClusterList":[25],"clusters":{"genBasic":{"attributes":{"appVersion":0,"stackVersion":0,"modelId":"ICZB-IW21SW","manufacturerName":"icasa","powerSource":1,"zclVersion":3,"hwVersion":1,"dateCode":"NULL","swBuildId":"2.9.2_r54"}},"genOnOff":{"attributes":{"onOff":0}},"genOta":{"attributes":{"currentFileVersion":54}}},"binds":[{"cluster":6,"type":"endpoint","deviceIeeeAddress":"0x00124b0031dd2541","endpointID":1}],"configuredReportings":[{"cluster":6,"attrId":0,"minRepIntval":0,"maxRepIntval":65000,"repChange":1}],"meta":{}},"242":{"profId":41440,"epId":242,"devId":102,"inClusterList":[33],"outClusterList":[33],"clusters":{},"binds":[],"configuredReportings":[],"meta":{}}},"appVersion":0,"stackVersion":0,"hwVersion":1,"dateCode":"NULL","swBuildId":"2.9.2_r54","zclVersion":3,"interviewCompleted":true,"interviewState":"SUCCESSFUL","meta":{"configured":"0.0.0"},"lastSeen":1786378520037}
Zigbee2MQTT version
2.13.0 (fcbb7ff44bdc05a16e95d3472a81d110646cc17b
)
External definition
import * as m from 'zigbee-herdsman-converters/lib/modernExtend';
export default {
zigbeeModel: ['ICZB-IW21SW'],
model: 'ICZB-IW21SW',
vendor: 'icasa',
description: 'Automatically generated definition',
extend: [m.onOff({"powerOnBehavior":false})],
};
What does/doesn't work with the external definition?
What works: Linkquality and State of the switch.
What doesn't work: all energy metering functionality
Notes
software_build_id: 2.9.2_r54
date_code: NULL
endpoints:
{"1":{"bindings":[{"cluster":"genOnOff","target":{"endpoint":1,"ieee_address":"0x00124b0031dd2541","type":"endpoint"}}],"clusters":{"input":["genBasic","genIdentify","genGroups","genScenes","genOnOff","haDiagnostic","touchlink"],"output":["genOta"]},"configured_reportings":[{"attribute":"onOff","cluster":"genOnOff","maximum_report_interval":65000,"minimum_report_interval":0,"reportable_change":1}],"scenes":[]},"242":{"bindings":[],"clusters":{"input":["greenPower"],"output":["greenPower"]},"configured_reportings":[],"scenes":[]}}
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 supplied external definition for ICZB-IW21SW with the database entry, especially its endpoint clusters and reported attributes. Determine how energy metering is exposed by this device, then verify that the completed definition retains link quality and switch state while providing the required metering functionality.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, typescript
- Domain
- embedded-iot
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100