[ST Edge] Is it possible to upgrade device's firmware using OTA?

@nayelyz anything?

Hoping for a reply from the team! This must be an issue for all partners no?

Keep hoping. My advice is not to expect anything though. @nayelyz any updates? Ty

1 Like

Bump @nayelyz

Looks like @nayelyz has gone dark, which is unfortunate. Don’t hold your breath. I too would like to have an update on this as I have been waiting for a way to manually update a few devices since I bought the v2 hub way back in the day. The manufacture provides the update files, just need SmartThings to provide the firmware update path. I am not doing that dog and pony show described in the posts above, that’s just silly! Hey @nayelyz please ping the team again.

Hi, @sdbg, @JKnight

Sorry for the delay.
Enabling the OTA firmware update through the ST Hub is not on the roadmap. So, you’ll have to use the workaround mentioned before to update your device’s firmware.

image

4 Likes

@nayelyz, I appreciate the update. Each disappointment brings me closer to starting from scratch elsewhere, thanks for that!

1 Like

Something I’m doing now is adding the firmwareUpdate capability to Zwave and ZIgbee device profiles, as the current firmware version is shown on the Information tab on the device details.

For Zwave, I set the firmware version in the added lifecycle event, by calling a function like:

--- Update the built in capability firmwareUpdate's currentVersion attribute with the
--- Zwave version information received during pairing of the device.
--- @param self st.zwave.Driver
--- @param device st.zwave.Device
local function updateFirmwareVersion(self, device)
  for _, component in pairs(device.profile.components) do
    if device:supports_capability_by_id(capabilities.firmwareUpdate.id,component.id) then
      local fw_major = (((device.st_store or {}).zwave_version or {}).firmware or {}).major
      local fw_minor = (((device.st_store or {}).zwave_version or {}).firmware or {}).minor
      if fw_major and fw_minor then
        local fmtFirmwareVersion= fw_major .. "." .. string.format('%02d',fw_minor)
        device:emit_component_event(component,capabilities.firmwareUpdate.currentVersion({value = fmtFirmwareVersion }))
      end
    end
  end
end

Once set, the value is displayed here:

And you can also view the value in the API browser.

I’ve also used a custom capability so that the version can be displayed in the details area but its nice to use the standard component.

1 Like

Is this not concerning? The hub supports zigbee and zwave devices as a core function for its’ existence. If it cannot also perform basic and necessary firmware updates on these devices to keep them functioning and current, then this ā€œroadmapā€ @nayelyz referred to is leading nowhere. I’d say it’s planned obsolescense, but that actually assumes there is planning involved on the part of Smartthings… Sigh.

All the while Smarthings support is saying the hub supports OTA updates for zigbee devices. Honestly, you can’t make this stuff up. It’s just a a reality of how poorly run and disconnected this business is from itself and its consumers.

@nayelyz,

Since the team’s roadmap is apparently a dead end, are there any plans to relaese enough information so the community can build and implement this vital capability? It would be nice to keep SmartThings (Smart… the team may want to consider a re-brand at this point) limping along a little longer.

The edge drivers run on the hub, not on the individual devices, so there shouldn’t be any need to update the firmware of a Z wave device just because the hub is now using an edge driver instead of a Groovy device type handler. So I’m not seeing the transition to the new architecture as being something that changes the fact that smartthings has never offered OTA updates for zwave devices and it’s always been annoying that they have never offered it.

That said, because of the independent third party zwave specification, it should always be possible to update the firmware on any Z wave device with a different Z wave controller which has been added as a secondary to the smartthings Network. And, indeed, people have done that for 4 or 5 years, most commonly using an Aeotec USB stick or something like the z flash from Homeseer. You can find these options discussed in other forum threads.

Doing it this way requires several things:

One) the device manufacturer has to release their update Files (some do, some don’t)

Two) the customer has to acquire a device that can be used as a secondary Z wave controller

Three) the customer has to follow the instructions for that device to individually update any device that needs the firmware update.

It works, it’s just tedious and annoying when this is a built-in function on most certified Z wave primary hubs. :rage:

See the following discussion thread from 2017 (!) the issue was discussed at length with a smartthings engineer, the third-party alternatives are also discussed, and as far as I know, none of this has changed one way or the other with the introduction of edge drivers.

Support of OTA firmware updates for Z-Wave / Z-Wave Plus devices

1 Like

There’s no way for the community to make the hub do this. But you can get a third-party device and do it that way, community members have been doing so for several years.

I wrote the following post explaining the process back in 2018. As far as I know, everything there still applies.

Support of OTA firmware updates for Z-Wave / Z-Wave Plus devices - #45 by JDRoberts

1 Like

Thanks @JDRoberts,

I am aware of all the silly workarounds, and luckily for me this isn’t terribly urgent yet (missing power monitoring on 3 devices), but if I am going to buy additional hardware to ā€œMacGyverā€ what should be a built in essential feature, I will just invest in moving to a different platform. Samsung and the SmartThings Team almost have me completely convinced that it is time to move on, I just have to schedule the time to migrate/rebuild everything onto a different platform. Like I said before, every disappointment inches me ever closer. Anyway, as always I appreciate your vast contributions to the community and your efforts to help all of us keep SmartThings limping along.

2 Likes

The OP is about Zigbee, not zwave. I believe my Philips hue and other zigbee devices have been upgrading firmware via smartthings for years, before the migration to Edge.

Specifically, I came here to ask because according to the developers at Inovelli Smartthings has been quiet about this. As a paying customer of both I am interested in a consumer friendly solution.

See Blue Series 2-1 Firmware Changelog | VZM31-SN - #61 by EricM_Inovelli - Firmware Discussion - Inovelli Community for reference

2 Likes

Fair enough, apologies for any confusion. I read the comment as implying that device firmware had to be updated to use edge, which is not true. OTA updates will just be a missing feature moving forward on the platform, which, yeah, is really annoying. :rage:

If this is a definitive answer from smartthings I guess a lot of consumers will be moving elsewhere.

The majority of ST users couldn’t tell you what firmware is much less why it needs to be updated. As @JDRoberts has pointed out again and again, people with hubs are a small minority of ST users and thus a minority of people who have Zigbee/Z-Wave devices that would need to be upgraded OTA.

2 Likes

I don’t think there are many left, honestly. By way of scanning through forums and also seeing how many resale hubs are for sale on e marketplaces (Facebook, Kijiji etc), I’m guessing Samsung has lost a huge amount of hub marketshare and they seem to be fine with it. Clearly it is not a focus area for them.

I’m also part of the group who stopped home automation projects due to lack of OTA updates. I think smart things don’t have their priorities right. They should allow an advance mode to allow us to push our own firmware files if they don’t feel like managing the platform