Open MJDSys opened 1 year ago
@MJDSys that would be a great contribution.
For the Zigbee sample I understand the OTA process is more standardized:
0x0019
)Out of curiosity, I checked the available clusters on my Ikea push button on Home Assistant and indeed we can see the cluster 0x0019
for OTA:
For the BLE sample, IIUC the process is more ad hoc (as in: implementation-specific), and we need to think about these things (and I think we should):
Again, I think these are important points that are worth addressing, even if at the expense of battery life, for added convenience.
Either way, I think solving for the Zigbee sample is surprisingly easier, since the path is well paved. I would start there. Let me know if it all makes sense, and thanks for starting this discussion.
I would love to see a ZigBee OTA feature. A couple of months ago I already dug into the documentation and the implementation on the Zephyr zigbee side should be fairly easy.
The harder part is how to provide the firmware to the zigbee network via the coordinator. To my understanding this is specific to the used zigbee dongle or module and I did not find a definitive way to go.
For the raw b-parasite implementation, providing the actual firmware is optional and could be done separately. But it would be nice to know which way to go to at least verify, that the parasite OTA feature is actually doing what it promises. 😉
The harder part is how to provide the firmware to the zigbee network via the coordinator. To my understanding this is specific to the used zigbee dongle or module and I did not find a definitive way to go.
If it helps, Zigbee2MQTT uses Koenkk/zigbee-OTA collection of Zigbee firmware references to check and update devices.
I've picked up a few more b-parasite's, and one though I had to simplify there management was to implement the OTA update protocol for zigbee on these boards, to simplify applying updates for people who have a large number of deployed devices.
I'm interested in trying to implement this feature, but I wanted to check first if this would be of interest to the project.
I could also take a look at BLE updates ((Nordic seems to be have samples)[https://infocenter.nordicsemi.com/index.jsp?topic=%2Fug_nrfconnect_ble%2FUG%2FnRF_Connect_BLE%2FnRF_Connect_DFU.html]) after I get familiar with zigbee.