Skip to content

feat: Add ability to request telemetry from a remote node#4059

Merged
jamesarich merged 4 commits into
mainfrom
feat/request-telemetry
Dec 24, 2025
Merged

feat: Add ability to request telemetry from a remote node#4059
jamesarich merged 4 commits into
mainfrom
feat/request-telemetry

Conversation

@jamesarich

@jamesarich jamesarich commented Dec 24, 2025

Copy link
Copy Markdown
Collaborator

Request Telemetry and Node Details UI/UX Refresh
resolves #3610
This refreshes the Node Details ui to accommodate more actions, and includes support for Request Telemetry which in reality is several actions:

  • Request Device Metrics,
  • Request Environment Metrics,
  • Request Air-Quality Metrics,
  • Request Power Metrics,
  • Request Local Stats
image

This commit introduces the functionality to request telemetry data from a remote node.

It adds:
- `requestTelemetry` to the `IMeshService` AIDL interface.
- Implementation in `MeshService.kt` to send a `TELEMETRY_APP` packet.
- A new `RequestTelemetry` action and UI button in the node detail view.
- Handling of the action in `NodeDetailViewModel`.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit refactors the Node Detail screen to align with Material 3 design principles, improving the visual structure and user experience.

Key changes include:
- Replaced `TitledCard` with `ElevatedCard` for a more modern, elevated appearance across all sections (Details, Actions, Position, Metrics, etc.).
- Redesigned the `NodeDetailsSection` to use a two-column layout for better space utilization and readability.
- Updated action buttons in `DeviceActions` and `PositionSection` to use `Button`, `OutlinedButton`, `AssistChip`, and `IconToggleButton` for clearer primary and secondary actions.
- Converted remote device actions (`Traceroute`, `Request Neighbors`, etc.) from `ListItem`s to `AssistChip`s within a `FlowRow` for a more compact and intuitive interface.
- Introduced `ElevatedCard` with distinct headers for each section, providing better visual separation and hierarchy.
- Reordered sections in `NodeDetailList` for a more logical flow, placing primary actions higher.
- General styling improvements, such as using `HorizontalDivider` and consistent padding/spacing.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This change enhances the telemetry request functionality by allowing the user to specify the type of metrics they want to receive.

- Introduces a `TelemetryType` enum to differentiate between various telemetry data like Device, Environment, Air Quality, Power, and Local Stats.
- Updates the UI to provide separate buttons for each telemetry type request.
- Modifies the `requestTelemetry` service call to include the specific telemetry type, allowing for more targeted data requests to nodes.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
@github-actions github-actions Bot added enhancement New feature or request needs-review labels Dec 24, 2025
@codecov

codecov Bot commented Dec 24, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 0% with 573 lines in your changes missing coverage. Please review.
✅ Project coverage is 0.59%. Comparing base (79fe641) to head (fc8c103).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...astic/feature/node/component/NodeDetailsSection.kt 0.00% 88 Missing ⚠️
...ic/feature/node/component/AdministrationSection.kt 0.00% 77 Missing ⚠️
...shtastic/feature/node/component/PositionSection.kt 0.00% 76 Missing ⚠️
...meshtastic/feature/node/component/DeviceActions.kt 0.00% 68 Missing ⚠️
...stic/feature/node/component/RemoteDeviceActions.kt 0.00% 57 Missing ⚠️
...eshtastic/feature/node/component/CooldownButton.kt 0.00% 49 Missing ⚠️
...tic/feature/node/component/DeviceDetailsSection.kt 0.00% 44 Missing ⚠️
...eshtastic/feature/node/component/MetricsSection.kt 0.00% 44 Missing ⚠️
.../meshtastic/feature/node/component/NotesSection.kt 0.00% 33 Missing ⚠️
...in/java/com/geeksville/mesh/service/MeshService.kt 0.00% 22 Missing ⚠️
... and 4 more
Additional details and impacted files
@@           Coverage Diff            @@
##            main   #4059      +/-   ##
========================================
- Coverage   0.60%   0.59%   -0.01%     
========================================
  Files        406     407       +1     
  Lines      24457   24779     +322     
  Branches    3153    3189      +36     
========================================
  Hits         148     148              
- Misses     24286   24608     +322     
  Partials      23      23              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Groups the remote device action chips under a "Request" heading on the node detail screen for better UI organization. The chip labels have also been shortened for a cleaner look.

Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
@jamesarich jamesarich added this pull request to the merge queue Dec 24, 2025
@jamesarich jamesarich removed this pull request from the merge queue due to a manual request Dec 24, 2025
@jamesarich jamesarich enabled auto-merge December 24, 2025 18:27
@jamesarich jamesarich added this pull request to the merge queue Dec 24, 2025
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Dec 24, 2025
@jamesarich jamesarich added this pull request to the merge queue Dec 24, 2025
@github-merge-queue github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Dec 24, 2025
@jamesarich jamesarich merged commit b996415 into main Dec 24, 2025
5 of 6 checks passed
@jamesarich jamesarich deleted the feat/request-telemetry branch December 24, 2025 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request needs-review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request]: Add request telemetry feature to android app

1 participant