Skip to content

Feature Request: Dedicated Sensors Tab & Sensor Layer #92

Description

@motababravo

Feature Request: Dedicated Sensors Tab & Sensor Layer

Example : https://malla.motaba.net/static/sensor_station.html, https://malla.motaba.net/static/weather_station.html (modules)

Summary

Add a dedicated Sensors tab to Malla that utilizes the full capabilities of TELEMETRY_APP packets and presents environmental and device telemetry in a sensor-focused interface.

Additionally, provide an optional Sensor Layer (or map mode) within the existing Map tab, allowing users to visualize sensor readings geographically (e.g. temperature, humidity, pressure, air quality, battery level, etc.).

Motivation

Currently, TELEMETRY_APP packets contain much more information than is exposed in the UI. Many Meshtastic nodes are equipped with environmental sensors, weather stations, air-quality sensors, radiation sensors, soil sensors, and other telemetry devices.

While the raw data is available, there is no dedicated way to browse, analyze, or visualize it.

A sensor-focused interface would unlock the full potential of telemetry packets and make Malla useful not only as a mesh analytics platform, but also as a distributed environmental monitoring platform.

Proposed Features

1. Dedicated "Sensors" Tab

A new top-level tab showing only nodes that report TELEMETRY_APP sensor data.

For each node:

  • Current sensor values
  • Last update timestamp
  • Gateway / hop information
  • Historical charts
  • Node information
  • Sensor status

The page should automatically detect available metrics instead of assuming a fixed sensor set.

Examples include:

  • Temperature
  • Relative Humidity
  • Barometric Pressure
  • Illuminance
  • UV
  • Wind Speed
  • Wind Direction
  • Rainfall
  • Soil Moisture
  • Soil Temperature
  • Air Quality (IAQ)
  • Gas Resistance
  • Radiation
  • Battery
  • Battery Voltage
  • Channel Utilization
  • Air Utilization
  • Uptime

Future telemetry fields should automatically appear without requiring UI changes.


2. Sensor Map Layer

Add an optional layer or display mode to the existing Map tab.

Instead of showing only node markers, allow the map to visualize sensor values.

Examples:

  • 🌡 Temperature map
  • 💧 Humidity map
  • 🌧 Pressure map
  • 🌬 Wind speed
  • ☀️ Illuminance
  • ☢ Radiation
  • 🔋 Battery level

Possible visualization ideas:

  • Color-coded node markers
  • Heatmaps
  • Value labels
  • Filtering by metric
  • Time filtering
  • Only show nodes reporting the selected metric

This would allow users to quickly see environmental conditions across an entire region or country.

Example:

Show temperatures across Bulgaria from all reporting Meshtastic nodes.


3. Metric Filtering

Allow filtering by:

  • Sensor type
  • Geographic area
  • Time
  • Channel
  • Node

4. Historical Data

Provide history graphs for each detected metric.

Example:

  • Temperature history
  • Pressure history
  • Humidity history
  • Battery history

Benefits

  • Better utilization of TELEMETRY_APP
  • Showcases Meshtastic sensor capabilities
  • Turns Malla into a distributed environmental monitoring platform
  • Encourages deployment of environmental sensor nodes
  • Provides useful real-time regional information
  • Scales automatically as new telemetry fields are added to Meshtastic

5. Optional Sensor Calibration

It would be very useful to include an optional per-node sensor calibration feature similar to the one implemented in the sensor_station.html module.

The idea is to allow users to define additive offsets for each detected sensor metric, for example:

  • Temperature: -1.3 °C
  • Humidity: +4 %
  • Barometric Pressure: +2.1 hPa
  • Battery Voltage: -0.05 V

The offsets should:

  • Be stored per node (preferably client-side/browser storage)
  • Apply consistently to the current values, historical charts, and packet history
  • Work with any automatically detected telemetry field
  • Require no changes when new sensor types are introduced
  • Allow resetting all offsets back to zero

This would compensate for sensor tolerances and installation-specific calibration differences without modifying the original telemetry data stored by Malla.

Additional Notes

The implementation should be dynamic rather than hardcoded. The UI should inspect the contents of environment_metrics and device_metrics and automatically expose any numeric fields that are present, making it future-proof as Meshtastic introduces additional telemetry metrics.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions