Error reading Meshtastic port #3

Closed
opened 2026-10-05 05:03:46 +02:00 by adam · 18 comments
Owner

Need some more help:

I am running Raspberry Trixie and Meshtastic 2.7.15 on a LoRa T3_v1.6.1 card.
Meshtastic are client/mute, but a get errror on startup:

(venv) pi@Trixie21:/akita-meshtastic-meshcore-bridge $ python run_bridge.py
2026-01-23 15:46:13,091 - INFO - --- Akita Meshtastic Meshcore Bridge Starting ---
2026-01-23 15:46:13,091 - INFO - Loading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-01-23 15:46:13,092 - INFO - Reading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-01-23 15:46:13,094 - WARNING - Configuration file '/home/pi/akita-meshtastic-meshcore-bridge/config.ini' lacks the [DEFAULT] section. Using only defaults.
2026-01-23 15:46:13,095 - INFO - Configuration loaded successfully.
2026-01-23 15:46:13,095 - INFO - Selected external transport: serial
2026-01-23 15:46:13 - MainThread - INFO - root - Logging configured to level DEBUG (10)
2026-01-23 15:46:13 - MainThread - DEBUG - root - Logging level set to DEBUG
2026-01-23 15:46:13 - MainThread - INFO - root - Initializing bridge instance...
2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Message queues initialized with max size: 100
2026-01-23 15:46:13 - MainThread - INFO - ammb.health - Health monitoring started
2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Initializing network handlers...
2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Selected external transport: Serial
2026-01-23 15:46:13 - MainThread - INFO - ammb.protocol - Using Serial protocol handler: RawSerialProtocol
2026-01-23 15:46:13 - MainThread - DEBUG - ammb.protocol.RawSerialProtocol - Serial protocol handler initialized.
2026-01-23 15:46:13 - MainThread - INFO - ammb.meshcore_handler - Serial Handler (MeshcoreHandler) Initialized.
2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - All required handlers initialized successfully.
2026-01-23 15:46:13 - MainThread - INFO - root - Starting bridge run loop...
2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Starting AMMB run sequence...
2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Attempting initial network connections...
2026-01-23 15:46:13 - MainThread - INFO - ammb.meshtastic_handler - Attempting connection to Meshtastic on /dev/ttyACM0...
2026-01-23 15:46:14 - MainThread - INFO - ammb.meshtastic_handler - Connected to Meshtastic device. Node ID: !8896db4 ('!08896db4')
2026-01-23 15:46:14 - MainThread - ERROR - ammb.meshtastic_handler - Error connecting to Meshtastic device /dev/ttyACM0: Listener "MeshtasticHandler._on_meshtastic_receive" (from module "ammb.meshtastic_handler") inadequate: does not have following args: (weak)
2026-01-23 15:46:15 - MainThread - CRITICAL - ammb.bridge - Failed to connect to Meshtastic device on startup. Bridge cannot start.
2026-01-23 15:46:15 - MainThread - INFO - ammb.bridge - Signaling shutdown to all components...
2026-01-23 15:46:20 - MainThread - INFO - ammb.health - Health monitoring stopped
2026-01-23 15:46:20 - MainThread - INFO - ammb.bridge - Stopping 2 handlers...
2026-01-23 15:46:20 - MainThread - INFO - ammb.meshcore_handler - Stopping Serial handler...
2026-01-23 15:46:20 - MainThread - INFO - ammb.meshcore_handler - Serial handler stopped.
2026-01-23 15:46:20 - MainThread - INFO - ammb.meshtastic_handler - Stopping Meshtastic handler...
2026-01-23 15:46:20 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic handler stopped.
2026-01-23 15:46:20 - MainThread - INFO - ammb.bridge - Bridge shutdown sequence complete.
2026-01-23 15:46:20 - MainThread - INFO - root - --- Akita Meshtastic Meshcore Bridge Stopped ---
(venv) pi@Trixie21:
/akita-meshtastic-meshcore-bridge $

Need some more help: I am running Raspberry Trixie and Meshtastic 2.7.15 on a LoRa T3_v1.6.1 card. Meshtastic are client/mute, but a get errror on startup: (venv) pi@Trixie21:~/akita-meshtastic-meshcore-bridge $ python run_bridge.py 2026-01-23 15:46:13,091 - INFO - --- Akita Meshtastic Meshcore Bridge Starting --- 2026-01-23 15:46:13,091 - INFO - Loading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini 2026-01-23 15:46:13,092 - INFO - Reading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini 2026-01-23 15:46:13,094 - WARNING - Configuration file '/home/pi/akita-meshtastic-meshcore-bridge/config.ini' lacks the [DEFAULT] section. Using only defaults. 2026-01-23 15:46:13,095 - INFO - Configuration loaded successfully. 2026-01-23 15:46:13,095 - INFO - Selected external transport: serial 2026-01-23 15:46:13 - MainThread - INFO - root - Logging configured to level DEBUG (10) 2026-01-23 15:46:13 - MainThread - DEBUG - root - Logging level set to DEBUG 2026-01-23 15:46:13 - MainThread - INFO - root - Initializing bridge instance... 2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Message queues initialized with max size: 100 2026-01-23 15:46:13 - MainThread - INFO - ammb.health - Health monitoring started 2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Initializing network handlers... 2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Selected external transport: Serial 2026-01-23 15:46:13 - MainThread - INFO - ammb.protocol - Using Serial protocol handler: RawSerialProtocol 2026-01-23 15:46:13 - MainThread - DEBUG - ammb.protocol.RawSerialProtocol - Serial protocol handler initialized. 2026-01-23 15:46:13 - MainThread - INFO - ammb.meshcore_handler - Serial Handler (MeshcoreHandler) Initialized. 2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - All required handlers initialized successfully. 2026-01-23 15:46:13 - MainThread - INFO - root - Starting bridge run loop... 2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Starting AMMB run sequence... 2026-01-23 15:46:13 - MainThread - INFO - ammb.bridge - Attempting initial network connections... 2026-01-23 15:46:13 - MainThread - INFO - ammb.meshtastic_handler - Attempting connection to Meshtastic on /dev/ttyACM0... 2026-01-23 15:46:14 - MainThread - INFO - ammb.meshtastic_handler - Connected to Meshtastic device. Node ID: !8896db4 ('!08896db4') 2026-01-23 15:46:14 - MainThread - ERROR - ammb.meshtastic_handler - Error connecting to Meshtastic device /dev/ttyACM0: Listener "MeshtasticHandler._on_meshtastic_receive" (from module "ammb.meshtastic_handler") inadequate: does not have following args: (weak) 2026-01-23 15:46:15 - MainThread - CRITICAL - ammb.bridge - Failed to connect to Meshtastic device on startup. Bridge cannot start. 2026-01-23 15:46:15 - MainThread - INFO - ammb.bridge - Signaling shutdown to all components... 2026-01-23 15:46:20 - MainThread - INFO - ammb.health - Health monitoring stopped 2026-01-23 15:46:20 - MainThread - INFO - ammb.bridge - Stopping 2 handlers... 2026-01-23 15:46:20 - MainThread - INFO - ammb.meshcore_handler - Stopping Serial handler... 2026-01-23 15:46:20 - MainThread - INFO - ammb.meshcore_handler - Serial handler stopped. 2026-01-23 15:46:20 - MainThread - INFO - ammb.meshtastic_handler - Stopping Meshtastic handler... 2026-01-23 15:46:20 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic handler stopped. 2026-01-23 15:46:20 - MainThread - INFO - ammb.bridge - Bridge shutdown sequence complete. 2026-01-23 15:46:20 - MainThread - INFO - root - --- Akita Meshtastic Meshcore Bridge Stopped --- (venv) pi@Trixie21:~/akita-meshtastic-meshcore-bridge $ <!-- github-sync-id:3847805635 -->
adam closed this issue 2026-10-05 05:03:46 +02:00
Author
Owner

I am running the following software versions:
python 3.13.5
meshtastic 2.7.7
pyserial 3.5
pypubsub 4.0.7
paho-mqtt 2.1.0

I am running the following software versions: python 3.13.5 meshtastic 2.7.7 pyserial 3.5 pypubsub 4.0.7 paho-mqtt 2.1.0 <!-- github-comment-id:3807769293 -->
Author
Owner

Let me review.

Let me review. <!-- github-comment-id:3813849596 -->
Author
Owner

