Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. ioBroker драйвера
    5. Драйвер ioBroker MySensors

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Драйвер ioBroker MySensors

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

      0;8;1;1;2 для твоего реле напиши, остальные поля можно не трогать

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

      1 Reply Last reply Reply Quote 0
      • M
        Maxtox last edited by

        https://youtu.be/LFCIhMTMtIY

        1 Reply Last reply Reply Quote 0
        • V
          Vlad_k last edited by

          прыгает потому что твой шлюз отправляет данные постоянно

          1 Reply Last reply Reply Quote 0
          • M
            Maxtox last edited by

            @Vlad_k:

            прыгает потому что твой шлюз отправляет данные постоянно `
            вроде не прыгает ( подключил к компу)…

            https://youtu.be/rQqTmg9WccY

            в иоброкере...ЛОГ:

            @bluefox:

            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:28	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:28	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:28	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:27	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:27	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:27	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:27	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:27	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:27	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:27	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:27	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:27	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:27	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:27	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:27	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:26	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:26	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:26	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:26	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:26	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:26	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:26	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:26	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:26	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:26	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:26	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:26	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:26	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:25	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:25	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:25	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:25	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:25	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:25	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:25	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:25	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:25	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:25	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:25	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:25	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:24	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:24	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:24	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:24	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:24	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:24	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:24	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:24	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:24	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:24	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:24	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:24	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:23	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:23	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:23	2016-02-21 12:58:18
            stateChange	mysensors.0.V_TEMP_0_58	"43.29"	false	mysensors.0	2016-02-21 12:58:23	2016-02-21 12:58:18
            
            1 Reply Last reply Reply Quote 0
            • V
              Vlad_k last edited by

              а попробуй-ка только один датчик температуры выбрать в девлист, может прыгает потому что с двух датчиков неправильно парсит, хотя врятли…

              1 Reply Last reply Reply Quote 0
              • M
                Maxtox last edited by

                ни чего не понимаю!

                https://youtu.be/wsnjSjnc0gU

                в скетче каждые 10сек. update!

                https://www.youtube.com/watch?v=wsnjSjnc0gU

                `if (millis() > next_Time[i])
                      {
                        next_Time[i] = next_Time[i] + 10000;  //Update Value every 10s 
                        Rt = Rv / ((1024.0 / analogRead(i)) - 1.0);
                        float tempNTC = (B_wert * Tn / (B_wert + (Tn * log(Rt / Rn)))) - Tn + 25.0 + Temp_offset[i];// Here Offset if needed
                
                        if ((tempNTC > (last_float_value[i] + delta_ntc)) || (tempNTC < (last_float_value[i] - delta_ntc))
                          || complete_loop)
                        {
                          //MyMessage msg(i, iomodus[i].variableType);
                          Serial.print("tempNTC of Pin ");
                          Serial.print(i);
                          Serial.print(" is ");
                          Serial.println(tempNTC);
                          send(msg.setSensor(i).set(tempNTC, 2), false);
                
                          last_float_value[i] = tempNTC;
                
                        }
                      }`[/i][/i][/i][/i][/i][/i][/i][/i]
                
                1 Reply Last reply Reply Quote 0
                • V
                  Vlad_k last edited by

                  вроде нашел где глючит, залил , пробуй

                  1 Reply Last reply Reply Quote 0
                  • M
                    Maxtox last edited by

                    ok.. отпишусь!

                    1 Reply Last reply Reply Quote 0
                    • H
                      Haba last edited by

                      Подскажите пожалуйста, из-за чего криво может ставится этот драйвер?

                      саму ioBroker поставил и запустил раза с пятого 🙂

                      Железо Raspberry Pi B, шлюз Arduino Serial. Подключаю на GPIO, т.е. будет использоваться ttyAMA0

                      Установку делаю с админ панели

                      вот лог установки драйвера:

                      ! ````
                      $ ./iobroker add mysensors
                      npm install iobroker.mysensors --production --prefix "/opt/iobroker" (System call)
                      In file included from ../src/serialport.h:5:0, from ../src/serialport.cpp:3:
                      ../node_modules/nan/nan.h:316:47: error: ‘REPLACE_INVALID_UTF8’ is not a member of ‘v8::String’
                      static const unsigned kReplaceInvalidUtf8 = v8::String::REPLACE_INVALID_UTF8;
                      ^
                      ! make: *** [Release/obj.target/serialport/src/serialport.o] Ошибка 1
                      gyp

                      ERR! build error
                      gyp
                      ERR!
                      stack Error: make failed with exit code: 2gyp ERR! stack at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:267:23)
                      gyp ERR! stack at ChildProcess.emit (events.js:98:17)
                      gyp ERR! stack
                      at Process.ChildProcess._handle.onexit (child_process.js:809:12)
                      gyp
                      ERR! System Linux 4.1.19+gyp ERR! command "nodejs" "/usr/bin/node-gyp" "build" "--fallback-to-build" "--module=/opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport/build/Release/node-v11-linux-arm/serialport.node" "--module_name=serialport" "--module_path=/opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport/build/Release/node-v11-linux-arm"

                      ! gyp ERR! cwd /opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialportgyp ERR! node -v v0.10.29
                      gyp ERR! node-gyp -v v0.12.2
                      ! gyp ERR! not ok
                      node-pre-gyp ERR! build error
                      node-pre-gyp
                      ERR! stack Error: Failed to execute 'node-gyp build --fallback-to-build --module=/opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport/build/Release/node-v11-linux-arm/serialport.node --module_name=serialport --module_path=/opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport/build/Release/node-v11-linux-arm' (1)node-pre-gyp
                      ERR! stack at ChildProcess. <anonymous>(/opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport/node_modules/node-pre-gyp/lib/util/compile.js:83:29)node-pre-gyp ERR! stack at ChildProcess.emit (events.js:98:17)
                      node-pre-gyp ERR! stack at maybeClose (child_process.js:755:16)
                      node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:822:5)
                      ! node-pre-gyp
                      ERR! System Linux 4.1.19+node-pre-gyp ERR! command "node" "/opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
                      node-pre-gyp ERR! cwd /opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport
                      node-pre-gyp ERR! node -v v0.10.29
                      node-pre-gyp ERR! node-pre-gyp -v v0.6.18
                      node-pre-gyp
                      ERR! not ok
                      npm

                      WARN This failure might be due to the use of legacy binary "node"
                      npm WARN For further explanations, please read/usr/share/doc/nodejs/README.Debian

                      ! npm
                      WARN optional dep failed, continuing serialport@2.0.6</anonymous>

                      1 Reply Last reply Reply Quote 0
                      • M
                        Maxtox last edited by

                        Ты мой видео на YouTube смотрел? Там всё показано

                        1 Reply Last reply Reply Quote 0
                        • Bluefox
                          Bluefox last edited by

                          @Haba:

                          Подскажите пожалуйста, из-за чего криво может ставится этот драйвер?

                          саму ioBroker поставил и запустил раза с пятого 🙂

                          Железо Raspberry Pi B, шлюз Arduino Serial. Подключаю на GPIO, т.е. будет использоваться ttyAMA0

                          Установку делаю с админ панели

                          вот лог установки драйвера:

                          ! ````
                          $ ./iobroker add mysensors
                          npm install iobroker.mysensors --production --prefix "/opt/iobroker" (System call)
                          In file included from ../src/serialport.h:5:0, from ../src/serialport.cpp:3:
                          ../node_modules/nan/nan.h:316:47: error: ‘REPLACE_INVALID_UTF8’ is not a member of ‘v8::String’
                          static const unsigned kReplaceInvalidUtf8 = v8::String::REPLACE_INVALID_UTF8;
                          ^
                          ! make: *** [Release/obj.target/serialport/src/serialport.o] Ошибка 1
                          gyp

                          ERR! build error
                          gyp
                          ERR!
                          stack Error: make failed with exit code: 2gyp ERR! stack at ChildProcess.onExit (/usr/share/node-gyp/lib/build.js:267:23)
                          gyp ERR! stack at ChildProcess.emit (events.js:98:17)
                          gyp ERR! stack
                          at Process.ChildProcess._handle.onexit (child_process.js:809:12)
                          gyp
                          ERR! System Linux 4.1.19+gyp ERR! command "nodejs" "/usr/bin/node-gyp" "build" "--fallback-to-build" "--module=/opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport/build/Release/node-v11-linux-arm/serialport.node" "--module_name=serialport" "--module_path=/opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport/build/Release/node-v11-linux-arm"

                          ! gyp ERR! cwd /opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialportgyp ERR! node -v v0.10.29
                          gyp ERR! node-gyp -v v0.12.2
                          ! gyp ERR! not ok
                          node-pre-gyp ERR! build error
                          node-pre-gyp
                          ERR! stack Error: Failed to execute 'node-gyp build --fallback-to-build --module=/opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport/build/Release/node-v11-linux-arm/serialport.node --module_name=serialport --module_path=/opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport/build/Release/node-v11-linux-arm' (1)node-pre-gyp
                          ERR! stack at ChildProcess. <anonymous>(/opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport/node_modules/node-pre-gyp/lib/util/compile.js:83:29)node-pre-gyp ERR! stack at ChildProcess.emit (events.js:98:17)
                          node-pre-gyp ERR! stack at maybeClose (child_process.js:755:16)
                          node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:822:5)
                          ! node-pre-gyp
                          ERR! System Linux 4.1.19+node-pre-gyp ERR! command "node" "/opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
                          node-pre-gyp ERR! cwd /opt/iobroker/node_modules/iobroker.mysensors/node_modules/serialport
                          node-pre-gyp ERR! node -v v0.10.29
                          node-pre-gyp ERR! node-pre-gyp -v v0.6.18
                          node-pre-gyp
                          ERR! not ok
                          npm

                          WARN This failure might be due to the use of legacy binary "node"
                          npm WARN For further explanations, please read/usr/share/doc/nodejs/README.Debian

                          ! npm
                          WARN optional dep failed, continuing serialport@2.0.6</anonymous>
                          ```` `
                          Не хватает питона и build-essential

                          1 Reply Last reply Reply Quote 0
                          • H
                            Haba last edited by

                            Maxtox видео смотрел, но посмотрел еще раз 🙂 действитвельно упустил один момент. У меня почему то даже на качестве 720р текст плохо был виден. только при втором просмотре увидел версию nodejs 12.6.

                            Все переустановил еще разок, заработало! Через USB шлюз уже подключил, через GPIO пока еще не успел. Ругается Serial error: Error: Serialport not open, буду настройки проверять.

                            Bluefox , в последнем образе Raspbian уже последние версии стоят, проверял.

                            Кстати, подскажите еще такой момент. При установке уже самого ioBroker вылазит следующее (хотя ставил под рутом):

                            ! Write "./iobroker start" to start the ioBroker
                            ! Cannot create file /usr/bin/iobroker!. Non critical
                            ! –---------------------------------------------------
                            ! You can manually copy file into /usr/bin/. Just write:
                            ! sudo cp /opt/iobroker/node_modules/iobroker/install/iobroker /usr/bin/
                            ! sudo chmod 777 /usr/bin/iobroker
                            ! -----------------------------------------------------
                            ! Cannot copy file to /etc/init.d/iobroker.sh: Error: EACCES: permission denied, open '/etc/init.d/iobroker.sh'
                            ! -----------------------------------------------------
                            ! You can manually copy file and install autostart:
                            ! sudo cp /opt/iobroker/node_modules/iobroker/install/linux/iobroker.sh /etc/init.d/
                            ! sudo chmod 777 /etc/init.d/iobroker.sh
                            ! sudo bash /opt/iobroker/node_modules/iobroker/install/linux/install.sh
                            ! -----------------------------------------------------
                            ! or just start "sudo bash /opt/iobroker/install.sh"
                            ! -----------------------------------------------------

                            Как и написано, ручками эти команды выполняю и запускаю брокера.

                            1 Reply Last reply Reply Quote 0
                            • fishka18rus
                              fishka18rus last edited by

                              @Vlad_k:

                              Драйвер предназначен для работы с беспроводными устройствами (arduino+nrf24), использующими библиотеку с http://www.mysensors.org/…

                              драйвер в обкатке, предложения(пожелания) не игнорируются 😄 `

                              Привет!

                              Адаптер для mysensors это действительно круто. Я давно лелеял надежду что кто-нибудь напишет подобную штуку, так как сам совсем не программист. Но, как я понял, данный адаптер в режиме tcp или udp выступает в качестве шлюза для устрйств mysensensors, т.е. работает как сервер и ждет подключений на порт 5003? Разве не логичнее ему получать данные от mysensors gateway запущенном на какой-нибудь esp8266? И есть ли в планах такой режим?

                              1 Reply Last reply Reply Quote 0
                              • H
                                Haba last edited by

                                fishka18rus Не совсем так. Данный драйвер принимает данные (посылает команды) через физический шлюз, выполненный на одном из вариантов Serial, MQTT или Ethernet. Соответственно на чем сделан шлюз (ардуина + usb или esp8266 или сетевой модуль) не важно для ioBroker, будет работать с любой железкой либо через uart, либо через сеть

                                1 Reply Last reply Reply Quote 0
                                • H
                                  Haba last edited by

                                  Возможность автоматической раздачи id, новым подключаемым узлам и возможность обновления прошивки по воздуху (на основе загрузчика MYSBootloader планируется?

                                  1 Reply Last reply Reply Quote 0
                                  • M
                                    Maxtox last edited by

                                    da… v planax est

                                    1 Reply Last reply Reply Quote 0
                                    • H
                                      Haba last edited by

                                      Кто может подказать по такой штуке…

                                      в скетче описал датчики, они появились в Объектах в таком виде:

                                      ~~![](</s><URL url=)http://s019.radikal.ru/i634/1604/fe/567a3f1240f8.png" />

                                      В скетче датчики описаны так:

                                      MyMessage AlmStatus(MyAlm, V_VAR1);  
                                      MyMessage BatStatus(MyBat, V_WATT);
                                      MyMessage NetStatus(MyNet, V_VAR2);
                                      
                                       gw.present(MyAlm, S_CUSTOM, "123", false);
                                       gw.present(MyBat, S_POWER, "123", false);
                                       gw.present(MyNet, S_CUSTOM, "123", false);
                                      
                                      

                                      По картинке видно, что V_VAR1 и V_VAR2 показываются пустыми полями, и по началу не подтягивались и данные.

                                      А для S_POWER добавилась лишняя переменная, которая не была описана.

                                      Чтобы данные с переменных V_VAR1 и V_VAR2 тоже было видно, прописал ручками так:

                                      ~~![](</s><URL url=)http://s017.radikal.ru/i409/1604/d3/89954a1243f8.png" />

                                      Но по идее этот подход не соответсвуют идее разработчика. Как вообще правильно надо описывать датчики в MySensors?

                                      Я предполагал, что драйвер брокера из gw.present вытягивает переменные S_…, а потом уже из сообщений тянет типы переменных V_…. При таком подходе в Объектах было бы только то, что описанно в скетче и ничего лишнего.~~~~

                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        Maxtox last edited by

                                        @Haba:

                                        Но по идее этот подход не соответсвуют идее разработчика. Как вообще правильно надо описывать датчики в MySensors?

                                        Я предполагал, что драйвер брокера из gw.present вытягивает переменные S_…, а потом уже из сообщений тянет типы переменных V_…. При таком подходе в Объектах было бы только то, что описанно в скетче и ничего лишнего. `

                                        а как вытащить тип переменной из V… ?

                                        пример S_Custom 😄

                                        1 Reply Last reply Reply Quote 0
                                        • H
                                          Haba last edited by

                                          По идее все просто…

                                          gw.present(2, S_CUSTOM, "text", false);

                                          в шлюз придет:

                                          30;2;0;0;23;text

                                          где:

                                          __30 - адрес узла

                                          2 - child-sensor-id - адрес датчика

                                          0 - message-type "presentation"

                                          0 - ack

                                          23 - sub-type "S_CUSTOM"__

                                          т.е. переменную S_… получили из презентации

                                          –--------------------------

                                          теперь будем получать код переменной V…

                                          __MyMessage AlmStatus(2, V_VAR2);

                                          gw.send(AlmStatus.set(-84));__

                                          в шлюз получим:

                                          2016-04-05 11:43:04 warn Serial data received: 30;2;1;0;25;-84

                                          где:

                                          __30 - адрес узла

                                          2 - child-sensor-id - адрес датчика

                                          1 - message-type "set"

                                          0 - ack__

                                          25 - sub-type "V_VAR2"

                                          -84 - значение

                                          В результате дерево объектов можно построить следующим образом:

                                          1. с узла при презентации получаем: арес узла, адреса датчиков, их тип S_… и комментарий, название скетча, версия скетча

                                          2. При отправке сообщений gw.send(MyMessage.set(x)); добавляем в дерево объектов подобъекты типов V_…, к каким добавить объектам S_… определяем по адресу датчика.

                                          1 Reply Last reply Reply Quote 0
                                          • Bluefox
                                            Bluefox last edited by

                                            @Haba:

                                            По идее все просто…

                                            gw.present(2, S_CUSTOM, "text", false);

                                            в шлюз придет:

                                            30;2;0;0;23;text

                                            где:

                                            __30 - адрес узла

                                            2 - child-sensor-id - адрес датчика

                                            0 - message-type "presentation"

                                            0 - ack

                                            23 - sub-type "S_CUSTOM"__

                                            т.е. переменную S_… получили из презентации

                                            –--------------------------

                                            теперь будем получать код переменной V…

                                            __MyMessage AlmStatus(2, V_VAR2);

                                            gw.send(AlmStatus.set(-84));__

                                            в шлюз получим:

                                            2016-04-05 11:43:04 warn Serial data received: 30;2;1;0;25;-84

                                            где:

                                            __30 - адрес узла

                                            2 - child-sensor-id - адрес датчика

                                            1 - message-type "set"

                                            0 - ack__

                                            25 - sub-type "V_VAR2"

                                            -84 - значение

                                            В результате дерево объектов можно построить следующим образом:

                                            1. с узла при презентации получаем: арес узла, адреса датчиков, их тип S_… и комментарий, название скетча, версия скетча

                                            2. При отправке сообщений gw.send(MyMessage.set(x)); добавляем в дерево объектов подобъекты типов V_…, к каким добавить объектам S_… определяем по адресу датчика. `
                                            Это означает, что пока сенсоры не пошлют данные, объекты не создадутся. А если это output? И данные никогда не придут? Или температура, которая каждые 30 мин обновляется?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            894
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            13
                                            106
                                            29975
                                            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