Wanted, alpha tester for the "remote admin / multi-channel" feature

update: I’ve moved this doc into github:


Works as expected.

FYI. I needed to do a reboot after setting up the secondary channel before it would allow me to do the set-owner.

Also a --info does not show the primary only channel URL for distribution to normal users. It does show the Complete URL.


cant wait to test I have 5 nodes for testing with and I will test with sending commands over multiple hops


ooh thanks @Chiumanfu for the super quick test. I’m glad it mostly worked for you. I’ve (confirmed and) opened a bug for what you found:

Hi ya’ll, I’ve ‘finished’ the the first draft of this document and updated the original post based on @Chiumanfu 's great feedback. If others want to try it I think it is ready. But note the bug above - after you add the new channel (temporarily until this bug is fixed) you’ll need to press the reset button to reboot the node.

Also, if you want to use gpio or serial remote APIs, the process is identical. Just create a “gpio” or “serial” channel.

GPIO works too! with one little bug. When I send the command it changes the state of the output on the remote node but the shell hangs and I have to ctlr-c to get back to prompt.
meshtastic --dest !xxxxxxxx --gpio-wrb 0 0


1 Like

Also, sending a
meshtastic --dest !xxxxxxxx --info
as eluded to in your ls_secs example always results in a timeout for me.

Sending a
meshtastic --dest !xxxxxxxx --nodes
displays the node list as if I’m connected to the local node, not the remote one.

1 Like

Hmm based on your output can you update the python client and try again? It is a little stale.

Thanks for the update.

  1. I’m using 3 nodes, one local and the other 2 remote. set-owner worked with one but timed out on the other. I then rebooted the one that timed out when I needed to check that it’s Complete URL was set - it was. Then the timed out remote node worked…? Can’t quite pin it down. Seemed OK when I tried to change it again …
  2. I notice that you are using !28979058 for the dest, but some text is leaving out the “” - might be confusing for some people…
    Now will go back and test GPIO and the SerialPlugin.

Just a comment that could clarify your documentation:
It seems that when each additional Secondary channel is added, eg gpio and serial, the Complete URL is incrementally extended by appending an additional text string.
Thus it helps to plan on installing all the additional secondary channels at once so that the nodes do not have to be repeatedly connected via USB to set up the updated Complete URL on each of them.


Once you set up the admin channel on all nodes, you can add more secondary channels on remote nodes using
meshtastic --dest !xxxxxxxx --seturl the-complete-url
I’ve tried it and it does work.
Note: you could orphan a remote node easily if you’re not careful.

Lol. Couple days and it’s already stale. :slight_smile:
Updated from 1.2.12 to 1.2.13. Same result.

meshtastic --dest !12345678 --nodes
display node list from the local connected node, not the remote.

meshtastic --dest !12345678 --info
Gives me a time out

meshtastic --dest !12345678 --gpio-wrb 0 0
Works but needs a ctrl-c break

1 Like

thanks for the report! I’ll debug.

good point and true - will do. Though once a node has an admin key channels can also be added remotely.

Ah ha! This is what I was running into today. This is why I wasn’t getting all the mesh packets I was expecting.

Love it when two people are running a race together.

I should check the forum (even) more often.

Making sure, the channel bindings are set with " pi.boundChannel " ?

yep - that’s how a plugin says “I only want to receive/see packets sent on this channel name”

(also to make this clearer, I just pushed a change so that if plugins have been bound to a channel, the system will automatically fire back an error packet towards any client that requests operations but isn’t using the right channel “NOT_AUTHORIZED”)

Hahaha! There’s no winning a race when @geeksville is in the next channel lane.

1 Like

Yes, now you have said it - obvious - as it should be.

1 Like

I can’t find reference to this anywhere - ref or example please?
I’ve created an additional Secondary channel: serial
as was suggested.