ESPEasy

Firmware

Multi-sensor firmware for ESP8266 and ESP32 devices.

Latest mega-20260720 · by Let's Control ItWebsiteletscontrolit/ESPEasy

Release activity

Release activity — 3 releases across 3 days in the last year. Each cell is one day; darker means more releases that day. Older weeks are hidden at this screen width.
MayJunJulAug
SundayNo releases on Apr 19, 2026No releases on Apr 26, 2026No releases on May 3, 2026No releases on May 10, 2026No releases on May 17, 2026No releases on May 24, 2026No releases on May 31, 2026No releases on Jun 7, 2026No releases on Jun 14, 2026No releases on Jun 21, 2026No releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026
MondayNo releases on Apr 20, 2026No releases on Apr 27, 2026No releases on May 4, 2026No releases on May 11, 2026No releases on May 18, 2026No releases on May 25, 2026No releases on Jun 1, 2026No releases on Jun 8, 2026No releases on Jun 15, 2026No releases on Jun 22, 2026No releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 20261 release on Jul 20, 2026No releases on Jul 27, 2026No releases on Aug 3, 2026
TuesdayNo releases on Apr 21, 2026No releases on Apr 28, 2026No releases on May 5, 2026No releases on May 12, 2026No releases on May 19, 2026No releases on May 26, 2026No releases on Jun 2, 2026No releases on Jun 9, 2026No releases on Jun 16, 2026No releases on Jun 23, 2026No releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026
WednesdayNo releases on Apr 22, 2026No releases on Apr 29, 2026No releases on May 6, 2026No releases on May 13, 2026No releases on May 20, 2026No releases on May 27, 2026No releases on Jun 3, 2026No releases on Jun 10, 2026No releases on Jun 17, 2026No releases on Jun 24, 2026No releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026
ThursdayNo releases on Apr 23, 2026No releases on Apr 30, 2026No releases on May 7, 2026No releases on May 14, 2026No releases on May 21, 2026No releases on May 28, 2026No releases on Jun 4, 2026No releases on Jun 11, 2026No releases on Jun 18, 2026No releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 2026No releases on Aug 6, 2026
FridayNo releases on Apr 24, 2026No releases on May 1, 2026No releases on May 8, 2026No releases on May 15, 2026No releases on May 22, 2026No releases on May 29, 2026No releases on Jun 5, 2026No releases on Jun 12, 2026No releases on Jun 19, 2026No releases on Jun 26, 2026No releases on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 2026
SaturdayNo releases on Apr 25, 2026No releases on May 2, 2026No releases on May 9, 2026No releases on May 16, 2026No releases on May 23, 2026No releases on May 30, 2026No releases on Jun 6, 2026No releases on Jun 13, 2026No releases on Jun 20, 2026No releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026

3 releases in the last year

Changelog

mega-20260720

Added 9
  • Support for ESP32-P4, ESP32-C5, and ESP32-C61 MCUs
  • Allow connecting to hidden SSID networks
  • Add option to force WiFi band 2.4/5 GHz on ESP32-C5
  • Add AT command write to PPP modem
  • Add connected/disconnected event handling for all network interfaces
  • Add setXxBufferSize functions for Serial
Changed 9
  • Restructure WiFi code for ESP32 and ESP8266
  • Implement simplified state machine for WiFi
  • Use PSRAM for logs, events and controller queues
  • Update to latest ESP-IDF SDK and Arduino 3.1.2 for LittleFS builds
  • Update to ESP32/Arduino 3.1.3
  • Change ESP8266 normal and collection builds to core 3.1.2
Fixed 3
  • Fix wifi#connected and wifi#disconnected events
  • Fix broken math parsing in rules
  • Fix crashes on MQTT callback calls
Release mega-20260720

This is a massive release, where quite a lot of ESPEasy has been changed. The main changes are in the way how networking is handled and support for lots of new Espressif MCU's is added like the ESP32-P4, -C5, C61.

In the start post of this long 'test build' issue is a lengthy summary of most of the changes.

I would also like to thank all testers for the extremely valuable feedback during the quite lengthy testing process!

Backup settings before updating!

It is strongly adviced to make a backup of the settings of an older ESPEasy node and make sure to have access to the ESPEasy node when updating to this version as the network settings conversion may not cover 100% of all possible configurations in the field. Some ESPEasy nodes getting updated to this version may need a power cycle after updating.

Changes in mega-20260720 (since mega-20260125):

Gijs Noorlander (9):

  • [MFRC522] Speedup reading tag
  • [network] Fix wifi#connected and wifi#disconnected events
  • [network] Fix typo in event
  • [Network] Add AT command write to PPP modem
  • [Network] Add connected/disconnected event handling for all interfaces
  • [network] Reduce CPU load + fix init NW interface event names
  • [MQTT] Fix merge issues
  • [Build] Change ESP8266 normal and collection builds to core 3.1.2
  • [Build] Enable BUILD_NO_DEBUG for 2nd heap ESP8266 normal builds

