+1
Under review
SMH 1 month ago in i3 lite • updated by Xopyc (expert) 4 weeks ago 23

После недели тестирования модуля Modbus TCP для i3 lite у меня оформились следующие пожелания, надеюсь их несложно будет реализовать.

1. Обязательная возможность смены иконки в виджете, хотя бы из существующего набора для макросов.

2. В виджеты "button" и "relay" добавить (опционально) обратную связь - чтение регистра состояния устройства.

2.1 Нажал на "button" - регистр устройства изменил состояние - виджет изменил цвет и надпись с "OFF" на "ON". Если подтверждения не пришло, цвет и надпись не менять!

2.2 Нажал на "relay" - регистр устройства изменил состояние - виджет изменил цвет с серого на зелёный. Если подтверждения не пришло, цвет не менять!

3. В настройки виджета "dimmer" также ввести (опционально) обратную связь - чтение регистра Word = положение ползунка.

4. В настройках "display" добавить положение десятичной точки для отображаемых целых чисел.

5. В настройках "value input" добавить поле "units" - аналогично, как сделано на виджете "display". В настройках добавить положение десятичной точки для вводимых целых чисел.

6.1 Добавить виджет "сигнальная лампа", с логикой работы аналогично виджету "binary sensor", но выглядеть он должен, как меняющая цвет при наступлении события сигнальная лампа. Цвет должен выбираться.

и/или

6.2 Добавить виджет "сигнальная лампа", цвет которой задаётся привязанной к ней Word переменной.

7. Добавить виджет "переключатель на несколько положений", либо с выбором количества положений через настройки, либо фиксированных на 2, 3, 4 и 5 положений. На выходе - Word переменная.

8. Добавить виджет "текстовый дисплей", с изменяемым текстом, в зависимости от значения Word переменной.


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

Спасибо за внимание. )

9. Распаковку и запаковку битовых сигналов в переменную Word конечно ещё забыл!

В настройках дискретного виджета, если выбран "register", нужно дополнительное поле для задания номера бита.

Under review

Здравствуйте.

1. Выставили этот вопрос на голосование: http://support.iridiummobile.net/topics/11897-/

2. Поставим в очередь на разработку, в Relay и Dimmer можно будет задать адрес для чтение отдельно.

2.1. Вы говорите о том, чтобы изменить внешний вид элемента Button, чтобы на нём была видна обратная связь? Сейчас у нас в элементе Button нет On/Off надписей. Пока что не вижу смысла для добавления адреса чтения в кнопке. Если нужен триггер с обратной связью то в этом случае используется реле.

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

3. Сделаем (ответил в п. 2).

4. Можете привести пример как это выглядит и для чего нужно?

5. Нужен пример использования: в каких случаях вам нужно вводить значение в строку таким образом. Value input изначально был сделан как тестовый элемент управления, для того чтобы можно было задать любое значение на любое адрес и проверить работоспособность.

6. Обсудим с дизайнером. Но хотелось бы подробностей: изначально лампа серая? И также пример использования.

7. Как при переключении режимов? В таком случае вам нужна будет возможность задать строку для каждой кнопки.

8. Что если мы сделаем элемент Custom display, в которую через экшены можно задать любую строку. Таким образом через рутины можно будет написать любую строку на элементе, в завимисимости от значения, которое пришло. Это решит вашу проблему?

9. Сделаем




Добрый день. Порадовала неожиданно быстрая реакция на мои пожелания.

Спасибо.

1. Честно говоря, не понимаю, зачем голосование. Иконка – она для чего вообще? Для красоты и информативности, как я понимаю. А если интерфейс целиком построен на Modbus виджетах, то все иконки одинаковые - ни красоты, ни информативности.

2. Тут вот какую деталь важно не упустить. В Relay – переключение тумблера производить по нажатию, и только изменение цвета – по приходу подтверждения. В Dimmer всё сложнее – перемещение ползунка и цифровое значение над ним нужно оставить так, как есть. А виджет дополнить ещё одним элементом – подтверждённым значением (зелёный на рисунке).

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

