Вторая версия движка правил


#1

Из описания модулей второй версии дижка:

Модули

Начиная с версии 2.0, в движке правил wb-rules появилась поддержка подключаемых JS-модулей (похожая по поведению на аналогичную в Node.js, но с некоторыми особенностями).
Расположение

Поиск модулей происходит по следующим путям (в заданном порядке):

/etc/wb-rules-modules
/usr/share/wb-rules-modules

Таким образом, пользовательские модули удобно складывать в /etc/wb-rules-modules.

Добавить свои пути можно редактированием /etc/default/wb-rules добавлением путей к переменной WB_RULES_MODULES через разделитель (:):

таких файлов нет, их надо создать? с какими правами?

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


Информационная поддержка продукта
#2

Добрый день!

У вас НЕ вторая версия движка правил.

P.S. Повторно вас прошу не писать сообщения в первую попавшуюся не связанную с вашим вопросом тему, иначе придётся эти сообщения удалять.


#3

Это не первая попавшаяся тема, я ее создал для описания косяков информационной поддержки. Читаю документацию и пишу туда, что не совпадает. Зря вы перенесли мое сообщение.

действительно не вторая. Я думал в WB6 идет уже сразу вторая.
А как перейти?


#4

Смотрите, у нас на форуме не принято разводить длинные темы, потому что в них потом очень трудно ориентироваться техподдержке. В моём понимании, в тему про проблемы с документацией стоит писать про проблемы с документацией, но не стоит там же задавать вопросы, на которые в документации нет ответа - тема слишком разрастётся. То, что тему создали вы, здесь не важно.

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


#5

жаль, там были нужные няшки, делающие систему более взрослой. :frowning:

блин, больше года назад объявили тестирование релиза, и он так и не вышел.


#6

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


#7

А что вы там такого делаете, что на первой версии не получится сделать? Если не секрет.


#8

как сказал мой друг, если бы в SQL языке был только оператор SELECT, ты бы и на нем написал систему учета на малом производстве.
Сделать можно все, вопрос какими средствами. Модули очень хороши как статические библиотеки с сквозными для всей системы данными. Глобальное хранилище выглядит более логичным для хранения общих данных и инициализированных параметров.
В частности я хочу реализовать довольно сложную логику отопления. При использовании модулей, я бы сделал ядро управления котлом на них, а вызываемыми по разным событиям правилами я бы корректировал глобальные переменные, которые бы уже в свою очередь получало ядро и в зависимости от этого включался и выключался котел. Так-как включение и выключение котла бы было в одной точке, то это во первых исключило бы появление мелких тактов (котел не умеет регулировать мощность), упростило бы диагностику внештатных ситуаций (включение есть, а нагрева нет) и прочее.
Возможно это реализуемо и на первой версии, но дело в том, что я больше вникал во вторую ,так-как считал, что она уже рабочая.
Сейчас придется мальца переосмыслить алгоритм. По сути вместо глобальных модульных функций придется использовать виртуальные устройства. Что меня мальца раздражает, так-как люблю использовать инструмент по назначению и не что под руку попалось, тем и будем забивать гвозди.


#9

Мне кажется, я в своей версии уже все что можно навернул. По крайней мере, я еще не придумал, что туда еще можно добавить :slight_smile:


#10

о, спасибо за хороший пример кода.

с первого взгляда вижу управление насосами, но не вижу анализа результата для изменения параметров теплоносителя.
Я хочу реализовать систему которая будет анализировать реакцию датчиков на включение выключение котла и по результату изменять верхнюю границу теплоносителя и время между выкл-вкл. Вернее скорее не время, а отслеживая функцию сближения графика температуры подачи и обратки (а это как раз примерно дает возможность понять сколько тепла рассеилось) соответственно принимать решение до какой уровня может опускаться температура носителя.
ну и так далее и т.п. :slight_smile:
Еще не вижу у вас обработки ошибок, к примеру котеле включен, а носитель не греется. А в вашем случае еще и надо как то отслеживать работу насосов.
У меня один нассос на весь дом, не стал заморачиваться контурами. Когда делал все возложил на термоголовки, о контроллере и не думал. Сейчас переделывать не буду. Мне важнее обработка ошибок, родители престарелые, могут не понять что к чему.

Кстати, а чем давление меряете? что-то не могу найти адекватных для частного использования датчиков.


#11

Есть защита при падении давления, защита от включения котла без насоса. Еще защита от перегрева теплоносителя есть в самом котле. Больше мне пока не надо.

Давление меряю вот таким датчиком:
https://www.aliexpress.com/item/Hot-Sales-0-0-5-Mpa-0-72-5-PSI-Water-Gas-Pressure-Sensor-DC-5V/32631476061.html?spm=a2g0s.9042311.0.0.27424c4du0tVSt

Но он мне не нравится, показания уже 1 раз уехали, перекалибровывать пришлось. Ищу что-то понадежнее сейчас.


#12

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

Не покупаю у китайцев датчиков для жизненно важных систем. У Овена есть подобный, стоит около 3000. Думаю на нем остановиться.