1 (edited by Naladchik 2017-07-23 10:46:17)

Topic: Новые элементы или модернизация существующих.

Здравствуйте. Есть несколько предложений.
1. Совместить два имеющихся элемента "кнопка" и "индикатор", в итоге получаем новый элемент "кнопка с подсветкой". Можно контролировать нажатие и занимает места меньше чем "выключатель", актуально для смартфонов. Сейчас такой элемент приходится делать совмещением 2-х элементов, что не очень удобно.
2. Для элемента "индикатор" предусмотреть возможность определить цвет на этапе создания интерфейса и в дальнейшем управлять индикатором дискретным сигналом а не аналоговым, как сейчас.
3. Есть элемент "метка". Создать подобный элемент со свойством "невидимость" со входом, по которому можно включать/выключать это свойство. Можно будет разместить их (или наложить их один на другой) и включать нужный. Для чего это. Чаще всего на интерфейс выводится статичная текстовая информация, которая заранее определена. Выводить несколько строк через элементы "текстовая строка" проблематично при наличии русских букв и значительном их количестве. Или другой вариант, элемент, в котором создается массив строк и есть вход выбора строки (0-1-2-....N), которая будет показываться в нужный момент. Это сильно облегчит задачу создания меню либо вывода сообщений и значительно уменьшит количество передаваемой информации в процессе работы, соответственно повысится скорость обмена.
4. Для элементов "страница" предусмотреть выход, на который будет выводится номер отображаемой страницы (0-1-2-....N). На данный момент страницу переключил, а как об этом сообщить контроллеру - не понятно. Приходится "подкладывать" кнопку, как в п.1. Так же, аналогично выходу, предусмотреть вход, по информации на котором будет активироваться нужная страница.

Спасибо.

2

Re: Новые элементы или модернизация существующих.

Добрый день. Все идеи интересные и имеют место быть реализованными. Занесем в план, часть уже есть в планах.

3 (edited by Naladchik 2017-07-29 07:07:02)

Re: Новые элементы или модернизация существующих.

В добавление к предыдущему посту.
5. Предусмотреть возможность обновления элемента "поле ввода" не только во время соединения а по отдельному сигналу.
Я вижу это таким образом. У элемента появляется чекбокс "обновить по запросу". При установке данного чекбокса у определенных элементов (обновлять сразу все, я думаю, смысла не имеет) и при подаче сигнала на определенный вход происходит считывание обновленных состояний указанных элементов с контроллера.
В моем текущем проекте используются несколько наборов параметров, соответственно для каждого из параметров мне нужно отображать заданное ранее значение и поле для его изменения. При данной доработке эти поля я мог бы объединить, более рационально использовав рабочую область.
6. Подобную доработку сделать для элементов "выключатель" и "переключатель". Тем самым можно снять вопросы об обратной связи, которые поднимались в http://forum.remotexy.com/viewtopic.php?id=35.

4

Re: Новые элементы или модернизация существующих.

Да. Пункт №6 был бы очень актуален. Обратная связь очень нужна, чтобы использовать систему для более "ответственных" исполнительных устройств. Допустим менять цвет выключателя по сигналу обратной связи было бы неплохо.

5

Re: Новые элементы или модернизация существующих.

И добавьте, пожалуйста, возможность выбора цвета элементов в виде #123ABC. Спасибо.

6

Re: Новые элементы или модернизация существующих.

Позволю себе вставить пять копеек по данной теме.
Действительно, очень нужна обратная связь. А так же возможность определяться с текущей страницей.
Мое устройство работает в нескольких режимах, в каждом из которых имеется свой набор инструментов.
Естественно, первое желание - использовать страницы. И при нажатии на страницу переводить устройство в нужный режим работы.
Но столкнулся со следующими проблемами:
1. Объект "Страница" не отсылает на устройство информацию о нажатии. Поэтому приходится извращаться и подсовывать под страницу кнопку. Нажатие на кнопку можно обработать. Вроде обошли.
2. На устройстве известно, в каком режиме оно работает. Но при этом нет возможности установить текущую страницу из кода на устройстве. Из-за этого получается вот какая нестыковка. Предполагается, что мое устройство не будет постоянно подключено к смартфону. Смартфон используется только для изменения режима работы. Поэтому он будет то подключаться, то отключаться. И программа на смортфоне при этом будет то закрываться то открываться. И после очередного подключения программа встанет на страницу, которая обозначена как "Главная". А на самом деле устройство может работать в другом режиме. И нужно показать соответствующую страницу. А приходится страницу менять вручную.
Это то о чем писал автор темы в п.4.
Было бы очень неплохо, если бы появился объект "Страницы" с обратной связью.

7

Re: Новые элементы или модернизация существующих.

Тоже хотел бы добавить предложение по объекту "Страницы", да как уже писали выше, наличие выхода номера страницы было бы очень удобно, но на мой взгляд есть еще один пункт который будет полезен для этого объекта, это выбор страницы где будет отображаться кнопка страницы.
Сейчас все кнопки страниц присутствуют на всех страницах, было бы удобно если бы была возможность скрывать кнопки не нужных страниц там где они не нужны.