Кроме того, в настройках Dimmer есть установка минимального и максимального значений, это замечательно, но вот что сделано, на мой взгляд, неправильно – отключение тумблера над ползунком приводит к установке минимального значения на выходе Dimmer, а не 0, как было бы логично (это же выключатель).

И как-то бы ещё поконтрастней виджет Dimmer сделать, какой-то он невзрачный.

2.1.По поводу обратной связи в Button. Между Button и Relay существенная разница, как Вы понимаете. Button это кнопка без фиксации, Relay – с фиксацией на уровне виджета. Обратная связь для Button необходима, если фиксация сделана на программном уровне ПЛК. В моём конкретном случае освещением управляют физические выключатели без фиксации, подключенные к дискретным входам ПЛК. Нажал – свет включился, повторное нажатие – выключился. Аналогичным образом хотелось бы получить управление и с панели – нажал – свет включился, повторное нажатие – выключился, и при этом видеть результат своего действия и текущее состояние в одном виджете, а не в разных.

4. Вообще, если по уму делать, то туда не только десятичную точку для отображения переменных Word нужно ввести, а масштабирование переменной. Нужно это для чтения данных с самых разных Modbus устройств, не умеющих работать числами с плавающей точкой и передающих данные в «условных единицах» в формате Word. К их числу относятся все известные мне преобразователи частоты, многие ПЛК, измерительные модули, теплосчётчики и счетчики электроэнергии. Выглядит это так: читаем переменную Word = 4367 с аналогового входа 4-20мА. Задаём ей шкалу 2000 = 0, 10000 = 16 (шкала подключенного ко входу датчика давления в кгс/см2). На выходе имеем число 4.734 с плавающей точкой, которое и отображаем в виджете с заданным количеством знаков после точки = 4.7.

5. Пример использования – ввод каких-либо параметров в устройства, описанные в пункте 4. Например, заданного значения давления, поддерживаемого преобразователем частоты. Тут также нужно масштабирование, вводим, например, 4,7 кгс/см2, на выходе получаем 4350 Word для записи в регистр устройства.

6.1. Изначально лампа серая (с возможностью инверсии сигнала), если это вариация существующего виждета Binary sensor. При чтении 1 – цвет на выбор. Применение – тоже, что и у Binary sensor, для внесения понятности в интерфейс. Например: «фильтр засорён» - лампа жёлтого цвета, «насос в работе» - лампа зелёного цвета и т.п.

6.2. Большой интерес представляет использование виждета сигнальной лампы с цветом, задаваемым переменной Word по 16bit шкале. Очевидное применение: в системах управления RGB освещением и в системах сигнализации (серый – отключено, зелёный – норма, жёлтый – внимание, красный – авария).

7. Переключатель режимов – это тот же Dimmer, с возможностью задания верхнего и нижнего значений 0-100, только без верхнего тумблера и символов "солнышка".

Этот же виджет может использоваться для коррекции температуры, скорости и других параметров.

Строка для каждого положения описывается в Custom display, предложенном Вами в 8 пункте, вместо «текстового дисплея».

8. Что если мы сделаем элемент Custom display, в которую через экшены можно задать любую строку. Таким образом через рутины можно будет написать любую строку на элементе, в зависимости от значения, которое пришло.

Честно говоря, я не понял, что такое «экшены» и «рутины» применительно к I3Lite.

Можете пояснить?


И ещё, ранее не озвученные пожелания не к виджетам, а к настройкам самого модуля.

10.1. Во время подключения модуля Modbus TCP из магазина, запрашиваются IP и порт подключения. После этого, нигде эти параметры изменить нельзя. Это как-то несерьёзно. Вот подключил я модуль, насоздавал внутри кучу сабдевайсов, расставил по комнатам, короче, создал интерфейс. А на объекте, по каким-либо причинам, IP другой, или порт занят – всё, что-ли, заново делать?

