Штаты и точки данных

Точка данных — это место, где хранится значение: температура в комнате, состояние включения лампы, название воспроизводимого в данный момент трека.

Оно состоит из двух частей:

  • объект типаstate - описание, которое редко меняется (см. объекты ),
  • Государство — это сама ценность, которая постоянно меняется.

В повседневной речи термин «точка данных» обычно означает оба показателя вместе.

Только объекты типаstate У них есть состояние. И направление ясно: если объект удален, состояние исчезает вместе с ним — и наоборот, объект остается, если удалено только значение.

Состояние

Государство — это не просто цифра. Оно также отражает свое происхождение и время возникновения:

ПолеЗначение
valзначение
ackБудь то команда или ответ — см. ниже.
tsкогда значение было записано в последний раз
lcкогда он в последний раз действительно изменился
fromкакой экземпляр адаптера это написал
qЗначение качества, отличное от 0, означает: с этим значением что-то не так.
userкто это написал, при условии, что они зарегистрировались
expireЧерез сколько секунд значение изменится?null водопады
Die Zustandsdaten eines Datenpunkts im Objekt-Editor

В редакторе объектов все это находится на вкладке «Состояние». Флаг «ack» там означает «подтверждено» — на изображении он показан красным цветом, поскольку значение представляет собой команду , и обратной связи пока нет.

Разница междуts иlc Это полезнее, чем кажется: датчик, который сообщает одно и то же значение каждые 30 секунд, обновляет его.ts каждый раз,lc Но только если произошли реальные изменения. Любой, кто хочет узнать, как долго дверь была открыта, должен посмотреть на...lc .

Флаг ack

Это термин, на котором большинство людей зацикливаются, — и это самый важный термин на этой странице.

  • ack: falseЭто команда. «Включи лампу». Так пишется скрипт в автоматизации, как переключатель в визуализации.
  • ack: trueЭто ответ. «Лампа включена». Так пишет адаптер после подтверждения устройством.

Процесс выглядит следующим образом: скрипт устанавливает значение с помощьюack: false Адаптер видит это, отправляет команду устройству, и когда устройство отвечает, оно снова записывает ту же точку данных — на этот раз сack: true .

Если вы не различаете эти два момента при запуске автоматизации, вы создаёте замкнутый круг обратной связи: скрипт переключается, устройство подтверждает действие, подтверждение снова запускает скрипт. Общее правило: прислушивайтесь к обратной связи, отправляйте команды. Подробнее см. раздел «Логика и автоматизация» .

Это можно увидеть в панели администратора: в списке объектов значение неподтвержденного состояния выделено. Точка данных, которая остается постоянно неподтвержденной, указывает на то, что команда не достигла устройства.

Описание этого

Объект, связанный с точкой данных, определяет способ обработки значения. Поля, имеющие отношение к повседневной жизни, перечислены вcommon :

ПолеЗа что
typenumber ,string ,boolean ,array ,object ,json ,mixed , file
nameотображаемое имя на одном или нескольких языках
unitединица, например°C или%
min ,max ,stepДопустимый диапазон и шаг изменения, например, для контроллера.
read ,writeРазрешены ли чтение и письмо – оба навыка обязательны.
roleчто представляет собой данная точка данных; затем интерфейсы выбирают соответствующие элементы управления, см. Роли.
statesсписок возможных значений в открытом текстовом виде, например {0: "AUS", 1: "EIN"}
defцелевое значение
customНастройки других адаптеров для этой точки данных — например, запись вводится здесь.

read иwrite Это не права, а утверждение об устройстве: датчик температуры — этоread: true, write: false Тот, кто всё же введёт это значение, не получит ошибку — оно просто будет отображаться и ничего не будет значить.

?>common.custom Здесь включается запись значения. В панели администратора это делается с помощью значка шестеренки рядом с точкой данных; за ним находится запись примерно такого вида:{"influxdb.0": {"enabled": true}} .

Установите значения вручную

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

Читать далее