프로젝트 소개
Home Assistant용 Priority Command Arbitration은 엔티티 제어에 5단계 우선순위 시스템을 도입하는 사용자 정의 통합입니다. 자동화와 수동 동작이 동일한 기기를 두고 충돌하고 항상 마지막 명령이 승리하는 일반적인 문제를 해결합니다. 대신 모든 명령은 우선순위 수준(1~5)을 가질 수 있으며, 점유된 가장 낮은 번호의 수준이 기기를 구동합니다. 수준에는 Manual Emergency, Automatic Emergency, Manual, Automatic, Default가 포함됩니다. 같은 수준의 명령은 서로 교체되며, 더 높은 수준이 해제되면 제어가 다음 점유 수준으로 넘어가고 그 명령은 그 시점의 상태 그대로 다시 발행되며 오래된 스냅샷이 아닙니다.
이 통합은 지원되는 도메인 서비스(light, switch, fan, cover, climate, water_heater, humidifier, lock, valve, media_player, input_boolean, input_number)를 래핑하고 서비스 호출에 선택적 `priority` 및 `priority_ttl` 필드를 추가합니다. 이 필드는 자동화 편집기, 스크립트 편집기, Developer Tools, 버튼 탭 동작에서 실제 양식 필드로 나타납니다. 또한 네 가지 전용 서비스를 제공합니다: `priority.set`, `priority.relinquish`, `priority.relinquish_all`, `priority.get`(응답 서비스). 임시 재정의는 리스(`priority_ttl`)로 설정할 수 있으며, 재시작 후에도 유지되고 깔끔하게 만료되어 현재 Default가 원하는 상태로 귀결됩니다. 물리적 스위치 변경은 감지되어 재정의를 다시 주장하지 않고 Default에서 기록됩니다.
UI 표면에는 more-info 대화 상자 행, 타일 카드 기능(`custom:priority-feature`), 재정의 카드(`custom:priority-overrides-card`), 제어 카드(`custom:priority-control-card`)가 포함됩니다. `Active overrides` 센서는 보유된 수준의 수를 보고합니다. 구성 옵션을 통해 중재를 선택한 엔티티로 범위 지정하고, 엔티티를 제외하고, 사용자와 자동화의 기본 우선순위를 설정할 수 있습니다(둘 다 기본값은 5이며 기존 동작을 유지). 이 통합은 HACS 또는 수동 복사로 설치되며, Home Assistant 2026.8.1 이상이 필요하고 Apache 2.0에 따라 라이선스가 부여됩니다.
주의사항: 내부 API를 사용하여 서비스 레지스트리를 다시 작성하므로 코어 업데이트 시 중단될 수 있습니다(계약 테스트와 주간 CI로 완화). 억제된 명령은 디스패치되지 않아도 성공을 보고하며, 이는 잠금과 밸브에 중요합니다. 수준 1~4의 재정의는 재시작 후에도 복원되며, 수준 1~2는 시작 후 한 번 다시 발행됩니다. 이 프로젝트는 신규이지만 테스트 스위트와 함께 일상적인 프로덕션에서 사용됩니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.