Пример: Автоматизация освещения при движении¶
Готовый пример flow для Node-RED, который автоматически включает свет при обнаружении движения и выключает его через 3 минуты после последнего движения.
Визуальное представление flow¶
Использование¶
Скопируйте JSON код ниже
В Node-RED откройте меню (☰) → Import
Вставьте скопированный код в текстовое поле
Нажмите Import
Настройте топики устройств в блоках
rocket-inиrocket-out(см. NodeRED + Rocket Home)Нажмите Deploy
JSON код для импорта¶
1[
2 {
3 "id": "3d651a49b05d7c5a",
4 "type": "switch",
5 "z": "0e2f639075f84199",
6 "name": "occupancy == true",
7 "property": "payload.occupancy",
8 "propertyType": "msg",
9 "rules": [
10 {
11 "t": "true"
12 }
13 ],
14 "checkall": "true",
15 "repair": false,
16 "outputs": 1,
17 "x": 530,
18 "y": 100,
19 "wires": [
20 [
21 "17cb82fad58c45b6"
22 ]
23 ]
24 },
25 {
26 "id": "17cb82fad58c45b6",
27 "type": "trigger",
28 "z": "0e2f639075f84199",
29 "name": "ON 180s (extend)",
30 "op1": "{\"state\":\"ON\"}",
31 "op2": "{\"state\":\"OFF\"}",
32 "op1type": "json",
33 "op2type": "json",
34 "duration": "180",
35 "extend": true,
36 "overrideDelay": false,
37 "units": "s",
38 "reset": "reset",
39 "bytopic": "all",
40 "topic": "topic",
41 "outputs": 1,
42 "x": 790,
43 "y": 100,
44 "wires": [
45 [
46 "f5b58471f8e1c7d4"
47 ]
48 ]
49 },
50 {
51 "id": "72a6a42fa08e901f",
52 "type": "rocket-in",
53 "z": "0e2f639075f84199",
54 "name": "Дом > Коридор > Движение",
55 "topic": "",
56 "qos": 0,
57 "datatype": "auto-detect",
58 "x": 220,
59 "y": 100,
60 "wires": [
61 [
62 "3d651a49b05d7c5a"
63 ]
64 ]
65 },
66 {
67 "id": "f5b58471f8e1c7d4",
68 "type": "rocket-out",
69 "z": "0e2f639075f84199",
70 "name": "Дом > Коридор > Свет",
71 "topic": "",
72 "topicType": "topic",
73 "qos": 0,
74 "retain": false,
75 "datatype": "auto",
76 "x": 1070,
77 "y": 100,
78 "wires": []
79 },
80 {
81 "id": "0ff8482485a20937",
82 "type": "global-config",
83 "env": [],
84 "modules": {
85 "@rocket-home/nodes": "1.0.0"
86 }
87 }
88]
Описание flow¶
Этот flow состоит из 4 блоков:
``rocket-in`` — получает данные от датчика движения
``switch`` — проверяет, обнаружено ли движение (
payload.occupancy == true)``trigger`` — включает свет и запускает таймер на 180 секунд (3 минуты) с возможностью продления
``rocket-out`` — отправляет команды управления лампой
Как это работает¶
[Датчик движения (rocket-in)]
↓ (получает данные о движении)
[Проверка: есть ли движение? (switch)]
↓ (если движение обнаружено)
[Включить свет + Таймер 3 минуты (trigger)]
↓ (если движение продолжается - продлевать таймер)
[Через 3 минуты после последнего движения]
↓
[Выключить свет (rocket-out)]
После импорта¶
Важно
После импорта необходимо настроить топики MQTT для ваших устройств в блоках rocket-in и rocket-out. Подробные инструкции см. в разделе NodeRED + Rocket Home.
Дважды кликните на блок
rocket-inи настройте топик датчика движенияДважды кликните на блок
rocket-outи настройте топик лампы с суффиксом/setНажмите Deploy для активации автоматизации