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.vis Драйвер
  6. Драйвер ioBroker Visualisation (vis)

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    635

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

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

Драйвер ioBroker Visualisation (vis)

Scheduled Pinned Locked Moved ioBroker.vis Драйвер
157 Posts 7 Posters 23.3k 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.
  • BluefoxB Offline
    BluefoxB Offline
    Bluefox
    wrote on last edited by
    #125

    Хорошо. Надо модифицировать скрипт

    var devices = $('mqtt.1.Temperature*');
    
    function olderThanMinute(ts){
        return (new Date().getTime() - ts > 60000);
    }
    
    // Инициализация и создание переменных
    devices.each(function (id) {
          var pos = id.lastIndexOf('.');
          var timerId = id.substring(pos);
              // И переменная timer ещё не существует
              if (!getState(timerId)) {
                    // создать
                   createState(timerId, !olderThanMinute(getState(id).ts));
              } else {
                   // инициализировать
                   setState(timerId, !olderThanMinute(getState(id).ts));
              }
    });
    
    //Выполнять каждую минуту
    schedule('* * * * *', function () {
         // перебор всех устройств
         devices.each(function (id) {
           var pos = id.lastIndexOf('.');
           var timerId = id.substring(pos);
           // обновить время
           log('Now: '+ (new Date()).toString() + ', tstamp:' + getState(id).ts + '(' + (new Date(getState(id).ts)).toString() + ')');
    
           setState(timerId, !olderThanMinute(getState(id).ts));
         });
    });
    

    Только сначала надо ручками в admin удалить все переменные _timer

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

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

      На телефоне постоянно прежде чем что то нажать приходится обновлять страницу

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

      http://blog.instalator.ru/

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

        Есть ли виджет чтобы при нажатии на нем можно было выбрать значение для переменной, желательно в виде кнопки (Metro)?

        Нужно для кнопки домофона, чтобы при активации можно было выбрать значение переменной (открывать один раз (N раз), открывать всем)

        PS

        Вроде есть в метро value list но val а нужно ctrl

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

        http://blog.instalator.ru/

        1 Reply Last reply
        0
        • aurodionovA Offline
          aurodionovA Offline
          aurodionov
          wrote on last edited by
          #128

          instalator, а расскажите, что за домофон и как подключено и работает.

          тоже заморачиваюсь с домофонами, на входной группе визит, вторым на площадке будет панелька на четыре абонента .

          Пока всё планирую запихать через переходники в астериск, может у Вас решение поинтересней

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

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

            @aurodionov:

            instalator, а расскажите, что за домофон и как подключено и работает.

            тоже заморачиваюсь с домофонами, на входной группе визит, вторым на площадке будет панелька на четыре абонента .

            Пока всё планирую запихать через переходники в астериск, может у Вас решение поинтересней `
            А зачем усложнять и тратить килорубли на домофон? чтобы он тебе звонил на телефон?

            У меня все просто. Контроль звонка домофона и функция открытия двери при звонке, все)

            Ну + при звонке домофона если включен телек то на телек включается картинка с видеокамеры на подъезде и на телефон приходит сообщение с ссылкой на открытие двери.

            Единственно можно через пушбуллит замутить отправку скриншота камеры в сообщении.

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

            http://blog.instalator.ru/

            1 Reply Last reply
            0
            • aurodionovA Offline
              aurodionovA Offline
              aurodionov
              wrote on last edited by
              #130

              У меня осталось малость sip железок, вот и решил на них сделать, а так да цены жесть.

              В CCU.IO помнится был виджет для домофона, казал картинку и можно было открыть, в iobroker подобного пока нема

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

              1 Reply Last reply
              0
              • V Offline
                V Offline
                vtec
                wrote on last edited by
                #131

                Я наверное если буду делать домофон, то на sip'е. Мне кажется возможностей по больше, можно тем самым отправить вызов на внутренние номера телефонов, которые стоят например по дому.

                Кстати интересная идея пушем отправлять ссылку на открытие.

                Еще идея, если играет музыка или работает телик, то приглушаем звук.

                Ни кто у китайцев не видел недорогую sip панель для домофона? Я находил но какие то сомнения берут что работать будет как всегда через энное место :)

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

                  @vtec:

                  Я наверное если буду делать домофон, то на sip'е. Мне кажется возможностей по больше, можно тем самым отправить вызов на внутренние номера телефонов, которые стоят например по дому.

                  Кстати интересная идея пушем отправлять ссылку на открытие.

                  Еще идея, если играет музыка или работает телик, то приглушаем звук.

                  Ни кто у китайцев не видел недорогую sip панель для домофона? Я находил но какие то сомнения берут что работать будет как всегда через энное место :) `
                  Ну вариант если у тебя большой дом, я не вижу смысла так заморачиваться в квартире. А домофон у меня подъездный Cifral координатный.

                  on('mqtt.0.myhome.Mother.DomofonRing', function (obj) {
                     if (obj.newState.val === '1' || obj.newState.val === 1) {
                  
                        var TVon     = getState('mqtt.0.myhome.RS232.LGTV_PWR').val;
                        var TVsource = getState('mqtt.0.myhome.RS232.LGTV_Source').val;
                  
                        if (!flag_domofon){
                           sendTo("pushover", {
                              message:  'Звонок домофона',
                              title:    'Домофон',
                              url: 'http://192.168.1.190:8087/set/mqtt.0.myhome.Mother.DomofonOpen?value=1&prettyPrint',
                              url_title: 'ОТКРЫТЬ ДВЕРЬ!', 
                           });
                  
                           flag_domofon = true;
                  
                           if (TVon === '1' || TVon === 1) {
                              setState('mqtt.0.myhome.RS232.LGTV_Source', 'av2');
                              setTimeout(function() { 
                                 setState('mqtt.0.myhome.RS232.LGTV_Source', TVsource.toLowerCase()); 
                              }, 10000);
                           }
                           setTimeout(function() { 
                              flag_domofon = false; 
                           }, 15000);
                        }
                     }
                  });
                  

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

                  http://blog.instalator.ru/

                  1 Reply Last reply
                  0
                  • V Offline
                    V Offline
                    vtec
                    wrote on last edited by
                    #133

                    instalator, создай новую тему в разделе скрипты и там можешь разместить свой скрипт, типа mqtt + домофон + пушовер + телевизор. И прокомментировать скрипт. Чем больше скриптов, тем больше мы будем грамотнее и более прокаченным будет наш иоброкер :)

                    Т.к. эта тема не для этого.

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

                      По поводу сколов в хроме на андроиде. Страница скролится если скролить за пределами размеров страницы либо если нажать на виджет (проверено на метро)с всплывающим окном.

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

                      http://blog.instalator.ru/

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

                        На кнопки (метро) заведены переменные из скрипта. Видимо после обновления драйвера виз, жму на кнопку, состояние меняется но потом повторно включается (или выключается).

                        Данная ситуевина только с телефона, с компа вроде норм.

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

                        http://blog.instalator.ru/

                        1 Reply Last reply
                        0
                        • BluefoxB Offline
                          BluefoxB Offline
                          Bluefox
                          wrote on last edited by
                          #136

                          Попробуй обновить vis:

                          cd /opt/iorboker
                          npm install https://github.com/ioBroker/ioBroker.vis/tarball/master
                          

                          В прошлой версии встроил поддержку touch. Видать некоторые события приходят и по click и по touchstart
                          1241_img_0258.jpg
                          1241_img_0259.jpg
                          1241_img_0260.jpg

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

                            @Bluefox:

                            Попробуй обновить vis:

                            cd /opt/iorboker
                            npm install https://github.com/ioBroker/ioBroker.vis/tarball/master
                            

                            В прошлой версии встроил поддержку touch. Видать некоторые события приходят и по click и по touchstart `
                            Все равно срабатывает два раза

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

                            http://blog.instalator.ru/

                            1 Reply Last reply
                            0
                            • BluefoxB Offline
                              BluefoxB Offline
                              Bluefox
                              wrote on last edited by
                              #138

                              @instalator:

                              @Bluefox:

                              Попробуй обновить vis:

                              cd /opt/iorboker
                              npm install https://github.com/ioBroker/ioBroker.vis/tarball/master
                              

                              В прошлой версии встроил поддержку touch. Видать некоторые события приходят и по click и по touchstart Все равно срабатывает два раза
                              metro toggle?

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

                                @Bluefox:

                                @instalator:

                                @Bluefox:

                                Попробуй обновить vis:

                                cd /opt/iorboker
                                npm install https://github.com/ioBroker/ioBroker.vis/tarball/master
                                

                                В прошлой версии встроил поддержку touch. Видать некоторые события приходят и по click и по touchstart Все равно срабатывает два раза
                                metro toggle? `
                                Этот точно

                                [{"tpl":"tplMetroTileToggle","data":{"visibility-cond":"==","visibility-val":1,"hover":"true","transform":"true","bg_class_false":"bg-gray","bg_class_true":"bg-teal","icon_class_false":"icon-custom","icon_class_true":"icon-custom","icon_badge_false":"","icon_badge_true":"","badge_bg_class_false":"","badge_bg_class_true":"","brand_bg_class_false":"","brand_bg_class_true":"","visibility-oid":"","oid":"javascript.0.TV","label_false":"ТВ","label_true":"ТВ","icon_false":"/vis/img/Icons2/gktelik.gif","icon_true":"/vis/img/Icons2/gktelik.gif"},"style":{"left":"40px","top":"70px","width":"116px","height":"110px"},"widgetSet":"metro"}]
                                

                                И эти

                                [{"tpl":"tplJquiButtonState","data":{"oid":"mqtt.0.myhome.RS232.LGTV_RemoteKey","visibility-cond":"==","visibility-val":1,"buttontext":" 9 ","padding":"5","value":"19"},"style":{"left":"500px","top":"135px"},"widgetSet":"jqui"}]
                                

                                3840_main.js

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

                                http://blog.instalator.ru/

                                1 Reply Last reply
                                0
                                • BluefoxB Offline
                                  BluefoxB Offline
                                  Bluefox
                                  wrote on last edited by
                                  #140

                                  ДОлжно быть исправлено.

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

                                    После обюновления на страничке не показывается виджет

                                    [{"tpl":"tplBarNavigator","data":{"visibility-cond":"==","visibility-val":1,"bCount":"5",
                                    "bTheme":"sidebar-dark","bPosition":"floatVertical","bSpace":"5","bRadius":"5","bOffset":"0",
                                    "bTextAlign":"center","bImageAlign":"right","bLayout":"auto",
                                    "bShowEffect":"show","bShowEffectMs":"100","bHideEffect":"show","bHideEffectMs":"91",
                                    "buttonsOption1":"Home","views":["Home","Index","Media","Scenes","test","Scenes_new"],
                                    "buttonsOption2":"Media",
                                    "buttonsOption3":"Scenes","buttonsText1":"Home","buttonsText2":"Media","buttonsText3":"Scenes",
                                    "buttonsOption4":"test","buttonsText4":"KODI","buttonsOption5":"Index","buttonsText5":"Temp"},
                                    "style":{"left":"855px","top":"470px","width":"133px","height":"222px","z-index":"3"},"widgetSet":"bars"}]
                                    

                                    В редактировании он есть.

                                    Добавлено:

                                    Разобрался, отдельным драйвером вынесен теперь :)

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

                                    http://blog.instalator.ru/

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

                                      @Bluefox:

                                      ДОлжно быть исправлено. `
                                      Метро все равно срабатывает два раза

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

                                      http://blog.instalator.ru/

                                      1 Reply Last reply
                                      0
                                      • BluefoxB Offline
                                        BluefoxB Offline
                                        Bluefox
                                        wrote on last edited by
                                        #143

                                        Блин.. Можешь найти подходящий минимальный параметер.

                                        Для этого надо:

                                        • изменить noFileCache в /opt/iorboker/iobroker-data/iobroker.json на true
                                        {
                                          "network": {
                                            "IPv4": true,
                                            "IPv6": true,
                                            "bindAddress": null,
                                            "useSystemNpm": true
                                          },
                                          "objects": {
                                            "type": "file",
                                            "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379], couch - [port 5984].",
                                            "host": "127.0.0.1",
                                            "port": 9001,
                                            "user": "",
                                            "pass": "",
                                            "noFileCache": true
                                          },
                                        
                                        • перестартовать iobroker

                                        • поменять в файле:

                                        /opt/iorboker/iobroker-data/files/vis/js/vis.js

                                        Строка 1780:

                                             detectBounce: function (el) {
                                                // Protect against two events
                                                var now = (new Date()).getTime();
                                                var lastClick = $(el).data('lc');
                                                if (lastClick && now - lastClick < 150) return true;
                                                $(el).data('lc', now);
                                                return false;
                                            }
                                        

                                        Надо подобрать такой параметр (который 150), что бы начало работать. Поставь 1000 (1 секунда), что бы проверить вообще работоспособность.

                                        После каждого изменения надо менять файл /opt/iorboker/iobroker-data/files/vis/cache.manifest (неважно что. например dev build увеличить) и обновлять броузер.

                                        Затем до тех пор уменьшать 1000 пока работает. И сказать мне число.

                                        P.S. vis-metro должен быть 0.1.5

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

                                          @Bluefox:

                                          Блин.. Можешь найти подходящий минимальный параметер.

                                          Для этого надо:

                                          • изменить noFileCache в /opt/iorboker/iobroker-data/iobroker.json на true
                                          {
                                            "network": {
                                              "IPv4": true,
                                              "IPv6": true,
                                              "bindAddress": null,
                                              "useSystemNpm": true
                                            },
                                            "objects": {
                                              "type": "file",
                                              "typeComment": "Possible values: 'file' - [port 9001], redis - [port 6379], couch - [port 5984].",
                                              "host": "127.0.0.1",
                                              "port": 9001,
                                              "user": "",
                                              "pass": "",
                                              "noFileCache": true
                                            },
                                          
                                          • перестартовать iobroker

                                          • поменять в файле:

                                          /opt/iorboker/iobroker-data/files/vis/js/vis.js

                                          Строка 1780:

                                               detectBounce: function (el) {
                                                  // Protect against two events
                                                  var now = (new Date()).getTime();
                                                  var lastClick = $(el).data('lc');
                                                  if (lastClick && now - lastClick < 150) return true;
                                                  $(el).data('lc', now);
                                                  return false;
                                              }
                                          

                                          Надо подобрать такой параметр (который 150), что бы начало работать. Поставь 1000 (1 секунда), что бы проверить вообще работоспособность.

                                          После каждого изменения надо менять файл /opt/iorboker/iobroker-data/files/vis/cache.manifest (неважно что. например dev build увеличить) и обновлять броузер.

                                          Затем до тех пор уменьшать 1000 пока работает. И сказать мне число.

                                          P.S. vis-metro должен быть 0.1.5 `
                                          На что влияет этот параметр? Смысл тача отлавливать длинное нажатие (Тогда оно составляет около 1 секунды)?

                                          Я бы оставил вместо 150 - 1000, этого хватает до длинного нажатия и срабатывает при нормальном нажатии без проблем, если меньше ставить то за время, установленное в if'е нужно получается успеть нажать и убрать палец с экрана, при 600 например срабатывает если прям быстро нажать и убрать палец…. Вообщем 1000 само оптимально, если я правильно понял принцип.

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

                                          http://blog.instalator.ru/

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          731

                                          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