Sorry, I’m feeling like a total idiot, but what’s the version you’re updating to? I enabled trace logs and when double-clicking the updateFirmware button I get:
dev:332022-11-11 09:55:42.996 PMtraceupdateFirmware [he raw 0x175C 0x01 0x01 0x0019 {09 01 00 03 64 FFFF FFFF FFFF FFFF}]
dev:332022-11-11 09:55:42.984 PMinfoKitchen Cans: updateFirmware(switch's fwDate: 2020805, switch's fwVersion: 2.00)
dev:332022-11-11 09:55:42.245 PMwarnFirmware in this channel may be "beta" quality. Please check https://community.inovelli.com/c/switches/switch-firmware/42 before proceeding. Double-click "Update Firmware" to proceed
dev:332022-11-11 09:55:42.238 PMinfoKitchen Cans: updateFirmware(switch's fwDate: 2020805, switch's fwVersion: 2.00)
And nothing visibly happens in Hubitat after giving it a minute and refreshing. Air-gapping and resetting the switch I’ll get some heartbeat info messages when it comes back online, then still the same FW versions.
I guess I’m confused by all the dates and versions it seems to report:
State Variables
fwVersion : 2.00
fwDate : 2020805
lastUpdateFw : 1668225435881 (6 minutes ago as I write this)
Device Details
firmwareMT: 122F-0101-01020205
softwareBuild: 01020205
Comparing to non-updated one, it’s just the Device Details section that’s different with
firmwareMT: 122F-0101-01020200
softwareBuild: 01020200
So look at the last 3-4 digits for the version? …0200 → 2.00, …0205 → 2.05?
Is the fwVersion and fwDate a red herring in Hubitat (is it a driver thing, and “fw” means something else)…argh. Hubitat confusion aside, I’m still getting the blinking in my 4-way switch setup
Try double clicking again . . . maybe a little slower and watch the logs. It is very apparent when it goes. It will say that it is updating in the logs and the switch will start flashing green. It looks like you are still on 2.00 so it should update to 2.05 now and then 2.08 as soon as Hubitat makes the file available.
I want to point out that while this is an option, this is done at your own risk.
For example someone using ZHA could use the firmware link to download 2.08 today, but if your switch is reset and the cached signature is lost, it will ‘break’ the switch as the quirk won’t match and you’ll lose all the options set up through that and drop back to a minimally supported device effectively. Similarly other releases could break things on other hubs as they’re being tested out before being properly ‘released’.
For those running HA+ZHA who may be interested in getting group bindings going again, I manually updated my firmware to 2.08 and then used Python pip to upgrade my HA instance to use the latest ZHA quirks library (0.0.86). It looks like dimming and on/off functions were intentionally removed from endpoint 1. I gave endpoint 2 a try and that seems to work wonderfully.
A question I have for the ZHA people out there… How do I get HA/ZHA to start using the new InovelliVZM31SNv12 custom device class without removing and re-pairing the switch? Is that possible?
You can try restarting HA but I believe it’s going to keep the cached image until you remove and re-pair the switch. Factory resetting at the switch should also do it (may need to delete it in HA as well first, blanking on that).
Any time you update the firmware or the driver, you should follow that with a click on the Configure button on the Device page. Configure with no options will update the version state variables (and a few other things). I recommend that you use the “All “ option on the Configure button just to make sure all the settings and variables are in sync
@kitt001@TRiddle1983 I recommend using this method a few minutes after the firmware update completes. You can also just hit “Refresh” on the device page and it will query the device for the firmware version.
The worry I have about the air gap method is that you might pull it while the firmware is being written to storage and that could break the switch. There is some time after the green LED bar flashes that the switch is doing the update process, so it is probably good to wait a couple minutes and then follow one of the above steps.
Sorry. The above is a bit over my head. Are we saying that in order to update the firmware on my blue in Z2M from 2.07 to 2.08, and I don’t want to perform some unique workaround, I need to wait until the next HA core version 2022.11.x, is released? And that to do this in Z2M, I’ll need to install the core update first?
I updated my blues to 2.07 in Z2M (a HA add-on) on HA core 2022.10.5. The above seems really unlikely to be true so I’m sure I’m missing something. Seems like this should be independent of HA core and even possibly Z2M updates all together.
I have discovered a kludgy work around. I can confirm this solution works for Inovelli and IKEA devices.
From the dev console for the device select genBasic / swBuildId and read the value (returns the correct firmware version below).
from the device ‘main page’ select the yellow ‘reconfigure’ button. The correct firmware version and build date will now show in the Z2M UI.
Not sure how this is diagnostic to the bug in Z2M. Completing either step 1 or 2 on their own will not update the firmware version to the correct number, only doing the dev console then reconfig in that order will cause the main page to update.
I actually did wait several minutes … then I tried the configure button thinking that might be required, but nothing changed. After that I decided to try the airgap approach, and once the switch restarted not only did the fwversion update, a whole slew of additional parameters also appeared on the list in hubitat.
When the next FW version becomes available, I will try the refresh button.
Configure All has always been hit or miss for me: sometimes it works, sometimes it doesn’t. What has always worked is the air gap method (with waiting an extended period of time, also not my first rodeo with firmware updates to things).
As a point of reference, I did a push to a switch on Friday and decided to test it out. Configure All and refreshing the page didn’t work. Just went and air gapped the switch and viola, correct firmware version.