Z-Uno Bootloader OTA Update - Questions
Posted: 21 Jan 2020 17:15
Heya.
First a quick bit of background info. For about 2 years now, I have been running z-uno boards in each of our alarm system based (eg: wired to alarm) motion sensors. Honestly, one of the best home automation decisions I have made. Installed in each of our already existing motion sensors, there are no new devices (eg: new box) out in the open and I get a wired-always-on antenna in basically every room.
I set this up before upgrading our whole alarm to a proper alarm (Satel) with a real TCP/IP interface. Previously we were using a Risco alarm which had NO lan based API to view / execute events... Everything was done via their cloud so it was slow (2-10+ second) delay, and of course monthly it would go down for a few hours. Super annoying.
But frankly, even now with the Satel alarm local TCP/IP API, the zuno events are quicker... So as of now I use kind of a fall back system, listen for a signal from both the z-wave devices and the satel API and act on each of them on a first come first serve basis.
So anyways, z-uno boards in each of our PIRs. Working great for 2 years now.
---
The only gripe I have had with it, and its minor, is the fact that older z-uno bootloaders send the binary sensor even twice:
[2020-01-21 14:45:52.493] [D] [zway] SETDATA devices.3.instances.0.commandClasses.48.data.12.level = True
[2020-01-21 14:45:52.493] [D] [zway] SETDATA devices.3.instances.0.commandClasses.48.data.12 = Empty
[2020-01-21 14:45:52.687] [D] [zway] RECEIVED: ( 01 0C 00 04 00 03 04 30 03 FF 0C C1 00 F1 )
[2020-01-21 14:45:52.687] [D] [zway] SENT ACK
[2020-01-21 14:45:52.687] [D] [zway] SETDATA devices.3.data.lastReceived = 0 (0x00000000)
[2020-01-21 14:45:52.687] [D] [zway] SETDATA devices.3.instances.0.commandClasses.48.data.12.level = True
[2020-01-21 14:45:52.687] [D] [zway] SETDATA devices.3.instances.0.commandClasses.48.data.12 = Empty
Yes I read the FAQ and even on here that this is standard z-wave protocol implementation. But my understanding is that with a newer boot loader this has been 'fixed'.
We all know, with z-wave, the less packets, the better.
---
So, since the z-uno boards are in the PIRs and taking things down and USBing into the zunos is a royal pain the ass (we have about 10 PIRs in the house, ladder required to access them, etc etc), I would like to OTA update the bootloader to the newest version, here the questions start. YES I have read https://z-uno.z-wave.me/z-wave/ota/.
A) How do I remotely determine the z-uno bootloader version currently installed in each of my z-unos. Z-way-server reports:
Application version 2.6
SDK version 6.51.06
B) I am slightly confused about which bootloader BIN file to pick.
The files in my bootloaders folder dont quite match the syntax in the OTA FAQ:
zuno_bootloader_AAAABBBB0115011000010043EFF27E20.bin (FAQ)
zuno_bootloader_AAAABBBB0115011000010210822F51.bin (example from 2.1.6 locally installed)
Lets for a second assume that application version 2.6 actually means 2.06 (maybe z-way server has trouble with the 0 on 06?).
So, 2.06.
So according to the FAQ I should be looking for
....0206....
In my z-uno arduino (2.1.6) I have:
zuno_bootloader_AAAABBBB01150110000102060284CF.bin
zuno_bootloader_AAAABBBB01150110000102060319B9.bin
zuno_bootloader_AAAABBBB0115011000010206822F51.bin
zuno_bootloader_AAAABBBB011501100001020683ACAE.bin
I have 4 files with 0206... What one would I pick?
C) And last question. If I do a bootloader update successfully, I understand my sketch will be erased. Will I still have z-wave communication to the device from my uzb (via z-way-server) so I can upload my sketch OTA using the firmware update function?
---
Thanks!
First a quick bit of background info. For about 2 years now, I have been running z-uno boards in each of our alarm system based (eg: wired to alarm) motion sensors. Honestly, one of the best home automation decisions I have made. Installed in each of our already existing motion sensors, there are no new devices (eg: new box) out in the open and I get a wired-always-on antenna in basically every room.
I set this up before upgrading our whole alarm to a proper alarm (Satel) with a real TCP/IP interface. Previously we were using a Risco alarm which had NO lan based API to view / execute events... Everything was done via their cloud so it was slow (2-10+ second) delay, and of course monthly it would go down for a few hours. Super annoying.
But frankly, even now with the Satel alarm local TCP/IP API, the zuno events are quicker... So as of now I use kind of a fall back system, listen for a signal from both the z-wave devices and the satel API and act on each of them on a first come first serve basis.
So anyways, z-uno boards in each of our PIRs. Working great for 2 years now.
---
The only gripe I have had with it, and its minor, is the fact that older z-uno bootloaders send the binary sensor even twice:
[2020-01-21 14:45:52.493] [D] [zway] SETDATA devices.3.instances.0.commandClasses.48.data.12.level = True
[2020-01-21 14:45:52.493] [D] [zway] SETDATA devices.3.instances.0.commandClasses.48.data.12 = Empty
[2020-01-21 14:45:52.687] [D] [zway] RECEIVED: ( 01 0C 00 04 00 03 04 30 03 FF 0C C1 00 F1 )
[2020-01-21 14:45:52.687] [D] [zway] SENT ACK
[2020-01-21 14:45:52.687] [D] [zway] SETDATA devices.3.data.lastReceived = 0 (0x00000000)
[2020-01-21 14:45:52.687] [D] [zway] SETDATA devices.3.instances.0.commandClasses.48.data.12.level = True
[2020-01-21 14:45:52.687] [D] [zway] SETDATA devices.3.instances.0.commandClasses.48.data.12 = Empty
Yes I read the FAQ and even on here that this is standard z-wave protocol implementation. But my understanding is that with a newer boot loader this has been 'fixed'.
We all know, with z-wave, the less packets, the better.
---
So, since the z-uno boards are in the PIRs and taking things down and USBing into the zunos is a royal pain the ass (we have about 10 PIRs in the house, ladder required to access them, etc etc), I would like to OTA update the bootloader to the newest version, here the questions start. YES I have read https://z-uno.z-wave.me/z-wave/ota/.
A) How do I remotely determine the z-uno bootloader version currently installed in each of my z-unos. Z-way-server reports:
Application version 2.6
SDK version 6.51.06
B) I am slightly confused about which bootloader BIN file to pick.
The files in my bootloaders folder dont quite match the syntax in the OTA FAQ:
zuno_bootloader_AAAABBBB0115011000010043EFF27E20.bin (FAQ)
zuno_bootloader_AAAABBBB0115011000010210822F51.bin (example from 2.1.6 locally installed)
Lets for a second assume that application version 2.6 actually means 2.06 (maybe z-way server has trouble with the 0 on 06?).
So, 2.06.
So according to the FAQ I should be looking for
....0206....
In my z-uno arduino (2.1.6) I have:
zuno_bootloader_AAAABBBB01150110000102060284CF.bin
zuno_bootloader_AAAABBBB01150110000102060319B9.bin
zuno_bootloader_AAAABBBB0115011000010206822F51.bin
zuno_bootloader_AAAABBBB011501100001020683ACAE.bin
I have 4 files with 0206... What one would I pick?
C) And last question. If I do a bootloader update successfully, I understand my sketch will be erased. Will I still have z-wave communication to the device from my uzb (via z-way-server) so I can upload my sketch OTA using the firmware update function?
---
Thanks!