Skip to content

Release mega-20210114

Pre-release
Pre-release
Compare
Choose a tag to compare
@TD-er TD-er released this 14 Jan 22:56

Major changes:

  • Added math functions to be used in rules, like log(...), sin(...), etc. See Rules - Math Functions
  • Added logic functions to be used in rules, like bitset, toBin, XOR, AND, OR, etc. See Rules - Logic Functions
  • Removed limit on nr of variables to use for [var#1] and [int#1].
  • Add support for using HEX (0x prefix) and binary (0b prefix) in rules for (unsigned) integer numbers.
  • Fix unparsed elements in MQTT publish topics for status updates from internal commands
  • Increase accuracy of internal formula handling and variables (now using double instead of float)

Changes in mega-20210114 (since mega-20201227):

TD-er (63):

      [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
      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 (13):

      [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
      [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