White Series On/Off Firmware Changelog | VTM30-SN

@mem10123, I’m not sure what is going on and will have to run it by the engineer. There is another user with a similar experience, but he was able to get the switch to add to HA eventually. The engineer isn’t available until next week though. There are users that haven’t seen this too, but for now I’ll change the update json to be at 1.0.3 until we get it sorted out.

@EricM_Inovelli

Thanks for the reply over the weekend. Sucks (for me) at them not available today but I understand. Right now I’m just thrashing around really.
Can you at least tell me quickly if there’s some way to downgrade the switches back to 1.0.3 using Apple HomeKit? Because I can at least add them into HomeKit, so that would at least be a viable path. Either way I think I need something other than Home Assistant to have any hope of updating the switches

AFAIK the matter spec does not allow you to downgrade firmware versions you can only go to a higher release version.

What version of HA are you on?

I’m on Home Assistant OS 2026.2.1, running on a Yellow Box, with a ZBT-2 for Thread.

And ugh that would be horrible if I can’t downgrade! All of my functionality relies on sending commands to Node Red in HA to use the switches to turn on/off the Hue Lights all over. Literally I’ve got no lights right now as I’m trying to figure out something that works.

It appears to be the Matter Interview process that is the problem, that pricess happens at the end of the firmware upgrade and when a switch is added to HA.

Since the interview process takes “two to tango” I wonder if HA broke something in their latest release which I think came out today. Since you are completely down it might be worth trying to back up to an earlier HA version just in case that fixes the issue.

If the issue is in 1.0.4 and not HA then the only way out for you I can think of is for Inovelli to turn a 1.0.5 beta and you load that via Apple Home. That could be as simple as 1.0.3 with a new version label or an actual fix to their problem.

That’s what I’m thinking too.. However since my switches all updated to 1.0.4 already, and I have no means to get them back into Home Assistant.. It feels impossible to them update them to 1.0.5 if they can release/fix that. That’s why I’m hoping for an Apple HomeKit method to update the Firmware.
Do you happen to know if such a thing exists?

Odd thing is that the switches were all in Home Assistant previously and updated to 1.0.4, but then they started dropping offline randomly. Which, after a few hours of trying to debug, is when I figured “I’ll just nuke the config and re-add it all”. Which of course now I’m up the creek without a paddle, and I think without a raft too!

I edited my post while you were writing yours to mention that it’s just possible that it is HA and not 1.0.4. It might be worth you trying backing up HA to the previous version..

This morning I fell into the same issue as you. In did manage to get one switch back into HA at 1.0.4 after the fourth attempt. That may be simply good luck on my part. Fortunately I only removed just the one switch from HA.

I actually did already try the restore from a backup from like 5 days ago, before version 1.0.4 was released. That’s how I at least got the VTM-30.json file back that points to the 1.0.3 version (with the included checksum value). But still unable to add any of the switches that already updated to 1.0.4.
I don’t doubt there’s likely some Home Assistant involvement here (since Apple is happy enough to pair the switch), and that’s why I tested the version 1.0.0 switch I had in the garage, and it works. II literally plugged it into an extension cord I had stripped to expose the 3 wires. So it’s not in the wall, but it is electrically functional. Being able to add a 1.0.0 switch in HA certainly proves though it’s not entirely a HA issue, as it can add switches.

You definitely got lucky! I updated one last night and it seemed okay (problems were sporadic later), and then I proceeded to update them all. And then once I nuked it, I’m feeling well and truly screwed over by my own actions of being aggressive. Btw, I have tried adding at least 3 of the switches at least 6-12 times each. So I don’t think it’s persistence at repeating that that could solve it. I’m trying to change something else between tries at this point just in desperation.

You probably know this, but just in case …
You mentioned that Apple can pair the switch. Just to check, is the switch still paired to iOS Home? If so, when you tried to add to Home Assistant, did you re-use the QR code on the device? If so, that is the issue. The QR code on the device can only be used one time. After that, you have to go to the device in iOS Home, click on the Gear icon, and generate a new QR code using the “Turn on pairing mode” to get a code which is then entered into HA.

