- Fixed some environments to be compiled as release (DEBUG=0), which reduces the code size by 10-15%
- Fixed FastLED and NeoPixelEx issue with Framework Arduino ESP8266 3.0.1-dev
- Added analog clock screen to the weather station
- Fixed invalid TZ env variable name
- Fixed dependencies and removed
lib-extra/
- Gallery picture display (jpeg) with overlay for the weather station
- Fixes of the KFC OTA tool
- Option to enable KFC OTA and/or ArduinoOTA
- Added the previous and next 3 moon phases to station plugin
- Fixed issues with websocket-clients and the OTA tool
- Username is pre-filled at the WebUI login
- World Clock screen for weather station
- Changed syslog default protocol to UDP
- Updates for KFCWebBuilder (requires PHP 7.4.28)
- Updated weather station plugin for Arduino Core 3.x
- Fixed memory leak in GFXCanvas
- New auto discovery script
./scripts/tools/kfcfw_discovery.py
- Fixed issues with Home Assistant's name/friendly_name for templates
- Option to reset factory settings and format file system, if the device keeps crashing and cannot be accessed anymore
- Fixed issue with corrupting the configuration during saving changes
- Fixed memory leak with syslog (TCP only) with no WiFi connection
- Support for Home Assistant object id
- Global DNS servers shared across all WiFi networks
- Support for up to 8 WiFi networks (5 = default)
- Auto installation of custom framework-arduinoespressif for ESP8266 and ESP32
- ESP32: Syslog and SSDP
- ESP32: Zeroconf and MDNS discovery
- ESP32: FreeRTOS semaphores
- ESP32: NVS storage for configuration
- ESP32: OSTimer implementation based in esp_timer
- framework-arduinoespressif8266 3.2.0
- ESP32: Arduino-ESP32 2.0.0-rc1 integration
- Merged Atomic Sun plugin into Dimmer plugin (work in progress)
- Linear brightness levels with cubic interpolation for the dimmer plugin
- Support for trailing edge dimmer v2.2.2 https://github.com/sascha432/trailing_edge_dimmer
- Friendly MQTT names
- Fixed MDNS for Arduino Core 3.x
- Better response for dimmer buttons and fix for disabled "long press"
- Added gradient animation
- Fixed timing issues with the integrated STK500v1 programmer
- Merged Arduino Core 3.1.0-dev
- Added CPPDEFINES dependency to KFCWebBuilder to detect any changes
- Moved KFCIOExpander to separate git repo
- Support for MCP23017 I2C I/O-Expander
- Support for multiple I/O-Expander of the same type
- Inline forms for WebUI
- Sort order for sensors
- Support for BH1750FVI Ambient Light Sensor
- Removed persistant WiFi settings and improved stability
- WebServer logging to Serial
- Removed WebAlerts
- Support for GDBStub
- framework-arduinoespressif8266 3.1.0 / Arduino Core 3.0.1-dev
- Cleanup of the Visual Studio mock libary for 3.0.0
- arduinoespressif8266 patch files have been removed and moved to https://github.com/sascha432/Arduino/tree/master
- Removed internal memory debugger
- New version for framework-arduinoespressif8266 3.30000.210519 (3.0.0) and GCC 10.2 changes
- Improved NTP plugin
- Support for interal or external RTC
- Changes for GCC 10.2
- Added framework-arduinoespressif8266 3.30000.210519 (3.0.0)
- Fixed play tone for blinds plugin
- OTA update tool restarts device in safe mode before running any updates
- User customizable options for factory reset over the WebUI
- Human readable uptime for MQTT system metrics
- Fan control and light sensor for LED matrix
- Support for TinyPwm I2C I/O-Expander https://github.com/sascha432/TinyPwm
- Support for PCF8574 I2C I/O-Expander
- Support for https://github.com/NimmLor/IoT-Audio-Visualization-Center
- Replaced RGB Silder with Bootstrap Color Picker Sliders
- Fixed missing information for SSDP
- Switched to LittleFS
- Replaced the JSON library with a more stable version that consumes less memory
- Switch plugin fixes and improvements
- Customized WString class
- Key Combo for safe mode and reset factory settings during boot
- SaveCrash WebUI to download crash logs. MD5 checksum of the firmware is included
- Replace read only files from WebUI by placing files in
/.wor/*
- 64/256KB flash storage that survives firmware and file system upgrades
- Class to write to flash storage with copy on write/basic wear leveling
- Replaced EspSaveCrash with own implementation that writes to flash storage directly without allocating any memory and supports multiple sectors
- Max. deep sleep time increased to up to 31 days
- Support for ArduinoOTA
- Web server does not require re-registering web handlers and web sockets on reconfigure anymore
- Added min. and max. range limits to reduce the dimmable range (Dimmer Plugin)
- Registered MQTT components are stored separately and do not require re-registering
- Class to send Serial output over UDP
- Colored sub ranges for rangeslider.js
- JSON schema support for MQTT light
- Upgrade to arduinoespressif8266 3.20704.0 including patch files for the platform
- Fully asynchronous MQTT auto discovery with incremental or full updates
- MQTT callbacks for QoS
- Battery level indicator in % with charging detection
- MQTT device triggers for remote control
- Support for rotary encoders with pushbutton and capacitive touch sensor
- Limit maximum power of the LEDs
- Option to save and restore brightness/other settings after reboot (Clock/LED Matrix plugin)
- Fixed crash during login with login security disabled
- Configureable login security
- Added fire animation
- Reduce brightness depending on the temperature
- Cycling color and animation for rainbow mode (Clock/LED matrix)
- LED Matrix plugin
- Rewrite of the remote control plugin for faster response times and longer battery life
- Removed support for home assistant Restful API
- Option to send UDP packets to minimize latency
- Deep sleep up to 30 days
- 230ms WiFi Quick Connect, sending UDP packets
- 300ms for MQTT over TCP
- utf-8 support for web sockets
- Fixed some environments and adapted changes of the Espressif 8266 2.3.1 framework (Arduino Core 2.7.4)
- Support for loading javascript and CSS from remote server(s) during development
- Major improvements for forms, they are using ~10x less memory and are ~20x faster. Most need less than 1KB and load within 10ms
- Read ADC over web sockets with kfcfw_tool and graphical analysis
- Removed filters from syslog, reduced memory usage and improved performance
- Improved event scheduler (freed ~500 byte IRAM), memory usage and performance
- Memory debugging and leak detection added
- Ping monitor improvements
- Device title is being used as name for MQTT auto discovery
- Clearing EspSaveCrash EEPROM during factory reset
- 64KB flash storage (R/W) dedicated for the firmware
- AT mode command DUMPM for dumping memory or flash contents
- Removed test mode from the blinds plugin and implemented it into kfwfc_tool
- Disable AP mode after 15min. if default password is used (does not apply to AP mode in standby)
- Enable recovery mode after version change (AP mode enabled, default SSID, broadcast SSID, enable web server, reset passwords IF empty)
- Javascript updates and fixes
- Zeroconf resolve button for forms
- MQTT auto discovery rebroadcast interval
- Open/close automation for the Blinds Plugin, audible warning while running or shortly before
- Added missing html enitities encoding to forms
- Improved HTML form generator
- Added SSDP plugin
- Templates for configuration getters/setters
- Debug print functions for IRAM_ATTR that do not pull the entire SerialWrapper code into IRAM
- Blacklist to prevent plugins being loaded at start-up
- Support for zeroconf (
${zeroconf:<service>.<proto>:<address|value[:port value]>|<fallback[:port]>}
as hostname) - Added boot option to set passwords to default, enable AP mode and web server
- Improved plugin system, ~2kb more free RAM
- Rewritten SerialHandler
- Rewritten StreamWrapper (Serial, DebugSerial, SerialHandler etc...)
- KFC OTA copies firmware.elf and stores the hash in the device configuration
- Added Alarm plugin to Clock and Weather Station
- MQTT metrics: uptime, heap
- NTP plugin: Check once per minute if the time is valid and call configTime() again if not
- Alarm plugin for Clock, Weather Station, ...
- Replaced remote timezone with native POSIX timezone support
- MQTT auto discovery aggregates all entities as single device
- MQTT auto discovery abbreviations
- Send calibration/config. to MQTT for recovery after firmware updates
- MQTT auto discovery queue to reduce memory usage and network load
- NTP startup delay reduced to 1 second (from up to 5 minutes)
- Arduino ESP8266 2.7.1 release changes/fixes
- Option to enable/disable mDNS
- Advanced firmware configuration for dimmer plugin
- Form validator for double
- Conditional attributes for HTML forms
- Support for MQTT component names instead of enumeration
- Arduino ESP8266 2.6.3 release changes
- Deep sleep support can be disabled
- Option to turn status LED off when connected to WiFi
- Device configuration page for WebUI
- Option to enable SoftAP only if WiFi station mode is not connected
- Option to disable the "WebUI" page
- Reboot after certain time if running in Safe Mode
- Restart WiFi subsystem once a minute if the connection failed
- Persistant message popups for the WebUI (WebAlerts)
- Multiple instances of Home Assistant supported
- Set mireds for Hass plugin
- Support for DHT11/22 sensor
- Store crash dumps in flash memory instead of EEPROM
- RestAPI class
- Replaced manual PROGMEM strings with ArduinoFlashStringGenerator
- Ambient light sensor for clock plugin
- WebUI/MMQT update rates seperated
- Support for INA219 sensor
- Improved MMQT TCP buffer handling
- MDNS service discovery for WebUI
- MDNS service queries
- MDNS version info and device name/title
- Improved WiFi quick connect performance by ~20%
- Disabled sending MQTT auto discovery after wake up
- Added device title
- Added bearer token for authentication (WebUI, web sockets, TCP2Serial...)
- Server side includes and extended HTML templates
- HLW8012 sensor update rate and precision improved
- Live view of HLW8012 sensor data via kfcfw_tool
- Cli OTA update tool for Flash, SPIFFS and ATmega flash images
- Dynamic menu for WebUI
- Support for RTC DS3231
- Support for espressif8266 2.3.2/arduino 2.6.3
- WiFi download speed test page for WebUI
- Export configuration as JSON
- Button groups for WebUI
- KFCGFx library with compressed canvas class to fit the contents of big TFTs in memory
- STK500 programmer for AVR over serial port via WiFi or from files stored on SPIFFS
- Support for CCS811 sensor
- Support for BME680 sensor
- Class to create JSON objects with streaming support with small buffer size
- Syslog over TCP support
- New virtual file system with reduced memory usage and long filenames
- WebUI "Reboot Device" checkbox "Safe Mode" fixed
- Fixed login issues with expired session cookie
- Fixed double menu entries after wake up from deep sleep
- Fixed invalid timezone/abbreviatation
- Fixed MDNS interface issues with SoftAP and station mode enabled
- Fixed missing SSID for WebUI WiFi scan
- Started to update change log
- Started to commit files