github letscontrolit/ESPEasy mega-20210802

latest releases: mega-20240414, mega-20240401, mega-20240331...
2 years ago

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
  • [P039] 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 (8):

  • added prometheus exporter on /metrics path
  • added prometheus exporter on /metrics path
  • 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

Peter Kretz (40):

  • 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
  • VCC flag removed
  • Poolmeter

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 (#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 (#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 (#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 (#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 (#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(#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 #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

Don't miss a new ESPEasy release

NewReleases is sending notifications on new releases.