change
драйвера drv_virt.Добавлена возможность скачивания полной или частичной резервной копии системы (Инструкция).
У вложенных мнемосхем добавлено поле name
(мнемосхема под заданным именем будет отображается в дереве элементов в редакторе)
В меню мнемосхем добавлена возможность вызова функции JS-скрипта мнемосхемы.
В меню мнемосхем добавлена возможность открытия ссылки в модальном окне.
В свойствах экрана добавлена опция для показа/скрытия заголовка окна.
У контролов добавлена возможность по клику открыть виджет в модальном окне.
У контролов добавлена возможность по клику открыть модальное окно ввода значения (ввод с подтверждением).
Для виртуальных переменных добавлен режим "Переменная Старт-Стоп", позволяющий управлять узлами с разными переменными на запуск и остановку через одну переменную. Виртуальная переменная, работающая в данном режим и управляющая переменными Старт и Стоп узла, может использоваться, например, в расписаниях.
В прототипах добавлена возможность подстановки в свойство переменных "Активная" параметров узла. Это позволяет использовать один прототип для нескольких узлов, где набор переменных может незначительно отличаться. Теперь лишние переменные для отдельных узлов могут быть отключены, необходимость дублировать прототипы из-за незначительных изменений отпадает.
В редакторе мнемосхем в дереве контролов добавлена поддержка выделения/снятия выделения с клавишами Ctrl и Shift (до этого работало только выделение с Ctrl).
Добавлен сервис chnl_telegram, который в данный момент позволяет отправлять сообщения в Telegram из скриптов (в ближайших версиях будет работать с отправкой уведомлений).
Изменен формат работы с произвольными HTML-файлами в свойствах экрана
В настройках сервера добавлен параметр proxy_services_file, позволяющий подключить JSON-файл с настройками проксирования запросов на сторонние сервисы.
В HTTP-API и CLI-API добавлена возможность передачи объектов через параметры URL, если предварить имя параметра символом @
Добавлена API-функция var_get
У сервера в настройках добавлен параметр "watch_all" - сервер будет подписываться к ядру на все переменные, независимо от того, подписан ли кто-то к серверу на эти переменные. Данная опция позволяет получать актуальные значения любой переменной API-функцией var_get. Иначе, значения переменных будут обновляться только если на них кто-то пописан (например, открыта мнемосхема, отображающая значение требуемой переменной).
У переменных добавлено свойство "Принудительная подписка" - сервер будет подписываться к ядру на данную переменную, независимо от того, подписан ли кто-то к серверу на эту переменную (см. пункт выше).
В объекте pult
, доступном из произвольного HTML и скриптов мнемосхемы, добавлена функция pult.showWidget
- показ виджета в модальном окне.
В OpenSSL включена поддержка SNI (без SNI не выполнялось подключение к некоторым сторонним серверам)
В настройках сервера добавлен параметр login_backoff_interval, определяющий минимальный интервал (в секундах) между попытками авторизации. При более частых попытках авторизации пользователь получит ошибку SERVER_ERROR_TRY_LATER.
Исправлена ошибка, скрывавшая поля в настройках сервисов, которые по умолчанию закомментированы
Исправлено поведение оператора !(not) - теперь он возвращает 0 и 1 вместо false и true.
Исправлена ошибка, приводившая к вылету сервера при api-запросе через CLI
К полям ввода применен атрибут autocomplete="off" для предотвращения подстановок браузером сохраненных значений
Исправлена ошибка с загрузкой пользовательских JS-скриптов из ресурсов мнемосхемы
Исправлена ошибка, при которой показ фейсплейта выполнялся только после обновления страницы.
Исправлена ошибка в окне расписаний, приводившая к некорректному порядку отображения управляемых узлов/переменных
Исправлена ошибка, в результате которой масштабирование мнемосхемы могло выполняться некорректно, если на ней были элементы, выступающие за границы заданных в параметрах фиксированной ширины или высоты
Убраны отступы 10px справа и снизу, добавлявшийся при масштабировании мнемосхемы
Исправлена ошибка с вылетом сервера при попытке сброса администратора
Исправлена ошибка, приводившая к нарушению отображения объектов файловой БД при наличии невалидных JSON-файлов.
В дистрибутив сервера добавлен сервис MQTT-карта (mqtt_map) - MQTT-брокер, публикующий значения переменных сервера. MQTT-карта может использоваться в качестве обычного MQTT-брокера, т.к. допускается публикация произвольных топиков. Для публикации переменных в MQTT-карту (порт 1883) включите опцию "MQTT-карта сервера" в свойствах переменных в прототипе.
Добавлена возможность высокопроизводительной трансляции переменных в json-файл и/или в бинарный файл. При включении данной опции в настройках сервера (раздел "Экспорт переменных"), значения переменных будут транслироваться в выбранные файлы в режиме произвольного доступа, что позволяет транслировать изменения переменных со скоростью до десятков тысяч сигналов в секунду.
В папку установки добавлен скрипт backup для полного резервного копирования сервера на другой хост. Для работы требуется наличие в ОС установленных утилит rsync и sshpass. Инструкция.
У контрола "Изображение SVG" в свойстве "params" добавлена поддержка CSS-селекторов, что позволяет задавать параметры элементов SVG, обращаясь к ним не только по ID, но и по тегу или классу. Например, раскраску иконок теперь можно выполнить одной строкой, даже при отсутствии ID у элементов: (path).fill=red
Добавлен контрол "Строковое поле" для ввода строковых значений в поле payload виртуальных переменных. В поле value контрола указывается редактируемое свойство в payload, например: $node1.vars.var1.payload.sometext
В Modbus-драйверах в секции "Узел" добавлена опция "Пропуск при таймауте", позволяющая пропустить опрос всех переменных узла на один цикл при таймауте любого запроса на чтение. Данная опция позволяет значительно снизить время полного обхода узлов на линии при наличии сбойных узлов - если сбойный узел не отвечает, то на его обход потребуется всего один запрос продолжительностью в один таймаут, вместо полной серии таких запросов для каждой группы регистров.
В Modbus-драйверах включено нарастание таймаута подключения к узлу, при неудачных попытках, с максимумом в 10 секунд и сбросом на исходный таймаут при подключении.
В Modbus-TCP и Modbus-RTU-Over-TCP драйверах изменено поведение при получении некорректного ответа (несоответствующий SlaveID, неверное количество байт и т.п.). Теперь при некорректном ответе будет выполняться переподключение к узлу.
В drv_opcua исправлена проблема с записью переменных типа BOOL
В drv_opcua исправлена проблема с чтением переменных типа DATETIME
Включено мигание для индикации всех неквитированных тревог
Мигание индикаторов тревог глобально синхронизировано по времени сервера. Мигание теперь выполняется синхронно во всех открытых интерфейсах.
Добавлена настройка приоритета активности/неквитированности для сводных тревог
Добавлены функции alarm_max_act(A1,A2,...,An) и alarm_max_unack(A1,A2,...,An) для получения максимального значения из списка значений тревожных переменных с приоритетом активности (alarm_max_act) и приоритетом неквитированности (alarm_max_unack)
В настройках сервера добавлен раздел "Звук", где можно выбрать и протестировать звук тревог и уведомлений
В интерфейсе функция "Сбросить звук до следующей тревоги" вынесена на отдельную кнопку
Добавлена настройка поведения левого меню при выделении - раскрывать/не раскрывать раздел (expand_menu_by_select в настройках сервера)
Добавлены настройки в разделе "Брендирование" для подключения произвольных html, js и css файлов
В редакторе мнемосхем добавлена кнопка "Ресурсы" - создает (если отсутствует) и открывает папку ресурсов.
Иконка мнемосхемы теперь применяется ко всем экранам на основе данной мнемосхемы, если у экранов иконка не указана
У контролов "Изображение" и "Изображение SVG" в поле "src" подключен справочник изображений для быстрого выбора
В окне просмотра логов добавлена возможность произвольного выделения и копирования текста
В окне просмотра логов добавлена возможность автоматической постановки потока записей на паузу при нахождении искомой записи
Автоматизировано создание и удаление demo-пользователя при включении режима demo в настройках сервера
В сервисе supervisor добавлены настройки cron_script_file и cron_script_time, позволяющие периодически запускать произвольный скрипт в указанное в формате Cron время.
В сервисе core изменено поведение при обработке повторных запросов на запись: теперь при поступлении нового запроса на запись, если попытки записи по предыдущему запросу не завершены, а устанавливаемое значение переменной аналогично значению в предыдущем запросе, новый запрос будет проигнорирован.
В json-парсере исправлена ошибка, позволявшая считать валидным примитив в качестве ключа объекта.
Добавлена контекстная справка для следующих свойств контролов: css, style, class.
Добавлено описание поля alarm в контролах
Исправлено зависание браузера при использовании кнопки "Переместить вниз" в комбинации с Ctrl в редакторе мнемосхем.
Исправлена ошибка, возникавшая при быстром переключении между вкладками объекта в редакторе.
Исправлена ошибка с сохранением расписаний
Исправлена ошибка с отображением иконки включения/отключения звука
Исправлено отображение исходных данных в отчетах
Исправлена сортировка пользователей в Система/Пользователи
Исправлена проблема с анонимным пользователем
Исправлена проблема с очисткой старых записей журнала (удалялись произвольные записи вместо самых старых)
Исправлена ошибка, возникавшая при попытке перезагрузки сервиса в Система/Логи
Исправлена проблема с перекрывающим интерфейс экраном загрузки при открытии фейсплейта
Исправлена проблема с закрывающимся модальным окном при выделении
Исправлен порядок сортировки иконок в раскрывающемся списке, чтобы загруженные иконки были в верху списка (сначала идут иконки из %resources% и %files%, затем из %images%)
В контроле "Стрелочный индикатор КМ" исправлена ошибка, скрывавшая поле value.
unack*8 + act*4 + cls_hi*2 + cls_lo*1
ВНИМАНИЕ! Выполнен полный рефакторинг сервера. Формат хранения проектов изменен. Для конвертации проектов сервера версий v3000 - v3059 необходимо воспользоваться nodejs-скриптом convert30to31.js.
Стартовая комплектация:
Активно дорабатывается: