Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Скрипты
  5. node-red Скрипты (flows)
  6. Node-RED примеры, решения и и вопросы. Общая тема по Node-RED

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    992

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.4k

Node-RED примеры, решения и и вопросы. Общая тема по Node-RED

Geplant Angeheftet Gesperrt Verschoben node-red Скрипты (flows)
85 Beiträge 16 Kommentatoren 76.3k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A Offline
    A Offline
    Anrikigai
    schrieb am zuletzt editiert von
    #74

    Только начал осваивать Node-Red, и сразу вопросы:

    1. Можно ли в функции определить исходную команду, а не только источник?
      Скажем, при получении сигнала от кубика Rotate Left нужно некий параметр уменьшить, а по Rotate Right увеличить.
      Сейчас у меня после ioBroker in с событием Rotate right идет Change, в котором true меняется на 1, и анаогично Rotate left -> Change, меняющий true на -1.
      Оба этих события сходятся в одну функцию, которая соответственно меняет громкость, яркость, что угодно.
      Но по идее промежуточные Change не очень нужны. Можно сразу с Rotate Left и Rotate Right на эту функцию сигнал подать. Да, в обоих случаях будет true, но наверняка же в этой функции можно определить, было это вызвано поворотм влево или вправо?
      Собственно аналогично отделять одинарное нажатие кнопки от двойного и т.п....

    2. Нажатие кнопки у меня приводит к последовательному приходу событий от нее true и сразу false.
      Я придумал 2 способа очистки. Switch, который пропускает только true. И Delay, в котором при выборе Rate Limit | All messages появляется пункт drop intermediate messages.
      Результат одинаковый. Что эффективнее? Может еще получше вариант есть?

    3. Как использовать ioBroker get node? Расположена в группе function. Насколько я понимаю, в отличие от ioBroker in node, посылающей сообщение дальше, get позволяет узнать текущее состояние. Но как? Что подать ей на вход и что на выход?
      Скажем, сейчас я In node направляю на сохранение переменной во flow (скажем, параметр dimmer), и потом его использую. Но лучше же опрашивать статус, когда понадобится, а не подписываться на него?
      Ну или хотя бы в коде функции как опросить произвольный параметр...

    4. Можно ли из функции на Node-Red пройтись по всем датчикам (в моем случае подключены через Xiaomi Gateway 2) и, к примеру, проверить заряд их батрейки?
      Ну а дальше либо вывести "аварийные" датчики, либо записать 0/1 в дополнительное поле каждого сенсора (к примеру, BatteryStatus) и указывать его в Metro плитках (они автоматически перекрашиваются в зависимости от "ID статуса"

    1 Antwort Letzte Antwort
    0
    • O Offline
      O Offline
      OlegJktu
      schrieb am zuletzt editiert von OlegJktu
      #75
      1. если в обьектах нет, то без вариантов. Можно еще конечно лог глянуть. Только дебаг нужно включить.
        1.1) возможно через usb-zigbee свиток драйвер отдает больше.

      2. Я думаю без разницы.

      3. На JS такое видел. На Node-red по моему только руками (ну или js засунуть в кубик). js пример есть на форуме, но он тоже не идеальный - там отдает id объекта - это не человеко читаемо.

      4. Нужно мне самому попробовать на выходных,
        ioBroker get node - точно будет красиво попробовать засунуть в Node-red dash реле-выключатель (но визуализаций на iobroker больше пяти, так что...)

      1 Antwort Letzte Antwort
      0
      • No NameN Offline
        No NameN Offline
        No Name
        schrieb am zuletzt editiert von No Name
        #76

        Управление broadlink кнопкой xiaomi (драйвер zigbee). Исправил flow выше. Здесь нужен таймер и switch должен быть таким:
        photo_2019-07-06_19-46-48.jpg

        Снимок.PNG

        [
        {
        "id": "cf416abd.c92158",
        "type": "tab",
        "label": "Broadlink_STATUS",
        "disabled": false,
        "info": ""
        },
        {
        "id": "5dae1e2f.960c38",
        "type": "ioBroker out",
        "z": "cf416abd.c92158",
        "name": "Sonoff_POW_2",
        "topic": "sonoff.0.Sonoff_POW_2_A02EBD.POWER",
        "ack": "false",
        "autoCreate": "false",
        "x": 1700,
        "y": 880,
        "wires": []
        },
        {
        "id": "b8e33699.63a34",
        "type": "ioBroker in",
        "z": "cf416abd.c92158",
        "name": "Tap twice",
        "topic": "zigbee.0.00158d00029bbb6c.tap",
        "payloadType": "value",
        "onlyack": "",
        "func": "all",
        "gap": "",
        "x": 100,
        "y": 460,
        "wires": [
        [
        "864b8892.25f1a"
        ]
        ]
        },
        {
        "id": "80c6e025.1825e8",
        "type": "switch",
        "z": "cf416abd.c92158",
        "name": "Broadlink включен?",
        "property": "Broadlink_STATUS",
        "propertyType": "flow",
        "rules": [
        {
        "t": "eq",
        "v": "false",
        "vt": "str"
        },
        {
        "t": "eq",
        "v": "true",
        "vt": "str"
        }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 2,
        "x": 540,
        "y": 460,
        "wires": [
        [
        "aff64449.5b9498"
        ],
        [
        "3b2d8770.0222c8"
        ]
        ]
        },
        {
        "id": "aff64449.5b9498",
        "type": "change",
        "z": "cf416abd.c92158",
        "name": "Включаем Broadlink",
        "rules": [
        {
        "t": "set",
        "p": "payload",
        "pt": "msg",
        "to": "true",
        "tot": "bool"
        }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 860,
        "y": 400,
        "wires": [
        [
        "9ea4024f.45e7d",
        "b50086c9.ce0408"
        ]
        ]
        },
        {
        "id": "3b2d8770.0222c8",
        "type": "change",
        "z": "cf416abd.c92158",
        "name": "Отключаем Broadlink",
        "rules": [
        {
        "t": "set",
        "p": "payload",
        "pt": "msg",
        "to": "false",
        "tot": "bool"
        }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 820,
        "y": 520,
        "wires": [
        [
        "a4d8b0b.c5ed45",
        "58937c89.b8335c"
        ]
        ]
        },
        {
        "id": "9ea4024f.45e7d",
        "type": "SP2",
        "z": "cf416abd.c92158",
        "name": "Bathoom",
        "device": "6a792cc8.2a6eac",
        "action": "setState",
        "state": "true",
        "x": 1100,
        "y": 440,
        "wires": [
        []
        ]
        },
        {
        "id": "a4d8b0b.c5ed45",
        "type": "SP2",
        "z": "cf416abd.c92158",
        "name": "Bathoom",
        "device": "6a792cc8.2a6eac",
        "action": "setState",
        "state": "false",
        "x": 1100,
        "y": 520,
        "wires": [
        []
        ]
        },
        {
        "id": "864b8892.25f1a",
        "type": "switch",
        "z": "cf416abd.c92158",
        "name": "Берём только true",
        "property": "payload",
        "propertyType": "msg",
        "rules": [
        {
        "t": "eq",
        "v": "true",
        "vt": "str"
        }
        ],
        "checkall": "true",
        "repair": false,
        "outputs": 1,
        "x": 290,
        "y": 460,
        "wires": [
        [
        "80c6e025.1825e8"
        ]
        ]
        },
        {
        "id": "58937c89.b8335c",
        "type": "debug",
        "z": "cf416abd.c92158",
        "name": "Отключаем",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "x": 1110,
        "y": 600,
        "wires": []
        },
        {
        "id": "b50086c9.ce0408",
        "type": "debug",
        "z": "cf416abd.c92158",
        "name": "Включаем",
        "active": true,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload",
        "x": 1190,
        "y": 380,
        "wires": []
        },
        {
        "id": "ba2cb790.e57ee",
        "type": "SP2",
        "z": "cf416abd.c92158",
        "name": "Bathoom",
        "device": "6a792cc8.2a6eac",
        "action": "getState",
        "state": "true",
        "x": 380,
        "y": 300,
        "wires": [
        [
        "60e40fa1.b78738"
        ]
        ]
        },
        {
        "id": "60e40fa1.b78738",
        "type": "switch",
        "z": "cf416abd.c92158",
        "name": "Передаём статус broadlink",
        "property": "payload.state",
        "propertyType": "msg",
        "rules": [
        {
        "t": "true"
        },
        {
        "t": "false"
        }
        ],
        "checkall": "false",
        "repair": false,
        "outputs": 2,
        "x": 600,
        "y": 300,
        "wires": [
        [
        "1be7b90d.421cf7"
        ],
        [
        "6bb3ee18.8728d8"
        ]
        ]
        },
        {
        "id": "1be7b90d.421cf7",
        "type": "change",
        "z": "cf416abd.c92158",
        "name": "Broadlink ON",
        "rules": [
        {
        "t": "set",
        "p": "Broadlink_STATUS",
        "pt": "flow",
        "to": "true",
        "tot": "str"
        }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 890,
        "y": 220,
        "wires": [
        []
        ]
        },
        {
        "id": "6bb3ee18.8728d8",
        "type": "change",
        "z": "cf416abd.c92158",
        "name": "Broadlink OFF",
        "rules": [
        {
        "t": "set",
        "p": "Broadlink_STATUS",
        "pt": "flow",
        "to": "false",
        "tot": "str"
        }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 960,
        "y": 340,
        "wires": [
        []
        ]
        },
        {
        "id": "12b779f5.16f1a6",
        "type": "comment",
        "z": "cf416abd.c92158",
        "name": "Тут логика работы",
        "info": "",
        "x": 450,
        "y": 380,
        "wires": []
        },
        {
        "id": "74adb82d.c4c64",
        "type": "comment",
        "z": "cf416abd.c92158",
        "name": "Тут определяем состояние реле Broadlink",
        "info": "",
        "x": 490,
        "y": 220,
        "wires": []
        },
        {
        "id": "eb30ea3d.afc17",
        "type": "inject",
        "z": "cf416abd.c92158",
        "name": "",
        "topic": "",
        "payload": "",
        "payloadType": "date",
        "repeat": "1",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "x": 170,
        "y": 300,
        "wires": [
        [
        "ba2cb790.e57ee"
        ]
        ]
        },
        {
        "id": "743f811.46788",
        "type": "bigtimer",
        "z": "cf416abd.c92158",
        "outtopic": "",
        "outpayload1": "",
        "outpayload2": "",
        "name": "Big Timer",
        "comment": "",
        "lat": "",
        "lon": "",
        "starttime": 5001,
        "endtime": 1425,
        "starttime2": 0,
        "endtime2": 0,
        "startoff": 0,
        "endoff": 0,
        "startoff2": 0,
        "endoff2": 0,
        "offs": 0,
        "outtext1": "",
        "outtext2": "",
        "timeout": 1440,
        "sun": true,
        "mon": true,
        "tue": true,
        "wed": true,
        "thu": true,
        "fri": true,
        "sat": true,
        "jan": true,
        "feb": true,
        "mar": true,
        "apr": true,
        "may": true,
        "jun": true,
        "jul": true,
        "aug": true,
        "sep": true,
        "oct": true,
        "nov": true,
        "dec": true,
        "day1": 0,
        "month1": 0,
        "day2": 0,
        "month2": 0,
        "day3": 0,
        "month3": 0,
        "day4": 0,
        "month4": 0,
        "day5": 0,
        "month5": 0,
        "day6": 0,
        "month6": 0,
        "d1": 0,
        "w1": 0,
        "d2": 0,
        "w2": 0,
        "d3": 0,
        "w3": 0,
        "d4": 0,
        "w4": 0,
        "d5": 0,
        "w5": 0,
        "d6": 0,
        "w6": 0,
        "xday1": 0,
        "xmonth1": 0,
        "xday2": 0,
        "xmonth2": 0,
        "xday3": 0,
        "xmonth3": 0,
        "xday4": 0,
        "xmonth4": 0,
        "xday5": 0,
        "xmonth5": 0,
        "xday6": 0,
        "xmonth6": 0,
        "xd1": 0,
        "xw1": 0,
        "xd2": 0,
        "xw2": 0,
        "xd3": 0,
        "xw3": 0,
        "xd4": 0,
        "xw4": 0,
        "xd5": 0,
        "xw5": 0,
        "xd6": 0,
        "xw6": 0,
        "suspend": false,
        "random": false,
        "repeat": true,
        "atstart": true,
        "odd": false,
        "even": false,
        "x": 80,
        "y": 160,
        "wires": [
        [],
        [],
        []
        ]
        },
        {
        "id": "6a792cc8.2a6eac",
        "type": "sp2device",
        "z": "",
        "mac": "78-0F-77-17-8D-49",
        "host": "192.168.1.5"
        }
        ]

        1 Antwort Letzte Antwort
        0
        • N Offline
          N Offline
          notturno
          schrieb am zuletzt editiert von
          #77

          Ребят, подскажите, кто знает, как можно решить такую проблемку.
          Работают схемы, сценарии в Node-red, включены выключатели, настроены ползунки, расписание и т.д.
          Но вот когда комп перезагружается, то все настройки сбиваются, и что бы вернуть все как было, нужно заново все нажимать.
          Как можно это исправить?

          1 Antwort Letzte Antwort
          0
          • O Offline
            O Offline
            OlegJktu
            schrieb am zuletzt editiert von
            #78

            Было такое выше обсуждалось.
            Нод-Ред не хранит значения, поэтому логика с переменными при старте может подвисать.

            1. можно задать логику при старте. Для этого нужно поставить доп кубик. Таких есть 2 или 3.

            Вот тут я добавил кубик задающий логику при старте
            https://forum.iobroker.net/post/149786

            1. можно хранить переменные этой логике где-то за пределами Нод-Ред.
              Я храню в переменных IoBroker.
            1 Antwort Letzte Antwort
            0
            • O Offline
              O Offline
              OlegJktu
              schrieb am zuletzt editiert von
              #79

              Важнач информация для всех использующих Node-red из под IoBroker.
              Дополнительные паллеты (кубики и пр) нужно устанавливать из вебморды IoBroker (а не из вебморды Node-red).
              Иначе возможны проблемы при обновлении.

              1 Antwort Letzte Antwort
              0
              • O Offline
                O Offline
                OlegJktu
                schrieb am zuletzt editiert von
                #80

                Wiki переведенная на русский язык
                (Если не пускает используйте режим инкогнито в браузере)
                http://146.185.179.211/wiki/Node-RED:Содержание

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  Sergey777
                  schrieb am zuletzt editiert von
                  #81

                  Столкнулся с не тривиальной задачей. Нода onvif получает из IP камеры скриншот, этот скрин можно отобразить в ноде image. Мне нужно эту картинку отослать как webhook, для этого нужно картинку выгрузить в хранилище (на сервер) и потом дать http ссылку на неё. Как эту полученную в base64 картинку выгрузить на http сайт?

                  1 Antwort Letzte Antwort
                  0
                  • R Offline
                    R Offline
                    romus
                    schrieb am zuletzt editiert von
                    #82

                    Камрады, а можете дать простой примерчик с кнопкой Xiaomi и группой ламп Yeelight на одно короткое нажатие сделать вкл/выкл.
                    Заранее спасибо!

                    1 Antwort Letzte Antwort
                    0
                    • O Offline
                      O Offline
                      OlegJktu
                      schrieb am zuletzt editiert von
                      #83

                      есть в теме примеры. в самом начале.

                      N 1 Antwort Letzte Antwort
                      0
                      • O OlegJktu

                        есть в теме примеры. в самом начале.

                        N Offline
                        N Offline
                        Namaste
                        schrieb am zuletzt editiert von
                        #84

                        Подскажите, плз.
                        Есть датчик движения, есть датчик открытия двери.
                        Когда срабатывает датчик движения, нужно включать свет, но при условии, что в течении последних 3 минут открывалась дверь.

                        1 Antwort Letzte Antwort
                        0
                        • O Offline
                          O Offline
                          OlegJktu
                          schrieb am zuletzt editiert von
                          #85

                          Нужно ввести каким нибудь образом доп состояние и проверять его.

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          756

                          Online

                          32.5k

                          Benutzer

                          81.6k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe