This package provides a rule engine for node-RED. It uses nools, a rete-based rule engine. You can create custom flows with multiple rules, the flow is bind to one or more assert nodes to insert new facts into the flow. Each fact is of type Message
and identified by the msg.topic
of the incoming node-RED message. If a message already exists with the same topic it will be updated. New messages will be asserted. If all conditions of a rule are evaluated the rule will be fired. The fire node outputs the rule name into your node-RED flow. The message object provides different functions and properties. There is also a Clock
class which is available.
You can use the publish({topic: "sometopic", payload: "somepayload"})
to publish messages via the fire node. The topic property of the node operates as a filter.
The current payload
The topic and identifier of the message object
true
if the msg.payload
changed
timestamp of the change
timestamp of the previous change
Returns true
if the msg.payload
changed from from
to to
Returns true
if the msg.payload
changed to to
from any
Returns true
if the msg.payload
changed from from
to any
Just install this plugin in your Node-RED folder by using npm:
npm install node-red-contrib-nools
Or if you have installed Node-RED globally use:
npm install -g node-red-contrib-nools
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
Jochen Scheib
Inspired by Robert Hekkers: http://blog.hekkers.net/2014/06/30/making-a-scene/
MIT