Skip to content

Conversation

@oscgonfer
Copy link
Contributor

@oscgonfer oscgonfer commented Jan 30, 2026

Rebased onto #7198 (and #7245) for demo purposes. Still draft as it may make breaking changes in other clients if accepted.

This is a proposal to make Telemetry with nested protos (now only in AQ telemetry, but can be expanded to other telemetry modules) to add information regarding sensors in the payload (i.e. who is producing the data).

=== Meshtastic Packet Info ===
🔑 Device ID: 3665040172
📟 Device Name: Oscar Test
🗂️ Packet ID: 509853187
⏰ Timestamp: 2026-01-30T14:31:14Z
📡 Port Number: 67
📦 Full protobuf payload:
{ 'time': 1769783474,
  'air_quality_metrics': { 'sen5xdata': { 'pm10_standard': 1,
                                          'pm25_standard': 2,
                                          'pm40_standard': 2,
                                          'pm100_standard': 2,
                                          'particles_05um': 1200,
                                          'particles_10um': 200,
                                          'particles_25um': 0,
                                          'particles_40um': 0,
                                          'particles_100um': 0,
                                          'pm_temperature': 17.755,
                                          'pm_humidity': 68.51,
                                          'pm_voc_idx': 103.0,
                                          'pm_nox_idx': 1.0,
                                          'particles_tps': 0.581},
                           'scd4xdata': { 'co2': 1354,
                                          'co2_temperature': 15.33608,
                                          'co2_humidity': 81.16884}}}

Related to #9474 and building on protobufs proposal in meshtastic/protobufs#852.

An additional improvement would be to add other values (serial number, or sensor_id/sensor_name).

oscgonfer and others added 30 commits July 25, 2025 12:31
Co-authored-by: Hannes Fuchs <hannes.fuchs+git@0xef.de>
* Cleanup of SEN5X specific code added from switching branches
* Remove SCAN_I2C_CLOCK_SPEED block as its not needed
* Remove associated functions for setting I2C speed
* Unify build_epoch replacement logic in platformio-custom

* Missed one
In the logs was:
"No screen resolution defined in build_flags. Please define DISPLAY_SIZE."

set according to similar devices.
* Put guards in place around debug heap operations

* Add macros to clean up code

* Add pointer as well
…-bluetooth-memory-leak

Fix memory leak in `NRF52Bluetooth`: allocate `BluetoothStatus` on stack, not heap
oscgonfer and others added 28 commits January 18, 2026 18:42
* Fixes difference between idle and sleep
* In LowPower, sleep is disabled
* Requires testing for I2C clock comms for commands
* Fix not reclocking back to 700000Hz
*  The logic in AQ module is different to the one in EnvironmentTelemetryModule.  In Env module, if any sensor fails to getMetrics, no valid flag for the module. This prevents other sensors to report data.
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
@oscgonfer oscgonfer marked this pull request as draft January 30, 2026 14:34
@github-actions github-actions bot added the needs-review Needs human review label Jan 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-review Needs human review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants