# How to pause an update indefinitely for a power cycle: State Script vs DBus?

**URL:** <https://hub.mender.io/t/how-to-pause-an-update-indefinitely-for-a-power-cycle-state-script-vs-dbus/7979>\
**Category:** General Discussions\
**Tags:** state-scripts, dbus\
**Created:** [September 1, 2025, 3:36pm UTC](https://hub.mender.io/t/how-to-pause-an-update-indefinitely-for-a-power-cycle-state-script-vs-dbus/7979 "2025-09-01T15:36:30Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![Trab40](https://avatars.discourse-cdn.com/v4/letter/t/90db22/32.png) [@Trab40](https://hub.mender.io/u/Trab40)\
**Post date:** [September 3, 2025, 12:58pm UTC](https://hub.mender.io/t/how-to-pause-an-update-indefinitely-for-a-power-cycle-state-script-vs-dbus/7979/2 "2025-09-03T12:58:50Z")

</div>

After further investigation, I’ve confirmed that the **D-Bus API for synchronized updates is deprecated** as of Mender 3.6.

While the documentation was somewhat unclear, the [Mender 3.6 release notes](https://mender.io/blog/mender-3-6-auto-generation-of-delta-updates#:~:text=Deprecation:%2520Synchronized%2520updates) are explicit. They state that the synchronized updates feature is being used when “Setting the control map on the device using the [DBus API](https://docs.mender.io/device-side-api/io.mender.update1#io-mender-update1-setupdatecontrolmap).”

Several other findings support this conclusion:

1. Running the `gdbus` call to set the update control map returns `(0,)`, which is an unexpected result for a `refresh_timeout`.

```shell
sudo gdbus call --system --dest io.mender.UpdateManager --object-path /io/mender/UpdateManager --method io.mender.Update1.SetUpdateControlMap '{"priority": 1, "states": {"ArtifactInstall_Enter": {"action": "pause"}}, "id": "01234567-89ab-cdef-0123-456789abcdef"}'

```

2. The official [mender-client-python-example repository](https://github.com/mendersoftware/mender-client-python-example) on GitHub is archived and produces an error when run.
3. The [forum post](https://hub.mender.io/t/aborting-a-deployment-purposely-stalled-in-the-artifactreboot-enter-state/5009) I was referencing was created before the Mender 3.6 release, when the feature was still active.

With the D-Bus option unavailable, the only viable solution seems to be to increase `StateScriptTimeoutSeconds` in `/etc/mender/mender.conf` to something like 12 hours and use the state script outlined in my initial post.

On a related note, I feel that a limitation of the Mender client is the lack of a simple interface for observing its current status on the device side. While state scripts are effective for reacting to state changes and they can export these changes to other applications on the system, they do not seem to provide a mechanism for tracking other useful metrics, such as real-time download progress. Maybe a unix socket that outputs state information would already be enough. Something to think about!

---

_[View the full topic](https://hub.mender.io/t/how-to-pause-an-update-indefinitely-for-a-power-cycle-state-script-vs-dbus/7979)._
