Alarma: estado „activada“ y más contexto en las escenas

La necesidad

Gladys tiene un modo Pánico, y hoy es lo más parecido cuando suena la alarma. Pero no es lo mismo: el pánico es alguien que presiona voluntariamente un botón. Una intrusión es un sensor que detecta algo. Ambos merecen reacciones diferentes, y debemos poder distinguirlos en una escena.

Segundo problema: cuando una escena reacciona a la alarma, casi no sabe nada. No sabe qué sensor la activó, en qué habitación, en qué modo estaba la alarma, quién la desactivó. Es imposible enviar una notificación que diga «Intrusión — puerta del garaje» en lugar de una «alarma activada» anónima.

Por último, dos pequeños problemas ya señalados en otro lugar del foro se relacionan naturalmente aquí: probar varios modos a la vez en una condición y activar una escena al ingresar un código.

Lo que se espera

Desencadenantes de escenas que cubran toda la vida de la alarma:

  • activación solicitada, alarma armada, alarma desarmada
  • inicio del retraso de entrada
  • alarma activada — diferenciando intrusión y pánico
  • código ingresado, código rechazado, sensor ignorado

Y para cada uno, un contexto utilizable en las acciones: el modo, el sensor, la habitación, el usuario, la hora.

¿Cómo se vería esto?

CUANDO
   Alarma  ▸  activada por una intrusión

SI
   Alarma  ▸  el modo es  [ Noche ]  [ Ausencia ]

ENTONCES
   Sirena sala de estar   ▸  activar
   Luces        ▸  encender todo
   Notificación    ▸  « Intrusión: {{alarma.sensor}}
                       ({{alarma.habitación}}) a {{alarma.hora}} »

Preguntas por resolver

  1. ¿Cuál es la lista exacta de desencadenantes a exponer? Demasiados pocos y volvemos al bricolaje; demasiados y el editor de escenas se vuelve ilegible.
  2. ¿Qué información de contexto: sensor, habitación, modo, usuario, hora — ¿algo más?
  3. ¿Se necesita un evento de fin de alerta? «La alarma ya no suena» es útil para apagar una sirena o guardar las luces.
  4. ¿Debe el motor de alarma proponer acciones predeterminadas (activar una sirena designada), o dejar todo a las escenas? El lado «nada está impuesto» es coherente con Gladys, pero obliga a cada uno a escribir al menos una escena para que la alarma haga ruido.
  5. ¿Se necesita un historial de eventos de alarma consultable en la interfaz, independientemente de las escenas? ¿Qué profundidad?

Complejidad y dependencias

Media. Una parte se hace sin esperar nada: las condiciones multi-modo, el desencadenante en código, la distinción pánico/intrusión. El contexto «¿qué sensor activó?» supone, sin embargo, que Gladys conozca los sensores de la alarma — ver Alarma: declarar los sensores vigilados y elegir cuáles están activos en cada modo.


Esta solicitud forma parte de un conjunto derivado de la discusión Sistema de alarma Gladys (necesidades F01 y F06).

Hola Cicoub13.

Aquí está mi opinión :slight_smile:

La distinción entre sensor y zona (planta baja, garaje, entrada, etc.) es indispensable para adaptar las reacciones.
Ejemplo : Una notificación como « Intrusión detectada : puerta del garaje (modo Ausente) » es más informativa que « Alarma activada ».
Si el sensor no es identificable, hacer subir la información de la habitación → nombre del sensor

Eventos de Alarma a hacer subir :

  • Armado (solicitado, en curso con tempo de salida, confirmado).
  • Desencadenamiento (intrusión, pánico, código ingresado/rechazado).
  • Fin del desencadenamiento (para apagar las sirenas o reiniciar las escenas).
  • Desarmado

-> Permite crear escenas contextuales (ej : « Si alarma activada en modo Ausente ENTONCES activar cámaras + enviar alerta »).

Historial de eventos

Lista de eventos :

  • Fecha/hora, sensor desencadenante, modo (Ausente/Casa), usuario (quien armó/desarmó).
  • Pestaña dedicada en la interfaz con posibilidad de filtrar (por fecha, modo, sensor).

Ejemplo :
El 19/09 a las 12:00, alarma activada por el sensor ‹ Ventana cocina › en modo Ausente.
El 19/09 a las 13:00, alarma desarmada por Vecino con ingreso del código.
El 19/09 a las 13:15, alarma armada por Vecino con teclado de comando Garaje.