@ChirkOFF, извините за задержку с ответом. Проверили, действительно, в системный плагин reportmaker была внесена ошибка. В ближайшей версии (v5.19.9) пофиксим, версия выйдет на следующей неделе.
intrapro
@intrapro
Недавние сообщения intrapro
-
RE: Общие вопросы
-
RE: Изменение атрибутов сохранения в БД для устройства из скрипта/сценария
@grinsva, добрый день!
Вышла версия 5.19.6, в нее добавили метод устройства device.updateDbrule для изменения правил сохранения свойств. Описание и примеры в документации -
RE: Как переносить элементы между проектами?
Для выгрузки большинства сущностей (шаблона визуализации, диалога, контейнера, типа устройства, изображений,... но не экрана!) есть операции Экспорт/Импорт, они описаны в документации.
Вот, например, Экспорт/Импорт диалога
Каждая сущность выгружается отдельно, ей присваивается новый ID типа user@dixxxx.
Если при попытке экспорта выдается сообщение о невозможности экспорта импортированного компонента, просто скопируйте экспортированный элемент, ему будет присвоен новый стандартный id внутри проекта и проблемы не будет.Второй вариант - можно создать пакет для выгрузки в разделе Ресурсы - Пакеты для выгрузки.
Загружается пакет аналогично, кнопкой Импорт в верхнем правом меню. Здесь уже будут выгружены/загружены все выбранные элементы во взаимосвязи, но это более сложное действие, которое может перезаписать сушествующие элементы, перед выполнением импорта желательно сделать копию текущего проектаСамый же простой вариант - скопировать/вставить демо проект целиком в дереве Проекты и в копии убрать все лишнее.
Из практики, при создании первого проекта большинство идет по этому пути
-
RE: Ошибка при перезагрузке intraHouse
@kanyck, добрый вечер.
Так понимаю, система в devuan у вас установилась. При штатной установке система сразу стартует как служба, но у вас этого не произошло, так как в devuan нет system-d ( менеджер служб, используемый в большинстве современных дистрибутивов Linux).
Итак, вы запустили систему не как службу, а как приложение в консоли.
Система запустилась, админка у вас доступна, вы нажимаете кнопку "Перезагрузить" в админке. При этом система останавливается (а не вылетает) - это штатное поведение intraHouse, перезапущена она должна быть менеджером служб. Сообщение об ошибке плагина - это не причина, а следствие остановки системы, плагин p2p просто не успел завершить работу.
Вы можете настроить менеджер служб, доступный в вашей ОС или по старинке создать демон для запуска службы при ее остановке.
Есть более простой способ - установить intraHouse на любой Linux, на котором система протестирована: Debian, Ubuntu, RedHat, CentOS, Alt Linux, ...
И кстати ключ лицензионный для intraHouse не нужен -
RE: JS Плагин: onSub для devices - обработчик не вызывается
@tallerhorizon, с точки зрения обмена данными, плагины IntraSCADA делятся на:
- передающие данные в систему, используют механизм каналов
- отправляющие данные во внешние системы, используют механизм Расширений
Плагины второго типа, которые выполняют подобную задачу (для различных протоколов на принимающей стороне) - modbusserver, mqttserver, opcuaserver.
Как вы планировали определять подмножество датчиков, показания которых нужно передавать?В частности, opcuaserver позволяет создавать и редактировать фильтры на вкладке Расширения.
При изменении состава фильтров и/или включении/исключении устройств в фильтр, подмножество обновляется автоматически.
Вы можете посмотреть, как сделан плагин opcuaserver, как написал @maksimvershinin
В документации на текущий момент не описана структура таких плагинов. Планируем дополнить документацию в ближайшее время. -
RE: JS Плагин: onSub для devices - обработчик не вызывается
Добрый день, @tallerhorizon
Вы правы, действительно, вариант без фильтра устарел и сейчас не работает.
Был убран по причине очень большого потока данных на плагин, поскольку постоянно отправляются свойства всех устройств, включая все системные индикаторы, и это обычно не то, что требуется.Если вам действительно нужны в плагине все значения, можно использовать механизм Расширений (флаг "extratab":1 в манифесте). Так работает например плагин opcuaserver.
Для Расширений также нужно задать фильтры (device | tag | location), но если по location (папка в дереве устройств) выбрать Все, будут приходить абсолютно все изменения всех устройств.Подписка должна быть с флагом extra:
plugin.onSub('devices', { extra: 1 }, data => { plugin.log('onSub data: ' + util.inspect(data,null, 4)) data.forEach(item => { // ... }); });Спасибо за вопрос, внесем изменения в документацию.