emqx/apps/emqx_rule_engine
2022-02-15 16:19:26 +01:00
..
etc feat(rules): support configure rules in config file 2021-10-14 15:09:37 +08:00
include chore: update copyright 2022-01-05 20:55:00 +01:00
src chore(schema): use emqx_schema:qos() instead of union integer. 2022-02-11 10:09:59 +08:00
test feat(rule): add testcase for '/delivery_dropped' 2022-02-08 20:37:40 +08:00
.gitignore chore(apps): relocate some apps 2021-02-19 11:24:41 +01:00
README.md docs(README): EMQ X -> EMQX 2022-02-15 16:19:26 +01:00
rebar.config chore: major mode file variable for Emacs 2022-01-13 15:53:47 +08:00

emqx-rule-engine

IoT Rule Engine for EMQX Broker.

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;