Independent directory, made by the developer of Vulpo. Not affiliated with Home Assistant or the Open Home Foundation.

About

MeshCore is a custom integration that connects Home Assistant to a MeshCore radio companion for monitoring and controlling mesh networks. The companion links over USB, Bluetooth or TCP, and the integration works locally through the meshcore-py library. It adds sensors, binary sensors, buttons, selects, text helpers and presence tracking for the nodes in the mesh. Actions cover sending direct and channel messages, running companion commands, and adding or removing contacts. Repeaters and tracked clients can be polled for telemetry, and optional self diagnostics add radio statistics and fault flags. Further options include contact discovery modes, uploads of received adverts to the MeshCore community map, and MQTT brokers; setup is done in the UI after adding the custom repository.

Automatic summary of the README and code of meshcore-dev/meshcore-ha. Something wrong, or are you the maintainer and want your own text here? Get in touch

Supports

  • Works locally Talks to your devices on your own network. No vendor cloud in between.

  • From the Marketplace Installed through the Marketplace, formerly HACS.

  • Actively maintained Its author released or pushed a change in the last six months.

Provides

  • Sensors
  • Presence

Setting it up

Add its repository to the Marketplace as a custom repository and install it, then restart Home Assistant and add it under Settings, Devices and services.

MeshCore Setup

  • Connection Type

Also asked when changing the connection.

Configure USB Connection

  • USB Device Path
  • Connection Speed
  • Enable Self Telemetry
  • Self Telemetry Interval (seconds)
  • Enable Self DiagnosticsCreates 14 diagnostic sensors for the companion: uptime, TX queue length, noise floor, last RSSI and SNR, TX and RX airtime, and packet counters. Off by default. These are local queries to the companion and send nothing on the mesh. The interval sets how often the sensors update (60 to 3600 seconds).
  • Self Diagnostics Interval (seconds)
  • Contact Discovery ModeEntity per contact: every discovered contact gets its own entity (best for small meshes). Data only: discovered contacts are tracked as data only with no per-contact entity -- inspect them via the dropdown or the Get Discovered Contact service. Disabled: contact discovery is turned off entirely and any existing discovered contacts are cleared.

Configure Bluetooth Connection

  • Bluetooth Device
  • Enable Self Telemetry
  • Self Telemetry Interval (seconds)
  • Enable Self DiagnosticsCreates 14 diagnostic sensors for the companion: uptime, TX queue length, noise floor, last RSSI and SNR, TX and RX airtime, and packet counters. Off by default. These are local queries to the companion and send nothing on the mesh. The interval sets how often the sensors update (60 to 3600 seconds).
  • Self Diagnostics Interval (seconds)
  • Contact Discovery ModeEntity per contact: every discovered contact gets its own entity (best for small meshes). Data only: discovered contacts are tracked as data only with no per-contact entity -- inspect them via the dropdown or the Get Discovered Contact service. Disabled: contact discovery is turned off entirely and any existing discovered contacts are cleared.

Configure Network Connection

  • Host Address
  • Port
  • Enable Self Telemetry
  • Self Telemetry Interval (seconds)
  • Enable Self DiagnosticsCreates 14 diagnostic sensors for the companion: uptime, TX queue length, noise floor, last RSSI and SNR, TX and RX airtime, and packet counters. Off by default. These are local queries to the companion and send nothing on the mesh. The interval sets how often the sensors update (60 to 3600 seconds).
  • Self Diagnostics Interval (seconds)
  • Contact Discovery ModeEntity per contact: every discovered contact gets its own entity (best for small meshes). Data only: discovered contacts are tracked as data only with no per-contact entity -- inspect them via the dropdown or the Get Discovered Contact service. Disabled: contact discovery is turned off entirely and any existing discovered contacts are cleared.

Reconfigure USB Connection

  • USB Device Path
  • Connection Speed

Reconfigure Bluetooth Connection

  • Bluetooth Device

Reconfigure Network Connection

  • Host Address
  • Port

