Инструменты пользователя

Инструменты сайта


iot:software:node-red:flows:telemetry_saving:humidifier

Это старая версия документа!


Цепочка узлов для увлажнителя Proscenic 808c

Небольшое дополнение к потоку telemetry_saving, позволяющее сохранять телеметрию с комнатного увлажнителя воздуха в базу данных SQLite.

:!: Для работы цепочки, помимо основного потока, необходимо прошить под Tasmota и соответствующе настроить увлажнитель.

Описание работы цепочки

Первый узел подключается к MQTT-брокеру и следит за данными, поступающими с датчика, следующий узел отбирает только сообщения, содержащие в себе полный набор данных. т.к. увлажнитель периодически передает данные частично1). Далее узел проверяет, чтобы данные отличались от предыдущих и пропускает только изменившиеся. Последний узел форматирует данные.

Цепочка подключается к узлу «Перемещение топика и данных». Также нужно добавить название таблицы в узел «Определение названий таблиц».

Код для загрузки

telemetry-saving.json
[
    {
        "id": "eaecb7e3.ffea28",
        "type": "mqtt in",
        "z": "551f568e.e62c18",
        "name": "Датчик в увлажнителе",
        "topic": "humidifier_00896D/tele/SENSOR",
        "qos": "2",
        "datatype": "json",
        "broker": "8745b931.133868",
        "x": 160,
        "y": 100,
        "wires": [
            [
                "b3347c22.52002"
            ]
        ]
    },
    {
        "id": "b3347c22.52002",
        "type": "switch",
        "z": "551f568e.e62c18",
        "name": "Отбор полных сообщений",
        "property": "payload.Time",
        "propertyType": "msg",
        "rules": [
            {
                "t": "nnull"
            }
        ],
        "checkall": "false",
        "repair": false,
        "outputs": 1,
        "x": 180,
        "y": 160,
        "wires": [
            [
                "a1e4d9f0.d69908"
            ]
        ]
    },
    {
        "id": "a1e4d9f0.d69908",
        "type": "rbe",
        "z": "551f568e.e62c18",
        "name": "Ограничение потока",
        "func": "rbe",
        "gap": "",
        "start": "",
        "inout": "out",
        "septopics": true,
        "property": "payload.TuyaSNS",
        "x": 160,
        "y": 220,
        "wires": [
            [
                "df98b79a.b09d58"
            ]
        ],
        "info": "Пропускает только, если данные изменились."
    },
    {
        "id": "df98b79a.b09d58",
        "type": "template",
        "z": "551f568e.e62c18",
        "name": "Форматирование нагрузки",
        "field": "payload",
        "fieldType": "msg",
        "format": "handlebars",
        "syntax": "mustache",
        "template": "{\n\"battery\": null,\n\"humidity\": {{{payload.TuyaSNS.Humidity}}},\n\"linkquality\": null,\n\"temperature\": {{{payload.TuyaSNS.Temperature}}},\n\"pressure\": null\n}",
        "output": "json",
        "x": 180,
        "y": 280,
        "wires": [
            [
                "d6aeb8ba.178f68"
            ]
        ]
    },
    {
        "id": "8745b931.133868",
        "type": "mqtt-broker",
        "name": "localhost",
        "broker": "localhost",
        "port": "1883",
        "clientid": "",
        "usetls": false,
        "compatmode": false,
        "keepalive": "60",
        "cleansession": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthPayload": "",
        "closeTopic": "",
        "closeQos": "0",
        "closePayload": "",
        "willTopic": "",
        "willQos": "0",
        "willPayload": ""
    }
]
1)
К примеру, только температуру или только влажность

Обсуждение

Ваш комментарий:
F F I I N F A E B M D B Z R W H
 
Последнее изменение: 2022/02/12 11:40 (внешнее изменение)