MQTT Encryption

When entering in my call sign to disable encryption, MQTT seems to stop. Is this expected behavior?

what do you mean by stop?

running “meshtastic --set mqtt_encryption_enabled false” I’m getting

UserPreferences does not have an attribute called mqtt_encryption_enabled, so you can not set it.

Did you get this figured out? Sorry haven’t checked in for a while! The first problem sounds like an update should fix it, the second looks like a mqtt broker connection issue

Correct on the 1st one update resolved mqtt encryption disabled. I was using a nightly build. On 2nd one I’ve gotten connected but seems like they’re still encrypted.


Could you help explain how the script actually interacts with the meshtastic node? Or did I completely miss that somewhere? lol Am I supposed to add the python scripts to Platform IO then compile and upload to the node?

I know these questions may have obvious answers to some, but I’m still very much learning.

The script simply subscribes to some topics, and the node publishes raw protobufs to it. So it’s just an easy way of getting mesh packets out of the node and into the script.

I’ve just pushed up an update to the repo that should hopefully get you the rest of the way. The version you have is only subscribed to a certain channel (ShortFast I think), so if you were using another one it won’t receive anything. I’ve changed it to listen to all channels now.

No you’re doing everything right. The script will publish it’s decoded output to the meshtastic/ mqtt topic. So if you subscribe to mesthastic/# you should see everything come through

The messages on msh/# are the binary protobufs straight from the node. They won’t make sense unless the program reading them has the protobuf definitions and knows how to decode them

Wow didn’t catch that one! It’s obvious now. lol Thanks! I’ve been able to get a little further I’m getting the debugs on my cli, but no redirect to the mqtt broker. I’m subscribing to all “#” in the snapshot not “meshtest/#”


1 Like

Ok making progress! Those packets are encrypted. On the node that is connected to MQTT and wifi, do meshtastic --set mqtt_encryption_enabled false. Also make sure it’s running at least 1.2.53.

Once they’re decrypted properly, the CLI debug should show content in the “decoded” property, and the “encrypted” property won’t appear.

What’s that mqtt program you’re using? It looks real nice

Yeah, I’m really close. I have to be missing something… Seems like all boxes are checked though.



mesh_py_ver

Ah ok, that firmware version is too old. The mqtt stuff arrived a little bit after the first iteration of 1.2.53 came out. Updating it to at least 1.2.54 should do it.

Awesome debug info by the way, it makes it so easy to help! Thanks!

BTW! That was my fix! Onward and fwd to new problems! :wink:

2 Likes