{"id":31029812,"url":"https://github.com/meshcore-dev/meshcore-ha","last_synced_at":"2026-04-02T21:45:20.129Z","repository":{"id":282673100,"uuid":"947424127","full_name":"meshcore-dev/meshcore-ha","owner":"meshcore-dev","description":"Home Assistant integration for monitoring and controlling MeshCore radio networks","archived":false,"fork":false,"pushed_at":"2026-02-28T20:50:18.000Z","size":787,"stargazers_count":123,"open_issues_count":30,"forks_count":33,"subscribers_count":11,"default_branch":"main","last_synced_at":"2026-02-28T22:35:47.095Z","etag":null,"topics":["ha","homeassistant","homeassistant-integration","lora","lorawan","mesh","meshcore","radio"],"latest_commit_sha":null,"homepage":"https://meshcore.co.uk/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meshcore-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-12T17:02:12.000Z","updated_at":"2026-02-28T19:07:59.000Z","dependencies_parsed_at":"2025-05-18T07:21:20.754Z","dependency_job_id":"21afad6a-e9ba-4b4b-8a3b-6b78a6ea63be","html_url":"https://github.com/meshcore-dev/meshcore-ha","commit_stats":null,"previous_names":["awolden/meshcore-ha","meshcore-dev/meshcore-ha"],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/meshcore-dev/meshcore-ha","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meshcore-dev%2Fmeshcore-ha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meshcore-dev%2Fmeshcore-ha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meshcore-dev%2Fmeshcore-ha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meshcore-dev%2Fmeshcore-ha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meshcore-dev","download_url":"https://codeload.github.com/meshcore-dev/meshcore-ha/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meshcore-dev%2Fmeshcore-ha/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30032362,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-03T03:27:35.548Z","status":"ssl_error","status_checked_at":"2026-03-03T03:27:09.213Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ha","homeassistant","homeassistant-integration","lora","lorawan","mesh","meshcore","radio"],"created_at":"2025-09-13T22:52:39.393Z","updated_at":"2026-04-02T21:45:20.124Z","avatar_url":"https://github.com/meshcore-dev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![MeshCore Banner](images/meshcore-bg.png)\n\n# MeshCore for Home Assistant\n\n[![Add Integration](https://my.home-assistant.io/badges/config_flow_start.svg)](https://my.home-assistant.io/redirect/config_flow_start/?domain=meshcore)\n[![Add Repository](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=meshcore-dev\u0026repository=meshcore-ha\u0026category=integration)\n\nThis is a custom Home Assistant integration for MeshCore mesh radio nodes. It allows you to monitor and control MeshCore nodes via USB, BLE, or TCP connections.\n\n\u003e :warning: **Work in Progress**: This integration is under active development. BLE connection method hasn't been thoroughly tested yet.\n\nCore integration is powered by [meshcore-py](https://github.com/meshcore-dev/meshcore_py).\n\n---\n\n## 📖 Documentation\n\n### **[➡️ View Full Documentation](https://meshcore-dev.github.io/meshcore-ha/)**\n\n**Everything you need to know:**\n- ✅ Complete feature list\n- ✅ Configuration guides  \n- ✅ Sensor documentation\n- ✅ Service descriptions\n- ✅ Automation examples\n- ✅ Dashboard templates\n- ✅ Troubleshooting guides\n\n---\n\n## Installation\n\n### HACS Installation (Recommended)\n\n1. Make sure you have [HACS](https://hacs.xyz/) installed\n2. Add this repository as a custom repository in HACS:\n   - Go to HACS \u003e Integrations\n   - Click on the three dots in the top right corner\n   - Select \"Custom repositories\"\n   - Add the URL of this repository\n   - Select \"Integration\" as the category\n3. Click \"Install\" on the MeshCore integration\n\n### Manual Installation\n\n1. Copy the `custom_components/meshcore` directory to your Home Assistant `custom_components` directory\n2. Restart Home Assistant\n\n## Quick Start\n\n1. Go to **Settings** \u003e **Devices \u0026 Services**\n2. Click **+ Add Integration** and search for \"MeshCore\"\n3. Follow the setup wizard to configure your connection\n\nFor detailed configuration instructions, see the [documentation](https://meshcore-dev.github.io/meshcore-ha/).\n\n## MQTT Upload (Addon/Container Env)\n\nConfiguration can be done in the Home Assistant Web UI:\n\n- Settings -\u003e Devices \u0026 Services -\u003e MeshCore -\u003e Configure\n- MQTT Global Settings\n- MQTT Broker Settings (Broker 1-4)\n\nAuth-token mode is easy install by default:\n\n- `meshcore-decoder` is optional.\n- If `meshcore-decoder` is not available, the integration automatically falls back to in-process Python signing (`PyNaCl`).\n- Signing key is pulled from the connected node via `export_private_key()`.\n- If private key export is disabled/blocked on firmware, auth-token upload cannot start.\n\n## Map Auto Uploader (map.meshcore.dev)\n\nWhen enabled (off by default), the integration automatically uploads repeater and room server adverts to [map.meshcore.dev](https://map.meshcore.dev) when your Companion hears them. This integrates the [map.meshcore.dev-uploader](https://github.com/recrof/map.meshcore.dev-uploader) bot directly into the MeshCore Home Assistant integration—no separate bot needed. Enable in Global Settings if you want Map Auto Uploader.\n\n- Uses the same connection as Home Assistant (USB, BLE, or TCP)\n- Requires private key export on firmware (`ENABLE_PRIVATE_KEY_EXPORT=1`)\n- Replay protection and signature verification built-in\n\n## Development\n\n### Local Development Setup\n\n1. Clone this repository\n2. Copy `custom_components/meshcore` to your Home Assistant config directory\n3. Restart Home Assistant\n4. Add the integration through the UI\n\n### Testing\n\nRun tests with pytest:\n```bash\npytest tests/\n```\n\n## Support and Development\n\n- Report issues on [GitHub Issues](https://github.com/meshcore-dev/meshcore-ha/issues)\n- Contributions are welcome via pull requests\n- Documentation contributions are also welcome!\n\n## Requirements\n\n- Home Assistant (version 2023.8.0 or newer)\n- MeshCore node with firmware that supports API commands\n- For BLE: Bluetooth adapter on the Home Assistant host (direct connection only; proxy connections don't work with PIN pairing)\n- For USB: USB port on the Home Assistant host\n\n## License\n\nThis project is licensed under the MIT License - see the LICENSE file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeshcore-dev%2Fmeshcore-ha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeshcore-dev%2Fmeshcore-ha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeshcore-dev%2Fmeshcore-ha/lists"}