-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: Prevent IKEA PARASOLL and BADRING being stuck on a previously reported state after it rapidly changes back and forth. #8174
Conversation
…d state after it rapidly changes back and forth. Configure reporting with minimumReportInterval=0 for the ssIasZone cluster's zoneStatus attribute.
d55f9f1
to
9f0c9d7
Compare
@Koenkk, please add the |
src/devices/ikea.ts
Outdated
@@ -931,6 +932,13 @@ const definitions: DefinitionWithExtend[] = [ | |||
battery(), | |||
ikeaOta(), | |||
], | |||
configure: async (device) => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can probably extracted into a modernExtend quirk and added for these 2 devices.
e.g.
zigbee-herdsman-converters/src/lib/modernExtend.ts
Lines 2350 to 2359 in 7e8a807
export function quirkCheckinInterval(timeout: number | keyof typeof timeLookup): ModernExtend { | |
const configure: Configure[] = [ | |
async (device, coordinatorEndpoint, definition) => { | |
device.checkinInterval = typeof timeout == 'number' ? timeout : timeLookup[timeout]; | |
device.save(); | |
}, | |
]; | |
return {configure, isModernExtend: true}; | |
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would be better to add this to the already existing iasZoneAlarm
, @marazmarci is this something you could change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Koenkk, I implemented the changes you requested. I'm no TypeScript dev, but I hope it is good and it works.
I didn't yet have time to actually test it, so I'm marking the PR as a draft in the meantime.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Made some small updates, let me know if this work!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I tested it, and it worked both for PARASOLL and BADRING! I saw the zoneStatus
attribute with the correct endpoint on the Reporting
tab.
thanks! |
Credit goes to @legsim for discovering that configuring reporting for the
ssIasZone
cluster'szoneStatus
attribute withminimumReportInterval: 0
fixes a common problem with the PARASOLL and BADRING sensors where their state can become stuck on a previously reported state after it rapidly changes back and forth.