--- id: mqtt title: MQTT Module Configuration slug: /settings/moduleconfig/mqtt sidebar_label: MQTT --- import Tabs from "@theme/Tabs"; import TabItem from "@theme/TabItem"; If your device is connected to Internet via wifi or ethernet, you can enable it to forward packets along to an MQTT server. This allows users on the local mesh to communicate with users on the internet. One or more channels must be enabled as uplink and/or downlink for protobufs to be transmitted from and/or to the mesh (See [channels](/docs/settings/config/channels#downlink-enabled)). Without these settings the node will still connect to MQTT server and send status messages. The MQTT module config options are: Enabled, Server Address, Username, Password, Encryption Enabled and JSON Enabled. MQTT Module config uses an admin message sending a `ConfigModule.MQTT` protobuf. ## Settings ## MQTT Module Config Values ### Enabled Enables the MQTT module. ### Server Address The server to use for MQTT. If not set, the default server public will be used. ### Username MQTT Server username to use (most useful for a custom MQTT server). If using a custom server, this will be honored even if empty. If using the default public server, this will only be honored if set, otherwise the device will use the default username. ### Password MQTT password to use (most useful for a custom MQTT server). If using a custom server, this will be honored even if empty. If using the default server, this will only be honored if set, otherwise the device will use the default password ### Encryption Enabled Whether to send encrypted or decrypted packets to MQTT. This parameter is only honored if you also set server (the default official mqtt.meshtastic.org server can handle encrypted packets) Decrypted packets may be useful for external systems that want to consume meshtastic packets. ### JSON Enabled Enable the sending / consumption of JSON packets on MQTT. These packets are not encrypted, but offer an easy way to integrate with systems that can read JSON. ## MQTT Module Config Client Availability :::info MQTT Config options are available for Android. 1. Open the Meshtastic App 2. Navigate to: **Vertical Ellipsis (3 dots top right) > Module Settings > MQTT Config** ::: :::info MQTT module config is not available for Apple. ::: :::info All MQTT module config options are available in the python CLI. Example commands are below: ::: | Setting | Acceptable Values | Default | | :---------------------: | :---------------: | :-----: | | mqtt.enabled | `true`, `false` | `false` | | mqtt.address | `string` | | | mqtt.username | `string` | | | mqtt.password | `string` | | | mqtt.encryption_enabled | `string` | | | mqtt.json_enabled | `true`, `false` | `false` | :::tip Because the device will reboot after each command is sent via CLI, it is recommended when setting multiple values in a config section that commands be chained together as one. ```shell title="Example:" meshtastic --set mqtt.enabled true --set mqtt.json_enabled true ``` ::: ```shell title="Enable/Disable MQTT Module" meshtastic --set mqtt.enabled true meshtastic --set mqtt.enabled false ``` ```shell title="Enable/Disable MQTT JSON" meshtastic --set mqtt.json_enabled true meshtastic --set mqtt.json_enabled false ``` :::info All MQTT module config options are available for the Web UI. :::