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
- ¿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.
- ¿Qué información de contexto: sensor, habitación, modo, usuario, hora — ¿algo más?
- ¿Se necesita un evento de fin de alerta? «La alarma ya no suena» es útil para apagar una sirena o guardar las luces.
- ¿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.
- ¿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).