Resolved. I'll wait for your input.

Resolved. I'll wait for your input. <!-- github-comment-id:3817362296 -->
Author
Owner

Now we're talking!

The bridge starts up and messages can be sent from MeshCore to Meshtastic but they are displayed in hexadecimal:
MC_BIN: 3e210080db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990

Sending from MeshTastic to MeshCore is not working. No message is visible in MC, however it is visible in the log

026-01-29 15:41:08 - MainThread - INFO - ammb.api - Bridge API server started on http://127.0.0.1:8080
2026-01-29 15:41:08 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop)
2026-01-29 15:41:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'>8\x00\x880\xe6\x15\x00\x11\xa3\r\x01\x0b`a\xe0\xf0J\xf5\xd7\x8bRC\x89\x05\xa9c\xa9~\x87\x03\x91\xa1\x82\x89/\x9f\x87\xf2\x95\x06G[\xb7\xa4\xee@\xa8\x1d1\xc2\x86\xd6\xee\x95;\xd5=?>\x01\x00\x83'
2026-01-29 15:41:26 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all
2026-01-29 15:41:26 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic TX -> Dest: ^all, Payload: 'MC_BIN: 3e38008830e6150011a30d010b6061e0f04af5d78b52438905a963a97e870391a182892f9f87f29506475bb7a4ee...'
2026-01-29 15:42:09 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !6f47ffc: 'from meshtastic'
2026-01-29 15:42:09 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !6f47ffc for external handler.
2026-01-29 15:42:09 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'from meshtastic'
2026-01-29 15:42:37 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-01-29 15:42:37 - HealthMonitor - WARNING - ammb.health - Component external health check is stale
2026-01-29 15:43:07 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-01-29 15:43:07 - HealthMonitor - WARNING - ammb.health - Component external health check is stale

It seems like health check is stuck.

curl http://localhost:8080/api/info

