Skip to content

Configure internalTemperature reporting interval for Inovelli devices#12674

Open
adamawolf wants to merge 4 commits into
Koenkk:masterfrom
adamawolf:fix/inovelli-internal-temp-reporting
Open

Configure internalTemperature reporting interval for Inovelli devices#12674
adamawolf wants to merge 4 commits into
Koenkk:masterfrom
adamawolf:fix/inovelli-internal-temp-reporting

Conversation

@adamawolf

Copy link
Copy Markdown

Inovelli VZM31-SN/VZM30-SN switches report internalTemperature (attribute 0x0020) on the manufacturer-specific cluster manuSpecificInovelli (64561) every 30 seconds using the firmware default reporting interval. The parameters() configure method binds this cluster but never sets a reporting interval, so the device defaults to 30s.

This adds an endpoint.configureReporting() call in the parameters() configure method to set the minimum report interval to 1800s (30 min) and maximum to 3600s (1 hr), with a 5-degree change threshold. This reduces Zigbee traffic from one report per device every 30s to at most once every 30 minutes.

The .catch() silently handles devices whose firmware doesn't support configureReporting on this cluster (e.g. VZM32-SN mmWave switches, which report internalTemperature via a different mechanism).

Fixes: internal temperature reporting interval not configured for Inovelli manufacturer-specific cluster

@github-actions

Copy link
Copy Markdown
Contributor

External review required

This PR modifies files that require review from their code owners before merging.

@InovelliUSA @rohankapoorcom:

  • src/lib/inovelli.ts

Once reviewed, add the external-reviewer-approved label to unblock this check.

Comment thread src/lib/inovelli.ts Outdated
const endpoint = device.getEndpoint(1);
await reporting.bind(endpoint, coordinatorEndpoint, [INOVELLI_CLUSTER_NAME]);

await endpoint

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This block is located in a fairly generic device parameters section that is parameterized. I don't really like the fact that this is hard coding a specific attribute in the middle of that rather than extending the parsmeterization to include setting the reporting as well.

@adamawolf adamawolf Jul 12, 2026

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the feedback. Is there an existing attribute to which I can refer for example that is parameterized the way you would like to see for this?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rohankapoorcom took a stab. I think this is a bit closer to what you mean but please let me know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants