Custom Home Assistant integration for pyMC_Repeater.
This integration connects directly to the repeater's local HTTP API, signs in once with the admin password, creates a dedicated API token for Home Assistant, and then uses that token for ongoing polling and history-friendly logging inside HA.
- UI config flow inside Home Assistant
- Prompts for repeater IP or hostname, port, and admin password
- Automatically creates a dedicated API token for Home Assistant
- Stores the API token instead of the admin password after setup
- Polls repeater telemetry, packet stats, radio metrics, hardware stats, database stats, MQTT status, ACL stats, and identity totals
- Exposes Home Assistant sensors and binary sensors for easy dashboards, history graphs, and automations
- A running pyMC_Repeater instance
- The repeater web/API port reachable from Home Assistant
- The repeater admin password
- A trusted local network, VPN, or other secure path between Home Assistant and the repeater
This integration is intended to be installed in HACS as a custom repository.
-
Open Home Assistant.
-
Go to
HACS->Integrations. -
Open the top-right menu and select
Custom repositories. -
Paste:
https://github.com/pyMC-dev/pyMC-HA-Integration -
Choose
Integrationas the category. -
Add the repository.
-
Find
pyMC Repeaterin HACS and install it. -
Restart Home Assistant.
-
Copy the
custom_components/pymc_repeaterfolder into your Home Assistant config directory:/config/custom_components/pymc_repeater -
Your final layout should look like this:
/config/custom_components/pymc_repeater/__init__.py /config/custom_components/pymc_repeater/manifest.json /config/custom_components/pymc_repeater/config_flow.py ... -
Restart Home Assistant.
After installation and restart:
- Open
Settings->Devices & Services. - Click
Add Integration. - Search for
pyMC Repeater. - Enter:
- Repeater IP address or hostname
- Repeater HTTP API port
- Repeater admin password
- Click
Submit.
During setup the integration will:
- Connect to the repeater API
- Sign in as
admin - Create a dedicated API token for Home Assistant
- Save that token in the config entry
- Discard the admin password after the setup flow finishes
- Start polling repeater data automatically
Version 1.0.0 includes entities for:
- repeater version and build info
- total, transmitted, and dropped packets
- average RSSI, SNR, and TX delay
- average noise floor
- MQTT broker connection state
- ACL client totals
- registered identity totals
- database size
- CPU, memory, disk usage, and uptime
A native Lovelace dashboard template is included at:
dashboards/pymc_repeater_dashboard.yaml
To use it:
- Open the YAML file from this repo.
- Replace
REPEATER_SLUGwith your actual entity prefix. Example:repeater_name_here - In Home Assistant, create a new dashboard or open an existing one in raw YAML mode.
- Paste the template YAML.
- Update the example MQTT broker and companion entity rows in the
Networkview so they match the dynamic entities created in your installation.
The template only uses built-in Home Assistant cards, so it does not require extra frontend dependencies.
- The repeater API is currently accessed over
http:// - Use this integration only on a trusted network, or place both systems behind a VPN or another secure transport boundary
- If the API token is revoked on the repeater, Home Assistant should trigger reauthentication
custom_components/pymc_repeater/
__init__.py
api.py
binary_sensor.py
config_flow.py
const.py
coordinator.py
diagnostics.py
manifest.json
sensor.py
translations/en.json
brand/icon.png
brand/icon@2x.png
dashboards/
pymc_repeater_dashboard.yaml
hacs.json
README.md
- The config flow follows current Home Assistant custom integration patterns with
manifest.json,config_flow.py, andtranslations/en.json - The integration uses coordinated polling rather than per-entity API calls
- The client implementation matches the current pyMC_Repeater auth flow:
POST /auth/loginPOST /api/auth/tokens- ongoing reads with
X-API-Key
- The integration version is defined in
custom_components/pymc_repeater/manifest.json - GitHub Actions validate HACS compatibility, Hassfest, and a Python smoke test on every push and pull request
- Dependabot monitors the workflow dependencies automatically
- For the first stable release, create a Git tag and GitHub release for
v1.0.0