Кейс 05

Маршрутизация бытовых и служебных уведомлений

Служебные сбои, восстановление и бытовые события направляются разным получателям, а повторы ограничиваются на уровне маршрута.

Контекст и задача

Уведомления из нескольких источников использовали общие каналы. В результате технические сообщения попадали всем, а повторяющееся событие могло создавать лишний шум.

Исходные ограничения
  • Не создавать постоянный поток повторяющихся сообщений
  • Сохранить уведомление о возвращении нормального состояния
  • Не отправлять служебные детали обычным пользователям
Изменение схемы

До

  • Бытовые и административные события не были разделены
  • Одинаковая ошибка могла отправляться многократно
  • Сообщение о восстановлении терялось среди повторов

После

  • Семейные пользователи получают только понятные бытовые сообщения
  • Административные события поступают ответственному получателю
  • Восстановление фиксируется отдельно от повторов ошибки
Принятая архитектура
Home Assistant как источник части бытовых событий
Классификация по типу, важности и состоянию
Отдельные семейные и административные маршруты
Мобильный канал для повседневных уведомлений
Telegram или XMPP для согласованных служебных сообщений
Ограничение частоты и дедупликация

Почему так: Разделение по назначению делает уведомление сигналом к действию, а не ещё одним техническим журналом.

Ход реализации
  • Зафиксировано исходное состояние
  • Собрана тестовая схема
  • Проверены рабочий сценарий и откат
  • Изменения переданы владельцу

Риски

  • Слишком сильное подавление способно скрыть повторный инцидент
  • Ошибка классификации отправит сообщение не тому получателю
  • Недоступность одного канала может оставить важное событие без доставки

Проверка

Для каждого класса проверялись первое событие, повтор, восстановление, выбранный получатель и поведение при недоступности одного канала.

Восстановление

Таблица маршрутов и ограничений хранится вместе с конфигурацией автоматизаций. Предыдущее правило можно вернуть без изменения самих источников событий.

Результат

Количество технического шума сократилось на уровне логики маршрута, при этом важные переходы состояния сохранились.

Следующий шаг

Разобрать похожую задачу

Архитектура всегда зависит от исходных ограничений. Начнём с безопасного описания текущего состояния.

Перейти к контактам