Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Скрипты
  5. ioBroker скрипты
  6. Вопросы по написанию скриптов

NEWS

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

  • 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

Вопросы по написанию скриптов

Scheduled Pinned Locked Moved ioBroker скрипты
358 Posts 29 Posters 116.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    spectrekr
    wrote on last edited by
    #223

    Странности с indexof

    ! ````
    var arr_name = [], arr_work = [];
    ! sendTo('sql.0', 'query', "SELECT name FROM work.work GROUP BY name", function(res) {
    if (res.error) {
    console.error(res.error);
    }
    for (var a in res.result) {
    arr_name.push(res.result[a].name);
    }
    ! if(prev_command === name_cust && arr_work.indexOf(command) < 0){
    for (var a in arr_work) {
    log(arr_work[a]);
    }
    log(typeof(arr_work));
    log(arr_work.indexOf(command));

    
    возвращает -1, хо 1 элемент в массиве, хоть несколько. Правда элементы кириллический текст.
    1 Reply Last reply
    0
    • I Offline
      I Offline
      instalator
      wrote on last edited by
      #224

      @spectrekr:

      Странности с indexof

      ! var arr_name = [], arr_work = [];
      ! sendTo('sql.0', 'query', "SELECT name FROM work.work GROUP BY name", function(res) {
      ! if (res.error) {
      ! console.error(res.error);
      ! }
      ! for (var a in res.result) {
      ! arr_name.push(res.result[a].name);
      ! }
      ! if(prev_command === name_cust && arr_work.indexOf(command) < 0){
      ! for (var a in arr_work) {
      ! log(arr_work[a]);
      ! }
      ! log(typeof(arr_work));
      ! log(arr_work.indexOf(command));

      возвращает -1, хо 1 элемент в массиве, хоть несколько. Правда элементы кириллический текст. `
      Что пишет в лог?

      ! ```
      var arr_name = [], arr_work = []; ! sendTo('sql.0', 'query', "SELECT name FROM work.work GROUP BY name", function(res) { if (res.error) { console.error(res.error); } for (var a in res.result) { arr_name.push(res.result[a].name); } log('Масиив = ' + JSON.stringify(arr_name)); ! if(prev_command === name_cust && ~arr_work.indexOf(command)){ for (var b in arr_work) { log(arr_work[b]); } log(typeof(arr_work)); log(arr_work.indexOf(command)); } ! });[/b]

      Высокий уровень Децибел вреден для здоровья!

      http://blog.instalator.ru/

      1 Reply Last reply
      0
      • A Offline
        A Offline
        andrey99986
        wrote on last edited by
        #225

        Есть ли возможность подписаться на открытие(загрузку) web-страницы, созданной в vis?

        Другими словами при открытии определённой страницы (/vis/index.html#mypage) надо запустить определённую функцию, созданную в "Скриптах" админки ( на стороне сервера).

        1 Reply Last reply
        0
        • S Offline
          S Offline
          spectrekr
          wrote on last edited by
          #226

          Код

          ! ````
          sendTo('sql.0', 'query','SELECT SenderNumber, ReceivingDateTime, TextDecoded FROM smsd.inbox WHERE ID = ' + id, function(res) {
          if (res.error) {
          log(res.error);
          }
          a = {"phone" : res.result[0].SenderNumber,
          "time" : formatDate(new Date(res.result[0].ReceivingDateTime), 'DD.MM.YYYY hh:mm'),
          "text" : res.result[0].TextDecoded
          };
          setState('sms.in.phone', res.result[0].SenderNumber);
          setState('sms.in.time', formatDate(new Date(res.result[0].ReceivingDateTime), 'DD.MM.YYYY hh:mm'));
          setState('sms.in.text', res.result[0].TextDecoded);
          //setState('sms.in.json', a);
          setState('sms.in.json', JSON.stringify(res));
          setState('sms.in.id', id);
          });

          1 Reply Last reply
          0
          • A Offline
            A Offline
            AvaloncheG
            wrote on last edited by
            #227

            Поделитесь кто то скриптом управления шаговым двигателем или ссылкой на форуме где почитать.

            Планирую с MegaESP через драйвер ULN2003.

            Спасибо.

            1 Reply Last reply
            0
            • I Offline
              I Offline
              instalator
              wrote on last edited by
              #228

              @AvaloncheG:

              Поделитесь кто то скриптом управления шаговым двигателем или ссылкой на форуме где почитать.

              Планирую с MegaESP через драйвер ULN2003.

              Спасибо. `
              А причем тут скрипт? Пиши прошивку для есп, а из иоб будешь задавать только угол поворота или скорость и шаги

              Высокий уровень Децибел вреден для здоровья!

              http://blog.instalator.ru/

              1 Reply Last reply
              0
              • S Offline
                S Offline
                spectrekr
                wrote on last edited by
                #229

                @AvaloncheG:

                Поделитесь кто то скриптом управления шаговым двигателем или ссылкой на форуме где почитать.

                Планирую с MegaESP через драйвер ULN2003.

                Спасибо. `
                Или посмотрите в сторону прошивки wifi-iot, там шаговый реализован, а с iob можно через mqtt связать.

                1 Reply Last reply
                0
                • A Offline
                  A Offline
                  AvaloncheG
                  wrote on last edited by
                  #230

                  @instalator:

                  А причем тут скрипт? `
                  Через скрипт нереально?

                  Просто хотелось какой то унификации, и не выделять одно устройство только для двигателя.

                  Я конечно не программист, но как то не вижу принципиальной разницы ноги будет дергать прошивка, или внешняя прога.

                  Поправьте если ошибаюсь =)

                  1 Reply Last reply
                  0
                  • I Offline
                    I Offline
                    instalator
                    wrote on last edited by
                    #231

                    @AvaloncheG:

                    @instalator:

                    А причем тут скрипт? `
                    Через скрипт нереально?

                    Просто хотелось какой то унификации, и не выделять одно устройство только для двигателя.

                    Я конечно не программист, но как то не вижу принципиальной разницы ноги будет дергать прошивка, или внешняя прога.

                    Поправьте если ошибаюсь =) ` а задержки?

                    Высокий уровень Децибел вреден для здоровья!

                    http://blog.instalator.ru/

                    1 Reply Last reply
                    0
                    • A Offline
                      A Offline
                      AvaloncheG
                      wrote on last edited by
                      #232

                      @instalator:

                      а задержки? `
                      1-2 секунды или больше?

                      Мне же не робота строить, а клапаны, шторы открыть/закрыть.

                      1 Reply Last reply
                      0
                      • I Offline
                        I Offline
                        instalator
                        wrote on last edited by
                        #233

                        @AvaloncheG:

                        @instalator:

                        а задержки? `
                        1-2 секунды или больше?

                        Мне же не робота строить, а клапаны, шторы открыть/закрыть. `
                        Ага, давай прикинем грубо:

                        Угол одного шага возмем 1.8. Т.е. для одного полного оборота надо 360/1.8 = 200 импульсов.

                        Если у тебя задержка между импульсами 1-2 сек т.е. 1-0,5 Гц. Дальше продолжать?

                        Если хочется управлять ШД надо начать с теории.

                        Высокий уровень Децибел вреден для здоровья!

                        http://blog.instalator.ru/

                        1 Reply Last reply
                        0
                        • D Offline
                          D Offline
                          DAndre
                          wrote on last edited by
                          #234

                          В Log упало сообщение "Спасайся кто может' …......

                          Нужно включить лампочку по этому сообщению. Как?

                          Может переменная у loga есть на которую можно оформить подписку?

                          <size size="50">Ubuntu 14.04 trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS, Android v4.4.2"

                          Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)</size>

                          1 Reply Last reply
                          0
                          • I Offline
                            I Offline
                            instalator
                            wrote on last edited by
                            #235

                            @DAndre:

                            В Log упало сообщение "Спасайся кто может' …......

                            Нужно включить лампочку по этому сообщению. Как?

                            Может переменная у loga есть на которую можно оформить подписку? `
                            надо просто сообщение это не в лог кидать а в переменную

                            Высокий уровень Децибел вреден для здоровья!

                            http://blog.instalator.ru/

                            1 Reply Last reply
                            0
                            • D Offline
                              D Offline
                              DAndre
                              wrote on last edited by
                              #236

                              Не ясно я объяснил 😢

                              Пример

                              mysensors.02016-12-09 19:23:06.993 info mysensors.0 Log :TSP:MSG:SEND 0-0-1-1 s=3,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=fail:0

                              если st=fail звоним в колокола.

                              в случае st=ok все ок.

                              Как то так. т.е нужно анализировать служебный Log.

                              <size size="50">Ubuntu 14.04 trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS, Android v4.4.2"

                              Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)</size>

                              1 Reply Last reply
                              0
                              • I Offline
                                I Offline
                                instalator
                                wrote on last edited by
                                #237

                                @DAndre:

                                Не ясно я объяснил 😢

                                Пример

                                mysensors.02016-12-09 19:23:06.993 info mysensors.0 Log :TSP:MSG:SEND 0-0-1-1 s=3,c=1,t=2,pt=0,l=1,sg=0,ft=0,st=fail:0

                                если st=fail звоним в колокола.

                                в случае st=ok все ок.

                                Как то так. т.е нужно анализировать служебный Log. `
                                что такое st?

                                Высокий уровень Децибел вреден для здоровья!

                                http://blog.instalator.ru/

                                1 Reply Last reply
                                0
                                • D Offline
                                  D Offline
                                  DAndre
                                  wrote on last edited by
                                  #238

                                  st в логе это предположительно статус передачи команды устройству.

                                  но это не так важно, другой пример

                                  mysensors.0 2016-12-09 19:57:12.613 info disconnected

                                  как организовать реакцию на это сообщение

                                  или на вот такое

                                  megad.0 2016-12-09 19:54:58.765 warn Got error by request to 192.168.2.14: connect EHOSTUNREACH 192.168.2.14:80

                                  <size size="50">Ubuntu 14.04 trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS, Android v4.4.2"

                                  Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)</size>

                                  1 Reply Last reply
                                  0
                                  • I Offline
                                    I Offline
                                    instalator
                                    wrote on last edited by
                                    #239

                                    @DAndre:

                                    st в логе это предположительно статус передачи команды устройству.

                                    но это не так важно, другой пример

                                    mysensors.0 2016-12-09 19:57:12.613 info disconnected

                                    как организовать реакцию на это сообщение

                                    или на вот такое

                                    megad.0 2016-12-09 19:54:58.765 warn Got error by request to 192.168.2.14: connect EHOSTUNREACH 192.168.2.14:80 `
                                    ну в таком случае тебе скорее всего надо парсить файл логов используя скрипт и модуль fs

                                    Высокий уровень Децибел вреден для здоровья!

                                    http://blog.instalator.ru/

                                    1 Reply Last reply
                                    0
                                    • D Offline
                                      D Offline
                                      DAndre
                                      wrote on last edited by
                                      #240

                                      Спасибо.

                                      Вообщем дело темное :(

                                      <size size="50">Ubuntu 14.04 trusty DISTRIB_DESCRIPTION="Ubuntu 14.04.3 LTS, Android v4.4.2"

                                      Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-31-generic x86_64)</size>

                                      1 Reply Last reply
                                      0
                                      • I Offline
                                        I Offline
                                        instalator
                                        wrote on last edited by
                                        #241

                                        @DAndre:

                                        Спасибо.

                                        Вообщем дело темное :( `
                                        Да темного нету ничего, главное начать и можно разобраться https://nodejs.org/api/fs.html

                                        Высокий уровень Децибел вреден для здоровья!

                                        http://blog.instalator.ru/

                                        1 Reply Last reply
                                        0
                                        • A Offline
                                          A Offline
                                          Artem82
                                          wrote on last edited by
                                          #242

                                          Установлен драйвер MySQL.

                                          Данные пишутся во внешнюю БД.

                                          Скрипт

                                          ! ` > var mysql = require('mysql');

                                          var connection = mysql.createConnection({

                                          host: '192.168.1.110',

                                          user: 'iobroker',

                                          password: 'iobroker',

                                          database: 'iobroker',

                                          //socketPath: '/var/run/mysqld/mysqld.sock'

                                          });

                                          //создаем подключение к базе

                                          connection.connect(function(err) {

                                          if (err) {

                                          log('error connecting: ' + err.stack);

                                          return;

                                          }

                                          log('connected as id ' + connection.threadId);

                                          }); `

                                          Выдает ошибку:

                                          ! javascript.0 script.js.My.sql: Cannot find module '/opt/iobroker/node_modules/iobroker.javascript/node_modules/mysql' at script.js.My.sql:1:13
                                          ! javascript.0 script.js.My.sql: TypeError: Cannot read property 'createConnection' of undefined at script.js.My.sql:3:23

                                          1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          575

                                          Online

                                          32.7k

                                          Users

                                          82.6k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe