Skip to content

v3.0.0 Completely refactored modular core

Compare
Choose a tag to compare
@anklimov anklimov released this 12 Apr 23:25
· 206 commits to master since this release

Main improvement:
Since this release, controller's core is refactored completely with new architecture of base classes and new-style internal API (see Doxigen docs https://anklimov.github.io/lighthub/docs/html/index.html for details)

Now is possible to develop drivers for virtually any new devices with minimal effort, using existent drivers code as simple template with minimal impact on core.
New datatypes are used to communicate between modules (variant types, which allow transfer various types of values (float point, hsv, rgb, int, percentage, temperature e t.c)

Fixes:

  • 49days issue fixed
  • DMXbuf corruption fix (then DMX channels in config is out of range)
  • Critical: DMXsmooth buffer memory corruption fixed (due only)
  • DMX flickering bug fixed,
  • MQTT port/login/password issue fixed for some platforms
  • Modbus for ESP32

Breaking changes:

  • Percentage volume scale range 0..100 changed to 0..255 for topics with /set suffix (0..100 scale kept unchanged for old-style topics in order to OpenHAB compatibility). Its strongly recommended to reconfigure your smarthome software (i.e HomeAssistant) _to use new firmware with emulation of old scale (0..100) - re-compile project with option SCALE_VOLUME_100 added in your custom-build-flag file

  • to report temperature from sensors (1-wire or DHT or Modbus) to local or remote regulators (relay or PID thermostat) you need to add /val suffix to item name
    i.e old style sensor definition:
    "2807FFD503000036":{"emit":"/myhome/s_out/sometopic","item":"localthermostate"}
    new style:
    "2807FFD503000036":{"emit":"/myhome/in/remotetermostate/val","item":"localthermostate/val"}

New functionality:

  • New universal modbus driver - allow to poll any type of modbus RTU device (described on config) and submit results to MQTT and/or to internal objects
    Support INPUT REGISTERS and HANDLE REGISTERS, only pooling at this moment (writting registers - in roadmap), possible to use old-style Modbus driver same time with new one
  • Thermostate and regulator (PID or relay) now can communicate across MQTT (not just locally). Just use example above to configure remote topic
  • internal "PID regulator" item type. Allow to configure so many as you needed PID regulators to control local or remote devices
  • Exponential bright matrix for RGBW Led (optonal, use BRIGHT_STEP or BRIGHT_LOG compilation directives to activate)
  • HSV & RGB mixed control
  • OTA tools for win added
  • GROUP fixes&optimization
  • Adopted to aJson lib update
  • Color temperature
  • Doxigen documentation (autogenerated)
  • less stack consumption &faster for recursive groups
  • RGB on PWM

Compiled binaries in "compiled" folders of attached archive