Una entidad de sirena es un dispositivo cuyo propósito principal es controlar dispositivos de sirena como un timbre. Derivar plataformas de entidades de homeassistant.components.siren.SirenEntity
Esto es una novedad de la versión 2021.8 de Home Assistant
Propiedades
PROPINA
Las propiedades siempre solo deben devolver información de la memoria y no realizar E / S (como solicitudes de red). Implementar update()
o async_update()
recuperar datos o crear un mecanismo para enviar actualizaciones de estado a la instancia de la clase de entidad.
Nombre | Escribe | Defecto | Descripción |
---|---|---|---|
Está encendido | bool | NotImplementedError() | Si el dispositivo está encendido o apagado. |
tonos_disponibles | lista o dictado | NotImplementedError() | La lista o diccionario de tonos disponibles en el dispositivo para pasar al turn_on servicio. Si se proporciona un diccionario, cuando un usuario usa el valor dict de un tono, se convertirá a la clave dict correspondiente antes de pasar a la plataforma de integración. Requiere SUPPORT_TONES característica. |
Tonos de Sirena
Un dispositivo puede tener diferentes tonos que se reproducen. Las integraciones son responsables de proporcionar los tonos disponibles cuando se admiten.
Funciones compatibles
Las constantes de características admitidas se combinan mediante el |
operador bit a bit o ( ).
Nombre | Descripción |
---|---|
SUPPORT_TONES | El dispositivo admite diferentes tonos (el tono se puede pasar al turn_on servicio). |
SUPPORT_DURATION | El dispositivo admite establecer una duración para el tono (la duración se puede pasar al turn_on servicio). |
SUPPORT_VOLUME_SET | El dispositivo admite la configuración del nivel de volumen del dispositivo (el nivel de volumen se puede pasar al turn_on servicio). |
Métodos
Encienda
Hay tres parámetros de entrada opcionales que se pueden pasar a la llamada de servicio, cada uno de los cuales está controlado por una marca de función admitida. Si el indicador correspondiente no se establece cuando se proporciona un parámetro de entrada determinado en la llamada de servicio, la plataforma base lo filtrará de la llamada de servicio antes de pasarlo a la integración.
Nombre del parámetro | Validación de datos | Bandera de función admitida |
---|---|---|
tone | vol.Any(vol.Coerce(int), cv.string) | SUPPORT_TONES |
duration | cv.positive_int | SUPPORT_DURATIONS |
volume_level | cv.small_float | SUPPORT_VOLUME_SET |
class MySirenEntity(SirenEntity): # Implement one of these methods.
def turn_on(self, **kwargs) -> None: """Turn the device on."""
async def async_turn_on(self, **kwargs) -> None: """Turn the device on."""
Apagar
class MySirenEntity(SirenEntity): # Implement one of these methods.
def turn_off(self, **kwargs): """Turn the device off."""
async def async_turn_off(self, **kwargs): """Turn the device off."""