github meshcore-dev/meshcore-ha v2.7.0

5 hours ago

Features

  • Self-diagnostic sensors for the companion node (#251) — opt-in polling of the locally-attached companion's get_stats_core / get_stats_radio / get_stats_packets, exposed as 13+ new sensors on the main device. Local-transport queries only — no mesh traffic.
  • Region-scoped channel broadcasts (#250) — new scope parameter on meshcore.send_channel_message for TC_FLOOD region-scoped sends. Optional flood_scopes allowlist in global settings labels incoming scoped messages with their region name.
  • Remove orphan devices from the UI (#247) — repeater, client, and contact devices that are no longer tracked can now be deleted via the HA device page. Hub and live devices are refused. Closes #229.
  • Repeater neighbor count sensor (#228) — per-repeater count of active neighbors derived from the existing neighbor list.
  • hop_count + snr on incoming channel messages (#245) — logbook event now carries SNR and hop count for channel traffic, matching the existing DM behavior.
  • Conditional recipient type selection (#218) — adapts the message-input UI based on the chosen recipient.

Fixes

  • Region-scope (TC_FLOOD) RX_LOG correlation (#246) — fixes a 4-byte transport-code offset that broke RX_LOG correlation for all region-scoped messages and corrects the AES plaintext offset. Closes #237, #242, #198.
  • path_hash_size on rx_log correlation entry (#249) — completes #226 by propagating the per-hop hash width to every consumer of meshcore_message.
  • execute_command response normalization (#248) — req_*_sync helpers that return plain dicts, lists, scalars, or None are now surfaced correctly instead of being silently dropped or raising a confusing error.
  • Discovered-contact cleanup post-#236 (#252) — repairs four cleanup paths that the #236 unique_id migration left looking up entities by the old format.
  • Recorder cap on discovered-contact select (#254) — options is now excluded from recorder state, dodging the 16 KiB per-state attribute cap that fired warnings on dense meshes. Closes #243.
  • Removed hass.helpers.entity_registry.async_get() accessor (#253) — switched to er.async_get(hass) in three contact services. Fixes AttributeError on recent HA core.
  • MQTT startup wait (#244) — fixes a task that blocked HA boot.
  • recv errors as count + measurement (#239) — corrects sensor types.
  • multi-entry message_sent fan-out (#235) — filters by entry_id.
  • Contact-diagnostic unique_id scoping (#236) — scoped by entry_id with one-time migration.
  • TZ-aware UTC timestamp on meshcore_message (#234).
  • RX_LOG multi-byte path size parsing (#226).

Docs

  • Companion Integration API page (#217)
  • ESPHome BLE bridge workaround (#223)
  • Discord community channel linked in README + docs site

Notes

  • Minimum Home Assistant version remains 2023.8.0.
  • The meshcore-py floor is >=2.3.7 (was bumped in #222).
  • #236's unique_id migration runs once per install on first start of this release. Entities migrate automatically. Users on the broken cleanup state from earlier #236-only installs will see the Phase 4 orphan sweep clean up stale registry entries (covered by #252).
  • #251 self-diagnostics defaults off. Enable in Global Settings if you want the new sensors.

Don't miss a new meshcore-ha release

NewReleases is sending notifications on new releases.