emqx/apps/emqx_rule_engine
2022-05-25 17:02:37 +08:00
..
etc refactor(rule): rename outputs -> actions 2022-05-25 17:02:37 +08:00
i18n refactor(rule): rename outputs -> actions 2022-05-25 17:02:37 +08:00
include refactor(rule): rename outputs -> actions 2022-05-25 17:02:37 +08:00
src refactor(rule): rename outputs -> actions 2022-05-25 17:02:37 +08:00
test refactor(rule): rename outputs -> actions 2022-05-25 17:02:37 +08: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

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;