SENTI SMARTBOXУМНЫЙ ДОМ ПО КОМПОНЕНТАМОб издании ↗
Разобрано

Практический журнал
о технике для дома

Разделы журнала +
← Все материалы
Датчики4 мин · 2026.10.29

Почему датчик показывает "неизвестно" и чем это отличается от нуля

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

Иллюстрация к материалу «Почему датчик показывает "неизвестно" и чем это отличается от нуля»
РАЗОБРАНО / Датчики РЕДАКЦИОННЫЙ МАТЕРИАЛ

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

Что объявляет интеграция

В Google SensorState описаны количественные измерения и качественные состояния. При объявлении возможностей каждого сенсора указываются числовой вариант, описательный вариант или оба сразу, причём при наличии обоих предпочтение отдаётся числу. Для описательных значений задаётся список состояний, а для числовых указывается единица rawValueUnit. Текущий ответ содержит соответствующие поля.

Состояние unknown предусмотрено, когда сенсор не возвращает значение. Наборы возможностей различаются по типам: углекислый газ описывается числом в частях на миллион, PM2.5 и PM10 измеряются в микрограммах на кубический метр. Для протечки в этой схеме перечислены словесные состояния, числовой вариант не предусмотрен. Общая надпись "датчик" в каталоге не раскрывает этих различий.

Документация определяет формат обмена с интеграцией Google Cloud-to-cloud. Она сама по себе не подтверждает метод измерения внутри конкретного прибора, его точность или доступность всех этих данных в стороннем приложении. Эти сведения нужно брать из документации модели и используемого подключения.

Как возникает ошибка в бытовом правиле

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

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

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

Сравните данные фирменного приложения с тем, что показывает выбранная домашняя платформа. Проверьте название показателя, единицу и доступные состояния. Разницу между ppm и микрограммами на кубический метр нельзя исправить заменой подписи: эти единицы относятся к разным физическим величинам.

Затем посмотрите, что происходит при временной недоступности прибора в безопасных условиях. Зафиксируйте, сохраняется ли старое число, появляется ли unknown и возвращается ли обновление после восстановления связи. Для такой проверки подходят информационные бытовые сценарии, проводить её на системе, от которой зависит безопасность людей, без соответствующей процедуры не следует.

Правило с уведомлением должно отдельно обрабатывать недоступные данные и проверяемое показание. Конкретные пороги выбирают по назначению прибора и подтверждённым требованиям, документация формата API таких порогов для квартиры не задаёт. Сохраните описание поля и единицу рядом с настройкой автоматизации, чтобы поздняя замена сенсора не меняла смысл условия незаметно.

Источник и права

Исходник: Smart Home SensorState Trait Schema, Google, документация Google Home Developers. Язык оригинала: английский. Режим: сокращённый перевод и редакционная адаптация. Использованы разделы Device ATTRIBUTES, Supported Sensors, Device STATES.

Текст оригинала опубликован по Creative Commons Attribution 4.0 International. Материал переведён на русский, сокращён и перестроен; программные примеры и тестовые задания опущены, добавлены пояснения и бытовые ситуации редакции. Адаптацию подготовило издание команды sentibox. Google и участники OpenThread не проверяли и не одобряли эту публикацию. Оригинальная схема редакции также доступна по CC BY 4.0.