After setup

  • Choose an action
  • Available Repeaters
  • Repeater Password
  • Enable Telemetry Polling
  • Enable Neighbor Entities (creates SNR and activity sensors for each neighbor seen by the repeater)Asks this repeater for its neighbour list after each successful status poll. Each neighbour gets an SNR sensor and a seen sensor. The list is paged: each page is one request, so the cost grows with the number of neighbours. Requires MeshCore firmware 1.14.0 or later.
  • Telemetry Refresh Rate (seconds)
  • Disable Path Reset
  • PasswordSent once to log in to the repeater. Leave blank for a repeater that grants access by ACL without a password.
  • Available Clients
  • Update Frequency (seconds)
  • Disable Path Reset
  • Select Device
  • Action
  • Update Password (leave blank to keep current)
  • Enable Telemetry Polling
  • Enable Neighbor Entities (creates SNR and activity sensors for each neighbor seen by the repeater)Asks this repeater for its neighbour list after each successful status poll. Each neighbour gets an SNR sensor and a seen sensor. The list is paged: each page is one request, so the cost grows with the number of neighbours. Requires MeshCore firmware 1.14.0 or later.
  • Telemetry Refresh Rate (seconds)
  • Disable Path Reset
  • Disable Device
  • Update Password (leave blank to keep current)Stored passwords are never shown. Leave this blank to keep the saved password; type a new one to replace it.
  • Update Frequency (seconds)
  • Disable Path Reset
  • Disable Device
  • Contact Discovery ModeEntity per contact: every discovered contact gets its own entity (best for small meshes). Data only: discovered contacts are tracked as data only with no per-contact entity -- inspect them via the dropdown or the Get Discovered Contact service. Disabled: contact discovery is turned off entirely and any existing discovered contacts are cleared.
  • Limit Discovered Contacts
  • Maximum Discovered Contacts
  • Enable Self Telemetry
  • Self Telemetry Interval (seconds)
  • Enable Self DiagnosticsCreates 14 diagnostic sensors for the companion: uptime, TX queue length, noise floor, last RSSI and SNR, TX and RX airtime, and packet counters. Off by default. These are local queries to the companion and send nothing on the mesh. The interval sets how often the sensors update (60 to 3600 seconds).
  • Self Diagnostics Interval (seconds)
  • Enable CLI ConsoleAdds a CLI Console sensor. It records each command that you run with execute_command or execute_command_ui when record_to_console is on, and the response. It shows only command and response pairs, not the device log. Off by default. Use it with the text.meshcore_command helper and a Markdown card. The documentation has an example dashboard.
  • Enable Map Auto Uploader (map.meshcore.io)Uploads the adverts that you receive from repeaters, room servers and sensor nodes to map.meshcore.io. Those nodes then show on the MeshCore community map. The firmware must allow private key export (ENABLE_PRIVATE_KEY_EXPORT=1). Without it, the integration cannot sign the uploads.
  • Auto-Cleanup Stale Discovered Contacts (runs daily)When enabled, discovered contacts whose last update is older than the configured threshold are automatically removed once per day. Contacts saved to the node are always preserved.
  • Stale Contact Threshold (days)
  • Auto-Remove Stale NeighborsAutomatically remove neighbor entries and their sensor entities when they haven't been heard from in the configured number of days.
  • Stale Neighbor Threshold (days)Number of days without hearing a neighbor before it is automatically removed (1–365).
  • Retrieve queued incoming messagesEnabled by default. Turn off when another client, such as a phone over BLE, should retrieve queued channel and direct messages. Home Assistant keeps polling repeater status and telemetry and can still send commands. Messages delivered by the device may still appear in Home Assistant; this setting controls queue retrieval, not message visibility. Text replies to commands may also remain queued for the other client.
  • Adaptive Channel Message DeliveryWhen enabled, incoming channel messages fire as soon as RX_LOG data arrives (typically ~50ms) instead of always waiting the full 500ms. Late-arriving repeater data is delivered progressively. Disable if bots or automations depend on having all paths in the initial event.
  • Broker
  • Action