Now we're talking! The bridge starts up and messages can be sent from MeshCore to Meshtastic but they are displayed in hexadecimal: MC_BIN: 3e210080db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990 Sending from MeshTastic to MeshCore is not working. No message is visible in MC, however it is visible in the log 026-01-29 15:41:08 - MainThread - INFO - ammb.api - Bridge API server started on http://127.0.0.1:8080 2026-01-29 15:41:08 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop) 2026-01-29 15:41:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'>8\x00\x880\xe6\x15\x00\x11\xa3\r\x01\x0b`a\xe0\xf0J\xf5\xd7\x8bRC\x89\x05\xa9c\xa9~\x87\x03\x91\xa1\x82\x89/\x9f\x87\xf2\x95\x06G[\xb7\xa4\xee@\xa8\x1d1\xc2\x86\xd6\xee\x95;\xd5=?>\x01\x00\x83' 2026-01-29 15:41:26 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all 2026-01-29 15:41:26 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic TX -> Dest: ^all, Payload: 'MC_BIN: 3e38008830e6150011a30d010b6061e0f04af5d78b52438905a963a97e870391a182892f9f87f29506475bb7a4ee...' 2026-01-29 15:42:09 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !6f47ffc: 'from meshtastic' 2026-01-29 15:42:09 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !6f47ffc for external handler. 2026-01-29 15:42:09 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'from meshtastic' 2026-01-29 15:42:37 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale 2026-01-29 15:42:37 - HealthMonitor - WARNING - ammb.health - Component external health check is stale 2026-01-29 15:43:07 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale 2026-01-29 15:43:07 - HealthMonitor - WARNING - ammb.health - Component external health check is stale It seems like health check is stuck. curl http://localhost:8080/api/info <!-- github-comment-id:3818154204 -->
Author
Owner

This should be resolved as well.

Set SERIAL_PROTOCOL = json_newline in your config (instead of raw_serial).

This should be resolved as well. Set SERIAL_PROTOCOL = json_newline in your config (instead of raw_serial). <!-- github-comment-id:3820799149 -->
Author
Owner

No messages received on MT or MC LoRa nodes

2026-01-30 00:07:37 - MainThread - INFO - ammb.meshcore_handler - Connected to Serial device on /dev/ttyACM0
2026-01-30 00:07:37 - MainThread - INFO - ammb.bridge - Starting handler background tasks/threads...
2026-01-30 00:07:37 - MainThread - INFO - ammb.meshtastic_handler - Starting Meshtastic sender thread...
2026-01-30 00:07:37 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop started.
2026-01-30 00:07:37 - MainThread - INFO - ammb.meshcore_handler - Starting Serial receiver thread...
2026-01-30 00:07:37 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop started.
2026-01-30 00:07:37 - MainThread - INFO - ammb.meshcore_handler - Starting Serial sender thread...
2026-01-30 00:07:37 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop started.
2026-01-30 00:07:37 - MainThread - INFO - ammb.api - Bridge API server started on http://127.0.0.1:8080
2026-01-30 00:07:37 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop)
2026-01-30 00:07:37 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-01-30 00:07:37 - SerialSender - DEBUG - ammb.protocol.JsonNewlineProtocol - Encoded: b'{"type": "meshtastic_position", "sender_meshtastic_id": "!8896db4", "portnum": "POSITION_APP", "payload": {"latitude": 59.32005, "longitude": 17.98541, "altitude": 0, "timestamp_gps": null}, "timestamp_rx": 1769728057.9598305, "rx_rssi": -15, "rx_snr": 11.0}\n'
2026-01-30 00:07:37 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'{"type": "meshtastic_position", "sender_meshtastic'
2026-01-30 00:08:16 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'>8\x00\x88.\xe4\x15\x00\x11\xa8Zi\xbf\x0f\x12_\xe9P\xd5\x9c\x89\x91>a*\x01\x00\x00.\t\xf9\xe7Ts\xb7#\xbd\x05#o;\xday\xc4C\xbb\xbe\xaf5:m\x93\xd0\xdf_c\xad\x05>\x01\x00\x83'
2026-01-30 00:08:16 - SerialReceiver - WARNING - ammb.protocol.JsonNewlineProtocol - Received non-JSON or incomplete JSON line: b'>8\x00\x88.\xe4\x15\x00\x11\xa8Zi\xbf\x0f\x12_\xe9P\xd5\x9c\x89\x91>a*
\x01\x00\x00.\t\xf9\xe7Ts\xb7#\xbd\x05#o;\xday\xc4C\xbb\xbe\xaf5:m\x93\xd0\xdf_c\xad\x05>\x01\x00\x83'
2026-01-30 00:08:34 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'msg from meshtastic side'
2026-01-30 00:08:34 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-01-30 00:08:34 - SerialSender - DEBUG - ammb.protocol.JsonNewlineProtocol - Encoded: b'{"type": "meshtastic_message", "sender_meshtastic_id": "!8896db4", "portnum": "TEXT_MESSAGE_APP", "payload": "msg from meshtastic side", "timestamp_rx": 1769728114.6820166, "rx_rssi": -16, "rx_snr": 10.75}\n'
2026-01-30 00:08:34 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'{"type": "meshtastic_message", "sender_meshtastic_'
2026-01-30 00:09:06 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-01-30 00:09:06 - HealthMonitor - WARNING - ammb.health - Component external health check is stale
2026-01-30 00:09:36 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale

No messages received on MT or MC LoRa nodes 2026-01-30 00:07:37 - MainThread - INFO - ammb.meshcore_handler - Connected to Serial device on /dev/ttyACM0 2026-01-30 00:07:37 - MainThread - INFO - ammb.bridge - Starting handler background tasks/threads... 2026-01-30 00:07:37 - MainThread - INFO - ammb.meshtastic_handler - Starting Meshtastic sender thread... 2026-01-30 00:07:37 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop started. 2026-01-30 00:07:37 - MainThread - INFO - ammb.meshcore_handler - Starting Serial receiver thread... 2026-01-30 00:07:37 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop started. 2026-01-30 00:07:37 - MainThread - INFO - ammb.meshcore_handler - Starting Serial sender thread... 2026-01-30 00:07:37 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop started. 2026-01-30 00:07:37 - MainThread - INFO - ammb.api - Bridge API server started on http://127.0.0.1:8080 2026-01-30 00:07:37 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop) 2026-01-30 00:07:37 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler. 2026-01-30 00:07:37 - SerialSender - DEBUG - ammb.protocol.JsonNewlineProtocol - Encoded: b'{"type": "meshtastic_position", "sender_meshtastic_id": "!8896db4", "portnum": "POSITION_APP", "payload": {"latitude": 59.32005, "longitude": 17.98541, "altitude": 0, "timestamp_gps": null}, "timestamp_rx": 1769728057.9598305, "rx_rssi": -15, "rx_snr": 11.0}\n' 2026-01-30 00:07:37 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'{"type": "meshtastic_position", "sender_meshtastic' 2026-01-30 00:08:16 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'>8\x00\x88.\xe4\x15\x00\x11\xa8Zi\xbf\x0f\x12_\xe9P\xd5\x9c\x89\x91>a*~\x01\x00\x00.\t\xf9\xe7Ts\xb7#\xbd\x05#o;\xday\xc4C\xbb\xbe\xaf5:m\x93\xd0\xdf_c\xad\x05>\x01\x00\x83' 2026-01-30 00:08:16 - SerialReceiver - WARNING - ammb.protocol.JsonNewlineProtocol - Received non-JSON or incomplete JSON line: b'>8\x00\x88.\xe4\x15\x00\x11\xa8Zi\xbf\x0f\x12_\xe9P\xd5\x9c\x89\x91>a*~\x01\x00\x00.\t\xf9\xe7Ts\xb7#\xbd\x05#o;\xday\xc4C\xbb\xbe\xaf5:m\x93\xd0\xdf_c\xad\x05>\x01\x00\x83' 2026-01-30 00:08:34 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'msg from meshtastic side' 2026-01-30 00:08:34 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler. 2026-01-30 00:08:34 - SerialSender - DEBUG - ammb.protocol.JsonNewlineProtocol - Encoded: b'{"type": "meshtastic_message", "sender_meshtastic_id": "!8896db4", "portnum": "TEXT_MESSAGE_APP", "payload": "msg from meshtastic side", "timestamp_rx": 1769728114.6820166, "rx_rssi": -16, "rx_snr": 10.75}\n' 2026-01-30 00:08:34 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'{"type": "meshtastic_message", "sender_meshtastic_' 2026-01-30 00:09:06 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale 2026-01-30 00:09:06 - HealthMonitor - WARNING - ammb.health - Component external health check is stale 2026-01-30 00:09:36 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale <!-- github-comment-id:3820882156 -->
Author
Owner

I don't think the meshcore companion serial port accepts plain text or json.
I am not an expert on this.

https://github.com/meshcore-dev/MeshCore/wiki/Companion-Radio-Protocol

I don't think the meshcore companion serial port accepts plain text or json. I am not an expert on this. https://github.com/meshcore-dev/MeshCore/wiki/Companion-Radio-Protocol <!-- github-comment-id:3826108384 -->
Author
Owner

Maybe the meshcore-cli software needs to be installed to handle json to a meshcore companion?

Maybe the meshcore-cli software needs to be installed to handle json to a meshcore companion? <!-- github-comment-id:3846563796 -->
Author
Owner

You only need the MeshCore Python package if you run the async path with meshcore_py

You only need the MeshCore Python package if you run the async path with meshcore_py <!-- github-comment-id:3848050562 -->
Author
Owner

It should connect fine now, just make sure your ports are in config.ini.

It should connect fine now, just make sure your ports are in config.ini. <!-- github-comment-id:3848066523 -->
Author
Owner

Some comments: Sending message from MeshTastic is ok. Sending message or Advert from MeshCore not ok

(venv) pi@Trixie21:~/akita-meshtastic-meshcore-bridge $ python run_bridge.py
2026-02-04 20:44:28,148 - INFO - --- Akita Meshtastic Meshcore Bridge Starting ---
2026-02-04 20:44:28,149 - INFO - Loading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-02-04 20:44:28,149 - INFO - Reading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-02-04 20:44:28,152 - INFO - Configuration loaded successfully.
2026-02-04 20:44:28,153 - INFO - Selected external transport: serial
2026-02-04 20:44:28 - MainThread - INFO - root - Logging configured to level DEBUG (10)
2026-02-04 20:44:28 - MainThread - DEBUG - root - Logging level set to DEBUG
2026-02-04 20:44:28 - MainThread - INFO - root - Initializing bridge instance...
2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Message queues initialized with max size: 100
2026-02-04 20:44:28 - MainThread - INFO - ammb.health - Health monitoring started
2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Initializing network handlers...
2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Selected external transport: Serial
2026-02-04 20:44:28 - MainThread - INFO - ammb.meshcore_handler - Selected serial protocol: companion_radio
2026-02-04 20:44:28 - MainThread - INFO - ammb.protocol - Using Serial protocol handler: MeshcoreCompanionProtocol
2026-02-04 20:44:28 - MainThread - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Serial protocol handler initialized.
2026-02-04 20:44:28 - MainThread - INFO - ammb.meshcore_handler - Initialized protocol handler: MeshcoreCompanionProtocol
2026-02-04 20:44:28 - MainThread - INFO - ammb.meshcore_handler - Serial Handler (MeshcoreHandler) Initialized.
2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - All required handlers initialized successfully.
2026-02-04 20:44:28 - MainThread - INFO - root - Starting bridge run loop...
2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Starting AMMB run sequence...
2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Attempting initial network connections...
2026-02-04 20:44:28 - MainThread - INFO - ammb.meshtastic_handler - Attempting connection to Meshtastic on /dev/ttyUSB0...
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshtastic_handler - Connected to Meshtastic device. Node ID: !da576f40 (!da576f40)
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic receive callback registered.
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 opened successfully.
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_DEVICE_QUERY
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_APP_START
2026-02-04 20:44:29 - MainThread - INFO - ammb.bridge - Starting handler background tasks/threads...
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshtastic_handler - Starting Meshtastic sender thread...
2026-02-04 20:44:29 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop started.
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Starting Serial receiver thread...
2026-02-04 20:44:29 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop started.
2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Starting Serial sender thread...
2026-02-04 20:44:29 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop started.
2026-02-04 20:44:29 - MainThread - INFO - ammb.api - Bridge API server started on http://127.0.0.1:8080
2026-02-04 20:44:29 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop)
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e50000d08500840e2010033302d4e6f762d32303235004c494c59474f20542d4c6f52612056322e312d312e3600000000000000000000000000000000000076312e31312e302d3664333231393300000000003e430005010a14c2283a36a9691309d2cfda54c36dbeea8ee7efdfe969806a9aa61cf04c919669a04689030ceb110100012a00f29d060024f4000008084d4320427269646765
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\r\x08P\x08@\xe2\x01\x0030-Nov-2025\x00LILYGO T-LoRa V2.1-1.6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v1.11.0-6d32193\x00\x00\x00\x00\x00'
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 13
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x05\x01\n\x14\xc2(:6\xa9i\x13\t\xd2\xcf\xdaT\xc3m\xbe\xea\x8e\xe7\xef\xdf\xe9i\x80j\x9a\xa6\x1c\xf0L\x91\x96i\xa0F\x89\x03\x0c\xeb\x11\x01\x00\x01*\x00\xf2\x9d\x06\x00$\xf4\x00\x00\x08\x08MC Bridge'
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 5
2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
******* Sending message from MeshTastic on Public Channel, received ok on MeshCore *******
2026-02-04 20:45:07 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'From MeshTastic public channel'
2026-02-04 20:45:07 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-02-04 20:45:07 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'<%\x00\x03\x00\x00\xc3\xa1\x83iFrom MeshTastic public channel'
2026-02-04 20:45:07 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e010000
2026-02-04 20:45:07 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x00'
2026-02-04 20:45:07 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'companion_kind': 'ok', 'internal_only': True, 'protocol': 'companion_radio'}
2026-02-04 20:45:07 - SerialReceiver - INFO - ammb.meshcore_handler - Companion event: ok
******* Sending message from MeshCore public channel, not received on MeshTastic *******
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e4800882ebf1500116d8f450f12788ac963902342d75b1411a05300002e09f9e75473b723bd05236f3bda6394c73393aafaaa1b9952c0d9c6fcfa97f615e0422727bb5e5fb241636396673e010083
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b"\x88.\xbf\x15\x00\x11m\x8fE\x0f\x12x\x8a\xc9c\x90#B\xd7[\x14\x11\xa0S\x00\x00.\t\xf9\xe7Ts\xb7#\xbd\x05#o;\xdac\x94\xc73\x93\xaa\xfa\xaa\x1b\x99R\xc0\xd9\xc6\xfc\xfa\x97\xf6\x15\xe0B''\xbb^_\xb2Acc\x96g"
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 136
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x83'
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 131
2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-04 20:45:58 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
************ Sending Advert from MeshCore, nothing received on MeshTastic **********
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e8000882ebd1100db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d799029a28369194d62f0790350701fff3995f3d2139bbb79848e0e2a6a362090e8a28155b63c474490a8f552d0f632e3b078f55d75fca5c246b3a1c9b1720bd7ed06800b210a91542f890395c41201542d4563686f20343333206d487a
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x88.\xbd\x11\x00\xdbF9F|[\xbc8C\x9d\xce\xfc\xdd\x00s\xd8\xd7lZ\xb1\x1e\xef\x9c\x1d\x9d\x92Y1\x19-y\x90)\xa2\x83i\x19Mb\xf0y\x03Pp\x1f\xff9\x95\xf3\xd2\x13\x9b\xbby\x84\x8e\x0e*j6 \x90\xe8\xa2\x81U\xb6<GD\x90\xa8\xf5R\xd0\xf62\xe3\xb0x\xf5]u\xfc\xa5\xc2F\xb3\xa1\xc9\xb1r\x0b\xd7\xed\x06\x80\x0b!\n\x91T/\x89\x03\x95\xc4\x12\x01T-Echo 433 mHz'
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 136
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e210080db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x80\xdbF9F|[\xbc8C\x9d\xce\xfc\xdd\x00s\xd8\xd7lZ\xb1\x1e\xef\x9c\x1d\x9d\x92Y1\x19-y\x90'
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'destination_meshtastic_id': '^all', 'payload': 'MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990', 'channel_index': 0, 'companion_kind': 'advert', 'protocol': 'companion_radio'}
2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Translation: dest=^all, text=MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990, channel=0, want_ack=False
2026-02-04 20:46:26 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all
2026-02-04 20:46:26 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic TX -> Dest: ^all, Payload: 'MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990'

********* This is info from MeshTastic ??????? *********
******** Why is this coming as a result of an Advert? *******
2026-02-04 20:46:26 - MeshtasticSender - DEBUG - ammb.meshtastic_handler - Raw protobuf (outgoing) as JSON: {
"myNodeNum": 3663163200,
"rebootCount": 69,
"minAppVersion": 30200,
"deviceId": "AiX+PAqKFndjjwkagPZR0w==",
"pioEnv": "heltec-v3",
"nodedbCount": 2
}
2026-02-04 20:46:28 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-02-04 20:46:58 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
^C2026-02-04 20:47:07 - MainThread - INFO - ammb.bridge - Main loop exiting. Initiating shutdown sequence...
2026-02-04 20:47:07 - MainThread - INFO - ammb.bridge - Signaling shutdown to all components...
2026-02-04 20:47:07 - MainThread - INFO - ammb.api - Stopping Bridge API server...
2026-02-04 20:47:07 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop stopped.
2026-02-04 20:47:07 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop stopped.
2026-02-04 20:47:08 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop stopped.
2026-02-04 20:47:12 - MainThread - INFO - ammb.health - Health monitoring stopped
2026-02-04 20:47:12 - MainThread - INFO - ammb.bridge - Stopping 2 handlers...
2026-02-04 20:47:12 - MainThread - INFO - ammb.meshcore_handler - Stopping Serial handler...
2026-02-04 20:47:12 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 closed.
2026-02-04 20:47:12 - MainThread - INFO - ammb.meshcore_handler - Serial handler stopped.
2026-02-04 20:47:12 - MainThread - INFO - ammb.meshtastic_handler - Stopping Meshtastic handler...
2026-02-04 20:47:13 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic handler stopped.
2026-02-04 20:47:13 - MainThread - INFO - ammb.bridge - Bridge shutdown sequence complete.
2026-02-04 20:47:13 - MainThread - INFO - root - KeyboardInterrupt received. Initiating graceful shutdown...
2026-02-04 20:47:13 - MainThread - INFO - root - --- Akita Meshtastic Meshcore Bridge Stopped ---
(venv) pi@Trixie21:~/akita-meshtastic-meshcore-bridge $

Some comments: Sending message from MeshTastic is ok. Sending message or Advert from MeshCore not ok (venv) pi@Trixie21:~/akita-meshtastic-meshcore-bridge $ python run_bridge.py 2026-02-04 20:44:28,148 - INFO - --- Akita Meshtastic Meshcore Bridge Starting --- 2026-02-04 20:44:28,149 - INFO - Loading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini 2026-02-04 20:44:28,149 - INFO - Reading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini 2026-02-04 20:44:28,152 - INFO - Configuration loaded successfully. 2026-02-04 20:44:28,153 - INFO - Selected external transport: serial 2026-02-04 20:44:28 - MainThread - INFO - root - Logging configured to level DEBUG (10) 2026-02-04 20:44:28 - MainThread - DEBUG - root - Logging level set to DEBUG 2026-02-04 20:44:28 - MainThread - INFO - root - Initializing bridge instance... 2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Message queues initialized with max size: 100 2026-02-04 20:44:28 - MainThread - INFO - ammb.health - Health monitoring started 2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Initializing network handlers... 2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Selected external transport: Serial 2026-02-04 20:44:28 - MainThread - INFO - ammb.meshcore_handler - Selected serial protocol: companion_radio 2026-02-04 20:44:28 - MainThread - INFO - ammb.protocol - Using Serial protocol handler: MeshcoreCompanionProtocol 2026-02-04 20:44:28 - MainThread - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Serial protocol handler initialized. 2026-02-04 20:44:28 - MainThread - INFO - ammb.meshcore_handler - Initialized protocol handler: MeshcoreCompanionProtocol 2026-02-04 20:44:28 - MainThread - INFO - ammb.meshcore_handler - Serial Handler (MeshcoreHandler) Initialized. 2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - All required handlers initialized successfully. 2026-02-04 20:44:28 - MainThread - INFO - root - Starting bridge run loop... 2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Starting AMMB run sequence... 2026-02-04 20:44:28 - MainThread - INFO - ammb.bridge - Attempting initial network connections... 2026-02-04 20:44:28 - MainThread - INFO - ammb.meshtastic_handler - Attempting connection to Meshtastic on /dev/ttyUSB0... 2026-02-04 20:44:29 - MainThread - INFO - ammb.meshtastic_handler - Connected to Meshtastic device. Node ID: !da576f40 (!da576f40) 2026-02-04 20:44:29 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic receive callback registered. 2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 opened successfully. 2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_DEVICE_QUERY 2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_APP_START 2026-02-04 20:44:29 - MainThread - INFO - ammb.bridge - Starting handler background tasks/threads... 2026-02-04 20:44:29 - MainThread - INFO - ammb.meshtastic_handler - Starting Meshtastic sender thread... 2026-02-04 20:44:29 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop started. 2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Starting Serial receiver thread... 2026-02-04 20:44:29 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop started. 2026-02-04 20:44:29 - MainThread - INFO - ammb.meshcore_handler - Starting Serial sender thread... 2026-02-04 20:44:29 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop started. 2026-02-04 20:44:29 - MainThread - INFO - ammb.api - Bridge API server started on http://127.0.0.1:8080 2026-02-04 20:44:29 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop) 2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e50000d08500840e2010033302d4e6f762d32303235004c494c59474f20542d4c6f52612056322e312d312e3600000000000000000000000000000000000076312e31312e302d3664333231393300000000003e430005010a14c2283a36a9691309d2cfda54c36dbeea8ee7efdfe969806a9aa61cf04c919669a04689030ceb110100012a00f29d060024f4000008084d4320427269646765 2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\r\x08P\x08@\xe2\x01\x0030-Nov-2025\x00LILYGO T-LoRa V2.1-1.6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v1.11.0-6d32193\x00\x00\x00\x00\x00' 2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 13 2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None 2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x05\x01\n\x14\xc2(:6\xa9i\x13\t\xd2\xcf\xdaT\xc3m\xbe\xea\x8e\xe7\xef\xdf\xe9i\x80j\x9a\xa6\x1c\xf0L\x91\x96i\xa0F\x89\x03\x0c\xeb\x11\x01\x00\x01*\x00\xf2\x9d\x06\x00$\xf4\x00\x00\x08\x08MC Bridge' 2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 5 2026-02-04 20:44:29 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None ******* Sending message from MeshTastic on Public Channel, received ok on MeshCore ******* 2026-02-04 20:45:07 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'From MeshTastic public channel' 2026-02-04 20:45:07 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler. 2026-02-04 20:45:07 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'<%\x00\x03\x00\x00\xc3\xa1\x83iFrom MeshTastic public channel' 2026-02-04 20:45:07 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e010000 2026-02-04 20:45:07 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x00' 2026-02-04 20:45:07 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'companion_kind': 'ok', 'internal_only': True, 'protocol': 'companion_radio'} 2026-02-04 20:45:07 - SerialReceiver - INFO - ammb.meshcore_handler - Companion event: ok ******* Sending message from MeshCore public channel, not received on MeshTastic ******* 2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e4800882ebf1500116d8f450f12788ac963902342d75b1411a05300002e09f9e75473b723bd05236f3bda6394c73393aafaaa1b9952c0d9c6fcfa97f615e0422727bb5e5fb241636396673e010083 2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b"\x88.\xbf\x15\x00\x11m\x8fE\x0f\x12x\x8a\xc9c\x90#B\xd7[\x14\x11\xa0S\x00\x00.\t\xf9\xe7Ts\xb7#\xbd\x05#o;\xdac\x94\xc73\x93\xaa\xfa\xaa\x1b\x99R\xc0\xd9\xc6\xfc\xfa\x97\xf6\x15\xe0B''\xbb^_\xb2Acc\x96g" 2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 136 2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None 2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x83' 2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 131 2026-02-04 20:45:37 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None 2026-02-04 20:45:58 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale ************ Sending Advert from MeshCore, nothing received on MeshTastic ********** 2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e8000882ebd1100db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d799029a28369194d62f0790350701fff3995f3d2139bbb79848e0e2a6a362090e8a28155b63c474490a8f552d0f632e3b078f55d75fca5c246b3a1c9b1720bd7ed06800b210a91542f890395c41201542d4563686f20343333206d487a 2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x88.\xbd\x11\x00\xdbF9F|[\xbc8C\x9d\xce\xfc\xdd\x00s\xd8\xd7lZ\xb1\x1e\xef\x9c\x1d\x9d\x92Y1\x19-y\x90)\xa2\x83i\x19Mb\xf0y\x03Pp\x1f\xff9\x95\xf3\xd2\x13\x9b\xbby\x84\x8e\x0e*j6 \x90\xe8\xa2\x81U\xb6<GD\x90\xa8\xf5R\xd0\xf62\xe3\xb0x\xf5]u\xfc\xa5\xc2F\xb3\xa1\xc9\xb1r\x0b\xd7\xed\x06\x80\x0b!\n\x91T/\x89\x03\x95\xc4\x12\x01T-Echo 433 mHz' 2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 136 2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None 2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e210080db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990 2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x80\xdbF9F|[\xbc8C\x9d\xce\xfc\xdd\x00s\xd8\xd7lZ\xb1\x1e\xef\x9c\x1d\x9d\x92Y1\x19-y\x90' 2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'destination_meshtastic_id': '^all', 'payload': 'MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990', 'channel_index': 0, 'companion_kind': 'advert', 'protocol': 'companion_radio'} 2026-02-04 20:46:26 - SerialReceiver - DEBUG - ammb.meshcore_handler - Translation: dest=^all, text=MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990, channel=0, want_ack=False 2026-02-04 20:46:26 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all 2026-02-04 20:46:26 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic TX -> Dest: ^all, Payload: 'MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990' ********* This is info from MeshTastic ??????? ********* ******** Why is this coming as a result of an Advert? ******* 2026-02-04 20:46:26 - MeshtasticSender - DEBUG - ammb.meshtastic_handler - Raw protobuf (outgoing) as JSON: { "myNodeNum": 3663163200, "rebootCount": 69, "minAppVersion": 30200, "deviceId": "AiX+PAqKFndjjwkagPZR0w==", "pioEnv": "heltec-v3", "nodedbCount": 2 } 2026-02-04 20:46:28 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale 2026-02-04 20:46:58 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale ^C2026-02-04 20:47:07 - MainThread - INFO - ammb.bridge - Main loop exiting. Initiating shutdown sequence... 2026-02-04 20:47:07 - MainThread - INFO - ammb.bridge - Signaling shutdown to all components... 2026-02-04 20:47:07 - MainThread - INFO - ammb.api - Stopping Bridge API server... 2026-02-04 20:47:07 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop stopped. 2026-02-04 20:47:07 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop stopped. 2026-02-04 20:47:08 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop stopped. 2026-02-04 20:47:12 - MainThread - INFO - ammb.health - Health monitoring stopped 2026-02-04 20:47:12 - MainThread - INFO - ammb.bridge - Stopping 2 handlers... 2026-02-04 20:47:12 - MainThread - INFO - ammb.meshcore_handler - Stopping Serial handler... 2026-02-04 20:47:12 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 closed. 2026-02-04 20:47:12 - MainThread - INFO - ammb.meshcore_handler - Serial handler stopped. 2026-02-04 20:47:12 - MainThread - INFO - ammb.meshtastic_handler - Stopping Meshtastic handler... 2026-02-04 20:47:13 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic handler stopped. 2026-02-04 20:47:13 - MainThread - INFO - ammb.bridge - Bridge shutdown sequence complete. 2026-02-04 20:47:13 - MainThread - INFO - root - KeyboardInterrupt received. Initiating graceful shutdown... 2026-02-04 20:47:13 - MainThread - INFO - root - --- Akita Meshtastic Meshcore Bridge Stopped --- (venv) pi@Trixie21:~/akita-meshtastic-meshcore-bridge $ <!-- github-comment-id:3849556706 -->
Author
Owner

pi@Trixie21:~ $ curl http://localhost:8080/api/health
{
"status": "degraded",
"timestamp": "2026-02-05T11:16:13.884452",
"components": {
"meshtastic": {
"name": "meshtastic",
"status": "degraded",
"last_check": "2026-02-05T11:11:00.752254",
"message": "Health check stale; no recent updates",
"details": {}
},
"external": {
"name": "external",
"status": "degraded",
"last_check": "2026-02-05T11:14:13.636775",
"message": "Health check stale; no recent updates",
"details": {}
}
}

pi@Trixie21:~ $ curl http://localhost:8080/api/health { "status": "degraded", "timestamp": "2026-02-05T11:16:13.884452", "components": { "meshtastic": { "name": "meshtastic", "status": "degraded", "last_check": "2026-02-05T11:11:00.752254", "message": "Health check stale; no recent updates", "details": {} }, "external": { "name": "external", "status": "degraded", "last_check": "2026-02-05T11:14:13.636775", "message": "Health check stale; no recent updates", "details": {} } } <!-- github-comment-id:3852564075 -->
Author
Owner

I think we may have got it. I will have to flash another device after for a bit of testing.

I think we may have got it. I will have to flash another device after for a bit of testing. <!-- github-comment-id:3865146043 -->
Author
Owner

Looking forward to your test results.

Looking forward to your test results. <!-- github-comment-id:3868001220 -->
Author
Owner

Sending a MeshTastic message on the Public Channel, received at MC ok
Sending a MeshCore message on the Public Channel, not received on MT
Sending a MeshCore Advert, received at MT as a Public Message: MC_ADVERT:db46 --------

(venv) pi@Trixie21:/akita-meshtastic-meshcore-bridge $ python run_bridge.py
2026-02-09 11:32:40,943 - INFO - --- Akita Meshtastic Meshcore Bridge Starting ---
2026-02-09 11:32:40,943 - INFO - Loading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-02-09 11:32:40,944 - INFO - Reading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini
2026-02-09 11:32:40,948 - INFO - Configuration loaded successfully.
2026-02-09 11:32:40,948 - INFO - Selected external transport: serial
2026-02-09 11:32:40 - MainThread - INFO - root - Logging configured to level DEBUG (10)
2026-02-09 11:32:40 - MainThread - DEBUG - root - Logging level set to DEBUG
2026-02-09 11:32:40 - MainThread - INFO - root - Initializing bridge instance...
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Message queues initialized with max size: 100
2026-02-09 11:32:40 - MainThread - INFO - ammb.health - Health monitoring started
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Initializing network handlers...
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Selected external transport: Serial
2026-02-09 11:32:40 - MainThread - INFO - ammb.meshcore_handler - Selected serial protocol: companion_radio
2026-02-09 11:32:40 - MainThread - INFO - ammb.protocol - Using Serial protocol handler: MeshcoreCompanionProtocol
2026-02-09 11:32:40 - MainThread - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Serial protocol handler initialized.
2026-02-09 11:32:40 - MainThread - INFO - ammb.meshcore_handler - Initialized protocol handler: MeshcoreCompanionProtocol
2026-02-09 11:32:40 - MainThread - INFO - ammb.meshcore_handler - Serial Handler (MeshcoreHandler) Initialized.
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - All required handlers initialized successfully.
2026-02-09 11:32:40 - MainThread - INFO - root - Starting bridge run loop...
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Starting AMMB run sequence...
2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Attempting initial network connections...
2026-02-09 11:32:40 - MainThread - INFO - ammb.meshtastic_handler - Attempting connection to Meshtastic on /dev/ttyUSB0...
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshtastic_handler - Connected to Meshtastic device. Node ID: !da576f40 (!da576f40)
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic receive callback registered.
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 opened successfully.
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_DEVICE_QUERY
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_APP_START
2026-02-09 11:32:42 - MainThread - INFO - ammb.bridge - Starting handler background tasks/threads...
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshtastic_handler - Starting Meshtastic sender thread...
2026-02-09 11:32:42 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop started.
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Starting Serial receiver thread...
2026-02-09 11:32:42 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop started.
2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Starting Serial sender thread...
2026-02-09 11:32:42 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop started.
2026-02-09 11:32:42 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop)
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e50000d08500840e2010033302d4e6f762d32303235004c494c59474f20542d4c6f52612056322e312d312e3600000000000000000000000000000000000076312e31312e302d3664333231393300000000003e430005010a14c2283a36a9691309d2cfda54c36dbeea8ee7efdfe969806a9aa61cf04c919669a04689030ceb110100012a00f29d060024f4000008084d4320427269646765
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\r\x08P\x08@\xe2\x01\x0030-Nov-2025\x00LILYGO T-LoRa V2.1-1.6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v1.11.0-6d32193\x00\x00\x00\x00\x00'
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 13
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x05\x01\n\x14\xc2(:6\xa9i\x13\t\xd2\xcf\xdaT\xc3m\xbe\xea\x8e\xe7\xef\xdf\xe9i\x80j\x9a\xa6\x1c\xf0L\x91\x96i\xa0F\x89\x03\x0c\xeb\x11\x01\x00\x01*\x00\xf2\x9d\x06\x00$\xf4\x00\x00\x08\x08MC Bridge'
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 5
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-09 11:32:42 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'Hej '
2026-02-09 11:32:42 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-02-09 11:32:42 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'<\x0b\x00\x03\x00\x00\xca\xb7\x89iHej '
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e010000
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x00'
2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'companion_kind': 'ok', 'internal_only': True, 'protocol': 'companion_radio'}
2026-02-09 11:32:42 - SerialReceiver - INFO - ammb.meshcore_handler - Companion event: ok
2026-02-09 11:34:10 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale
2026-02-09 11:34:10 - HealthMonitor - WARNING - ammb.health - Component external health check is stale
2026-02-09 11:34:32 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'Hej cfrån yosa'
2026-02-09 11:34:32 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-02-09 11:34:32 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'<\x16\x00\x03\x00\x008\xb8\x89iHej cfr\xc3\xa5n yosa'
2026-02-09 11:34:32 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e010000
2026-02-09 11:34:32 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x00'
2026-02-09 11:34:32 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'companion_kind': 'ok', 'internal_only': True, 'protocol': 'companion_radio'}
2026-02-09 11:34:32 - SerialReceiver - INFO - ammb.meshcore_handler - Companion event: ok
^C2026-02-09 11:34:54 - MainThread - INFO - ammb.bridge - Main loop exiting. Initiating shutdown sequence...
2026-02-09 11:34:54 - MainThread - INFO - ammb.bridge - Signaling shutdown to all components...
2026-02-09 11:34:54 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop stopped.
2026-02-09 11:34:54 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop stopped.
2026-02-09 11:34:54 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop stopped.
2026-02-09 11:34:59 - MainThread - INFO - ammb.health - Health monitoring stopped
2026-02-09 11:34:59 - MainThread - INFO - ammb.bridge - Stopping 2 handlers...
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshcore_handler - Stopping Serial handler...
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 closed.
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshcore_handler - Serial handler stopped.
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshtastic_handler - Stopping Meshtastic handler...
2026-02-09 11:34:59 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic handler stopped.
2026-02-09 11:34:59 - MainThread - INFO - ammb.bridge - Bridge shutdown sequence complete.
2026-02-09 11:34:59 - MainThread - INFO - root - KeyboardInterrupt received. Initiating graceful shutdown...
2026-02-09 11:34:59 - MainThread - INFO - root - --- Akita Meshtastic Meshcore Bridge Stopped ---
(venv) pi@Trixie21:
/akita-meshtastic-meshcore-bridge $

ADVERT sent:

2026-02-09 12:18:31 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop)
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e50000d08500840e2010033302d4e6f762d32303235004c494c59474f20542d4c6f52612056322e312d312e3600000000000000000000000000000000000076312e31312e302d3664333231393300000000003e430005010a14c2283a36a9691309d2cfda54c36dbeea8ee7efdfe969806a9aa61cf04c919669a04689030ceb110100012a00f29d060024f4000008084d4320427269646765
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\r\x08P\x08@\xe2\x01\x0030-Nov-2025\x00LILYGO T-LoRa V2.1-1.6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v1.11.0-6d32193\x00\x00\x00\x00\x00'
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 13
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x05\x01\n\x14\xc2(:6\xa9i\x13\t\xd2\xcf\xdaT\xc3m\xbe\xea\x8e\xe7\xef\xdf\xe9i\x80j\x9a\xa6\x1c\xf0L\x91\x96i\xa0F\x89\x03\x0c\xeb\x11\x01\x00\x01*\x00\xf2\x9d\x06\x00$\xf4\x00\x00\x08\x08MC Bridge'
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 5
2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None
2026-02-09 12:18:31 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-02-09 12:18:31 - SerialSender - DEBUG - ammb.meshcore_handler - Skipping non-text Meshtastic message for companion: meshtastic_position
2026-02-09 12:18:31 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler.
2026-02-09 12:18:31 - SerialSender - DEBUG - ammb.meshcore_handler - Skipping non-text Meshtastic message for companion: meshtastic_position
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e80008831bf1100db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d799093c28969f1e94a697f5a7b467e99497808b67af55fa4bed8f86fcda70c4a43929b6279642bff23da95f7244a5e2ec620c1370533bb9f4cedb563a7f4e850aac9c42f040991542f890395c41201542d4563686f20343333206d487a
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x881\xbf\x11\x00\xdbF9F|[\xbc8C\x9d\xce\xfc\xdd\x00s\xd8\xd7lZ\xb1\x1e\xef\x9c\x1d\x9d\x92Y1\x19-y\x90\x93\xc2\x89i\xf1\xe9Ji\x7fZ{F~\x99Ix\x08\xb6z\xf5_\xa4\xbe\xd8\xf8o\xcd\xa7\x0cJC\x92\x9bbyd+\xff#\xda\x95\xf7$J^.\xc6 \xc17\x053\xbb\x9fL\xed\xb5c\xa7\xf4\xe8P\xaa\xc9\xc4/\x04\t\x91T/\x89\x03\x95\xc4\x12\x01T-Echo 433 mHz'
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'destination_meshtastic_id': '^all', 'payload': 'F|[�8C����\x00s��lZ�\x1e�\x1d��Y1\x19-y��\x89i��Ji\x7fZ{F�Ix\x08�z�_����oͧ\x0cJC��byd+�#ڕ�$J^.� �7\x053��L��c���P���/\x04\t�T/�\x03��\x12\x01T-Echo 433 mHz', 'channel_index': 49, 'companion_kind': 'channel_msg', 'path_len': 191, 'txt_type': 17, 'sender_timestamp': 960944896, 'protocol': 'companion_radio'}
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Translation: dest=^all, text=F|[�8C����s��lZ����Y1-y�� i��JiZ{F
�Ix�z�_����oͧJC��byd+�#ڕ�$J^.� �73��L��c���P���/ �T/���T-Echo 433 mHz, channel=49, want_ack=False
2026-02-09 12:18:45 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all
2026-02-09 12:18:45 - MeshtasticSender - WARNING - ammb.meshtastic_handler - Invalid message rejected: Channel index out of range: 49
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e210080db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x80\xdbF9F|[\xbc8C\x9d\xce\xfc\xdd\x00s\xd8\xd7lZ\xb1\x1e\xef\x9c\x1d\x9d\x92Y1\x19-y\x90'
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'destination_meshtastic_id': '^all', 'payload': 'MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990', 'channel_index': 0, 'companion_kind': 'advert', 'protocol': 'companion_radio'}
2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Translation: dest=^all, text=MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990, channel=0, want_ack=False
2026-02-09 12:18:45 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all
2026-02-09 12:18:45 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic TX -> Dest: ^all, Payload: 'MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990'
2026-02-09 12:18:45 - MeshtasticSender - DEBUG - ammb.meshtastic_handler - Raw protobuf (outgoing) as JSON: {
"myNodeNum": 3663163200,
"rebootCount": 79,
"minAppVersion": 30200,
"deviceId": "AiX+PAqKFndjjwkagPZR0w==",
"pioEnv": "heltec-v3",
"nodedbCount": 2
}

Sending a MeshTastic message on the Public Channel, received at MC ok Sending a MeshCore message on the Public Channel, not received on MT Sending a MeshCore Advert, received at MT as a Public Message: MC_ADVERT:db46 -------- (venv) pi@Trixie21:~/akita-meshtastic-meshcore-bridge $ python run_bridge.py 2026-02-09 11:32:40,943 - INFO - --- Akita Meshtastic Meshcore Bridge Starting --- 2026-02-09 11:32:40,943 - INFO - Loading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini 2026-02-09 11:32:40,944 - INFO - Reading configuration from: /home/pi/akita-meshtastic-meshcore-bridge/config.ini 2026-02-09 11:32:40,948 - INFO - Configuration loaded successfully. 2026-02-09 11:32:40,948 - INFO - Selected external transport: serial 2026-02-09 11:32:40 - MainThread - INFO - root - Logging configured to level DEBUG (10) 2026-02-09 11:32:40 - MainThread - DEBUG - root - Logging level set to DEBUG 2026-02-09 11:32:40 - MainThread - INFO - root - Initializing bridge instance... 2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Message queues initialized with max size: 100 2026-02-09 11:32:40 - MainThread - INFO - ammb.health - Health monitoring started 2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Initializing network handlers... 2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Selected external transport: Serial 2026-02-09 11:32:40 - MainThread - INFO - ammb.meshcore_handler - Selected serial protocol: companion_radio 2026-02-09 11:32:40 - MainThread - INFO - ammb.protocol - Using Serial protocol handler: MeshcoreCompanionProtocol 2026-02-09 11:32:40 - MainThread - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Serial protocol handler initialized. 2026-02-09 11:32:40 - MainThread - INFO - ammb.meshcore_handler - Initialized protocol handler: MeshcoreCompanionProtocol 2026-02-09 11:32:40 - MainThread - INFO - ammb.meshcore_handler - Serial Handler (MeshcoreHandler) Initialized. 2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - All required handlers initialized successfully. 2026-02-09 11:32:40 - MainThread - INFO - root - Starting bridge run loop... 2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Starting AMMB run sequence... 2026-02-09 11:32:40 - MainThread - INFO - ammb.bridge - Attempting initial network connections... 2026-02-09 11:32:40 - MainThread - INFO - ammb.meshtastic_handler - Attempting connection to Meshtastic on /dev/ttyUSB0... 2026-02-09 11:32:42 - MainThread - INFO - ammb.meshtastic_handler - Connected to Meshtastic device. Node ID: !da576f40 (!da576f40) 2026-02-09 11:32:42 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic receive callback registered. 2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 opened successfully. 2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_DEVICE_QUERY 2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Sent companion command: CMD_APP_START 2026-02-09 11:32:42 - MainThread - INFO - ammb.bridge - Starting handler background tasks/threads... 2026-02-09 11:32:42 - MainThread - INFO - ammb.meshtastic_handler - Starting Meshtastic sender thread... 2026-02-09 11:32:42 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop started. 2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Starting Serial receiver thread... 2026-02-09 11:32:42 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop started. 2026-02-09 11:32:42 - MainThread - INFO - ammb.meshcore_handler - Starting Serial sender thread... 2026-02-09 11:32:42 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop started. 2026-02-09 11:32:42 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop) 2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e50000d08500840e2010033302d4e6f762d32303235004c494c59474f20542d4c6f52612056322e312d312e3600000000000000000000000000000000000076312e31312e302d3664333231393300000000003e430005010a14c2283a36a9691309d2cfda54c36dbeea8ee7efdfe969806a9aa61cf04c919669a04689030ceb110100012a00f29d060024f4000008084d4320427269646765 2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\r\x08P\x08@\xe2\x01\x0030-Nov-2025\x00LILYGO T-LoRa V2.1-1.6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v1.11.0-6d32193\x00\x00\x00\x00\x00' 2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 13 2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None 2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x05\x01\n\x14\xc2(:6\xa9i\x13\t\xd2\xcf\xdaT\xc3m\xbe\xea\x8e\xe7\xef\xdf\xe9i\x80j\x9a\xa6\x1c\xf0L\x91\x96i\xa0F\x89\x03\x0c\xeb\x11\x01\x00\x01*\x00\xf2\x9d\x06\x00$\xf4\x00\x00\x08\x08MC Bridge' 2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 5 2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None 2026-02-09 11:32:42 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'Hej ' 2026-02-09 11:32:42 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler. 2026-02-09 11:32:42 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'<\x0b\x00\x03\x00\x00\xca\xb7\x89iHej ' 2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e010000 2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x00' 2026-02-09 11:32:42 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'companion_kind': 'ok', 'internal_only': True, 'protocol': 'companion_radio'} 2026-02-09 11:32:42 - SerialReceiver - INFO - ammb.meshcore_handler - Companion event: ok 2026-02-09 11:34:10 - HealthMonitor - WARNING - ammb.health - Component meshtastic health check is stale 2026-02-09 11:34:10 - HealthMonitor - WARNING - ammb.health - Component external health check is stale 2026-02-09 11:34:32 - publishing - INFO - ammb.meshtastic_handler - Meshtastic RX <TEXT_MESSAGE_APP> From !8896db4: 'Hej cfrån yosa' 2026-02-09 11:34:32 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler. 2026-02-09 11:34:32 - SerialSender - INFO - ammb.meshcore_handler - Serial TX port /dev/ttyACM0 payload b'<\x16\x00\x03\x00\x008\xb8\x89iHej cfr\xc3\xa5n yosa' 2026-02-09 11:34:32 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e010000 2026-02-09 11:34:32 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x00' 2026-02-09 11:34:32 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'companion_kind': 'ok', 'internal_only': True, 'protocol': 'companion_radio'} 2026-02-09 11:34:32 - SerialReceiver - INFO - ammb.meshcore_handler - Companion event: ok ^C2026-02-09 11:34:54 - MainThread - INFO - ammb.bridge - Main loop exiting. Initiating shutdown sequence... 2026-02-09 11:34:54 - MainThread - INFO - ammb.bridge - Signaling shutdown to all components... 2026-02-09 11:34:54 - SerialReceiver - INFO - ammb.meshcore_handler - Serial receiver loop stopped. 2026-02-09 11:34:54 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic sender loop stopped. 2026-02-09 11:34:54 - SerialSender - INFO - ammb.meshcore_handler - Serial sender loop stopped. 2026-02-09 11:34:59 - MainThread - INFO - ammb.health - Health monitoring stopped 2026-02-09 11:34:59 - MainThread - INFO - ammb.bridge - Stopping 2 handlers... 2026-02-09 11:34:59 - MainThread - INFO - ammb.meshcore_handler - Stopping Serial handler... 2026-02-09 11:34:59 - MainThread - INFO - ammb.meshcore_handler - Serial port /dev/ttyACM0 closed. 2026-02-09 11:34:59 - MainThread - INFO - ammb.meshcore_handler - Serial handler stopped. 2026-02-09 11:34:59 - MainThread - INFO - ammb.meshtastic_handler - Stopping Meshtastic handler... 2026-02-09 11:34:59 - MainThread - INFO - ammb.meshtastic_handler - Meshtastic handler stopped. 2026-02-09 11:34:59 - MainThread - INFO - ammb.bridge - Bridge shutdown sequence complete. 2026-02-09 11:34:59 - MainThread - INFO - root - KeyboardInterrupt received. Initiating graceful shutdown... 2026-02-09 11:34:59 - MainThread - INFO - root - --- Akita Meshtastic Meshcore Bridge Stopped --- (venv) pi@Trixie21:~/akita-meshtastic-meshcore-bridge $ ADVERT sent: 2026-02-09 12:18:31 - MainThread - INFO - ammb.bridge - Bridge background tasks started. Running... (Press Ctrl+C to stop) 2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e50000d08500840e2010033302d4e6f762d32303235004c494c59474f20542d4c6f52612056322e312d312e3600000000000000000000000000000000000076312e31312e302d3664333231393300000000003e430005010a14c2283a36a9691309d2cfda54c36dbeea8ee7efdfe969806a9aa61cf04c919669a04689030ceb110100012a00f29d060024f4000008084d4320427269646765 2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\r\x08P\x08@\xe2\x01\x0030-Nov-2025\x00LILYGO T-LoRa V2.1-1.6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00v1.11.0-6d32193\x00\x00\x00\x00\x00' 2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 13 2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None 2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x05\x01\n\x14\xc2(:6\xa9i\x13\t\xd2\xcf\xdaT\xc3m\xbe\xea\x8e\xe7\xef\xdf\xe9i\x80j\x9a\xa6\x1c\xf0L\x91\x96i\xa0F\x89\x03\x0c\xeb\x11\x01\x00\x01*\x00\xf2\x9d\x06\x00$\xf4\x00\x00\x08\x08MC Bridge' 2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Ignoring companion frame code: 5 2026-02-09 12:18:31 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: None 2026-02-09 12:18:31 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler. 2026-02-09 12:18:31 - SerialSender - DEBUG - ammb.meshcore_handler - Skipping non-text Meshtastic message for companion: meshtastic_position 2026-02-09 12:18:31 - publishing - DEBUG - ammb.meshtastic_handler - Queued message from !8896db4 for external handler. 2026-02-09 12:18:31 - SerialSender - DEBUG - ammb.meshcore_handler - Skipping non-text Meshtastic message for companion: meshtastic_position 2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e80008831bf1100db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d799093c28969f1e94a697f5a7b467e99497808b67af55fa4bed8f86fcda70c4a43929b6279642bff23da95f7244a5e2ec620c1370533bb9f4cedb563a7f4e850aac9c42f040991542f890395c41201542d4563686f20343333206d487a 2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x881\xbf\x11\x00\xdbF9F|[\xbc8C\x9d\xce\xfc\xdd\x00s\xd8\xd7lZ\xb1\x1e\xef\x9c\x1d\x9d\x92Y1\x19-y\x90\x93\xc2\x89i\xf1\xe9Ji\x7fZ{F~\x99Ix\x08\xb6z\xf5_\xa4\xbe\xd8\xf8o\xcd\xa7\x0cJC\x92\x9bbyd+\xff#\xda\x95\xf7$J^.\xc6 \xc17\x053\xbb\x9fL\xed\xb5c\xa7\xf4\xe8P\xaa\xc9\xc4/\x04\t\x91T/\x89\x03\x95\xc4\x12\x01T-Echo 433 mHz' 2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'destination_meshtastic_id': '^all', 'payload': 'F|[�8C����\x00s��lZ�\x1e�\x1d��Y1\x19-y��\x89i��Ji\x7fZ{F~�Ix\x08�z�_����oͧ\x0cJC��byd+�#ڕ�$J^.� �7\x053��L��c���P���/\x04\t�T/�\x03��\x12\x01T-Echo 433 mHz', 'channel_index': 49, 'companion_kind': 'channel_msg', 'path_len': 191, 'txt_type': 17, 'sender_timestamp': 960944896, 'protocol': 'companion_radio'} 2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Translation: dest=^all, text=F|[�8C����s��lZ����Y1-y�� i��JiZ{F~�Ix�z�_����oͧJC��byd+�#ڕ�$J^.� �73��L��c���P���/ �T/���T-Echo 433 mHz, channel=49, want_ack=False 2026-02-09 12:18:45 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all 2026-02-09 12:18:45 - MeshtasticSender - WARNING - ammb.meshtastic_handler - Invalid message rejected: Channel index out of range: 49 2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.protocol.MeshcoreCompanionProtocol - Companion RAW bytes: 3e210080db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990 2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Serial RAW RX: b'\x80\xdbF9F|[\xbc8C\x9d\xce\xfc\xdd\x00s\xd8\xd7lZ\xb1\x1e\xef\x9c\x1d\x9d\x92Y1\x19-y\x90' 2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Decoded serial message: {'destination_meshtastic_id': '^all', 'payload': 'MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990', 'channel_index': 0, 'companion_kind': 'advert', 'protocol': 'companion_radio'} 2026-02-09 12:18:45 - SerialReceiver - DEBUG - ammb.meshcore_handler - Translation: dest=^all, text=MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990, channel=0, want_ack=False 2026-02-09 12:18:45 - SerialReceiver - INFO - ammb.meshcore_handler - Queued message for Meshtastic ^all 2026-02-09 12:18:45 - MeshtasticSender - INFO - ammb.meshtastic_handler - Meshtastic TX -> Dest: ^all, Payload: 'MC_ADVERT:db4639467c5bbc38439dcefcdd0073d8d76c5ab11eef9c1d9d925931192d7990' 2026-02-09 12:18:45 - MeshtasticSender - DEBUG - ammb.meshtastic_handler - Raw protobuf (outgoing) as JSON: { "myNodeNum": 3663163200, "rebootCount": 79, "minAppVersion": 30200, "deviceId": "AiX+PAqKFndjjwkagPZR0w==", "pioEnv": "heltec-v3", "nodedbCount": 2 } <!-- github-comment-id:3871169627 -->
Author
Owner

This should now be resolved.

This should now be resolved. <!-- github-comment-id:3892048990 -->
Author
Owner

Hi,

It works well to send Public messages between MeshCore and MeshTastic,
great thanks!
One last question, is it possible to send messages from a Secondary channel
in any way?

Den tors 12 feb. 2026 kl 17:47 skrev sh4un @.***>:

sh4un-dot-com left a comment
(AkitaEngineering/Akita-Meshtastic-Meshcore-Bridge#3)
https://github.com/AkitaEngineering/Akita-Meshtastic-Meshcore-Bridge/issues/3#issuecomment-3892048990

This should now be resolved.

—
Reply to this email directly, view it on GitHub
https://github.com/AkitaEngineering/Akita-Meshtastic-Meshcore-Bridge/issues/3#issuecomment-3892048990,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFY37DCZHOWXAPHDC54AXWL4LSVA7AVCNFSM6AAAAACSVS7UMKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTQOJSGA2DQOJZGA
.
You are receiving this because you authored the thread.Message ID:
<AkitaEngineering/Akita-Meshtastic-Meshcore-Bridge/issues/3/3892048990@
github.com>

Hi, It works well to send Public messages between MeshCore and MeshTastic, great thanks! One last question, is it possible to send messages from a Secondary channel in any way? Den tors 12 feb. 2026 kl 17:47 skrev sh4un ***@***.***>: > *sh4un-dot-com* left a comment > (AkitaEngineering/Akita-Meshtastic-Meshcore-Bridge#3) > <https://github.com/AkitaEngineering/Akita-Meshtastic-Meshcore-Bridge/issues/3#issuecomment-3892048990> > > This should now be resolved. > > — > Reply to this email directly, view it on GitHub > <https://github.com/AkitaEngineering/Akita-Meshtastic-Meshcore-Bridge/issues/3#issuecomment-3892048990>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AFY37DCZHOWXAPHDC54AXWL4LSVA7AVCNFSM6AAAAACSVS7UMKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTQOJSGA2DQOJZGA> > . > You are receiving this because you authored the thread.Message ID: > <AkitaEngineering/Akita-Meshtastic-Meshcore-Bridge/issues/3/3892048990@ > github.com> > <!-- github-comment-id:3901964343 -->
Author
Owner

I'm sure it's possible. Just not implemented yet.

I'm sure it's possible. Just not implemented yet. <!-- github-comment-id:3934083732 -->
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: adam/Akita-Meshtastic-Meshcore-Bridge#3