Sobre o projeto
Priority Command Arbitration for Home Assistant é uma integração personalizada que introduz um sistema de prioridade de cinco níveis para controlar entidades. Resolve o problema comum em que uma automação e uma ação manual disputam o mesmo dispositivo, com o último comando sempre vencendo. Em vez disso, cada comando pode carregar um nível de prioridade (1 a 5), e o nível ocupado de menor número controla o dispositivo. Os níveis incluem Manual Emergency, Automatic Emergency, Manual, Automatic e Default. Comandos no mesmo nível substituem-se mutuamente; quando um nível superior é liberado, o controle passa para o próximo nível ocupado e esse comando é reemitido conforme está naquele momento, não como um instantâneo obsoleto.
A integração envolve os serviços de domínio suportados (light, switch, fan, cover, climate, water_heater, humidifier, lock, valve, media_player, input_boolean, input_number) e adiciona campos opcionais `priority` e `priority_ttl` às chamadas de serviço. Esses campos aparecem como campos de formulário reais no editor de automação, editor de script, Ferramentas de Desenvolvedor e ações de toque de botão. Também fornece quatro serviços dedicados: `priority.set`, `priority.relinquish`, `priority.relinquish_all` e `priority.get` (um serviço de resposta). Substituições temporárias podem ser definidas com uma concessão (`priority_ttl`), que sobrevive a reinicializações e expira de forma limpa, recaindo sobre o que o Default deseja atualmente. Alterações em interruptores físicos são detectadas e registradas no Default sem reafirmar a substituição.
As superfícies de UI incluem uma linha de diálogo de mais informações, um recurso de cartão de bloco (`custom:priority-feature`), um cartão de substituições (`custom:priority-overrides-card`) e um cartão de controle (`custom:priority-control-card`). Um sensor `Active overrides` informa o número de níveis mantidos. As opções de configuração permitem limitar a arbitragem a entidades selecionadas, excluir entidades e definir prioridades padrão para usuários e automações (ambas padronizadas em 5, preservando o comportamento existente). A integração é instalada via HACS ou cópia manual, requer Home Assistant 2026.8.1 ou mais recente e é licenciada sob Apache 2.0.
Ressalvas: ela reescreve o registro de serviços usando APIs internas, o que pode quebrar em atualizações do núcleo (mitigado por testes de contrato e CI semanal). Comandos suprimidos relatam sucesso mesmo quando não são despachados, o que é importante para fechaduras e válvulas. Substituições nos níveis 1–4 são restauradas após reinicializações, com os níveis 1–2 reemitidos uma vez após a inicialização. O projeto é novo, mas está em uso diário em produção com uma suíte de testes.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.