Independent Smart Nodes that can act as a standalone unit or be part of a wired or wireless network of nodes. Works without a centralized Home Automation controller, hub, bridge or cloud service.
Use the same web based gui to create simple rules and easy button control on multiple platforms.
SmartNodeRules has been inspired by the Rule engine of the ESP Easy project on LetsControlIt.com that uses simple rules to control stuff locally or through the network and offers peer-to-peer networking based on a UDP network protocol. Everything is based on local or networked events that trigger actions.
- Platform independent low footprint communication and control
- Simple UDP broadcast Message Bus using plain text messages without a central message broker for sensor data and events
- Nodes can publish, catch and process messages using a simple rule engine that acts on incoming events
- Target specific messages can be auto-confirmed by peer nodes for mission critical messages
- All nodes offer basic webgui controls to control local stuff or trigger local or network events
- Nodes optionaly maintain a simple webgui to show a complete node list for easy navigation between nodes
- Code should be compact, based on KISS and YAGNI to leave space for you own creative work
There's no complex network packet structure. Just plain text messages using topics like MQTT does:
Everything should be considered as an event. Events can update webgui's to show things like temperature but events can also trigger actions on remote nodes that have a rule set on this particular event.
The syntax is up to you as user, but there are a few reserved topics:
Each implementation consist of a few required building blocks:
- Rules Engine with command interpreter
- Tiny webserver
- MessageBus for exchanging events
List of available source code prototypes:
- ESP Core edition for ESP8266 and ESP32
- ESPEasy plugin
- Arduino Mega 2560 with W5100 shield
- Arduino Nano with ENC26J80 shield
- Windows C# edition