> For the complete documentation index, see [llms.txt](https://developer.magtek.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.magtek.com/api-and-command-reference/~/revisions/AxjZXnxcrmQygHeCLIf3/dynafamily-programmers-manual/mqtt-qwantifi-configuration-device-settings.md).

# MQTT / QwantiFi Configuration (device settings)

<mark style="color:blue;">**Editorial note, delete before publishing Goes under: API & Command Reference › DynaFlex Programmer's Manual › Properties**</mark>*<mark style="color:blue;">**(new subpage — this is the one piece of QwantiFi content that belongs inside the device Programmer's Manual, because it is device-command/configuration material)**</mark>*

This page documents the on-device settings that put a DynaFlex / MMS reader onto the QwantiFi MQTT broker. These are **device configuration properties** — part of the device command protocol — which is why they live in the Programmer's Manual rather than with the cloud-side QwantiFi material. For the end-to-end feature and the cloud side, start at the <mark style="color:red;">**QwantiFi Overview**</mark> (→ Services › QwantiFi).

{% hint style="info" %}
**How these are applied in practice.** In a normal deployment you do **not** hand-author these settings. RMS generates the exact command sequence and the QwantiFi tooling applies it to the device — see the <mark style="color:red;">**RMS MQTT Configuration API Reference**</mark> <mark style="color:blue;">(→ API & Command Reference › QwantiFi › RMS MQTT Configuration API)</mark>. This page documents *what* each setting is so the generated commands and the device's reported configuration can be understood.
{% endhint %}

### Configuration groups

QwantiFi provisioning writes two related configuration groups to the device:

1. **MQTT configuration** — the broker connection and topic settings (below).
2. **Trust configuration** — the TLS trust material (certificate) the device uses to validate the broker connection when TLS is in use.

Both are delivered as secured commands. The command envelope, sequencing (`WAIT`), and secured-command mechanics are the standard ones described in <mark style="color:red;">**Send Secured Command to Device**</mark> <mark style="color:blue;">(→ API & Command Reference › DynaFlex Programmer's Manual › Commands › Security › Send Secured Command to Device)</mark> and <mark style="color:red;">**Set Property (Secured)**</mark> <mark style="color:blue;">(→ API & Command Reference › DynaFlex Programmer's Manual › Commands › Settings and Information › Set Property (Secured)).</mark>

## MQTT settings

Each row is one settable property. Values shown are examples.

| Setting                  | Meaning                                                                       | Example                                       |
| ------------------------ | ----------------------------------------------------------------------------- | --------------------------------------------- |
| `WlanProtocol`           | Selects the WLAN transport mode (e.g. MQTT vs. WebSocket Server).             | `00`                                          |
| `Broker`                 | Broker host the device connects to.                                           | `dev-mqtt.magensa.dev`                        |
| `Port`                   | Broker port (`1883` plain, `8883` TLS).                                       | `8883`                                        |
| `QoS`                    | MQTT quality of service for the device's messages.                            | `1`                                           |
| `SubscribeTopic`         | The command topic the device listens on (`…/{sn}/SendCommand`).               | `MagTek/13204/2026213/B563215/SendCommand`    |
| `SubscribeTopicExtended` | Optional secondary subscribe topic.                                           |                                               |
| `PublishTopic`           | The topic branch the device publishes responses to (`…/device/publish/{sn}`). | `MagTek/13204/2026213/device/publish/B563215` |
| `PublishTopicExtended`   | Optional secondary publish topic.                                             |                                               |
| `ClientId`               | The device's MQTT client identifier (typically the serial number).            | `B563215`                                     |
| `Username`               | The device's MQTT username (`{reseller}-{customer}-{sn}`).                    | `13204-2026213-B563215`                       |
| `Password`               | The device's MQTT password. Masked in responses.                              | `******`                                      |
| `PeerCommonName`         | Expected TLS certificate common name (when TLS is used).                      | `dev-mqtt.magensa.dev`                        |
| `KeepAlive`              | MQTT keep-alive interval.                                                     |                                               |
| `OperatingMode`          | Transport hint reported by the device.                                        | `mqtt`                                        |

{% hint style="info" %}
**Device topics vs. POS topics.** The device is provisioned to listen on the concrete `…/{sn}/SendCommand` leaf and to publish on `…/device/publish/{sn}`. This is the device's side of the same topic model the POS uses from the other direction — see the topic model in the <mark style="color:red;">**POS Integration Guide.**</mark> <mark style="color:blue;">**(→ Guides › QwantiFi › POS Integration**</mark>)
{% endhint %}

## Trust (TLS) configuration

When TLS is used, a Trust configuration command loads the TLS trust material (a certificate) onto the device so it can validate the broker. RMS supplies this as a secured command carrying the certificate payload. Non-TLS and TLS trust profiles are maintained separately on the RMS side (see <mark style="color:red;">**Web RMS Service**</mark>). <mark style="color:blue;">**(→ Services › QwantiFi › Web RMS Service)**</mark>

## Reading the current configuration back

The device reports its current MQTT settings when queried (the QwantiFi tooling's **Get Config** action, and RMS's `Claims` object, both reflect these properties). Reading properties from the device uses \<mark style="color:red;">\<strong>Get Property\</strong>\</mark> (→ API & Command Reference › DynaFlex Programmer's Manual › Commands › Settings and Information › Get Property).


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://developer.magtek.com/api-and-command-reference/~/revisions/AxjZXnxcrmQygHeCLIf3/dynafamily-programmers-manual/mqtt-qwantifi-configuration-device-settings.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
