emqx/apps/emqx_rule_engine
Shawn 7bc2d9edbb fix: remove bison from the required tools when building emqx 2022-05-21 14:17:12 +08:00
..
etc feat(rule_engine): default timeout for jq/2 and jq/3 with timeout 2022-05-17 19:36:32 +02:00
i18n fix: remove bison from the required tools when building emqx 2022-05-21 14:17:12 +08:00
include style: reformat all remaining apps 2022-04-27 15:51:18 +02:00
src chore: remove unnecessary repeated code 2022-05-18 07:21:16 +02:00
test feat(rule_engine): default timeout for jq/2 and jq/3 with timeout 2022-05-17 19:36:32 +02:00
.gitignore chore(apps): relocate some apps 2021-02-19 11:24:41 +01:00
README.md chore: rename EMQX Broker to just EMQX 2022-02-19 12:51:34 +01:00
rebar.config feat(rule_engine): add jq function to the rule engine 2022-05-04 17:09:16 +02:00

README.md

emqx-rule-engine

IoT Rule Engine

Concept

iot rule "Rule Name"
  when
     match TopicFilters and Conditions
  select
    para1 = val1
    para2 = val2
  then
    take action(#{para2 => val1, #para2 => val2})

Architecture

          |-----------------|
 Pub ---->| Message Routing |----> Sub
          |-----------------|
               |     /|\
              \|/     |
          |-----------------|
          |   Rule Engine   |
          |-----------------|
               |      |
        Backends Services Bridges

SQL for Rule query statement

select id, time, temperature as t from "topic/a" where t > 50;