Node-RED Apple HomeKit: различия между версиями

Строка 57: Строка 57:


=== Сенсор ===
=== Сенсор ===
Добавим сенсор температуры, который будет выводить температуру процессора:
# Перетяните в рабочую область ноду '''in''', которая находится слева в группе '''Wiren Board'''.
# Дважды кликните на ней — откроется окно '''Edit in node''', где укажите:
#* Name — имя, например, CPU Temp.
#* Server — MQTT-сервер, связь с которым настраивается при установке модуля ''WB Nodes''.
#* Channel — выберите в открывшемся списке mqtt-топик '''hwmon/CPU Temperature'''. Если список пуст, нажмите кнопку ''Refresh Device List''.
# Чтобы сохранить, нажмите кнопку '''Done'''.
Полученное значение мы отправим в ноду HomeKit, которая передаст информацию в облако, но перед этим нужно учесть два момента:
# устройство HomeKit на вход принимает объект, который содержит имя характеристики и значение,
# нода '''in''' отдаёт строку.
Настроим конвертер сообщений:
# Перетяните в рабочую область ноду '''function''', которая находится слева в группе '''function'''.
# Дважды кликните на ней — откроется окно '''Edit function node''' и впишите в поле '''onMessage''' код:
#<syntaxhighlight lang="js">
msg.payload = {'CurrentTemperature': parseFloat(msg.payload)};
return msg;
</syntaxhighlight>
# Укажите имя в поле '''Name''', например, ''to Float''.
# Нажмите кнопку '''Done'''. Конвертер готов.
''CurrentTemperature'' — это имя характеристики, взято из [https://developer.apple.com/documentation/homekit/hmcharacteristic/characteristic_types документации Apple HomeKit].
Добавим ноду HomeKit типа Service:
# Перетяните в рабочую область ноду '''service''', которая находится слева в группе '''Apple HomeKit'''.
# Дважды кликните на ней — откроется окно '''Edit service node''', где:
#* в поле '''Service''' выберите '''TemperatureSensor''',
#* в поле '''Bridge''' выберите мост, который мы создавали ранее — ''wb-demo''.
#* укажите имя в поле '''Name''', например, ''CPU Temp''.
# Нажмите кнопку '''Done'''.
У нас получилось три ноды, соедините их между собой: CPU Temp (WB) → to Float → CPU Temp (HK).
Чтобы изменения вступили в силу, нажмите справа вверху страницы кнопку '''Deploy'''.
<gallery mode="packed" heights="100px" caption="Настройка датчика температуры">
Image: 1. WB CPU Temp in HomeKit 1.png | Окно ''Edit in node''
Image: 1. WB CPU Temp in HomeKit 2.png | Конвертер
Image: 1. WB CPU Temp in HomeKit 3.png | Настройка устройства KomeKit
Image: 1. WB CPU Temp in HomeKit 4.png | Общий вид флоу
</gallery>


=== Устройство с управлением ===
=== Устройство с управлением ===