Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    660

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

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

Geplant Angeheftet Gesperrt Verschoben node-red Скрипты (flows)
85 Beiträge 16 Kommentatoren 78.7k Aufrufe 3 Beobachtet
  • Ä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

                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                          Registrieren Anmelden
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          533

                          Online

                          32.7k

                          Benutzer

                          82.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