Перейти к содержанию

Главная / Статьи

Связь и видимые состояния

Нет связи с устройством: что должен показывать экран Home Assistant

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

Понятный разборСхема и короткие шаги

Серая лампа может означать слишком многое

Человек видит серую карточку и решает, что свет выключен. На деле интеграция не отвечает, а физическая лампа может продолжать гореть. Если интерфейс не различает эти ситуации, он создаёт ложное ощущение контроля. Удобный экран должен объяснять и обычное состояние, и отсутствие достоверного ответа.

Начните с одного устройства: что значит off в его интеграции, откуда приходит unavailable, когда возможно unknown? Запишите реальные значения и поддерживаемую обратную информацию. Не меняйте их смысл только ради одинакового цвета всех карточек. На семейном экране человеку важнее понятная фраза, чем технический код состояния.

Разделите состояние и возможность его узнать

У сущности есть значение и дополнительные свойства, а способ их получения зависит от интеграции. HA описывает состояния сенсоров в документации Sensor. Строка unknown не является числом, а unavailable не означает выключение физического прибора.

Схема ниже показывает три условных сообщения. «Выключен» используется при подходящем известном состоянии. «Нет связи» объясняет недоступность. «Нет данных» не притворяется готовым измерением. В своей системе сверьте формулировку с источником, особенно если карточка показывает группу или расчётный показатель, а не одно устройство.

  1. 01Известное состояние«Свет выключен» — источник даёт подходящее подтверждение.
  2. 02Нет связи«Устройство недоступно» — проверить путь, использовать ручной способ.
  3. 03Нет данных«Значение неизвестно» — не подставлять ноль или прежний результат.
Карточка показывает состояние устройства, потерю связи или отсутствие данных.

Сохранённое значение и новое измерение

Температура на экране может выглядеть правдоподобно, даже когда новых данных давно нет. Одновременно неизменившееся число не обязательно означает молчащий датчик: он мог снова сообщить ту же температуру. Для проверки нужны признаки, которые действительно относятся к получению данных в вашей интеграции.

Не используйте время последнего изменения числа как универсальный таймер связи. Узнайте, какие сведения доступны у конкретного источника: отметка сообщения, признак availability, история обновлений. Если их нет, честно оставьте ограничение. Интерфейс не должен придумывать точную свежесть, которую система не умеет подтверждать.

Не превращайте ошибку в удобное число

Расчётная карточка иногда преобразует значение сенсора в число и подставляет ноль при ошибке. Для температуры, мощности или уровня такой ноль может иметь вполне реальный смысл. Поэтому сообщение о недоступности нужно сохранить отдельно от самого вычисления; иначе проблема растворится в красивом графике.

У Template предусмотрена проверка availability. Если создаёте производную сущность, посмотрите её условия и отдельно проверьте unknown/unavailable. Это не универсальная строка YAML для копирования: источники и смысл результата отличаются. Текущий показанный показатель также может быть расчётным, а не новым показанием устройства.

Покажите проблему, а не просто спрячьте карточку

Условная видимость полезна для отдельных состояний. Например, при недоступности вместо обычного управления можно показать объяснение и ручной способ. Если вы лишь скрываете карточку, человеку сложнее понять, что устройство вообще есть и почему привычное действие исчезло. Особенно это заметно на общем домашнем экране.

В документации Conditional описаны условия видимости; проверять их нужно вне режима редактирования. Сначала испытайте обычное, неизвестное и недоступное состояние на отдельном примере. Скрытие элемента интерфейса не является ограничением выполнения команды: необходимые условия проверяются там, где действие действительно запускается.

Команда отправлена и результат подтверждён

После нажатия человек должен понимать, какой факт обновился: HA принял действие, интеграция ответила или физическое устройство изменилось. Для диагностики эти подтверждения полезно разделять. В опыте с Алисой результат привязан к конкретной проверенной команде; он не распространяется на остальные функции.

Не перекрашивайте состояние как окончательное только ради мгновенной реакции кнопки, если источник ещё не подтвердил его. Если выбранная интеграция использует optimistic-отображение, объясните его пределы владельцу. Для групп дополнительно посмотрите состояние каждого участника: общая отметка может скрывать одну неответившую лампу.

Проверяйте и источник расчётной карточки

Условный экран показывает расход энергии из производного счётчика. Число осталось доступным, хотя исходный датчик перестал отвечать. Для человека это может выглядеть как продолжающееся измерение. Некоторые настройки Utility Meter позволяют сохранять последнее накопленное значение при недоступном источнике; смысл этой доступности нужно учитывать отдельно от связи с прибором.

В такой схеме проверяйте две сущности: исходное измерение и расчётный результат. Подпись «накоплено» может оставаться полезной, а рядом требуется понятный признак, что новые данные сейчас не поступают. Не скрывайте сам итог только ради одинакового поведения карточек, но и не обозначайте его как свежий физический замер. Повторите проверку после возврата источника и сравните дальнейшее изменение. Такой же вопрос полезен для любого объединённого показателя: что именно подтвердило общее число и какие части сейчас неизвестны? Понятный экран сохраняет полезную информацию, не выдавая её за подтверждение всей цепочки.

Проверьте понятность трёх состояний

  1. Обычная работа. Текст, значение и физическое состояние соответствуют выбранной функции.
  2. Нет данных. Не возникает ложного нуля, «закрыто» или «выключено» без источника.
  3. Недоступность. Видно, какая функция требует проверки и какой ручной способ остаётся.
  4. Возврат. Новый результат возвращает обычный вид без лишних дублей и старых обещаний.
  5. Телефон другого пользователя. Проверка выполняется без редактора и без подсказки автора; нужные условия видимости проверены.

Коротко по делу

Показать потерю связи на экране HA

  1. Различай выключено, неизвестно и недоступно. Не заменяй последние два состояния спокойной серой кнопкой «выкл».
  2. Покажи понятное сообщение и доступный ручной способ. Свежее состояние проверяй по возможностям интеграции.
  3. Проверь экран при потере и возврате связи, затем выполни безопасную команду с подтверждением.

Как понять результат. Человек видит, что известно системе сейчас, и не принимает потерю связи за выполненную команду.

Продолжить по своей задаче

Собрать понятный экран →Понять общий статус группы →Найти место сбоя →Все бытовые разборы →