Skip to content

thing-details: Add support for firmware updates - #3785

Merged
jsjames merged 5 commits into
openhab:mainfrom
cdjackson:firmware-update
Feb 9, 2026
Merged

thing-details: Add support for firmware updates#3785
jsjames merged 5 commits into
openhab:mainfrom
cdjackson:firmware-update

Conversation

@cdjackson

@cdjackson cdjackson commented Jan 20, 2026

Copy link
Copy Markdown
Contributor

This adds support to start firmware updates - building on the earlier support I added to show the firmware status.

I removed the previous green tick that was shown when the currently available firmware is running and added badges to reflect the status. This now shows if the firmware is current, or if it's an upgrade or downgrade. A "play" button is available to start the update, and the progress is then shown as a percentage in the status.

There is also further information showing similar activities through the console here (openhab/org.openhab.binding.zigbee#922).

Closes #1427

Information Information Information Information Information

Signed-off-by: Chris Jackson chris@cd-jackson.com

@relativeci

relativeci Bot commented Jan 20, 2026

Copy link
Copy Markdown

#4594 Bundle Size — 12.82MiB (+0.02%).

5db80ac(current) vs 88ae3f0 main#4590(baseline)

Warning

Bundle contains 2 duplicate packages – View duplicate packages

Bundle metrics  Change 1 change Regression 1 regression
                 Current
#4594
     Baseline
#4590
Regression  Initial JS 1.58MiB(+0.02%) 1.58MiB
No change  Initial CSS 0B 0B
No change  Cache Invalidation 6.65% 6.65%
No change  Chunks 602 602
No change  Assets 686 686
No change  Modules 2594 2594
No change  Duplicate Modules 0 0
No change  Duplicate Code 0% 0%
No change  Packages 123 123
No change  Duplicate Packages 1 1
Bundle size by type  Change 1 change Regression 1 regression
                 Current
#4594
     Baseline
#4590
Regression  JS 11.1MiB (+0.03%) 11.1MiB
No change  CSS 895.16KiB 895.16KiB
No change  Fonts 526.1KiB 526.1KiB
No change  Media 295.6KiB 295.6KiB
No change  IMG 45.73KiB 45.73KiB
No change  Other 847B 847B

Bundle analysis reportBranch cdjackson:firmware-updateProject dashboard


Generated by RelativeCIDocumentationReport issue

Comment thread bundles/org.openhab.ui/web/src/pages/settings/things/thing-details.vue Outdated
Comment thread bundles/org.openhab.ui/web/src/pages/settings/things/thing-details.vue Outdated
Comment thread bundles/org.openhab.ui/web/src/pages/settings/things/thing-details.vue Outdated
Comment thread bundles/org.openhab.ui/web/src/pages/settings/things/thing-details.vue Outdated
@jsjames

jsjames commented Jan 21, 2026

Copy link
Copy Markdown
Contributor

This looks like a good enhancement. I can't actually test because I don't have any devices which support firmware updates, so I trust this works and has been tested. I have a few initial suggestions if you could incorporate. Then, we can trigger a copilot review.

@digitaldan

Copy link
Copy Markdown
Contributor

Huh, i did not realize we had firmware update support in the main ui, I have a Draft PR open for Matter with support for firmware updates using the thing status and thing actions in the UI..... but will look at his now.

screenshots at openhab/openhab-addons#20070

@cdjackson

Copy link
Copy Markdown
Contributor Author

Thanks @jsjames I'll take a look over the comments probably tomorrow night.

@cdjackson

cdjackson commented Jan 21, 2026

Copy link
Copy Markdown
Contributor Author

Huh, i did not realize we had firmware update support in the main ui

Well, I guess we don't :)

I added the initial support last year some time - this just shows the firmware status though and didn't actually activate an update. This PR adds support to start the update and get the progress feedback.

Support for firmware updates has been part of OH since OH2 - it was in PaperUI, but got dropped in OH3 when the MainUI replaced PaperUI so updates had to be done through the command line at that point...

(edit: "command line" == OH console)

@florian-h05 florian-h05 added enhancement New feature or request main ui Main UI labels Jan 22, 2026
@cdjackson

Copy link
Copy Markdown
Contributor Author

@jsjames I've updated this to account for your review - thanks.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds firmware update functionality to the openHAB UI, allowing users to view available firmware versions, see update status with badges (Current/Upgrade/Downgrade), and initiate firmware updates via a play button. The implementation includes real-time progress tracking through Server-Sent Events (SSE) and visual status indicators.

Changes:

  • Replaced the green checkmark for current firmware with status badges showing whether a firmware is current, an upgrade, or a downgrade
  • Added a play button to initiate firmware updates for non-current versions
  • Implemented SSE event handlers to track firmware update progress and results in real-time

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread bundles/org.openhab.ui/web/src/pages/settings/things/thing-details.vue Outdated
Comment thread bundles/org.openhab.ui/web/src/pages/settings/things/thing-details.vue Outdated
Comment thread bundles/org.openhab.ui/web/src/pages/settings/things/thing-details.vue Outdated
Comment thread bundles/org.openhab.ui/web/src/pages/settings/things/thing-details.vue Outdated
Comment thread bundles/org.openhab.ui/web/src/pages/settings/things/thing-details.vue Outdated
@jsjames

jsjames commented Jan 26, 2026

Copy link
Copy Markdown
Contributor

@cdjackson - We have updated the api calls to support the "new" hey-api generated calls. This should be rebased to main so the new api calls are pulled in.

Also, you can change the api call to update firmware to the following: api.updateThingFirmware({ thingUID: this.thingId, firmwareVersion: firmware.version }).then(() => {

@cdjackson

cdjackson commented Jan 26, 2026 via email

Copy link
Copy Markdown
Contributor Author

@cdjackson
cdjackson force-pushed the firmware-update branch 4 times, most recently from 83c1fed to c2e70f1 Compare February 3, 2026 19:36
@cdjackson

Copy link
Copy Markdown
Contributor Author

@jsjames hopefully this is ready for final review...

Signed-off-by: Chris Jackson <chris@cd-jackson.com>
Signed-off-by: Jeff James <jeff@james-online.com>
Signed-off-by: Chris Jackson <chris@cd-jackson.com>
Signed-off-by: Jeff James <jeff@james-online.com>
Signed-off-by: Jeff James <jeff@james-online.com>
Signed-off-by: Chris Jackson <chris@cd-jackson.com>
Signed-off-by: Jeff James <jeff@james-online.com>
Signed-off-by: Jeff James <jeff@james-online.com>
@jsjames jsjames changed the title Add support for firmware updates thing-details: Add support for firmware updates Feb 9, 2026
@jsjames
jsjames merged commit d4d4609 into openhab:main Feb 9, 2026
5 checks passed
@jsjames

jsjames commented Feb 9, 2026

Copy link
Copy Markdown
Contributor

@cdjackson - Hi Chris - i had to rebase/squash before I merged. Let me know if anything looks odd.

Thanks again for the work here!!

@jsjames jsjames added this to the 5.2 milestone Feb 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request main ui Main UI

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Firmware update management is not implemented in OH3

5 participants