JimMoen 4906da9796 test(rule-funcs): test compression funcs 3 years ago
..
etc 8aa60cc0a5 feat: generate a minimized emqx.conf 3 years ago
i18n 0b324da7cb refactor: move metrics out of /rules(/:id) to /rules/:id/metrics 3 years ago
include ca52b8eb29 fix: start connector-mqtt failed when username/password not provided 3 years ago
src 5151242583 feat(rule-engine): `zip`, `gzip`, `zip_compress` funcs in rule-sql 3 years ago
test 4906da9796 test(rule-funcs): test compression funcs 3 years ago
.gitignore 4a877a3a69 chore(apps): relocate some apps 5 years ago
README.md 1be3eb1446 chore: rename EMQX Broker to just EMQX 4 years ago
rebar.config ebe4d7c3fb refactor: stop releasing edge edition 3 years ago

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;