Hi Ihor,
On 4/8/26 16:57, Ihor Fedorenco wrote:
> thank you for the clarification — that helped a lot to understand the
> current behavior.
>
> Yes, I see that SWUpdate already sends structured progress (cnt/of) and
> that logs (details[]) are available and shown in hawkBit.
This is generally enough.
>
> What I’m trying to address is slightly different — more on the *UI/UX
> side for headless devices*.
>
> In scenarios with:
>
> * large artifacts
=> always
> * slow or unstable connections
=> often
> * no local UI on the device
==> if we have Hawkbit, a device can have a HMI, but it is not accessible
So there is nothing new - this is a common scenario.
>
> it becomes important to have a clear, visual representation of progress
> (download/install), similar to what SWUpdate provides locally (web UI /
> display).
Well, I just provide the differences. Using SWUpdate's WebUI, the
software is pushed to the device in the same timeline when the display
is showed. Sure having a display or Webbrowser to show the progress is
very comfortable, but it is also a different use case.
With Hawkbit, we have generally rollouts. We want to provide updates for
thousands of devices. Devices maybe polls the server once a day, so
constantly looking at the progress makes less sense. The update itself
can run slowly, because bandwidth is maybe limited. What is important is
to get if an update fails (and this is reported by Hawkbit), and when it
happens, to get the logs to identify the reason (and this is done as well).
Consider also that SWUpdate is not allowed to send constantly logs to
the Hawkbit server. The default value in application.properties for
Hawkbit is very restrictive. There is a DOS (deny of service) property
in the Hawkbit server, and if SWUpdate sends too many messages, they are
silently dropped. So from design, Hawkbit's developers do not want to
have a lot of data coming from the device.
To have a functional progress, SWUpdate should send continuously new
data when something is changed. For example, percentage of downloaded
data (1..100), progress bar for each step, etc. All these information
are sent via the progress interface and the internal Webserver sends via
Websocket to any connected browser. Then yes, the visual representation
(WebUI / local) is responsive.
I guess that what is disturbing for the Hawkbit's developers is that
they cannot then control how much traffic the devices will generate.
>
> At the moment:
>
> * structured progress (cnt/of) is not exposed by hawkBit
But it is also not exposed to the REST API, so the GUI has no access.
> * logs can contain progress, but require higher verbosity and parsing
> * the UI does not provide a consolidated “device progress view”
Ok, let's see what I can discuss on my side.
- Hawkbit API: this cannot be changed if developers do not agree and
they do not agree.
- SWUpdate: this can be extended
- HawkbitGUI: this can be extended and we can make what we want, but we
have to use the REST API. At the moment, the GUI resembles the features
of the old GUI (until Hawkbit 0.4), but sure it can have another UX.
>
> So the question is:
>
> within the current architecture, what would be the recommended way to
> surface a *concise, visual progress state* in hawkBit UI?
>
> For example:
>
> * download progress bar
> * install phase indication
> * possibly artifact-level progress
>
> without relying on verbose logs or backend changes
I can change SWUpdate and the GUI. But in any case, this raises more
traffic (and it is an issue on lowband connection, mobile, GSM, etc.)
It will be nice to send logs just on demand, that is if Update fails,
but there is not REST API for this.
> for example to extend target with progress column
>
> To give a concrete example from the UI perspective:
>
> it could be useful to extend the target table with a simple “Progress”
> column, showing a concise device state derived from feedback.
> > This would provide a quick, at-a-glance view for headless devices
If we are using Hawkbit, all of them are headless, even the ones from
display. But how can we differentiate in base of bandwidth requirements ?
> (especially with large artifacts or slow connections), without requiring
> users to open logs and inspect detailed messages.
>
Targets are also loaded - that means, if the progress is always shown,
this causes a massive amount of data during the scroll of the target
window. And if I remember well, the targets must be individually asked,
that means each of them cause an additional GET to the server.
Best regards,
Stefano Babic
> Very simplified image:
>
> Best regards
> Ihor,
>
> середа, 8 квітня 2026 р. о 15:55:50 UTC+3 Stefano Babic пише:
>
> Hu Fedorenco,
>
> On 4/6/26 14:38, Ihor Fedorenco wrote:
> > Hi Stefano,
> >
> > I’m continuing the discussion from the hawkBit thread:
> >
https://github.com/eclipse-hawkbit/hawkbit/ <
https://github.com/
> eclipse-hawkbit/hawkbit/>
> > issues/2868#issuecomment-4191718757 <
https://github.com/eclipse-
> hawkbit/ <
https://github.com/eclipse-hawkbit/>
> Hirschstr. 111A | 86156 Augsburg | Tel:
+49 821 45592596 <tel:
> +49%20821%2045592596>
> --
> You received this message because you are subscribed to the Google
> Groups "swupdate" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to
swupdate+u...@googlegroups.com
> <mailto:
swupdate+u...@googlegroups.com>.
> To view this discussion visit
https://groups.google.com/d/msgid/
> swupdate/bbd2955b-9e7b-45af-8d27-bd8f037a8c60n%
40googlegroups.com
> <
https://groups.google.com/d/msgid/swupdate/bbd2955b-9e7b-45af-8d27-
> bd8f037a8c60n%
40googlegroups.com?utm_medium=email&utm_source=footer>.