10.2. После создания сабдевайса, нет возможности его удалить, а есть только отключить. Я понимаю конечно, что такая работа дисциплинирует (почти как у сапёра - без права на ошибку), но было бы неплохо всё-же иметь возможность удалять ошибочно созданный или ненужный сабдевайс.

10.3. Ввести в настройки модуля Modbus TCP возможность работы через Modbus TCP to RTU.

По пункту 2.1 всё еще есть недопонимание. Вы можете использовать элемент Relay, нужно лишь на включение и выключение сделать отправку одного и того же значения. Таким образом вы сможете переключать свет нажатием и при этом видеть результат.

Проведённый эксперимент показал, что это не так. Если в Reley на включение и выключение поставить отправку значения 1, после однократного переключения он вообще перестаёт работать.

Что, собственно, и неудивительно. Ведь физическим аналогом Reley с такими настройками является выключатель, у которого контакты между собой от искры сварились ). Если в Reley на включение и выключение поставить отправку значения 0, он просто не работает, что тоже вполне логично. Управлять чем-либо при помощи таких вариантов настроек невозможно. Странно, что Вы этого не понимаете.

Кнопка (Button) - это однократная, во время нажатия, запись значения 1 в регистр. Сняли нажатие - пишет 0 в регистр.

Выключатель (Reley) - это запись значения 1 с фиксацией. Нажали - записал и продолжает писать 1 после снятия нажатия. Для записи 0 требуется повторное нажатие.

Я не уточнил: пока нет возможности задать адрес для чтения отдельно это очевидно невозможно. Но когда добавим такую возможность вам же ничего не помешает использовать реле.

Когда вы жмете на реле отправляется, например 1, переключается свет и переменная для чтения соответственно меняет значение и реле меняет состояние.

Но для этого кейса нужно будет также разделить значения записи и значения фидбека, а не только адреса.

Дело в том, что кнопка, если добавим на неё отображение состояния технически будет работать точно также.

Что-то мы совсем друг друга запутали. ) Придётся картинки рисовать.

Вот как это работает сейчас.

Нужно, чтобы отправка значений работала ТОЧНО ТАКЖЕ, как есть сейчас.

А виджеты "Подтверждённое Button" и "Подтверждённое Relay" разместить внутри "Button" и "Relay" соответственно.

Например, вот так:

Что-то типа вот таких виджетов хотелось бы в итоге увидеть.

Ещё раз акцентирую внимание:

1. Положение тумблера, изменение оттенка кнопки во время нажатия - это ОТПРАВЛЕННЫЕ ЗНАЧЕНИЯ.

2. Зелёный цвет тумблера, смена цвета и текста надписи OFF-ON - это ПОДТВЕРЖДЁННЫЕ ЗНАЧЕНИЯ.

Так понятно?

Спасибо за такое подробное пояснение.
Я вас понял, что вам нужно отображение изменилось ли значение по факту или нет.

Но вопрос возник именно по пункту 2.1. О том, что вам нужно отображение текущего состояния фидбека на кнопке. Но элемент "кнопка" как раз и задумывался как простой элемент, который не зависит от фидбека (например запуск сцены). Да, мы дали возможность опционально задать отправку значения и на релиз, но в первую очередь это просто кнопка.

В вашем же случае получается некое подобие триггер кнопки, чем по сути и является реле.

Давайте представим, что мы реализовали такую кнопку. Вы в параметрах задаёте адрес для записи и адрес для чтения (естественно они разные в этом случае). На релиз задаёте отправку значения "1" в адрес для записи и задаёте еще отдельными полями значения, которые соответствуют состоянию on и off и которые мы ждём от адрес для чтения.

Таким образом мы сделали фидбек триггерный, но управление не триггерное.


Я же предлагаю вам сделать тоже самое, но для реле (вы просто зададите отправку 1 на On и отправку 1 на Off если у вас тоггл, но значения для чтения будут 0 и 1 например), а кнопку оставить без отображения фидбека, потому что как я и написал ранее, кнопка - это простой элемент.

