Skip to content
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

feat: Support OTA update/check all devices #23386

Draft
wants to merge 1 commit into
base: dev
Choose a base branch
from

Conversation

Koenkk
Copy link
Owner

@Koenkk Koenkk commented Jul 21, 2024

No description provided.

@Koenkk Koenkk marked this pull request as draft July 21, 2024 09:49
@sjorge
Copy link
Contributor

sjorge commented Jul 22, 2024

Could we also introduce a device_options to ignore OTA for a device or exclude it from the update_all?

update_all seems very useful but there is one device I don't want to update. I expect I might not be the only one.

@Nerivec
Copy link
Collaborator

Nerivec commented Jul 23, 2024

A few ideas:

  • Change frontend OTA page to have checkboxes in front of each device => check all/update all can send the list of network addresses of checked devices to MQTT, then Z2M acts for these only.
  • Ensure a failed update doesn't break the rest of the sequence. Also probably best to delay a bit in that scenario in case the device rebooted or something...
  • Make IMAGE_BLOCK_RESPONSE_DELAY configurable https://github.com/Koenkk/zigbee-herdsman-converters/blob/423305d36cba7bf45d158b2025fa832e9b023668/src/lib/ota/common.ts#L54
    • See about implementing the missing ZCL stuff for OTA 11.13.8.2.9 MinimumBlockPeriod, 11.15.3 Rate Limiting, which could possibly have better results for supporting devices (device throttles itself, instead of being unaware that Z2M is throttling responses). Might also be able to remove the limitations of some devices that take forever to update because they request images at a very slow rate (I'm assuming that's the property they are using).
  • Add an OTA blocklist setting to always reply "no" whenever these devices request "check for new firmware" (even if one is available).

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.

3 participants