Node-RED Dashboards: различия между версиями
Строка 103: | Строка 103: | ||
}; | }; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
# Соедините выход ноды get с входом ноды function, а выход последней с входом ноды out, в которой выбран топик buzzer/enabled. | |||
Теперь перейдите на страницу с панелью и кликните по серому кругу, зуммер должен включиться, а при повторном клике — выключиться. Если это так, то всё настроено верно. | |||
Сделаем так, чтобы при включённом зуммере круг окрашивался в жёлтый, а при выключенном — в серый. | |||
Для этого нам надо будет: | |||
* Настроить привязку сообщения к свойству элемента. | |||
* Получить статус зуммера. | |||
* Сформировать сообщение на изменения цвета. | |||
Настроим привязку: | |||
# Откройте настройки ноды SVG graphics и перейдите на вкладку Binding: | |||
#* Binding Source — сообщение, которое будет содержать новый цвет: payload.buzzer.color | |||
#* Selector — элемент, который будет окрашиваться: #buzzer-status | |||
#* Binding Destination — свойство, которое будете менять: Style | |||
#* в последнем поле укажите какое именно свойства стиля будем менять: fill. | |||
# Сохраните нажатием на клавишу Done. | |||
Статус зуммера мы возьмём из ноды in, с топиком buzzer/enabled, которая связана с нодой switch. | |||
Сообщение мы сформируем с помощью ноды function, добавьте её в рабочую область и впишите код: | |||
<syntaxhighlight lang="js"> | |||
return { | |||
"payload": { | |||
"buzzer": { | |||
"color": (msg.payload == '1')? 'yellow': 'gray' | |||
} | |||
}, | |||
"topic": "databind" | |||
}; | |||
</syntaxhighlight> | |||
Выход функции соедините с входом ноды SVG graphics. |