@kanyck, добрый вечер.
Так понимаю, система в devuan у вас установилась. При штатной установке система сразу стартует как служба, но у вас этого не произошло, так как в devuan нет system-d ( менеджер служб, используемый в большинстве современных дистрибутивов Linux).
Итак, вы запустили систему не как службу, а как приложение в консоли.
Система запустилась, админка у вас доступна, вы нажимаете кнопку "Перезагрузить" в админке. При этом система останавливается (а не вылетает) - это штатное поведение intraHouse, перезапущена она должна быть менеджером служб. Сообщение об ошибке плагина - это не причина, а следствие остановки системы, плагин p2p просто не успел завершить работу.
Вы можете настроить менеджер служб, доступный в вашей ОС или по старинке создать демон для запуска службы при ее остановке.
Есть более простой способ - установить intraHouse на любой Linux, на котором система протестирована: Debian, Ubuntu, RedHat, CentOS, Alt Linux, ...
И кстати ключ лицензионный для intraHouse не нужен
intrapro
@intrapro
Недавние сообщения intrapro
-
RE: Ошибка при перезагрузке 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 => { // ... }); });Спасибо за вопрос, внесем изменения в документацию.