Я же предлагаю вам сделать тоже самое, но для реле (вы просто зададите отправку 1 на On и отправку 1 на Off если у вас тоггл, но значения для чтения будут 0 и 1 например)

В этом случае в RELAY нужно реализовывать переход через противоположное значение при переключении. Т.е., в обсуждаемом случае, 1 - 0 - 1. Иначе ничего переключаться не будет. Я не до конца понимаю, как это будет визуально выглядеть. Движок RELAY будет фиксироваться и в правом, и в левом состоянии, как сделано сейчас?

Как вы и писали мы друг друга просто не поняли )

Вы сделаете кнопку таким образом, что на нажатие будет отправляться единица, а на отпускание - ноль (или наоборот как вам удобнее). И при каждом переходе с 0 на 1 у вас переключается свет. Тут вы полностью правы, реле для такого случая не подойдёт.

Подумаем над этим сценарием вновь.

Здравствуйте.

По пунктам 2, 2.1, 6.1., 6.2., 10.2. мне нужно обсудить с дизайнером. Как будет решение я вам его озвучу и скажу когда его ожидать в приложении.

7. Верхние и нижние пределы задаются и в обычном диммере, тут именно отличие в том, что вам нужен элемент без переключателя и иконок света?

8. Извиняюсь за необщепринятые понятия. Рутины это правила, которые вы создаёте в i3 lite. Экшены - это действия, которые можно использовать в рутинах. Мы предлагаем вам тип устройства Custom display, в котором вы принимаете значение с указанного адреса (но на виджете по умолчанию оно не отображается), а надпись на виджете вы делаете с помощью действия. Пример правила: Если от устройства Custom display пришло значение 0, запиши мне "System OK" в этот же Custom display. Так вы можете завязывать этот Custom display с другими устройствами (Если значение диммера больше 80% запиши мне "Too bright").

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

10.3. Можем добавить, но это будет отдельный модуль.


По вопросам 4 и 5 дам ответ чуть позже.

Спасибо за активное участие в тестировании.



7. Да-да, совершенно верно. Без тумблера и иконок света, так как это не диммер.

Но с обратной связью через дополнительный элемент "подтверждённое значение", как я предложил выше.

8. Насколько я Вас понял, это хорошее решение.

10.1. Спасибо, очень хорошо. А то я паниковать раньше времени начал. )

10.3. Да пусть отдельный, разницы нет, наверняка будет востребован.


Спасибо, что терпеливо выслушали. )

Вам спасибо за то что помогаете делать наш продукт лучше -)

По поводу пункта 1. Чем бы не закончилось голосование (пока там, к сожалению, только мой голос), хотя аналогичное предложение было также в этой теме:

http://support.iridiummobile.net/topics/11793-not-possible-to-change-icon-for-button-in-modbus/

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

+1

По 4, 5: идею утвердил, добавим параметры в Display и Input value, которые позволят вам масштабировать значения.

Замечательно!

+1

Поставили в очередь на разработку:

1) Введение адреса для чтения отдельно

2) Отображение ожидания ответа на реле и диммере

3) Масштабирование значений

4) Возможность использовать бит регистра для бинарного сенсора


Остальные пункты пока находятся на стадии формирования задачи.

Сообщим вам когда будут изменения в модуле.

Очень хорошо!

4) Возможность использовать бит регистра для бинарного сенсора

А на управление? На RELAY & BUTTON эта функция тоже крайне актуальна!


Давайте мы сначала добавим для сенсоров, если эта функция будет корректно работать - мы также добавим её и для управления.

Хорошо. Главное, чтоб "не забылось".

+1

Обновили модуль Modbus TCP.

Добавили:

1) Введение адреса для чтения отдельно

2) Возможность использовать бит регистра для бинарного сенсора

3) Возможность ввести Units для Value input

То, что в очереди (описано выше), но не сделано сейчас, будет в скором времени.


В RELAY не работает адрес для чтения (версия модуля 1.18.0).

Или я не понял, как по вашему замыслу он должен работать.

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