Skip to content

Polling battery voltage using CLI -- request for admin method. #947

Description

@roberthadow

I use Heltec V3 and V4. Firmware v2.7.;26
Ubuntu
Python 3.12.3
Meshtstic v2.7.10

I want to poll device battery voltage remotely. From my PC, I can use the web interface for USB-connected devices to see battery voltage.

For those devices connected by WiFi, I can query the device directly. I capture the file NODE.info and use grep to extract battery voltage.

meshtastic --tcp 192.168.1.203 --info --timeout 60
# This works
meshtastic --tcp 192.168.1.203 --request-telemetry --timeout 60
#  This fails with "Warning: Must use a destination node ID."
meshtastic --tcp 192.168.1.203 --get power --timeout 60
#  This works, but it doesn't include the current battery voltage.

I would like to turn off Bluetooth and WiFi on the remote nodes to save energy. The recommended method then is to launch admin commands over LoRa. In my setup, 192.168.1.200 and its public key is configured on each device as the admin key.

meshtastic --tcp 192.168.1.200 --dest '!b03d60c0' --info --timeout 60
#  This fails with:
#     Showing info of remote node is not supported.
#     Use the '--get' command for a specific configuration (e.g. 'lora') instead.
meshtastic --tcp 192.168.1.200 --dest '!b03d60c0' --get power --timeout 60
# This fails consistently, even with an extended timeout
#    Requesting current config from remote node (this can take a while).
#    Aborting due to: Timed out waiting for an acknowledgment
meshtastic --tcp 192.168.1.200 --dest '!b03d60c0' --request-telemetry --timeout 60
# This fails consistently, even with an extended timeout
#    Sending device_metrics telemetry request to !b03d60c0 on channelIndex:0 (this could take a while)
#    Aborting due to: Timed out waiting for telemetry
meshtastic --tcp 192.168.1.200 --dest '!b03d60c0' --ch-index 1 --request-telemetry --timeout 60
# This fails consistently, even with an extended timeout
#    Sending device_metrics telemetry request to !b03d60c0 on channelIndex:1 (this could take a while)
#    Aborting due to: Timed out waiting for telemetry

Gemini recommends another method. It seems it's a hallucination. I don't know where it came up with the idea, but it's not a bad one.

meshtastic --tcp 192.168.1.200 --dest '!b03d60c0' --get power.battery_voltage
# This fails because power.battery_voltage doesn't exist.

In short, none of the recommended documented methods to query battery voltage from a remote node work. Please implement an admin method to query battery voltage or fix a documented method that consistently fails today.

I can provide a reproducible example (bash) to deploy on two Heltec devices, but it will it won't be so minimal.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions