Skip to content

Latest commit

 

History

History
279 lines (261 loc) · 14.7 KB

CHANGELOG.md

File metadata and controls

279 lines (261 loc) · 14.7 KB

Changelog

Version 0.0.9 (master)

  • Added Christmas animation
  • Fixed an issue that prevented reconnecting to WiFi networks after a beacon timeout
  • Added a memory queue for the logger to avoid file system operations outside the main loop
  • Stopped file system (FS) during non-atomic FS updates to prevent corruption
  • Fixed an issue where the OpenWeatherMap forecast was not being updated
  • Updated OpenWeatherMap API to OneCall API 3.0
  • Added a forecast screen for the weather station

Version 0.0.8

  • Added real brightness to LED matrix WebUI brightness slider and calculated power badge (auto brightness, temperature protection and power limit might reduce the actual output)
  • Support for ESP32-S3
  • Support for INMP441 microphone for the audio visualizer
  • Changed flash frequency and mode to 80MHz/QIO for ESP8266
  • Changed nvs_flash to default config storage for ESP8266
  • Ported nvs_flash from ESP8266_RTOS_SDK to ESP8266_NONOS_SDK (https://github.com/sascha432/ESP8266_NvsFlash_NONOS_SDK)
  • Improved visualizer and new plasma animation
  • Updated ESPAsyncWebServer to fix issues with ESP32
  • Merged framework-arduinoespressif8266 3.0.0 into 3.1.2-mod
  • Merged framework-arduinoespressif32 2.0.0 into 2.0.9-mod
  • Split KFCLibrary and added support for github or local copy in ./lib
  • Added Adafruit NeoPixel support
  • Support for up to 4 LED output pins
  • Added LED Matrix and Strip support to ESP32 (wled_esp32_controller, compatible with many WLED controllers or my own version EasyEDA schematics and PCB)
  • Fixed a crash in RTCMemoryManager for ESP32
  • Added UDP video streaming to the visualizer
  • Fixed some issues with the visualizer
  • Missing online status and binary awake sensor fixed for remote control
  • Update battery status over MQTT and UDP on a daily basis (interval can be configured to save battery life)
  • AT+GPIO=5s shows state of the GPIO (IN/OUT/IN_PULLUP etc...)
  • Fixed an issue with GPIO 4 and 5 being set to INPUT_PULLUP without using I2C (add -D DISABLE_TWO_WIRE=1 to disable it)
  • Updated deep sleep and quick connect for framework 3.x (200ms, quick subsequent wake-ups take 1350ms)

Version 0.0.7

  • Removed STK500v1 updates from the WebUI (use Serial Console)
  • Updates/fixes and new firmware for 4 channel dimmer
  • Write MQTT auto discovery to file /.logs/mqtt_auto_discovery.json (command +MQTT=list,file)
  • Merged framework-arduinoespressif8266 3.1.0-dev https://github.com/sascha432/Arduino
  • Added support for 4bit bitmap images
  • Added an external I2C bus to the Weather Station, that can be used for other sensors like BME680 (VOC gas), BH1750FVI (Lux), INA219 (Voltage, Current, Power) with live data on the TFT and the WebUI
  • Support for BME680 updated
  • Live display of the TFT in the WebUI of the Weather Station and links to control it
  • Removed HTTP authentication token
  • More details about the software to build the VFS (Windows and Linux), can be found in README.md / Building the VFS
  • Added boost boost 1.80.0 preprocessor
  • AT mode help has been moved to docs\AtModeHelp.md to save flash memory
  • Most parts can be compiled under Linux now and probably OSX as well (invalid case-sensitive filenames mostly fixed, some python scripts might still contain Windows specific code)
  • New version after a lot of issues have been fixed after upgrading to Framework Arduino ESP8266 3.0.1

Version 0.0.6

  • 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

Version 0.0.5

  • 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 persistent 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 library 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

Version 0.0.4

  • Improved NTP plugin
  • Support for internal 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 callback's 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
  • Configurable 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 entities 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, ...

Version 0.0.3

  • Replaced remote time zone with native POSIX time zone 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 start-up 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

Version 0.0.2

  • 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
  • Persistent 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

Version 0.0.1

  • Started to commit files