A major release mostly dedicated to code restructuring and usability updates.
Features:
- #32: a better web interface, now also showing current bulb status with an icon and buttons for on/off. It should now also render correctly on mobile devices. Note that the direct flip URL has changed from
/flip
to/?flip
; new actions/?on
,/?off
are now possible; - #7: support for timer actions
/timers
(on/off/toggle) based on absolute time ("fire at 6pm"), time intervals ("fire every hour") or solar events ("fire at sunset + 10 min"). This feature requires definition of user time zone and location. A working Internet connection is required to synchronize time. A new dependency, Dusk2Dawn is required to calculate solar events; - #15: bulb actions are now logged, and an online log browser
/log
is available; - #19: ports to NodeMCU and ESP-01S boards (a port means the program will work out of the box by choosing the right settings in Arduino IDE);
- #32: all bulb manipulations (button, web, timers) now use LED in the same way to signal the action;
- #30: the way to enter Wi-Fi configuration has changed from holding the button on boot to holding it 5 sec anytime during the operation. Connection to a temporary Wi-Fi network now requires a password (see README for more info);
- #30: a new
/about
web page showing various information about controller; - #4: Yeelight interface is split into dedicated files
YeelightDS.h
/.cpp
, ready to be used as a library in other programs; - #18, #22: button and LED handling are now offloaded to dedicated external libraries (AceButton, JLed), which do it better;
- new sections in README covering screenshots, examples of scripting, a schematic for ESP-01S board, an example of standalone library use.
Internal features:
- most of the code rewritten from good old C to C++, and now also adheres closer to Arduino coding practices;
- #7, #23, #24, #30, #32, #18, #22: porting to ESP-DS-System library, which brings many new features. The library is included with the sketch in the
/src
folder; - #25: one more iteration on a better use of PROGMEM;
- avoid defining the multicast address twice (needs some pre-processor mastery);
- porting to ESP8266 Core v3.
Bug fixes:
- #10: discovery process not properly shown in Firefox.