Zigbee device firmware updates using ZHA Toolkit

I understand that I can use the ZHA toolkit to update the firmware on a device using this service call:

service: zha_toolkit.ota_notify
data:
  ieee: 70:xx:d6:2b:60:01:16:4c
  event_success: ota_notify_success
  event_fail: ota_notify_fail
  event_done: ota_notify_done
  download: true

Using the download option will grab any firmware files from (I believe) here:-

But if I wanted to scan all my devices rather than target a specific one, and do this on a regular basis, how might I go about this ?

Perhaps @le_top has the answer ?

I do not recommend updating your devices automatically.

The general rule is : if it is not broken, do not fix it (in other words: you might brake something that works).

In the current setup, the ota_notify implementation will download the available firmware for all devices but only notify the device that is referenced in the service call.

You can have a look at zha-toolkit/script_request_all_light_states.yaml at f07c10bd4c26c26f3a40e20fcf05f48cb3756c97 · mdeweerd/zha-toolkit · GitHub which loops over zha devices found in the light domain.

Or zha-toolkit/script_use_zha_devices.yaml at f07c10bd4c26c26f3a40e20fcf05f48cb3756c97 · mdeweerd/zha-toolkit · GitHub which you already know and that loops over the list of devices provided by zha_toolkit.zha_devices. You could notify only the available devices.

There other ways to filter only the zha devices (zha entities).

Anyway, currently you would best do an ota_notify on one of the devices only with download set to true, and then loop over all the devices with download set to false.