Meshtastic-Android icon indicating copy to clipboard operation
Meshtastic-Android copied to clipboard

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

Open formiification opened this issue 1 month ago • 2 comments

Checklist

  • [x] I have used the search function for OPEN ISSUES to see if someone else has already submitted the same feature request.

  • [x] I have also used the search function for CLOSED ISSUES to see if the feature was already implemented and is just waiting to be released, or if the feature was rejected.

  • [x] I will describe the request with as much detail as possible.

  • [x] This request contains only one single feature, not a list of multiple (related) features.

  • [x] I have read and understood the Contribution Guidelines.

  • [x] I agree to follow this project's Code of Conduct

Contact Details

[email protected]

Feature or improvement you want

Hi, As 2.7.13 firmware release stopped sending telemetry by default, which is in my opinion very good decision, I think it's time to allow manually request telemetry from remote node. For now this feature is only available via MeshTastic-CLI with the command like this:

┌──(root💀ubuntu-dom)-[~] └─# meshtastic -t 10.4.0.XXX --request-telemetry --dest '!8c2b2472' Connected to radio Sending device_metrics telemetry request to !8c2b2472 on channelIndex:0 (this could take a while) Telemetry received: Battery level: 92.00% Voltage: 4.09 V Total channel utilization: 22.18% Transmit air utilization: 2.15% Uptime: 45030 s

It would be really good to enable this feature from the Android app as it is not sent automatically by firmware since 2.7.13

Why should this be added?

No response

Screenshots / Drawings / Technical details

No response

formiification avatar Nov 04 '25 07:11 formiification

The useful part from the python codebase

        if args.request_telemetry:
            if args.dest == BROADCAST_ADDR:
                meshtastic.util.our_exit("Warning: Must use a destination node ID.")
            else:
                channelIndex = mt_config.channel_index or 0
                if checkChannel(interface, channelIndex):
                    telemMap = {
                        "device": "device_metrics",
                        "environment": "environment_metrics",
                        "air_quality": "air_quality_metrics",
                        "airquality": "air_quality_metrics",
                        "power": "power_metrics",
                        "localstats": "local_stats",
                        "local_stats": "local_stats",
                    }
                    telemType = telemMap.get(args.request_telemetry, "device_metrics")
                    print(
                        f"Sending {telemType} telemetry request to {args.dest} on channelIndex:{channelIndex} (this could take a while)"
                    )
                    interface.sendTelemetry(
                        destinationId=args.dest,
                        wantResponse=True,
                        channelIndex=channelIndex,
                        telemetryType=telemType,
                    )

DaneEvans avatar Nov 15 '25 23:11 DaneEvans

@DaneEvans did u still want to take this on?

jamesarich avatar Nov 21 '25 16:11 jamesarich