If the switch was paired to iOS Home, and then you did a a factory reset, iOS may still have the prior commissioning information in the keychain. I’ve found sometimes that prevents re-commissioning. In your iPhone, go to Settings → General → Matter Accessories and delete the VTM30 entries.

Also, do you have a mix of Apple and Home Assistant OTBRs? In Home Assistant (recent versions), go to Settings → System → Network → “Zeroconf browser.” IN the Zeroconf browser, enter “meshcop” in the search box and you’ll see all of your OTBRs. Are there more than just the HA OTBR? If so, there are a few extra things you need to do to make sure they are all on the same network - I can help with that if there is a mix of OTBRs.

If it is only the HA OTBR, and you want to commission to HA first (i.e., after the factory reset), then on your iPhone, first go to the Home Assistant app and in the Home Assistant Companion app settings go to “Integrations → Thread → (gear icon), and check that the HA OTBR is in the “Preferred network” category and then click on the “Send Credentials to phone” to sync the HA OTBR credentials to your phone so they can be used for commissioning.

And try pulling the “Air gap” on the switch and pushing it back in after the power reset to do a full power cycle.

Finally, if you want the device only on HA but can pair with Apple but not HA, a technique that has sometimes worked for me is to first pair with Apple, then generate a new commissioning code from iOS to add to HA, then delete from Apple leaving only the HA commissioning. To give some hope, I’ll say that with more recent devices based on Matter 1.3 or later I rarely have to do that, so once you get your devices updated from the initial Inovelli firmware based on the earlier Matter SDKs, future updates might be less problematic. Chalk it up to growing pains with new technology.

Hey @jvm33 , thanks for the extra thoughts, all good! I tried it two ways when it was paired to Apple. One was to go into the Home App and tell it to Enter Pairing mode and it gave me a pairing code, which is what I tried to use in Home Assistant. That’s when sometimes it would flash red, other times flash green, but then timeout doing an Interview. The second way is that I’ve removed it from Apple HomeKit and did a factory reset.
For the Border Router question, yes I believe I have multiples. Followed your instructions and I see 3 rows showing (one Home Assistant, the others my 2 Apple HomePods). Here’s where it gets interesting.. Previously I had two Thread Networks which showed in Home Assistant when I went to Settings→Thread→(Gear Icon). One was the Apple “MyHome-####” kinda thing, and the other was a “ha-####” kinda one. That’s how it was for months. Well at least on the more recent re-do. Someone previously had suggested I merge them to try to solve a switch latency issue (which it didn’t solve it). And I had split them back apart. I definitely did have the Home Assistant set to the “Use for iOS Credentials” then pushed the credentials to the phone.

But here’s the interesting part - I think as you were typing all that (great instructions btw!), but I thought to myself “What if I merge the networks and try again”. I’ve only done 4 switches so far, but I’ve actually had success getting them into Home Assistant! What I did:

  • Deleted all the Thread, Matter, Open Thread Border Router Integrations
  • Uninstalled the Add-Ons for Open Thread Border Router, and Matter Server (and deleted data when I uninstalled).
  • Re-installed/set it all back up. This included in the AddOns clicking “Show Unused Ports” and then re-typing the Port #s (8080, 8081) into the dialogs which it said were the defaults anyways. But I wanted to be safe.
  • In the Settings→Thread area, I then made the Apple Network the preferred network, pushed the Open Thread Border Router into that Preferred Network, and (here’s I think the trick): I set the HomePod to be the “Used for Android + iOS Credentials” option.
  • Went to the Home Assistant iOS App and clicked “Send Credentials to iPhone”.

Tried another factory reset and add, and guess what? It worked! As did the next 3 switches (total of 4 so far, but I wanted to type this now not in 2 hours when I’m done). Interesting thing.. In the Home Assistant Device Page, it remembered the names (i.e. “Kitchen Switch”, “Family Room Switch”) that I had set previously. I know 100% that on initial setup I had to type these. Somehow Home Assistant has cached these even though I uninstalled all of the AddOns and Integrations and re-installed. So HA has some funky memory which might be part of the issue.

