Files
meshtastic/plugin
eric 4485ec3814 ci(e2e): on-demand Meshtasticator e2e job for the docker-enabled runner
Adds .gitea/workflows/meshtasticator-e2e.yaml (workflow_dispatch until
validated green, pull_request trigger commented out): builds the pinned
Hermes contract env like release.yaml, installs the plugin with deps,
checks out Meshtasticator at a pinned commit, installs the simulator's
own (conflicting-version) requirements in an isolated venv, then runs
scripts/meshtasticator_e2e/run_e2e.sh --mode docker.

Supporting changes:
- run_e2e.sh: SIM_VENV support; automatic localhost->daemon TCP forwards
  (scripts/meshtasticator_e2e/tcp_forward.py) when DOCKER_HOST is a tcp://
  daemon, because Meshtasticator hardcodes localhost for its node control
  connections; node-boot settle wait; fixed docker cleanup (container
  'Meshtastic', volume 'Meshtasticator').
- e2e tests: connect via a module-long event loop in a background thread
  (adapter requires a running loop for watchdog + inbound dispatch, so
  per-call asyncio.run was wrong) with retry while the node TCP API boots.
- README: sim-venv guidance, remote-daemon forwarding, CI section.

Docker access follows the deployment examples in
eric/actions-docker (docker is available to runner jobs).
2026-09-07 21:06:01 -07:00
..
2026-09-07 21:01:21 -07:00

hermes-meshtastic

Meshtastic LoRa mesh gateway platform adapter plugin for Hermes Agent.

Allows bidirectional communication between Hermes AI agent profiles and off-grid Meshtastic nodes (e.g., Heltec V4, T-Beam, LilyGO) over 915 MHz LoRa mesh radio.

Features

  • Connects directly to local Meshtastic radio via TCP (e.g. meshtastic.local:4403).
  • Subscribes to LoRa text messages on designated channel index (e.g. Channel 1 # private with AES-256).
  • Direct Message (1-on-1) routing between Meshtastic Node IDs and Hermes agent sessions.
  • Automatic message chunking and markdown stripping to fit within LoRa RF packet budgets (<180 chars).
  • Automatic reconnection with exponential backoff.