github meshcore-dev/meshcore-ha v2.5.0

11 hours ago

What's New

Map Auto Uploader

Automatically uploads repeater and room server adverts to map.meshcore.dev when your companion hears them. No separate bot needed. Enable in Global Settings. Requires ENABLE_PRIVATE_KEY_EXPORT=1 on firmware. (#163)

Message Delivery Feedback

New Last Message Delivery sensor shows real-time delivery status for sent messages. Channel messages show repeater count (progressive updates as relays arrive). Direct messages show ACK confirmation. (#168)

Instant Message Delivery

Subscribes to the firmware's MESSAGES_WAITING push notification for near-instant message fetching instead of waiting for the poll interval. (#177)

Reconfigure Connection

Change your connection type (USB/BLE/TCP) or parameters without deleting and re-adding the integration. All settings are preserved. Look for the "Reconfigure" button on the integration page. (#187)

Public Key Change Detection

Detects when a companion device's public key changes (e.g., after firmware reflash) and automatically migrates all entity IDs. Creates a repair notification for any manual references that need updating. (#169)

Companion Prefix Sensor

New sensor showing the device's routing prefix based on path_hash_mode, with live updates from SELF_INFO events. (#169)

Fixes

  • Repeater status/telemetry timeouts — Fixed login check (was comparing against wrong event type), switched to SDK sync methods with firmware-calculated timeouts. Multi-hop repeaters now respond reliably. (#185)
  • coordinator.data set to None_async_update_data now returns result_data so HA's coordinator framework has valid data. Fixes NoneType has no attribute 'get' crashes. (#171)
  • Repeater firmware version not updating — Re-queries firmware version when editing a repeater in Manage Devices. (#179)
  • Edit repeater clears password — Password field no longer gets overwritten with empty string when saving other settings. (#179)
  • set_flood_scope type — Fixed parameter type from int to str. (#181)
  • Conditional message polling — Replaced unconditional get_msg() every 5s with a 60-second safety-net poll, reducing ~17,280 unnecessary commands/day on quiet meshes. (#186)
  • mesh_core returns None when disconnected — Prevents startup crashes when device isn't available. (#163)
  • ConfigEntryNotReady on connection failure — HA retries connection automatically instead of leaving the integration in a broken state. (#173)

Other

  • Dutch and Slovak translations for new features
  • Last command result sensor for dashboard CLI feedback (#163)
  • Channel select now filters unused/empty channels (#163)
  • execute_command supports return_response for automation use (#169)
  • OptionsFlow updated to HA 2024+ pattern (#163)
  • Deprecated logger.warn() calls replaced with logger.warning()

Don't miss a new meshcore-ha release

NewReleases is sending notifications on new releases.