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

Строка 107: Строка 107:
[[Image: 2. WB Buzzer in HomeKit 2.png | 300px|thumb|right| Конвертер ''true/false'' ]]
[[Image: 2. WB Buzzer in HomeKit 2.png | 300px|thumb|right| Конвертер ''true/false'' ]]
Настроим конвертер, который преобразует состояние ''Buzzer'' в объект ''HomeKit'':
Настроим конвертер, который преобразует состояние ''Buzzer'' в объект ''HomeKit'':
# Перетяните в рабочую область ноду '''function''', которая находится слева в группе '''function'''.
{{Node-RED Tuning function
# Дважды кликните на ней — откроется окно '''Edit function node''' и впишите в поле '''On Message''' код:
|name = true/false
#:<syntaxhighlight lang="js">
|code = <syntaxhighlight lang="js">
msg.payload = (msg.payload == '1') ? {'On':true} : {'On':false};
msg.payload = (msg.payload == '1') ? {'On':true} : {'On':false};


return msg
return msg
</syntaxhighlight>
</syntaxhighlight>
# Укажите имя в поле '''Name''', например, ''true/false''.
}} Конвертер готов.
# Нажмите кнопку '''Done'''. Конвертер готов.


[[Image: 2. WB Buzzer in HomeKit 3.png | 300px|thumb|right| Настройка устройства HomeKit ]]
[[Image: 2. WB Buzzer in HomeKit 3.png | 300px|thumb|right| Настройка устройства HomeKit ]]
Строка 128: Строка 127:
[[Image: 2. WB Buzzer in HomeKit 4.png | 300px|thumb|right| Конвертер ''1/0'' ]]
[[Image: 2. WB Buzzer in HomeKit 4.png | 300px|thumb|right| Конвертер ''1/0'' ]]
Настроим конвертер, который преобразует объект ''HomeKit'' в состояние ''Buzzer'':
Настроим конвертер, который преобразует объект ''HomeKit'' в состояние ''Buzzer'':
# Перетяните в рабочую область ноду '''function''', которая находится слева в группе '''function'''.
{{Node-RED Tuning function
# Дважды кликните на ней — откроется окно '''Edit function node''' и впишите в поле '''On Message''' код:
|name = true/false
#:<syntaxhighlight lang="js">
|code = <syntaxhighlight lang="js">
msg.payload = (msg.payload.On) ? '1' : '0';
msg.payload = (msg.payload.On) ? '1' : '0';


return msg
return msg
</syntaxhighlight>
</syntaxhighlight>
# Укажите имя в поле '''Name''', например, ''1/0''.
}} Конвертер готов.
# Нажмите кнопку '''Done'''. Конвертер готов.


[[Image: 2. WB Buzzer in HomeKit 5.png | 300px|thumb|right| Нода ''wb-out'' ]]
[[Image: 2. WB Buzzer in HomeKit 5.png | 300px|thumb|right| Нода ''wb-out'' ]]
Добавим ещё одну ноду WB, которая будет от устанавливать состояние Buzzer:
Добавим ещё одну ноду WB, которая будет от устанавливать состояние Buzzer:
# Перетяните в рабочую область ноду '''out''', которая находится слева в группе '''Wiren Board'''.
{{Node-RED Tuning wb-out
# Дважды кликните на ней — откроется окно '''Edit out node''', где укажите:
|name = Buzzer
#* Name — имя, например, Buzzer.
|mqtt-topic = buzzer/enabled
#* Server — MQTT-сервер, связь с которым настраивается при установке модуля ''WB Nodes''.
}}
#* Channel — выберите в открывшемся списке mqtt-топик '''buzzer/enabled'''. Если список пуст, нажмите кнопку ''Refresh Device List''.
#* Command — выберите '''/on'''.
#* Payload — должно быть выбрано msg.payload
# Чтобы сохранить, нажмите кнопку '''Done'''.


У нас получилось пять нод, соедините их между собой: Buzzer (wb-in) → true/false → Buzzer (HK) → 1/0 → Buzzer (wb-out).
У нас получилось пять нод, соедините их между собой: Buzzer (wb-in) → true/false → Buzzer (HK) → 1/0 → Buzzer (wb-out).