Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. Скрипты
    5. node-red Скрипты (flows)
    6. Node-RED примеры, решения и и вопросы. Общая тема по Node-RED

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Bebebe last edited by

      @Sergey777:

      @OlegJktu:

      Ну я бы сделал переменную (драйвером wrapper), засунул туда эти данные и вывел эту переменную в визуализации.

      Только я vis (если мы говорим о нем?) давно не трогал, так-что подробностей и не знаю. `

      Как переменную сделать допёр. Теперь не могу разобраться как тупо умножить. Получаю с датчика значение 998.7 Паскаль, и чтоб оно стало в мм.рт.ст его надо умножить на 0.0075. Ни одного арифметического блока в дефолтом node-red не нашел. Плохо искал? Или надо кодом писать в function блоке? Что делать? Не ожидал даже, что в таком "могучем" инструменте даже тупо арифметических операций не будет. `

      Да, писать кодом в блоке. Можно и умножить, и поделить, и отнять…

      1 Reply Last reply Reply Quote 0
      • O
        OlegJktu last edited by

        Математика вроде и в кубиках была, но найти я ее не смог…

        1 Reply Last reply Reply Quote 0
        • S
          Sergey777 last edited by

          @OlegJktu:

          Математика вроде и в кубиках была, но найти я ее не смог… `

          Они есть, но как дополнения. Можно поиском найти, прочесть описание, установить функциональный "кубик". Но… Это не наш метод. Привык делать по максимуму из стоковых средств. Как? Напишу чуть позже.

          1 Reply Last reply Reply Quote 0
          • S
            Sergey777 last edited by

            Арифметические операции в NODE-RED, сложение, умножение, вычитание, деление,.. Округление, и т.д.

            Есть у меня сенсоры под таким длинным названием "XIAOMI AQARA SMART HOME TEMPERATURE HUMIDITY PRESSURE SENSOR ZIGBEE". Это беспроводной датчик, работающий по протоколу ZigBee
            5574_temper.png
            Он отправляет следующие данные в систему iobroker:

            1. Влажность, %

            2. Температура, °C

            ****3. Давление, гПа *****

            4. Заряд батареи, %

            5. Напряжение батареи, V

            6. Также на этом сенсоре есть кнопка, и её состояние отображается как false или true, при не нажатом и нажатом состоянии соответственно.

            ********* Гектопаскаль. Вся неудобность в том, что у нас, в России, принято измерять давление в миллиметрах ртутного столба ( мм.рт.ст.) А датчик даёт в Гектопаскалях.

            ! Гектопаскаль (гПа) — единица измерения давления, механического напряжения и модуля Юнга (модуля упругости) в Международной системе единиц (СИ), кратная паскалю. Паскаль равен давлению (механическому напряжению), вызываемому силой, равной одному ньютону, равномерно распределённой по перпендикулярной к ней поверхности площадью один квадратный метр.
            Значит нужно конвертировать одно значение в другое. Для этого сначала создадим переменную, в которой будет храниться значение в мм.рт.ст. Я решил создать её в той же папке датчика, где другие его переменные. Для этого идём в меню "Объекты", выбираем mihome.0, далее devices и выбираем папку weather_v1_158d0002271cea. В верхней панели жмём плюс - "добавить объект к выделенному элементу"

            Имя вводим "Pressure_mm_rt_st", далее "состояние" далее "логическая переменная".

            Если заглянуть в настройки, то у меня выглядит так:

            ! 5574_vv.png
            5574_mm.png
            И наконец-то мы готовы идти в Node-RED.

            Тут вся наша конвертация сводится к двум операциям, умножению и округлению, которые выполняются в блоке function

            Код такой:

            msg.payload = Number((msg.payload * 0.750062).toFixed(1));
            return msg;
            
            

            1. Number - указываем функцию "force-number", для работы с числами.

            Подробнее: https://www.npmjs.com/package/force-number

            2. Число полученное из msg.payload умножаем на константу 0.750062,

            тем самым преобразовав величину давления "гПа" в "мм.рт.ст"

            3. К результату умножения применяем округление до 1 знака

            в дробной части - функция .toFixed(1) , Для округления до целых - .toFixed()

            Сам не знал как, подсказали ссылки

            1. https://community.openenergymonitor.org … -help/2939

            2. https://stackoverflow.com/questions/398 … tion-block

            Ну и код:

            ! [ { "id": "c03c9ab1.dac5c8", "type": "debug", "z": "5c8c6088.754b2", "name": "Давление гПа (1cea)", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "x": 380, "y": 60, "wires": [] }, { "id": "72319ea.5b38e6", "type": "ioBroker in", "z": "5c8c6088.754b2", "name": "Pressure Pa (1cea)", "topic": "mihome.0.devices.weather_v1_158d0002271cea.pressure", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "x": 110, "y": 120, "wires": [ [ "55984769.8246b8", "c03c9ab1.dac5c8" ] ] }, { "id": "391cd606.2d382a", "type": "ioBroker out", "z": "5c8c6088.754b2", "name": "Pressure_mm_rt_st", "topic": "mihome.0.devices.weather_v1_158d0002271cea.Pressure_mm_rt_st", "ack": "true", "autoCreate": "false", "x": 670, "y": 120, "wires": [] }, { "id": "55984769.8246b8", "type": "function", "z": "5c8c6088.754b2", "name": "х 0.750062", "func": "msg.payload = Number((msg.payload * 0.750062).toFixed(1));\nreturn msg;\n\n/*\n1.\nNumber - указываем функцию \"force-number\", для работы с числами.\nПодробнее: https://www.npmjs.com/package/force-number\n\n2.\nЧисло полученное из msg.payload умножаем на константу 0.750062,\nтем самым преобразовав величину давления \"гПа\" в \"мм.рт.ст\"\n\n3.\nК результату умножения применяем округление до 1 знака\nв дробной части - функция .toFixed(1)\nДля округления до целых - .toFixed()\n*/\n", "outputs": 1, "noerr": 0, "x": 350, "y": 120, "wires": [ [ "391cd606.2d382a", "8b093ee8.87f8" ] ] }, { "id": "8b093ee8.87f8", "type": "debug", "z": "5c8c6088.754b2", "name": "Давление мм.рт.ст (1cea)", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "x": 700, "y": 60, "wires": [] } ] !
            5574_fun.png

            Вот и всё, теперь в переменой mihome.0.devices.weather_v1_158d0002271cea.Pressure_mm_rt_st мы видим давление в мм.рт.ст.

            1 Reply Last reply Reply Quote 0
            • O
              OlegJktu last edited by

              1. Sergey777 За математику спасибо. Как всегда оформлено все на 5+ .

              2. я добавил новые "интересные материалы по nod-red" в первый пост этой темы. Если кто еще что интересное знает пишите - добавлю. Что бы всем было легче осваивать Nod-red.

              1 Reply Last reply Reply Quote 0
              • B
                Beer100 last edited by

                Помогите, плиз. Пока изучаю Ноде с нуля.

                После установки НодеРед - день поработал, поучился, все было норм. На следующий день комп с утра стал грузить проц на 100 с лишним процентов. Закрытие Нода в браузере не помогло. Проблема решилась только после полной деинсталляции программы.

                Что я делаю не так?

                1 Reply Last reply Reply Quote 0
                • O
                  OlegJktu last edited by

                  Скорее всего сделали цикл где-нибудь бесконечный.

                  Я так один раз написал в один поток который включал-выключал лампы по кругу. Вот тогда 90% проца и выжрало. Выжрало-бы и все, но у меня УД в контейнере. В его ограничения аппетит nod-red и уперся.

                  1 Reply Last reply Reply Quote 0
                  • O
                    OlegJktu last edited by

                    Сломал Nod-red при попытке установить node-red-contrib-xiaomi-miio.

                    В драйверах горел зеленным, правила неработали, вебморду Nod-red не открывал.

                    Перезапуск/Удаление/установка не помогли.

                    Я раскатал бекап всего IoBroker.

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

                    И разобраться где flow лежат в файлах.

                    1 Reply Last reply Reply Quote 0
                    • A
                      ap2017 last edited by

                      Что лучше для тех кто не пишет скрипты: Нод Ред или Блокли?

                      Sent from my SM-N920V using Tapatalk

                      1 Reply Last reply Reply Quote 0
                      • O
                        OlegJktu last edited by

                        Без разницы. Фунционал по логике аналогичен.

                        Есть небольшие плюшки node-red можно взять нормально написанный кусок, допусти bigtimer

                        https://tech.scargill.net/big-timer/

                        и там куча проблемм за вас уже решили. Но если очень хочется, то такое можно и в блокли собрать.

                        Дополнительная плюшка node-red можно втянуть оборудование которое в iobroker еще нет, а в node-red уже есть. Но и там можно скриптами на js или blokly вкарачиться.

                        1 Reply Last reply Reply Quote 0
                        • A
                          ap2017 last edited by

                          Спасибо. А по надёжности работы в среде IOB они одинаковы?

                          Sent from my SM-N920V using Tapatalk

                          1 Reply Last reply Reply Quote 0
                          • O
                            OlegJktu last edited by

                            По надёжности одинаково.

                            Но в русскоязычное ветке js и блокли более распространена

                            1 Reply Last reply Reply Quote 0
                            • A
                              ap2017 last edited by

                              @OlegJktu:

                              По надёжности одинаково.

                              Но в русскоязычное ветке js и блокли более распространена ` Спасибо

                              Sent from my SM-N920V using Tapatalk

                              1 Reply Last reply Reply Quote 0
                              • G
                                Golan last edited by

                                Приветствую всех пользователей Node-Red.

                                Ребята подскажите пожалуйста как в dashboard, менять расположение виджетов, у меня только вертикально все стоят, никак не получается их расположить например горизонтально.

                                Буду очень признателен за любой ответ.

                                Спасибо.

                                ! 8555_5.jpg

                                1 Reply Last reply Reply Quote 0
                                • O
                                  OlegJktu last edited by

                                  @Golan:

                                  Буду очень признателен за любой ответ.

                                  Спасибо. `

                                  1. Честно говоря я с nod-red dashboard еще не разбирался (пока хватает визуализаций завязанных на iobroker (вообще основной у меня habpanel она в iob полностью затащена ).

                                  но у меня в закладках вот такой пример термостата

                                  https://tech.scargill.net/a-thermostat-weekend/

                                  Кажется его можно затащить к себе и посмотреть.

                                  1. В шапке есть ссылка на телеграмм канал, там водяться гуру.
                                  1 Reply Last reply Reply Quote 0
                                  • O
                                    OlegJktu last edited by

                                    Нашел пример управления xiaomi пылесосом с уборкой по комнатам

                                    https://flows.nodered.org/flow/6d284006 … 78568f179c

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

                                    1 Reply Last reply Reply Quote 0
                                    • G
                                      Golan last edited by

                                      @OlegJktu:

                                      пока хватает визуализаций завязанных на iobroker `
                                      А можно поинтересоваться какие на IoBrokere есть? Я там вижу именно Dashboard

                                      1 Reply Last reply Reply Quote 0
                                      • O
                                        OlegJktu last edited by

                                        1. ну я думал что выше мы обсуждали nod-red dashboard. Его в драйверах (адаптерах) ioBroker не видно (он целиком на Node-red завязан).

                                        2. vis https://github.com/iobroker/iobroker.vi … /README.md (он кстати в читый nod-red портирован)

                                        3. материал https://github.com/ioBroker/ioBroker.ma ... /README.md

                                        4. мобайл https://github.com/ioBroker/ioBroker.mo ... /README.md

                                        5. мой любимый хаб панель https://github.com/ioBroker/ioBroker.ha ... /README.md

                                        Немного особняком стоят:

                                        1. приложение для андроид iogo https://github.com/nisiode/ioBroker.iog ... /README.md

                                        2. возможность создавать бота с кнопками, графиками и пр. в мессенджере телеграмм

                                        Я на хабпанели и телеграмм, немного тыкаюсь в material

                                        1 Reply Last reply Reply Quote 0
                                        • G
                                          Golan last edited by

                                          Ребят, подскажите пожалуйста.

                                          Поставил брокер на Windows 7, и не вижу драйверов кроме

                                          ! 8555_1.jpg
                                          Как мне их подгрузить или что еще сделать?

                                          1 Reply Last reply Reply Quote 0
                                          • O
                                            OlegJktu last edited by

                                            такое лучше всего на канале в телеграмм спрашивать

                                            https://web.telegram.org/#/im?p=@iobroker

                                            PS лучше конечно было виртуалку поднимать win хост, linux гость. Настроить что бы дестопная win не ломала софт УД местами очень тяжело. Одни перезагрузки чего стоят.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            438
                                            Online

                                            31.8k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            16
                                            85
                                            70620
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo