THE433: Home Automation with ESP8266, NodeMCU

control 433MHz (compatible with Arduino libs) sockets/devices through web and time rules
ESP8266 RF433 Interface

(esp8266 + RF 433 transmitter + Arduino IDE)
—————-

This is a sketch for controlling RF remote control sockets or relays that operate at the 433MHz frequency and are compatible with the Arduino/esp8266 RCSwitch libraries.

The main feature is that you can schedule events (up to 10) to turn ON/OFF your devices that repeat daily/weekly or that actuate once only within a week from setting the command.

A web interface is used to control the RF devices directly given a relative command at the main form and also scheduling the time events by giving at the same form a keyword to enter the scheduled events interface.

In the whole sketch these scheduled events are named Time Commands.

Time Commands (up to 10) execute your functions that fire the 433MHz sockets operating devices and can be set:

– Alarm Once
(once when the time next reaches the given hour, minute)
– Daily Alarm Repeat
(every day at the given hour, minute)
– Weekly Alarm Once
(once only on the next DayOfWeek, hour, minute)
– Weekly Alarm Repeat
(every week on the given DayOfWeek, hour, minute)

Here’s a video showing some basic usage of the web interface

Coding is really basic since my knowledge of C++ is minimal but hey.. it works!

For more detailed info read the README! :P https://github.com/nikant/THE433/blob/master/README.md
source code is at github: https://github.com/nikant/THE433

Example usage:

ESP8266 in the source is set as a WiFi station with a static IP 192.168.1.101

– navigate with your browser at this IP
– here you can enter either a command to activate a connected device (you must edit the source code) i.e. SWITCH 1 ON
or you can enter the provided keyword to enter the Time Commands interface i.e. ENTERTIMECOMMANDS
– at the Time Commands interface you can select a function you want to be executed at a specific time
– select the time to activate and submit
– you’ll have to restart your esp8266 and you’ll be informed about this
– after esp8266 restarts and reconnects you’ll find the saved Time Command at the bottom of the web interface (from there you can also delete it)

some screenshots follow: