Обмен данными ============= - Rule Engine передает данные между блоками через сообщения JSON: Полная структура сообщения внутри системы: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - **id** - номер узла, выводящего сообщение - **in**: - **DATA{}** - объект для хранения полученных данных - **METADATA**: - **chain** - имя цепочки выполнения - **date** - дата - **from** - название узла последнего редактирования сообщения - **id** - уникальный номер узла, редактировавшего сообщение - **time** - Unix time в момент вызова - **name** - имя цепочки - **type** - тип узла выводящего сообщения **Пример структуры сообщения:** *Json* .. code:: 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| 3. Перетащите узел **HTTP Input** в рабочую область. Откройте его настройки. Поле **Address** будет содержать путь до сервера Rule Engine: |image1| 4. Перетащите узел **Debug** в рабочую область: |image2| 5. Соедините узел **HTTP Input** с узлом **Debug** перетаскиванием мыши с выхода узла **HTTP Input** на вход узла **Debug**: |image3| 6. Нажмите иконку **Сохранить цепочку** в правом верхнем углу: |image4| 7. Для проверки работы цепочки можно отправить данные командой **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| 8. Проверить получение данных можно кликнув мышкой на кнопке узла **Debug**: |image6| .. |image0| image:: ../_img/example-re-nodes.png .. |image1| image:: ../_img/input-http-settings.png .. |image2| image:: ../_img/example-nodes.png .. |image3| image:: ../_img/example-linked-nodes.png .. |image4| image:: ../_img/example-re-chain-save.png .. |image5| image:: ../_img/example-nodes-postman.png .. |image6| image:: ../_img/example-nodes-debug-display.png