Разработка wb-rules

Добрый день, прошу проконсультировать по следующим вопросам:

  1. Возможно ли осуществлять разработку в visual studio code с активной функцией codecompltion?
  2. Имеется перечень оборудования, которое нужно запускать по цепочке: транспортеры, задвижки, клапана и т.д. Возможно ли из стороннего приложения, например клиент MQTT, передать на контроллер последовательность команд (маршрут)? В идеале я бы хотел реализовать механизм динамических маршрутов.
  3. Какой подход более предпочтительный при разработке однотипных правил: как у вас в примере или создать одно правило с switch case ?
  1. Писать код вы можете где угодно, хоть в “блокноте”. Я лично открываю желаемый файл через SFTP клиент, и открываю его через VS code.
  2. Можно реализовать такое поведение. Если создадите “Виртуальные устройтсва” запускающие определенные процессы
  3. Тут все зависит от алгоритма, вообще если алгоритм абсолютно один, и меняются лишь некоторые переменные, проще обернуть в функции.
1 лайк

а если надо, чтобы пользователь определял поведение системы?

Обсуждение весьма абстрактное конечно. Но с любым виртуальным устройством пользователь может взаимодействовать

1 лайк

Да, так тоже можно.
Например можно передать список как json, через mqtt. Весь контроллер так работает, основной механизм связи компонентов - это mqtt RPC.
Единственное неудобство - что длина одного сообщения не может быть более 2 мегабайт. То есть если описание элемента 100 (например) байт - то более 10000 элементов одним запросом не передать. Но можно их разбивать на несколько.
Типичный пример использования: MQTT топик не работает - #7 от пользователя BrainRoot

А если мне надо, чтобы введенные пользователем маршруты сохранились в контроллере для будущего использования?

Предлагаю сформклировать что такое “маршрут”?

имеется несколько различных устройств:

  1. несколько транспортеров, последовательно установленных друг за другом
  2. переключающие клапана, которые регулируют подачу продукции между транспортерами
  3. задвижки, которые открываются у определенных емкостей
    То есть, надо мне принять зерно из машины в бункер номер № 3 - должны запуститься: транспортер № 1 и № 4, открыться задвижка № 3, переключиться клапан № 5. Это будет например маршрут № 1.

Типично, все ж, это описывается именно разными программами.
Насколько я понмаю - вы хотите задавать программу динамически? Вижу этот путь довольно (излишне!) сложным в отладке, так как технологическое оборудование все ж не может динамически меняться.
Но, как ввариант - да, вполне допустимо, передаватьпараметры в виде:

  • источник
  • количество (опционально, если измерение количества в точке назначения - то за вычетом расчетной емкости транспортера)
  • маршрут (направление)

А если генерировать сами rules.js ?

Да, возможно, конечно.
Один из интеграторов так и делает.
После создания/изменения файла он сразу же выполняется как описано в GitHub - wirenboard/wb-rules at fc4ec8fa641a1744305e5130dfcefde8c7604ae9

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.