Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Визуализация
  5. ioBroker.vis Драйвер
  6. Разные вопросы по Vis

NEWS

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

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

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

Разные вопросы по Vis

Разные вопросы по Vis

Scheduled Pinned Locked Moved ioBroker.vis Драйвер
218 Posts 20 Posters 65.7k 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.
  • A Offline
    A Offline
    andrey99986
    wrote on last edited by
    #108

    @instalator:

    @andrey99986:

    Мне интересно это только у меня так браузер в андроиде (5, 7 ) ведёт, у всех всё нормально при скролинге длинных страниц, открытых по ссылке ? У меня вроде норм, а Апп не юзаешь? Может с жестами чего намудрил?
    Апп с https не работает пока. А с http не хочу из соображений безопасности, там ещё надо как-то вручную аутентификацию включать.

    Можно конечно через vpn, но тогда теряется возможность с произвольного десктопа зайти.

    Жесты не трогал, галочки проверял - все убраны.

    Есть идея пересоздать проект, других идей нет.

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

      Выяснил что проблема создаётся если создать новый проект и тут же удалить страницу Demoview.

      Если же оставить страницу Demoview и прямо в ней создать линки - глюка нет.

      Пробовал удалить все элементы кроме одного на странице Demoview - страница перестаёт загружаться при просмотре. (в редакторе - грузится).

      Что - то в этой страницу есть , что без неё этот глюк проявляется

      Какая правильная последовательность создания нового проекта без лишних страниц (Demoview)?

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

        Почему DemoView перестаёт грузится (в режиме просмотра) если удалить на ней все элементы " ?

        Создавал новый проект по учёткой "admin". В режиме просмотра под другим пользователем со всеми правами проект не виден (после удаления Demoview).

        Под учёткой "admin" - проект в режиме просмотра грузится.

        1. Где настроить права?

        Галка "доступно для всех" в vis-е стоит. В админке в "Группы" в свойствах user-а стоят все галки - даны все права.

        2. Как корректно удалить проект?

        В меню не нашёл. Если удалить в файловой системе - в меню доступных проектов удалённые проекты исчезают, но в файле /vis.0/_data.json остаются описания несуществующих проектов.

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

          Кто не боится - удалите страницу Demoview и проверьте - проект под юзером будет виден?

          (сделайте бэкап на всякий случай)

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

            Глюк (или особенность? ) со скролингом возникает если установить птичку в закладке "Инструменты" "По умолчанию" в настройках разрешения экрана.

            Ещё вопрос - как выбрать веб-страницу проекта которая будет грузиться по умолчанию? Чтобы не указывать "#имя_страницы" в урле каждый раз.

            1 Reply Last reply
            0
            • H Offline
              H Offline
              Haus
              wrote on last edited by
              #113

              @andrey99986:

              Ещё вопрос - как выбрать веб-страницу проекта которая будет грузиться по умолчанию? Чтобы не указывать "#имя_страницы" в урле каждый раз. `
              Первая созданная страница в проекте будет грузиться по умолчанию, изменить можно в

              opt/iobroker/iobroker-data/files/vis.0/main/vis-views.json переместив нужную страницу вперёд.

              При глобальных изменениях пере загружай сервер.

              js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

              admin: 3.6.0

              javascript: 4.1.10

              web: 2.4.1 vis: 1.1.10

              cloud: 2.6.2

              Server: DELL FX170 / linux: Debian 9.5 Stretch

              Adapter: MegaD-2561, Mega-ES…

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

                Спасибо, попробую.

                А зачем перегружать linux, если никаких процессов nodejs нет?

                Чем отличаться будет от iobroker stop, ps ax - анализ запущенных процессов, kill при необходимости, iobroker start?

                Глюкофича со скролингом и потерей прав от перезагрузки не зависит…

                Вопрос - есть глобальная переменная(Объект) в которой записан url.

                Какой элемент использовать в vis-е и как чтобы сделать из этого объекта динамическую ссылку, доступную для перехода в виде например кнопки?

                Дайте пример пожалуйста.

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

                  Понятно что можно просто использовать {ObjectID} в коде js (клиентская сторона) и создавать ссылки.

                  Усложню вопрос - нужно сгенерить ссылку в зависимости от IP адреса клиента.

                  То есть надо при открытии страницы сделать проверку IP (в скриптах в Админке iobroker) и вернуть на эту страницу информацию какой IP (ЛВС или Инет).

                  При чём надо иметь ввиду что могут быть одновременно открыты страницы как из ЛВС так и из Интернет.

                  На клиентском js проверять IP нельзя, так как IP может быть за нат-ом и совпадать с ЛВС.

                  Другими словами как сконвертировать php-код в iobroker?

                  		$ip = $_SERVER['REMOTE_ADDR'];
                  		$iPhone  = stripos($_SERVER['HTTP_USER_AGENT'],"iPhone");
                  		$iPad    = stripos($_SERVER['HTTP_USER_AGENT'],"iPad");
                  		$Android = stripos($_SERVER['HTTP_USER_AGENT'],"Android");
                  		if (strpos($ip,'192.168.2.') !== false) 
                  		{
                                  if( $iPhone || $iPad ) 
                  			{
                  			   echo "[](\"http://192.168.2......)
                  
                  1 Reply Last reply
                  0
                  • BluefoxB Offline
                    BluefoxB Offline
                    Bluefox
                    wrote on last edited by
                    #116

                    @Haus:

                    @andrey99986:

                    Ещё вопрос - как выбрать веб-страницу проекта которая будет грузиться по умолчанию? Чтобы не указывать "#имя_страницы" в урле каждый раз. `
                    Первая созданная страница в проекте будет грузиться по умолчанию, изменить можно в

                    opt/iobroker/iobroker-data/files/vis.0/main/vis-views.json переместив нужную страницу вперёд.

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

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

                    Может ты несколько страниц пометил, как по умолчанию? Я подозреваю, что при быстром скролинге генерируется событие изменения разрешения экрана и система ищет страницу по умолчанию. Это и происходит.

                    Решение проблемы. Убрать везде галочки "по умолчанию ".

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

                      @Bluefox:

                      Решение проблемы. Убрать везде галочки "по умолчанию ". `

                      Да - это решает проблему. Я в предыдущих постах написал об этом.

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

                        @andrey99986:

                        Понятно что можно просто использовать {ObjectID} в коде js (клиентская сторона) и создавать ссылки.

                        Усложню вопрос - нужно сгенерить ссылку в зависимости от IP адреса клиента.

                        То есть надо при открытии страницы сделать проверку IP (в скриптах в Админке iobroker) и вернуть на эту страницу информацию какой IP (ЛВС или Инет).

                        При чём надо иметь ввиду что могут быть одновременно открыты страницы как из ЛВС так и из Интернет.

                        На клиентском js проверять IP нельзя, так как IP может быть за нат-ом и совпадать с ЛВС.

                        Другими словами как сконвертировать php-код в iobroker?

                        		$ip = $_SERVER['REMOTE_ADDR'];
                        		$iPhone  = stripos($_SERVER['HTTP_USER_AGENT'],"iPhone");
                        		$iPad    = stripos($_SERVER['HTTP_USER_AGENT'],"iPad");
                        		$Android = stripos($_SERVER['HTTP_USER_AGENT'],"Android");
                        		if (strpos($ip,'192.168.2.') !== false) 
                        		{
                                        if( $iPhone || $iPad ) 
                        			{
                        			   echo "[](\"http://192.168.2......)
                        ````[](\"http://192.168.2......) `   [Если я правильно понимаю, то это возможно, но не совсем.
                        

                        У тебя нет доступа к socket.io. Так как только socket.io имеет информацию о настоящем ip адресе.

                        Что ты хочешь сделать? Просто показать в виз ip адрес клиента? Не думаю, что это возможно без модификации socket.io.]("http://192.168.2......)

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

                          @Bluefox:

                          Что ты хочешь сделать? Просто показать в виз ip адрес клиента? Не думаю, что это возможно без модификации socket.io. `

                          Хочу чтобы на странице vis создавалась ссылка в зависимости от того, с какого адреса была открыта страница.

                          Если клиент зашёл с той же ЛВС, где находится iobroker- создавалась ссылка на внутренний ресурс вида http://192.168..

                          Если клиент зашёл c Интернет - создавалась ссылка на ресурс вида http://www…

                          Ну ещё желательно определять в заголовках User Agent-а, чтобы создавать url-ы в зависимости от устройства с которого зашли.

                          А то сейчас приходится делать 6 ссылок на просмотр видео:

                          1. Если зашли с Desktop с ЛВС

                          2. Если зашли с Desktop с Интернет

                          3. Если зашли с Android с ЛВС

                          4. Если зашли с Android с Интернет

                          5. Если зашли с IOS с ЛВС

                          6. Если зашли с IOS с Интернет

                          На php можно было оставить на странице только одну ссылку.

                          В iobroker нужны все шесть?

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

                            @andrey99986:

                            @Bluefox:

                            Что ты хочешь сделать? Просто показать в виз ip адрес клиента? Не думаю, что это возможно без модификации socket.io. `

                            Хочу чтобы на странице vis создавалась ссылка в зависимости от того, с какого адреса была открыта страница.

                            Если клиент зашёл с той же ЛВС, где находится iobroker- создавалась ссылка на внутренний ресурс вида http://192.168..

                            Если клиент зашёл c Интернет - создавалась ссылка на ресурс вида http://www…

                            Ну ещё желательно определять в заголовках User Agent-а, чтобы создавать url-ы в зависимости от устройства с которого зашли.

                            А то сейчас приходится делать 6 ссылок на просмотр видео:

                            1. Если зашли с Desktop с ЛВС

                            2. Если зашли с Desktop с Интернет

                            3. Если зашли с Android с ЛВС

                            4. Если зашли с Android с Интернет

                            5. Если зашли с IOS с ЛВС

                            6. Если зашли с IOS с Интернет

                            На php можно было оставить на странице только одну ссылку.

                            В iobroker нужны все шесть? `
                            Все что тебе надо. Можно отлично определить на клиенте. У меня сделано так, что по локалке я захожу без пароля, а по инету с паролем по https. Таким образом я могу отличить lan/wan, а тип клиента определяется js на раз два. Тебе надо понимать, что здесь используется отличная от php технология. Статические страницы и динамические данные могут поступать с двух разных источников. За счет этого достигается огромная скорость и гибкость. Тебе нельзя думать терминами php, но то что тебе надо сделать можно.

                            Посмотри здесь я делаю что то похожее:

                            https://iobroker.net:8080/vis/edit.html?main#DemoView

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

                              @Bluefox:

                              Все что тебе надо. Можно отлично определить на клиенте. У меня сделано так, что по локалке я захожу без пароля, а по инету с паролем по https. Таким образом я могу отличить lan/wan, а тип клиента определяется js на раз два. Тебе надо понимать, что здесь используется отличная от php технология. Статические страницы и динамические данные могут поступать с двух разных источников. За счет этого достигается огромная скорость и гибкость. Тебе нельзя думать терминами php, но то что тебе надо сделать можно.

                              Посмотри здесь я делаю что то похожее:

                              https://iobroker.net:8080/vis/edit.html?main#DemoView `

                              То есть из wan - открываем одну страницу, из lan - другую?

                              По локалке хотелось бы тоже с паролем. И по причине безопасности и из-за избыточности иметь две ссылки.

                              На странице по ссылке - ошибки.

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

                                @andrey99986:

                                @Bluefox:

                                Все что тебе надо. Можно отлично определить на клиенте. У меня сделано так, что по локалке я захожу без пароля, а по инету с паролем по https. Таким образом я могу отличить lan/wan, а тип клиента определяется js на раз два. Тебе надо понимать, что здесь используется отличная от php технология. Статические страницы и динамические данные могут поступать с двух разных источников. За счет этого достигается огромная скорость и гибкость. Тебе нельзя думать терминами php, но то что тебе надо сделать можно.

                                Посмотри здесь я делаю что то похожее:

                                https://iobroker.net:8080/vis/edit.html?main#DemoView `

                                То есть из wan - открываем одну страницу, из lan - другую?

                                По локалке хотелось бы тоже с паролем. И по причине безопасности и из-за избыточности иметь две ссылки.

                                На странице по ссылке - ошибки. `
                                Нет. Страница одна и та же. Но разные web драйвера. У меня установлено 2 web драйвера. Один для интернет и один для локалки.

                                Ну начни уже что нибудь делать. Я подмогу.

                                [{"tpl":"tplHtml","data":{"g_fixed":false,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","refreshInterval":"0","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"html":"\n\n\n\n"},"style":{"left":"733px","top":"77px"},"widgetSet":"basic"}]
                                
                                1 Reply Last reply
                                0
                                • A Offline
                                  A Offline
                                  andrey99986
                                  wrote on last edited by
                                  #123

                                  @Bluefox:

                                  Нет. Страница одна и та же. Но разные web драйвера. У меня установлено 2 web драйвера. Один для интернет и один для локалки.

                                  Ну начни уже что нибудь делать. Я подмогу. `
                                  За готовый ответ по определению устройства спасибо конечно же, с js можно мне достаточно было бы ткнуть на любой линк с подобным решением.

                                  Но я пока не понял как конкретно ты определяешь wan/lan вход. Надо как-то на js определить из-под какого драйвера запущен веб-сервер? Этот вопрос как бы не погуглишь 🙂 А практики с iobroker у меня слишком мало чтобы догадаться.

                                  1 Reply Last reply
                                  0
                                  • H Offline
                                    H Offline
                                    Haus
                                    wrote on last edited by
                                    #124

                                    @andrey99986:

                                    @Bluefox:

                                    Нет. Страница одна и та же. Но разные web драйвера. У меня установлено 2 web драйвера. Один для интернет и один для локалки.

                                    Ну начни уже что нибудь делать. Я подмогу. `

                                    Но я пока не понял как конкретно ты определяешь wan/lan вход. Надо как-то на js определить из-под какого драйвера запущен веб-сервер? Этот вопрос как бы не погуглишь 🙂 А практики с iobroker у меня слишком мало чтобы догадаться. `
                                    Скорей всего по запросу https://192.168.1.10…. или http://192.168.1.10... у меня тоже так web.0 по http в доме без пароля, web.1 https из вне на доменное имя с паролем. Если по lan хочешь с паролем то в system.adapter.web.0 поставь галочку и будет тебе счастье.

                                    js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                                    admin: 3.6.0

                                    javascript: 4.1.10

                                    web: 2.4.1 vis: 1.1.10

                                    cloud: 2.6.2

                                    Server: DELL FX170 / linux: Debian 9.5 Stretch

                                    Adapter: MegaD-2561, Mega-ES…

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

                                      @Haus:

                                      Скорей всего по запросу https://192.168.1.10…. или http://192.168.1.10... у меня тоже так web.0 по http в доме без пароля, web.1 https из вне на доменное имя с паролем. Если по lan хочешь с паролем то в system.adapter.web.0 поставь галочку и будет тебе счастье. `

                                      Два web-адаптера для чего, если при этом один и тот же проект?

                                      Только ради того чтобы на странице отличить lan от wan входа? И кстати как конкретно? Так:?

                                      var x = document.referrer;
                                      

                                      Пробой локального ресурса? Так это можно и на одном web-адаптере сделать.

                                      Сейчас пытаюсь реализовать логику на пробе загрузки уникальной картинки (которая есть только в моей ЛВС). Интересно что в редакторе проба работает, а при просмотре страницы нет. Код стырил:

                                      function ImageExist(url) 
                                      {
                                         var img = new Image();
                                         img.src = url;
                                         return img.height != 0;
                                      }
                                      

                                      почему то такая конструкция вообще не заработала, даже в редакторе:

                                      $.ajax({
                                          url:'http://www.example.com/somefile.ext',
                                          type:'HEAD',
                                          error: function()
                                          {
                                              //file not exists
                                          },
                                          success: function()
                                          {
                                              //file exists
                                          }
                                      });
                                      
                                      1 Reply Last reply
                                      0
                                      • H Offline
                                        H Offline
                                        Haus
                                        wrote on last edited by
                                        #126

                                        @andrey99986:

                                        @Haus:

                                        Скорей всего по запросу https://192.168.1.10…. или http://192.168.1.10... у меня тоже так web.0 по http в доме без пароля, web.1 https из вне на доменное имя с паролем. Если по lan хочешь с паролем то в system.adapter.web.0 поставь галочку и будет тебе счастье. `

                                        Два web-адаптера для чего, если при этом один и тот же проект?

                                        Только ради того чтобы на странице отличить lan от wan входа? И кстати как конкретно? Так:? `
                                        Ну например дома на стене весит планшет, зачем там пароль и выход через определённое время. А вот из вне(с работы через комп) пароль и сброс через определённое время также https да и порт 443 другой, безопасность не помешает 🙂

                                        js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                                        admin: 3.6.0

                                        javascript: 4.1.10

                                        web: 2.4.1 vis: 1.1.10

                                        cloud: 2.6.2

                                        Server: DELL FX170 / linux: Debian 9.5 Stretch

                                        Adapter: MegaD-2561, Mega-ES…

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

                                          @andrey99986:

                                          @Haus:

                                          Скорей всего по запросу https://192.168.1.10…. или http://192.168.1.10... у меня тоже так web.0 по http в доме без пароля, web.1 https из вне на доменное имя с паролем. Если по lan хочешь с паролем то в system.adapter.web.0 поставь галочку и будет тебе счастье. `

                                          Два web-адаптера для чего, если при этом один и тот же проект?

                                          Только ради того чтобы на странице отличить lan от wan входа? И кстати как конкретно? Так:?

                                          var x = document.referrer;
                                          

                                          Пробой локального ресурса? Так это можно и на одном web-адаптере сделать.

                                          Сейчас пытаюсь реализовать логику на пробе загрузки уникальной картинки (которая есть только в моей ЛВС). Интересно что в редакторе проба работает, а при просмотре страницы нет. Код стырил:

                                          function ImageExist(url) 
                                          {
                                             var img = new Image();
                                             img.src = url;
                                             return img.height != 0;
                                          }
                                          

                                          почему то такая конструкция вообще не заработала, даже в редакторе:

                                          $.ajax({
                                              url:'http://www.example.com/somefile.ext',
                                              type:'HEAD',
                                              error: function()
                                              {
                                                  //file not exists
                                              },
                                              success: function()
                                              {
                                                  //file exists
                                              }
                                          });
                                          ```` `  
                                          

                                          Тебе надо засунуть код в

                                          Какие у тебя IP адреса в локалке и в инете? По ним нельзя определить?

                                          С загрузкой картинки может возникнуть CORS проблема.

                                          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

                                          379

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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