8

Re: Новые элементы или модернизация существующих.

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

9

Re: Новые элементы или модернизация существующих.

Предложение по модернизации слайдера.
Предисловие: логика использования слайдера - ввод в контроллер значения в диапазоне ОТ и ДО. Также важным является конкретное введенное число. Существующая реализация слайдера дает значения от 0 до 100, а также не имеет обратной связи по текущему значению. Например, при помощи слайдера пользователь хочет выставлять некую настройку в диапазоне от 10 до 25 попугаев. С использованием слайдера выставить ее точным образом затруднительно, приходится создавать отдельное поле для вывода текущего значения, которое получилось задать слайдером.
Таким образом, предлагаю:
1. Ввести параметр у слайдера: максимальное и минимальное значение.
2. Слайдер в приложении должен выводить свое текущее значение рядом со слайдером, меняющееся при перетаскивании. Отправку конкретного значения на клиентское устройство сделать при событии отпускания слайдера.

10

Re: Новые элементы или модернизация существующих.

Предложение по модернизации элемента "График".
Предисловие по сценарию применения: суть графика в выводе истории наблюдений за какой-либо период. Текущая реализация пригодна для наблюдений за мгновенным значением, но не пригодна для наблюдений за историей в значимый период времени. Некоторые пользователи используют RemoteXY для удаленного контроля систем вентиляции, обогрева, увлажнения в теплицах, складах, овощных ямах и прочим. Под эту задачу определенным образом настраиваются системы регулирования, PID и подобные регуляторы. Поскольку постоянная времени объекта регулирования в этом случае весьма велика и составляет часы и дни, необходим инструментарий для мониторинга на протяжении длительного времени. На текущий момент единственным выходом является удержание приложения в активном режиме, что излишне нагружает как сервер, так и клиентское устройство пользователя (условно, Arduino) и его телефон, либо делает невозможным сохранение значимой по длине истории.
В связи с указанным, предлагаю рассмотреть следующие предложения:
1. Возможность выбора периодичности сохранения контролируемой величины в ОЗУ клиентсткого устройства, с сохранением метки времени. Даже самые слабые варианты Arduino, со свободными 1 кб ОЗУ из 2х, при сохранении пары float истории раз в двадцать минут (грубо считаем длину истории 4+4 данные +4 байта на метку времени), чего вполне достаточно для объекта с большим временем реакции, способны удерживать показания в течении примерно суток, что позволит закрыть данную задачу.
2. Реализовать отсылку всей истории данных на носимое устройство пользователя по наполнению кэша клиентского устройства, и / или(вариант попроще) по подключению приложения на носимом устройстве к серверу, выкачивая ее с клиентского устройства (в этом случае историю на arduino вести по принципу fifo, отбрасывая самые старые данные, которые уже не входят в кэш). Это позволит избежать необходимости хранения истории на сервере, при этом с точки зрения пользователя история будет появляться на устройстве в момент открытия программы. Пользователь же, регулируя частоту обновления данных, сможет добиться читаемой истории для объекта регулирования. Грубо говоря, нет необходимости каждую секунду мерять температуру в теплице, достаточно, если она будет выдаваться раз в 10 минут - а график за сутки даст информацию о адекватности работы алгоритма автоматического регулирования, о наличии перерегулирования и так далее.
3. Ввести возможность задавать минимальные и максимальные значения для графика, в фиксированном виде.

11

Re: Новые элементы или модернизация существующих.

mws77 wrote:

Предложение по модернизации слайдера.
Предисловие: логика использования слайдера - ввод в контроллер значения в диапазоне ОТ и ДО. Также важным является конкретное введенное число. Существующая реализация слайдера дает значения от 0 до 100, а также не имеет обратной связи по текущему значению. Например, при помощи слайдера пользователь хочет выставлять некую настройку в диапазоне от 10 до 25 попугаев. С использованием слайдера выставить ее точным образом затруднительно, приходится создавать отдельное поле для вывода текущего значения, которое получилось задать слайдером.
Таким образом, предлагаю:
1. Ввести параметр у слайдера: максимальное и минимальное значение.
2. Слайдер в приложении должен выводить свое текущее значение рядом со слайдером, меняющееся при перетаскивании. Отправку конкретного значения на клиентское устройство сделать при событии отпускания слайдера.

Да. Согласен. Часть из этого уже запланирована (диапазон значений). Остальное изучим.

12

Re: Новые элементы или модернизация существующих.

mws77 wrote:

Предложение по модернизации элемента "График".........

Текущая реализация графика это действительно больше онлайн график.
То что вы описали - график история которого хранится на стороне контроллера - это так же запланировано. Это потребует несколько больших усилий.

13

Re: Новые элементы или модернизация существующих.

И было бы неплохо добавить в настройки конструктора графика значение времени "по умолчанию". А то приходится каждый раз тыкать в экран что бы выбрать время оси X.