Make your own - Harmony hub like - hub with esp8266. Smart home controller firmware for ESP8266 for controlling smart sockets, switch, tvs, radios, projectors, lights, and others. It works with Node-RED, Openhab, or anything you configure it for.
- Control devices via 433Mhz module
- Control devices via IR
- Send motion info
- Send button press
- Auto switch to access point mode, when not connected to wifi
- (OTA update)*
- (Measure temperature)*
- (Receive 433Mhz data)*
- (Generate own firmware from GUI)*
*In progress
- Installed support for boards with esp - Tutorial
- PubSubClient library - Link
- RCSwitch library- In source
- Wifi Manager library - Link
- Install libraries (Put them in libraries folder in Arduino sketches)
- Clone repo or download .zip
- (Optional) Get the IR and 433Mhz codes.
- Connect all things you want to use to the board.
- Change code for what you want to use - change pins for your connection, and change parameters like mqtt brokers address and port, or mqtt messages. You can change anything you want.
- Upload code from Arduino IDE.
- Enjoy :-)
- Connect 433Mhz receive module to Arduino, NodeMCU, or something like that to GPIO 2. (Or change the pin in sketch)
- Upload the code for catching codes. (receivers/RF_receive.ino)
- Open serial monitor.
- Take the original remote of the sockets, or what you want to control
- Use the function you want to record.
- In the serial monitor will show the codes.
- Write somewhere the name of function, binary code, pulse length and protocol.
- In Smart_Home_Controller.ino file in callback function set this
mySwitch.send("10011000111000110000111111110100");
(change the binaries to yours), on the message you want to. - Repeat this for every function you want to record.
- Connect IR receiver to Arduino, NodeMCU, or something like that to GPIO 2. Or change the pin in sketch
- Upload the code. Upload the code for catching codes. (receivers/IR_receive.ino)
- Open serial monitor.
- Take the remote of device you want to control.
- Use the function you want to record.
- In the serial monitor will show the codes.
- There are two methods:
1. Easy way using Python
- Copy all of these codes.
- Save it to file named ir.txt in the folder where is Ir_codes_writer.py.
- Run the Python script. (You must have installed python on your PC)
- Open generated done.txt file
- Copy all content
- In the file ir_commands.h create function called whatever you want.
- In the function body paste the generated content.
- In Smart_Home_Controller.ino file in callback function set this function on the message you want to.
2. Hard way using manual copy&paste
- In the file ir_commands.h create function called whatever you want.
- In the function body write this function
delayMicroseconds(40152);
!Change the number to your number from left column! - In the function body write this function
pulseIR(3060);
!Change the number to your number from right column! - Repeat this for every row
- In Smart_Home_Controller.ino file in callback function set this function on the message you want to.