Обмен данными

  • Rule Engine передает данные между блоками через сообщения JSON:

Полная структура сообщения внутри системы:

  • id - номер узла, выводящего сообщение

  • in:

    • DATA{} - объект для хранения полученных данных

    • METADATA:

      • chain - имя цепочки выполнения

      • date - дата

      • from - название узла последнего редактирования сообщения

      • id - уникальный номер узла, редактировавшего сообщение

      • time - Unix time в момент вызова

  • name - имя цепочки

  • type - тип узла выводящего сообщения

Пример структуры сообщения:

Json

{
  "id":1,
  "in":
    {"DATA":{some_values},
    "METADATA":
      {"chain":"my_chain",
      "date":"01.01.2029",
      "from":"BACnet RP",
      "id":0,
      "time":1724832914414}
    },
  "name":"my_chain",
  "type":"debug"
}

Пример получения данных и их отладочного просмотра

В данном простом примере будет рассмотрен процесс передачи данных в Rule Engine при помощи REST API POST запроса и просмотр полученных данных в узле отладки.

  1. Откройте страницу Rule Engine.

  2. Нажмите Создать цепочку:

image0

  1. Перетащите узел HTTP Input в рабочую область. Откройте его настройки. Поле Address будет содержать путь до сервера Rule Engine:

image1

  1. Перетащите узел Debug в рабочую область:

image2

  1. Соедините узел HTTP Input с узлом Debug перетаскиванием мыши с выхода узла HTTP Input на вход узла Debug:

image3

  1. Нажмите иконку Сохранить цепочку в правом верхнем углу:

image4

  1. Для проверки работы цепочки можно отправить данные командой curl:

    curl -k -H “Content-Type: application/json” -X POST -d ‘{“data”:{“temp”:23,“door”:“open”}, “chain”:“123”}’ http://127.0.0.1:5555/api/pushdata

или при помощи утилиты Postman:

image5

  1. Проверить получение данных можно кликнув мышкой на кнопке узла Debug:

image6