TD-er (612):

  • [WiFi] Split WiFi code specific for ESP8266 and ESP32
  • [Cleanup] Get rid of ESP32-IDF code for IDF3.x or older
  • [Cleanup] Fix spelling error in filename
  • [WiFi] First part of moving code around to restructure WiFi code
  • [WiFi] Start using simplified state machine for WiFi
  • [WiFi] Restructure ESP32/ESP8266 code
  • [WiFi] Allow connecting to hidden SSID network
  • [WiFi] Fix build issue due to enum naming conflict
  • [IPv6] Disable IPv6 for ESP32-C2
  • [PSRAM] Free GPIO-16 and -17 on ESP32-classic when no PSRAM present
  • [PSRAM] Fix build on ESP-IDF 5.1 + add special case of ESP32-picoD4
  • [PSRAM] Cleanup code
  • [PSRAM] Fix solo1 builds
  • [WiFi] Add some debug log to track GotIP event
  • [WiFi] Fix not showing /setup page
  • [WiFi] Update to latest ESP-IDF SDK + handle gotIP event on ESP8266
  • [WiFi] Fix event handling for WiFi on ESP32
  • [WiFi] Fix start AP for setup
  • [WiFi] Call WiFi_AP_Candidates.force_reload() on saving security setting
  • [PSRAM] Use PSRAM for logs, events and controller queues
  • [Memory] Fix freeing of allocated strings
  • [Memory] Add small optimization in free_string() to prevent copying
  • [ESP-IDF] Update to latest Arduino 3.1.2 for LittleFS builds
  • [ESP-SDK] Update to ESP32/Arduino 3.1.3
  • [ESPEasy p2p] Add node-IDs for new Espressif SoC models
  • [WiFi] Fix processing connected event
  • [ESP8266] Fix crash on processing log with weblog enabled.
  • [Cleanup] Simplify generating sysinfo page
  • [ESP8266] Fix crash on ESP8266 SDK 2.7.4
  • [ESP8266] Balance more what should be allocated on 2nd heap
  • [Build] Fix build issues on ESP32-xx
  • [Memory] Make memory allocation on ESP8266 2nd heap more stable
  • [Memory] Move C001 and C002 queue elements to 2nd heap (ESP8266)
  • [Memory] Move other controller queue elements to 2nd heap (ESP8266)
  • [ESP32S3] Fix bootloop on ESP32S3 with OPI PSRAM
  • [WiFi] Fix not setting wifi as initialized too often
  • [Memory] Improve memory usage on Strings and task data
  • [Memory] Fix crashes on ESP32-S2 with 8M PSRAM
  • [WiFi] Fix setting dynamic WiFi TX power
  • [Cleanup] Optimize parsing system variables
  • [Rules] Fix broken math parsing
  • [WiFi] Fix (re-)connecting after WiFi connection lost
  • [WiFi] Fix build error on ESP8266
  • [Cleanup] Uncrustify WiFi/Network code
  • [WiFi] Fix reconnecting + WiFi scan
  • [ESP-IDF5.4] Prepare for ESP-IDF5.4 with Arduino 3.2.0
  • [Eastron] Speed up parsing Modbus RTU messages
  • [Serial] Add setXxBufferSize functions
  • [ESP-IDF5.3] Update to latest Arduino/ESP-IDF5.3 version
  • [timing stats] Simplify and speedup collecting timing stats
  • [1-wire] Fix ESP8266 builds not fitting in IRAM
  • [ESP32-C5] Add preliminary support for ESP32-C5 with dual band WiFi
  • [ESP32-C5] Minor tweaks formatting used WiFi protocol
  • [ESP32-C5] Fix file name error for platformio_esp32c5_envs.ini
  • [ESP-IDF] Update to latest SDK/IDF
  • [ESPtool] Prepare use of esptool v5.0.0
  • [ESP32-S2] Change ADC for ESP32-S2 back to 13 bit
  • [ESP-IDF] Revert to older build due to broken UART support
  • [ESP32-C5] Add hardware specific info about ESP32-C5
  • [Build] Get rid of all ESP32-SPIFFS builds
  • [Build] Fix display ESP32 build
  • [build] Change ESP32 IRExt builds to LIMIT_BUILD_SIZE
  • [ESP32-C61] Start adding support for new SoC & generalize WiFi features
  • [ADC] Fix not setting attenuation on internal ADC
  • [ESP-IDF] Update to latest IDF/Arduino code for IDF 5.5
  • [MFRC522] Speed-up detecting cards + make error recovery more stable
  • [MFRC522] Improve range of reader
  • Add HTML_Print and PrintToString helpers
  • [MFRC522] Simplify board reset during init
  • [MFRC522] Allow to dump card info to debug logs
  • [MFRC522] Do proper timing for communicating with card
  • [Rules] Fix processing variables with index > 2^31
  • [Log] Add PrintToLog helper
  • [Build] Add ESP32C5 to release.yml build script
  • [ESP-IDF] Update to latest SDK version
  • [MFRC522] Speedup reading by acting on interrupt pin
  • [PWM motor] Speedup acting on limit switch interrupt
  • [Web flasher] Update esp web tools to 8.1.10 to support ESP32-C5
  • [PubSubClient] Update to new fork PubSubClient3
  • [PubSubClient3] Speedup publish large messages using buffer
  • [Build] Fix failed build due to missing include
  • [ESP32-C5] Add option to force WiFi band 2.4/5 GHz
  • [PubSubClient3] Add check for nullptr in CHECK_STRING_LENGTH
  • [Controller] Fix crashes on MQTT callback calls
  • [Network] Start adding Network config page
  • [Network] Continue adding network config page
  • [Network] Rename NetworkAdapter to NetworkDriver
  • [Network] Start on initial first WiFi STA/AP drivers
  • [Network] Add webform load/save for WiFi STA and AP
  • [Network] Fix looping over CONTROLLER_MAX instead of NETWORK_MAX
  • [ESP32P4] Add preliminary support for ESP32P4
  • [ESP32P4] Fix crashes when trying to connect to WiFi
  • [ESP32P4] Add more warnings for specific GPIO pins
  • [Cleanup] Fix JS issues
  • [Network] Add ETH config page + tweak Network Page
  • [ESP32-P4] Add OTA update command for ESP32C6 WiFi firmware
  • Merge branch 'mega' into bugfix/WiFi_state_machine
  • [Network] Split ESP32P4 code from other MCUs
  • [Network] Fix Ethernet on ESP32P4 + allow multiple active interfaces
  • [Network] List all IP-addresses per network interface
  • [Network] Process info based on NetworkInterface baseclass when possible
  • [Network] Show Network Interface flags
  • [PPP Modem] Add framework for new PPP Modem network interface
  • [ESP32P4] Add extra HW serial ports supported by ESP32P4
  • [Network] Split ETH into RMII and SPI + add template for PPP modem
  • [Storage] Add generic key/value store to simplify data storage
  • [Storage] Add load function for new key/value store
  • [Storage] Add save function for new key/value store
  • [Network] Add NetworkSettings type to store network interface settings
  • [Network] Fix build issues
  • [Network] Uncrustify new code
  • [Storage] Add NWPluginData_base & optimize key/value store
  • [Storage] Add tests for key/value store
  • [Storage] Fix issues storing/loading from key/value store
  • [Storage] Remove 0-termination for strings from raw stored data
  • [Storage] Use key value store for storing network interfaces
  • [PPP Modem] Add modem parameters to NW005 + fix compile issues
  • [PPP modem] Add more settings + simplify key/value/store use
  • [PPP modem] Add APN/Pin settings + show modem status
  • [PPP Modem] Show more cell info + correct reported RSSI/BER values
  • [Storage] Fix build on ESP8266 builds
  • [PPP modem] Remove PPP Modem plugin from ESP32-C3 as there isn't support
  • [PPP Modem] Fix build on LIMIT_BUILD_SIZE ESP32 builds
  • [PPP Modem] Add UE Cell info + fix ESP32C2 build
  • [PPP Modem] Disable PPP Modem plugin for 4M flash builds due to size
  • [Build] Fix ESP32C6 builds
  • [Build] Remove "CDC" from all env names due to linker issues
  • [ESP-IDF] Update IDF 5.5 builds (P4/S3) to latest version
  • [Network] Allow crash detection to turn off network interfaces
  • [ESP32P4] Set Ethernet as default on ESP32P4 builds
  • [PubSubClient] Update to latest lib version
  • [PubSubClient3] Speedup publish large messages using buffer
  • [Storage] Fix storing bool types
  • [Controller] Fix bug not being able to add controller
  • [Cleanup] Rename CPlugin and NWPlugin calls to make clear where used
  • [Network] Add WiFi/AP when not present in settings + limit options
  • [Plugin] Rename PluginCall functions to use same convention as controllers
  • [PPP Modem] Make PPP.begin() non-blocking by running in RTOS task
  • [PPP Modem] Initialize C-code to NULL instead of nullptr
  • [Network] Fix saving WiFi STA & WiFi AP settings
  • [Network] Add route prio to network overview
  • [Network] Move network plugin code to new ESPEasy::net namespace
  • [Network] Move ESPEasy::net namespace code to new folder structure
  • [Network] Move global runtime data to new ESPEasy::net namespace
  • [Network] Move more WiFi related code into ESPEasy::net::wifi namespace
  • [Network] Move Network code to ESPEasy::net namespace
  • [Network] Disable ETH for ESP32-xx Display builds to make builds fit
  • [Network] Fix ESP32-classic display build with ETH disabled
  • [Network] Move EthernetParameters to ESPEasy::net namespace
  • [Network] Move MetworkMedium to new ESPEasy::net:: namespace
  • [Network] Move WiFiAPcandidates files to ESPEasy::net::wifi namespace
  • [Network] Fix setting up last network/controller entry
  • [Network] Move WiFi init code to NW001_WiFi_STA plugin
  • [MQTT AutoDiscovery] Fix merge issues
  • [PPP modem] Make init of PPP modem more reliable
  • [Network] Show connected duration in more readable format
  • [Network] Add networkenable / -disable commands + fix for controllers
  • [Controller] Fix proper checking when calling CPLUGIN_xxx functions
  • [Network] Fix build on ESP8266
  • [Controllers] Call [C/NW]PLUGIN_EXIT before _INIT when saving settings
  • [Tasks] Fix scheduled Plugin Task Timer & proper task exit/init
  • [Build] Fix failing ESP8266 custom build
  • [Build] Reduce build size for ESP8266 builds
  • [ESP-IDF] Update to latest ESP-IDF/Arduino for ESP32-xx
  • [PPP Modem] Disable PPP Modem on platforms that don't support it
  • [Network] Add mechanism to restore cached DNS servers
  • [Network] Fix ESP8266 build + add log when DNS is restored from cache
  • [Network] Fix mangled DNS servers when switching default route interface
  • [Network] Trigger checking for DNS server on default NW-IF after event
  • [Network] Make connected info more consistent among network interfaces
  • [Network] Move common code to collect connection stats to base class
  • [Network] Add test to see if we can track interface traffic count
  • [Build] Fix ESP32 build due to missing include
  • [Network] Show connection info for each interface
  • [Network] Reduce code duplication showing connection info
  • [Build] Fix ESP-IDF 5.5 platform to specific one before pip -> uv change
  • [WiFi] Show WiFi Auth mode in connection info
  • [Network] Start removing connected checks from WiFi/Eth EventData
  • [Network] Clean up code duplication handling network events
  • [Controller] Make connection timeout dynamic per host & networkinterface
  • [Network] Remove more legacy WiFiEventData code
  • [Network] Cleanup + add charts for RSSI/TX-pwr, traffic, etc.
  • [Network] Fix ESP8266 build issues
  • [Network] Fix build on ESP8266 1M build
  • [Build] Reduce build size on ESP8266 builds
  • [Build] Fix copy/paste error on ESP32 builds
  • [Network] Fix corrupting settings on ESP8266
  • [Network] Add Route Prio setting for each network interface (ESP32-xx)
  • [Network] Fix access control check for accessing web config
  • [Network] Add column with interface number to Network overview page
  • [Network] Fix NAPT forwarding when client connects/disconnects
  • [Network] Show connected clients to AP + cleanup charts/stats
  • [cleanup] Remove duplicate code in xPlugin tables
  • [network] Fix 'Enable' checkbox consistency & bootloop with AP disabled
  • [Network] Fix crashes when toggling WiFi/AP on/off
  • [network] Show detailed received IPv6 info in the logs
  • [Network] Fix ESP8266 build
  • [Network] Fix merge-conflict on ESP32-build
  • [ESP-IDF] Move to IDF5.5 for all ESP32-xx builds
  • [Build] Fix missing include
  • [Build] Define BUILD_NO_DEBUG for Collection_E builds
  • [ESP-IDF] update to latest ESP-IDF5.5
  • [Build] Define BUILD_NO_DEBUG for all collection builds
  • [USBCDC] Fix USB-CDC for ESP32S2 builds
  • [Build] Define BUILD_NO_DEBUG for ESP32 Collection A builds
  • [Network] Fix collecting RX/TX traffic data
  • [Network] Add FEATURE_NETWORK_TRAFFIC_COUNT to toggle tracking traffic
  • [Network] Add FEATURE_NETWORK_STATS to toggle collecting network stats
  • [Network] Fix reported traffic RX/TX Bytes
  • [USBCDC] Properly fix USB CDC issues on ESP32-S2
  • [Build] Define BUILD_NO_DEBUG for Display builds
  • [Network] Fix xxx#Connected / #Disconnected events
  • [Build] Fix merge issues
  • [WiFi] Fix WiFi reconnect issues
  • [RC522] Add support for 7-byte NFC UIDs
  • [webUI] Move Hardware tab before Network tab
  • [Build] Fix merge issue
  • [SysVars] Fix showing variables with hex number as index
  • [MFRC522] Add immediate event on tag removal
  • [LAN867x] Add support for LAN867x Ethernet controller (RMII)
  • [Network] Exit all networks before reboot
  • [WiFi] Fix scanning WiFi returns no networks found
  • [Network] Fix showing stats and connection info
  • [WiFi] Fix reported WiFi enc. mode on ESP8266
  • [WiFi] Clear uses of WiFiEventData for ESP8266 builds
  • [Eth] Clear uses of EthEventData for ESP32 builds
  • [Build] Fix ESP8266 build
  • [WiFi] Fix wifi reconnect (on ESP32)
  • [WiFi] Fix internal WiFi state matching real connected state.
  • [Network] Log got IP events
  • [Network] Add checks to see if _netif is a valid pointer
  • [Network] Make logging gotIPv6 events not do memory allocation
  • [NeoPixel] Make NeoPixelSendStatus use less memory allocations
  • [MQTTDiscovery] Reduce mem alloc MQTT_DiscoveryPublishWithStatusAndSet
  • [Network] Remove unused base_class check for NWPluginData structs
  • [Network] Add ESPEasy event when network is enabled/disabled
  • [Log] Only process log to serial when in "Arduino RTOS task"
  • [WiFi] Make sure WiFi actually is disconnected when trying to reconnect
  • [MQTT] Only try to run background MQTT connect when connected to network
  • [CSS] Tweaks for newly added Network tab
  • [web UI] Change tab icons to be more uniform and working on Apple
  • [WiFi] Fix automatic redirect on Captive Portal
  • [MQTT] Reduce work/memory in background task, use xTaskDelay as required
  • [WiFi AP] Fix switching between NAPT and Captive Portal
  • [Build] Reduce bin size for ESP32 collection builds
  • [Provision] Fix not able to provision files
  • [PPP modem] Fix crash when PPP modem is enabled but not present
  • [Docs] Add stubs for documenting new Network design
  • [TaskValueSet] Fix setting 64-bit int values to a dummy task
  • [CacheReader] Fix reading cache files from CacheController
  • [CacheReader] Add support for 64bit ints + output as events
  • [CacheReader] Fix continue reading after crash/reboot
  • [CacheReader] Fix incorrect settings array index
  • [CacheReader] Fix incorrect settings array index
  • [CacheReader] Fix incorrect settings array index
  • [Cleanup] Only show MQTT connected stats on enabled controller
  • [CacheReader] Fix reading cache files when files are missing
  • [PPP modem] Add DTR pin option to regain access to modem in CMUX mode
  • [Cleanup] Simplify managing key-value representation in web UI / JSON
  • [JSON] Simplify writing JSON page
  • [JSON] Fine-tune + speedup generating JSON
  • [Log] Use new streaming JSON writer to generate web log
  • [Cache Controller] Use new JSON functions to generate cache_json
  • [JSON] Fine tune new JSON generation functions
  • [Cleanup] Wrap #ifdef WEBSERVER_NEW_UI.. around functions only used then
  • [JSON] Change handle_sysinfo_json() to use new JSON formatting functions
  • [JSON] Fix pretty-print generated JSON + add createChild() option
  • [JSON] Use new createChild function
  • [JSON] Simplify code + reduce build size due to less dependencies
  • [JSON] Add option to print JSON to String + convert Domoticz JSON
  • [Build] Set ESP8266 IR builds to esp8266/Arduino 3.1.2
  • [Build] Fix custom_IR_ESP8266_4M1M build
  • [C009 FHEM] Use new JSON code to generate response
  • [Cleanup] Remove no longer used to_json_object_value functions
  • [Cleanup] Reduce bin size: unsigned long to uint32_t and long to int32_t
  • [JSON] Move KeyValueWriter_JSON to src/Helpers/
  • [Network] Use new WebForm writer for gathering network adapter info
  • [Network] Cleanup code + generate more network info using new K/V writer
  • [JSON] Add same info on network adapters & sysinfo & JSON page
  • [Build] Fix ESP8266 build fail due to variable type mismatch
  • [Build] Reduce bin size by disabling logs in BUILD_NO_DEBUG builds
  • [Build] Fix failed custom ESP8266 build, disable CustomProvisioning
  • [Build] Disable C014 (Homie) and C017 (Zabbix) for ESP8266 Collections
  • [Build] Disable more logs with BUILD_NO_DEBUG on ESP8266
  • [Build] Fix failing build hard_SONOFF_POW_4M1M
  • [Build] Fix build errors on RISC-V like ESP32-C2/C3/C5/C6
  • [Build] Fix build error on safeboot builds
  • [Build] Set BUILD_NO_DEBUG for all NeoPixel builds to make builds fit
  • [Build] Fix failing max_ESP32c5_8M1M_LittleFS_ETH builds
  • [Cleanup] Reduce bin size & simplify ValueStruct
  • [ESP-IDF] Update to latest Arduino/ESP-IDF
  • [Log] Simplify web log buffering
  • [Log] Speedup finding 'next' log element to process
  • [Build] Fix ESP8266 build fail as std::make_unique is not (yet) known
  • [WebLog] Send many log messages in chunks of 200 msec.
  • [TLS] Update TLS to be able to use ECDHE_ECDSA_AES_128_GCM_SHA256 cipher
  • [TimingStats] Add stat to measure time spent processing MQTT messages
  • [TLS-MQTT] Automatic switch to ECDSA when error is 296 (TLS handshake)
  • [Provision] Add option to store (WiFi) credentials to separate file
  • [Build] Fix build issues on ESP8266
  • [WiFi Setup] Store credentials via setup page to separate file
  • [TAR] Fix creating unusable TAR files when backup all
  • [WiFi AP] Fix generating correct events when WiFi AP turns on/off
  • [WiFi] Fix starting AP when no credentials present or known APs found
  • [Log] Convert all ESPEasy console output to LOG_LEVEL_NONE log entry
  • [Log] Serial Console pulls logitems when UART buffer is ready + colorize
  • [Log] Fix log output to webflasher console + colorize LogEntry output
  • [Log] Clearly mark commands in log + source of the command
  • [Log] Cleanup and simplify log level code
  • [Log] Make syslog to use the new log queue + fix syslog crashes
  • [Log] Fix build on ESP8266 + log level label in console + syslog format
  • [ChartJS] Use new JSON key-value-writer + cleanup ChartJS code
  • [Cleanup] Rename Sp_KeyValueWriter to Up_KeyValueWriter
  • [ChartJS] Cleanup forcing "null" on NaN values in JSON
  • [Cleanup] Simplify use of LabelType
  • [ESP8266] Fix build issues due to older compiler for ESP8266 2.7.4
  • [Cleanup] Make nearly all of sysinfo page use new KeyValueStruct writers
  • [Cleanup] Make ESP8266 builds fit again + tweak reducing generated HTML
  • [Climate] Remove P169 (AS3935 lightning Detector) from ESP8266 builds
  • [Build] Revert ESP-IDF/Arduino to make Solo1 and ESP32-P4 build again
  • [Cleanup] Simplify ValueStruct to reduce bin size + speed up processing
  • [ESPEasy] Increase nr of ints in EventStruct
  • [PPP modem] Show mobile provider name from SIM card
  • [ValueStruct] Reduce memory allocations on short strings
  • [LogEntry] Reduce LogEntry struct to 16 bytes per log item in memory
  • [ValueStruct] Fix order initialization members
  • [KeyValueStruct] Add standard Unit-of-Measure units
  • [WebForm] Show bool types from key/value struct as checkmark
  • [ValueStruct] Fix edge case crash copying values.
  • [Build] Wrap calls to setUnit in #if FEATURE_TASKVALUE_UNIT_OF_MEASURE
  • [ChartJS] Make charts appear on the full width and responsive
  • [Charts] Remove no longer needed chart height/width & cleanup code
  • [ESPEasy p2p] Cleanup use of std::unique_ptr + p2p data structs
  • [Ethernet] Set hostname when Ethernet device is started
  • [Build] Reduce build size by disabling GitHub copy button for ESP8266
  • [ESP32-P4] Fix WiFi/Eth issues on ESP32-P4 + optimize memory allocations
  • [Units Of Measure] fix merge issues PR #5419
  • [ESP32P4] Disable USB HWCDC to fix ESPEasy console for ESP32P4
  • [ESP-Hosted] Show more info on ESP-Hosted-MCU WiFi (ESP32-P4)
  • [ESP-Hosted] Make sure hostname is set on ESP-Hosted-MCU before DHCP
  • [IPv6] Add option to enable/disable IPv6 per network adapter
  • [JSON] Write empty "Sensors" array when no tasks defined
  • [Eth] Move duplicate code to shared functions to display info
  • [ETH] Remove left-over code duplication after split RMII/SPI adapters
  • [ESPEasy Console] Fix console on both HWCDC and Serial0
  • [Network] Make connected check more direct when starting connection
  • [Build] Fix flush() vs. clear() as it differs between ESP8266 and ESP32
  • [Build] Make normal_ESP8266_1M_VCC not fail building (still too big)
  • [Build] Fix build issue due to missing forward decl. of enum
  • [Sysinfo] Add missing Unit-of-measure on file system size
  • [Ethernet] Add already setup Ethernet when upgrading ESPEasy
  • [Sysinfo] Hide WiFi info when no WiFi is enabled
  • [Network] Start adding JSON import/export Network settings per adapter
  • [Build] Disable Framed OLED on 1M ESP8266 Normal builds due to size
  • [Network] Add networkexportconfig command to export to JSON
  • [Network] Add NetworkImportConfig command
  • [Eth] Store settings for RMII and SPI Ethernet to KV-store
  • [Ethernet] Allocate unused ETH interface support multiple ETH instances
  • [Ethernet] Fix saving settings to KVS
  • [Network] Restart services (e.g. ESPEasy p2p) when default route changes
  • [ESP-IDF] Update to latest Arduino/IDF code with fix for SPI Eth MAC
  • [ESP8266] Fix failing ESP8266 build
  • [Build] Remove _LittleFS and _ETH from build names due to linker issues
  • [Build] Fix build fail with builds without Ethernet support
  • [ESP32-P4] Disable OTA update for ESP-HOSTED-MCU on ESP32P4 for now
  • [Build] Enable custom_remove_include to not build ignored libs
  • [Web Flasher] Update script to generate webflasher for new build names
  • [Network] Simplify ETH Event handling + update ESP-IDF/Arduino 3.3.3
  • [Build] Limit package building to use Python 3.13
  • [Build] Fix Solo1 builds
  • [Ethernet] Fix loading RMII Eth settings from KVS
  • [Ethernet] Fix loading SPI Ethernet settings from KVS
  • [Ethernet] Cleanup showing GPIO conflicts/usage
  • [Ethernet] Remove no longer needed commands to setup ETH
  • [Ethernet] Make Periman reported conflicts the reported conflicts
  • [Network] Remove obsolete code from Config and Tools->Advanced page
  • [ESP32-C61] Add initial support for ESP32-C61
  • [Collection] Remove P038 and P095 from ESP32 Collection builds
  • [ESP32-solo1] Add flags to fix IDF5.5 issues for 'esp32-solo1' boards
  • [ESP32-P4] Add chip-variant option to support P4 rev 1 and rev 3
  • [Build] Speed up builds, add not used libs to lib_ignore
  • [WebFlasher] Add support for ESP32-C5/C61 for the webflasher
  • [ESPEasy p2p] Add IDs of not yet supported ESP MCUs
  • [ESP32-P4/-C61] Update Arduino/IDF to support ESP32-C61 & ESP32-P4 preV3
  • [ColorCode] Add NetworkEnable/Disable commands to ColorCode JavaScript
  • [WiFi] Fix check for available credentials only in device specific file
  • [Network] Fix processing network events on disconnect + simplify check
  • [webflasher] Add 'chipVariant' to distinguish ESP32-P4 variants
  • [Hardware Info] Show differences between ESP32-C6H4 and ESP32-C6H8
  • [Cleanup] Mark unused members in SettingsStruct
  • [WiFi] Cleanup WiFi/AP settings + simplify when to start AP mode
  • [Build] Fix failed minimal ESP8266 build
  • [Build] Fix solo1 builds due to wrongly set LTO flags
  • [WebUI] Simplify adding HTML form fields
  • [WiFi] Simplify WiFi AP fallback scenarios
  • [Build] Fix failing ESP8266 builds
  • [P180] BusCmd_Helper processing I2C commands via cmd subcommand was locked out
  • [C023] Clone C018 code to C023
  • [C023] Remove links to RN2483 code
  • [C023] Add initial support for Dragino LA66 LoRaWAN module
  • [C023] Add querying LA66 + receive downlink messages
  • [C023] Add option to trigger events via downlink messages + code cleanup
  • [C023] Fix timeout reading from LoRa + set ClassC after joined
  • [C023] Cleanup LoRa AT-command controller + fix parse responses
  • [WiFi] Add link to ESP-Hosted-MCU firmware builds
  • [C023] Add initial support for RAK3172 LoRaWAN (m5stack AtomDTU)
  • [C023] Cleanup AT-command LoRaWAN
  • [C023] Add support for RAK3172 LoRaWAN (m5stack AtomDTU)
  • [ESP-IDF] Update to latest ESP-IDF/Arduino
  • [USBCDC] Simplify code defining USBCDC(TinyUSB) vs. HWCDC
  • [C023] Remove debug log
  • [Bug] Fix formatToHex_wordarray
  • [Network] Enable Network Stats when plugin stats are also enabled
  • [WiFi] Fix reconnecting when connection gets interrupted
  • [Network] Fix enable/disable IPv6 per network interface
  • [Build] Make syslog optional to reduce build size
  • [Build] Add flags to disable webserver JSON or syslog to reduce bin size
  • [OLED] Fix: 128×64 shows only left half in display_A builds (#5469)
  • [Web Flasher] Fix generated web flasher manifest JSON
  • [Serial Console] Fix outputting data to USBCDC port for ESP32S2
  • [TimingStats] Tweak timing stats for console output
  • [Domoticz] Fix Domoticz MQTT outputting svalue wrapped in quotes
  • Update README.md
  • [Build] Fix failing custom build (#5485)
  • [Build] Fix failing custom build (#5485)
  • [ESP-IDF] Update to latest 1901-1318-5.5 platform build
  • [Build] Fix compile issues
  • Revert "[ESP-IDF] Update to latest 1901-1318-5.5 platform build"
  • [Sysinfo] Show free space on file system
  • [ESP-IDF] Update to latest IDF/Arduino code to test if P4 builds work
  • [Build] Fix non-ESP32P4 builds with latest ESP-IDF/Arduino
  • [Build] Set BUILD_NO_DEBUG for Climate-A builds to make them fit again
  • [SPI] Fix returning 'other' SPI bus for user defined SPI
  • [Interfaces] Split SPI and I2C config into new Interfaces page
  • [WebUI] Add some icon to Interfaces tab + minor tweaks
  • [ESP-IDF] Update to latest ESP-IDF/Arduino SDK
  • [Web UI] Change icon for Interfaces
  • [Build] Try to reduce build size for ESP8266 minimal, disable I2C/SPI
  • [Build] Fix failing neopixel_ESP8266_1M_Domoticz build
  • [Build] Fix failing minimal_IRext_ESP8266_4M1M
  • [Build] Fix failing build safeboot_ESP32c2_4M_LittleFS
  • Update generate_web_flasher_manifest.py fix showing C6 in list
  • [Network] Add 'Fallback Network Interface' concept.
  • [Network] Fix failing build on ESP8266
  • [Network] Start documenting Fallback Network Interface
  • [WiFi] Make WiFi AP act as fallback device when set as such.
  • [USB-CDC] Fix USB disconnect on reboot for USB-JTAG/CDC boards
  • [USB-CDC] Fix USB disconnect on reboot for USB-JTAG/CDC boards
  • [TM1637] Fix timing issues for ESP32-builds for P073 TM1637
  • [TM1637] Fix timing issues for ESP32-builds for P073 TM1637
  • [Direct GPIO] Add missing function decl. for ESP8266
  • [Direct GPIO] Add missing function decl. for ESP8266
  • [ESP8266 build] Fix failing custom ESP8266 build using Custom.h
  • [ESP8266 build] Fix failing custom ESP8266 build using Custom.h
  • [WiFi] Fix setting hostname before starting WiFi on ESP8266
  • [WiFi] Fix build on ESP8266 SDK 2.7.4
  • [WiFi] Set ESP8266 hostname each time before starting WiFi.begin()
  • [TM1637] Fine tune signal timing
  • [TM1637] Fine tune signal timing
  • [TM1637] Make clock timing more constant + fix end of transmission mark
  • [TM1637] Make clock timing more constant + fix end of transmission mark
  • [TM1637] Pull DIO pin low before switching to input for ACK
  • [TM1637] Pull DIO pin low before switching to input for ACK
  • [TM1637] Change init procedure not calling directGPIO at init
  • [TM1637] Change GPIO toggling to toggle input/output + enable pull-up
  • [TM1637] Fix proper timings for start/end sequence
  • [TM1637] Change init procedure not calling directGPIO at init
  • [TM1637] Change GPIO toggling to toggle input/output + enable pull-up
  • [TM1637] Fix proper timings for start/end sequence
  • [ESP-IDF] Switch to latest ESP-IDF / Arduino SDK & GCC 15.2
  • [Build] Fix failing build for minimal_core_274_ESP8266_1M_OTA_FHEM_HA
  • [Build] Fix failing build for minimal_core_274_ESP8266_1M_OTA_FHEM_HA
  • [Build] Reduce build size by tweaking compile flags
  • [Build] Fix mDNS builds + failing FEATURE_MQTT_TLS=0 & HTTP_TLS=1
  • [ESP32-P4] Fix failing ESP32-P4 build due to upstream ESP-IDF changes
  • [mDNS] Fix mDNS on ESP8266
  • [ESPEasyP2P] Add ESP32-S31 as node ID to be recognized as ESP type
  • [Serial Console] Fix showing console output in VScode
  • [Console] Fix sluggish reply on console input + allow disable color logs
  • [Git] Add sdkconfig.* to .gitignore
  • [GPIO] Fix GPIO re-assign on ESP32 previously used by serial
  • [Build] Add missing changes for disable colorize logs
  • [ESP-IDF6.0] Add support for latest IDF6.0
  • [mDNS] Properly destruct MDNS objects when updating
  • [SPI Eth] Fix SPI Ethernet using correct SPI bus
  • [ESP-IDF] Revert to IDF 5.5.3
  • [SPI] Fix build on ESP32C3
  • [SPI] Simplify SPI code + fix SPI bus selection
  • [Build] Fix build missing #if FEATURE_SD
  • [Web UI] Fix selected disabled item not getting saved
  • [SPI] Fix potential uninitialized spi gpio pins
  • [WiFi-AP] Extend WiFiAPmode command to toggle WiFi-AP without disable it
  • [P169] AS3935 Lightning Detector was missing from Climate B builds
  • [Network] Fix starting fallback interfaces if all are fallback on ESP32
  • [mDNS] Add mDNS for ESP32 builds
  • [mDNS] Update ESP32 mDNS lib + improve handling fallback AP on ESP8266
  • [Docs] Update links to datasheets + TR of supported ESP chips
  • [Docs] Fix frequency of ESP32-S31 + ESPEasy supported since
  • [Docs] Fix rendering supported CPUs table
  • [mDNS] Add flag to toggle mDNS
  • [Network] Reduce includes in network code
  • [Network] Fix failing custom_beta_2ndheap_ESP8266_4M1M
  • [Network] Reduce number of includes in WiFi/Network code
  • [Build] Fix hard_SONOFF_POW_4M1M build
  • [Cleanup] Reduce number of includes
  • [Build] Fix failing build collection_C_ESP32_IRExt_4M316k
  • [WiFi] Fix odd WiFi behavior on ESP8266
  • [Build] Reduce size of custom ESP8266 build
  • [ESP8266] Simplify device info functions on ESP8266
  • [ESP8266] Define more bus specifics for ESP8266 in esp8266_soc_caps.h
  • [Cleanup] Add 'override' to virtual controller queue functions
  • [Cleanup] Add 'override' to virtual functions libs changed for ESPEasy
  • [Cleanup] Fix failing builds due to different virtual function sigs
  • [Network] Cleanup code + show connection info on ESP8266 adapter page
  • [Cleanup] Comment unused NWPluigin functions
  • [mDNS] Disable mDNS in builds as it is considered unstable
  • [WiFi] Fix initial WiFi setup via soft-AP
  • [Build] Fix missing include for ESP32 builds
  • [WiFi] Fix uncrustify messing up wifiChannels table
  • [WiFi] Fix captive portal and initial setup for ESP32-S2
  • [WiFi] Fix crash on saving WiFi settings with active network connections
  • [WiFi] Add OTA update for ESP-Hosted-MCU on ESP32-P4
  • [sendToHttp] Fix SendToHttp HTTPS command using HTTPClientLight
  • [Build] Fix include for ESP8266 builds
  • [sendToHTTP] Fix sendToHTTP using the new lib for https. (revuew by Ton)
  • [ESP-IDF] Update to latest ESP-IDF/Arduino
  • [RMII Eth] Fix setting clock mode + document NW config import/export
  • [Docs] Update ESP-Chips table
  • [ESP32P4r3] Add support for ESP32-P4 rev3
  • [Eth] Fix static IP for Ethernet
  • [Build] Fix missing include on minimal_core_312_ESP8266_1M_OTA_Domoticz
  • [Build] Fix missing include for collection_H_ESP32_IRExt_4M316k build
  • [WiFi] Fix slowdown issues using Eth on ESP32-P4 with WiFi off
  • [WiFi] Make Captive Portal more intuitive and only act when connected to AP
  • [WiFi] Fix continuous logs flood + fix check for no credentials
  • [Build] Fix ESP8266 build
  • Fix syslog packets contain only a prefix (#5538)
  • [ETH] Fix setting static IP for Ethernet network interfaces
  • [Build] Remove normal_beta_ESP8266_16M_LittleFS
  • [Build] Fix missing include
  • [WiFi] Fix static IP for WiFi
  • [WiFi] Fix static IP for ESP8266
  • [ESP32S2] Add MAX 8M1M build for ESP32-S2
  • [ESP-IDF] Update to latest IDF/Arduino code
  • [Sysinfo] Fix reporting used sketch size on sysinfo page
  • [Console] Fix setting correct TX buffer size + add checks + cleanup
  • [WiFi] Fix setting init/exit/gotIP flags on Network interfaces
  • [ESP32S2] Fix using UART/USBCDC on ESP32S2
  • [WiFi] Fix some minor WiFi issues when saving settings (still 5min wait)
  • [WiFi] Fix WiFi reconnect + event duplicates on ESP8266
  • [ESP32P4] Fix crashes on older ESP-HOSTED-MCU fw & detection 32M flash
  • [32M flash] Fix including all 'MAX' plugins for 32M flash builds
  • [ESP-Hosted-MCU] Fix OTA URL + speedup log output to serial
  • [ESP32-P4] Enable WiFi STA interface on factory reset
  • [Webflasher] Add 32M builds to the page generator script
  • [Webflasher] Use flash size detection to simplify MAX build selection
  • [webflasher] Cleanup Python script to generate page + set to 460800 baud
  • [DirectGPIO] Use low-level HAL commands from ESP-IDF for ESP32-xx
  • [PubSubClient3] Update to latest MQTT Client PubSubClient3
  • [Network] Improve response time on network disconnect for MQTT client
  • [Network] Add setting whether to collect network stats (ESP32-only)
  • [ESP32S2] Improve free RAM on ESP32S2
  • [Network] Fix crash saving network interface settings with p2p active
  • [TM1637] Fix ESP8266 not working with TM1637 (#5541)
  • [ESP32S3] Fix random crashes on ESP32S3 with PSRAM
  • [WiFi] Fix using all set WiFi credentials
  • [AccessControl] Fix checking for allowed IP range
  • [ESP8266] Fix ESP8266 builds missing include
  • [WiFi AP] Fix really stupid error setting WiFi AP static IP
  • [ESP-IDF] Update Arduino/ESP-IDF to latest version
  • [WebFlasher] Update webflasher to 12.2.4
  • [Network] Fix route setting priority (ESP32-only)
  • [Network] Fix properly clearing runtime data when starting nw interface
  • [Arduino 3.3.9] Update to latest espressif32/Arduino 3.3.9
  • [Docs] Add link to Supported Features and Peripherals on ESP32-xx
  • [AccessControl] Fix checking for allowed IP access of webinterface
  • [Build] Fix custom build missing an include for Metrics.cpp
  • [Build] Fix sort custom vars on ESP8266
  • [SysVarSort] Only sort system variables on ESP32 due to build size
  • [WiFi] Fix stack overflow crash when no credentials set
  • [WiFi] Simplify state machine for WiFi STA
  • [WiFi] Update WiFi state diagrams
  • [WiFi] Simplify WiFi STA state machine
  • [WiFi] Cleanup STA state machine code
  • [WiFi] Add state diagrams to WiFi documentation
  • [Network] Simplify connected/disconnected and enabled/disabled events
  • [PWM] Disable fade for ESP32 PWM for now.
  • [SendToHttps] Fix crash and actually working + connect timeout
  • [Build] Fix failing ESP32C2 Safeboot build.
  • [SendToHttps] Log HTTP return code even on BUILD_NO_DEBUG
  • [Forms] Add optional changed bool to simplify checking for changes
  • [Webserver] Remove code duplication send start of page
  • [Webserver] Remove & simplify duplicate code send end of page
  • [PPP] Show info even when no connection to provider is active
  • [PPP Docs] Add documentation on NW005 PPP Modem
  • [PPP Docs] Add description and some tips regarding power
  • [Docs] Add documentation for WiFi STA/AP + reformat other network docs
  • [Docs] Describe WiFi modes and Passive/Active scan
  • [WiFi] Simplify passive/active scan note
  • [Docs] Describe rest of WiFi settings
  • [Docs] Fix section/subsection marking on PPP page.
  • [Docs] Remove empty 'Description' subsection from NW001 page
  • [Docs] Add missing documentation for WiFi AP + cleanup network docs
  • [Network] Add option to append NW interface name to hostname
  • [Docs] Add link of ESP32-Arduino supported features per ESP32-variant
  • [Cleanup] Set development/debug log as LOG_LEVEL_DEBUG
  • [Network] Add "Append Name to Hostname" to import/export
  • [Network] Fix import/export for WiFi STA and AP
  • [Docs] Document the Network overview tab
  • [Docs] Document the devsecurity.dat file
  • [Docs] Add missing network overview tab screenshot
  • automatically updated release notes for mega-20260720

Ton Huisman (166):

  • [SPI] Add support for multiple SPI buses
  • [P095] Enable support for configurable SPI bus
  • [P104] Enable support for configurable SPI bus
  • [P116] Enable support for configurable SPI bus
  • [P141] Enable support for configurable SPI bus
  • [P172] Enable support for configurable SPI bus
  • [P162] Enable support for configurable SPI bus
  • [P162] Fix compilation for ESP8266
  • [P125] Enable support for configurable SPI bus
  • [P118] Enable support for configurable SPI bus
  • [P111] Enable support for configurable SPI bus (and reformat source)
  • [P099] Enable support for configurable SPI bus
  • [P096] Enable support for configurable SPI bus
  • [P039] Move (nearly) all code to PluginStrucs files
  • [P039] Enable support for configurable SPI bus
  • [SPI] Show SPI Bus selector also if only second bus enabled
  • [SPI] Fix initialization for standard FSPI bus
  • [SPI] Improvements in cross-bus GPIO config validation
  • [Storage] Add settings for External EEPROM
  • [SPI] Rename SPI1 object to SPIe to avoid conflict for ESP32-Classic builds
  • [SPI] Code improvements, separate SPI functions, re-init SPI when saving Hardware page
  • [P039] Fix compiler warning (nested comments)
  • [MQTT] Reconnect on unexpected network interruptions
  • [SPI] Disconnect SPI GPIO pins also when not using them
  • [P116] Fix GPIO display on Devices page, no default GPIO pins for ESP32
  • [P095] Fix GPIO display on Devices page, fix typos, no default GPIO pins for ESP32
  • [SPI] Rename settings variable for better usage indication (review comment)
  • [MQTT] Cancel background connection request after 2 minutes when still not connected
  • [MQTT] Fix reconnect on unexpected network interruptions
  • [Discovery] Avoid setting the timeout more than once
  • [MQTT] Use client timeout for delay between connection attempts
  • [Build] Fix missing FEATURE_SD check
  • [P132] Additional support for INA226, INA228, INA230, INA231 and INA260
  • [P132] Fix some typos
  • [P132] Fix some more typos
  • [P132] Fix one more typo and clean up code
  • [P132] Add INA231 to plugin name
  • [P132] Update documentation
  • [P132] Fix conversion rate settings for INA228
  • [P132] Fix defaults for INA228
  • [P132] Update documentation for INA228 conversion rates
  • [P132] Refactor Shunt settings and add more high-current options
  • [P132] Update documentation for extended Shunt setting
  • [P132] Fix rounding for 400A shunt
  • [P132] Better selector-descriptions for shunt values
  • Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/SPI-add-support-for-multiple-buses, fix conflicts
  • [P135] Bugfix: Correct Discovery VTypes
  • [SPI] Add SPI bus selector to SPI Ethernet plugin
  • [MQTT] Bugfix: Import wasn't initiated and handled correctly
  • [Cleanup] Remove Provisioningxxx fall-back commands and other fixes
  • [Docs] Fix some small typos
  • [Log] Restore EVENT: (some event) in logging for BUILD_NO_DEBUG builds
  • [Log] Restore ACT : (rules action) in logging for BUILD_NO_DEBUG builds
  • [P073] Bugfix: Display stays blank after upgrade without settings-save (#5475)
  • [P132] Improve calculation accuracy determining shunt microVolt factor
  • [P132] Only read measurement when conversion is ready
  • [P132] Enable extended features for Energy build ESP8266 for now
  • [Build] Fix compilation with Custom.h and TLS on ESP32
  • [Fixes] Various fixes and improvements Feb 2026
  • [CI] Fix github yaml syntax issues
  • [P132] Fix MQTT Discovery for Power setting
  • [Docs] Fix warnings and doc-build errors, remove deprecated plugin from conf.py
  • [P104] Add font with Cyrillic characters in high-ASCII area
  • [P104] Updated documentation for Cyrillic font
  • [P104] Updated Cyrillic ext. font with more elaborate character set
  • [P104] Updated Cyrillic ext. font with a more visually pleasing character set
  • [SPI] Add support (check) for ESP32-C61 in getSPIBusCount()
  • [P180] Set Cache-name field by default when empty for better performance, docs updated
  • [Docs] Use pioarduino plugin instead of PlatformIO for VSCode
  • [Docs] Fix error in internal commands list so it is visible again
  • [Build] Disable unneeded 'page will reload' messages
  • [Docs] Fix typo
  • [Feature] Split Interfaces page into separate tab per interface
  • [Build] Remove unneeded ifdef check
  • [UI] Add support for collapsible sections on web pages
  • [Interfaces] Add collapsible sections for I2C and SPI configuration
  • [Build] Fix compiler warnings
  • [UI] Fix minor display issue
  • [UI] Add support for collapsible sections on web pages
  • [Docs] Move Interfaces and Network docs to more appropriate locations
  • [Docs] A few textual updates
  • [P104] Improved Cyrillic font
  • [UI] Improved css when used on small screens
  • [UI] Improved css when used on small screens, more updates
  • [UI] Improved css when used on small screens, more updates
  • [P104] Update Cyrillic font doc screenshot
  • [P104] Improved Ë and ë in the Cyrillic set to align with the other Cyrillic characters, and updated screenshot
  • [UI] Improved css to have a pointer cursor and some spacing around the Details... label
  • [UI] Fine-tune css for nicer menu tabs in dark mode
  • [UI] Revert: Fine-tune css for nicer menu tabs in dark mode
  • [UI] Fine-tune css for nicer menu sub-tabs (Interfaces)
  • [UI] Fine-tune css fixes by @chromoxdor
  • [UI] Compatibility css fix by @chromoxdor
  • [Docs] Separate ESP32 and ESP8266 status
  • [Docs] Separate status for ESP32 and ESP8266 on each page
  • [Docs] Small update on excluded plugins
  • [Docs] Small updates for supported chips
  • [Docs] Small updates for supported chips
  • [UI] Disable the Interfaces/Modbus subtab for now, as it's still TODO
  • [Docs] Update documentation
  • [Build] - Ignore clangd configuration file
  • [Build] Add P047 (Moisture sensors) to Climate B, as mentioned in the docs
  • [Advanced] Remove I2C ClockStretchLimit note
  • [Network] Fix missing reload-indicator for Network Driver selector
  • [Docs] Corrections for some recent changes
  • [Docs] Expand description for creating a Custom build
  • [Docs] Expand description for creating a Custom build, small typo fixes
  • [Bugfix] [I2C] Connection-check failure didn't correctly disable the plugin
  • [P180] [BusCmd] Allow rules variables in get/read and put/write (bus) commands
  • [Build] Use pioarduino also on Github builds
  • [Build][GH] Bump github-scripts plugin from v8 to v9
  • [Build] Rename library.json for HeatpumpIR to avoid constant re-installs of (outdated version) IRremoteESP8266
  • [P180] [BusCmd] Allow rules variables in read and put/write (bus) commands
  • [P180] Process I2C commands synchronous when called from rules and other internal sources
  • [P180] Update documentation
  • [P180] [BusCmd] Allow rules variables in read and put/write (bus) commands
  • [P180] Update documentation
  • [Build] Create separate ESP32P4 binaries zip in release script
  • [Fixes] %iswifi% report status value instead of boolean
  • [Metrics] Add network traffic data TX/RX bytes and frames (Prometheus)
  • [Docs] Fix typo
  • [Ni]otifications] Add usesTLS flag to attributes and show in PluginList
  • [Ni]otifications] Add usesTLS flag to attributes and show in PluginList
  • [Network] Add define to select factory-default network adapter
  • [Custom] Add some missing #define variables to Custom-sample.h
  • [Network] Fix struct initialization
  • [Settings] Fix waring for VariousBits_2
  • [Network] Add size-check for NetworkDriverStruct
  • [Custom] Add secure Cloudflare DNS entries
  • [Docs] Fix missing column for LoopTimerSetAndRun
  • [Build] Add C5 4MB Custom, 16MB MAX and 32 MB MAX32 and P4 32MB MAX32 builds
  • [Build] Fix a few typos in 32MB board definitions
  • [Build] Missed a typo in 16MB board definition
  • [Dist] Update Espressif Flash Download tool to v3.9.10
  • [Build] Update documentation
  • [Network] Allow network interfaces to be enabled on factory reset
  • [Network] Fix small typo
  • [P180] Add documentation for TCA9554 I/O extender to control relays
  • [P073] Fix build with P073_DEBUG and BUILD_NO_DEBUG enabled
  • [Build] uv: Activate the PENV, then install missing requirements there
  • [C016] Remove Experimental label, clean up initialization
  • [Network] Initially collapse the Statistics section of the page
  • [Metrics] Only export metrics when stats enabled
  • [Build] Fix comment
  • [Network] Allow to not default-enable WiFi interface
  • Revert: [Metrics] Only export metrics when stats enabled
  • [Docs] Fix link to I2C Bus settings
  • [Console] Accept all valid ASCII characters for input
  • [Build] Fix install-requirements script on Windows
  • [UI] Update icon for Tools tab
  • [P039] Fix for initialization error
  • [SysVars] List variables numerically sorted
  • [SysVars] Sort alphabetic values too (though they come in already sorted)
  • [Docs] Suggest VSCode plugin TODO Highlight as Todo Tree doesn't work anymore without an external tool
  • [Docs] Update VSCode plugin list
  • [C005] Add note MQTT Auto Discovery not enabled in ESP8266 builds
  • [Bugfix] Improve initialization of Task Interval
  • [Bugfix] Partial revert for saving Task Interval
  • [Bugfix] Include PLUGIN_FORMAT_USERVAR values for json updates
  • [PLUGIN_FORMAT_USERVAR] Allow optional value display formatting by setting ParN[idx] to 1
  • [P126][P129] Code optimization by moving ul2stringFixed to StringConverter_Numerical
  • [P126][P129] Code optimization using ceilf instead of ceil, fix conditional compile error
  • [Docs] Small typo P124
  • [Bugfix] Limit humidity to 100% after applying temperature compensation
  • [UI] DevicesPage: Hide Controllers if no values to send
  • [Docs] Clarification about Collection builds including Normal plugin set, mention 32MB flash units

andbad (18):

  • Update _P036_FrameOLED.ino
  • Add new display configuration for 72x40 resolution
  • Add case for pix72x40 resolution handling
  • Update p036_resolution enum values
  • Add new display option '72x40' to OLed_helper
  • Fix enum values for p036_resolution
  • Reorder resolution options in OLED frame
  • Fix formatting of optionValues array in FrameOLED
  • Reorder display size options in OLed_helper.cpp
  • Remove and re-add 72x40 resolution configuration
  • Update OLedFormSizes call to include element count
  • Update OLedFormSizes to use optionsSize parameter
  • Add default parameters to OLedFormSizes function
  • Refactor FormSelectorOptions initialization
  • Fix formatting of enum value for p036_resolution
  • Fix formatting in P036_data_struct.h
  • Add 72x40 OLED size to changelog
  • Add 72x40 size

chromoxdor (35):

  • Update for the HTTP Response Parser
  • minor changes
  • Update HTTPResponseParser.h
  • Update HTTPResponseParser.h
  • HttpResponseParser fix:prevent race condition
  • [ESP8266] Enable CORS globally
  • [CSS] Future CSS for Wi-Fi & Interfaces tab
  • no need here
  • [CSS] small update
  • Update HTTPResponseParser.cpp
  • Update HTTPResponseParser.cpp
  • update colorcode files
  • Update HTTPResponseParser.cpp
  • FIX json?showpluginstats
  • Update espeasy.min.js
  • [ESP8266] Enable CORS globally (Update)
  • [LOG] add filter
  • [LOG] refining the filter
  • [LOG] revert changes for plugin_sets
  • [LOG] add filter field for older builds
  • [LOG] reverting accidents
  • [LOG] autoscroll fix, code reduction
  • [LOG] Removed unnecessary code.
  • [LOG+DevicePage_JS] refining the device page JS
  • [JS] update WebStaticData.h
  • [LOG] Fix for the minified JS
  • Delete fetch_and_parse_log.min.js
  • [PWM] Fix led flickering
  • [PWM] undoing 16-bit changes
  • Update Hardware_PWM.cpp
  • [PWM] add ledcReadFreq(pin) for comparison
  • [PWM] multipin state tracking
  • Update Hardware_PWM.cpp
  • [PWM] using ledcRead()
  • [PWM] reduce function

dependabot[bot] (3):

  • Bump actions/download-artifact from 7 to 8
  • Bump actions/upload-artifact from 6 to 7
  • Bump actions/checkout from 6 to 7

yosinn1-blip (2):

  • docs: fix received spelling in docs
  • docs: fix occurrence spelling in docs
View originalPermalink
How mega-20260720 went
mega-20260125

mega-20260121 (20260108-hotfix)

Fixed 4
  • Fix 128×64 OLED display showing only left half in display_A builds
  • Correct Discovery VTypes for P135
  • Fix MQTT import not being initiated and handled correctly
  • Fix P073 display staying blank after upgrade without settings save

This is a hotfix for 4 issues found since the 20260108 build:

TD-er:

  • [OLED] Fix: 128×64 shows only left half in display_A builds (letscontrolit#5469)

TonHuisman:

  • [P135] Bugfix: Correct Discovery VTypes
  • [MQTT] Bugfix: Import wasn't initiated and handled correctly
  • [P073] Bugfix: Display stays blank after upgrade without settings-save (letscontrolit#5475)
View originalPermalink
How mega-20260125 went

mega-20260108

Release mega-20260108

Changes in mega-20260108 (since mega-20260107):

TD-er (2):

  • Add Python version for prepare-dist in release.yml
  • automatically updated release notes for mega-20260108

Since the build of 20260107 failed, here those release notes:

Changes in mega-20260107 (since mega-20250430):

Bartłomiej Zimoń (4):

  • Update Flashing.rst
  • Update Flashing.rst
  • Update Flashing.rst
  • Update Flashing.rst

Fabio Ancona (2):

  • Update LD2410 doc adding info of false positive
  • Update P159.rst

Jason2866 (8):

  • remove cache use uv
  • Update build.yml
  • Update post_esp32.py
  • Update post_esp32.py
  • add forgotten function
  • missing import os
  • Update post_esp32.py
  • remove cache use uv

TD-er (56):

  • [Favicon] Serve favicon.ico as inline SVG
  • [settings] Reduce initial default config.dat to 96k on ESP32
  • [JSON] Tweak generating JSON via web requests
  • [Favicon] Tweak blue color in SVG ESPEasy favicon
  • [Time] Speedup printing date/time string
  • [Build] Remove TAR support from LIMIT_BUILD_SIZE builds (saves 5+ kB)
  • [OLED display] Reduce build size for P023
  • [SysVarPage] Fix table layout on builds with excludes features
  • [SysVarPage] Make more clear separation for "Standard Conversions"
  • [Sysvar] Enable %c_random% for all builds
  • [ESP32-S2] Change ADC for ESP32-S2 back to 13 bit
  • [ESPtool] Prepare use of esptool v5.0.0
  • [Build] Get rid of all ESP32-SPIFFS builds
  • [ESPtool] Prepare use of esptool v5.0.0
  • [ESPEasy p2p] Add node-IDs for new Espressif SoC models
  • [ADC] Fix not setting attenuation on internal ADC
  • [Build] Update to latest IDF5.4 build + add C6 builds
  • [ESP32-S3] Revert changes in board defines for ESP32-S3 with OPI PSRAM
  • [Build] Speed up ESP32 builds via CompiletimeDefines_generated.h
  • [WebFlasher] Add missing ESP32-xx MCUs to manifest script
  • [Build] Speed up ESP32 builds via CompiletimeDefines_generated.h
  • [WebFlasher] Add missing ESP32-xx MCUs to manifest script
  • [Rules] Fix processing variables with index > 2^31
  • [MFRC522] Speed-up detecting cards + make error recovery more stable
  • [MFRC522] Improve range of reader
  • [MFRC522] Simplify board reset during init
  • [MFRC522] Allow to dump card info to debug logs
  • [MFRC522] Do proper timing for communicating with card
  • [MFRC522] Speedup reading by acting on interrupt pin
  • Add HTML_Print and PrintToString helpers
  • [Log] Add PrintToLog helper
  • [PWM motor] Speedup acting on limit switch interrupt
  • [ESP-IDF] Update to latest SDK version
  • [WebFlasher] Add more info on migrate to LittleFS on web flasher page
  • [WebFlasher] Update LittleFS migration guide in webflasher page
  • [PWM motor] Fix limit switch invert (again)
  • [PubSubClient] Update to new fork PubSubClient3
  • [PubSubClient3] Speedup publish large messages using buffer
  • [PubSubClient3] Add check for nullptr in CHECK_STRING_LENGTH
  • [Controller] Fix crashes on MQTT callback calls
  • [WebServer] Properly close chunked transfer
  • [Cleanup] Fix JS issues + correctly end chunked transfer
  • [Build] Try fixing failing solo1 build
  • [ESP32-U4WDH] Fix bootloop on non-Solo1 builds
  • Fix missing #ifdef USES_P056
  • [Build] Fix missing #ifndef LIMIT_BUILD_SIZE
  • [SysVars] Fix showing variables with hex number as index
  • [MQTTDiscovery] Reduce mem alloc MQTT_DiscoveryPublishWithStatusAndSet
  • Reduce ESP32 Display build size (BUILD_NO_DEBUG)
  • [CacheReader] Fix continue reading after crash/reboot
  • [CacheReader] Fix reading cache files from CacheController
  • [CacheReader] Add support for 64bit ints + output as events
  • [CacheReader] Fix incorrect settings array index
  • [Build] Limit package building to use Python 3.13
  • [Collection] Remove P038 and P095 from ESP32 Collection builds
  • automatically updated release notes for mega-20260107

Ton Huisman (369):

  • [P073] Add support for 74HC595 displays
  • [P073] Disable debug log
  • [P073] Make build fit again (part 1)
  • [P073] Make build fit again (part 2)
  • [P094] Remove from Collection D for ESP8266 buildsize
  • [P073] Move most code to PluginStruct files, explicit compile-time defines
  • [P073] Make 7-segment font functions publicly available
  • [P073] Separate 74HC595 multiplexed displays, code improvements
  • [P073] Update documentation
  • [P073] Disable 74HC595 displays for now
  • [P073] Add double-buffering for 74HC595 displays
  • [P073] Make some functions available externally, fix 74HC595 matrix display (sort-of, still some flickering)
  • [P073] Fine-tuning and allow to include 74HC595 in ESP8266 Custom builds
  • [P073] Make P073_revert7bits() available for global use
  • [P073] Fix copy/paste error
  • [P073] Use more efficient bit-revert algorithm, as suggested
  • [P073] Add option for time-blinking the second dot instead of the colon
  • [P073] Use DIRECT_PIN_IO for TM1637 displays for better timing accuracy
  • [P073] Update documentation
  • [P073] Should use the public function
  • [P165] Fix compiler warning
  • [MQTT] (Auto)Discovery implementation
  • [P052] Add MQTT Discovery data for supported Values
  • [Source] Fix CR/LF vs LF
  • [MQTT] Add support for more VTypes, implement more VTypes, small improvements
  • [MQTT] Move TaskValue VType Discovery to each plugin where needed. Some other code improvements
  • [P105] Fix Uncrustify formatting
  • [P164] Add fixme for currently unsupported AQI Discovery value
  • [Discovery] Add VType for Reactive Power
  • [Discovery] Implement VType for Reactive Power
  • [P076] Implement Discovery support (for user-selected values)
  • [P077] Implement Discovery support (for user-selected values)
  • [P078] Implement Discovery support (for user-selected values)
  • [P085] Implement Discovery support (for user-selected values)
  • [P102] Implement Discovery support (for user-selected values)
  • [P108] Implement Discovery support (for user-selected values)
  • [P115] Implement Discovery support (for user-selected values)
  • [P132] Implement Discovery support (for user-selected values)
  • [P142] Implement Discovery support (for user-selected values)
  • [Discovery] Refactor getting VType per plugin, add some more plugins for AutoDiscovery
  • [Discovery] Add support for some more VTypes, add AQI and NOx
  • [P147] Implement MQTT Discovery support
  • [P164] Update MQTT Discovery support
  • [EasyColorCode] Updates April 2025
  • [P020] Update documentation
  • [P116] Fix typo in docs
  • [P180] Add plugin Generic I2C
  • [P180] Add also to Display, Energy and Neopixel collection builds (ESP32 only)
  • [P180] No defaults for I2C address or number of values
  • [P180] Cleanup memory after use, fix ESP8266 compilation
  • [P180] Cleanup memory after use, fix ESP8266 compilation
  • [Rules] Fix parsing bracketed expressions from position 0
  • [P180] Add conditionally cancelling a command sequence (if)
  • [Rules] Add support for crc8 and crc32 functions
  • [P180] Optimize hex formatting, add preprocessed calculation to logging
  • [Rules] Add optional validation of crc to crc8 and crc32 functions
  • [EasyColorCode] Add more plugin commands
  • [P180] Correct regular value handling, improved hex formatting
  • [P180] Add documentation and usage examples
  • [P180] Add exec subcommand, add valuename support, fix issue updating command-cache
  • [P180] Add handling 1/sec, 10/sec and 50/sec event processing, add log subcommand
  • [P180] Update documentation and usage examples
  • [P180] Update documentation and usage examples
  • [EasyColorCode] Update commands for P180
  • [Docs] Add examples for substring for translation of day/month names
  • [P180] Add let I2C Command, limit delay to max 10ms for 1ps/10ps/50ps
  • [P180] Add to Custom-sample.h
  • Bugfix [P075] Typo in check for RxD GPIO pin
  • [P180] Refactor into BusCmd, phase 1
  • [P021] Bugfix: Make Invert work without a GPIO pin selected
  • [P180] Refactor into BusCmd_Handler interface, phase 2, Add String support
  • [P180] Remove previously added but unused I2C functions
  • [P061] Resolve I2C related FIXMEs, gaining ~120 bytes
  • [P180] Update documentation
  • [P011] Optimize I2C calls, gaining ~110 bytes
  • [Discovery] Add /config and Retain Discovery settings to MQTT Controller with AutoDiscovery
  • [Discovery] Fix Switch auto-discovery [Discovery] Add support for Inverted Switch [Discovery] Add support for Switch Device Class configuration
  • [P001] Implement Switch MQTT Device Class setting and Inverted Switch discovery
  • [P009] Implement Switch MQTT Device Class setting and Inverted Switch discovery
  • [P001][P009] Correct typo
  • [P019] Implement Switch MQTT Device Class setting and Inverted Switch discovery
  • [P021] Implement Switch MQTT Device Class setting and Inverted Switch discovery
  • [Discovery] Add support for different Switch device class per value
  • [Rules] Add support for String type variables
  • [StringVars] Fix variable typo
  • [StringVars] Remove unneeded UnaryOperator::IsNum
  • [StringVars] Fix new introduced template parser bug
  • [StringVars] Make string comparisons work with if
  • Add new commands and functions for String variables support
  • [SysVars] Make second argument for 2-argument conversions optional
  • [StringVars] Add documentation
  • [StringVars] Add documentation for [length#var]
  • [Bugfix] String commands parser fix off-by-one issue
  • [Rules] Add string function Lookup with docs
  • [Rules] Add conversion function %c_strf%() with docs
  • [Rules] Fix typo in docs
  • [StringVars] Add TaskValueSetDerived, TaskValueSetPresentation commands and handling
  • [StringVars] Add TaskValueSetDerived, TaskValueSetPresentation docs
  • [Docs] Move Data Acquisition to separate include file
  • [StringVars] Avoid calculation of formula with presentation prefix ($)
  • [StringVars] Improved handling of calculated values for Derived values
  • [SysVars, Conversions] Add %localunixtime%, %systzoffset_s% sysvars and %c_ts2date%() conversion + docs
  • [SysVars] Exclude %localunixtime% from Limited builds
  • [SysVars] Rename %localunixtime% to %unixtime_lcl%
  • [DerivedValues] Add Event & Log option and generate events and logging for Derived values, update docs
  • [SysVars] Add %c_ts2wday%(timestamp) (dow) conversion and docs
  • [EasyColorCode] Add more new commands and functions for String variables support
  • [P180] Add GET_CONFIG_VAR support
  • [Discovery] Fix typo in BinarySensorInverted helper
  • [Docs] Update WSL2 USB Serial configuration since Linux 6.x core update
  • [Feature] Add Unit of Measure for all taskvalues and present on Devices overview page
  • [UoM] Add Unit of measure value to /json endpoint
  • [UoM] Add Unit of measure value Devices overview page update script (also uses Presentation if available)
  • [Build] Reduce size of included Github clipboard script
  • [Build] Include reboot.js script in readable form
  • [Build] Reduce size of included Fetch and parse logs script
  • [UoM] Add Unit of measure value Devices overview page update script (also uses Presentation if available)
  • [JSON] Add Presentation as separate value instead of replacing Value (using updated .js scrip)
  • [UoM] Make .js script more fault tolerant when no global UoM enable setting is available
  • [DerivedValues] Don't determine max decimals for display but use default
  • [DerivedValues] Add optional Unit of Measure and include in /json output
  • [UoM] Make .js script more fault tolerant when no global UoM enable setting is available
  • [UoM] Optional default when fetching Unit of Measure
  • [Discovery] Implement UoM per taskValue when available
  • [I2C] Show I2C Bus nr in Not enabled message of i2cscanner
  • [I2C] Add a few missing I2C device addresses for INA219
  • [UoM] Add Feature TaskValue-attributes with support for .uom, .decimals, .hasformula and .statsenabled
  • [DerivedValues] Move parsing derived variables to correct code-location
  • [DerivedValues] Add TaskValue attribute support for DerivedValues (empty is not valid)
  • [Discovery] Add default empty option for Device Class selector (all values shift 1 index up!)
  • [P116] Add support for ST7735/ST7789 170x320 displays
  • [SysVarPage] Exclude c_random from list for limited builds
  • [UoM] Add documentation
  • [UoM] Update documentation
  • [UoM] Update documentation
  • [VTypes] Refactor SensorValueType selector so it can be used separately
  • [VTypes] Refactor SensorValueType selector so it can be used separately (cherry picked)
  • [ValueTypes] Add Custom VType selection
  • [Plugins] Add CustomVTypeVar option for plugins that need custom Value Type selection
  • [DerivedValues] Add support for Value Type argument
  • [AutoDiscovery] Add support for Derived values, UoM and Value Type, some code optimizations
  • [C006] Add support for sending derived values
  • [C014] Add Unit of Measure to AutoDiscovery, add Send Derived values support
  • [Docs] Updates and improvements, Summer '25
  • [Docs] Update docs for Value Type setting for selected plugins
  • [Docs] Move Send derived values as a per controller setting for tasks
  • [Derived Values] Move enable sending per task-controller, Code optimization
  • [C014] Docs: Update UoM feature
  • [P027] Docs: Fix a few typos
  • [P180] Improvements and fixes in handling of signed values
  • [Docs] Update/extend the SPIFFS to LittleFS migration procedure
  • [Docs] Update/extend the SPIFFS to LittleFS migration procedure
  • [Docs] Extract SPIFFS to LittleFS migration guide for accessability
  • [Docs] Expand SPIFFS to LittleFS migration guide, add troubleshooting section
  • [AutoDiscovery] Add support for Wind direction and Wind speed
  • [Plugins] Minor code improvement
  • [UoM] Restructure UoM selector into categories, add more uom options
  • [UoM] Fix UoM selector empty value
  • [Docs] Update Unit of Measure documentation and screenshots
  • [AutoDiscovery] Embed setting for online message in /config setting
  • [Docs] Update documentation for C005
  • [AutoDiscovery] Update PluginTemplate
  • [AutoDiscovery] Embed setting for online message in /config setting
  • [Docs] P165 Fix a few typos
  • [AutoDiscovery] Remove unused code
  • [AutoDiscovery] Make start delay compiletime configurable, and extend max delay from 10 to 30 sec.
  • [Docs] Update documentation for C005
  • [AutoDiscover] Add Duration, Date and Timestamp device classes, fix some irregularities
  • [AutoDiscover] Add Data rate, Data size, Sound pressure and Signal strength
  • [AutoDiscover] Refactor discovery message composition to reduce binary size by nearly 4k
  • [AutoDiscover] Set Unit of Measure and Value Type when adding a device (when possible/available)
  • [P095] Add ILI9342 display variants
  • [P095] ILI9342 added configurations, set resolution correctly
  • [P095] Update documentation
  • [UoM] Correct a few Value Type UoM defaults
  • [P026] Set default Value Type and UoM when changing a task value setting
  • [Converters] Add %c_ts2isodate%() Timestamp to ISO date conversion
  • [Converters] Add %c_ts2isodate%() Timestamp to ISO date conversion
  • [AutoDiscover] Clean names sent to HA by replacing unsupported characters by _
  • [Converters] Include system time-zone in %c_ts2isodate%() to have HA accept the Timestamp value type
  • [Converters] Make system time-zone optional in %c_ts2isodate%() (second argument != 0)
  • [Converters] Make system time-zone optional in %c_ts2isodate%() (second argument != 0)
  • [AutoDiscover] Add Date/Time (datetime) Device class
  • [AutoDiscover] Fix handling of BARO_ONLY values, and allow multiple BARO_ONLY values
  • [AutoDiscover] Remove non-working Date/Time (datetime) Device class :-(
  • [ValueTypes] Add categorized selector for Value Type per Value
  • [P176] Set default Value Types when adding the plugin
  • [ValueTypes] Fix optional None value
  • [P180] Remove unneeded code
  • [AutoDiscover] Try to get switch trigger working
  • [ValueTypes] Reorder value types somewhat, use categorized selector where applicable
  • [ValueTypes] Update documentation
  • [P014] Fix MQTT Discovery value types
  • [Build] Remove "CDC" from all env names due to linker issues
  • [MQTT] Fix command handling for /set and /cmd topic endpoints, add support for P001 in /set
  • [AutoDiscover] Mark some MQTT Device classes as 2-way to have on/off devices (Light)
  • [CustomVtype, UoM] Fix compilation for ESP8266 when not all enabled
  • [AutoDiscover] Better array index checks
  • [Backup] Add backup without credentials included (security.dat)
  • [Metrics] Add internal CPU temperature
  • [Backup] Use term credentials instead of username/password
  • [Backup] Update documentation
  • [Metrics] Update documentation
  • [AutoDiscover] Add support for P009 and P019, only send discovery for plugins that actually send data
  • [AutoDiscover] Fix flippin bit-flip issue
  • [AutoDiscover] Fix P021 not to be handled as a Switch
  • [Backup] Fix typo in variable name for ESP8266
  • [AutoDiscover] Fix Group configuration
  • [Backup] Compile error when TAR support disabled
  • [Libs] MFRC522 remove unused variable
  • [Libs] PubSubClient signed/unsigned comnparison warning
  • [AutoDiscover] Set default Auto Discovery topics when adding HA Controller
  • [P009][P019] Fix logging alignment
  • [AutoDiscover] Fix a few comments
  • [AutoDiscover] Docs improvement for Group feature
  • [TaskValueSetDerived] Improved parsing of Unit of Measure value
  • [AutoDiscover] Fix conditional compilation issue
  • [Rules] Enable rules by default on a clean install
  • [AutoDiscover] Add state_class support and some Value Types
  • [AutoDiscover] Enable state_class support for plugins and correct a few Value Types
  • [AutoDiscover] Update documentation
  • [AutoDiscover] Fix compilation when state_class support not enabled
  • [AutoDiscover] Small code improvement
  • [P078] Improved value descriptions and register appended, small code improvements
  • [Caches] Formatting (minor)
  • [P056] Add multi-instance use
  • [P078] Fix docs parser warning
  • [P056] Update documentation
  • [P102] Add support for PZEM-017v1
  • [P102] UI updates and corrections
  • [P102] Add documentation
  • [Build] Fix compiler warning for unused variable
  • [BusCmd I2C] Add support for handling > 128 bytes on I2C read/write (ESP32)
  • [BusCmd Helper] Add support for variable length string and buffers (Byte/Word), and some bugfixes
  • [P180] Update documentation
  • [BusCmd Helper] Send data & event when updating value.N from other than PLUGIN_READ action
  • [BusCmd Helper] Add LetStr I2C command, analogue to the LetStr Rules command, updated documentation
  • [P102] Small typo in documentation
  • [AutoDiscover] Use %sysname% instead of group_nr if Controller Group = UnitNr
  • [AutoDiscover] Update documentation for Group setting
  • [AutoDiscover] Add 15 more Value types and 7 UoM values, fix some default UoM
  • [AutoDiscover] Update Value type and UoM documentation
  • [MQTT] Add Retain option per task
  • [MQTT] Update documentation for Retained setting per task
  • [MQTT] Some documentation improvements
  • [Build] Add [P105] AHT2x to Collection G so it can be used with [P164] ENS160
  • [P089] Add support for ESP32
  • [P089] Remove unneeded attribute
  • [P089] Create separate Ping Service to handle single-instance Ping function sequentially
  • [P180] Add Tiny Code Reader example to documentation
  • [P180] Add optional skip argument to IF I2C command, update docs
  • [P021] Emphasize warning to prevent saving settings too often
  • [P039] Update SPI and GPIO documentation
  • [P037] Use configured decimals when generating events
  • [P037] Update documentation for: use configured decimals when generating events
  • [P168] Disable blocking Lux Read-Method options
  • [P168] Update documentation
  • [P102] Don't check non-available values for NaN
  • [P102] Correct documentation small typos
  • [MQTT] Handle connecting to broker as a background process
  • [Tools] Update documentation for MQTT Connect in background
  • [MQTT] Move Settings attribute to next available bit
  • [MQTT] Reconnect on unexpected network interruptions
  • [P089] Update documentation
  • [MQTT] Cancel background connection request after 2 minutes when still not connected
  • [MQTT] Fix reconnect on unexpected network interruptions
  • [Discovery] Avoid setting the timeout more than once
  • [MQTT] Use client timeout for delay between connection attempts
  • [Build] Fix missing include
  • [MQTT] Refactor background connection process to avoid logging from background task
  • [AutoDiscover] Fix small typos in default UoM list
  • [AutoDiscover] Fix spelling error in precipitation
  • [AutoDiscover] Fix spelling error in precipitation
  • [MQTT] Fix compilation on ESP8266 (Retain per task)
  • [P089] Bugfix: Putt include in scope
  • [P102] Use added setModel() method when needed
  • [P033] Enable formula field
  • [P033] Update documentation
  • [P102] Use defined constants
  • [P102] Add Submit instruction after use of 'Reset energy' mode
  • [P102] Update documentation
  • [Info] Emphasize the number of flash writes count since cold boot #3116
  • [C011] HTTP Advanced - Don't URL-encode header
  • [HTTP] Add support for TLS
  • [HTTP] Enable TLS support for Controllers using HTTP
  • [P002] Fix docs layout issue
  • [HTTP] Defensive programming in test for https url
  • [HTTP] Enable TLS support also for Controller C007 Emoncms
  • [Devices] Limit displaying of (old) Wiki Help button to P056 and below
  • [Devices] Limit displaying of (old) Wiki Help button to P079 and below
  • [MQTT] Reduce work/memory in background task, use xTaskDelay as required
  • [Docs] Correct some layout inconsistencies
  • [Docs] Update overview generator, include Notify and Network plugins
  • [Build] Fix compiler warning
  • [Tools] Add Plugin list overview page
  • [Tools] Update documentation for Plugin list
  • [Build] Split Display into Display A and Display B
  • [Build] Display A/B split: Update documentation
  • [Tools] Add documentation-button to Plugin list overview page
  • [Tools] Add preliminary support for Network plugins
  • [Docs] Add MQTT Device class documentation for plugins where available
  • [MQTT] Minor corrections
  • [TLS] Update TLS to be able to use ECDHE_ECDSA_AES_128_GCM_SHA256 cipher
  • [Docs] ESP8266 is Feature Complete!
  • [TLS-MQTT] Automatic switch to ECDSA when error is 296 (TLS handshake)
  • [MQTT AutoDiscovery] Add support for Switch Device Class
  • [MQTT AutoDiscovery] Update documentation for Device Class
  • [P026] Fix Value Type for TXpower to use dBm
  • [HTTP] Fix build and feature-enable for non-MAX builds
  • [HTTP] Update documentation for TLS options
  • [UoM] Refactoring to reduce page-load time and size
  • [Build] Add Collection H and split Climate into Climate A and Climate B
  • [Build] Fix build errors for Collection H and Climate B
  • [Build] Remove obsolete comments
  • [Build] Move more plugins from Collection G to H to make Collection G fit
  • [Build] Reduce build-size for all Collection builds using BUILD_NO_DEBUG
  • [Build] Reduce build-size for Collection C build
  • [P169] Fix DEBUG log
  • [Build] Avoid build-reduction for MAX builds
  • [Build] Avoid build-reduction for MAX builds
  • [P021] Code optimizations
  • [Build] Remove _LittleFS and _ETH from build names due to linker issues
  • [Build] Enable custom_remove_include to not build ignored libs
  • [Build] Limit package building to use Python 3.13
  • [UI] Update addTaskSelector() to use FormSelectorOptions
  • [Docs] P180 Add example for reading Sensirion SDP-8xx
  • [Docs] P180 Small corrections
  • [Docs] P180 Sensirion SDP-8xx add description for Single-shot measurement
  • [Bugfix] Don't use Flash-string parameter default as ESP8266 compiler doesn't support that
  • [Bugfix] PluginList add missing includes needed in some builds
  • [PluginList] Update for HTTPS TLS support
  • [Build] Fix SafeBoot build
  • [Bugfix] Derived values avoid parsing invalid values causing crashes
  • [Bugfix] Derived values avoid parsing invalid values causing crashes, more global fix
  • [Bugfix] Revert previous change as that didn't really fix the issue
  • [AutoDiscovery] Show Auto Discovery for Controllers that have this enabled (Task configuration)
  • [Bugfix] Calculation missed value when returning from multiple brackets
  • [Bugfix] MQTT StateClass selector stored wrong index
  • [P003] Enable MQTT State Class option so pulse-counter can be used for energy measurement (in HA)
  • [P180] BusCmd_Helper processing I2C commands via cmd subcommand was locked out
  • [SysVars] Add %latitude% and %longitude% vars and Latitude and Longitude commands
  • [SysVars] Documentation for %latitude% and %longitude% vars and Latitude and Longitude commands
  • [P180] Enable CustomVTypeVar and MQTTStateClass device flags
  • [P180] Fix typo in parameter for log subcommand
  • [P180] Add documentation for TF-Luna laser distance sensor
  • [P180] Small updates in documentation of TF-Luna laser distance sensor
  • [P180] Add documentation for QMC6310 3-axis magnetic sensor, add example-index to docs page
  • [Bugfix] Calculation of functions discarded the next operator
  • [Bugfix] Calculation of functions remove unneeded value duplication, small debug-code optimization
  • [Rules] Add some functions, conversions and constants
  • [Rules] Add some functions, conversions and constants, fix docs typo
  • [Docs] Updates and improvements (2025 Q4/2026-01)
  • [Stats] Add minp/maxp stats values and change min/max stats values for running min/max value, update docs
  • [Bugfix] Compilation error fix for custom IR build
  • [Bugfix] Metrix: Export 0 for empty values
  • [Bugfix] Metrix: Export 0 for empty values, fix for ESP8266
  • [AdaGFX] Fix tpm subcommand argument check
  • [Docs] Update copyright notice to show 2026
  • [AdaGFX] Fix space-height issue for some fonts
  • [P116] Add ST77xx resolutions 240x320 and 240x280
  • [P116] Allow for > 16 hardware types in selection
  • [P116] Update documentation with new resolutions
  • [P087] Add support for receiving binary data, fixed length data, and event as hex string
  • [P087] Update documentation
  • [P087] Add to ENERGY build (ESP32 only)
  • [Converters] Bugfix formatToHex_wordarray()
  • [P087] Use PCONFIG_ULONG to store new config flags
  • [P004] Change name to include DS18xxx/MAX31xxx for better recognizability
  • [P057] Add documentation as it wasn't included yet

chromoxdor (63):

  • Update Networking.cpp
  • a tiny bit better formatting
  • changes for OPENMETEO_EVENT and THINGSPEAK_EVENT
  • Update Networking.cpp
  • combining two functions
  • wrong use of concat times two :)
  • update
  • Update Networking.cpp
  • put thingspeak and openmeteo events into extra file
  • added inverter event
  • fix for not building on minimal_core_274_esp8266...
  • #ifdef to #if. m(
  • more universal json event approach
  • Update HTTPResponseParser.h
  • added variable decimals for floating point numbers
  • some changes to the json-event
  • made the eventQueue even more complex :P
  • minor changes
  • moved variable to cpp file
  • updates
  • Update HTTPResponseParser.cpp
  • Update define_plugin_sets.h
  • Update HTTPResponseParser.cpp
  • Update HTTPResponseParser.cpp
  • documentation and slight reduction of code
  • Update define_plugin_sets.h
  • corrected json examples
  • Docs: Formatting and linking
  • fixed typo
  • [P164 ] Adding a sleep mode
  • Update P164_data_struct.cpp
  • Update define_plugin_sets.h
  • Changes as requested
  • Update HTTPResponseParser.rst
  • Update HTTPResponseParser.cpp
  • ColorCode Additions
  • Update espeasy.js
  • forgot the "f" and the minified version
  • some unessecary commas removed
  • no indentation for comments....
  • added a format button if on mobile device
  • format even without colorcode enabled
  • more robust block checks
  • jump to line of first error and keep history
  • make it work for android non color rules again
  • Readded search bar and enhanced it.
  • fixed broken replace function
  • forgot someting to change
  • find while typing
  • fix replace
  • more robust live search handling
  • removed unnecessary function
  • scroll to top when found
  • Update codemirror.min.css
  • replace: scroll to top too
  • as good as it gets :)
  • minor corrections help text
  • rephrasing of the confirm dialog
  • fix: jump back to cursor position after formatting
  • ..and remove an old dialog before opening a new one
  • disable shortcuts
  • disable shortcut: forgot to add the corresponding function
  • Update espeasy.min.js

dependabot[bot] (10):

  • Bump cryptography from 43.0.1 to 44.0.1
  • Bump actions/download-artifact from 4 to 5
  • Bump actions/checkout from 4 to 5
  • Bump actions/setup-python from 5 to 6
  • Bump actions/github-script from 7 to 8
  • Bump actions/download-artifact from 5 to 6
  • Bump actions/upload-artifact from 4 to 5
  • Bump actions/checkout from 5 to 6
  • Bump actions/upload-artifact from 5 to 6
  • Bump actions/download-artifact from 6 to 7

jfmennedy (1):

  • Fix horizantal vane not working

repa6 (7):

  • added TAC2100 support to _P078_Eastron plugin
  • Update _P078_Eastron.ino with changelog info
  • Update P078_data_struct.h: added comma after TAC2100=7
  • extended TAC2100 registers list and added TAC2100 to docimentation
  • fixed redister nature of load
  • Update P078_data_struct.cpp - added nat:load to SDM_UOMtoString strings
  • Update P078_data_struct.cpp - updated register addresses for the last 5 registers of TAC2100
View originalPermalink
How mega-20260108 went

mega-20250430

Release mega-20250430

Last ESP32-xx SPIFFS release

This will be the last release build with SPIFFS for ESP32-xx. (SPIFFS will remain for ESP8266) Next official build will be only LittleFS for ESP32-xx.

Only exception may be when some serious bug will be found in this release which forces a new build to be made in the next few days.

This means there needs to be some conversion to be done from SPIFFS to LittleFS on the next release. We will make sure there is a proper step-by-step process how to convert SPIFFS to LittleFS.

Workaround for poor WiFi connection after update

ESP32-xx LittleFS builds in this release are now using ESP-IDF 5.4.1 Espressif made some significant changes in the WiFi code. This means the existing WiFi RF calibration data may not be compatible with new RF calibration data in ESP-IDF >= 5.4.

If your ESP board shows poor WiFi connection quality, please run the following command either via serial console or the command line field on the Tools page:

EraseSDKwifi

This will disconnect WiFi and some boards may need a power cycle to get online again. Please wait at least 10 seconds after entering this command before turning off the device if it doesn't get back online.

Some boards seem to need >1 of such attempts to erase the RF calibration data, due to a bug which may stall the ESP while erasing this data.

N.B. Not all boards need this, as it only seems to make a really noticable difference on some boards.

Changes in mega-20250430 (since mega-20241222):

Daniel Siegmanski (20):

  • Added a missing comma so that the plugin can also be built with activated PLUGIN_076_DEBUG.
  • Added the ability to read reactive power, apparent power and energy.
  • Fixed typo in reset command.
  • Changed the PCONIFG values from 1,2,3,4 to 8,9,10,11
  • Set default querys in PLUGIN_INIT if not already set.
  • Change the PCONFIG values from 8, 9, 10, 11 to 0, 1, 2, 3
  • Changed init value from P076_QUERY1_CONFIG_POS
  • Changed single = to a double ==
  • Set default quersy only if no one is set.
  • Update the values only if valid.
  • Check if the pointer is valid.
  • Replaced spaces through underlines.
  • The old meassurement values (voltage, current, active power & power factor) are now defaults again. For compatibility with old setups.
  • Added changelog
  • Uncrustify
  • Added different strings for output selector and value description.
  • Resored the old value names for backward compatibility.
  • Added an option to set the measured values to 0 if they are not valid. This is necessary if the sensor is behind a relay.
  • Added defines for the indices of the differend readed values.
  • Fixed typo.

Nikolay (1):

  • chore: fix wrong url

TD-er (154):

  • [Flash] Fix availability of flash pins on ESP32C3
  • [GPIO info] Split ESP8266/ESP32 implementation
  • [GPIO info] Split platform specific implementation to separate cpp files
  • [CPU info] Split getChipModel over separate .cpp files per platform
  • [GPIO] Add "Boot Strapping" as conflict reason for bootstrap pins
  • [GPIO] Simplify isSerialConsolePin()
  • [Hardware] Simplify checks for DAC and Touch support
  • [Touch] Simplify device specific touch capabilities
  • [Build] Fix compile error in ESP32-C2 builds
  • [DeviceInfo] Prepare for new ESP32-C5/C61/H2/P4
  • [Docs] Add info on new ESP32-C5/C61/P4
  • [Hardware] Add initial GPIO definitions for ESP32-P4
  • [ESP32P4] ESP32-P4 does not use GPIO pins to access flash/PSRAM
  • [Build] Fix building ESP-IDF5.3 builds (pioarduino-build.py)
  • [LU9685] Add P178_LU9685 (#5216)
  • [LU9685] Forgot to enable a pin when setting angle
  • [LU9685] Split command into subcommand structure
  • [LU9685] Fix typo in parsing subcommand
  • [LU9685] Add subcommands enable, disable, setrange
  • [LU9685] Add documentation + fix crash
  • [BUG] GPIO 10 and 11 not available (#5220)
  • [GPIO] update hardware defines for flash connected GPIO pins
  • [BME3xx] Lower SPI frequency to 100 kHz
  • [P076] Fix initialization + merge issues + cleanup
  • [HLW8012] Fix stability of reading + proper pwr/cur/VA/pf measurement
  • [HLW8012] Cleanup + simplify code
  • [HLW8012] Further cleanup + stabilize reading
  • [HLW8012] Fix 'oscillating' measurements at some intervals
  • [HLW8012] Cleanup library.properties + fix crash on low power usage
  • [HLW8012] Uncrustify .ino file
  • [HLW8012] Limit Apparent power to power factor of 25%
  • [HWL8012] Fix stability issues on ESP8266 with high current load
  • [Build] Fix pre_custom_xxx.py files to work with pioarduino
  • [Build] Change generate-compiletime-defines.py to not match .cpp.o
  • [Build] Revert platform build to before shorten path commit
  • [Build] Also revert the platform link for solo1 builds
  • [Build] Add build ignore middleware filter for .cpp.o files
  • [JSON] Fix valid JSON for pluginstats
  • [Build] Do not use build middleware for compiletime defines
  • [Build] Fix missing lib_ignore defines in .ini files
  • [Build] Fix merge conflict
  • [P139] Add capturing ADC inputs
  • [P139] Add charger settings
  • [P139] Split AXP2101_settings to separate file
  • [P139] Add charger settings to webform load/save
  • [P139] Move webform_load and _save to P139_data_struct class
  • [P139] Add functions to apply settings to AXP2101
  • [P139] Apply setttings to device
  • [P139] Fix build ESP8266
  • [P139] Fix setting defaults for charger settings
  • [Cleanup] Add FormSelector class to simplify P139 charge options
  • [Cleanup] Convert other charging related settings to use FormSelector
  • [P139] Fix ESP8266 build + show device state
  • [P139] Clarify charging state
  • [Cleanup] Simplify addSelector calls
  • [Cleanup] Change addFormSelector calls to use new class
  • [Cleanup] Show reload icon next to selection box triggering page reload
  • [Cleanup] Move more code to use new FormSelectorOptions class
  • [Cleanup] Convert more code to use new FormSelectorOptions class
  • [Cleanup] Move more plugin code to use FormSelectorOptions class
  • [P139] Remove PMIC plugins from IRext builds
  • [Cleanup] Fix build issue on ESP8266
  • [Cleanup] Use new addSelector function of FormSelectorOptions class
  • [Cleanup] Remove no longer used markup functions
  • [Cleanup] Add "reloadOnChange" icon for all occasions change will reload
  • [Cleanup] Move duplicate 'tooltip' code to separate function
  • [Cleanup] Add tooltip about ReloadOnChange icon
  • [Cleanup] Reduce build size when using empty class name on FormSelector
  • [Cleanup] Reduce bin size using FormSelectOptions class
  • [Build] Reduce bin size by reducing nr. arguments in addTextBox
  • [Build] Fix build errors on ESP8266
  • [PSRAM] Use PSRAM for logs, events and controller queues
  • [Memory] Fix freeing of allocated strings
  • [Memory] Add small optimization in free_string() to prevent copying
  • [P123] Fix crashes when using P123, Touch Handler
  • [Memory] Tweak some memory allocations
  • [Crash] Fix failed init on special String to store in PSRAM
  • Fix loading I2C Tourchscreens webpage
  • [TouchHandler] Fix ESP8266 build
  • [DeviceStruct] Properly initialize DeviceStruct class
  • [I2C] Fix build failure on ESP8266
  • [I2C] Show conflicting I2C bus when using multiple I2C busses
  • [I2C] Fix saving 2nd I2C bus GPIOs
  • [I2C] Rename "I2C Interface" to "I2C Bus"
  • [NeoPixel] Fix issue running addressable LEDs on ESP32S3 with OPI PSRAM
  • [ESP32-S3] Fix max. 63 addressable LEDs on ESP32-S3 with OPI PSRAM
  • [Build] Delete ESP8266 concatenated temp file
  • [ESP8266] Fix crash on processing log with weblog enabled.
  • [Cleanup] Simplify generating sysinfo page
  • [ESP8266] Fix crash on ESP8266 SDK 2.7.4
  • [ESP8266] Balance more what should be allocated on 2nd heap
  • [Memory] Make memory allocation on ESP8266 2nd heap more stable
  • [Memory] Move C001 and C002 queue elements to 2nd heap (ESP8266)
  • [Memory] Move other controller queue elements to 2nd heap (ESP8266)
  • [Memory] Improve memory usage on Strings and task data
  • Fix missing include in NodeStruct.cpp
  • [Memory] Fix crashes on ESP32-S2 with 8M PSRAM
  • [Build] Fix build errors
  • [ESP32S3] Disable custom SDK settings on ESP32S3 with OPI PSRAM
  • [CDN] Enable custom CDN for all ESP32-builds
  • [Build] Change copy_tree import due to Python 3.13
  • [Rules] Fix broken math parsing
  • [Cleanup] Optimize parsing system variables
  • [WiFi] Fix loading credentials after WiFi scan
  • [Console] Reduce CPU load on ESP32-S3 sending logs to serial
  • [ESP-IDF5.4] Prepare for ESP-IDF5.4 with Arduino 3.2.0
  • [Serial] Add setXxBufferSize functions
  • [ESP-IDF] Update to latest ESP-IDF5.4
  • [1wire] Pull up data pin after reading a bit to support parasitic power
  • [1wire] Make sure to also set the GPIO to output
  • [1wire] Simplify code & set data pin high when not used
  • [1-wire] Make timing more strict according to datasheet + strong pull-up
  • [1-wire] Make 'high' time depending on RC-time of bus
  • [1-wire] Fix reading single sensor powered via parasitic power
  • [Bug] Fix printing NaN/Inf values
  • [1-wire] Fix reading single sensor using parasitic power
  • [1-wire] Compensate for measured RC rise time
  • [Build] Fix build issue on ESP8266
  • [1-wire] Fix set GPIO to output via direct GPIO access
  • [1-wire] Cleanup timing critical code
  • [1-wire] Reduce jitter on reading short 'low'
  • [1-wire] Make timing measurement more strict
  • [1-wire] Add more read failure stats, like CRC, power loss, etc
  • [Build] Fix build issues on ESP32
  • [timing stats] Simplify and speedup collecting timing stats
  • [ESP-IDF5.3] Update to latest Arduino/ESP-IDF5.3 version
  • [1-wire] Fix ESP8266 builds not fitting in IRAM
  • [Build] Reduce build size excluding 1-wire stats for LIMIT_BUILD_SIZE
  • [Console] Revert limiting write chunks to 64 bytes for non-USB serial
  • [ESP-IDF5.4] Update to latest IDF5.4 code
  • [WiFi] Fix setup WiFi scan from web flasher
  • [I2C] Fix issues with GPIO 21 & 22 when no I2C is configured
  • [Build] Fix ESP8266 build which does not have Wire.end()
  • [PinStates] Add ESP32 Periman peripheral bus assignment table
  • [Build] Set requirements.txt platformio to 6.1.18
  • [PinStates] Add table (ESP-IDF5.5 only) for showing actual GPIO config
  • [ADC/DAC] Only include ADC/DAC/Touch on devices supporting those
  • [GPIO] Fix checking for correct flash pins IDF5.4/5.5
  • [Act LED] Fix disabling WiFi act. LED when changing pin config
  • [ESPEasy p2p] Only show remote feed when p2p controller enabled
  • [PinStates] Clean up new GPIO states table (IDF5.5 only)
  • [Build] Reduce bin size on ESP8266 disabling some speedup optimizations
  • [WiFi RF cal] Always erase WiFi RF calibration on format file system
  • [ESPEasy p2p] Prevent node syncing from p2p node with poor time source
  • [Minimal OTA] Reduce bin size for minimal OTA build
  • [RF Calibration] Automatically re-calibrate when changing ESP-IDF ver.
  • [ESP-IDF] Update to latest ESP-IDF5.4
  • [RF Calibration] Do not erase rf calibration when formatting file system
  • [WiFi RF cal] Disable automatic clear of RF calibration
  • [ESP-IDF 5.4] Update to latest ESP-IDF5.4
  • [SysVar] Add %c_random%(L,H) system variable
  • [SysVar] Do not include new %c_random% in LIMIT_BUILD_SIZE builds
  • [Build] Add normal_ESP32s3_4M316k_LittleFS_CDC_ETH
  • automatically updated release notes for mega-20250430

Ton Huisman (228):

  • [MQTT] Controller improvements
  • [P086] Format source using uncrustify
  • [MQTT] Add support for P086 events to all MQTT Controllers
  • [MQTT] Only handle plugin if plugin included
  • [C014] Use getHostname() for %sysname%, some code optimization
  • [P139] Add support for AXP2101 Powermanagement
  • [P139] Exclude AXP2101 from ESP8266 builds
  • Cherry pick: [IPv6] Reduce events to keep webserver alive [Memory] Flush buffer after sending web page to reduce memory used (code by @TD-er)
  • [P139] Add AXP2101 to I2C Scanner
  • [P139] Add chargeled and batcharge options, Code cleanup
  • [P139] Add generate events option, chargestate and battery detect, fix issues
  • [P139] Add chipid and chargingdetail support
  • [String] Add FsP macro to convert Flash string to String.c_str() pointer
  • [P139] Add I2C-enabled check, implement FsP macro
  • [C014] Process %sysname% via parseSystemVariables(), logging improvements
  • [Controllers] Minor improvements and corrections
  • [C004] Some string optimization
  • [C004] Add documentation and examples
  • [C007] Emoncms: add configurable url (Controller Publish)
  • [Coo4] Fix merge conflict issue
  • [MQTT] Restore improvement lost at merge conflict
  • fix merge conflicts
  • [P096] Add default font setting
  • [Functions] Add 'map' function
  • [Functions] Fix quoting in rules documentation
  • [Functions] Rewording argument names in documentation
  • [ColorCode] Add map function
  • [Functions] Use colon as the argument separator instead of a comma
  • [Functions] Switch to using existing fruntion mapADCtoFloat() to enable using float values
  • [Docs] Updates for 2025, minor improvements and corrections
  • [P144] Docs update as plugin is also available in Climate build
  • [Build] Add plugins in check for enabling ESPEasySerial library
  • [Commands] Add commands LoopTimerSetAndRun (_ms)
  • [Commands] Update documentation for LoopTimerSetAndRun (_ms)
  • [Commands] Fix a bug and a few typos
  • [Hardware] Add double implementation for mapADCtoFloat()
  • [Math] Fix double estimation of epsilon in compare functions
  • [Math] Fix float estimation of epsilon in compare functions
  • [Hardware] De-duplicate implementation for mapADCtoFloat()
  • [Math] Fix compilation for concatenated sources
  • [Commands] Add new commands to Easy ColorCode
  • [Build] Update Custom-sample.h
  • [SysVars] Add variable islimited_build
  • [ColorCode] Add variable %islimited_build%
  • [Docs] Updates for the Tools page documentation
  • [ColorCode] Add Provision (sub)commands and events
  • [SysVars] Add variable isvar_double
  • [ColorCode] Add variable %isvar_double%
  • [ColorCode] Add commands for [P169] and [P175]
  • [ColorCode] Combined updates for 2025-01
  • [ColorCode] Revert and move updates to separate PR
  • [ColorCode] Revert and move updates to separate PR
  • [ColorCode] Revert and move updates to separate PR
  • [ColorCode] Revert and move updates to separate PR (LF fix)
  • [ColorCode] Revert and move updates to separate PR
  • [P076] Add preset for Shelly Plus PLUG-S (ESP32)
  • [ColorCode] Revert and move updates to separate PR (LF fix)
  • [ColorCode] P175 shares commands with P053: Remove duplicates
  • [CustomDashboard] Serve .esp pages streaming to avoid HTTP/0.9 response
  • [Docs] Fix some typos in Serial Server rules example
  • [Math] Guard logging statements with level check
  • [Build] Use default nr of elements for stats in Custom builds, unless manually set
  • Revert prematurely committed code fragment
  • [Math] Rename argument to have less confusing name
  • Revert [Math] Rename argument to have less confusing name
  • [Math] Rename argument to have less confusing name
  • [Math] Move mapADCtoFloat() from Hardware to ESPEasy_math helper
  • [MQTT] Add setting for Keep Alive Time
  • [Custom] Fix code comments for PlatformIO Custom builds
  • [Bugfix] Parsing of negative numbers got confused by (multiple) arguments
  • [Bugfix] Improve parsing of negative numbers, RPN stack processing revisited, debug logging commented out
  • [Build] Small code size reductions to optimize ESP8266 builds
  • [Build] Reduce code size to allow for some bugfixes in limited builds
  • [Build] Fix typo
  • [Bugfix] RTTTL feature was not enabled for ESP32 Collection builds
  • [Build] More code reductions in .ino files [P054] .. [P091]
  • [Build] More code reductions in .ino files [P092] .. [P110]
  • [Build] More code reductions in .ino files: Cleanup PLUGIN_DEVICE_ADD
  • [Build] Small code reductions in .ino files [P111] .. [P122]
  • [Bugfix] AdaGFX helper [#length.""] and #textheight didn't support period separator
  • [Build] Small code reductions in .ino files [P123] .. [P176]
  • [Info] Show sketch size and remaining space
  • [RTTTL] Fix typo
  • [Build] Enable RTTTL feature for Solo1, C2 and C6 builds
  • [Build] Revert unneeded COLLECTION_RTTTL feature for Solo1, C2 and C6 builds
  • [LIB] AnyRtttl cherry-picked latest updates, disable unused function that causes a compiler warning
  • [PWM] Use defined constant instead of bare value
  • [RTTTL] Adjust to work with ESP32 IDF 5.x
  • [RTTTL] Fix a typo, explicitly connect GPIO to Tone channel
  • [RTTTL] Fix playing the sound properly by not messing up the frequency setting
  • [P097] Fix compiler warning
  • [P097] Fix some typos
  • [P139] Apply some code optimizations
  • [P139] Fix silly typos
  • [P137] Add predefined settings for M5StickC Plus
  • [P137] String deduplication improvement
  • [Libs] AXP2101 corrections
  • [P139] Enable writing to AXP2101 chip
  • [P137] Update documentation
  • [P139] Add documentation
  • [Docs] Priority task updated layout
  • [P139] Documentation updates, updated TTGO T-Pcie configuration defaults
  • [P139] Fix configuration constructor typo
  • [P137] Bugfix: commands axp,ldo2,x .. axp,dcdc3,x weren't working as intended
  • [Console] Support Backspace to correct typos
  • [P139] Uncrustify formatting
  • [P139] Fix saving settings & predefined, also when task is not enabled
  • [P139] Updated TTGO T-Pcie configuration defaults
  • [I2C] Add support for multiple I2C interfaces
  • [I2C] Re-order I2C variables for better alignment, add (Custom) defaults
  • [I2C] Add conversion to adjust defaults if all zeroes
  • [I2C] Add more getters to SettingsStruct to simplify code
  • [I2C] Fix compilation for ESP8266
  • [N001] Use a non-TLS client for SMTP on port 25
  • [MQTT] Don't subscribe to empty topics
  • [N001] Allso apply to port 2525
  • [N001] And clean up object after use
  • [N001] Documentation update about port 25 and 2525 (ESP32 with TLS)
  • [P139] Update predefined settings for LilyGO T-Beam S3
  • [N001] Add pointer null-checks, close client also when connection fails
  • [N001] Only delect object if created via new
  • [I2C] Code improvements and UI issues fixed
  • [I2C] Code improvements and UI issues fixed
  • [I2C] Make I2C Interface selector reload page when needed (multiplexer enabled)
  • [I2C] I2C Scan layout improvements
  • [I2C] Update documentation
  • [Build] Add Powermanagement plugins to ESP32 Climate builds
  • [P140] Add CardKB I2C Keyboard
  • [P140] Switch to VType DUAL from STRING so events are sent as intended
  • [P140] Update description
  • [P140] Change category, add options and commands, show current buffer, add to I2C scanner
  • [P140] Add documentation
  • [Dist] Upgrade Espressif Flash Download Tool 3.9.8
  • [Libs] Avoid using Wire.begin()
  • [Device] Initialization and alignment improvements on struct
  • [I2C] GPIO (de)coupling improvements
  • [I2C] Clean up unneeded logging
  • [FormSelector] Use INT_MAX as default to avoid -1 -none- value being shown as default
  • [I2C] Update screenshot without (default)
  • [GPIO Selector] Show Wifi Status LED and Reset Pin when configured
  • [I2C] Switch to correct bus for PCF/MCP GPIO monitoring
  • [I2C] Docs: Use I2C Bus instead of I2C Interface
  • [SD-card] Bugfix: Reading a bmp file from SD-Card didn't work as expected
  • [SD-card] Remove unneeded logging
  • [SD-card] Code corrections
  • [Build] Use build-runners on Ubuntu-latest
  • [Build] Add some missing plugins to Custom-sample.h
  • [P116] Add support for ST7735 172x320px display
  • [P177] Add plugin Environment - XDB401 I2C Pressure
  • [GPIO] pinSelectors and hardware page show overlapping PSRAM and other conflicting uses
  • [P177] Corrections in data initialization, handling and calculation, add settings to generate events or use raw data
  • [P177] Corrections in calculation, add setting to ignore negative values
  • [P177] Revert modified temperature calculation
  • [P177] Improved calculations, without bit-manipulation
  • [P116] Enable alternative configurations for ST7789 135x240px displays, ESP32 DISPLAY and MAX builds
  • [P177] Fix typos in calculations, avoid a division
  • [P177] Swapped Temperature and Pressure values, re-order task settings page
  • [Build] Reduce number of ESP32 builds by removing non-Ethernet builds
  • [P095] Bugfix: backlight subcommand not working as intended
  • [Build] Add ESP32-C3 MAX 16M8M configuration
  • [Docs] Update README.md
  • [Pinstates] Change infobutton link to RTD Plugin list
  • [P177] Ignore status bit for data-ready, add some extra development logging
  • [UI] Change more infobutton links to RTD links
  • [P116] Small UI improvements
  • [P116] Update documentation, refresh some screenshots
  • [P177] Disable development logging
  • [P177] Change Sensor_VType to SENSOR_TYPE_TEMP_BARO (Domoticz)
  • [P036] Add setting to hide the startup logo
  • [Build] Upgrade setuptools package to avoid build issues
  • [Build] Only pio pkg update for current environment
  • [Build] Upgrade to platform_packages build 3427
  • [Build] Upgrade to Solo1 platform_packages build 3428
  • [Build] Temporary disable most envs for testing
  • [Build] Add logging to see current dir data
  • [Build] Temporary revert to pio 6.1.16
  • [Build] Make extra_scripts explicit
  • [Build] Swap script-append order
  • [Build] execute copy_files.py explicitly post: build
  • [Build] Remove logging to see current dir data
  • [Build] execute copy_files.py explicitly pre: build to not mis installing the handler
  • [Build] Restore envs, minor env config improvements for Solo1 builds
  • [P100] Retrieve CountTotal value
  • [Docs] Add SPIFFS to LittleFS migration guide
  • [P177] Add documentation
  • [Build] Script copy_files.py tweaked to start in the correct order
  • [Build] Temporarily disable most builds for testing
  • [Build][CI] Explicity call bin_elf_copy in CI script
  • [Build] Process copy_files in post_esp32 script
  • [Build] Process post scripts in different order
  • [Build] Re-enable builds after testing
  • [Build] Re-enable builds after testing
  • [Commands] I2CScanner command show bus that's being scanned
  • [Review] Improvements and typos fixed
  • [Boards] Fix typo in ESP32-S3 16M definition
  • [P177] Add missing class access specifier
  • [P100] Add documentation
  • [P100] Add option to show CountTotal value, enable Plugin Stats
  • [P100] Update documentation
  • [Build] Add ESP32 Climate LittleFS build
  • [I2C] Move Clock Stretch setting to Hardware page, move I2C enabled check global
  • [Rules] Add optional use of named variables
  • [Rules] Reject invalid variable names
  • [Rules] Update documentation
  • [Rules] Update documentation, add some examples using named variables
  • [Rules] Update documentation
  • [AdaGFX Helper] Docs for adding a custom font
  • [AdaGFX Helper] Docs extended and some typos fixed.
  • [Rules] Change example to use named variables
  • [I2C] De-duplicate code
  • [AdaGFX Helper] Docs extended based on review
  • [P104] Bugfix: Apply fontspacing correctly on double-height fonts
  • [P104] Enable double-height numeric font for ESP32 builds, minor code improvements
  • [P104] Zone order setting was missing the reload-on-change flag
  • [P020] Improve data handling send unaltered via network client generate hex event data apply RX buffer size
  • [P020] Add support for UDP -> Serial receiver
  • [P020] Fix compiler warning
  • [Commands] Add command SendToUDPMix
  • [P020] Update documentation
  • [Rules] Allow eventname and eventpar processing for explicit string events (!serial)
  • [Rules] Enable substring function to return the remainder of a string (with docs update)
  • [P020] Start UDP-listener once the network is available
  • [Rules] Small documentation update for events starting with !
  • [P104] Fix increasing character spacing when changing double-height fonts
  • [Bugfix] Rules fix handling for nested shorthand vars
  • [Bugfix] Build: Adjust processing order for gzip-firmware script
  • [Bugfix] MQTT Controller: Keep Alive Time reset to/use default (60 sec) when 0
  • [I2C] Renumber buses starting from 0 instead of 1

chromoxdor (31):

  • Update _P097_Esp32Touch.ino
  • Update _P097_Esp32Touch.ino
  • Update _P097_Esp32Touch.ino
  • Update _P097_Esp32Touch.ino
  • Update _P097_Esp32Touch.ino
  • Update _P097_Esp32Touch.ino
  • Update _P097_Esp32Touch.ino
  • Update _P097_Esp32Touch.ino
  • Update _P097_Esp32Touch.ino
  • Update _P097_Esp32Touch.ino
  • Update _P097_Esp32Touch.ino
  • Update _P097_Esp32Touch.ino
  • Update _P097_Esp32Touch.ino
  • Update _P097_Esp32Touch.ino
  • Udated code + added documentation
  • Update P097.rst
  • Update P097.rst
  • [P164] add aqi to taskvalues
  • Updates
  • update: changelog
  • [P038] Fix HSV values in documentation
  • Update _P097_Esp32Touch.ino
  • adding mapc to constrain values
  • Update Rules.rst
  • using constrain instead of std::clamp
  • Update Rules.rst
  • Update Rules_calculate.cpp
  • add cheatcode, fix one typo
  • Update UDP.cpp
  • Update StringParser.cpp
  • Update StringParser.cpp
View originalPermalink
How mega-20250430 went
mega-20241222

mega-20241222 Christmas Edition

Release mega-20241222 Christmas Edition

Changes in mega-20241222 (since mega-20240822):

Bartłomiej Zimoń (2):

  • if we wait for data from SMTP - do not flush received data
  • EMail - correct response checking

Hans-Rune Bue (4):

  • Initial ESPeasy tools add
  • ESPeasy tools readme
  • Missing $ in
  • Document enhancements on requirements, security + linting

TD-er (205):

  • [MQTT TLS] Add TLS support for MQTT
  • [MQTT TLS] Add cert.py to extract certificate info
  • [MQTT TLS] Allow to load CA root cert from file
  • [Web] Allow to stream from file system (e.g. CSS inline)
  • [MQTT TLS] Patch CA root cert to match strict layout
  • [MQTT TLS] Work-around for memory leak in MbedTLS (not finished)
  • [MQTT TLS] Fix memory leak... finally
  • [MQTT TLS] Clear CA certificate when starting a new connection
  • [Cleanup] Fix lots of missing delete calls to free memory
  • [Webserver] Fix serving CSS
  • [TLS] Add ALPN protocol
  • [TLS] Add fix for WiFiClientSecure connection timeout
  • [MQTT TLS]Display connection info on controller page
  • [Cleanup] Use .clear() on strings instead of assigning empty string
  • [TLS] Making proper datastructure init
  • [MQTT TLS] Improve controller setup page show peer certificate
  • [MQTT TLS] Add certificate fingerprint validation
  • [MQTT TLS] Add view of certificates + option to store
  • [MQTT TLS] Add TLS support for MQTT
  • [MQTT TLS] Add cert.py to extract certificate info
  • [MQTT TLS] Allow to load CA root cert from file
  • [Web] Allow to stream from file system (e.g. CSS inline)
  • [MQTT TLS] Patch CA root cert to match strict layout
  • [MQTT TLS] Work-around for memory leak in MbedTLS (not finished)
  • [MQTT TLS] Fix memory leak... finally
  • [MQTT TLS] Clear CA certificate when starting a new connection
  • [Cleanup] Fix lots of missing delete calls to free memory
  • [Webserver] Fix serving CSS
  • [TLS] Add ALPN protocol
  • [TLS] Add fix for WiFiClientSecure connection timeout
  • [MQTT TLS]Display connection info on controller page
  • [Cleanup] Use .clear() on strings instead of assigning empty string
  • [TLS] Making proper datastructure init
  • [MQTT TLS] Improve controller setup page show peer certificate
  • [MQTT TLS] Add certificate fingerprint validation
  • [MQTT TLS] Add view of certificates + option to store
  • [Webserver] Fix merge issue (MQTT TLS)
  • [Merge Fix] Restore P095 and P096 from mega branch
  • [MQTT TLS] Fix missing include mbedtls/oid.h
  • [MQTT TLS] Fix missing include
  • [Build] Fix merge issue.
  • [MQTT TLS] Fix build issues
  • [MQTT TLS] Disable fingerprint verify on ESP8266 as not implemented
  • [MQTT TLS] Disable USE_MQTT_TLS for LIMIT_BUILD_SIZE and 1M builds
  • [MQTT TLS] Disable TLS for ESP8266 completely
  • [MQTT TLS] Rename USE_MQTT_TLS to FEATURE_MQTT_TLS
  • [MQTT TLS] Resize certificate info textareas
  • [MQTT TLS] Fix layout controller page
  • [MQTT TLS] Cleanup, reducing build size when no MQTT TLS is set
  • [Build] Disable ext. RTC on limited build size builds
  • [Build] Reduce bin size by excluding libs from 1M builds
  • [GPS] Fix set system time via GPS
  • [MQTT TLS] Add MQTT TLS feature to ESP32 MAX builds
  • [GPS] Use custom GPS view of plugin stats data
  • [MQTT TLS] Fix crashes due to null pointer dereference.
  • [Controller] Allow system variables in controller username
  • [Cache Reader] Add intended nr of 'samples' per bulk message
  • [Cache Reader] Cleanup Export dump to CSV & fix separator
  • [Cache Reader] Allow bulk dump CSV to MQTT
  • [Cache Reader] Fix serving 'last line' of stored data
  • [Cache Reader] Send bulk taskinfo in either CSV or JSON, using settings
  • [TaskRun] Reschedule task to set Interval
  • [TaskRun] Cleanup code
  • [Build] Cleanup code + reduce build size
  • [TaskRun] Fix new command ScheduleTaskRun
  • [Cleanup] Simplify generating task events
  • [Cleanup] Reduce build size by omitting some conversions
  • [ADC] Add config commands to set calibration
  • [ADC] Document new ADC set calibration commands
  • [SenseAir] Fix reading error state from sensor
  • [Provisioning] Fix setting allowed file types to download via rules
  • Revert accidentally committed pre_custom_esp32.py
  • [Provisioning] Fix cache and mDNS updates after provisioning
  • [SenseAir] Add more sensor info + begin implementing setting ABC
  • [Provisioning] Only allow downloading firmware update from set host
  • [Cache Reader] Add option to delete files after upload
  • [SenseAir] Temperature is 2-complement signed value
  • [SenseAir] Fix reading temperature on non-S8 sensors
  • [SenseAir] Keep SenseAir code in sync with PR #4550
  • [ESP32 IDF] Update to IDF 4.4.5 (2023-06-14)
  • [Build] Fix merge issues
  • [Build] Fix merge issues MQTT TLS
  • [MQTT TLS] Add MQTT import to Custom ESP32
  • [MQTT TLS] Fix merge issues
  • [MQTT TLS] Fix static_assert check after update with 'mega' branch
  • [Math] Improve intuitively matching & printing floating point values
  • [Build] Reduce bin size on ESP8266 Collection D
  • [Build] Reduce build size, disabling float print optimization on ESP8266
  • [MQTT-TLS] Fix merge issue
  • [MQTT-TLS] Fix merge issues
  • [Build] Remove CUL reader from ESP8266 collection D build due to size
  • [P001] Reduse build size
  • [P001] Fix Uncrustify formatting
  • [P001] Change runtime counters from PCONFIG to datastruct members
  • [P001] Cleanup code using less macro code
  • [P001] Cleanup code
  • [P001] Cleanup code & add comments
  • [P009] Apply same code restructure as for P001
  • [P019] Apply same code restructure as for P009
  • [P009] Remove temp files
  • [P001] Use aliases for PCONFIG to access settings
  • [GPIO] Move duplicate code for init P001/009/019 to shared function
  • [GPIO] Create generic handler for GPIO plugins
  • [GPIO] Deduplicate code in PCF and MCP code for P019 and P009.
  • [GPIO] Try to match P009 and P019 code to be the same as P001 code
  • [GPIO] Make P001/P009/P019 share the same code
  • [GPIO] Fix missing check to recover from offline mode
  • [ESP-IDF5.3] Add support for ESP-IDF5.3 and SPIFFS builds for IDF5.1
  • [ESP-IDF5.3] Fix crashes on sysinfo page
  • [ESP-IDF5.1] Add LTO to reduce bin size for ESP-IDF5.1 SPIFFS build
  • [ESP-IDF5.3] Fix usable UART ports on ESP32-C6
  • [Build] Fix build error on ESP32 Minimal OTA builds (debug/test builds)
  • [ESP-IDF5.3] Add 5 GHz WiFi modes for upcoming ESP32-C5
  • [HeatpumpIR] Update lib to latest code
  • [Sysinfo] Add used ESP-IDF version to sysinfo page
  • [HeatpumpIR] make the library compile again in ESP-IDF5.3
  • [ESP-IDF] Make ESP32-S2 build again
  • [Arduino] Add define as workaround for Arduino change flush() to clear()
  • [Uncrustify] Cleanup _P091_SerSwitch.ino
  • [ESP-IDF5.3] Fix building on Windows
  • [ESP-IDF 5.x] Fix detection of ESP32-rev3
  • [EDP-IDF] Update to latest IDF5.1 (SPIFFS) & IDF5.3(LittleFS) Arduino304
  • [ESP-IDF] Simplify eco mode power management
  • [ESP-IDF5.3] Update to latest IDF5.3/Arduino3.0.5
  • [ESP-IDF] Revert IDF5.3 to IDF5.1 due to WiFi scan issues
  • [WiFi] Add copy constructor to WiFi_AP_Candidate
  • [Cleanup] simplify ExtraTaskSettings constructor
  • [ESP-IDF5.3] Switch back to IDF5.3 for LittleFS builds
  • [N001_Email] Increase parse buffer size + cleanup
  • [ESP-IDF5.3] Fix build solo1 builds
  • [Email] Set timeout on the connection itself
  • Do not apply nr. of decimals before calculating formula (#5123)
  • [GPIO] Revert some changes regarding send bootstate on P001
  • Add .platformio to gitignore
  • [GPIO] Revert some changes regarding send bootstate on P001
  • Fix formatting nr. decimals with formula (#5123)
  • [Email] Early exit on failing Auth calls + some cleanup
  • [ESP-IDF5.3] Move to latest Arduino 3.1 / ESP-IDF 5.3.1 (LittleFS build)
  • [ESP-IDF5.3] Move to latest Arduino/IDF code
  • [Email] Fix issues with different mail server versions
  • [Email] Add missing define
  • [Email] Fix ESP8266 2.7.4 builds
  • [Email] Add missing changes in NotificationPage.cpp
  • [Rules] Fix saving rules on ESP-IDF5.3
  • [Cleanup] Reduce SaveRules.js
  • Fix saving task names when rules are enabled
  • Add work-around for changes in File::position()
  • [Build] Fix copy/paste error
  • [Cleanup] Remove duplicate define from platformio ini file
  • [Build] Fix max builds
  • [Uncrustify] Update config for latest version of Uncrustify
  • [uncrustify] Apply new uncrustify version on some recently changed code
  • [ESP-IDF5.3] Update to SDK IDF5.3.1/Arduino3.0.5 20240924
  • [ESP-IDF5.3] Update to 20240926
  • [GPIO] Fix build warnings on ESP8266 for GPIO direction
  • [ESPEasy p2p] Fix sending task value data on ESP8266
  • [LibSSL] Add LightBearSSL lib made by Tasmota
  • [MQTT-TLS] Switch to Tasmota's Light-Weight BearSSL lib
  • [MQTT TLS] Fix build hidden write(uint8_t)
  • [MQTT-TLS] Enable TLS for MQTT on all ESP32-xx Custom builds
  • [MQTT TLS] Disable PSK option
  • [MQTT TLS] Uncrustify controller source files
  • [MQTT-TLS] Improve stability of MQTT connection while serving JSON pages
  • [PVS-Studio] Add fixes suggested by PVS-Studio
  • [MQTT-TLS] Make connection to broker more stable
  • [MQTT TLS] Disable certificate validation options for now
  • [MQTT TLS] Add some documentation about using TLS for MQTT
  • [Controller] Fix really strange merge issue (return statement got lost)
  • [HeatpumpIR] Rename lib folder to make it compile on Windows
  • [HeatpumpIR] Make IRext builds fit again on ESP8266
  • [Build] Add already a shorter folder name for core_dir for future builds
  • [Email] Split N001_Email.ino into N001_data_struct
  • [Email] Add SSL support for email
  • [Email] Fix builds + include N001 in all ESP32-xx custom builds
  • [Build] Fix builds which do not have DEBUG log level included
  • [Email] Clean-up code
  • [BearSSL] Update to latest BearSSL code
  • [Email] Enable SSL for email and MQTT on all ESP32-xx builds
  • [Email] Fix failed builds
  • [Email] Fix silly mistake
  • [Email] Add documentation describing SSL port 465
  • [CSS] Add retry to load CSS when first attempt failed
  • [Docs] Add info how to use USB serial with WSL2
  • [WSL2] Add simple script to set permissions for USB to serial in WSL2
  • [ESP-IDF] Switch to latest ESP-IDF/ESP32-Arduino 3.0.7
  • Fix custom build with <2 included plugins (#5150)
  • [P176] Simplify handling temporary values before checksum checked
  • [GPS] Add course (bearing) as output option
  • [PSRAM] Free GPIO-16 and -17 on ESP32-classic when no PSRAM present
  • [PSRAM] Fix build on ESP-IDF 5.1 + add special case of ESP32-picoD4
  • [PSRAM] Cleanup code
  • [PSRAM] Fix solo1 builds
  • [PSRAM] Fix solo1 builds
  • [GPIO] Allow to select GPIO-10 on ESP32-U4WDH
  • [GPIO] Fix missing check on ESP32-classic for GPIO-10 with emb. flash
  • [ESP32C3] Allow GPIO 11, 12, 13 to be used on specific boards
  • [ESP-IDF] Update to latest ESP-IDF5.3 for ESP32-xx LittleFS builds
  • [ESP32-solo1] Update to latest ESP-IDF5.3 for solo1
  • [ESP-IDF5.3] Fix build platform for Solo1
  • [Webserver] Fix stalled web requests and not saving rules via Ethernet
  • [ESP32] Update to latest Arduino 3.1.0 release
  • [Build] Fix building ESP8266 builds
  • [Build] Fix merge issues in platformio.ini
  • [ESP32-solo1] Fix bootloop on Solo1 boards
  • automatically updated release notes for mega-20241222

Ton Huisman (113):

  • [P103] Add support for EZO-HUM sensor
  • [P103] Fix some issues, add logging for analysis
  • [P103] Fix more issues, add/apply settings for EZO-HUM
  • [P103] Handle EZO-HUM firmware issue of unexpected 'Dew' in output
  • [P103] Fix to apply new UserVar usage
  • [P113] Add Region of Interest configuration
  • [Devices] Update/Add help links for Stats
  • [P113] Check invalid ROI settings after in-place update
  • [P163] Add plugin Counter - RadSens I2C radiation counter
  • [DevicesPage] Fix clearing the Low I2C speed setting when reusing a task
  • [P163] Enable plugin in ESP32 Collection G builds
  • [P163] Prevent protential memory leak
  • [P163] Add to Custom-sample.h
  • [P163] Use Count-average when available, change to Environment category
  • [P163] Add documentation
  • [P163] Fix missing nullptr check if Count stats not enabled but other stats is
  • [Lib] RadSens: Add non-incremental pulses reading and reset of incremental counter
  • [P163] Add optional non-incremental counting and reset command/option
  • [P163] Update documentation
  • [P165] Add plugin Display - NeoPixel (7-segment)
  • [P165] Add code from #4977
  • [P165] Add code from #5091
  • [AdaGFX] Add rgb565/rgb888 color conversions
  • [P165] Add Clear display on exit, add manual g-segment split, rework UI for better Extra pixel display, many bugfixes
  • [P165] Breaking Settings change! (delete & re-add) Allow 7 pixels/segment for w/h/dot, add 7dbefore command
  • [P173] Add plugin Environment - SHTC3
  • [I2C] Add functions I2C_write16() and I2C_write16_LE()
  • [P165] Add digitmapping for having all RTL groups, UI improvements and fixes
  • [P173] Add to I2C scanner
  • [P165] Add counter-clockwise numbering, enable digit/group color commands for all builds
  • [P173] Add documentation, include in standard C6 Custom build
  • [DeviceStruct] Add PinDirection flag for PIN1..PIN3
  • [DeviceStruct] Add PinDirection flag for PIN1..PIN3
  • [P165] Apply PinXDirection feature
  • [P165] Add new commands to EasyColorCode (some are defined for P073)
  • [P165] Add documentation and a few configuration examples
  • [DeviceStruct] Apply PinXDirection flags for all plugins where appropriate, cleanup unneeded Device flags, reformatted some plugin sources
  • [P173] Add to Custom-sample.h
  • [EasyColorCode] Command Reset is renamed to FactoryReset
  • [P165] Add more code from #5091
  • [P165] Fix some bugs found during testing
  • [EasyColorCode] Also update minified js file
  • [P165] Add more code from #5091
  • [P165] Disable periods handling if no decimal dot pixels defined
  • [P165] Small bugfix
  • [P113] Add UI selection of ROI area (single area selection only)
  • [Build] Possible fix for unstable builds
  • [Build] Possible fix, part 2, for unstable builds
  • [P165] Bugfixes and javascript optimizations
  • [P165] Bugfixes and javascript optimizations
  • [P113] Improve UI selection of ROI area for touch devices, code improvements
  • [P113] Update documentation
  • [P113] Improve UI selection of ROI area for touch devices, code improvements
  • [UI] Fix disabled-checked Checkbox styling, and allow to enable/disable from js
  • [P165] Add option to start numbering at g-segment
  • [P165] Add option to use decimal dot for blinking time indicator
  • [P165] Fix initialization of output mode
  • [Scripts] Fix some issues and upgrade to external changes
  • [P054] Allow GPIO configuration for ESP32 units
  • [P054] Use Direct-GPIO and implement ESPEasySerial
  • [P113] Further minify embedded js
  • [P165] Small bugfix
  • [P165] Update documentation
  • [P054] Add documentation, small UI improvement
  • [N001] Email password should use a password input field
  • [P159] Extend max threshold
  • [P175] Add Dust - PMSx003i (I2C) Sensor
  • [P175]/[P053] Check for useable variables
  • [P175] Fix reading checksum and data frame correctly
  • [P175]/[P053] Optimize re-use of code, add sensor to I2C Scanner
  • [P175] Add documentation (partially shared with P053)
  • [P175] Show GPIO config on Devices page
  • [P103] Javascript fixes, code improvements
  • [Build] Fix: Use package with Solo1 'autodetect' (Solo1 specific packaged removed)
  • [Build] Fix: Use package with Solo1 'autodetect' (Solo1 specific packaged removed)
  • [P176] Add plugin Communication - Victron VE.Direct
  • [P176] Add some features and code improvements
  • [P176] Fix ESP8266 build issue
  • [P176] Update taskvalues at receiving data, other improvements
  • [P176] Fix use of plugin compiletime feature flags
  • [P176] Move Led initialization to DataStruct initialization function
  • [P176] Add documentation
  • [P176] Refactorings to optimize performance (lower load), remove RX Timeout setting
  • [P176] Update documentation
  • [P176] Avoid calling serial->available() too often, uncrustify some recent changes
  • [P176] Update changelog (and GH Actions failed)
  • [P176] Handle ON and OFF values as 1 and 0
  • [P176] Fix checksum validation, was ignoring the first line after receiving a valid checksum
  • [P045] Add optional data collection for all axis
  • [P045] Update documentation
  • [P045] Set correct Sensor_VType for 3 values
  • [Build] Enable Servo support for most builds
  • [P176] Add variables successcount, errorcount and ischanged
  • [Docs] Updates and fixes, November 2024
  • [Docs] Rewording a few phrases
  • [P176] Rename variable ischanged to updated
  • [P103] Add documentation
  • [P103] Fix cast issue
  • [EasyColorCode] P020/P044/P087 serial commands
  • [P020] Fix docs typo
  • [P176] Add Events only when updated option and docs
  • [P176] Fix bug in screenshot :-)
  • [P009]/[P061] Add note about possible non-working input for MCP23017 PA7/PB7 pins
  • [C002] Bugfix: Use correct GPIO pin for controlling P001
  • [P105] Add Alternative initialization option for AHT10 clones
  • [P041][P042] Update documentation (no longer in Normal builds)
  • [P159] Allow max threshold of 101, to resolve an off-by-one error
  • [P159] Update documentation
  • [P021] Move ifdef to .h file to avoid compiler warnings
  • [P057] Fix mprint command to skip the colon segment
  • [Controllers] Process % variables before functions
  • [Controllers] Change variable replacement order so string functions can be used
  • [FactoryReset, ESP8266] Use settings from Custom.h on clean install

chromoxdor (8):

  • Update Misc.cpp
  • Update Misc.cpp
  • Update Misc.cpp
  • [P049] added commands
  • Update P049_commands.repl
  • Update P049.rst
  • Update P049.rst
  • Update Command.rst

dependabot[bot] (1):

  • Bump cryptography from 38.0.3 to 43.0.1

flashmark (18):

  • Added state extension
  • Fix backwards compatibility issue and tidy up
  • Reworked after pull request
  • Rework after review
  • Cleanup, fix init issue
  • Update documentation
  • Minor fixes
  • P021 Optimize memory footprint
  • P021 fixed issue in control algoritm
  • P021 Squeeze out some flash usage
  • P021 timer initialization
  • P021 another set of shaving flash memory consumption
  • P021 fixed an oops and reworked review comments
  • [P021] disable new feaures for low memory builds. Fix issues.
  • [p021] fixed unused variable
  • [P021] Documentataion update to refect limited build versions
  • [P021] Bugfix
  • Minor style change

uwekaditz (13):

  • Changes for PR5097
  • Code uncrustified
  • Function ReplaceTokenDelimiters() to be used for user defined headers and line content
  • Changes requested by tonhuisman
  • Documentation formatted
  • NEW: functions stripEscapeCharacters() and hasEscapeCharacters()
  • More advanced parsing as requested by @tonhuisman
  • Reuse of 0x11/0x12 also for the ( and ) changed to 0x05/0x06
  • Documentation updated
  • Documentation updated for functions
  • Removed unneeded string init, code simplified
  • BUG: simplified stripEscapeCharacters() did not work
  • Disable P040 (RFID - ID12LA/RDM6300) for PLUGIN_BUILD_IR_EXTENDED_NO_RX due to limited size
View originalPermalink
How mega-20241222 went

mega-20240822

Release mega-20240822

Note on updating nodes running 20240414 build.

Some ESPEasy nodes running a LittleFS build from 20240414 might be hard to OTA update. This is due to a bug in Arduino code which has been fixed since where the timeout for HTTP transfers was too short. Especially the larger builds like 8M or 16M "Max" builds might be hard to update via OTA.

Changes in mega-20240822 (since mega-20240414):

Gijs Noorlander (11):

  • [Cleanup] Revert accidentally changed line endings
  • [PluginStats] Show average rate and total duration of collected stats
  • [PluginStats] Add nr of samples to chart legend
  • [PluginStats] Uncrustify/cleanup code
  • [Build] Fix build due to static var with too generic name
  • [Docs] Remove unused files for P169
  • [Docs] Document getconfig and commands for P169 AS3935
  • [AS3935] Fix restart measurement after running calibration command
  • [PluginStats] Fix patching timestamps from before system time was set
  • [AS3935] Enable auto gain and reduce number of events
  • [Sonoff POR] Move Sonoff POW R1/R2 ESP8266 build back to core 2.7.4

TD-er (140):

  • [IPv6] Add option to enable/disable IPv6
  • [AdaGFX Helper] Make "1" in TomThumb font as wide as all other numbers
  • [NeoPixel] Add AHT20 support to ESP32 NeoPixel build.
  • [NeoPixel Matrix] Fix trailing pixels on scrolling text
  • [Hidden SSID] Fix ESP32 connecting to hidden SSID with channel > 11
  • [ESP-IDF5.1] Update to latest SDK code + fix HWCDC
  • [ESP32 WiFi] Add info about found AP from scan
  • [ESPEasy p2p] Add p2pNode#Connected and #Disconnected events
  • [Build] Fix build on ESP-IDF4.4 builds
  • [C018] Reduce build size
  • [Build] Reduce ESP8266 build size by concat all in single __tmpfile.cpp
  • [Build] Reduce ESP8266 bin size disable LittleFS lib + OTA on 1M builds
  • [AS3935] Add P169 Lightning Detector plugin
  • [AS3935] Improve calibration accuracy
  • [AS3935] Implement P169 code
  • [AS3935] Add option to measure all calibrated oscillators
  • [AS3935] Improve frequency measurement accuracy
  • [AS3935] Improve stability and calibration success rate
  • [AS3935] Make it compile for ESP8266 and clarify logs
  • [AS3935] Fix build on ESP32 IDF4.4
  • [AS3935MI] Get in sync with pending PR to original lib
  • [AS3935MI] Move frequency count code to original library code
  • [AS3935MI] Make frequency count "vanilla Arduino" for non-ESP SoC
  • [AS3935MI] Add selection for nr Samples, division, etc
  • [AS3935MI] Add '2nd best' check to calibration to retest
  • [AS3935MI] Add event on lightning strike and count strikes per interval
  • [AS3935MI] Add total strikes counter, sensor stats and cleanup plugin
  • [AS3935MI] Cleanup settings & add chart to help tuning
  • [AS3935MI] Speedup LCO calibration + simplify configuration
  • [AS3935MI] Add timestamp to PluginStats
  • [AS3935] Fix compile issue
  • [ESP-IDF5.1] Update ESP-IDF SDK to fix HWCDC
  • [AS3935MI] Change lib function names to use camelCase
  • [ESP-IDF5.1] Fix crashes on LittleFS after factory reset
  • [ESP-IDF5.1] Fix crashes on LittleFS after factory reset
  • [ESP-IDF5.1] Update to latest ESP-IDF SDK code
  • [ESP-IDF 5.1] Exclude some OPI PSRAM speed improvements due to stability
  • [Json] Fix showing JSON including pluginstats data
  • [PluginStats] Compute average taking timestamps into account.
  • [PluginStats] Move stats to PSRAM when available
  • [AS3935MI] Rename interrupt enum to match style of other enums in lib
  • [Controller] Fail gracefully when almost out of memory
  • [Controller] Fail gracefully when almost out of memory
  • [ESP-IDF5.1] Fix WiFi issues on ESP32-C6
  • [AS3935] Minor clean-up in code and user-interface
  • [P169] Start documenting AS3935 plugin
  • [ESP-IDF5.1] Fix WiFi issues on ESP32-C6
  • [AS3935MI] Get rid of 'magic' values in lib code
  • [AS3935] Fix "indoor/outdoor" setting + no longer disable on fail calib
  • [AS3935] Document calibration for P169 Lightning sensor
  • [AS3935] Add commands to P169 Lightning Detector
  • [AS3935] Set task values to output distance Far/Near and remove "energy"
  • [ESP-IDF5.1] update to latest ESP-IDF SDK & Arduino 3.0.0
  • [mDNS] Enable FEATURE_MDNS again for ESP-IDF5.1 builds
  • [AS3935MI] Add validation check for computeCalibratedFrequency
  • [AS3935MI] Make ISR attributes like IRAM_ATTR platform dependant.
  • [AS3935MI] Add auto gain algorithm to adapt to changes in noise envs.
  • [PluginStats] Update recorded timestamps when time is first set
  • [AS3935] Improve auto tuning
  • [mDNS] Disable mDNS again as it causes major stalls
  • [Charts] Add option to zoom/pan for PluginStats charts
  • [ESP-IDF5.x] Fix recent change of flush() to clear() in Arduino SDK
  • Revert "[ESP-IDF5.x] Fix recent change of flush() to clear() in Arduino SDK"
  • [ESP-IDF5.1] Revert Arduino PR 9453 WiFiClient - rename flush() to clear()
  • [ESP-IDF5.1] Update to latest platform build
  • [AS3935] Disable auto gain for now
  • [ESP-IDF5.1] Revert Arduino PR 9453 WiFiClient - rename flush() to clear()
  • [Build] Fix merge issues.
  • [AS3935MI] Update to 1.3.5 with PRs from ESPEasy changes merged to lib
  • [System Load] Reduce system load running background tasks
  • [Cleanup] Speedup converting task values to String
  • [Cleanup] Speedup converting task values to String
  • [Cleanup] Further reduction of load
  • [Cleanup] Further reduction of load
  • [Cleanup] Revert line ending to CRLF again (.h files)
  • [Cleanup] Revert changed line-ending back to CRLF (.cpp)
  • [Cleanup] Revert line endings from LF to CRLF
  • [Cleanup] Revert line endings from LF to CRLF
  • [Cleanup] Revert line ending to CRLF for PlatformIO ini files
  • [AS3935MI] Update increase/decrease functions return values in lib
  • [PluginStats] Decimate samples by not storing unchanged values
  • [AS3935] Add selectable range for auto gain algorithm
  • [Build] Remove previously created __tmpfile.cpp files on ESP8266 build
  • [AS3935] Add check to see if RCO is still active on IRQ pin
  • [ESP-IDF5.x] Update to latest code incl. possible fix for WiFi issues
  • [Controller] Fix sending to controller
  • [Controller] Fix sending to controller
  • [Cleanup] Speedup all calls where task value name was used
  • [Build] Fix build error on LIMIT_BUILD_SIZE builds
  • [ESP-IDF5.x] Update ESP-IDF/ESP32-Arduino to latest commits
  • [ESPEasy p2p] Improve sharing tasks via p2p + add checksum to UDP packet
  • [ESPEasy p2p] Add timestamp to taskvalue data to counter network delays
  • [ESPEasy p2p] Fix sending taskinfo packet rejected by wrong size check
  • [ESPEasy p2p] Make taskinfo length more flexible, remove trailing zeroes
  • [ESPEasy p2p] Add "Data Source" selection to request remote data feed
  • [Cleanup] Remove unused code
  • [MQTT] Fix some extreme timeouts when broker is unresponsive (#5075)
  • [MQTT] Send keep-alive ping at 2/3rd of MQTT_KEEPALIVE
  • [MQTT] Set timeout also for connecting to the MQTT broker
  • [Memory] Make special memory allocations more robust
  • [Controller] Add time spent in connecting to host to timing stats
  • [Cleanup] Rename ambiguously controller_number in controller code
  • [Controller] Add note on typical timeout for local vs. online networks
  • [PluginStats] Fix inconsistency with pluginstats for ADC plugin
  • [MQTT] Fix disconnect when broker sends keepalive ping before client
  • [ADC] Improve ADC curve fitting calibration accuracy
  • [VL53L0X] Fix ignoring sensor error values
  • [VL53L0X] Add async read option to library
  • [ESP-IDF5.x] Update to latest ESP-IDF/Arduino SDK
  • [WiFi] Add passive/active scan for ESP32
  • [Cleanup] Always use the same unit/note for settings, regardless the page
  • [ESP-IDF5.1] No longer support Ethernet on ESP32-C2
  • [Sysinfo] Add internal temperature to sysinfo (when supported)
  • [Build] Fix build due to missing #ifdef checks
  • [ESP32 temp] Fix int. temperature sensor not changing range
  • [WiFi] Fix WiFi not able to reconnect due to unprocessed disconnect
  • [VL53L0x] Make reading sensor async
  • [VL53L0X] Actually do read the sensor asynchronous.
  • [WiFi] Fix (re)connect to WiFi on ESP32-xx builds
  • [VL53L0X] Add filtering + make threshold more intuitive
  • [AS3935] Do not set IRQ pin to input when not configured (e.g. p2p share)
  • [Time] Simplify system time management + increase resolution to usec
  • [Time] Cleanup ESPEasy internal system time management
  • [VL53L0X] Cleanup code
  • [VL53L0X] Add dynamic filtering, allowing fast response on quick change
  • [Time] Improve NTP accuracy and prevent lockups on incorrect data
  • [Cleanup] Fix wrong unit for TX power on web UI page
  • [Time] Improve accuracy and precision of time sync
  • [GPS] Fix filtering out occasional jitter in received GPS timestamp
  • [ESP-IDF5.1] Fix hanging when OTA update fails.
  • [GPS] Fix showing GPS received time on GPS task page
  • [P2P] Fix crashes when processing UDP packets after WiFi disconnect
  • [ADC] Change order of mV and ADC value as this is more intuitive
  • [OTA] Fix crash/abort of larger OTA updates (e.g. Max builds)
  • [GPS] Improve GPS time stability
  • [Timesync] Tweak time wander penalty for time since last sync
  • [CUL reader] Set nr. filters field to actual nr of used filters via cmd
  • [CUL reader] Do not sort CUL filters
  • [Readme] Added link to PVS-Studio as used SAST tool
  • automatically updated release notes for mega-20240822

Ton Huisman (280):

  • [P123] Add FT6206 Capacitive touch screen
  • [AdaGFX] Implement/activate generic 'adagfx_trigger' command-trigger
  • [P123] Add arguments to Object events, allow initial events for On/Off button objects minor corrections
  • [P123] Code improvements, increased button response
  • [AdaGFX] Add support for btn subcommand to draw button-like objects
  • [P123] Add support for button-simulation using AdaGFX btn subcommand
  • [Build] Add -Wswitch compiler option for ESP32 (already active for ESP8266)
  • [P123] Minor updates and improvements
  • [P123] Limit code & bin size for LIMIT_BUILD_SIZE builds
  • [AdaGFX] Improve btn subcommand, slim down bin size, other minor improvements
  • [TouchHandler] Introduce ESPEasy_TouchHandler, refactored out of P123 touch support
  • [P123] Refactor and implement ESPEasy_TouchHandler
  • [TouchHandler] Fix conditional compilation issue
  • [AdaGFX] Add support for confined windows to print/draw in [AdaGFX] Add support for getting config values
  • [P095] [CP] Fix for displaying text on previous location was not overwriting old content Add Text print mode for centered text Extend txtfull subcommand to enable centered text
  • [TouchHandler] Move PLUGIN_WRITE and _GET_CONFIG_VALUE to helper, add getters for state and enabled, add toggle subcommand, handle multiple objects for on, off and toggle
  • [P123] Refactor PLUGIN_WRITE and _GET_CONFIG_VALUE to TouchHandler, minor improvements
  • [AdaGFX] Remove unused variable
  • [AdaGFX] Process like template for length and textheight values
  • [AdaGFX] Add/update documentation for window commands and config values
  • [AdaGFX] Code improvements, initialization, const, move window offset into printText()
  • [AdaGFX] Code improvements as suggested by feedback
  • [AdaGFX] Correct font include paths, add #ifndef filename checks to fonts
  • [AdaGFX] Regression: Background-fill for text should fill entire line height
  • [TouchHandler] Change method arguments to const-by-reference where possible
  • [TouchHandler] Strip unneeded prefix from page variables
  • [P123] Strip unneeded prefix from page variables
  • [TouchHandler] Optimizations (as suggested and more)
  • [P123] Fix some spelling issues, code optimizations
  • [P123] Minor optimizations
  • [AdaGFX] Reduce build some more for LIMIT_BUILD_SIZE
  • [P123] Small size improvement
  • [TouchHandler] Replace _ in captions and object names by a space, and reverse, might save some settings size
  • [UI] Add class table.multi2row for alternating color per 2 rows
  • [TouchHandler] Use 2-row alternating color, improvements
  • [P123] Code improvements
  • [AdaGFX] Add Slider/Gauge support (via btn subcommand), fixes
  • [AdaGFX] Missed a conditional compile option
  • [TouchHandler] Add support for sliders and swiping, many other improvements
  • [P123] Implement Slider/Gauge support, other (size) improvements
  • [AdaGFX] Improved drawing of Slider/Gauge control (also reverted)
  • [TouchHandler] Enable use of reverted sliders/gauges, and improved handling of ranges that don't have 0 included
  • [P123] Minor code improvements
  • [TouchHandler] Add optional touchscreen disabling, code fixes and improvements
  • [P123] Implement disabled-touchscreen feature
  • [TouchHandler] Fix typo and conditional compilation issue
  • [UI] Improvements for multi2row style
  • [TouchHandler] Settings page layout adjusted, and some minor improvements
  • [TouchHandler] Logging check improvements
  • [P123] Logging check improvements
  • [TouchHandler] Remove unneeded enum MAX values
  • [AdaGFX] Remove unneeded enum MAX values, fix BMP conditional compilation issue
  • [AdaGFX] Fix compilation error after merge from mega
  • [TouchHandler] Fix compilation error after merge from mega, table improvements
  • [P116] Add GetConfig feature, code improvements
  • [I2C scanner] Enable plugin-scan for ESP32, updated sensors
  • [TouchHandler] Fix touch-disabled option, code improvements
  • [P123] Code improvements
  • [TouchHandler] Conditional compilation fix
  • [TouchHandler] Conditional compilation fix
  • [Boards] Add BOARD_HAS_PSRAM flag for 16M8M config (avoids crashing when saving P123 settings)
  • [TouchHandler] Logging and code optimizations
  • [P123] Bugfixes and logging improvements
  • [P123] Fix for disabled touchpanel setting
  • [Lib FT6206] Add support for FT6336 touch panel (as used in M5Stack Core2)
  • [P123] Correct merge error
  • [P123] De-initialize on error during PLUGIN_INIT fixed
  • [Core] Add extra storage space for Custom TaskSettings
  • [Plugins] Adjust check for max. CustomTaskSettings
  • [TouchHandler][P123] Implement Extended CustomTaskSettings feature
  • [P104] Improve storing settings (speed and size)
  • [TAR] Add support for downloading and uploading files via .tar archive
  • [Core] ExtendedCustomTaskSettings code improvements based on feedback
  • [Code] Add NR_ELEMENTS macro for getting the number of elements in an array
  • [TAR] Code improvements from feedback, code de-duplication
  • [Download] Only add exrcfgNN.dat files with feature enabled
  • [TAR] Don't allow subdirectory files, check file before trying to delete
  • [TAR] Add setting to disable download configuration as a .tar file
  • [TAR] Add documentation
  • [TAR] Minimal logging during file-download
  • [TAR] Minimal logging during file-upload, code improvements
  • [Core] Re-enable Flash-formatting for LittleFS
  • [P123][TouchHandler] Fix merge issues, adjust log strings
  • [TouchHandler] Fix typo
  • [P123][TouchHandler] Fix valuecount issue, implement missing GET_I2C_ADDRESS function
  • [TouchHandler] Remove unused variable assignment
  • [P104] Disable new settings-version V3 for now
  • [P104] Code improvements, re-enable new settings-version V3
  • [AdaGFX_helper] Reduce build-size
  • [AdaGFX_helper] Simplify font handling, add some better 7/14 segment fonts, enable 18pt fonts for ESP32
  • Merge branch 'mega' of https://github.com/letscontrolit/ESPEasy into feature/TAR-archive-upload-and-download + fixes
  • [AdaGFX_helper] Update Fonts documentation
  • [TAR] Scrape off a few bytes to make the build fit
  • [TouchHandler] Fix compilation errors since Core code changes
  • [TouchHandler] Fix compilation errors since Core code changes
  • [TouchHandler] Code optimization reducing .bin size
  • [P123] Minor code optimiziations
  • [Build] Reduce code size to make Collection F fit again
  • [Build] Reduce code size to make Collection F fit again (Collection plugins)
  • [TAR] Exclude feature from normal_IRext_no_rx build for size overflow
  • [TAR] Exclude feature from normal_IRext_no_rx build for size overflow (commit correct file)
  • [Build] Reduce code size to make Collection F fit again (Collection plugins)
  • [Build] Reduce code size (Stable plugins)
  • [P045] Don't use UserVar.setInt32() for Collection builds
  • [Build] Reduce code size (Stable plugins)
  • [Build] Reduce code size (Stable plugins)
  • [Build] Reduce code size (Stable plugins)
  • [Build] Reduce code size (Collection A plugins)
  • [Build] Reduce code size (Collection B plugins)
  • [Build] Reduce code size (Collection C plugins)
  • [Build] Reduce code size (Collection D plugins)
  • [TAR] Correctly handle a 0-byte file on download
  • [TAR] Improve Tools/Save description, add Reboot button on Tools/Load, update documentation
  • [Build] Reduce code size (Collection E plugins)
  • [Core] String optimizations
  • [Core] String optimizations
  • [Core] String optimizations
  • [Core] String optimizations
  • [Lib] LD2410 Optimize code to reduce bin size
  • [Build] Reduce code size (Collection G plugins)
  • [Build] Reduce code size (Energy plugins)
  • [Build] Reduce code size (Display plugins)
  • [Build] Reduce code size (Controller helper)
  • [AdaGFX_helper] Code improvements Partly based on this commit: https://github.com/letscontrolit/ESPEasy/pull/4932/commits/a95ad3bda183f0ecf4e41efff3e9cbe4fb3a2e16
  • [Build] Reduce code size (avoid String(F("...")) conversions and concatenations)
  • [Build] Revert modifications for Eth- and WiFi- event handlers (too timing critical)
  • [TouchHandler] Also reverse the Left/Right navigation when Up/Down navigation is reversed
  • [TouchHandler] Rename inc/dec subcommands to next/prev
  • [P123] Refactor increment/decrement functions to next/prev in line with TouchHandler
  • [P123][TouchHandler] Add documentation
  • [Build] Code reductions to make Collection F build fit in .bin size again
  • [P145] Revert moved include
  • [P123] Docs minor corrections
  • [P011] Add Input (switch) option, code improvements
  • [P011] Add documentation
  • [P064] Add Separate Gesture events option
  • [P064] Updated documentation
  • [TAR] Re-enable TAR support in ESP8266 Display build
  • [Docs] Improvements and missing features
  • [Storage] Use correct parameter-type for strformat()
  • [Storage] Use correct parameter-type for strformat()
  • [Storage] Use correct parameter-type for strformat()
  • [Storage] Use correct parameter-type for strformat()
  • [Storage] Use correct parameter-type for strformat()
  • [Storage] Use correct parameter-type for strformat()
  • [Storage] Use correct parameter-type for strformat()
  • [Storage] Use correct parameter-type for strformat()
  • [P047] Add support for Adafruit I2C Capacitive Moisture sensor
  • [P047] Update documentation for added sensor model
  • [N001] Add support for optional Subject to notify command
  • [P162] Add plugin for Digipot MCP42xxx/MCP41xxx
  • [P162] Add required include
  • [P011] Update documentation
  • [P011] Add support for Get Config Values and update documentation
  • [P011] Add plugin commands to EasyColorCode
  • [P162] Fix some testfindings, add logging
  • [P162] Add Send data on change option
  • [P162] Add documentation
  • [P162] Add EasyColorCode configuration
  • [AdaGFX Helper] Add TomThumb 3x5 font
  • [Build] Add ESP32-S3 4MB NeoPixel LittleFS build, including AHT2x (P105) for TinyTronics Smart Home display unit
  • [Build] ESP32-S3 4MB NeoPixel LittleFS build, remove typo, no longer needed here
  • [AdaGFX] Add Default font option and support functions
  • [P131] Add default font selector
  • [P131] Update documentation
  • [Docs] Hide default enabled sidebar menu
  • [P167] Enable use of SEN5x sensor, other improvements
  • [SysVars] Add conversions to get remote-unit info
  • [SysVars] Add more conversions to get remote-unit info
  • [Build] Remove P039 from normal_IR_no_rx_ESP8266 build to make it fit again
  • [P167] Minor corrections and some cleanup
  • [SysVars] Update EasyColorCode with new variables and some fixes
  • [P167] Add to I2C Scanner
  • [P167] Update EasyColorCode docs
  • [P110] VL53L0x: Add Direction value, trigger only when changed, trigger delta
  • [P113] VL53L1x: Add Direction value, code optimizations
  • [P110] Update documentation
  • [P113] Update documentation
  • [Bugfix][P135] SCD4x fix reading sensor settings
  • [P135] Only set sensor parameters if needed
  • [P135] Only set sensor parameters if needed
  • [P105] Update plugin name and documentation
  • [Commands] Correctly handle on/true/off/false as enable/disable values for commands
  • [P105] Update documentation
  • [P034] Add documentation, remove unreachable documentation file
  • [P012] Clear splash after 5 seconds if not yet overwritten (man. picked from #4884)
  • [C018] Re-enable LoRa TTN controller for ESP32 Collection builds
  • [P105] Add extra devices to I2C scanner
  • [P167] Fix storing setting to enable tech. logging
  • [Build] Update espeasy.min.js for multiple merged PRs
  • [P167] Use fixed label for model and tech. logging
  • [AdaGFX_Helper] Fix typo in default font definition
  • [P116] Add Default font selection if AdafruitGFX_Helper fonts are included in build
  • [Docs] Add plugin overview per build set (generated)
  • [P167] Add command sen5x,techlog,<0|1>
  • [P167] Add command sen5x,techlog,<0|1>
  • [P167] Add documentation
  • [C011] Documentation correction
  • [AdaGFX_Helper] Fix typo in default font definition
  • [AdaGFX_Helper] Fix merge conflict
  • [AdaGFX_Helper] Fix font offset issues
  • [P047] Add support for BeFlE v3.x moisture sensor
  • [P080] Add Event with iButton address
  • [DallasHelper] Reduce logging for Dallas_readiButton to on-change only
  • [P080] Remove unneeded Dallas_startConversion calls, reduce logging for Dallas_readiButton call
  • [P080] Improved documentation
  • [P004] Add support for Get Config Value to retrieve sensor statistics
  • [Commands] Add OWScan command to scan for 1-wire devices
  • [P004] Correct typo
  • [P004] Change argument separator to dot for Get Config Value
  • [1WireHelper] Return Unknown for unrecognized devices
  • [P168] Add VEML6030/VEML7700 Light/Lux sensor
  • [AdaGFX Helper] Parse Get Config Values with period instead of comma, with fall-back
  • [AdaGFX Helper] Update documentation
  • [P011] Parse Get Config Values with period instead of comma, with fall-back
  • [P087] Parse Get Config Values with period instead of comma, with fall-back
  • [Build] Fix build error because of removed python package since 3.12
  • [Build] Fix build error because of removed python package since 3.12
  • [P168] Add documentation
  • [P170] Add Seeed studio I2C Liquid Level sensor
  • [Build] Set ETH enabled for all IDF 5.1 builds
  • [P167] Correct interrupt function definitions
  • [P170] Add documentation
  • [P170] Add optional logging of received data
  • [P123] Add support for GT911, CST820, CST226 and AXS15231 touch screens
  • [P123] Update documentation
  • [P123] Fix support for CST226 to return 0 when not touched
  • [P123] Update documentation
  • [P123] Add support for CHSC5816 and update documentation
  • [Commands] i2cscanner: add debug and multiplexer support
  • [P123] Save current device I2C address
  • [P123] Docs: add warning about CST816 can't be found by I2C scan
  • [P142] Add AS5600 Magnetic angle sensor
  • [P168] Fix VEML6030 support
  • [Build] Add P095 to Collection builds (ESP32 only) as documented
  • [P047] Fix compiler warning
  • [P095] Add support for ILI9488 Displays
  • [StringConverter] Fix parseHexTextData unwanted increment during parsing
  • [P123] Docs: add remark for untested touchscreen controllers
  • [P172] Add BMP3xx using SPI interface
  • [P142] Add documentation
  • [P095] Combine support for ILI9486 Displays with ILI9488
  • [P095] Combine support for ILI9486 Displays with ILI9488
  • [P095] Update documentation
  • [P095] Documentation note for ILI9486 added
  • [Docs] Documentation updates, README.md updates
  • [P172] Show ChipID when plugin is enabled
  • [P172] Add/update documentation
  • [P036] Add Header Time format options
  • [P087] Add example to plugin documentation
  • [P027] Add optional Powerdown mode
  • [P027] Fix sending single values via Controller
  • [P003] Countertype to determine the number of values
  • [P003] Update documentation, apply some corrections
  • [P003] Add extra Counter Type options (for selected builds)
  • [P003] Add extra setting for Ignore Delta = 0
  • [P003] Fix typo
  • [Build] Remove P094 from ESP8266 Collection D for size reasons
  • [Build] Remove P094 also from ESP32 Collection D builds
  • [P003] Allow Interval = 0 and send first read 0 Count value
  • [Commands] Rename Reset to FactoryReset
  • [Console] Exclude Serial Console fall-back GPIOs only when fall-back enabled
  • [P003] Improve handling and checking for new pulses when Interval = 0
  • [P141] Add default font selection setting
  • [P011] Exclude plugin from 1M builds
  • [P036] Exclude preview from web-UI for 1M builds
  • [P123] Missing parenthesis in macro
  • [P164] Missing parenthesis in macros
  • [TarStream] Add missing fall-through comment in switch
  • [P038] Reduce build size
  • [P135] Exclude factoryreset command by default
  • [P008] Small code optimizations
  • [P013] Log-string optimizations
  • [P023] Disable Content-display in web-UI for limited builds (code size reductions)
  • [P024] Fix issue with reporting/displaying the configured I2C address (offset via Port)
  • [P104] Fix unused variable warnings
  • [Docs] Corrections for P009 and P019 pin range commands
  • [P038] Add commands neopixelfor and neopixelforhsv
  • [P038] Add optional <clear> argument to neopixelfor commands
  • [P038] Fix optional <clear> argument for neopixelforhsv command

andibaciu (2):

  • Plugin P167 IKEA Vindstyrka
  • Fix some bugs and add suport (only read parameters) for standalone sensirion sen54 and sen55

thomastech (10):

  • Preliminary Notify Plugin Changes to restore operation after ISP email server upgrade
  • Added more comments to file. No code change.
  • Changed Notify SMTP email timeout values to mS (were secs), per TD-er's request.
  • Cleanup Notify log text messages.
  • (1) Reduced Notify Timeout Limit to 12000mS. (2) Fixed "Reply to" address when provided by Notify Command (via rules).
  • Reverted Notify Max Timeout to 20000mS (was 12000). Notify Log msgs now employ loglevelActiveFor() wrapper.
  • Created Docs (RTD) for updated Notifications Email plugin.
  • Corrected Changelog dates in NotificationPage.cpp.
  • (1) RTD text corrections, per discussions. (2) Updated RTD link, now use addRTDHelpButton() function.
  • Minor edits to Notification Docs, per Github comments
View originalPermalink
How mega-20240822 went

mega-20240414

Release mega-20240414

Changes in mega-20240414 (since mega-20240401):

TD-er (17): [HWCDC] Revert to older ESP-IDF/Arduino build [Time] Fix updating %sunrise% and %sunset% when no NTP available [HWCDC] Fix bootloop on ESP32-C3/C6 [HWCDC] Cleanup unused test code [ESP-IDF5.1] Move to newly network refactored code [ESP-IDF5.x] Fix build issue [ESP-IDF5.x] Fix building ESP32-solo1 builds [Ethernet[ Fix crashes when using Ethernet + IPv6 on LittleFS builds [Ethernet] Fix getting DNS from DHCP switch from WiFi to Ethernet [ESP-IDF5.x] Fix LittleFS builds without Ethernet [IMPROV] Fix provisioning WiFi via web flasher [ESP-IDF5.1] Update to latest 2024.04.11 platform build [SPI ETH] Fix SPI selection to actual SPI bus for Ethernet [SPI Eth] Fix build on ESP32-C3 [HWCDC] Tweak HWCDC to be more stable [Build] Revert unintended change of default PIO env. automatically updated release notes for mega-20240414

Ton Huisman (2): [Dist] Update Espressif Flash Download tool 3.9.6 [JSON] Add extra data in /json output

View originalPermalink
How mega-20240414 went

mega-20240401

Exactly the same as the 20230331 build, now with working release build script

Release mega-20240401

Changes in mega-20240401 (since mega-20240331):

TD-er (1): automatically updated release notes for mega-20240401

Ton Huisman (1): [Bugfix] Release script fixes and simplifications

View originalPermalink
How mega-20240401 went
mega-20240331

mega-20240331 (Easter)

Changes in mega-20240331 (since mega-20240229):

Ernest (ErNis) (1):

  • INA219 26V 8A range added

Jason2866 (1):

  • small refactor

TD-er (14):

  • [JL1101] Fix JL1101 Ethernet + update to latest ESP-IDF5.1 code
  • [PlatformIO] Fix installing pygit2
  • [ESP8266 WiFi] Initialize flags for AP capabilities
  • [ESP8266] Get rid of several union structs which may cause weird issues
  • [ESP8266] Remove use of union due to issues on ESP8266
  • [ESP-IDF5.1] Revert to older SDK code due to issues with HWCDC
  • [Build] Reduce build size regarding WiFi AP Candidate duplicate code
  • [HWCDC] Test for ESP32-C3/C6/S3 HWCDC issues
  • [CUL Reader] Cherry pick code from ESPEasy_NOW pull request
  • [CUL Reader] Fix not being able to set flags
  • [Save Settings] Fix issue where data may get corrupted saving task
  • [Display] Reduce ESP8266 'display' build size
  • [MQTT] Fix crash and disconnect sending to MQTT using formula
  • automatically updated release notes for mega-20240331

Ton Huisman (22):

  • [P087] Add serialproxy_test command and Get the parsed data
  • [P087] Fix typo
  • [P087] Documentation clarification
  • [P087] Apply log-string and code optimizations
  • [P087] Always process Global Match so values can be retrieved
  • [Bugfix] Release.yml shouldn't try to move a non-existing file
  • [Build] Add ESP32-C6 MAX builds (preliminary)
  • [Docs] Update ESP chip info
  • [Docs] Update ESP chip info
  • [P116] Add alternative model selections for ST7789
  • [Bugfix] Remove duplicate define in Custom-sample.h
  • [Build] Custom IR ESP32 configurations not using the pre_custom_esp32_IR.py Python script
  • [P116] Add alternative model selection for ST7735
  • [P029][C002] Add option Invert On/Off value
  • [Docs] Update P029 documentation with new option
  • [C002] Reduce .bin size (slightly)
  • [P116] Fine-tuning the rotation column-offset for ST7735 135x240 display
  • [P116] Documentation improvement.
  • [P095] Documentation improvement.
  • [P116] Update documentation for supported displays
  • [Build] Disable Notifiers in full binaries
  • [Build] Fix typo
View originalPermalink
How mega-20240331 went
mega-20240229

mega-20240229 (leap-build)

What's Changed

Full Changelog: https://github.com/letscontrolit/ESPEasy/compare/mega-20231225...mega-20240229

View originalPermalink
How mega-20240229 went
View all

Discussion