NEWS
Разные вопросы по Vis
-
Доброго дня, уважаемые форумчане.
Добрвлся наконец-то до Vis в процессе приручения IOB :)
Вопрос может и ламерский, но сходу не нашел ответа.
Есть некоторая переменная (объект) с числовым значеним. Каждому из этих значений соответствует определенное состояние, которое можно описать текстом. Вот этот текст хотелось бы выводить на страницу.
Очевидное решение - написать скрипт, подписать его на изменение объекта и в скрипте в зависимости от числа прописывать текствое значение в отдельную переменную, которую уже и отображать на странице.
Но возможно можно сделать это как-то проще, и делать пересчет в текст в самом элементе отображения (тем же скриптом, но как и где его вызывать из страницы).
Как сделать правильно, концептуально?
-
Может ты CSS сбил? `
Ну да, я не знал что код в закладке css влияют на интерфейс:
table { table-layout: fixed; width:100% }Как этот код правильно странице назначить чтобы интерфейс не рушить? `
#vis_container table { table-layout: fixed; width:100% } -
Доброго дня, уважаемые форумчане.
Добрвлся наконец-то до Vis в процессе приручения IOB :)
Вопрос может и ламерский, но сходу не нашел ответа.
Есть некоторая переменная (объект) с числовым значеним. Каждому из этих значений соответствует определенное состояние, которое можно описать текстом. Вот этот текст хотелось бы выводить на страницу.
Очевидное решение - написать скрипт, подписать его на изменение объекта и в скрипте в зависимости от числа прописывать текствое значение в отдельную переменную, которую уже и отображать на странице.
Но возможно можно сделать это как-то проще, и делать пересчет в текст в самом элементе отображения (тем же скриптом, но как и где его вызывать из страницы).
Как сделать правильно, концептуально? `
! ````
[{"tpl":"tplValueList","data":{"oid":"dev1","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":true,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","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,"valuelist":"ноль;один;два","test_list":"0"},"style":{"left":"550px","top":"229px","width":"105px","height":"26px","background":"","background-color":"blue","color":"white"},"widgetSet":"basic"},{"tpl":"tplJquiRadioList","data":{"oid":"dev1","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","values":"0;1;2","texts":"ноль;один;два","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},"style":{"left":"548px","top":"270px"},"widgetSet":"jqui"}][48_2016-12-19_09_34_12-vis.png](/assets/uploads/files/48_2016-12-19_09_34_12-vis.png) -
….
код скипнут `
я конечно рискую показатся тупым (а скорее всего так оно и есть :), но КУДА мне засунуть этот код? я может и без кода разберусь, ткните меня в сам принцип.
это импорт виджетаспасибо за направление :)
но я все-такие не слезу, и пойду дальше :) тот принцип что показан - понятен, и вопросов нет. но он работает когда есть целочисленная переменная, значениям которой соответсвуют позиции в списке.
но мне надо более общее. например есть число, но мне нужно разбирать его побитно, и в зависимости от этого показывать текстовые статусы.
в этом случае как сделать?
-
я конечно рискую показатся тупым (а скорее всего так оно и есть :), но КУДА мне засунуть этот код? я может и без кода разберусь, ткните меня в сам принцип.
это импорт виджетаспасибо за направление :)
но я все-такие не слезу, и пойду дальше :) тот принцип что показан - понятен, и вопросов нет. но он работает когда есть целочисленная переменная, значениям которой соответсвуют позиции в списке.
но мне надо более общее. например есть число, но мне нужно разбирать его побитно, и в зависимости от этого показывать текстовые статусы.
в этом случае как сделать? ` я бы скриптом сделал
-
это импорт виджета `
спасибо за направление :)
но я все-такие не слезу, и пойду дальше :) тот принцип что показан - понятен, и вопросов нет. но он работает когда есть целочисленная переменная, значениям которой соответсвуют позиции в списке.
но мне надо более общее. например есть число, но мне нужно разбирать его побитно, и в зависимости от этого показывать текстовые статусы.
в этом случае как сделать?
я бы скриптом сделалЯ бы тоже сделал скриптом, но есть ли возможность засунуть его на страницу в Vis ? Ткните примером плиз
-
я конечно рискую показатся тупым (а скорее всего так оно и есть :), но КУДА мне засунуть этот код? я может и без кода разберусь, ткните меня в сам принцип.
это импорт виджетаспасибо за направление :)
но я все-такие не слезу, и пойду дальше :) тот принцип что показан - понятен, и вопросов нет. но он работает когда есть целочисленная переменная, значениям которой соответсвуют позиции в списке.
но мне надо более общее. например есть число, но мне нужно разбирать его побитно, и в зависимости от этого показывать текстовые статусы.
в этом случае как сделать? `
Ну тогда только скрипт. А битов сколько? Можно конечно прямо в vis парсить. Нужно только выяснить: а это ещё где то будет использоваться? Если да, то скрипт. Если нет, то можно и в vis.function parseMyVal(val) { val = parseInt(val, 10); if (val & 1) return 'bit 1'; if (val & 2) return 'bit 2'; if (val & 4) return 'bit 3'; // ... return 'no bits'; }! ````
[{"tpl":"tplJquiRadioList","data":{"oid":"dev1","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","values":"0;1;2;3;4","texts":"ноль;один;два;три;четыре","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},"style":{"left":"548px","top":"270px"},"widgetSet":"jqui"},{"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":"{a:dev1; parseMyVal(a)}"},"style":{"left":"549px","top":"135px"},"widgetSet":"basic"}][48_2016-12-19_10_49_10-edit_vis.png](/assets/uploads/files/48_2016-12-19_10_49_10-edit_vis.png) -
Можно ли чтобы элемент "jqui - Input" отображал текущее значение связанного объекта, если тип значения - строка? (сейчас отображается NaN, даже если есть реальное значение).
Сейчас элемент "jqui - Input" отображает реальное значение только если тип значения - число.
-
Можно ли чтобы элемент "jqui - Input" отображал текущее значение связанного объекта, если тип значения - строка? (сейчас отображается NaN, даже если есть реальное значение).
Сейчас элемент "jqui - Input" отображает реальное значение только если тип значения - число. `
Стереть полностью значение "Знаков после запятой" (не ноль, а пусто) -
Формирую таблицу в скриптах, в ячейке есть картинка. На десктопе и андроиде браузеры нормально всё отображают,
на андроид в приложении Iobroker таблица создаётся, но маленькая картинка не отображается.
Есть какие-то ограничения?
Код в скриптах при формировании:
td5="[](+big_img+)";При клике должна открыться большая картинка, в браузерах работает, а в приложении ругается на реальный путь к файлу. Файл конечно же существует.
Application Error The File or directory could not be found. (file:///vis.0/main/img/myimg1.jpg) -
Формирую таблицу в скриптах, в ячейке есть картинка. На десктопе и андроиде браузеры нормально всё отображают,
на андроид в приложении Iobroker таблица создаётся, но маленькая картинка не отображается.
Есть какие-то ограничения?
Код в скриптах при формировании:
td5="[](+big_img+)";При клике должна открыться большая картинка, в браузерах работает, а в приложении ругается на реальный путь к файлу. Файл конечно же существует.
Application Error The File or directory could not be found. (file:///vis.0/main/img/myimg1.jpg) ```` `При переписывании проекта на телефон парсятся все пути к картинкам. И соответственно в твоём случае это будет "+small_img+". Я советую тебе положить на страницу виджет image c картинкой "/vis.0/main/img/myimg1.jpg" и сделать этот виджет невидимым (или прозрачным => opacitiy: 0). Тогда картинка перепишется на телефон и отобразится в динамическом виджете тоже.
-
Я советую тебе положить на страницу виджет image c картинкой "/vis.0/main/img/myimg1.jpg" и сделать этот виджет невидимым (или прозрачным => opacitiy: 0). Тогда картинка перепишется на телефон и отобразится в динамическом виджете тоже. `
Таким способом можно решить задачу с 1 картинкой.
Я же генерирую таблицу с непредсказуемым заранее количеством строк и картинок в них соответственно (может от 0 до 100 строк например).
Пути к картинкам хранятся в базе, таблица формируется в зависимости от задаваемых на странице условий.
-
На строчки:
var command_obj={instance: cur_instance, command: 'reload', data: cur_data}; setState('vis.0.control.command',command_obj);Получаю:
warn Wrong type of vis.0.control.command: "object". Please fix, while deprecated and will not work in next versions.Как исправить?
-
Добрый день. С недавнего времени начал копать тему в сторону умного дома и выбор пал на iobroker. По началу всё более менее было понятно. Ах да забыл сказать - собираюсь управлять Arduino-подобными устройствами (Wemos), они на базе ESP8266. Протокол управления MQTT. Тестовый пример с миганием встроенного светодиода поначалу работает корректно на созданной кнопке вкл/выкл, но после ухода компа (на котором стоит сервер iobroker, ОС Win10 x64) в сон и выход из него, управление перестает работать. В разделе "объекты" значение меняется, но устройство никаких данных не получает. Данные же о статусе устройства сервером принимаются и отображаются корректно.
Установил так же на телефон MQTT Dash для управления, с ним никаких проблем с управлением нет. Исходя из этого считаю что имеется какая то ошибка в драйвере vis-beta 0.12.20 (аналогична проблема и с версией 0.10.15) или с драйвером ioBroker simple web Adapter 2.0.2
Лог при этом никаких подозрительных данных не выдает, единственное что он постоянно сообщает о некорректных объектах(так же при первом пуске до ухода в сон когда все работает):
! mqtt.0 2017-05-05 17:19:23.135 warn Cannot resolve topic name for ID: system.adapter.vis-beta.0.outputCount (object not found)
! mqtt.0 2017-05-05 17:19:23.121 warn Cannot resolve topic name for ID: system.adapter.vis-beta.0.inputCount (object not found)
! mqtt.0 2017-05-05 17:19:23.106 warn Cannot resolve topic name for ID: system.adapter.vis-beta.0.uptime (object not found)
! mqtt.0 2017-05-05 17:19:23.092 warn Cannot resolve topic name for ID: system.adapter.vis-beta.0.memHeapUsed (object not found)
! mqtt.0 2017-05-05 17:19:23.079 warn Cannot resolve topic name for ID: system.adapter.vis-beta.0.memHeapTotal (object not found)
! mqtt.0 2017-05-05 17:19:23.066 warn Cannot resolve topic name for ID: system.adapter.vis-beta.0.memRss (object not found)
! mqtt.0 2017-05-05 17:19:23.052 warn Cannot resolve topic name for ID: system.adapter.vis-beta.0.connected (object not found)
! mqtt.0 2017-05-05 17:19:23.037 warn Cannot resolve topic name for ID: system.adapter.vis-beta.0.alive (object not found)
! mqtt.0 2017-05-05 17:19:22.880 warn Cannot resolve topic name for ID: web.0.connected (object not found)Собственно вопрос: это лыжи не едут или… ?
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