I couldn’t understand your scenario/requirement exactly but I have accomplished this updating of percentage on a progress circle and progress bar widget without reloading page.
To do that, one option is to use refresh in client on the object which provides the progress attribute value to the progress circle widget. That means, update the value of the attribute to the new percentage, and trigger a commit with refresh in client on it.
Another way is to enclose a data view inside template grid. Data view should fetch the entity which will provide progress attribute to the widget via a microflow that microflow also updates the progress/percentage value. Now template grid can be configured to refresh after x seconds which will reload the data view and call microflow fetching new value of percentage and also reloading the widget.
That doesn’t work for me because the attributes with the percentage values are calculated field (not stored). So, I can’t commit/refresh on them directly. That populates based on the sum of associated entities and a commit/refresh doesn’t help to refresh the UI (i.e. progress circle).
Currently I’m listening to a Data Grid but the progress circle only updates when I again manually click on the Data Grid line.
(The Data Grid itself though directly refreshes (1s) and correctly shows the updated value.)
Maybe the picture explains the context better.
(You see that the “Leistung” sums the selected items from the list in the middle but the progress circle still sits on 405 kW.)