custom_components/omni_pca/ — drop-in HA integration: - manifest.json (HA 2026.x, iot_class=local_push, requires omni-pca lib) - config_flow.py — host/port/controller_key with auth + reauth steps, parse_controller_key() extracted as pure testable function - coordinator.py — OmniDataUpdateCoordinator with long-lived OmniClient, unsolicited push wiring, ConfigEntryAuthFailed on bad key, reconnect on err - binary_sensor.py — one entity per named zone, zone_type -> device_class map (OPENING/MOTION/SMOKE/etc), is_on derived from ZoneProperties.status - const.py, strings.json, translations/en.json, README.md - hacs.json at root for HACS distribution tests: 97 pass + 2 skip (HA harness not installed; importorskip in test_ha_imports.py). 12 cases for parse_controller_key validation. Ruff clean across src/ tests/ custom_components/. Status of HA component itself NOT validated against a running HA — needs that next.
14 lines
404 B
JSON
14 lines
404 B
JSON
{
|
|
"domain": "omni_pca",
|
|
"name": "HAI/Leviton Omni Panel",
|
|
"version": "2026.5.10",
|
|
"iot_class": "local_push",
|
|
"config_flow": true,
|
|
"dependencies": [],
|
|
"codeowners": ["@rsp2k"],
|
|
"requirements": ["omni-pca==2026.5.10"],
|
|
"documentation": "https://github.com/rsp2k/omni-pca",
|
|
"issue_tracker": "https://github.com/rsp2k/omni-pca/issues",
|
|
"integration_type": "hub"
|
|
}
|