Tags: almirus/ESPEasy
Tags
Release mega-20220427 Changes in mega-20220427 (since mega-20220328): Blazej222 (1): Allow OTA attempt even when not enough space Gijs Noorlander (2): [MQTT commands] Support commands with arbitrary argument position [MQTT commands] Fix parsing full command Leonardo Rizzi (1): Update _controller_substitutions.repl Peter Kretz (1): Check of x and y against height and width has to be done before TD-er (50): [MQTT commands] Add command via MQTT with variable parameters [Build] Make sure to add fs:: namespace to fs::File [Pip] Remove conflicting version limit on semantic-version [WiFi] Prevent stack overflow when WiFi connection isn't successful [WiFi] Properly clear duplicates from WiFi scans [WiFi] Fix connecting to the strongest WiFi AP [MQTT] Reduce rate of MQTT reconnects when failing to reconnect [Build] Disable test_X_beta_ESP8266 builds due to build size [Rules cache] Add handler for speeding up rules parsing [Rules] Let the RulesHelper parse line by line [Rules] Cache rules per line on ESP32 [Rules] Only parse lines that need to be parsed [Rules] Nesting level does not matter to stop parsing rules file [WiFi] Rate limit checking WiFi.isConnected() [Rules] Small tweaks to speed up processing rules [Rules] Rate limit calls to background tasks [Rules] Minor tweaks to improve rules execution speed [Rules] Cache which rules lines start with "on " for ESP32 [Rules] Fix missing include [Rules] Add caching to speed up rules processing [Rules] Fix build issue on ESP32 [Rules] Fix build on ESP32 [Rules] Fix missing include on ESP32 [Rules] Improve speed processing rules + option to disable rules cache [PlatformIO] Update ESP32 PIO platform to 3.5.0 [Rules] fix parsing events starting with " do" [Rules] Add %eventname% and %eventpar% to allow for simpler rules Rate limit the number of background task calls to improve speed [Timing Stats] Add process_system_event_queue() to the timing stats [Rules] Add setting to disable cached event reorder [Rules] Allow for more than 4 %eventvalueN% [Rules] Document using > 4 eventvalues + using string type eventvalues [Rules] Add %eventvalue0% to get all arguments at once. [Rules] Fix compiler warning compare signed/unsigned [Rules] Check for invalid %eventvalueN% occurences [Rules] Add documentation on %eventvalue0% [Rules] Allow for empty event values [Rules] Add option for default values on non-existing eventvalues [Rules] Add 'restrict' keyword to safely allow executing %eventvalueN% [Rules] Fix issue when processing eventvalue without default value [Rules] Update documentation regarding event values. Wrap eventvalues in quotes when needed for generated events [Fonts] Only include font data once in built bin file. Add Fixme for later reducing IRAM usage on font size struct [Cleanup] Remove duplicate code to wrap text in quotes [MQT import] Reduce memory usage, especially during load/save [Cleanup] Fix tricky PLUGIN_EXIT calls [MQTT Import] Unsubscribe from MQTT topics on exit [MQTT import] Add log when task cannot unsubscribe as others use it automatically updated release notes for mega-20220427 Ton Huisman (247): [P037] Add mapping, filtering and json support - Mapping string to numeric/other string - Filtering to limit processed data - json support to process complex messages [P037] Fix build issues (missing include, testing size) [P037] Fix some bugs, add filtering with list, some code optimization [P037] Bugfixes, improvements, filter per Topic, re-org Device setup [P037] Some minor corrections [P037] Add documentation [P037] MQTT Topic match multi-level standards compliant [P037] MQTT Wildcard handling improvement [P037] Proceed with invalid numeric value as NaN [P037] Code cleanup and improvements, documentation improvements [P037] Actually store the NaN value if applicable [P037] Adjust for changed compare function [P037] Use proper double variables for comparisons [P037] Reduce String re-allocations and memory use [P037] Additional merge fixes [P037] Optimize string handling/passing [P037] Source formatting (uncrustify) [P037] Disable development logging [P037] Add conditional flag to force all features [P037] Merge changes for byte to uint8_t change [P037] Optimizations and some source reformatting [P116] ST7735/ST7789 TFT Plugin and AdafruitGFX helper [Build] Add ST7735 library to libdeps for ESP32 [Build] Fix ST7735 library libdeps for ESP32 [Build] Fix ST7735 library libdeps for ESP8266 [Build] Fix ST7735 library libdeps for ESP8266 [Build] Fix ST7735 library libdeps [Build] Fix ST7735 library libdeps [Build] Fix Adafruit_ST77xx library libdeps [AdaGFX helper] Only compile when used/needed [AdaGFX helper] Treat like an optional 'plugin' [AdaGFX helper] Fix for custom_ir build [AdaGFX helper] Add validation check (optional, if build size permits) [P116] Small code improvements [AdaGFX helper] Add debug logging to validation check [AdaGFX helper] Small improvements [P116] Textual changes, only generic type names shown [AdaGFX helper] Add color conversions, improved validation and compile-time defines [AdaGFX helper] Missed a file for compile-time defines [AdaGFX helper] Implement TextPrintMode, get cursor coordinates, fixes [P116] Use new features of AdafruitGFX_helper [P116] Reorder some device settings [P116] Add triggerCmd 'backlight,<percentage>' command [P116] Reorder more device settings [AdaGFX helper] Corrections and improvements [P116] Add default color settings [AdaGFX helper] Argument validation corrections [Docs] Fix small typo in tools.rst [P116] Add documentation, including AdafruitGFX_helper commands [AdaGFX helper] Fix a missing conditional compilation check [AdaGFX helper] Improve 'clear' command, add 'rot' command [P116] Refactor some generic functions to AdaGFX helper [AdaGFX helper] [P116] Fix: Restore intended transparent background feature [AdaGFX helper] Improvements for compatibility with P095 ILI9341 [P095] Initial implementation of AdaGFX Helper, work in progress [AdaGFX helper] Moved more generic code here, improvements [P116] Less conditional compilation, improvements [P095] Complete overhaul w. AdaGFX Helper, settings like P116, Use PluginStructs for multi-instance, some work in progress [AdaGFX helper] Add/update unicode-char conversions [AdaGFX helper] Add/update unicode-char conv, add txz and asciitable commands [P116] [P095] Minor update for AdaGFX helper update [P116] Documentation corrections [AdaGFX helper] Bugfix,apply txp/txz compatibility correction [P095] Remove duplicate clear handler [P096] Initial implementation of AdaGFX Helper, work in progress [AdaGFX helper] Fix typos in unicode character conversions [AdaGFX helper] Enable subcmd proc. from template [AdaGFX helper] Change subcmd trigger, bugfixes [P095][P116] Allow longer template lines, always process subcmds [P095][P116] Improvements in template processing [AdaGFX helper] Improvements and corrections [P095] Re-order settings, minor improvements [P116] Re-order settings, minor improvements [P096] Complete overhaul w. AdaGFX Helper, settings like P116, Use PluginStructs for multi-instance, some work in progress [LOLIN_EPD] Update library to support extra devices [P037] Reformatted using Uncrustify, string & logging optimizations [P037] Fix filter input validation, use string.isEmpty() where possible [P037] Small source reformsatting [P037] Small improvements [P037] Restore required include [P037] Reduce info-logging somewhat [P037] Fix JSON filtering & resizing bugs [AdaGFX helper] Fix color parsing bug [P116] Explicitly initialize all ST7789 resolutions [P116] Add support for ST7789 240x135 resolution [AdaGFX helper] Rename color(depth) enum values [P096] Fix compiler warning on 'delete eInkScreen' [AdaGFX helper] Add setting for Fill text background [P116] Update documentation [P116] Simplify initialization [P095] Simplify initialization [P096] Simplify initialization [P095/P096/P116] No 'read' action if all Line fields empty, log Exit, optional splash text [P116] Swap resolution for 135x240 display [P096] Fixes to Lolin EPD library, fix bg color conversion [Lolin EPD lib] Fix class destructor issues [Lolin EPD lib] Fix class destructor issues [AdaGFX helper][P095][P096][P116] Fix many bugs (init, rotation, destructors) [AdaGFX helper] Don't remove trailing spaces [P116] Fix displaybutton handling (based on P036) [P095] Fix displaybutton handling (based on P036) [AdaGFX helper] Move settings to generic functions [AdaGFX helper] Fix row/col recalculation on rotation change [AdaGFX helper] Restore text-end trimming [AdaGFX helper] Add vert. font offset where needed, add 16pt font, include all fonts in MAX builds [AdaGFX helper] Fix font issues, add some fonts, remove 1 font [AdaGFX helper] Handle proportional font widths correctly [AdaGFX helper] Disable fonts used during debugging [AdaGFX helper] Bugfix monospaced fonts [AdaGFX helper] Fix for fonts with 0-width space [P037] Documentation improvements [P116] ifdef error fixed [Storage] Add optional offset argument to Load/SaveCustomTaskSettings functions [P037] Redesigned settings storage req. much less RAM, add topic prefix, bugfixes and improvements [P037] Reduce buildsize for DISPLAY builds [P037] Update documentation pP116] Add support for ST7796, change plugin description [P116] Updated documentation [P116] Fix typo in include name [P116] Fix a typo and removed unneeded comments [P037] Disable new features by default, enable all in Custom builds [P116] Move from DEVELOPMENT to TESTING, implement PLUGIN_GET_DISPLAY_PARAMETERS function [P095] Implement PLUGIN_GET_DISPLAY_PARAMETERS function, cleanup source [AdafruitGFX_Helper] Refactorings and minor extensions [P096] Implement PLUGIN_GET_DISPLAY_PARAMETERS function and AdafruitGFX_Helper refactoring [P095][P096][P116] Definition PLUGIN_GET_DISPLAY_PARAMETERS function [AdafruitGFX] Reduce buildsize a bit [P1116] Temporary disable P109 to fit ESP32 Display build [AdafruitGFX_helper] Add multi-line subcommand 'lm' for drawing a multi-segment line, incl. docs [AdafruitGFX] Add multi-line, relative, subcommand 'lmr' for drawing a multi-segment line, incl. docs [AdaGFX] Bugfix with Background fill for text option [AdaGFX] Add Color depth selector and generic command-trigger [P116] Fix documentation typo [P116] Add support for generic command-trigger [P095] Add support for generic command-trigger [P096] Add support for generic command-trigger [AdaGFX] Fix white color recognition for non-full-color colordepths [P096] Remove splash compile-time option, some source cleanup [AdaGFX] Correct bool argument definition [P096] Minor correction missing comma [AdaGFX] Correct DisplayTimeout setting not allow negative, and > 255 seconds [P116] Refactor displayOnOff [P095] Refactor displayOnOff [P037] Minor corrections, fix a typo [P127] CDM7160 I2C Co2 sensor plugin [P127] Add entry to Custom-sample.h [P038] Enable multi-instance use [P038] Fix initialization order [P127] Don't send data during initialization, change status to Testing [P127] Fix typo [P126] Add 74HC595 Shiftregisters plugin [P126] Move plugin to TEST_E set [P126] Apply feedback, fix bugs, add SHOW_VALUES and some commands, improve 74hcSetAll for setting multiple output pins [P126] Bugfixes, code optimization, hex values display in uppercase [P126] Bugfix for display range [Lib] ShiftRegister74HC595_NT: Add setSize() method, cleanup constructor [P126] Optionally restore State on warm boot, code improvements [P126] Add command 74hcSetChipCount for changing the number of active chips at runtime [P126] Correct Values display and event generation, disable Formula and Decimals, update Device parameters [P061] Enable multi-instance use [P061] Add support for PCF8575 16 bit IO expander (and in I2C scanner) [P061] Add support for MCP23017 Direct mode (16 buttons with common gnd) [P061] Add optional dev. logging during read, max. 1x /sec [P061] Disable PCF8575 support on LIMIT_BUILD_SIZE builds [P038] Resolve code duplications, other optimizations [P038] Also support RGBW for NeoPixelLine command (in addition to RGB) [P038] Initialize to 0 [P076] Build: Restore plugin in POW builds [P126] Move log before next, unprocessed, argument [Docs] Update copyright year in documentation footer [P126] Minor updates and corrections while writing documentation [P126] Add documentation [P127] Add documentation [Docs] Update copyright year in documentation footer [P127] Remove build info from screenshot [P126] Remove build info from screenshot [P038] Add documentation [P038] Resolve pin selection FIXME, adjust comments about RGBW support for NeoPixelLine command [P061] Add documentation [P061] Fix some comment typos [P126] Documentation improvements [P036] Bugfix: Enable the use of 4-line frames again [Build] Disable P109 from DISPLAY build because of build size issue [P036] Add linecount subcommand for changing lines per frame [P036] Update documentation for linecount subcommand [P036] Uncrustify & source reformatting [P036] - Some refactoring and code improvements [P036] - add setting to hide indicator (footer) [P036] - optimization of font selection [P036] Add Left-align option for content, code optimizations [P036] Update documentation for leftalign subcommand [P061] Fix merge [Build] Exclude Adafruit_ST77xx from new custom_beta_IR environment [P036] String allocation improvements [P038] Log and string optimization [P061] Log optimization [P127] Log optimization [P126] Log optimization [P037] Remove unused variable [P037] Log and string allocation impeovements [AdaGFX] Add Datalist support function, logging improvements [P116] Logging improvements [P095] Add data_struct destructor, logging improvements [P096] Small code- and logging- improvements [AdaGFX] Add destructor [P095] Destroy also gfxHelper in destructor [P116] Add destructor [P096] Add destructor [P116] Add destructor, also in .h file [P036] Change 8pt font (4-lines) for better readability, add extra font compile-time option [P036] String allocation improvements [P116] Rework destructor to act the same as plugin_exit handler [P036] Partially reverted previous changes, now tweaked for fitting in 4-lines display like in 2020 builds [P126] Rename command-prefix from 74hc to 74hc595, and update documentation [P126] Add output selection option, improve values display [P126] Update documentation [P126] Rename command to ShiftOut, and promote rest of command to second argument [P126] Update documentation using new command name [P117] Add Automatic Calibration option and commands [P117] Update documentation [P117] Add setting and commands for measurement interval. Also a bugfix for command scdsetfrc. [P117] Update documentation [P117] Code improvements replacing PCONFIG settings by define names [P117] Add extra warnings and notes about calibration to documentation [P126] Rename plugin title, update documentation other minor doc. improvements [P126] Always show formatted output, even when plugin is not active. [Docs] Add P121 to Plugin overview page [P022] Add fade duration argument to 'pcapwm' command [AdaGFX] Add support for display of bmp files, some minor improvements [P096] Add support for Waveshare 2in7 264x176 pixel monochrome ePaper display [P096] Correction to rotation calculation by kretzp for Waveshare 2.7" [P096] WS2in7: Prefix all compile-time defines, remove unused constructor [P027] Enable all possible chip addresses [P027] Uncrustify the source [P027] Put I2C address list in natural order [P027] Move I2C address documentation to appropriate place and remove unneeded defines [P022] Add minimal documentation (commands) [P037] Fix event generation bug, add event-limit options [P037] Only generate event MQTTImport#(dis)connected if plugin-task is enabled [P037] Enable all optional features in MAX builds [P037] Fix Linux compilation issue (tighter type-checks) [P037] Add option to replace value (special) characters by a comma [P037] Add option to replace value (special) characters by a comma [P037] Add option to replace value (special) characters by a comma [EventQueue] Optionally deduplicate event against current event list (case-sensitive) [P037] Use EventQueue deduplicate feature, case-sensitive [P037] Code optimizations, allow a few extra replace-characters [P037] Small UI adjustments [P037] Update documentation [P037] Improvements of documentation [Helpers] Enable unconditional quote-wrapping of a String value [Helpers] Refactor quote-wrapping of a String value [OTA] Add setting for allowing unrestricted (size) OTA update [Rules] Fix handling of %eventvalue0% without default value blazej222 (1): Fix typo stefan (2): [ESP32] pinMode() crashes ESP32 with PSRAM [ESP32] fix typo in comment
Release mega-20220328 Changes in mega-20220328 (since mega-20211224): Leonardo Rizzi (1): Typo in comment of P074 Sven Briesen (1): Add docs for the lib TD-er (190): [PWM motor] Add _P098_PWM_motor.ino [PWM motor] Minor tweaks [PWM Motor] Add proper debounce to limit switches [PWM motor] Move P098 to "testing A" due to iRAM usage [PWM Motor] Uncrustify [PWM Motor] Restore positions at boot & format GPIO overview [PWM Motor] Cleanup GPIO selection code [GPIO selection] Make conflicting pins more clear in the web interface [PWM Motor] Fix setting GPIO state when start/stop motor [PWM Motor] Temp disable interrupts when processing ISR [GPIO selection] Filter possible GPIO pins based on needed properties [PWM Motor] Fix crash on handling limit switch pulse [PWM Motor] Simplify processing debounce on limit switches [Core 3.0.0] Allow building using esp8266/Arduino core 3.0.0 [Core 3.0.0] Rename deprecated ICACHE_RAM_ATTR to IRAM_ATTR [WiFi] Allow longer scan time per channel [Memory] Move controller queue elements to IRAM heap [Memory] Store event queue in IRAM 2nd heap [Memory] Move web log entries to IRAM 2nd heap [Memory] Fix crashes using IRAM 2nd heap [Memory] Do not switch heap from .ino or .h files. [memory] Store p2p Nodes information in 2nd heap [ESP32] Fix build issues [Memory] Fix build issues when using 2nd heap (PIO define issue) [Libs] Explicit define Adafruit BusIO library + version [Cleanup] Keep flash string when executing internal commands [Memory] Fix strange crashes due to not using correct heap [Memory] Switch to DRAM heap on every loop and when adding plugins [Reduce size] Add build flag to remove the 4-bytes alignment for PSTR() [Webserver] Fix unneeded copy of object when serving data(letscontrolit#3693) [Mutex] Fix no longer using fishy assembly for ESP8266 mutex [PIO libs] Update Adafruit BusIO to 1.8.1 [2nd heap] Make sure DRAM heap is selected when making [CN]Plugin calls [WiFi scan] Push scans to temp list first to store in 2nd heap [Framed OLED] Fix crashes when using 2nd heap [Numerical] Fix bug where "-" is considered numerical [Cleanup] Wrap strings in F() [Web UI] Update served static files [Memory] Fix crashes on serving flash strings with 2nd heap active [Memory] Core 3.0.0 = SDK3, Beta = staging + 2nd heap [PIO] Set build_unflags for all esp8266 build envs [WebUI] Allow slightly longer flash strings to be sent in a single chunk [PIO] Cleanup use of build_unflags [Memory] Fix web log buffer using 2nd heap [Memory] Store more runtime data in 2nd heap Move to esp8266/Arduino @ 3.0.1 [Cleanup] Fix some possible uninitialised members & other loose ends [Cleanup] Fix bugs reported by PVS Studio [Memory] Fix reboot on 2nd heap sorting plugins [Cleanup] Fix return value in MQTT Publish command [Cleanup] Use of "byte" as a type. uint8_t or (C++17) std::byte are better [LoRaWAN] Fix crash when LoRa or serial could not be allocated [Libs] Don't use "byte" as type anymore [Cleanup] Don't use "byte" as type anymore (.ino files) Fix uninitialised members of RegExp [Memory] Allow to disable collecting timing stats to save RAM [Framed OLED] Reduce memory usage slightly. [ESP32] Fix merge issue Add custom_beta_IR_ESP8266_4M1M build env Fix build issue with updated Adafruit BusIO library [PIO] Fix merge issue [core 3.0.2] Update to esp8266/Arduino 3.0.2 Let toString(UnaryOperator op) output FlashString [Core 3.0.x] Update all references to core_3_0_2 [ser2net] Remove tricky temp char pointer use [Commands] Make sure commands are converted to String before executing [Logging] Don't use const char* as function argument [Framed OLED] Fix build issues with PLUGIN_036_DEBUG defined [Cleanup] Do not use const char* as function argument for URLEncode [SD log] Fix merge issue on log to SD [Build] Add -fno-strict-aliasing as build flag make builds more stable [PIO] adafruit/Adafruit BusIO @ ~1.9.0 [PWM motor] Add plugin to "testing D" [PWM motor] Add encoder timeout [PWM motor] Add PWM soft start/stop [PWM motor] Add configurable duty cycle [Web UI] Update tasks with no configurable interval every 1 second [Web UI] Suggest reset flash write count command in error message [GCC] Use GCC 10.3 bugfix for ESP8266 core 3.0.2 [Webserver] Change chunked buffer size to 1360 bytes [Web UI] Small tweaks improving speed serving pages [Webserver] Fix serving CSS [Web] Allow to stream from file system (e.g. CSS inline) [Webserver] Reduce resources when serving file from file system [Dashboard] Use less resources when serving dashboard.esp [Cleanup] Cache some more constant flash chip values [Cleanup Cleanup] Add missing include [Bugfix] Fix possible crash when printing floating point values [Cleanup] Remove some unneeded conversion to float P073 7DGT [ESP8266 v3.0.2] Update lib_deps [Cleanup] Fix missing paths on #include statements + update I2Cdev lib [Cleanup] Fix define paths on .h files [ESP8266 2nd Heap] Store log buffers in 2nd heap [2nd heap] Load webpage template and string load in 2nd heap [Cleanup] Improve readability for lowest memory usage [Cleanup] Fix merge issue, remove forward declaration duplicate [I2Cdev lib] Change `byte` to `uint8_t` [P016] Reduce memory usage during load/save [P016] Convert settings on the fly, using less memory [P016] Cleanup settings convert and save routine [P016] Make sure to always convert settings on load [P016] Uncrustify P016_data_struct [Task Save] Delete task data before saving when possible [Task Save] Make sure to explicitly PLUGIN_EXIT on saving settings [Web UI] Serve web template immediately to client (less RAM usage) [Web UI] Serve web template immediately to client (less RAM usage) [Web] Add missing include [usec timing] Use 64 bit variables when comparing usec timing [HCSR04] Remove loglevel depending timing showing useless log [Static files] Update link to CDN delivered content to latest build Do include degree symbol on limited build sizes [Cleanup] Serve 2 char flash strings as 2 chars on web pages [Cleanup] Fix signed/unsigned compare warning [Cache] Cache nr of task value decimals [SDK3.0] Disable normal_302_ESP8266_1M due to build size [SSDP] reduce memory usage on SSDP schema [Cleanup] Reduce bin size handling large switch statement [Cleanup] Reduce bin size on longTermTimer by implementing in .cpp [JSON] Improve speed serving JSON + make parsing numericals better [Cleanup] Slightly reduce bin size using chars instead of flash strings Revert caching nr decimals due to strange issues. [JSON] Remove some code duplication generating JSON [Cleanup] Replace some short flash strings with chars Keep "getDeviceIndex error in Device Vector" check [INO to CPP] Adapt __Plugin.ino to .h/.cpp [INO to CPP] Adapt __CPlugin.ino to .h/.cpp [INO to CPP] Rename Cnnn.ino to Cnnn.cpp [INO to CPP] Mark ESP8266/ESP32 specific plugins in _Plugin_init.h/.cpp [INO to CPP] Adapt __NPlugin.ino to .h/.cpp [INO to CPP] Rename Nxxx.ino to .h/.cpp [INO to CPP] Fix missing forward declarations in C018.cpp [Build] Unflag -fexceptions and build flag -Os to reduce bin size [SendToHTTP] Add some checks for timeout to send to HTTP [2nd Heap] Disable using 2nd heap for non-String objects [Webserver] Fix "Templ: Unknown Var : content" [Low Mem] Add checks for successful String memory allocation [WebServer] Speed up serving pages and slight reduction of RAM usage [RAM Tracking] Disable detailed RAM tracking + make it a setting Fix build error WiFiClient doesn't have getTimeout() [CSV] Stream CSV directly to the client, not using RAM [Cleanup] Replace empty string assignment with .clear() [Cleanup] Write single char units as char instead of flash string [Cleanup] Do not generate temp strings that can be streamed to client [Cleanup] Use flash strings where needed or chars for single char string [Cleanup] Direct initialise selection options where possible [Cleanup] Misc cleanup to reduce build size [WiFi] No longer destruct and recreate WiFi object on init [Build Flag] Add -s flag on ESP8266 to explicit strip unused parts Fix build error on ESP32 [WebServer] Do not use substring to serve larger strings [Cleanup] Change NULL to nullptr [Cleanup] Use F() macro where possible and less String conversions [WebServer] Tune to faster serving pages using less memory [Build] Fix build error after change to use flash string [RAM tracker] Not logging ram tracker when not enabled. [PLUGIN_READ] Do not call PLUGIN_READ when not enabled. [Webserver] Use move operator when possible to prevent copy strings [Webserver] Fix crashes on 1 heap setups with serving flash strings. [Cleanup] Uncrustify P118 ltho [P118 ltho] Fix some very basic const issues. Disable P118 Itho for 2nd heap builds to make it fit [Log] Prevent String copy when adding log [Log] Make sure to allocate 2nd heap when available [Log] Call addLogMove where log Strings can be moved instead of copied [Log] Fix cleaning up Web log buffers + buffer efficiency [Log] Fix freeing memory in the log struct. [Memory] Free allocated memory in Strings .clear() does not free it [Cleanup] Simple fixes to prevent String reallocation. [ESP8266 2nd heap] Reduce nr of mem allocations and use 2nd heap [Sysinfo] Fix strange ESP Chip ID on sysinfo web page [Web UI] Serve web p[age template based on head or footer part of page [RAM tracker] fix potential multiple calls to std::move on the same str [Build] Make sure SDFS and LittleFS are not linked in the build Use FS_NO_GLOBALS only on esp8266/Arduino v3.0.x Fix build errors due to fwd declaration and typo [Build] Add missing #include <vector> [Build] Using PlatformIO Espressif32 v3.3.2 [Build] ignore SD(esp8266), SDFS and LittleFS(esp8266) for 'normal' [Build] Update changed lib_ignore SD library name (from SD(esp8266) ) [Build] Remove PlatformIO LDF deep+ mode [Build] Fix ESP32 build [Build] fix build issue using fs:: namespace [Build] Fix IR builds and ESP32 builds due to missing includes. [Build] Also include previous lib name SD(esp8266) for lib_ignore [Build] Make minimal IRext 1M build fit again [Build] Clean-up PlatformIO ESP32 build envs [PVS-Studio] Fix some tricky code noticed by PVS Studio [Notifiers] Fix NPlugins not showing up in build. [Webserver] Fix serving GZipped files automatically updated release notes for mega-20220328 Ton Huisman (60): [P119] Add library for ITG3205 [P119] Add ITG3205 to I2C scanner [P119] Improvements and fixes for ITG3205 library, source reformatted [P119] Add plugin for ITG3205 gyro sensor [P119] Fix ESP32 build issue [P119] Fix ESP32 build issue [P119] Improvements as suggested in feedback [P119] Eliminate unneeded variable [P119] Use intialized() function where possible [P120] ADXL345 Accelerometer basic plugin structure [P120] Add ADXL345 to I2CScanner [P120] Add Sparkfun ADXL345 library to enable secondary I2C address [P120] Sparkfun ADXL345 library source formatted (uncrustify) [P120] Sparkfun ADXL345 library add getDevID() (from github pull request) [P120] Sparkfun ADXL345 library add getDevID() (from github pull request) [P120] Sparkfun ADXL345 library add powerOff() (from github pull request) [P120] Sparkfun ADXL345 library fix compiler warning (cast) [Misc.cpp/h] Add get/set 3 and 3 bits from/to UL support functions, uncrustify Misc.cpp [P120] Add ADXL345 Accelerometer plugin [P119] Add to TESTING_C set, fix some compilation issues [P119] Add documentation [P119] Fix some missed replacements [P008] Wiegand bugfix for 32 bit or larger frames (casting issue) [P008] Wiegand bugfix for swapped GPIO mapping [P008] Add compatibility mode for swapped GPIOs, use 'ull' postfix instead of static_cast for uint64_t values [P008] Update documentation [P008] Update documentation [P119] Move from Development to Testing [P120] Add documentation [P120] Move from Development to Testing, some corrections [P120] Add to TEST_D builds [P120] Refactor to enable I2C and SPI implementation (in plugin P125) [P120] Fix some comment typos [P120] Disable SPI init in library, small code optimization [Build] Add TEST_E set of build configurations, update plugin doc and readme.md [P120] Move to TEST_E build, prepare for P125 [P120] Minor documentation corrections [P125] Add ADXL345 SPI plugin, sharing most code with P120 I2C plugin [P125] Add documentation (also mostly shared with P120 I2C plugin) [P021] Fix config-save issue and some improvements [P021] Add documentation (partially migrated from the wiki) [P021] Add setting for saving during config change, update docs [P021] Updated changelog in source [P062] Add Panel sensitivity option [P062] Uncrustify source [P062] Add documentation [Build, MAX] Increase max. plugin count from 125 to 135 [P073] Fix rounding errors on 7dt and 7ddt commands [Build] Move P119 ITG3205, P121 HMC5883 and P125 ADXL345 SPI to TEST_E set [P035] Enable multi-instance use for IR Transmit [P035] Review corrections [LIB] IRremoteESP8266 update to v2.8.1 [P035] Correct struct init (also needs lib fix) [Build] Set LIMIT_BUILD_SIZE also for ESP32 on DISPLAY builds (and pre-IDF4.x) to fix build-size issue [Build] Enhanced condition [P035] Make some parts optional at compiletime to save a few bytes [Build] IRext 1M build: had to disable P088 Heatpump IR because of max. bin size [P022] Correct dot handling in command parsing [Formatting] Fix issue with unexpected leading space [P073] Code de-duplication and optimization soif (4): keeps minified version of css file (to get the espeasy_default.min.css up to date) Separate generated variables by blank lines in data_h_temp (to ease copy/paste) Udate minifiers site URLs, as announced at https://html-minifier.com/ CSS now use cssminifier (instead of html-minifier) and results in smaller minified CSS files stefan (1): [ESP32] Add GPIO37/38 as input svn2208 (11): Init commit. Add support for HMC5883 ready to use commit Improve code, because of code review Improvements due to code review Usage of proper storage of a float conf value Remove debug statement; shotens float faction to 2 Wrap Logentry in condition Add taskindex instead of hardcoded sensorid Extend DeclinationAngle to 5 decimal places. Simplify Logentry Add pluginsubpage to pluginpage. Change Inputvalue from Radian to Degree Change Category to position Change input to degree and add formula to convert to rand svollebregt (1): [P118] Add documentation uwekaditz (1): [P016] Accept decode_type_t::UNKNOWN as valid IR code
Release mega-20211224 Changes in mega-20211224 (since mega-20211105): StefanNetzer (15): Update _P043_ClkOutput.ino add events added TDs recommendations cleanup resync to GitHub Update _P043_ClkOutput.ino added PLUGIN_VALUENAME2_043 Update _P043_ClkOutput.ino Update _P043_ClkOutput.ino Update _P043_ClkOutput.ino added output data type replaced all by simple restored fixed link error using output value definition from P004 TD-er (22): [Cleanup] Fix lots of missing delete calls to free memory [P095 ILI9341] Convert to use PluginDataStruct [P095 ILI9341] Renamed functions in P095 plugin [P096 E-ink] Convert to use PluginDataStruct [Build] Fix case sensitive mixup in include path [Build] Correct correct include path depth [P095 P096] Convert to use PluginDataStruct Revert changes to P095 and P096 Moved to PR letscontrolit#3835 [ThermoOLED] Check for successful allocation of display object [Domoticz] Only incoming MQTT on tasks with controller linked (letscontrolit#3829) [GPS] Add power save commands (Ublox specific) [GPS] Add more U-blox specific features [GPS] For now, disable U-blox specific settings [GPS] Document GPS plugin [Password] Add clearPassword command [Doc] Add Notepad++ colourise ESPEasy Rules language [dashboard] Fix crash on parsing empty command {} (letscontrolit#3873) [dashboard] Fix parsing {} and leaving the braces when not a command GCC 10.3 Bugfix 1 - Constant literal address fix [ClearPassword] Fix typo in command [PIO] Restore default envs automatically updated release notes for mega-20211224 Ton Huisman (25): [Docs] Add How To for starting development on ESPEasy [Docs] Add How To for starting development on ESPEasy [Docs] How To fix some typos [Docs] How To: fix some sphinx syntax issues [Docs] Development guide restrucured and extended [Docs] How To guide: textual improvements and additions [Docs] How To: Extend the text and some corrections [P111] Add virtual destructor to MFRC522 library to fix compiler warning [P053] Fix support for PMS5003T [P053] Remove unneeded #define, minor source formattings [Build] Enable Dummy device and Neopixel on ESP32 Custom (script) [P053] Leave out invalid event-values for PMS5003T [P124] Add plugin Output - I2C Multi Relay [P124] Add optional initialization 'protection' [P117] Add SCD30 CO2, humidity and temperature sensor [P117] Correct slash/backslash confusion/typo [P117] Add to TEST_D set [P117] Adjust ClockStrechLimit message [P117] Add documentation [P117] Fix compilation issue `error: narrowing conversion of '2415919104' from 'unsigned int' to 'int' [-Wnarrowing]` [P124] Add configurable I2C addresses, add relay state on exit [P114] Add VEML6075 to I2C scanner [P124] Add documentation [P124] Include in TEST_D build, aad missed documentation file [P016] Change plugin title Communication - IR Receive (TSOP4838) [P124] Add get command and looping that, fix a small settings bug svollebregt (7): Adding Itho library to main reposity Revert "Adding Itho library to main reposity" [P118] Adding Itho plugin to main reposity"" Update _P118_Itho.ino Update _P118_Itho.ino Further code improvements Remove noInterrupts() and Itho library improvements
Release mega-20211105 Changes in mega-20211105 (since mega-20211005): Peter Kretz (4): [P103 AtlasEZO] Added Dissolved Oxygen Sensor DO Update platformio_esp32_envs.ini Update _P103_Atlas_EZO_pH_ORP_EC.ino Rename Plugin 103 : Atlas Scientific EZO pH ORP EC DO TD-er (59): [P103] Perform manual merge of conflicting files [P103] Perform manual merge of P103...ino [PMSx003] Convert plugin into using multiple instances data_struct [PMSx003] Uncrustify .ino file [PMSx003] Cleanup naming of types and variables [ESP32] Revert to PlatformIO platform 3.3.0 to fix web login [PMSx003] Cleanup by turning sensor type into enum class [PMSx003] Add pin selection for PWR Set pin [Serial] Make serial selection more intuitive [PMSx003] Use defines when interpreting received data [PMSx003] Use enum class for event output selector [PMSx003] Add check for duplicate messages [PMSx003] Make output/event selector enums a bit more readable [PMSx003] Add commands for reset/sleep/wake + document them [Cleanup] Use PLUGIN_WEBFORM_SHOW_GPIO_DESCR to show all GPIO used [PMSx003] Add output selection for counted small particles 0.3 ... 2.5 u [PMSx003] Add explanation on particles measurement [PMSx003] Simplify event generation + update task value names [PMSx003] Update documentation [PMSx003] Ignore incompatible event out selections [ESPEasySerial] Fix issues on ESP32 with serial (restart serial) [ESPEasySerial] Fix issues on ESP32 with serial (restart serial) [PMSx003] Document new pmsx003,wake & pmsx003,wake commands [ESPEasySerial] Include v2.0.7 in the ESPEasy libs dir too [PMSx003] Add option to split counted data in bins [PMSx003] Add oversampling to average readings [PMSx003] Document new Data Processing features. [PMSx003] Add sensor init time option after wake up sensor [PMSx003] Add proper defaults when creating new task or loading old conf [PMSx003] Make 1M builds fit again [Cleanup] Remove PeriodicalScanWiFi [Cleanup] Fix compile warning and failed build on ESP8266 beta builds [ESP32] Update GPIO description docs & add event to get boot strap pins Reset former PeriodicalScanWiFi bit to 0 [P046 Ventus] Fix UV only "binary" (letscontrolit#3073) [P046 Ventus] Minor cleanup of strange float casts [GPIO] Fix [Plugin#PCF#PinRange#x-y] (letscontrolit#3815) [Build] Fix build on Windows for ESP32 Max LittleFS builds [Build] Concat Globals .cpp files to help building in Windows Fix missing lib_debs [PVS Studio] Test using ESP32 max build + some suggested fixes [PVS Studio] Fix issues reported by PVS Studio [PVS Studio] Fix "dangerous" macros in IRremoteESP8266 library [Python] Update Python packages due to Sphinx build error on Python 3.10 [PVS Studio] Fix some warnings made by PVS Studio. [Python] Update Python packages + missing Ubuntu packages [Build] Fix build fail due to warnings [Build] Fix CompiletimeDefines [Build] Fix quotes issue on compile time defines [Build] Cleanup of Compile time defines scripts [WiFi] Add note about minimal WPA key length [WebFlasher] Generate manifest.json file per build [Webflasher] Generate html page for web flasher [Build] Add option "esp8266" to be the same as "esp82xx" [build] Make sure Python requirements are installed [Webflasher] Add groups in selection combobox [Build] Include flash size on all PlatformIO envs [Webflasher] Do not create index.html during build automatically updated release notes for mega-20211105 Ton Huisman (64): [P104] New plugin: MAX7219 dot matrix display [P104] Include plugin in Display builds [P104] Fixed zone initialization and brightness setup [P104] Code improvements [Helpers] Add helper getFormItemIntCustomArgName(int) [P104] Code improvements and optimizations [P104] Implement Clock and Date content, clear on plugin exit [P104] Use compiletime defines where appropriate [P104] Get settings defaults right [P104] Update MD_Parola library [P104] Implement PLUGIN_WRITE commands, add fonts, many improvements [P104] Fix issue with MD_Parola update [P104] Revert addition to MD_Parola made earlier [P104] Implement Repeat delay, add settxt command, edit active settings, update source doc, some source reorg. [P104] Format source [P104] Try to make build fit in ESP8266 display configuration [P104] Try to make build fit in ESP8266 display configuration [P104] Try to make build fit in ESP8266 display configuration [P104] Try to make build fit in ESP8266 display configuration [P104] Try to make build fit in ESP8266 display configuration [P104] Added time/date configuration options [P104] Adjust Custom-sample.h [P104] Add Bar-graph support and bar/setbar commands [P104] Add update command, bugfixes and improvements [P104] Implement 'direction' and 'barType' options for Bar-graph, many bugfixes [P104] Re-enble commands for 'display' build, many bugfixes [P104] Add Actions column, add Zone order, many bugfixes and improvements [P104] Bugfixes and minor improvements [P104] Bugfixes and improvements [P104] Allow up to 255 modules per zone. [P104] Limit settxt and setbar commands to max. input length [P104] Add 'p', comma and dash to num. double height font, some UI improvements [P104] Add documentation for Max7219 Dot matrix display [P104] Small optimizations, resolve some typos, documentation improvements [P104] Documentation - Add font overviews [P104] Bugfixes, add Text reverse option, update documentation [P104] Small improvements, check modules count on save [P104] Suggested small code optimizations [P104] Reformatted source (uncrustify needed an update) [P104] Fix compilation error after merge [P104] Code optimizations [P104] Bugfixes, optimizations and phase 1 of improvements [P104] Reworked saving and loading settings resolving stack issues [P104] Updates to documentation [Build] Apply LIMIT_BUILD_SIZE for ESP8266 Display build to fit in more plugins [P104] Reduce flashcounter on save, use LIMIT_BUILD_SIZE to fit in more features [P104] Simplify SPI pin display, small formatting changes (uncrustify) [P104] Add missing slash in numeric doubleheight font [P104] Update and improve documentation [P104] Code improvements and small optimizations [P104] Code improvements as suggested in reviews (nullptr checks, unneeded array, destructor, comparison) [P104] Minor improvements, memory handling [P104] Add Inverted option (dark on light), incl. docs [P073] Add 7output command [P073] Store via commands changes settings but not save them yet [P073] Reformat source (uncrustify and some manual adjustments) [Build] Re-enable IR plugins in custom_IR builds [Build] Enable IR plugins in MAX ESP32 builds [Build] Enable Blynk controller in MAX ESP32 builds [Docs] IR plugins are not in normal builds (for a long time) [Docs] IR plugins are not in normal builds (for a long time) [Docs] IR plugins are not in normal builds (for a long time) [Docs] IR plugins are not in normal builds (for a long time) [P119][P120] Register plugin IDs for ITG3205 and ADXL345 jimmys01 (2): [IR] Update IR library to the latest build Fix String ambiguous conversions in the lib
Release mega-20211005 Changes in mega-20211005 (since mega-20210802): Boris Krivonog (5): Added support for operating and compressor frequency. Fixed json output. Fixed link to source, removed links to obsoleted urls, added simple changelog ... Make AC status additional info configurable. Make sure ESPeasy serial can be allocated if P093 data struct was allocated (embed it). Max Prokhorov (1): [Build] Revert to platformio/toolchain-xtensa for the esp8266 Michael Schröder (1): P051 (AM2320) is TESTING not NORMAL Plebs (3): Fixed letscontrolit#3736 Updated plugin documentation patch for Safe Button and FHEM (letscontrolit#3739) TD-er (93): [ESP32-S2] Add experimental support for ESP32-S2 [ESP32-S2] Further make ESP32-S2 compile (no WiFi yet) [ESP32-S2] Add reset reasons [I2C] Add recovery to an I2C bus that hangs. [Cleanup] Uncrustify C014 Homie [Cleanup] C014 Log entries using F() [C014] Cleanup calls to CPlugin_014_sendMQTTdevice not using F() [C014] Cleanup calls to CPlugin_014_sendMQTTnode not using F() [ESP32-S2] Make it compile against esp32-2.0.0-pre [ESP32-S2] Add missing includes [ESP32-S2] Changed struct sizes for esp32-2.0.0-pre [ESP32-S2] Compute LogStruct size for new String size [ESP32-S2] Add GPIO definitions for ESP32-S2 ESPEasySerial to 2.0.6 to support ESP32-S2 [PIO] Force ESPEasySerial to update to @ 2.0.6 [ESP32-S2] Fix build warnings + set ESPEasySerial lib to 2.0.6 for ESP32 [ESP32-S2] Add touch pins to ESP32Touch plugin + check valid GPIO I2C [ESP32-S2] Use proper WiFi event ids for IDF > 3 [Cleanup] Check for validGpio using new function [Cleanup] Include ESPEasyLimits.h where MAX_GPIO is used [TaskValueSet] Allow TaskValueSet on non-Dummy tasks (setting) [Hostname] Make generated hostname RFC952 compliant (letscontrolit#3723) [Cleanup] Use Arduino isDigit and isAlphaNumeric functions [Docs] Document "Allow TaskValueSet on all plugins" checkbox [Formula] Use correct nr of decimals in formula (letscontrolit#3721) [Formula] Allow using standard conversions and task values in formula [Formula] Add more documentation for formulas + examples [docs] Fix wrong topic length in docs. [Cleanup] Replace single character flash strings Fix setting month + century bit RTC lib Add 'client' to http.begin call [Cache Controller] Allow to save sample time in local time [RTC lib] Makecentury bit unambiguous in C++ terms [Cache Controller] Update dump.htm to not check for valid timestamp [docs] Update Cache Controller docs to mention different time exports [Scheduler] Convert defines into SchedulerTimerType_e enum class [MQTT] Fix duplicate call task PLUGIN_READ at MQTT connect [Uncrustify] Scheduler.cpp/.h [Scheduler] Rename SchedulerTimerType_e to what it is calling [NTP] Use random interval for NTP sync interval [docs] Add documentation on on the time wander info [docs] Describe all fields on the sysinfo page. [Web Login] Fix file access with password set (letscontrolit#3759 ) [Web UI] Fix handling rules switching [Web UI] Do not POST rules parameters to save memory [Dashboard] Do not check for loggedIn() on dashboard.esp Accidentally removed extra check in isLoggedIn() Fix missing include in ConfigPage.cpp [I2C] Use 8 bit for I2C address selection [Build] Add -fno-strict-aliasing as build flag make builds more stable [Cleanup] Replace reinterpret_cast + fix compiler warning. [Casts] Change C-style (uint8_t*) casts into reinterpret_cast [Casts] Change C-style casts (int) and (float) into static_casts [Docs] Update README.md about newer build sets [Cleanup] Change some short strings to just a char. Add custom_ESP8266_2M256 PlatformIO build env [DMX512] Fix memory leak when exiting P054 DMX512 task [ESP32 ETH] Fix not getting DNS from DHCP at boot [ESP32] Switch to PlatformIO ESP32 core 3.3.2 [ESP32-S2] Switch platform packages for ESP32s2 to improve build success [ESP32-s2] Suppress SDK info/debug logs on Serial0 [ESP32-s2] Fix crash when scanning I2C bus [WiFi] Only set WiFi initialised when connected & got IP [WiFi] Clear IP config on disconnect [WiFi] Only set WiFi initialised when connected & got IP [WiFi] Only check WiFi connection timeouts if they are started. [WiFi] Try connect to hidden SSID without explicit BSSID + channel [ESP32] Force SDK log level to NONE [ESP32] Allow to compile using staging branch ESP32 [Cleanup] Prevent float to double promotion [P013 sr04] Hangs on HI in state mode when NO_ECHO [Cleanup] Uncrustify _P013_HCSR04.ino [Blynk] Add ESP32 support for Blynk [Blynk] ESPEasy patched files Blynk lib 1.0.1 [Blynk] Update to library v 1.0.1 [Docs] Add note to rename the CSS file to esp.css [ESP32-S2] Use latest ESP32 core 2.0.0 + IDF4.4 + I2C fix [ESP32-S2] Mark ESP32-s2 and ESP32-c3 as ESPEasy platforms [PSRAM] Add preliminary support for PSRAM [ESP32 IDF4.x] Fix build issue with ESP32 IDF 4.x [P109 ThermOLED] Fix array bound error Fix build error on limited build size builds [Cleanup] Clean up of double includes + pio.ini description [NeoPixel] Update to latest Adafruit Neopixel library [Docs] Add some description of ESP82xx/ESP32/ESP32-S2 [I2C] Fix switching low/high clock + fix PCF8563 ext. RTC [Cleanup] Get rid of global dummyString [I2C] Make clearing hung I2C bus optional [I2C] Do not run I2C tasks when bus is in error. [I2C] Clarify error on I2C scan [I2C] Only perform reset I2C bus during scan when enabled by user [I2C] Document the new feature to clear a stuck I2C bus. automatically updated release notes for mega-20211005 Ton Huisman (95): [P065] Add mode and repeat commands From [a request in the forum](https://www.letscontrolit.com/forum/viewtopic.php?f=4&t=8521) - mode,<0..3> to set playback mode: 0=Repeat, 1=Folder repeat, 2=Single repeat, 3=Random - repeat,<0/1> enable/disable repeat play 0=Off, 1=On [P065] Uncrustify and some minor source adjustments [P065] Reviewer corrections [P065] Minor optimization [P065] Add documentation (partly migrated from the wiki) [P065] Add commands to command reference [P065] Add commands to command reference (cleanup) [P016] Correct hex value conversions to unsigned [P016] Revert a few invalid comments [P016] Small optimizations [P016] Apply suggestions and some more optimizations [P016] Add type in logging, more optimizations [P016] hexToUL doesn't seem to work with a char array [P016] Fixed zero termination of char array [P016] Update changelog [StringConverter] Fix hexToUL to accept 0x prefix [P016] Add support for 64 bit IR codes, incl. settings conversion, update settings UI [P016] Small code optimizations [P016] Update library enum definition [P016] Disable debug log for BUILD_NO_DEBUG and some cleanup [P016] Revert BUILD_NO_DEBUG dependency [P016] Updated documentation [P016] Match UI with documentation :-) [P016] Update logging for memory analysis [Markup] Introduce delay(0) during addSelector_options for longer option lists [P016] Refactor using vectors instead of arrays, load/save settings in chunks [P016] Refactored settings conversion into constructor and other improvements [P016] Reformatted source (uncrustify) [P105] Move AHT10 plugin from PlayGround [P105] Check for other I2C devices and show warning on device settings [P105] Complete the documentation [P105] Update Custom-sample.h plugin comment [P105] Add AHT10 to I2C scanner [P105] Replaced code by the 'other' AHT plugin from Playground, updated documentation, some other doc. fixes [P105] Code improvements, based on feedback [P105] Update I2C Scanner to include AHT20/AHT21 [P105] Small code improvement [P008] Add 'Alternative decoding' option [P008] Format code using Uncrustify [P008] Format code minor improvement [I2C Scanner] Show available device(s) for detected addresses [I2C Scanner] Fix typo (swapped lines) [P105] Small improvements [P007] Add easier I2C Address and port selection options [P007] Correct off-by-1 error for Port setting [P019] PCF8574 Add easier I2C Address and port selection options [P007] Add documentation [P019] Add documentation [P019] Avoid unneeded flash-string [P007] Avoid unneeded flash-string [I2C Scanner] Reworked to minimize use of Strings [P103] Moved I2C address setting to designed plugin event [P109] Moved I2C address setting to designed plugin event, cleanup to use macros where appropriate [I2C Scanner] Restore leaving most of feature out of OTA builds [P009] MCP23017 Add easier I2C Address and port selection options [P009] Add documentation [I2C Scanner] Show proper message if no I2C pins configured [P009] Correct off-by-1 error for Port setting (copy/paste error) [I2C Scanner] Adjust errormessage, refactor checks into isI2CEnabled() [P103] Remove unsupported devices from I2C selection list [P103] Fix silly typo :-( [P108] DDS238 Fix 2-complement values (letscontrolit#3662) [IRremoteESP8266] Update library to 2.7.19 (from 2.7.13) [P016] Fix memory allocation issues [IRremoteESP8266] Remove unneeded library files [P016] Remove unneeded #define, update change history [P108] Code improvements [I2C Scanner] Move refactored check into Settings struct [P065] Adjust documentation on mode command not always working as advertised [I2C Scanner] Also check I2C Low Speed (is used by scanner) [P007] PCF8591 Allow multiple output values in task [P007] Updated documentation [P009] Code optimizations, remove duplicate [RTClib] (Bugfix) Write month correctly to DS3231 (letscontrolit#3749) [P105] Fix I2Cscanner merge issue [P033] Dummy device - make Interval optional [P033] Remove default Interval [P033] Migrate documentation from Wiki and update [P008] Reverted previous mod. Changed to allow 26..64 bits receive format. Updated documentation [SPI][ESP32] User-defined GPIO pins for SCLK, MISO and MOSI [P007] Cast measured value to double instead of float, update docs with Slow I2C Clock requirement [SPI][ESP32] Use enum for SPI options [P105] Correct type error [SPI][ESP32] Refactor use of enum for SPI options [SPI][ESP32] Make SPI options explicit [SPI][ESP32] Small cleanup, remove unneeded includes [SPI][ESP32] Remove unneeded include [SPI][ESP32] Remove redundant 'default' [P019] Fix compilation error (type) [P009] Fix compilation error (type) [P007] Remove unneeded cast [PinSelect] Bugfix missing last GPIO in Touch and Hall Effect selector (ESP32) [P017] Add warning for I2C Clockstretching to documentation [ESP32S2] Only show CPU0 reboot reason on single-core ESP32 S2 [I2C Scanner] Fix device descriptions for 0x38 and 0x39 addresses immiimmi (9): p20 fixed for esp8266; the pin will be resetted only if requested in the menu P020 bigger buffer needed Update _P020_Ser2Net.ino Update _P020_Ser2Net.ino Update P020_data_struct.h Update P020_data_struct.cpp Update _P020_Ser2Net.ino Update _P020_Ser2Net.ino Update _P020_Ser2Net.ino stefan (2): Exclude not needed parts for USES_MQTT and WEBSERVER_METRICS Cleanup webserver_metrics
Release mega-20210802 Changes in mega-20210802 (since mega-20210503): Christoph Kaiser (15): [P039] added support for RTD sensors to plugin P039; updated SPI handling of all sensors to optimize ROM usage [P039] place form selectors in separated scopes [P039] corrected first review findings [P039] further corrections rfom revews and initial documentation for P039 plugin [039] fixing multiple typos in P039.rst file [P039] fixing multiple typos in P039.rst file [P039] added taskname and taskVarName to the log entries in INFO log file [P039] smallervfixes of diagnostic handling for thermocouples; added TODOs to not forget design changes [P039] migrated RTD functionality to use of TIMER API and state machine [P039] resolved review findings from TD-er, fixed static fault flag with data structure [P039] resolve issues with MAX6675 + MAX31855 and latest updates [P039] fixed typos and typecast issues, corrected MAX 31856 access [P039] fixed recent findings and added automated reload for device family and type selector in plugin parameters [P039] corrected log length reserve values and reworked fault logging [P039] enhanced logfile formatting,; update of documentation; enhanced Voltage Modes for MAX 31856 Joerg Heinemann (8): Add _P112_AS7265x.ino Add _P112_AS7265x Add SparkFun AS7265X library Change MeasurementMode Giving up - Running into a loop without sensor readings Handle Measurement Status Reduce plugin READ time Improved settings options KimPanda4 (8): P003 New enhanced version 2.2 (PULSE Modes) introduce taskIndex_t instead of byte for taskID Updated P003 docu correction of reference in P003 command docu avoided nested switch, added overdue statistics Requested changes from today in P003 Review corrections re. logging, commands, memspace Enhancd docu of commands. Mention TaskName option. Lars Volker (1): Fix small typos in heatpumpir documentation (P088) Maxim Prokhorov (5): ci: allow builds to fail ci: release single binaries .zip, merge all available build artifacts ci: try to ignore build workflow when releasing ci: bump python version for actions ci: build documentation for push & pr Paul Berry (2): added prometheus exporter on /metrics path added prometheus exporter on /metrics path Peter Kretz (38): Nextion available for ESP32 Personal upload settings - Name Changed from ORP EZO to EZO ORP Configuration ofEZO pH now error tolerant. if you misconfigure a temperature correction, a temperature of 20° will be taken. More documentation about temperature correction for EZO pH as Note. Bug fix for pH calibration: if you stored a calibration for pH of e.g. 9.18 he restored 9 and you have to change it manually, now the value will be restored correctly now without monitor_filters = time now with Nextion Plugin P075 com port settings colorize raus WebServerPort duplicate thrown away further merging further merging now fits to new changes [Atlas EZO]: Unified Plugin for pH, ORP and EC Sensors from Atlas via I2C Removed upload speed Added use of html functions removed speed Removed speed Fixed 0 terminated strings and substring issue ZEROTERMINATE, safe_strncpy , an 0 character handling as requested by review dtostrf my settings configuration stuff - rework in calibration --> streamline and reuse of duplicated code - show # of calibration points - possibility to clear calibration Probe Type for EC could be configurated, improvement of displaying calibration status and some minor improvements Debuggin Prupose Removed name = K now Update _P103_Atlas_EZO_pH_ORP_EC.ino empty line removed upload speed Update Custom-sample.h CUSTOM_EMERGENCY_FALLBACK_START_AP Custom Sample platformio Removed build error for Build error for ESP32 builds: byte board_type = UNKNOWN; Update platformio_esp32_envs.ini Update Custom-sample.h Update platformio_esp32_envs.ini Update platformio_esp82xx_envs.ini [Atlas EZO EC pH ORP] added device name to I2C address scan, reorganized plugin in Custom build Commented Atlas EZO Plugin in Custom sample TD-er (196): [Playground] Move P168_ThermoOLED.ino to main repo Rename P107_ThermoOLED to P109 [Controllers] Optimize memory usage by using std::move [Controller] Do not keep unitMessageCount as member when not needed Add move assignment to EventStruct [Events] Make sure events are not copied unless absolutely needed [Controllers] Implement move constructor to guarantee no copy is made [MQTT] Fix MQTT controller may not connect when re-enabled after a while [Memory] getMaxFreeBlock() should return valid value on ESP32 [Network] Properly switch between ETH and WiFi [WiFi] Fix small issues showing WiFi state & abort WiFi connection process [WiFi] Show WiFi STA MAC in sysinfo when eth is active [Network] Allow fallback to WiFi when Ethernet not connected at boot [Oopsie] Need to hide in other commits, deny this ever was committed! [Cleanup] Remove unneeded std::move and copy/assignment constructors [Controller Queue] Remove unneeded constructors using =default and =delete Plugin 115 MAX1704x I2C, Sparkfun Fuel Gauge Sensor Add library to lib dir + PIO environments [P115] Restructure code + allow for multiple instances [MAX1704x] Add documentation [Build] Revert splitting lib_deps and lib_ignore to multi-line [P115] Fix missing #ifdef + register library in PIO [Locking] Add mutex to access map structures (letscontrolit#3623) [Docs] Fix some small documentation issues. [P115] Clean up documentation [MAX1704x] Add changerate for MAX17048/MAX17049 Added MAX1704x comment line to Custom-sample.h MS5611 (GY-63) unrealistic values for <20C (letscontrolit#3626) [MAX1704x] Fix crash with device not yet initialised [Boot Cause] Make boot cause more clear + add %bootcause% for rules [Linux Build] Add some checks to prevent wiping ALL data on PC [Linux Build] Cleanup + document build script + add options [Linux Build] No longer use before_deploy from build_ESPeasy.sh [ESP32 RTC] Add RTC memory usage like on the ESP8266 [Cache controller] Make Cache controller work on ESP32 Disable left over RTC_STRUCT_DEBUG flag [P115] Cleanup code & add 4th variable name [P115] Fix nullptr de-reference crash [P115] Constrain threshold value to 1...32 & copy charge rate value [P115] Add work-around as detect of sensor not seems to work. [Git Build] Fix Git Build description on root page [LoRaWAN TTN] Fix controller not setting SF or FP & add ADR (letscontrolit#3630) [P115] Remove comment [P012 LCD] Fix use of USES_P012_POLISH_CHARS define [Cleanup] Move setup() from ESPEasy.ino to .h/.cpp file [Cleanup] Move ESPEasy loop() and backgroundtasks() to .h/.cpp [Cleanup] Uncrustify ESPEasy_loop(), _setup() and backgroundtasks() Fix missing include on SysInfoPage.cpp [Cleanup] Missing include in C013 [Cleanup] Fix return value of gpio_mode_range_helper (real bug) [Cleanup] Uncrustify Commands/GPIO.cpp [Cleanup] Missing include in P016 [Cleanup] Remove SI1145 from standard custom build, to make it fit [WiFi] Allow for unprocessed WiFi events to timeout [WiFi] Change unprocessed event timeout to 10 sec. [P012 LCD] Add custom defined Polish characters (letscontrolit#2669) [P012 LCD] Fix compile ambiguity & comment unused letter definitions [P012 LCD] Remove Polish "Wait..." print statement [WiFi AP] Add flag to prevent starting WiFi AP. Fix build errors + reword label to "Do Not Start AP" [Build] Fix build issues since ESPEasy.ino split [Build] Fix build issues Nxxx & P001-P080 [Build] Fix build issues other files. [MQTT] Check MQTT status before sending [PubSubClient] Apply fixes related to crashes on connect to broker [MQTT] Fix MQTT controller not (re)connecting [WiFi] Fix issue where WiFi could not scan to reconnect [WiFi] Load known credentials right after loading settings [Cleanup] Fix warnings of some uninitialised variables. [Docs] Document %iswifi% system environment variable [Domoticz MQTT] Move JSON serialize/deserialize to helper .h/.cpp [Cleanup] Reduce build size handle internal commands macros [GPIO] Split duplicate code into shared function to reduce build size [Rules] Remove unused parameter & change event parameter to const [WiFi] Remove unneeded log connection status [Cleanup] Remove code duplication to reduce build size [Cleanup] Stream JSON from PROGMEM LabelType::Enum array to reduce size [Cleanup] Do not include DNS server in minimal OTA builds to reduce size [Cleanup] Reduce build size by keeping flash strings as flash string [Cleanup] Optimise streaming JSON [Cleanup] Add FlashStringHelper function wrappers to reduce build size [Cleanup] Add missing F() macro where applicable [Serial log] Small optimization to reduce build size + process logs [Cleanup] Add small optimisations to reduce build size [Cleanup] Change return type of static get string functions to flash string [Cleanup] Reduce build size of parseStandardConversions function [Cleanup] Reduce build size using flash strings in selectors [Cleanup] Fix build error due to missing change in commit. [Cleanup] Change return type of some commands to FlashString [Cleanup] Remove unneeded String() wrappers [Cleanup] Remove "new rules" from any build [Cleanup] Domoticz MQTT, generate own JSON, not using ArduinoJSON lib [Cleanup] Serialize JSON not using ArduinoJSON to reduce build size [Cleanup] Use EMPTY_STRING instead of F("") to reduce build size [Cleanup] Reduce build size for Factory Default device name [Cleanup] Fix build issue on Serial Proxy [Cleanup] Add more functions with flash string as parameter to reduce size [Cleanup] Add wrapper to web_server.arg() with flash string arg [Cleanup] Remove addLog macro and use separate functions per type Fix new introduced bug in htmlEscape function [DeviceModel] Change to enum class to allow compiler help check usage [P003 Pulse] Uncrustify _P003_Pulse.ino [Pulse] Split pulse handling into .h/.cpp & remove task index limit [P003_Pulse] Make pull-up configurable [WebServer] Optimize serving flash strings [WebServer] Speedup serving flash strings directly [WebServer] Speedup serving single char chunks + missing F-macros [P003 Pulse] Fix build error without pulse statistics enabled [P003 Pulse] Fix compile issue when plugin not included in build. [Log] Prevent generating logs if loglevel not enabled [SD] call SD.end() if not successful at begin() [WebServer] Small optimization in serving ints and small strings [WebServer] Reduce memory usage when streaming web template [WebServer] Balance speed vs. stability based on free memory Add DL-bus plugin to "Testing C" [DL-bus] Wrap logs in checks for active loglevel [Webserver] Fix build for ESP32 as WiFiClient.flush() cannot have timeout [Mem analysis] Log free memory during setup phase [String] Change == "" into .isEmpty() [Strings] Change .length() == 0 into .isEmpty() [Strings] Change .length() != 0 into !...isEmpty() [Build] Fix SDFS & SD lib_ignore defines [CaptivePortal] Fix root page redirect when connected via LAN [GPIO Selection] Filter possible GPIO pins based on needed properties [Pulse counter] Fix values not being updated on Devices tab [ESP32] Fix PWM not cleared when changing pin mode (letscontrolit#3671) [Pulse] Fix copy/paste error in pulse counter plugin [Build] Update Python packages [Docs Build] Update to Sphinx 4.0.2 [WiFi] Make sure to clear pending WiFi events on reconnect [Deep Sleep] Revert default deep sleep call & make it optional [WiFi] Clear WiFi events when turning off WiFi Add Mac_address object to simplify handling MAC addresses [WiFi] Only store last used AP in RTC when connection is stable [WiFi] Small flash string optimisation [WiFi] Handle slow connect to WiFi AP Add link to experimental web flash page [DeepSleep] Turn off WiFi before DeepSleep + limit max. deepsleep [WiFi] Make reconnect to last from RTC optional [Reduce size] Add build flag to remove the 4-bytes alignment for PSTR() [Webserver] Fix unneeded copy of object when serving data(letscontrolit#3693) [WiFi] Allow longer scan time per channel [Cleanup] Keep flash string when executing internal commands [Numerical] Fix bug where "-" is considered numerical [Cleanup] Wrap strings in F() [Web UI] Update served static files [WebUI] Allow slightly longer flash strings to be sent in a single chunk [Cleanup] Fix some possible uninitialised members & other loose ends [Cleanup] Fix bugs reported by PVS Studio [Cleanup] Fix return value in MQTT Publish command [LoRaWAN] Fix crash when LoRa or serial could not be allocated Fix uninitialised members of RegExp [Memory] Allow to disable collecting timing stats to save RAM [Framed OLED] Reduce memory usage slightly. Fix merge issues Fix build issue on ESP32 (ETS_UART_INTR_DISABLE is ESP8266 only) [Mutex] Fix no longer using fishy assembly for ESP8266 mutex [Cleanup] Use of "byte" as a type. uint8_t or (C++17) std::byte are better [Libs] Don't use "byte" as type anymore [Cleanup] Don't use "byte" as type anymore (.ino files) [ESP32 3.3.0] Update to PlatformIO ESP32 3.3.0 [Bug] EnableTimingStats DoNotStartAP used same bit [TinyGPS] TinyGPSCustom::valid was not initialized [WiFi] Fix scan issue, causing failed connections [WiFi] Fix WiFi need to connect flag not always set [WiFi] No need to disable interrupts when connecting WiFi [WiFi] Clear wifiConnectInProgress when prepare WiFi failed [Security Settings] Add alignment checks at compile time. [WiFi] Try to connect right after WiFi scan found known APs [WiFi] Fix build issue [Tooltips] Fix merge issues [DS1307] Add support for external RTC clock DS1307 [Ext. RTC] Use Adafruit library to support DS1307/DS3231/PCF8523 [RTClib] Add lib/Adafruit_RTClib [Build] Add TinyWireM to lib_ignore to prevent build issues. [RTClib] Remove TinyWireM from depends [Build] Lib_ignore TinyWireM for all envs [Build] Do not use PIO library finder for RTClib (TinyWireM issues) [Ext. RTC] Fix reading from RTC module [Ext. RTC] Show time source + I2C scan result [Ext. RTC] Fix some library bugs and add some validity checks Fix TSL2591 overflow at high Lux values [Ext.RTC] Make sure time is set immediately when received from ext. src [Ext. RTC] Document external RTC chip support [TimeSource] Move ExtTimeSource_e to TimeSource.h to fix includes [P109] Fix issue with SPIFFS vs LittleFS [P109] Uncrustify ThermoOLED plugin [P109] Remove it from "display" build due to build size [P109] Disabled also for "testing B" builds due to size. [Prometheus] Add text/plain as header [Custom build] Make external RTC optional via USE_EXT_RTC define Rename getDevicePluginID_from_TaskIndex to getPluginID_from_TaskIndex [Commands] Output proper feedback on command execution [Commands] Add feedback on other task commands [Commands] Don't use newline in JSON value automatically updated release notes for mega-20210802 Ton Huisman (72): [P114] Move VEML6075 (P130) from PluginPlayground [P114] Move string log.reserve to first use of log [P114] More string log.reserve optimizations, initialize floats with f postfix [P114] Move plugin to correct category (UV) [P114] Add documentation [P012] Add Inversed option for display button [P012] Fix a compare-confusion [P012] Update documentation [P012] Fixed typo preventing new setting to be saved [P012] Documentation: improve 5V warning display and text [P012] Add commands to command reference [Build] Fix builds having USES_SSDP for missing include [Commands] Enable LogEntry to log for other level than INFO letscontrolit#3312 [Command] Update LogEntry documentation, small code optimization [UI] Enable optional tooltip for most input controls [UI] Add tooltip option for a few more input controls [UI] Add conditional compilation to Tooltip feature [Build] Re-enable RTTTL in TESTING where it fits [Sysvars] Add %s_sunrise%, %m_sunrise%, %s_sunset% and %m_sunset% variables [Sysvars] Extend documentation for s_sunrise, m_sunrise, s_sunset and m_sunset [Build] Include all TESTING plugins even when using LIMIT_BUILD_SIZE [UI] Rename `title` argument to `tooltip` [UI] Fix manual merge typo [Build] Include Trigonometric functions also in 1M Normal builds [Doc] Correct function names for asin, acos, atan and friends [Build] Keep trigonometric stuff out of MINIMAL_OTA builds [UI] Correct manual merge error [P057] Add support for periods in display [P036] Add Generate Events option for Display and Contrast [P036] Eliminate a few unneeded variables, saving a little .bin size [P036] Add events for Frame and Line, reduce code size [P036] Make Frame & Line events optional, introduce #defines for flags [P036] Updated documentation (and a small textual improvement in the setting) [P068] Add temperature offset setting, with humidity compensation [P068] Use proper float-comparison functions [P068] Simplify float-comparison [UI] Add extra definition of addSelector() with tooltip support [P068] Reverse inverted calculation [P057] Improve dot display, code optimizations [P057] Add extra check to avoid reading past string length [Domoticz MQTT] Always wrap svalue with quotes [P053] Add support for PMS5003ST, PMS2003 and PMS3003 [Sysvars] Add %dns1% and %dns2% sysvars and urlencode stringfunction [Sysvars] Correct typo in documentation [P053] Only generate events when Rules enabled [P053] Documentation (partly transplanted from the wiki) [P053] Add count of particles per 0.1L options to plugin, update documentation [P053] Correct unit terminology, improvements and fixes [P053] Update documentation [P053] Correct typos in the measurement units [UI] Show release date in header [P053] Limit disabling new features to 1M OTA builds [UI] Allow Build date/name in either Header or Footer [UI] Only show Build in footer [P053] Correct reading from PMS2003/PMS3003, minor improvements [ESP32] Fix maximum deepsleep time for ESP32 [P053] Minor improvements [UI] Show build date in header, add build date to build filename in footer [UI] Build name/date is link to Github Releases page [UI] Open Releases link in new tab, show tooltip on hover [UI] Small source improvement [UI] Fix compiler warning [TaskValueSet] Only allowed for Dummy Device (bugfix) [UI] Move Github Releases link define to ESPEasyDefaults.h [TaskValueSet] Rename and move new support function to Plugin.h/cpp [TaskValueSet] Remove not needed include [P033] Return true on PLUGIN_INIT so TaskEnable returns OK [Task commands] Check if task enabled before action [PLUGIN_INIT] Fix remaining plugins missing the PLUGIN_INIT case [Commands] Fix camelcase typo [Commands] Change OK, FAILED and new error messages to uppercase [Commands] Revert Failed to original case dependabot[bot] (1): Bump urllib3 from 1.25.10 to 1.26.5 kretzp (1): VCC flag removed peter.kretz (1): Poolmeter unknown (6): fix for building esp32 firmware from directory with space in name fixes from PR more PR fixes Added prometheus documentation Added ifdef, updated image name as per PR comments removed unused string definition
Release mega-20210503 Changes in mega-20210503 (since mega-20210223): Ament Martin (9): Patch to use the AP-Mode as daily driver Allow optional usage of Sensor without WIFI avaiable. When set you can use the Sensor in AP-Mode without beeing forced to /setup. First Version of ApDontForceSetup. Grouping Webserversettings in Advanced Typo fixed Missed a setting Patch to use the AP-Mode as daily driver Fixed missing setup for 404. And added some docu ResetAdvanced to branch-mega and implement Option at ConfigPage Added missing setting Bartłomiej Zimoń (4): add requested client event letscontrolit#3584 [P20_Ser2Net] add task index to sendevent function Update _P020_Ser2Net.ino Update _P020_Ser2Net.ino GravityRZ (1): Update GPIO.rst Henri de Jong (3): Possible sagemcom fix Always max message size Don't create buffer bigger than maximum Joerg Heinemann (2): Initial documentation for P050_TCS34725 Initial documentation for P050_TCS34725 Maxim Prokhorov (13): Github actions instead of Travis make sure to fetch the tag message see if these work once again and again try wildcard fetch into local ref fix order order files more files more more build everything Peter Kretz (1): Fix: [CUSTOM_EMERGENCY_FALLBACK_RESET_CREDENTIALS] Plebs (18): wip for new expander commands wip new mcp commands WIP WIP WIP WIP WIP wip WIP WIP small changes fixing Travis code optimizations Moved PLUGIN_REQUEST to core Update GPIO.cpp added documentation Added documentation for [PLUGIN#MCP#PINRANGE#x-y] fixed typo TD-er (107): Fix merge issues SendStatusOnlyIfNeeded [P020 Ser2Net] Serial port selection on ESP32 Add MAX31856 support to P039_ThermoCouple [Docs] Fix some documentation inconsistencies [P020 Ser2Net] Restore serialsend command & add ser2netclientsend [Controller Queue] Add flag to allow messages to expire [Controller Queue] Add deduplicate check in controller queue [Controller Settings] Fix merge conflict with ESPEasy-NOW PR [Controller Queue] Fix initialization of expire timeout + improve dedup [ESP32] Handle more WiFi events (e.g. STA_LOST_IP) [WiFi] Process Station event Auth Changed [Controller] Debug log on remove duplicate queued message [GPIO] Fix warning of unused variable [Build] Remove HWL8012 from "energy" build [Energy build] Add P093 Mitsubishi Heat Pump [Cleanup] Remove ICACHE_RAM_ATTR on wifi event function [Build] LittleFS can only be built on 'beta' builds [Build] No longer ignore RN2xx3 library on Custom IR builds [Cleanup] Reduce IRAM usage in Dallas bit read/write code [Build] Fix normal_beta_ESP8266_16M_LittleFS build [Cleanup] Remove unneeded ICACHE_RAM_ATTR on DHCP timeout callback [Build] Remove P076 HWL8012 from "testing" builds due to build size [Build] Disable test_ESP8266_4M1M_VCC_MDNS_SD as it does not fit in IRAM [Build] Set normal_IRext_no_rx_ESP8266_4M2M to LIMIT_BUILD_SIZE [GPS] Fix running out of memory when no GPS data is received. Fix higher load introduced recently by variable WiFi TX power [GPS] Fix running out of memory when no GPS data is received. Fix higher load introduced recently by variable WiFi TX power [Scheduler] No need to call backgroundtasks() twice in the same loop [Build] Make sure PLUGIN_USES_SERIAL is defined for USES_P020 [Build] Make test_ESP8266_4M1M build again [testing build] Remove 2 more "energy" plugins from "testing" build [WiFi] Make sure to reset WiFi if RSSI = +31 [ESP32] Update to PIO [email protected] [ESP32 ETH] Fix set config IPs to 0.0.0.0 when using DHCP + cleanup code [1M builds] Init config.dat file to 36k size [WiFi] Set max TX power always if forced in settings [WebPage] Allow for basic web page layout changes in custom build [WebPage] Add CSS styling to WiFi bar chart SVG [Custom.h] Add DEFAULT_SSID2 & DEFAULT_KEY2 [WebPage] Allow to hide help buttons [WiFi] Fix unit not reconnecting to WiFi Fix build error in WebServer/404.cpp [Ethernet] Proper handling of network events + revert to WiFi [ESP32] Set to PIO [email protected] (letscontrolit#3564) [Deployment cconfig] Allow for deployment SSID and emergency fallback [Custom Build] Allow web UI customization in custom builds [WiFi Setup] Make WiFi setup more intuitive [WiFi Setup] Store WiFi scan results in WiFi_AP_CandidatesList [WiFi setup] Fix layout setup page [Webserver] Allow serving static files from SPIFFS when not logged in [WiFi] Reset WiFi if it changes channel without disconnecting [WiF] Prevent WiFi resets when not all events are processed. [WebServer] Do not alias index.htm and index.html to handle_root() [WiFi] Fix clear credentials on emergency fallback SSID [WiFi Setup] Add clear WiFi credentials button (for deployment) [WiFi Setup] Add "Include hidden SSID" as "advanced" setting bottom page [WiFi Setup] Increase click area for selecting scan result [Sysinfo] Show network services state on root- and setup page [WiFi Setup] Only scan on WiFi setup page if needed to prevent disconnect [WiFi] Decrease number of scans when AP is used, to make setup stable [WiFi Setup] Implement captive portal to automatically sign in [WiFi] Add periodical rescan option + reuse recent scans for reconnect [Setup page] Add rescan button to setup page [Build] Fix build issues when not using Custom.h [Docs] Document new added WiFi settings Fix Precision issues and initialisation of members in rules [WiFi] Feed SW watchdog timer on WiFi related actions that may take time [Custom build] Allow DEFAULT_WIFI_INCLUDE_HIDDEN_SSID in Custom.h [WiFi] Fix issue where WiFi does not reconnect after disconnect [Custom Build] Allow to embed custom CSS [Network] Disconnect WiFi when switching to Ethernet [WiFi] Allow faster reconnect on lost connection [ESPEasy-NOW] Reduce load when not connected to WiFi [WiFi] Fix merge issue [ESP32 ETH] Add default definition for wESP32 and WT32-ETH01 [WiFi Setup] Hide password on Setup page ("*****") [Customize Build] Allow to disable Node List columns on root page [P020 Ser2Net] Re-apply connected event (letscontrolit#3587) [CUL Reader] Append timestamp to received messages [P039_Thermocouple] Uncrustify [P039 ThermoCouple] Cleanup code + allow multiple instances [VL53L0X] Include library description used by PIO [lib/VL53L0x] Move lib files to lib/VL53L0X/src dir [lib/VL53L1X] Include missing files from SparkFun_VL53L1X library [PIO build] Use full VL53L0X & VL53L1X names of the libraries in PIO [WebUI] Only redirect (used for captive portal) via AP or on clean setup [Low Memory] Add some checks on success of reserving memory [Low memory] Move strings when possible instead of copy them [UDP timeouts] Add timeout on DNS resolve + reset softWDT on UDP connect [Setup Page] Fix typo [WiFi] Actively purge expired WiFi scan results to free RAM [Root page] Allow again sending HTTP commands to reboot [CUL reader] Reduce memory usage on log + web stats [Memory Usage] Check success memory allocation string type value events [CUL Reader] Fix sending received message + timestamp Change delay(1) into delay(0) to reduce load [WiFi] Fix not able to reconnect if unit immediately disconnects [WiFi] Add copy constructor to WiFi_AP_Candidate class Fix PLUGIN_WRITE for P020 Set2Net [P020_Ser2Net] Fix sendConnectedEvent [BME680] Fix elevation compensation + add 2 conversion commands [ESP32] Revert back to Espressif32 PIO v 2.1.0 due to serial issues [TTN] Add decoders for plugins 102-113 + TTNv3 decoder (letscontrolit#3611) [TTNv3] Add selector for TTN stack version [TTN] Include all 6 values for P102 PZEM004Tv3 automatically updated release notes for mega-20210503 Ton Huisman (65): [Merge] Remove (again) [Task* commands] Some code cleanup [Task* commands] Code cleanup and some corrections [P110] Move P133 VL53L0X from PluginPlayground to main repository [P111] MFRC522 RFID reader moved from PluginPlayground [P111] Initialization corrections [P110] Add to Custom-sample.h [ESP32 MAX] Configuration for ESP32 with 16MB Flash [ESP32 MAX] Include in travis build [ESP32 MAX] Extend configurations with 2MB and 4MB SPIFFS, 4MB default [ESP32 MAX] Enable SD-card support (and fix compilation errors) [ESP32 MAX] Add configuration with 1MB SPIFFS [ESP32 MAX] Mixed up partitions fixed [ESP32 MAX] Switch to LittleFS, only 16M2M and 16M8M configs + ETH [ESP32 MAX] Fix build issue, case-sensitive filename [EPS32 MAX] Extend logging during configuration save [P110] Add extra logging with model-id on init-errors [P110] Add experimental support for VL53L1X [P110] Improve code readability [P111] Disabled Tag removal detection as this won't work properly [P111] Add documentation [Rules] Process all %vN% variables [ESP32_MAX] Add plugin P108 to ESP32 Max set [Rules] Calculate IF conditions before evaluation [Rules] balanceParentheses(): Always use String.reserve when changing string [Build] Display timestamp after copying files to build_output [ESP32 MAX] Add 16M1M config (SPIFFS), rename 2M/8M (LittleFS) configs [ESP32 MAX] Add ESP32_16M1M_ETH configuration, disable PS-RAM support [P113] Add VL53L1X Time of Flight sensor to ESPEasy [P113] Add VL53L1X to Custom-sample.h (disabled) [P113] Add Documentation [P110] Removed check for unsupported VL53L1X, added range to plugin description [P113] Add secondary address to I2C_Scanner [ESP32 MAX] Enable most plugins up to P125 (even when not in PR yet) [ESP32 MAX] Enable P109 now that it is in PR [ESP32 MAX] Clean up an obsolete comment [P113] Removed Interval optional setting, minor source cleanup [ESP32 MAX] Add ENERGY and DISPLAY plugin sets, remove EXPERIMENTAL set [Docs] Documentation updates and corrections [Docs] Correct a typo [Docs] Restore default doc. header for P050, some corrections [Docs] P050 Add missing Changelog section [P113] Add 'Trigger delta' option, updated documentation [P113] Apply uncrustify source formatting [JSON] Add extra variables to JSon output [JSON] Remove unneeded calls [JSON] Add more variables, Location, NTP, Uptime_MS [SysVars] Add %uptime_ms% System variable [SysVars] Update documentation [SysVars] Adjust documentation [JSON] Add setting for quoted bool values (default on) [JSON] Add documentation, initialize the setting during factory reset [JSON] Invert setting logic, adjust setting index [JSON] Fix merge typo [JSON] Rename methods and define, small optimization [ESP32] Add missing lib_deps dependency [Build] Split testing sets into 4 pieces [Build] Fix compilation error for MAX builds, missed 1 changed docs file [Build] Add P114 (preliminary) to test D set [Build] Disable dev build, update README.md and build documentation [Build] Remove dev build instead of commenting it out [Build] Remove reference to dev build from platformio.ini [Build] Actions: Also build ESP8285, WROOM02 and 'hard' environments [Build] Revert unneeded change to build.yml, add docs on use of Custom.h [Build] Exclude C016 and SD-card features on 1M units to fit custom builds dependabot[bot] (4): Bump pygments from 2.6.1 to 2.7.4 Bump jinja2 from 2.11.2 to 2.11.3 Bump pyyaml from 5.3.1 to 5.4 Bump bottle from 0.12.18 to 0.12.19 glsf91 (1): Added choice SH1106 controller to plugin 32 martament (1): Update SettingsStruct.cpp sakinit (1): * Fixed rounding bug from issue 8 on breakout board. tonhuisman (5): [TaskValueSet(AndRun)] Use TASKname and/or VARname instead of TASKnr/VARnr [TaskValueSet(AndRun)] Minor documentation fixes [Task* commands] Add support for TASKname/VARname in addition to TASKnr/VARnr + documentation [Documentation] Add TaskValueSetAndRun [Task* commands] Fix a few silly typos
Release mega-20210223 Changes in mega-20210223 (since mega-20210114): Henri de Jong (1): Increase buffer size TD-er (44): Use max seen P1 message length to allocate buffer [cleanup] Mark "Bitwise:" log as debug log [ESP32 PIO] Update to [email protected] [WiFi] Try to use the strongest known SSID after a scan. (letscontrolit#3463) [Build] Fix custom IR build letscontrolit#3469 [WiFi] Simplify credentials manager [WiFi] Fix setup procedure [WiFi] Reduce TX power to 17.5 dBm and tune timings + fix mDNS start [mDNS ESP32] Fix build issue ESP32 (does not have MDNS.close()) [WiFi] Allow to limit TX power and make TX power dynamic [WiFi] Cleanup code + add settings transition for new parameters [WiFi] Make sending at max TX power optional [Pulse] Pulse Counter P003 enhancement [WiFi] Introduce 2 seconds delay at boot before starting WiFi [WiFi] Set sleep mode after switching wifi mode [WiFi] Fix build issues on ESP32 (different sleep mode function) [WiFi] Change log level of TX power to debug [Rules] Fix bug in time parsing (leading 0) [Rules] Make parsing numerical a bit more robust [Rules] Fix complex time matching [Time] Fix tm_mon starting at 0 and tm_year at 1900 [Time] Cleanup time calculation code Rename default variable names in P084 VEML6070 UV [Cron] Fix cron resolution + value updates Move to UserVar struct to have universal conversion of task variable types [P003 Pulse] Revert changes (See letscontrolit#3500) Revert "[Rules] Make parsing numerical a bit more robust" [PIO] Update to [email protected] [PWM] Set PHASE_LOCKED_WAVEFORM for new esp8266/Arduino core [WiFi] Fix crash when trying to reconnect while low on memory [PIO] Only update tmp files when changed to reduce build time safe_strncpy should not crash on FlashStringHelper strings [WiFi] Fix WiFi AP candidate from RTC causing crash [WiFi] Fix crash when deleting element from empty list [WD reboot] Change yield() into delay(0) for network connections [Cleanup] Uncrustify Networking.cpp [ESPEasy p2p] Add check on buffer allocation received UDP data [MQTT] PubSubClient checks when callback + publish happen simultaneous [MQTT] Fix rejecting QoS=0 messages with 0 or 1 byte length [ESPEasy p2p] Fix WD reboots due to not initialising array [Cleanup] Explicit init UserVar with 0.0f [WiFi] Fix bogus RTC settings loaded to connect to WiFi [WiFi] Allow spaces in SSID and pass phrase automatically updated release notes for mega-20210223 Ton Huisman (26): [P050] Additional output settings - Add Color Temperature DN40 calculation - Add Lux calculation - Add Clear output option - Add Normalized RGB calculation [P050] Add Normalized sRGB calculation [P050] Apply suggested patches to the Adafruit library [P050] Minor calculation adjustment, added to TESTING build [P050] Adjusted Normalization calculation, added R/G/B Calibration factors [P073] Improve display of periods in 7dtext Add 7ddt command (dual temnperatures on Max7219 display) [P073] Periods in 7dtext also for TM1637 display [P050] Removed unneeded output selection option [P037] Options for hide degrees symbol, right align temperature [P073] Options currently only applicable for MAX7219 [P050] Added 3x3 matrix calibration, added opt. event for all values, adjusted device settings [P050] Fix missing include [P050] Add extra transformation options, fixed a typo [P050] Rename Calibration to Transformation, added optional events for RGB values [P017] Add options for tag reset, delay and reset event [P017] Added documentation explaining the new settings [P008] Fix typo in minimal reset timer check [P073] Bugfix for 7ddt command being leftshifted by 1 [P073] Add fonts Siekoo/dSEG7, scrolling text and 7dbin command [P073] Optimizations and bugfixes, extra text scroll option [P073] Initialization optimizations [P073] Optimizations and minor code cleanup [Documentation] Update copyright year to 2021 [P073] Clear scroll text when setting 7dbin data [P073] Add documentation [P073] Fixed TM1637 mapping bug, moved log to DEBUG level, some source cleanup sakinit (1): Clear error by reading the error register loglevel independent stefan (4): P003 Pulse Microseconds P003 µSec backward compatibility P003 use micros64() P003 use getMicros64() function
Release mega-20210114 Changes in mega-20210114 (since mega-20201227): Gijs Noorlander (3): [Floats] Use proper compare functions to compare float values [PVS-Studio] Add braces to some defines to make them more predictable [PVS-Studio] Simple hints from PVS-Studio applied TD-er (60): Fix merge issue as Misc.ino was moved Small optimization changing char arrays to char Fix merge issues Fix missing include for CacheControllerPages [Rules] Add operators to convert integer values [Docs] Document the effects of external hosted CSS/JS files Add ABS function [Rules] Add trigonometric functions [Rules] Use bitwise operators only on unsigned ints Fix build warning [Rules] Change order parameters bitwrite [Rules] Increase accuracy in Calculate and variables from float to double Include P090 CCS811 in the builds again Increase accuracy in rules computation by using more decimals [Rules] Improve calculation resolution and compares. [Build] Reduce build size of OTA builds including new rules operators [Build] Move PMSx003 to 'normal' builds [Cleanup] Wrap <div> markup in a separate function [Cleanup] Reduce build size by replacing addHtml(String(....)) to addHtmlInt Restore accidentally removed "Note:" prefix for notes [Rules] Parse hex numbers when prefixed with 0x (uint only) [Cleanup] Remove String construction with = ""; [Rules] Allow HEX values in formula, rules, etc. [Rules] Change '!' + '=' into '<' + '>' to avoid conflict with '^' [Rules] Disable math functions for now to make them more intuitive [Serial] Only parse commands from serial when no task uses Serial0 [PIO] Fix building 'beta' builds toolchain update Fix build issue after merging other PRs [Rules] Add support for binary numbers with 0b prefix [Rules] Remove limit of nr. of variables [Rules] Improve readability of Rules Calculate function [Rules] Wrap rules calculation functions in a struct + cleanup [Rules] Fix out of bound crash with calculate ending with '=' + cleanup [Rules] Add preliminary support for math functions like sqrt, sin, etc. [Cleanup] Change typo trimTrailingZeros [Rules] Add missing functions (sin/cos etc) [Rules] Fix typo on limited size builds [Rules] Fix order of parsing "arc" functions [Rules] use parseString on string operation commands [Rules] Add some basic math functions + documentation [MQTT] Fix status update over MQTT for internal commands [MQTT] Also strip %valname% in topic if task index is invalid [MQTT] Small optimizations in parsing publish topics [Rules] Add option to each task to combine all values in a single event [MQTT] Fix remove of '//' in topic [Rules] Add hint about changed event when combining all event values [Cleanup] Uncrustify changed files of this PR [Cleanup] Fix issues compile caused by uncrustify [Minimal OTA] Make minimal OTA build fit again Fix build issue on ESP32 Accidentally removed C013 from the minimal OTA build [JSON] Fix a bug in generated JSON, not wrapping '00' as a string [Build] Reduce build size for minimal OTA builds [Logs] Format task values in logs with set nr of decimals [Cleanup] Fix MDNS builds on ESP32 and reduce minimal OTA build size [ESP32] Fix build issue due to missing include [Build] ESP32 factory bin files are 64k larger so don't reject those [Build] Rename test_ESP32_4M316k_lolin_d32_pro to match build script checks [ESP32] Increase DEVICES_MAX for ESP32 builds (> 85 plugins in build) automatically updated release notes for mega-20210114 Ton Huisman (8): [P023] Fix merge conflict [Commands] Improvements, refactoring and added feature of [<TaskNumber>]. prefix [Docs] Updated for [<TaskNumber>]. prefix [Checks] Don't allow numeric (float) device name [TaskName] Define is no longer available [P090] Re-enable plugin for TESTING build [P008] Wiegand add options for Tag removal [P073] Display a zero-prefix for temperatures between 0.9 and -0.9 tonhuisman (5): [Commands] Add global `[<TaskName>].` prefix for all PLUGIN_WRITE commands [Commands] Remove local taskname-prefix impl., exclude P022 [Commands] Remove requirement for [ and ] on <TaskName>. prefix [Commands] Improve documentation on [<TaskName>]. prefixing [Commands] Add extra safeguard check for DeviceIndex
Release mega-20201227 Changes in mega-20201227 (since mega-20201130): CurlyMoo (4): Support for Shelly 1 temp. addon Added documentation Small typo in documentation Small comment about potential serial port conflicts Joerg Heinemann (1): Add copyrights and permission notices TD-er (92): [Cleanup] Wemos motor shield, reduce resources used. [docs] Minor Sphinx warnings fixed. [Playground] Move BME680 from playground [Cleanup] Uncrustify P106 BME680 Make sure notifications (Email/Buzzer) are included in 1M normal build [IRTX] Use parse argument functions for IR TX command arguments [NeoClock] Fix building P070 NeoPixelClock [PVS-Studio] Allow testing IR builds for coding errors [IRTX] Convert more commands to use parse string functions Fix missing defines to allow "Periodical send Gratuitous ARP" [Cleanup] PluginStructs/*.cpp include prepend PluginStrucs dir [PIO] Concatenate .cpp files to prevent linking errors [PIO] Concat *.cpp files in ControllerQueue/ and PluginStructs/ [PIO] Add Commands/*.cpp to the files to be concatenated in single .cpp Fix build error in Linux build environment [PIO] Separate appended .cpp files with newline [PIO] Concatenate all WebServer/*.cpp files into temp file. [PIO] Make sure library includes are present in .cpp [MQTT] Prevent high CPU load when not connected to MQTT broker (letscontrolit#3410) [Web UI] Proper encoding for HTML attribute values [Cleanup] Uncrustify of web page code [MQTT import] Share MQTT client with active MQTT controller [Dallas] Fix P100 DS2423 counter plugin matching new changes. [MQTT import] Fix missing return statement [Dallas] Fix P100 DS2423 counter plugin matching new changes. [NeoClock] Fix building P070 NeoPixelClock [PVS-Studio] Allow testing IR builds for coding errors Make sure notifications (Email/Buzzer) are included in 1M normal build Fix missing defines to allow "Periodical send Gratuitous ARP" [Cleanup] PluginStructs/*.cpp include prepend PluginStrucs dir [PIO] Concatenate .cpp files to prevent linking errors [PIO] Concat *.cpp files in ControllerQueue/ and PluginStructs/ [PIO] Add Commands/*.cpp to the files to be concatenated in single .cpp Fix build error in Linux build environment [Cleanup] Wemos motor shield, reduce resources used. [docs] Minor Sphinx warnings fixed. [PIO] Separate appended .cpp files with newline [PIO] Concatenate all WebServer/*.cpp files into temp file. [PIO] Make sure library includes are present in .cpp [IRTX] Use parse argument functions for IR TX command arguments [IRTX] Convert more commands to use parse string functions [Web UI] Proper encoding for HTML attribute values [Cleanup] Uncrustify of web page code [MQTT import] Only process incoming messages if topic matches and enabled Fix %isntp% and %ismqttimp% states + MQTTimport connected events Remove ICACHE_RAM_ATTR from LongTermTimer and move to .h only [Webserver] Don't use temp variables for webserver arguments Exclude special characters from system variable page in minimal builds [WebServer] Do not include custom page on minimal OTA builds Reduce build size by wrapping all parameters for internal commands [ESP32] Remove warning for GPIO-15 to use PNP transistor on ESP32 [Custom build] Reduce Custom build size [Deep Sleep] Make wake from deep sleep more reliable [Playground] Plugin-107: SI1145 - UV index / IR / visible (letscontrolit#3426) [Docs] Document Domoticz authethication via SendToHTTP Fix build issues P107 [Cleanup] Use PCONFIG macros where possible [Domoticz MQTT] Reduce memory usage when sending message Use small stack allocated Json objects when processing web command [BME680] Make address config uniform for all I2C plugins [Cleanup] Rename I2C address label to reduce build size [BME680] Use the selected I2C address Delete _Custom.h [Travis] Disable test_alt_wifi_ESP8266_4M1M_VCC in CI builds [Typo] Fix 'succesful' typo Fix init check on P106 BME680 [BME680] Force reinit after change settings [P107: SI1145] initialise sensor and stop sensor at each reading [P107_Si1145] Rename default value names and plugin name [BME680] Add to I2C scanner [Flashing] Include Espressif Download Tool in our repository [Docs] Document flashing, especially ESP32 [Docs] Add stubs for not yet documented plugins Add XPT2046 touchscreen to Custom-sample.h Include Notifiers on hardware specific builds [Cleanup] Exclude unused code to reduce build size [Cleanup] Reduce build size by using CDN for CSS and JS [Cleanup] Reduce build size by using iterators for globalMapPortStatus Fix build issue for P019 (missing brace) Rename toasting,js to toasting.js [Cleanup] Reduce build size of WebPages [Cleanup] Disable "New Rules" on Limit build size builds Remove _custom.h Rename plugin ID to P108 because of ID conflict with pending PR [Doc] Add documentation stubs for P108 DDS238-x [PIO] Add "display" and "energy" build collections [Dallas] Fix Dallas sensor not being read if optional pin unset [EmonCMS] Allow sending 4 values per task (letscontrolit#3438) [EmonCMS] Fix build issue [Controller Queue] Optimize C004, C009 and C017 [PWM] Fix fade down (letscontrolit#3434) automatically updated release notes for mega-20201227 Ton Huisman (14): [P099] Touch XPT2046 new plugin - Adds Touch support for XPT2046 (often combined with ILI9341 TFT) - Space for up to 40 user defined touchobjects by name - Allows several types of events, X/Y, X/Y/X, objectname [TaskName#ObjectName] - Calibration to map to screen coordinates (optional) [P099] Code improvements - Avoid using unicode in source - Less scope braces - Memory optimizations - Improve data struct definition - Pointer initializations - Cleanup on `PLUGIN_EXIT` [P099] Cut off x/y coordinate outside calibration [P099] Documentation for TouchScreen - Device configuration - Setup calibration - Define TouchObjects [Docs] Add Touch plugin category - [P099] Improvements and corrections - [P095] Adjust documententation title (remove XPT2046) [P099] Events only fired when Rules enabled Show note in Device settings page if Rules disabled Add USES_P099 to `define_plugin_sets.h` (disabled) [P099] Fixed an issue in x/y scaling function [P099] Add On/Off button to touchobjects - Add On/Off button and Inverted settings per touchobject - Updated documentation and screenshots [P099] Settings page to show when task is disabled [P099] Adjust #include to new structure, enable plugin in test build [P099] Improve string allocation, add options, source formatting - Source formatting and String allocation using reserve() for longer strings - Add option and command for flipping the rotation setting - Improved rotation setting to conform to ILI9341 setting - Add option for setting the debounce delay for On/Off buttons [P099] Add updated file [P099] Fix casting and rounding in calculations Adjust #include path to fix build denisfrench (4): Add #includes required since PR letscontrolit#3139 Update to work with recent builds, lifted from P085 Copy in _P103_DDS238.ino Move P224 in from Playground as P103 jimmys01 (1): Update the IR library josemariaaraujo (1): Plugin for DDS238 Energy Meters juliokele (1): [P069] Fixed LM75A logging uwekaditz (23): [P036] Support for 128x32 display Files for [P092] replaced with original ones from mega [P092] Reduce memory usage when plugin not used PR letscontrolit#3248 [P016] Improvement: a received IR code can be saved and a command can be assigned to it Undo changes for PR letscontrolit#3323 in this branch OLED_P036 ressouce-saving string calculation not using the _ prefix anymore, use reserve() for long log strings Update P036_data_struct.h BUG: #endif missing in P092_data_struct.h Copy and Paste error integrate the changes of PR letscontrolit#3345 (created by pez3) [P092] P092_data->init() is always done if P092_init == false Update _P036_FrameOLED.ino Update P092_data_struct.cpp [P036] PinMode in Web interface adjustable (even InputPullDown if available) [P092] PinMode in Web interface adjustable (even InputPullDown if available) wrong comment sign [P092] Documentation for UVR61-3 (v8.3 or higher) added Delete P092_data_struct.cpp Delete P092_data_struct.h Changes requested by TDer Update P092_DLbus.ino from mega Changes requested by TD-er
PreviousNext