> For the complete documentation index, see [llms.txt](https://docs.kpnthings.com/kpn-things/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kpnthings.com/kpn-things/kpn-firmware-over-the-air/devices/firmware-updaten.md).

# Updating Firmware

After selecting the devices and clicking the **Update firmware** bulk action, the following screen will appear. Here, you can choose from all previously uploaded firmware versions for each of the modules of the selected device type. To return to the list of [Firmware Deployments](/kpn-things/kpn-firmware-over-the-air/devices/devices-selecteren.md), simply click the Cancel button.

<figure><img src="/files/zGeb9SyL3mXdFfyRIgxU" alt=""><figcaption></figcaption></figure>

Now, you can select a target firmware version for one or more module(s).\
\
**Note:** There is no validation to ensure you select the correct firmware version. You can choose both higher and lower versions. Please be careful when selecting the firmware version to update to.\
\
Once you’ve selected the correct target firmware version(s), click the **Update devices** button. This initiates the firmware update process. You will return to the overview screen, and a message will confirm that the update instruction has been created. Under *Target firmware version*, you will see the selected version number, indicating that the instruction has been scheduled. You can add a new instruction for a different firmware version. In that case, the device will receive both instructions in the order they were created. &#x20;

Your task is now complete.

Once the device reports a new measurement, its current firmware version will be read.\
If it does not match the target firmware version (i.e., your instruction), a downlink message will be sent to the device.

The device will then download the firmware from the downlink location and update itself.\
\
After the device reports another measurement, the firmware version will be read again.\
If it now matches the target firmware version, the *Current firmware version* will be updated.

When you view the device in the Firmware Deployments overview again, the *Target firmware version* will be empty, and the *Current firmware version* will show the new version.

As long as the device firmware has not been updated to the new (target) version, a new downlink message will be sent every 3 hours.

The update process is now complete.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kpnthings.com/kpn-things/kpn-firmware-over-the-air/devices/firmware-updaten.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
