From bde2f5e9ba7f5a6392dfacae8d98a6dac2c5cd6a Mon Sep 17 00:00:00 2001 From: Benjamin Faershtein <119711889+RCGV1@users.noreply.github.com> Date: Fri, 12 Jun 2026 12:36:41 -0700 Subject: [PATCH 1/3] Add find node admin protobufs --- meshtastic/admin.options | 3 +++ meshtastic/admin.proto | 47 ++++++++++++++++++++++++++++++++++++++++ meshtastic/mesh.proto | 5 +++++ 3 files changed, 55 insertions(+) diff --git a/meshtastic/admin.options b/meshtastic/admin.options index f91dc1c72..aaf5710f4 100644 --- a/meshtastic/admin.options +++ b/meshtastic/admin.options @@ -8,6 +8,9 @@ *AdminMessage.InputEvent.kb_char int_size:8 *AdminMessage.InputEvent.touch_x int_size:16 *AdminMessage.InputEvent.touch_y int_size:16 +*AdminMessage.FindNodeRequest.duration_seconds int_size:16 +*AdminMessage.FindNodeResponse.result int_size:8 +*AdminMessage.FindNodeResponse.duration_seconds int_size:16 *AdminMessage.set_canned_message_module_messages max_size:201 *AdminMessage.get_canned_message_module_messages_response max_size:201 diff --git a/meshtastic/admin.proto b/meshtastic/admin.proto index 27b6f9ebd..c05fc1282 100644 --- a/meshtastic/admin.proto +++ b/meshtastic/admin.proto @@ -220,6 +220,43 @@ message AdminMessage { bytes ota_hash = 2; } + /* + * Request that the node emit an audible find-node pattern. + */ + message FindNodeRequest { + /* + * Duration to repeat the find-node pattern. Zero uses the firmware default. + */ + uint32 duration_seconds = 1; + + /* + * Stop any active find-node pattern instead of starting a new one. + */ + bool stop = 2; + } + + /* + * Response to a find-node request. + */ + message FindNodeResponse { + enum Result { + STARTED = 0; + STOPPED = 1; + NO_BUZZER = 2; + BUZZER_DISABLED = 3; + } + + /* + * Result of the request. + */ + Result result = 1; + + /* + * Accepted duration in seconds. Zero for stop or failed requests. + */ + uint32 duration_seconds = 2; + } + /* * TODO: REPLACE */ @@ -473,6 +510,16 @@ message AdminMessage { */ KeyVerificationAdmin key_verification = 67; + /* + * Start or stop the audible find-node pattern. + */ + FindNodeRequest find_node_request = 68; + + /* + * Result of a find-node request. + */ + FindNodeResponse find_node_response = 69; + /* * Tell the node to factory reset config everything; all device state and configuration will be returned to factory defaults and BLE bonds will be cleared. */ diff --git a/meshtastic/mesh.proto b/meshtastic/mesh.proto index bbb898592..abd8c2b45 100644 --- a/meshtastic/mesh.proto +++ b/meshtastic/mesh.proto @@ -2655,6 +2655,11 @@ message DeviceMetadata { * (bitwise OR of ExcludedModules) */ uint32 excluded_modules = 12; + + /* + * Indicates that the device has a buzzer or audio output usable by the find-node command + */ + bool hasBuzzer = 13; } /* From dfcbebecd51fc9f668e89be77086a27b35cceb65 Mon Sep 17 00:00:00 2001 From: Benjamin Faershtein <119711889+RCGV1@users.noreply.github.com> Date: Tue, 23 Jun 2026 11:06:52 -0700 Subject: [PATCH 2/3] Remove find node duration fields --- meshtastic/admin.options | 2 -- meshtastic/admin.proto | 11 +---------- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/meshtastic/admin.options b/meshtastic/admin.options index 9112367ba..f66a2fce5 100644 --- a/meshtastic/admin.options +++ b/meshtastic/admin.options @@ -8,9 +8,7 @@ *AdminMessage.InputEvent.kb_char int_size:8 *AdminMessage.InputEvent.touch_x int_size:16 *AdminMessage.InputEvent.touch_y int_size:16 -*AdminMessage.FindNodeRequest.duration_seconds int_size:16 *AdminMessage.FindNodeResponse.result int_size:8 -*AdminMessage.FindNodeResponse.duration_seconds int_size:16 *AdminMessage.set_canned_message_module_messages max_size:201 *AdminMessage.get_canned_message_module_messages_response max_size:201 diff --git a/meshtastic/admin.proto b/meshtastic/admin.proto index dc6adb060..6b308f43a 100644 --- a/meshtastic/admin.proto +++ b/meshtastic/admin.proto @@ -224,15 +224,10 @@ message AdminMessage { * Request that the node emit an audible find-node pattern. */ message FindNodeRequest { - /* - * Duration to repeat the find-node pattern. Zero uses the firmware default. - */ - uint32 duration_seconds = 1; - /* * Stop any active find-node pattern instead of starting a new one. */ - bool stop = 2; + bool stop = 1; } /* @@ -251,10 +246,6 @@ message AdminMessage { */ Result result = 1; - /* - * Accepted duration in seconds. Zero for stop or failed requests. - */ - uint32 duration_seconds = 2; } /* From bad5c1f1a9edd946f20ddfe0a85ba5ffd1900d48 Mon Sep 17 00:00:00 2001 From: Benjamin Faershtein <119711889+RCGV1@users.noreply.github.com> Date: Fri, 3 Jul 2026 13:20:50 -0700 Subject: [PATCH 3/3] Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- meshtastic/admin.proto | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/meshtastic/admin.proto b/meshtastic/admin.proto index 6b308f43a..e8f3123a8 100644 --- a/meshtastic/admin.proto +++ b/meshtastic/admin.proto @@ -235,9 +235,24 @@ message AdminMessage { */ message FindNodeResponse { enum Result { + /* + * Find-node pattern started. + */ STARTED = 0; + + /* + * Find-node pattern stopped. + */ STOPPED = 1; + + /* + * Request could not run because the node has no buzzer/audio output. + */ NO_BUZZER = 2; + + /* + * Request could not run because buzzer/audio output is disabled. + */ BUZZER_DISABLED = 3; }