Texts from the code of meshcore-dev/meshcore-ha.

Entities

  • Binary sensorsRadio Fault: Packet Pool Exhausted, Radio Fault: CAD Timeout, Radio Fault: RX-Start Timeout
  • SensorsNode Status, Node Count, Last RSSI, Last SNR, Battery, Uptime, Airtime, Messages Sent, Messages Received, Routing Path, Path Length, Request Successes, and 33 more

Actions

  • Send MessageSend a message to a MeshCore nodeFields: Node ID, Message
  • Send channel messageSend a text message to a MeshCore public channel.Fields: Channel Index, Message, Config Entry ID
  • Send UI MessageSend a message using the MeshCore UI helpers. This service reads values from 'select.meshcore_recipient_type', 'select.meshcore_channel', 'select.meshcore_contact', and 'text.meshcore_message' to determine the recipient and message content. Call this service directly from a button card for a seamless messaging interface.Fields: Config Entry ID
  • Execute MeshCore CommandExecute a command provided by the MeshCore Python library. This is an advanced feature that provides direct access to the underlying commands interface. CAUTION: Some commands will make PERMANENT CHANGES to your node's configuration. Use with care.Fields: Command, Config Entry ID, Record to CLI Console
  • Execute Command from UIExecute a command using the text.meshcore_command helper entity. This service reads the command from the text helper and executes it. It will automatically clear the input field after execution.Fields: Config Entry ID, Record to CLI Console
  • Clear CLI ConsoleClear the CLI Console transcript. With no entry_id, clears every configured device's console.Fields: Config Entry ID
  • Add Selected ContactAdd the contact selected in the discovered contact select entity to your node's contact list.Fields: Config Entry ID
  • Remove Selected ContactRemove the contact selected in the added contact select entity from your node's contact list.Fields: Config Entry ID
  • Remove Discovered ContactRemove a discovered contact from the discovered contacts list. This will remove the contact from Home Assistant but does NOT remove it from your node's contact list. You can specify the pubkey_prefix directly, or leave it blank to use the selected contact from the discovered contact select entity.Fields: Public Key Prefix, Config Entry ID
  • Cleanup Unavailable ContactsRemove all unavailable MeshCore contact binary sensors from Home Assistant.Fields: Config Entry ID
  • Clear Discovered ContactsRemove discovered contacts and their associated binary sensor entities from Home Assistant. When days_threshold is specified, only contacts whose last update is older than the threshold are removed and contacts saved to the node are preserved. Without days_threshold, all discovered contacts are removed. This does NOT remove contacts from your node's contact list.Fields: Days Threshold, Config Entry ID
  • Get Discovered ContactReturn the full data dict for a single discovered (un-added) contact, matched by public-key prefix. In data-only mode discovered contacts have no per-contact entity, so this is the supported way to inspect one.Fields: Public Key Prefix, Config Entry ID

Troubleshooting

  • DiagnosticsDownloads a diagnostics file to attach to a bug report.
  • Repair noticesNotices it can show in Settings, Repairs:MeshCore public key changed

From the README

This custom integration connects Home Assistant to a MeshCore companion over USB, BLE or TCP. The companion is the radio that sends and receives on the mesh for Home Assistant. Use it to monitor and control the nodes of your MeshCore mesh.

The integration uses the meshcore-py library.

From the README of meshcore-dev/meshcore-ha, MIT License. Shortened.

Shows in Vulpo

Button card, Select card, Chart card, Apple Watch.

Information

Installs
573 sharing analytics
GitHub stars
281
Connection
Works locally
Upkeep
Updated in the last 6 months
Version
v3.0.3,
Category
Hubs and protocols, Wireless protocols
Kind
Marketplace integration
Needs
Added as a custom repository in the Marketplace
Domain
meshcore

You might also like

Independent directory, made by the developer of Vulpo. Not affiliated with Home Assistant or the Open Home Foundation. About these numbers