Zaiming (Stone) Shi 9f7b513a3f chore: fix copyright update script to include more files %!s(int64=4) %!d(string=hai) anos
..
etc b063b6f253 feat(rules): support configure rules in config file %!s(int64=4) %!d(string=hai) anos
include 63167cea70 chore: update copyright %!s(int64=4) %!d(string=hai) anos
src 63167cea70 chore: update copyright %!s(int64=4) %!d(string=hai) anos
test 63167cea70 chore: update copyright %!s(int64=4) %!d(string=hai) anos
.gitignore 4a877a3a69 chore(apps): relocate some apps %!s(int64=5) %!d(string=hai) anos
README.md 9f7b513a3f chore: fix copyright update script to include more files %!s(int64=4) %!d(string=hai) anos
rebar.config 34d6dbca61 chore(mix): simplify build by using rebar3 for umbrella apps %!s(int64=4) %!d(string=hai) anos

README.md

emqx-rule-engine

IoT Rule Engine for EMQ X 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;