A comprehensive Home Assistant integration for MeshCore mesh networking, featuring interactive maps, heatmaps, signal tracking, and automated contact management.
- Node Map - Shows all nodes by type (Repeater 📡, Client 📱, Room Server 💬)
- Hop Frequency Heatmap - Visualizes which repeaters handle the most traffic
- Direct Links Heatmap - Shows 1-hop direct connections between nodes
- Auto-greeting - Welcomes new companions on Public channel
- Auto-cleanup - Removes old contacts (30+ days) from HA and device
- Persistence - Survives HA reboots
- Open HACS in Home Assistant
- Click on "Integrations"
- Click the three dots menu → "Custom repositories"
- Add repository URL:
https://github.com/yourusername/meshcore-ha-panel - Select category: "Integration"
- Click "Add"
- Search for "MeshCore Panel" and install
- Restart Home Assistant
- Go to Settings → Integrations → Add Integration → "MeshCore Panel"
- Download the latest release
- Copy
custom_components/meshcore_panelto yourconfig/custom_components/folder - Copy contents of
www/to yourconfig/www/folder - Restart Home Assistant
- Go to Settings → Integrations → Add Integration → "MeshCore Panel"
During setup, you'll be asked for:
| Setting | Description |
|---|---|
| Repeater Pubkey | First 12 characters of your repeater's public key |
| Your Name | Name shown in greeting messages |
| Enable Greeting | Auto-greet new contacts on Public channel |
| Enable Cleanup | Auto-remove contacts older than 30 days |
Create these helpers in Home Assistant:
| Helper | Type | Default |
|---|---|---|
input_number.meshcore_advert_threshold_hours |
Number (1-720) | 12 |
input_number.meshcore_messages_threshold_hours |
Number (1-720) | 24 |
input_number.meshcore_heatmap_threshold_hours |
Number (1-720) | 168 |
Add iframe cards for the maps:
type: iframe
url: /local/meshcore_heatmap.html
aspect_ratio: "4:3"type: iframe
url: /local/meshcore_nodemap.html
aspect_ratio: "4:3"type: iframe
url: /local/meshcore_directlinks.html
aspect_ratio: "4:3"- Home Assistant 2024.1+
- MeshCore Integration installed
MIT License



