Sobre el proyecto
Priority Command Arbitration for Home Assistant es una integración personalizada que introduce un sistema de prioridad de cinco niveles para controlar entidades. Resuelve el problema común en el que una automatización y una acción manual compiten por el mismo dispositivo, ganando siempre el último comando. En su lugar, cada comando puede llevar un nivel de prioridad (1 a 5), y el nivel ocupado con el número más bajo controla el dispositivo. Los niveles incluyen Manual Emergency, Automatic Emergency, Manual, Automatic y Default. Los comandos del mismo nivel se reemplazan entre sí; cuando se libera un nivel superior, el control pasa al siguiente nivel ocupado y ese comando se reemite tal como está en ese momento, no como una instantánea obsoleta.
La integración envuelve los servicios de dominio compatibles (light, switch, fan, cover, climate, water_heater, humidifier, lock, valve, media_player, input_boolean, input_number) y añade campos opcionales `priority` y `priority_ttl` a las llamadas de servicio. Estos campos aparecen como campos de formulario reales en el editor de automatizaciones, el editor de scripts, Developer Tools y las acciones de pulsación de botones. También proporciona cuatro servicios dedicados: `priority.set`, `priority.relinquish`, `priority.relinquish_all` y `priority.get` (un servicio de respuesta). Las anulaciones temporales se pueden establecer con un lease (`priority_ttl`), que sobrevive a los reinicios y expira limpiamente, recayendo en lo que Default quiera actualmente. Los cambios de interruptores físicos se detectan y se registran en Default sin reafirmar la anulación.
Las superficies de UI incluyen una fila en el diálogo more-info, una característica de tarjeta tile (`custom:priority-feature`), una tarjeta de anulaciones (`custom:priority-overrides-card`) y una tarjeta de control (`custom:priority-control-card`). Un sensor `Active overrides` informa el número de niveles retenidos. Las opciones de configuración permiten limitar el arbitraje a entidades seleccionadas, excluir entidades y establecer prioridades predeterminadas para usuarios y automatizaciones (ambas por defecto en 5, preservando el comportamiento existente). La integración se instala mediante HACS o copia manual, requiere Home Assistant 2026.8.1 o posterior y está licenciada bajo Apache 2.0.
Advertencias: reescribe el registro de servicios usando APIs internas, lo que puede romperse en actualizaciones del core (mitigado por pruebas de contrato y CI semanal). Los comandos suprimidos informan éxito incluso cuando no se despachan, lo cual es importante para cerraduras y válvulas. Las anulaciones en los niveles 1–4 se restauran tras los reinicios, y los niveles 1–2 se reemiten una vez después del arranque. El proyecto es nuevo pero está en uso diario en producción con una suite de pruebas.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.