Вопросы по работе системы



  • @Alex_Jet, похоже, Вы нашли баг с использованием счетчика в сценарии версии v4. А именно - value для счетчика - это aval, а не dval 😞

    Попробуйте использовать для счетчика "aval" вместо "value", т е
    сделать такую замену:

     if(this.isChanged(meter, "value"))  ==>  if(this.isChanged(meter, "aval")) 
    
    this.log("> Значение счетчика = " +meter.value); ==> this.log("> Значение счетчика = " +meter.getParam("aval")); 
    
    


  • Пользователь @intrapro написал в Вопросы по работе системы:

    @Alex_Jet, похоже, Вы нашли баг с использованием счетчика в сценарии версии v4. А именно - value для счетчика - это aval, а не dval 😞

    Попробуйте использовать для счетчика "aval" вместо "value", т е
    сделать такую замену:

     if(this.isChanged(meter, "value"))  ==>  if(this.isChanged(meter, "aval")) 
    
    this.log("> Значение счетчика = " +meter.value); ==> this.log("> Значение счетчика = " +meter.getParam("aval")); 
    
    

    Самое интересное, что если я комментирую условие if(this.isChanged(meter, "value")) и пробую вручную запускать сценарий, то все нормально считает:

    21.07 02:17:11.873 S152(,METER1_02,METER1_03) Started
    21.07 02:17:11.874 S152(,METER1_02,METER1_03) isChanged(METER1_03,reset)=false
    21.07 02:17:11.875 S152(,METER1_02,METER1_03) isChanged(METER1_03,defval)=false
    21.07 02:17:11.875 S152(,METER1_02,METER1_03) log: > Значение счетчика = 14.73
    21.07 02:17:11.922 S152(,METER1_02,METER1_03) log: > this.value = -0.01
    21.07 02:17:11.929 S152(,METER1_02,METER1_03) assign METER1_03.value=-0.01
    21.07 02:17:11.929 S152(,METER1_02,METER1_03) assign METER1_03.error=1
    21.07 02:17:11.930 S152(,METER1_02,METER1_03) Stopped
    

    В принципе при замене "value" на "aval" все работает, как задумано:

    21.07 09:38:11.875 S152(,METER1_02,METER1_03) Trigger METER1_02
    21.07 09:38:11.876 S152(,METER1_02,METER1_03) Started
    21.07 09:38:11.876 S152(,METER1_02,METER1_03) isChanged(METER1_03,reset)=false Changed: {"METER1_02":{"aval":14.74}}
    21.07 09:38:11.877 S152(,METER1_02,METER1_03) isChanged(METER1_03,defval)=false Changed: {"METER1_02":{"aval":14.74}}
    21.07 09:38:11.877 S152(,METER1_02,METER1_03) isChanged(METER1_02,aval)=true Changed: {"METER1_02":{"aval":14.74}}
    21.07 09:38:11.878 S152(,METER1_02,METER1_03) log: > Значение счетчика = 14.74
    21.07 09:38:11.924 S152(,METER1_02,METER1_03) log: > life_meter.value == life_meter.setpoint
    21.07 09:38:11.928 S152(,METER1_02,METER1_03) log: > this.value = 4.99
    21.07 09:38:11.931 S152(,METER1_02,METER1_03) assign METER1_03.value=4.99
    21.07 09:38:11.933 S152(,METER1_02,METER1_03) Stopped
    21.07 09:40:33.108 S152(,METER1_02,METER1_03) Trigger METER1_02
    21.07 09:40:33.109 S152(,METER1_02,METER1_03) Started
    21.07 09:40:33.109 S152(,METER1_02,METER1_03) isChanged(METER1_03,reset)=false Changed: {"METER1_02":{"aval":14.75}}
    21.07 09:40:33.110 S152(,METER1_02,METER1_03) isChanged(METER1_03,defval)=false Changed: {"METER1_02":{"aval":14.75}}
    21.07 09:40:33.110 S152(,METER1_02,METER1_03) isChanged(METER1_02,aval)=true Changed: {"METER1_02":{"aval":14.75}}
    21.07 09:40:33.113 S152(,METER1_02,METER1_03) log: > Значение счетчика = 14.75
    21.07 09:40:33.159 S152(,METER1_02,METER1_03) log: > this.value = 4.98
    21.07 09:40:33.163 S152(,METER1_02,METER1_03) assign METER1_03.value=4.98
    21.07 09:40:33.164 S152(,METER1_02,METER1_03) Stopped
    21.07 09:40:50.176 S152(,METER1_02,METER1_03) Trigger METER1_02
    21.07 09:40:50.177 S152(,METER1_02,METER1_03) Started
    21.07 09:40:50.177 S152(,METER1_02,METER1_03) isChanged(METER1_03,reset)=false Changed: {"METER1_02":{"aval":14.76}}
    21.07 09:40:50.178 S152(,METER1_02,METER1_03) isChanged(METER1_03,defval)=false Changed: {"METER1_02":{"aval":14.76}}
    21.07 09:40:50.178 S152(,METER1_02,METER1_03) isChanged(METER1_02,aval)=true Changed: {"METER1_02":{"aval":14.76}}
    21.07 09:40:50.178 S152(,METER1_02,METER1_03) log: > Значение счетчика = 14.76
    21.07 09:40:50.189 S152(,METER1_02,METER1_03) log: > this.value = 4.970000000000001
    21.07 09:40:50.194 S152(,METER1_02,METER1_03) assign METER1_03.value=4.970000000000001
    21.07 09:40:50.195 S152(,METER1_02,METER1_03) Stopped
    

    Вопрос - почему на третьем шаге получаю столь длинную цифру???



  • На экране добавляю навигатор, пишет что нету таких мнемосхем.
    alt text



  • Не могу найти в чем проблема. Для аналогового датчика давления настроил 3 состояния - низкое (верхний предел - 1), среднее (верхний предел - 3) и высокое (верхний предел - 10) давление. Соответственно для каждого состояния на мнемосхеме задал фон индикатора - желтый/зеленый/красный. Однако при показаниях в районе 2,6-2,9 фон почему-то желтый, а должен быть зеленым!
    Проблема_с_отображением_состояния.png

    Еще вопрос - почему у датчика аналогового нельзя удалить не нужные состояния? Система пишет "Эту запись удалить нельзя"? Было 3 состояния, перестал их использовать, 2 по счету удалил, а ни 1, ни 0 удалить нельзя.



  • Пользователь @Alex_Jet написал в Вопросы по работе системы:

    Не могу найти в чем проблема. Для аналогового датчика давления настроил 3 состояния - низкое (верхний предел - 1), среднее (верхний предел - 3) и высокое (верхний предел - 10) давление. Соответственно для каждого состояния на мнемосхеме задал фон индикатора - желтый/зеленый/красный. Однако при показаниях в районе 2,6-2,9 фон почему-то желтый, а должен быть зеленым!
    Проблема_с_отображением_состояния.png

    Еще вопрос - почему у датчика аналогового нельзя удалить не нужные состояния? Система пишет "Эту запись удалить нельзя"? Было 3 состояния, перестал их использовать, 2 по счету удалил, а ни 1, ни 0 удалить нельзя.

    В "состояниях" задан цвет картинки.
    А на виджете вы картинку не используете, у вас там цвет заливки круга. Он в свойствах объекта на виджете задается, там тоже нужно для каждого из 3-х состояний цвета назначить.



  • @Erik, это все учтено. Я же пишу - что "на мнемосхеме задал фон индикатора - желтый/зеленый/красный".
    Кстати, я бы из состояний вообще убрал значения для изображений и их цветов. Поскольку это все дублируется в состояниях устройства на мнемосхеме. И вообще такое ощущение что описания на мнемосхеме и состояния устройств хранятся в отдельных файлах, при этом приоритет у мнемосхем!



  • В состояниях - только цвет изображения.
    Цвет фона - только в свойствах объекта на мнемосхеме/виджете. Ничего не дублируется.
    Можно в свойствах объекта на мнемосхеме изменить картинку и ее цвет, если это нужно. И приоритет для этого правильный. Ничего убирать не надо.



  • @Erik. Зачем в состояниях нужно изображение и его цвет если все это задается "в свойствах объекта на мнемосхеме"? Причем если эти параметры менять на мнемосхеме, то в состояниях остается все неизменным. Поэтому и я говорю о приоритете свойств мнемосхемы над свойствами состояний:
    Пояснение.png



  • Мне пригодилось.
    Я делал интерфейсы как для ПК так и для телефона. И в разных цветовых решениях нужны разные цвета фона/картинок. Устройство одно, а "стилей отображения" несколько. Хорошо, что это возможно.
    А когда добавляешь устройство на мнемосхему, цвета иконки подтягиваются из состояний. Но их можно изменить. Т.е. иконка по умолчанию имеет цвета из состояний устройства. А если менять - изменения коснутся только этого конкретного отображения на этой мнемосхеме. Удобно по моему.



  • @Erik, да, оказывается - это цвета и иконки "по умолчанию" в мобильном нативном приложении. Я им практически не пользуюсь - нарисовал веб-интерфейс для смартфона. Не хватает в системе комментариев для чего это море возможностей нужно)



  • Пользователь @Alex_Jet написал в Вопросы по работе системы:

    Для аналогового датчика давления настроил 3 состояния - низкое (верхний предел - 1), среднее (верхний предел - 3) и высокое (верхний предел - 10) давление. Соответственно для каждого состояния на мнемосхеме задал фон индикатора - желтый/зеленый/красный. Однако при показаниях в районе 2,6-2,9 фон почему-то желтый, а должен быть зеленым!

    Отвечу сам, хотя подсказал уважаемый @intrahouse, - для того чтобы состояния устройства менялись в зависимости от его показаний нужно в свойствах устройства (вкладка "Дополнительно") выбрать "Аналоговое значение - интервалы". Вот про это я как раз и забыл...



  • Всем доброго времени суток! Сменил роутер, для работы с БП. Настройки все сменились, IP там... Сервак перестал работать, т.к. смена IP. Как сменить настройки сервера, чтобы всё снова заработало. В прошлый раз пришлось удалить программу и установить заново. Система Lubuntu.



  • @Sergeus Таким устройствам нужно давать статические адреса на самом роутере



  • Это сообщение удалено!


  • Ещё замечена проблемка. Когда задействован шлюз в сервере, перестает работать кнопка на Шлюзе, включающая подсветку. Сигнализация ставится по двойному нажатию, а подсветка не фурычит.



  • Здравствуйте. А как реализовать выпадающий список со списком действий?
    Например переход на экраны.

    Можно конечно в Html блок запихнуть, только как сделать обработку выбора элемента?



  • @regabriel, есть системный виджет autocomplete (это как раз выпадающий список). Пробовал им пользоваться, но не понял как... с виджетом navigator все получилось сразу же - он у меня переключает разные мнемосхемы на экране (его нужно добавить после создания и сохранения контейнера мнемосхем на экране).



  • Пользователь @Alex_Jet написал в Вопросы по работе системы:

    системный виджет autocomplete

    Вот я тоже не понял как его настраивать.

    navigator работает но это не выпадающий список, не так элегантно получается, да и не получается в нем сделать переходы на экраны или другие действия(например запуск сценария или т.п.)



  • Пользователь @regabriel написал в Вопросы по работе системы:

    navigator работает но это не выпадающий список, не так элегантно получается, да и не получается в нем сделать переходы на экраны или другие действия(например запуск сценария или т.п.)

    Можно такой же навигатор сделать из кнопок. Кнопки позволяют переходить на другой экран или что-нибудь запускать (сценарий, команда плагина или просто url). Лучше всего сделать свой виджет с такими кнопками - если они будут размещены на нескольких экранах, то будет удобно в дальнейшем редактировать только этот виджет.



  • homescreen.png


Авторизуйтесь, чтобы ответить