2022-06-25 00:39:41 -07:00
---
id: telemetry
title: Telemetry Module Configuration
sidebar_label: Telemetry
2024-03-13 15:02:55 -07:00
description: This module allows sharing of Device, Environment, and Air Quality metrics from your Meshtastic device.
2022-06-25 00:39:41 -07:00
---
2023-01-19 05:01:57 -08:00
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
2022-06-25 00:39:41 -07:00
2023-06-09 05:59:46 -07:00
The Telemetry Module provides three types of data over the mesh: Device metrics (Battery Level, Voltage, Channel Utilization and Airtime) from your Meshtastic device, Environment Metrics from attached I2C sensors, and Air Quality Metrics from attached I2C particle sensors.
2022-06-25 00:39:41 -07:00
2023-06-09 05:59:46 -07:00
Supported sensors connected to the I2C bus of the device will be automatically detected at startup. Environment Telemetry and Air Quality must be enabled for them to be instrumented and their readings sent over the mesh.
2022-07-29 06:34:22 -07:00
2023-06-18 11:34:30 -07:00
<object data="https://www.youtube.com/embed/6jj1s-fsPlc?autohide=1&autoplay=0" width="100%" height="400"></object>
2023-06-17 22:48:38 -07:00
2022-07-29 06:46:25 -07:00
### Currently Supported Sensor Types
2023-01-19 05:01:57 -08:00
| Sensor | I<sup>2</sup>C Address | Data Points |
2022-11-12 14:41:56 -08:00
| :-----: | :--------------------: | :-----------------------------------------------------------: |
2024-05-02 14:29:30 -07:00
| BMP085 | 0x76, 0x77 | Temperature and barometric pressure |
| BMP180 | 0x76, 0x77 | Temperature and barometric pressure |
2023-01-19 05:01:57 -08:00
| BMP280 | 0x76, 0x77 | Temperature and barometric pressure |
| BME280 | 0x76, 0x77 | Temperature, barometric pressure and humidity |
| BME680 | 0x76, 0x77 | Temperature, barometric pressure, humidity and air resistance |
| MCP9808 | 0x18 | Temperature |
2024-05-02 14:29:30 -07:00
| INA260 | 0x40, 0x41, 0x43 | Current and Voltage |
| INA219 | 0x40, 0x41, 0x43 | Current and Voltage |
| INA3221 | 0x42 | 3-channel Current and Voltage |
| LPS22 | 0x5D, 0x5C | Barometric pressure |
2023-01-19 05:01:57 -08:00
| SHTC3 | 0x70 | Temperature and humidity |
| SHT31 | 0x44 | Temperature and humidity |
2023-06-08 09:25:01 -07:00
| PMSA003I| 0x12 | Concentration units by size and particle counts by size |
2024-06-21 16:27:42 -07:00
| DFROBOT_LARK | 0x42 | Temperature, barometric pressure, humidity, wind direction, wind speed |
2023-01-19 05:01:57 -08:00
## Module Config Values
2022-06-25 00:39:41 -07:00
2023-06-08 09:25:01 -07:00
### Environment Telemetry Enabled
2022-06-25 00:39:41 -07:00
2023-06-08 09:25:01 -07:00
Enable the Environment Telemetry (Sensors).
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
### Environment Metrics Update Interval
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
How often we should send Environment(Sensor) Metrics over the mesh.
2022-06-25 00:39:41 -07:00
2024-07-14 04:30:04 -07:00
Default is `1800` seconds (30 minutes).
2022-06-25 00:39:41 -07:00
2023-06-08 09:25:01 -07:00
### Device Metrics Update Interval
2022-06-25 00:39:41 -07:00
2023-06-08 09:25:01 -07:00
How often we should send Device Metrics over the mesh.
2022-06-25 00:39:41 -07:00
2024-07-14 04:30:04 -07:00
Default is `1800` seconds (30 minutes).
2024-02-28 11:29:40 -08:00
Device Metrics to a connected client app will always be sent once per minute, regardless of this setting.
2022-06-25 00:39:41 -07:00
2023-06-08 09:25:01 -07:00
### Environment Screen Enabled
2022-06-25 00:39:41 -07:00
2023-06-08 09:25:01 -07:00
Show the environment telemetry data on the device display.
Default is `false`.
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
### Display Fahrenheit
2022-06-25 00:39:41 -07:00
2023-06-08 09:25:01 -07:00
The sensor is always read in Celsius, but the user can opt to display in Fahrenheit (on the device display only) using this setting.
2022-06-25 00:39:41 -07:00
2023-01-06 07:37:32 -08:00
Default is `false`.
2022-06-25 00:39:41 -07:00
2023-06-08 09:25:01 -07:00
### Air Quality Enabled
This option is used to enable/disable the sending of air quality metrics from an attached supported sensor over the mesh network.
Default is `false`.
### Air Quality Interval
This option is used to configure the interval (in seconds) that should be used to send air quality metrics from an attached supported sensor over the mesh network.
2024-07-14 04:30:04 -07:00
Default is `1800` seconds (30 minutes).
2023-06-08 09:25:01 -07:00
2023-10-24 21:53:58 -07:00
## Telemetry Config Client Availability
2022-06-25 00:39:41 -07:00
<Tabs
groupId="settings"
2022-07-14 17:59:50 -07:00
defaultValue="apple"
2022-06-25 00:39:41 -07:00
values={[
{label: 'Android', value: 'android'},
2022-07-14 17:59:50 -07:00
{label: 'Apple', value: 'apple'},
2022-06-25 00:39:41 -07:00
{label: 'CLI', value: 'cli'},
{label: 'Web', value: 'web'},
]}>
2022-07-14 17:59:50 -07:00
<TabItem value="android">
2022-06-25 00:39:41 -07:00
2024-02-22 13:09:26 -08:00
#### Android
2022-06-25 00:39:41 -07:00
:::info
2022-12-04 13:34:26 -08:00
Telemetry Config options are available for Android.
1. Open the Meshtastic App
2023-06-17 22:06:11 -07:00
2. Navigate to: **Vertical Ellipsis (3 dots top right) > Radio Configuration > Telemetry**
2022-12-04 13:34:26 -08:00
2022-06-25 00:39:41 -07:00
:::
2022-07-14 17:59:50 -07:00
</TabItem>
<TabItem value="apple">
2022-06-25 00:39:41 -07:00
2024-02-22 13:09:26 -08:00
#### Apple
2022-06-25 00:39:41 -07:00
:::info
2024-03-07 12:45:26 -08:00
All telemetry module config options are available on iOS, iPadOS and macOS at Settings > Module Configuration > Telemetry (Sensors).
2022-06-25 00:39:41 -07:00
:::
2022-07-14 17:59:50 -07:00
</TabItem>
2022-06-25 00:39:41 -07:00
<TabItem value="cli">
2024-02-22 13:09:26 -08:00
#### CLI
2023-01-06 07:37:32 -08:00
:::info
2022-08-03 08:16:18 -07:00
All telemetry module config options are available in the python CLI. Example commands are below:
2022-06-25 00:39:41 -07:00
2023-01-06 07:37:32 -08:00
:::
2022-07-14 17:59:50 -07:00
## Settings
2022-06-25 00:39:41 -07:00
2023-01-19 05:01:57 -08:00
| Setting | Acceptable Values | Default |
| :---------------------------------------: | :-----------------: | :---------------------------------------: |
2024-07-14 04:30:04 -07:00
| telemetry.device_update_interval | `integer` (seconds) | Default `0` is 30 minutes(`1800` seconds). |
2023-06-08 09:25:01 -07:00
| telemetry.environment_display_fahrenheit | `true`, `false` | `false` |
| telemetry.environment_measurement_enabled | `true`, `false` | `false` |
| telemetry.environment_screen_enabled | `true`, `false` | `false` |
2024-07-14 04:30:04 -07:00
| telemetry.environment_update_interval | `integer` (seconds) | Default `0` is 30 minutes(`1800` seconds). |
2023-06-08 09:25:01 -07:00
| telemetry.air_quality_enabled | `true`, `false` | `false` |
2024-07-14 04:30:04 -07:00
| telemetry.air_quality_interval | `integer` (seconds) | Default `0` is 30 minutes(`1800` seconds). |
2022-06-25 00:39:41 -07:00
2023-01-06 07:37:32 -08:00
:::tip
2023-01-06 07:41:30 -08:00
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.
2023-01-06 07:37:32 -08:00
```shell title="Example:"
2023-01-06 08:00:25 -08:00
meshtastic --set telemetry.device_update_interval 0 --set telemetry.environment_update_interval 0
```
2023-01-06 07:37:32 -08:00
:::
2022-07-14 17:59:50 -07:00
```shell title="Set module update intervals (Default of 0 is 5 Minutes)"
2022-08-03 08:16:18 -07:00
meshtastic --set telemetry.device_update_interval 0
2022-07-14 17:59:50 -07:00
// Device Metrics Two Minutes
2023-01-06 07:37:32 -08:00
meshtastic --set telemetry.device_update_interval 0
2022-07-14 17:59:50 -07:00
// Environment Metrics Two Minutes
2022-08-03 08:16:18 -07:00
meshtastic --set telemetry.environment_update_interval 120
2023-01-19 05:01:57 -08:00
```
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
```shell title="Enable/Disable Environment Module"
2022-08-03 08:16:18 -07:00
meshtastic --set telemetry.environment_measurement_enabled true
meshtastic --set telemetry.environment_measurement_enabled false
2022-07-14 17:59:50 -07:00
```
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
```shell title="Enable/Disable on device screen"
2022-08-03 08:16:18 -07:00
meshtastic --set telemetry.environment_screen_enabled true
meshtastic --set telemetry.environment_screen_enabled false
2022-06-25 00:39:41 -07:00
```
2023-01-06 07:37:32 -08:00
```shell title="Enable / Disable Display Fahrenheit"
2022-08-03 08:16:18 -07:00
meshtastic --set telemetry.environment_display_fahrenheit true
meshtastic --set telemetry.environment_display_fahrenheit false
2023-01-19 05:01:57 -08:00
```
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
</TabItem>
2023-01-06 07:37:32 -08:00
<TabItem value="web">
2022-06-25 00:39:41 -07:00
2024-02-22 13:09:26 -08:00
#### Web
2022-07-14 18:27:52 -07:00
:::info
2022-06-25 00:39:41 -07:00
2022-08-03 08:16:18 -07:00
All telemetry module config options are available in the Web UI.
2023-01-06 07:37:32 -08:00
2022-06-25 00:39:41 -07:00
:::
2023-01-19 05:01:57 -08:00
2023-01-06 16:02:38 -08:00
</TabItem>
2022-06-25 00:39:41 -07:00
</Tabs>
2022-07-03 11:00:50 -07:00
## Examples
2022-08-01 16:26:21 -07:00
### RAK 4631 with BME680 Environment Sensor
2022-07-03 11:00:50 -07:00
Setup of a RAK 4631 with Environment Sensor
2024-02-03 05:33:07 -08:00
[<img src="RAK4631_with_EnvSensor" src="/img/hardware/rak/RAK4631_with_EnvSensor.webp" style={{zoom:'25%'}} />](/img/hardware/rak/RAK4631_with_EnvSensor.webp)
2022-07-03 11:00:50 -07:00
Requirements:
- RAK4631
- Environment Sensor
Steps:
- configure the device:
```shell
2023-01-06 07:37:32 -08:00
meshtastic --set telemetry.environment_measurement_enabled true --set telemetry.environment_screen_enabled true --set telemetry.environment_display_fahrenheit true
2022-07-03 11:00:50 -07:00
```
:::tip
2023-01-06 07:37:32 -08:00
2023-05-30 22:29:08 -07:00
While the above values serve as an example and can be modified to fit your specific needs, it is advisable to chain multiple commands together, as demonstrated in the example. This approach will minimize the number of necessary reboots.
2023-01-06 07:37:32 -08:00
2022-07-03 11:00:50 -07:00
:::
2023-01-06 07:37:32 -08:00
- Device will reboot after command is sent.
- When the device boots again it should say "Telemetry" and it may show the sensor data
2022-07-29 06:46:25 -07:00
- If this does not appear to have any effects, run:
2022-07-03 11:00:50 -07:00
```shell
2022-07-29 06:46:25 -07:00
meshtastic --noproto
2022-07-03 11:00:50 -07:00
```
2022-07-29 06:46:25 -07:00
And examine the serial logs for Telemetry diagnostic information.
2022-08-01 16:26:21 -07:00
## Supporting Additional Sensors
### Environment Metrics
2023-01-19 05:01:57 -08:00
The environment metrics in the telemetry module supports a limited amount of fields as they are stored in memory on the device. Support for sensors that provide one or more of the following fields can potentially be added to the main firmware provided there is a GPL licensed library for us to include to support it, and the library size is not prohibitive.
2022-08-01 16:26:21 -07:00
2023-01-19 05:01:57 -08:00
- Temperature
- Relative Humidity
- Barometric Pressure
- Gas Resistance (AQI)
- Voltage
- Current
2022-08-01 16:26:21 -07:00
### Supporting Other Sensor types
2023-01-19 05:01:57 -08:00
For other interesting sensor types and use cases we need to add a portnum for more generic telemetry packets and a second MCU will be required to interact with the sensor and process the data to be sent over the mesh. This data will not be stored in the nodedb on the device.