2022-06-25 00:39:41 -07:00
---
id: telemetry
title: Telemetry Module Configuration
sidebar_label: Telemetry
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
2022-07-14 17:59:50 -07:00
The Telemetry Module provides two types of data over the mesh. Device metrics (Battery Level, Voltage, Channel Utilization and Airtime) from your meshtastic device and Environement Metrics from attached I2C sensors.
2022-06-25 00:39:41 -07:00
2022-07-29 06:34:22 -07:00
Supported sensors connected to the I2C bus of the device will be automattically detected at startup. Environement Telemetry must be enabled for them to be instrumented and their readings sent over the mesh.
The telemetry module config options are: Device Metrics Update Interval, Environment Metrics Update Interval, Environement Telemetry Enabled, Show on Device Screen, and Display Fahrenheit.
2022-06-25 00:39:41 -07:00
2022-07-29 06:46:25 -07:00
### Currently Supported Sensor Types
| Sensor | Data Points |
| :-----: | :-----------------------------------------------------------: |
2022-08-01 06:11:53 -07:00
| BMP280 | Temperature and barometric pressure |
2022-07-29 06:46:25 -07:00
| BME280 | Temperature, barometric pressure and humidity |
| BME680 | Temperature, barometric pressure, humidity and air resistance |
| MCP9808 | Temperature |
| INA260 | Current and Voltage |
| INA219 | Current and Voltage |
2022-07-14 17:59:50 -07:00
## Telemetry Module Config Values
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
## Update Intervals
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
### Device Metrics Update Interval
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
How often we should send Device Metrics over the mesh.
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
Default is every 5 minutes.
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
2022-07-14 17:59:50 -07:00
Default is every 5 minutes.
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
## Sensor options
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
### Environment Telemetry Enabled
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
Enable the Environment Telemetry (Sensors)
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
### Show on device screen
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
Show the Telemetry Module on-device display.
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
The sensor is always read in Celsius, but the user can opt to view the temperature display in Fahrenheit using this setting.
2022-07-14 17:59:50 -07:00
Default is off
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
## Device 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'},
2022-07-14 17:59:50 -07:00
{label: 'Flasher', value: 'flasher'},
2022-06-25 00:39:41 -07:00
{label: 'Web', value: 'web'},
]}>
2022-07-14 17:59:50 -07:00
<TabItem value="android">
2022-06-25 00:39:41 -07:00
:::info
2022-07-14 17:59:50 -07:00
Telemetry Module config is not available for Android.
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
:::info
2022-07-14 18:27:52 -07:00
All telemetry module config options are available on iOS, iPadOS and macOS at Settings > Module Configuration > Telemetry.
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">
2022-07-14 17:59:50 -07:00
No telemetry module config options are available in the python CLI. Example commands are below:
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
## Settings
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
| Setting | Acceptable Values | Default |
| :-----------------------------------------------------: | :-----------------: | :-----: |
| telemetry_module_device_update_interval | `integer` (seconds) | `0` |
| telemetry_module_environment_display_fahrenheit | `true`, `false` | `false` |
| telemetry_module_environment_measurement_enabled | `true`, `false` | `false` |
| telemetry_module_environment_screen_enabled | `true`, `false` | `0` |
| telemetry_module_environment_update_interval | `integer` (seconds) | `0` |
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
```shell title="Set module update intervals (Default of 0 is 5 Minutes)"
meshtastic --set telemetry_module_device_update_interval 0
// Device Metrics Two Minutes
meshtastic --set telemetry_module_device_update_interval 120
// Environment Metrics Two Minutes
meshtastic --set telemetry_module_environment_update_interval 120
````
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
```shell title="Enable/Disable Environment Module"
meshtastic --set telemetry_module_environment_measurement_enabled true
meshtastic --set telemetry_module_environment_measurement_enabled false
```
2022-06-25 00:39:41 -07:00
2022-07-14 17:59:50 -07:00
```shell title="Enable/Disable on device screen"
2022-06-25 00:39:41 -07:00
meshtastic --set telemetry_module_environment_screen_enabled true
meshtastic --set telemetry_module_environment_screen_enabled false
```
2022-07-14 17:59:50 -07:00
```shell title="Enable / Disable Display Farenheit"
meshtastic --set telemetry_module_environment_display_fahrenheit true
meshtastic --set telemetry_module_environment_display_fahrenheit false
2022-06-25 00:39:41 -07:00
````
2022-07-14 17:59:50 -07:00
</TabItem>
<TabItem value="flasher">
2022-06-25 00:39:41 -07:00
2022-07-14 18:27:52 -07:00
:::info
2022-07-14 17:59:50 -07:00
No telemetry module config options are available in the Flasher.
2022-06-25 00:39:41 -07:00
:::
</TabItem>
<TabItem value="web">
:::info
2022-07-14 17:59:50 -07:00
No telemetry module config options are available in the Web UI.
2022-06-25 00:39:41 -07:00
:::
2022-07-14 17:59:50 -07:00
2022-06-25 00:39:41 -07:00
</TabItem>
</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
[<img src="RAK4631_with_EnvSensor" src="/img/hardware/rak/RAK4631_with_EnvSensor.jpg" style={{zoom:'25%'}} />](/img/hardware/rak/RAK4631_with_EnvSensor.jpg)
Requirements:
- RAK4631
- Environment Sensor
Steps:
- configure the device:
```shell
2022-07-29 06:34:22 -07:00
meshtastic --set telemetry_module_measurement_enabled true --set telemetry_module_screen_enabled true --set telemetry_module_display_farenheit true
2022-07-03 11:00:50 -07:00
```
:::tip
You can change the values above to suit your needs. The commands can be run one at a time or in a group as show above.
:::
2022-07-29 06:46:25 -07:00
- Reboot/reset the device (press the button or unplug/plug in the device)
- When the device boots it should say "Telemetry" and it may show the sensor data
- 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
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 firmare provided there is a GPL licensed library for us to include to support it, and the libary size is not prohibitive.
* Temperature
* Relative Humidity
* Barometric Pressure
* Gas Resistance (AQI)
* Voltage
* Current
### Supporting Other Sensor types
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.