|
Следующая версия
|
Предыдущая версия
|
iot:software:node-red:flows:telemetry_saving:humidifier [2021/07/12 15:03] Николай Солошин создано |
iot:software:node-red:flows:telemetry_saving:humidifier [2022/02/28 18:52] (текущий) Николай Солошин ↷ Операцией перемещения обновлены ссылки |
| ====== Цепочка узлов для увлажнителя Proscenic 808c ====== | ====== Цепочка узлов для увлажнителя Proscenic 808c ====== |
| |
| Небольшое дополнение к потоку [[iot:node-red:flows:telemetry_saving:index|]], позволяющее сохранять телеметрию с комнатного увлажнителя воздуха в базу данных SQLite. | Небольшое дополнение к потоку [[iot:software:node-red:flows:telemetry_saving]], позволяющее сохранять телеметрию с комнатного увлажнителя воздуха в базу данных SQLite. |
| |
| :!: Для работы цепочки, помимо основного потока, необходимо [[iot:homebridge:tasmota:proscenic:808c|прошить под Tasmota и соответствующе настроить]] увлажнитель. | :!: Для работы цепочки, помимо основного потока, необходимо [[iot:firmware:tasmota:proscenic:808c|прошить под Tasmota и соответствующе настроить]] увлажнитель. |
| |
| ===== Описание работы цепочки ===== | ===== Описание работы цепочки ===== |
| Первый узел подключается к MQTT-брокеру и следит за данными, поступающими с датчика, следующий узел отбирает только сообщения, содержащие в себе полный набор данных. т.к. увлажнитель периодически передает данные частично((К примеру, только температуру или только влажность)). Далее узел проверяет, чтобы данные отличались от предыдущих и пропускает только изменившиеся. Последний узел форматирует данные. | Первый узел подключается к MQTT-брокеру и следит за данными, поступающими с датчика, следующий узел отбирает только сообщения, содержащие в себе полный набор данных. т.к. увлажнитель периодически передает данные частично((К примеру, только температуру или только влажность)). Далее узел проверяет, чтобы данные отличались от предыдущих и пропускает только изменившиеся. Последний узел форматирует данные. |
| |
| {{:iot:node-red:flows:telemetry_saving:humidifier.png?nolink|}} | {{iot:software:node-red:flows:telemetry_saving:humidifier.png?nolink|}} |
| |
| Цепочка подключается к узлу "Перемещение топика и данных". Также нужно добавить название таблицы в узел "Определение названий таблиц". | Цепочка подключается к узлу "Перемещение топика и данных". Также нужно добавить название таблицы в узел "Определение названий таблиц". |
| | |
| | ==== Дополнение ==== |
| | |
| | Если в потоке есть [[iot:software:node-red:subflows:watchdog|сторожевой таймер]], нужно заменить узел "rbe"((В примере называется "Ограничение потока".)) на "delay"((Код узла [[#дополнительный|тут]].)) и установить в нем желаемую периодичность записи показаний((15 минут, мне кажется, вполне достаточно.)). Это необходимо в виду того, что, с одной стороны, увлажнитель передает телеметрию каждые 30 секунд, а с другой -- фактические показания могут не меняться достаточно долгое время из-за чего "rbe" не пропускает сообщения и ложно срабатывает watchdog. При замене на "delay" данные будут поступать стабильно, пока увлажнитель в сети, а watchdog будет срабатывать только при действительной неполадке. |
| |
| ===== Код для загрузки ===== | ===== Код для загрузки ===== |
| |
| <file javascript telemetry-saving.json>[ | ==== Основной ==== |
| | |
| | <file javascript humidifier-telemetry-saving.json>[ |
| { | { |
| "id": "eaecb7e3.ffea28", | "id": "eaecb7e3.ffea28", |
| "willQos": "0", | "willQos": "0", |
| "willPayload": "" | "willPayload": "" |
| | } |
| | ]</file> |
| | |
| | ==== Дополнительный ==== |
| | |
| | <file javascript humidifier-telemetry-saving-addon.json>[ |
| | { |
| | "id": "8708b0ca.dd485", |
| | "type": "delay", |
| | "z": "551f568e.e62c18", |
| | "name": "Ограничение потока", |
| | "pauseType": "rate", |
| | "timeout": "5", |
| | "timeoutUnits": "seconds", |
| | "rate": "1", |
| | "nbRateUnits": "15", |
| | "rateUnits": "minute", |
| | "randomFirst": "1", |
| | "randomLast": "5", |
| | "randomUnits": "seconds", |
| | "drop": true, |
| | "x": 160, |
| | "y": 220, |
| | "wires": [ |
| | [ |
| | "df98b79a.b09d58" |
| | ] |
| | ] |
| } | } |
| ]</file> | ]</file> |