Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. Визуализация
    5. ioBroker.vis Драйвер
    6. Разные вопросы по Vis

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

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

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

      @andrey99986:

      На главной странице в vis- редакторе настроил элемент "bars - Views bar" .

      К кнопкам этого элемента подключены другие страницы.

      Так вот при быстрой прокрутке любой страницы - текущая страница закрывается и происходит переход назад, как будто нажали клавишу "Backspase".

      На компьютере этого эффекта нет - оно и понятно - там мышь.

      А вот на браузере на android-e этот эффект мешает. Если ОЧЕНЬ медленно скролить то возврата на главную страницу нет, но так просматривать страницы невозможно. `
      Я не припомню, что бы что то такое было специально сделано. Может это свойство браузера? Как там в других браузерах?

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

        @Haba:

        В редактор VIS планируется добавить кнопку "Опустить ниже" выбранный элемент на форме по сравнению с другими.

        Надеюсь понятно описал 🙂

        А то когда добавляешь например виджет Border в конце, приходится все элементы добавленные до него, выделять, вырезать и снова вставлять, чтобы они были "выше" него. `
        Для этого есть zindex. Выставляешь у всех zindex 1, а у border 0. И всё.

        1 Reply Last reply Reply Quote 0
        • A
          andrey99986 last edited by

          @Bluefox:

          @andrey99986:

          На главной странице в vis- редакторе настроил элемент "bars - Views bar" .

          К кнопкам этого элемента подключены другие страницы.

          Так вот при быстрой прокрутке любой страницы - текущая страница закрывается и происходит переход назад, как будто нажали клавишу "Backspase".

          На компьютере этого эффекта нет - оно и понятно - там мышь.

          А вот на браузере на android-e этот эффект мешает. Если ОЧЕНЬ медленно скролить то возврата на главную страницу нет, но так просматривать страницы невозможно. Я не припомню, что бы что то такое было специально сделано. Может это свойство браузера? Как там в других браузерах?

          Пробовал 3 разных браузера - нативный (LG ), Chrome, Opera. (аппараты LG Android 5, Nexus Android 7)

          Проблема от виджета не зависит.

          Более конкретное описание:

          На главной странице делаю ссылки на другие, например простейшим элементом "basic-link".

          При открытии страницы по элементу (basic-link или другому) на android-устройстве - страница загружается, но при протягивании пальцем вниз (именно вниз) - текущая страница закрывается и открывается предыдущая.

          Надо отметить что если содержимое страницы полностью входит на экран смартфона - этот глюк труднее произвести - надо сильно скроллить вниз.

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

          Раздражает очень сильно!

          1 Reply Last reply Reply Quote 0
          • A
            andrey99986 last edited by

            Мне интересно это только у меня так браузер в андроиде (5, 7 ) ведёт, у всех всё нормально при скролинге длинных страниц, открытых по ссылке ?

            1 Reply Last reply Reply Quote 0
            • I
              instalator last edited by

              @andrey99986:

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

              1 Reply Last reply Reply Quote 0
              • A
                andrey99986 last edited by

                @instalator:

                @andrey99986:

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

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

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

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

                1 Reply Last reply Reply Quote 0
                • A
                  andrey99986 last edited by

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

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

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

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

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

                  1 Reply Last reply Reply Quote 0
                  • A
                    andrey99986 last edited by

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

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

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

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

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

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

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

                    1 Reply Last reply Reply Quote 0
                    • A
                      andrey99986 last edited by

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

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

                      1 Reply Last reply Reply Quote 0
                      • A
                        andrey99986 last edited by

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

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

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

                          @andrey99986:

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

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

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

                          1 Reply Last reply Reply Quote 0
                          • A
                            andrey99986 last edited by

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

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

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

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

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

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

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

                            1 Reply Last reply Reply Quote 0
                            • A
                              andrey99986 last edited by

                              Понятно что можно просто использовать {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 Reply Quote 0
                              • Bluefox
                                Bluefox last edited by

                                @Haus:

                                @andrey99986:

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

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

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

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

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

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

                                1 Reply Last reply Reply Quote 0
                                • A
                                  andrey99986 last edited by

                                  @Bluefox:

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

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

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

                                    @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 Reply Quote 0
                                    • A
                                      andrey99986 last edited by

                                      @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 Reply Quote 0
                                      • Bluefox
                                        Bluefox last edited by

                                        @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 Reply Quote 0
                                        • A
                                          andrey99986 last edited by

                                          @Bluefox:

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

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

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

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

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

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

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

                                            @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 Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            901
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            20
                                            218
                                            57573
                                            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