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. ioBroker драйвера
  5. Драйвер ModBus

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.2k

Драйвер ModBus

Geplant Angeheftet Gesperrt Verschoben ioBroker драйвера
174 Beiträge 25 Kommentatoren 54.5k Aufrufe 2 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.
  • S Offline
    S Offline
    sv102
    schrieb am zuletzt editiert von
    #126

    @MSapogov:

    @MSapogov:

    @Bluefox:

    Мы достаточно близко подошли к решению.

    Попробуй ещё раз обновиться `
    0.4.1

    Теперь COM порт запоминает!

    Я вижу появился бонус "RTU over TCP".

    Проверить работу RTU смогу только завтра (это часов через 12)

    PS: Как можно виртуалку на ESXi с USB-COM портом победить? При выборе Not available.

    ! log

    host-Bee-IoT	2016-10-19 22:57:09.443	info	stopInstance system.adapter.modbus.0 killing pid 3868
    host-Bee-IoT	2016-10-19 22:57:09.443	info	stopInstance system.adapter.modbus.0
    host-Bee-IoT	2016-10-19 22:57:09.443	info	object change system.adapter.modbus.0
    modbus-0	2016-10-19 22:56:50.658	warn	Module serialport is not available
    modbus-0	2016-10-19 22:56:44.854	error	IP address is not defined
    modbus-0	2016-10-19 22:56:44.815	warn	Serial is not available
    modbus-0	2016-10-19 22:56:44.811	info	starting. Version 0.4.1 in /opt/iobroker/node_modules/iobroker.modbus
    host-Bee-IoT	2016-10-19 22:56:44.368	info	instance system.adapter.modbus.0 started with pid 3868
    >! ````
    IOB Ubuntu
    

    root@Bee-IoT:~# lsusb
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 005: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
    Bus 002 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
    Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
    Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    root@Bee-IoT:~# ls -l /dev/ttyS* /dev/ttyUSB*
    crw-rw---- 1 root dialout 4, 64 окт 19 20:57 /dev/ttyS0
    crw-rw---- 1 root dialout 4, 65 окт 19 20:57 /dev/ttyS1
    crw-rw---- 1 root dialout 4, 74 окт 19 20:57 /dev/ttyS10
    crw-rw---- 1 root dialout 4, 75 окт 19 20:57 /dev/ttyS11
    crw-rw---- 1 root dialout 4, 76 окт 19 20:57 /dev/ttyS12
    crw-rw---- 1 root dialout 4, 77 окт 19 20:57 /dev/ttyS13
    crw-rw---- 1 root dialout 4, 78 окт 19 20:57 /dev/ttyS14
    crw-rw---- 1 root dialout 4, 79 окт 19 20:57 /dev/ttyS15
    crw-rw---- 1 root dialout 4, 80 окт 19 20:57 /dev/ttyS16
    crw-rw---- 1 root dialout 4, 81 окт 19 20:57 /dev/ttyS17
    crw-rw---- 1 root dialout 4, 82 окт 19 20:57 /dev/ttyS18
    crw-rw---- 1 root dialout 4, 83 окт 19 20:57 /dev/ttyS19
    crw-rw---- 1 root dialout 4, 66 окт 19 20:57 /dev/ttyS2
    crw-rw---- 1 root dialout 4, 84 окт 19 20:57 /dev/ttyS20
    crw-rw---- 1 root dialout 4, 85 окт 19 20:57 /dev/ttyS21
    crw-rw---- 1 root dialout 4, 86 окт 19 20:57 /dev/ttyS22
    crw-rw---- 1 root dialout 4, 87 окт 19 20:57 /dev/ttyS23
    crw-rw---- 1 root dialout 4, 88 окт 19 20:57 /dev/ttyS24
    crw-rw---- 1 root dialout 4, 89 окт 19 20:57 /dev/ttyS25
    crw-rw---- 1 root dialout 4, 90 окт 19 20:57 /dev/ttyS26
    crw-rw---- 1 root dialout 4, 91 окт 19 20:57 /dev/ttyS27
    crw-rw---- 1 root dialout 4, 92 окт 19 20:57 /dev/ttyS28
    crw-rw---- 1 root dialout 4, 93 окт 19 20:57 /dev/ttyS29
    crw-rw---- 1 root dialout 4, 67 окт 19 20:57 /dev/ttyS3
    crw-rw---- 1 root dialout 4, 94 окт 19 20:57 /dev/ttyS30
    crw-rw---- 1 root dialout 4, 95 окт 19 20:57 /dev/ttyS31
    crw-rw---- 1 root dialout 4, 68 окт 19 20:57 /dev/ttyS4
    crw-rw---- 1 root dialout 4, 69 окт 19 20:57 /dev/ttyS5
    crw-rw---- 1 root dialout 4, 70 окт 19 20:57 /dev/ttyS6
    crw-rw---- 1 root dialout 4, 71 окт 19 20:57 /dev/ttyS7
    crw-rw---- 1 root dialout 4, 72 окт 19 20:57 /dev/ttyS8
    crw-rw---- 1 root dialout 4, 73 окт 19 20:57 /dev/ttyS9
    crw-rw---- 1 root dialout 188, 0 окт 19 22:55 /dev/ttyUSB0
    crw-rw---- 1 root dialout 188, 1 окт 19 22:55 /dev/ttyUSB1
    root@Bee-IoT:~#

    ! ```` `
    УРА!!! Теперь драйвер работает и с виртуальными портами на ESXi.

    0.4.8 (2016-12-15)
    (Apollon77) update serialport library for node 6.x compatibility
    ````Если пробрасываю USB - RS485 в виртуальную машину с IoB, то в настройках драйвера теперь можно выбрать /dev/ttyUSB0
    
    Спасибо! `  
    

    Здравствуйте, подскажите пожалуйста как настроить Modbus через Serial, порт USB пишет "Note Available". iObroker стоит на Armbian (Orange PI PC2 64bit). Версия ModBus драйвера 0.5, до этого была 0.4.1, обновился через веб, но не помогло). Быть может этот порт где-то прописывать надо, чтоб его iObroker увидел?

    Результат команды "dmesg" в командной строке показан на скриншоте. Помогите пожалуйста, третий день бьюсь, пытаясь снимать показания с ардуинки по Modbus через RS485 (Arduino pro mini + MAX485), а на orange pi вставлено устройство "USB to Serial"

    ! ````
    root@orangepipc2:/opt/iobroker# ls -l /dev/ttyS* /dev/ttyUSB*
    crw--w---- 1 root tty 4, 64 Feb 25 17:18 /dev/ttyS0
    crw-rw---- 1 root dialout 4, 65 Feb 25 16:17 /dev/ttyS1
    crw-rw---- 1 root dialout 4, 66 Feb 25 16:17 /dev/ttyS2
    crw-rw---- 1 root dialout 4, 67 Feb 25 16:17 /dev/ttyS3
    crw-rw---- 1 root dialout 188, 0 Feb 25 17:20 /dev/ttyUSB0
    root@orangepipc2:/opt/iobroker#

    [2244_2017-02-25_22-45-59.jpg](/assets/uploads/files/2244_2017-02-25_22-45-59.jpg)
    [2244_2017-02-25_22-48-19.jpg](/assets/uploads/files/2244_2017-02-25_22-48-19.jpg)
    1 Antwort Letzte Antwort
    0
    • aurodionovA Offline
      aurodionovA Offline
      aurodionov
      schrieb am zuletzt editiert von
      #127

      @sv102:

      Здравствуйте, подскажите пожалуйста как настроить Modbus через Serial, порт USB пишет "Note Available". `
      А что выдаёт по lsusb ?

      Должен показать все устройства подключенные по usb.

      Интересует /dev/ttyUSBx, это и есть искомый порт, и да у меня на такой -же микре переходник нормально видится в дебиан

      Пишу с пульта….

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        sv102
        schrieb am zuletzt editiert von
        #128

        @aurodionov:

        @sv102:

        Здравствуйте, подскажите пожалуйста как настроить Modbus через Serial, порт USB пишет "Note Available". `
        А что выдаёт по lsusb ?

        Должен показать все устройства подключенные по usb.

        Интересует /dev/ttyUSBx, это и есть искомый порт, и да у меня на такой -же микре переходник нормально видится в дебиан `
        По lsusb тоже виден

        ! ````
        root@orangepipc2:/opt/iobroker# lsusb
        Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
        Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
        Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
        Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
        Bus 004 Device 002: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
        Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
        Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
        root@orangepipc2:/opt/iobroker#

        1 Antwort Letzte Antwort
        0
        • aurodionovA Offline
          aurodionovA Offline
          aurodionov
          schrieb am zuletzt editiert von
          #129

          Тогда возможно не хватает прав, у меня иоброкер бегает от рута

          Пишу с пульта….

          Пишу с пульта….

          1 Antwort Letzte Antwort
          0
          • S Offline
            S Offline
            sv102
            schrieb am zuletzt editiert von
            #130

            @aurodionov:

            Тогда возможно не хватает прав, у меня иоброкер бегает от рута

            Пишу с пульта…. `
            Не безопасно конечно, но запущено от рута. Как же заставить ioBroker видеть usb? :roll: :cry:
            2244_2017-02-26_00-04-30.jpg

            1 Antwort Letzte Antwort
            0
            • aurodionovA Offline
              aurodionovA Offline
              aurodionov
              schrieb am zuletzt editiert von
              #131

              Попробуй подключиться к этому порту терминалом, может порт чем-то занят

              Пишу с пульта….

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                MSapogov
                schrieb am zuletzt editiert von
                #132

                Попробуй перезапустить драйвер…

                У меня разрешает выбор COM порта только когда драйвер запущен.

                А на Опельсинке вообще никогда проблем не было с выбором COM порта (Armbian 5.20)

                1 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  Adav
                  schrieb am zuletzt editiert von
                  #133

                  При попытке установить драйвер вылетает ошибка в логе:

                  ` > ERR!

                  Tried to download: https://github.com/voodootikigod/node-s … a32.tar.gz `

                  По данной ссылке действительно ничего нет, при этом в более новой версии node-serialport (4.0.7) присутствует архив ia32. Что с этим можно сделать?

                  1 Antwort Letzte Antwort
                  0
                  • BluefoxB Offline
                    BluefoxB Offline
                    Bluefox
                    schrieb am zuletzt editiert von
                    #134

                    @Adav:

                    При попытке установить драйвер вылетает ошибка в логе:

                    ` > ERR!

                    Tried to download: https://github.com/voodootikigod/node-s … a32.tar.gz `

                    По данной ссылке действительно ничего нет, при этом в более новой версии node-serialport (4.0.7) присутствует архив ia32. Что с этим можно сделать? `
                    Это стандартный метод установки. Сначала установщик пытается скачать предкомпилированную версию для системы. И если система экзотическая, то пытается собрать из исходников сам.

                    Для этого нужно установить соответсвующие apt-get пакеты.

                    Исходя из того что для windows бинарные версии существуют, то значит у тебя linux.

                    Нужно сначала установить

                    sudo apt-get install build-essential

                    и потом установить iob драйвер от рута.

                    И запускать его тоже надо от рута

                    1 Antwort Letzte Antwort
                    0
                    • A Offline
                      A Offline
                      Adav
                      schrieb am zuletzt editiert von
                      #135

                      Да, Debian 8 32-bit.

                      build-essential уже стоял, использую root, других пользователей не заводил, драйвера наверное тоже запускаются от root, или я что-то не так понимаю? В admin интерфейсе просто пытаюсь ставить modbus… или надо как-то принудительно из командной строки?

                      1 Antwort Letzte Antwort
                      0
                      • BluefoxB Offline
                        BluefoxB Offline
                        Bluefox
                        schrieb am zuletzt editiert von
                        #136

                        @Adav:

                        Да, Debian 8 32-bit.

                        build-essential уже стоял, использую root, других пользователей не заводил, драйвера наверное тоже запускаются от root, или я что-то не так понимаю? В admin интерфейсе просто пытаюсь ставить modbus… или надо как-то принудительно из командной строки? `
                        Ну в целях эксперимента попробуй установить из командной строки

                        cd /opt/iobroker
                        sudo npm i iobroker.modbus
                        

                        При ошибке должен появится npm-debug.log в /opt/iobroker. Было бы интересно его посмотреть.

                        1 Antwort Letzte Antwort
                        0
                        • A Offline
                          A Offline
                          Adav
                          schrieb am zuletzt editiert von
                          #137

                          Попробовал. Cначала удалил в админе старую установку modbus, потом установил из строки. Вроде установилось. Никаких сообщений об ошибках в консоли не увидел, в логах админа вообще пусто, npm-debug.log не появился. Но… захожу в админ - закладки "драйвера" - вижу установленный modbus adapter, захожу в закладку "настройки драйверов" - там нет modbus. Когда до этого игрался с этим делом - обнаружил, что именно так и бывает с версией 0.5.2, а вот если поставить ее поверх 0.5.0 - то нормально. Видимо в свежей версии есть в этой части ошибки.

                          Пробую еще раз, но теперь из админа. Удаляю драйвер, ставлю 0.5.2 с github - установилось на этот раз без ошибок (node-serialport сохранился от установки через консоль?), но с настройками драйвера все та же беда. Еще раз удаляю драйвер и на этот раз ставлю в админе версию 0.5.0 - повторяется ошибка с node-serialport-ia32 (разные версии modbus смотрят в разные каталоги?), но при этом а настройках драйверов появляется modbus. Ставлю через админ (обновляю) драйвер с github на версию 0.5.2 - ошибок с ia32 нет (в этот раз увидела сохраненное от установки через строку?), в настройках драйверов modbus сохранился.

                          Надеюсь, что заработает, проверить смогу не скоро, когда прибудет из Китая новое modbus устройство, те что есть не хочу отключать пока от существующего контроллера. Будут проблемы - отпишусь. А пока на лицо помимо ошибки с ia32 (как видим преодолимо через строку), так и ошибки в новой версии с настройками драйверов.

                          Кстати, node-serialport используется не совсем свежий по каким-то важным причинам?

                          1 Antwort Letzte Antwort
                          0
                          • BluefoxB Offline
                            BluefoxB Offline
                            Bluefox
                            schrieb am zuletzt editiert von
                            #138

                            @Adav:

                            Попробовал. Cначала удалил в админе старую установку modbus, потом установил из строки. Вроде установилось. Никаких сообщений об ошибках в консоли не увидел, в логах админа вообще пусто, npm-debug.log не появился. Но… захожу в админ - закладки "драйвера" - вижу установленный modbus adapter, захожу в закладку "настройки драйверов" - там нет modbus. Когда до этого игрался с этим делом - обнаружил, что именно так и бывает с версией 0.5.2, а вот если поставить ее поверх 0.5.0 - то нормально. Видимо в свежей версии есть в этой части ошибки. `
                            Надо просто выполнить

                            iobroker upload modbus
                            iobroker add modbus
                            

                            @Adav:

                            Пробую еще раз, но теперь из админа. Удаляю драйвер, ставлю 0.5.2 с github - установилось на этот раз без ошибок (node-serialport сохранился от установки через консоль?), но с настройками драйвера все та же беда. Еще раз удаляю драйвер и на этот раз ставлю в админе версию 0.5.0 - повторяется ошибка с node-serialport-ia32 (разные версии modbus смотрят в разные каталоги?), но при этом а настройках драйверов появляется modbus. Ставлю через админ (обновляю) драйвер с github на версию 0.5.2 - ошибок с ia32 нет (в этот раз увидела сохраненное от установки через строку?), в настройках драйверов modbus сохранился.

                            Надеюсь, что заработает, проверить смогу не скоро, когда прибудет из Китая новое modbus устройство, те что есть не хочу отключать пока от существующего контроллера. Будут проблемы - отпишусь. А пока на лицо помимо ошибки с ia32 (как видим преодолимо через строку), так и ошибки в новой версии с настройками драйверов. `
                            @Adav:

                            Кстати, node-serialport используется не совсем свежий по каким-то важным причинам? `
                            Новый serialport ломает поддержку 0.12.x node.js версий

                            1 Antwort Letzte Antwort
                            0
                            • A Offline
                              A Offline
                              Adav
                              schrieb am zuletzt editiert von
                              #139

                              Был немного занят другими делами…

                              @Bluefox:

                              Надо просто выполнить

                              iobroker upload modbus
                              iobroker add modbus
                              ```` `  
                              

                              После этого действительно появляется modbus последней версии в настройках, но вот в процессе опять появляется та же ошибка:

                              root@ioBroker:/opt/iobroker# iobroker add modbus

                              host.ioBroker install adapter modbus

                              npm install –production (System call) in "/opt/iobroker/node_modules/iobroker.modbus"

                              node-pre-gyp ERR! Tried to download: https://github.com/voodootikigod/node-s ... a32.tar.gz

                              node-pre-gyp ERR! Pre-built binaries not found for serialport@3.1.2 and node@4.8.1 (node-v46 ABI) (falling back to source compile with node-gyp)

                              Я правильно понимаю, что в итоге node-serialport так и не ставится на моей версии linux?

                              Попробовал еще на Orange Pi Zero с Armbian - та же проблема:

                              ERR! Tried to download(404): https://github.com/EmergingTechnologyAd ... arm.tar.gz node-pre-gyp ERR! Pre-built binaries not found for serialport@4.0.7 and node@4.8.1 (node-v46 ABI) (falling back to source compile with node-gyp)

                              Но вот почему-то лезет уже к свежей версии. Хотя Вы говорили выше, что нужна старая... ничего не понимаю :(

                              build-essential здесь также установлен.

                              1 Antwort Letzte Antwort
                              0
                              • BluefoxB Offline
                                BluefoxB Offline
                                Bluefox
                                schrieb am zuletzt editiert von
                                #140

                                @Adav:

                                Был немного занят другими делами…

                                @Bluefox:

                                Надо просто выполнить

                                iobroker upload modbus
                                iobroker add modbus
                                ```` `  
                                

                                После этого действительно появляется modbus последней версии в настройках, но вот в процессе опять появляется та же ошибка:

                                root@ioBroker:/opt/iobroker# iobroker add modbus

                                host.ioBroker install adapter modbus

                                npm install –production (System call) in "/opt/iobroker/node_modules/iobroker.modbus"

                                node-pre-gyp ERR! Tried to download: https://github.com/voodootikigod/node-s ... a32.tar.gz

                                node-pre-gyp ERR! Pre-built binaries not found for serialport@3.1.2 and node@4.8.1 (node-v46 ABI) (falling back to source compile with node-gyp)

                                Я правильно понимаю, что в итоге node-serialport так и не ставится на моей версии linux?

                                Попробовал еще на Orange Pi Zero с Armbian - та же проблема:

                                ERR! Tried to download(404): https://github.com/EmergingTechnologyAd ... arm.tar.gz node-pre-gyp ERR! Pre-built binaries not found for serialport@4.0.7 and node@4.8.1 (node-v46 ABI) (falling back to source compile with node-gyp)

                                Но вот почему-то лезет уже к свежей версии. Хотя Вы говорили выше, что нужна старая... ничего не понимаю :(

                                build-essential здесь также установлен. `
                                Это только надпись. А устанавливать все равно должен.

                                1 Antwort Letzte Antwort
                                0
                                • A Offline
                                  A Offline
                                  Adav
                                  schrieb am zuletzt editiert von
                                  #141

                                  @Bluefox:

                                  Это только надпись. А устанавливать все равно должен. `

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

                                  1 Antwort Letzte Antwort
                                  0
                                  • K Offline
                                    K Offline
                                    kab1561
                                    schrieb am zuletzt editiert von
                                    #142

                                    Доброго времени суток всем!

                                    Пытаюсь использовать драйвер Modbus для работы с самосборным контроллером, работающим по протоколу Modbus RTU.

                                    Настроил драйвер на опрос holdingRegisters. Опрос ведется, данные с контроллера принимаются - проблем нет. Как я понимаю, здесь драйвер использует функцию 03 (Read Holding Registers) протокола Modbus.

                                    Но, я пока так и не понял, как записать из ioBroker какие-нибудь данные в единичный регистр контроллера.

                                    Это вообще возможно?

                                    Сейчас драйвер Modbus каким-либо образом может использовать функции 06 (Preset Single Register) и 16 (Preset Multiple Regs)? Если может, то как?

                                    1 Antwort Letzte Antwort
                                    0
                                    • BluefoxB Offline
                                      BluefoxB Offline
                                      Bluefox
                                      schrieb am zuletzt editiert von
                                      #143

                                      @kab1561:

                                      Доброго времени суток всем!

                                      Пытаюсь использовать драйвер Modbus для работы с самосборным контроллером, работающим по протоколу Modbus RTU.

                                      Настроил драйвер на опрос holdingRegisters. Опрос ведется, данные с контроллера принимаются - проблем нет. Как я понимаю, здесь драйвер использует функцию 03 (Read Holding Registers) протокола Modbus.

                                      Но, я пока так и не понял, как записать из ioBroker какие-нибудь данные в единичный регистр контроллера.

                                      Это вообще возможно?

                                      Сейчас драйвер Modbus каким-либо образом может использовать функции 06 (Preset Single Register) и 16 (Preset Multiple Regs)? Если может, то как? `
                                      Для записи используется 16 если длина адресов больше 1 и

                                      6 если нужно считать только один адрес.

                                      А что не работает?

                                      1 Antwort Letzte Antwort
                                      0
                                      • K Offline
                                        K Offline
                                        kab1561
                                        schrieb am zuletzt editiert von
                                        #144

                                        @Bluefox:

                                        Для записи используется 16 если длина адресов больше 1 и

                                        6 если нужно считать только один адрес.

                                        А что не работает? `

                                        Я понимаю, что для Вас это "азы", но я просто не могу "въехать" в логику обработки событий ioBroker.

                                        В моем случае ioBroker получает от удаленного контроллера данные из 17 Holding Registers (в драйвере Modbus они описаны как 40001 … 40017). У этого контроллера есть один входной регистр (Preset Single Register), если записать в него какое-либо шестнадцатиричное число, то он исполняет сооветствующие команды.

                                        К примеру, я хочу, чтобы при появлении значения 280 в 40002 Holding Registers ioBroker отправлял значение 4 (0x4) в указанный Single Register контроллера посредством функции 06 (Preset Single Register) протокола Modbus. Как мне это реализовать в ioBroker?

                                        Какие драйверы кроме Modbus необходимо установить для реализации этого?

                                        И, если подобную логику кто-то делал - то где можно об этом почитать?

                                        1 Antwort Letzte Antwort
                                        0
                                        • BluefoxB Offline
                                          BluefoxB Offline
                                          Bluefox
                                          schrieb am zuletzt editiert von
                                          #145

                                          @kab1561:

                                          @Bluefox:

                                          Для записи используется 16 если длина адресов больше 1 и

                                          6 если нужно считать только один адрес.

                                          А что не работает? `

                                          Я понимаю, что для Вас это "азы", но я просто не могу "въехать" в логику обработки событий ioBroker.

                                          В моем случае ioBroker получает от удаленного контроллера данные из 17 Holding Registers (в драйвере Modbus они описаны как 40001 … 40017). У этого контроллера есть один входной регистр (Preset Single Register), если записать в него какое-либо шестнадцатиричное число, то он исполняет сооветствующие команды.

                                          К примеру, я хочу, чтобы при появлении значения 280 в 40002 Holding Registers ioBroker отправлял значение 4 (0x4) в указанный Single Register контроллера посредством функции 06 (Preset Single Register) протокола Modbus. Как мне это реализовать в ioBroker?

                                          Какие драйверы кроме Modbus необходимо установить для реализации этого?

                                          И, если подобную логику кто-то делал - то где можно об этом почитать? `
                                          Понятно, что было не понятно :D

                                          Тебе нужен Javascript драйвер и твой случай будет выглядеть так:
                                          48_2017-04-20_00_00_27-iobroker.admin.png

                                          Для этого можешь импортировать код отсюда.

                                          ! ````
                                          <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="6o:Z)o={6z!yNYw2%Q!u" x="63" y="63"><mutation items="1"></mutation>
                                          <field name="CONDITION">any</field>

                                          <value name="OID0"><shadow type="field_oid" id=";R*F2k/]wqu#aGAZo8d*"><field name="oid">modbus.0.holdingRegisters.1</field></shadow></value> 
                                          <statement name="STATEMENT"><block type="controls_if" id="WVf9W,,C2j?,BMc{mWKU"><value name="IF0"><block type="logic_compare" id="1,b~SR78igB..=oouJ5y"><field name="OP">EQ</field>
                                                  <value name="A"><block type="on_source" id="9hE-J`4B{`*Xh^By3sZC"><field name="ATTR">state.val</field></block></value> 
                                                  <value name="B"><block type="math_number" id="%n0=RkQG]^IJ=MjnabbD"><field name="NUM">280</field></block></value></block></value> 
                                              <statement name="DO0"><block type="control" id="-CL55G=Hr[UyJ5_p/xI]"><mutation delay_input="false"></mutation>
                                                  <field name="OID">modbus.0.holdingRegisters.2</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="math_number" id="T%[O)Rm:B`Uz=HGuP7W("><field name="NUM">4</field></block></value></block></statement></block></statement></block></xml> 
                                          
                                           ![48_2017-04-20_00_01_48-iobroker.admin.png](/assets/uploads/files/48_2017-04-20_00_01_48-iobroker.admin.png) 
                                          
                                          В моём примере читается регистр с адресом 1 и если там появляется 280, то пишется в регистр с адресом 2 значение 4.
                                          
                                          Или можно javascript:
                                          
                                          

                                          on({id: 'modbus.0.holdingRegisters.1', change: "any"}, function (obj) {
                                          if (obj.state.val === 280) setState("modbus.0.holdingRegisters.2", 4);
                                          });

                                          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

                                          839

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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