I’m going to spend the next few hours adding the next 31 switches in (it’s a slow tedious process), but this is definitely MUCH MUCH better than nothing working! Wanted to share what worked so hopefully it’s a clue for Eric+Engineering team @ Inovelli to solve whatever the heck this is. I hope nobody else has this pain.

1 Like

That is just on the device side not on the Matter side of HA so I don’t believe it is an issue. It works for most devices if you delete and re-add.

Oh wow I’d never have guessed that was a Device side data, especially not one that would survive a factory reset. But good to know – I thought it might be a clue that there’s cached data and maybe combined with the parameter moving/renaming could have had some contributory info as Home Assistant tried to merge old+new data. (I’m a data engineer, so always see the data merging problem potential)!

By the way, I am 33 switches done, and on the last 2. They have all (knock wood) worked on the first go with this round. The config change of which Open Thread Border Router (OTBR) that was used was, I think, the magic bullet.

Sorry I needed to more explicit. That data is held in HA (Home Assistant) not in the switch. It (HA) sees the same device and restores a lot of the parameters. Most of the time I really like the feature, sometimes it drives me crazy.

1 Like

Got it, I read it as “on the device”. Which is why I was surprised it would/could.

And whew, 12 hours later, all done re-adding things back in. 12 hours later and I’m basically right back where I started! And the thing I was REALLY hoping 1.0.4 might magically fix (latency between pressing a button and when Home Assistant shows the event), no different. I’m ready for a nap, lol. :stuck_out_tongue:
Appreciate everyone’s ideas! Tech sucks when it breaks. And hoping these don’t start randomly going offline now which they did last night when I first installed 1.0.4, which is the start of the chain.

Just passing along …. Test-net DCL for version labeled “1.0.4r3” became available in HA Matter-js and was able to upgrade the VTM30-SN. For me, it took 3 tries to complete the upgrade. Followed the instructions at the top of the post to remove the old clusters and things seem to be just fine :slight_smile:

2 Likes

Wonder if that 1.0.4r3 is different than the 1.0.4 that was available a month or so back from Inovelli directly (the version that I had all those problems from). Sure hoping they get something figured and solved!
Since that issue I deleted the config file into the core_matter_server directory that was the method, and enabled the “Enable test-net DCL usage” switch in the configuration of the Matter Server add-on for Home Assistant. Mine is not saying there’s an update available, but it could just be it doesn’t know “1.0.4” vs “1.0.4r3” being different/better. Not that I’m gonna jump to update the house house so quickly again!

I just updated the first post to show the changes that are in r2/r3.

1 Like

Thanks! Follow up Q, with my having toggled on the “Enable test-net DCL usage”, is that all I’d need to do in order to get this to show? Or because it’s still a 1.0.4 number, will it not see it as something to update? Asking as it’s not showing for me. But could easily be something I did/didn’t do that I need to.

@Lance_Inovelli said he had to have test-net enabled as well as the “beta” matter server and then had to restart the matter server. He also did an Update entity on the firmware entity for the device but I think that part will happen on its own in time.

Also, as with all beta and test firmwares, I recommend that you test the update on a device or two (low traffic areas) and try it out for a few days so you can capture your regular usage and see if anything strange stands out.

Thanks. My observations for others:

  1. Enabling the “Use the latest beta version” was indeed required for me. Before that, it did not see updates. After enabling (and restarting Matter server), then it did.
  2. Within the Home Assistant Device Screen, it still said “Firmware: Up to date”. I did the Developer Tools→Update Entity on the Firmware Entity related to that device, and then Home Assistant saw there was an update (1.0.4 installed versus 1.0.4r3 available). However, the update button was greyed out and would not do it. Whether this is because the numbers were the same.. I dunno.
  3. I was able to go in to the Matter Server UI, find a Node, and click the “Update” button. Where it gave me an “Unverified version blah blah…” but did allow me to do it. The firmware updated.

I’m gonna slow walk this. It’s a room I almost never use so really not much of a test of the firmware, more a test of being able to update the Firmware.

Hope the prerequisites (Matter Server configuration to use both Beta and Test-Net) will help others.

1 Like