[Feature Request]: Add request telemetry feature to android app
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
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
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 did u still want to take this on?