General Recommendation for updates: before updating, please always use the "Download configuration backup" button to download a backup of your device's configuration.
- Automatic check for Updates: optionally, the P44-DSB can now automatically check if a new firmware version is available, and if so, show an alert when opening the web interface (the next available version number is also available as a p44script function for use in triggers and evaluators).
- Scripting: a new scripting engine, p44script, now allows scripting almost every aspect of the device.
- p44script has advanced features like user defined functions, concurrent operation, event handlers and a lot of functions from math to string handling to http and socket connections and much more.
- p44script is fully compatible with the previous evaluator expressions and trigger/action scripts, but extends far beyond in functionality.
- For editing longer source code, there is now a full-screen code editor with p44script syntax coloring and snippets (small link below the text fields)
- For easily trying p44script features and code snippets, there is a REPL (Read Execute Print Loop) Web page at /repl.html.
- See Script+Expression reference link below editors for a short reference for p44script.
- Scripting is possible as before from internal action trigger type evaluator devices.
- In addition, every scene in every device can now have a scene script which is run when the scene is called. This allows advanced effects and transitions when scenes are invoked. To edit scene scripts (and other scene options), shift-click the sprocket icon of the device to reveal additional controls below the channel sliders.
- For initializing and running custom setups, p44script provides a main script which is started with the device and may keep running in parallel with normal device operation.
- hue: now supports on/off-only devices without any dimming capability, such as smart plugs.
- logging: per device/vdc/script logleveloffset now allows silencing "noisy" devices or focusing on devices of interest for support and debugging. To change the log level offset (from -2 to mostly silence to +2 to make very verbose), shift-click the (i)-button of a device and then one of the links labelled logging.
- logging: new "stats" button/link prints some momentary statistics into the log, such as optimizer state.
- Option for persistent outputs: if enabled (vdchost level property) output state changes will be saved and when device is restarted, re-applied to the hardware. Note that writing to flash can cause short delays and contributes to flash wear, so only enable the feature when actually needed. It is off by default.
- Platform: support for custom product devices for smart LED installations: P44-DSB-E+L, P44-DSB-LED
- Enhanced smart LED chain support (P44-DSB-X and custom P44-DSB-E+L, P44-DSB-LED only): stripes and areas built from individually addressable color LEDs (WS281x, SK6812 etc.) can be used with p44lrgraphics subsystem.
- p44lrgraphics is a graphic rendering system based on a hierarchy of views, including animation, transparency, rotation, PNG display, smooth scrolling, text and more.
- For example, it drives the moving feature light with effects, which is a color light showing on a segment or spot on LED chains, with extra channels for size, color gradient, rotation etc.
- p44lrgraphics is fully accessible from p44script, which allows creating and animating complex light arrangements.
- It even supports Microsoft's expressive pixels animation format.
- p44lrgraphics's origin is the messagetorch project from 7 years ago. It evolved via pixelboard to what it is today, so it still contains a torch view that can produce the fire animation of messagetorch (and a Conway's game of life view).
- Better Versioning scheme:
- Production versions will have numbers in the 2.5.0 form (major.minor.revision).
- Testing/beta versions will keep the longer 126.96.36.199 form, with the fourth number being the beta build version.
- Beta versions will start with the number of the next release version. So a beta version like 188.8.131.52 indicates that this is a beta for an upcoming 2.5.1 release.
- Platform: updated to OpenWrt 19.07.6
- EnOcean: improved upgrading from insecure to encrypted communication, rolling counter (RLC) refresh.
- EnOcean: improved out-of-sync RLC handling, better log messages for encryption related warnings.
- EnOcean: A5-20-04 communication interval reduced from 20 to 10min.
- Evaluators: now write a more informative log line when state changes, including the values involved and indicating if the change was triggered by timing or immediate input value changes.
- Evaluators: internal action evaluators can now have an empty "off" condition to just run the action once whenever "on" condition becomes true.
- Evaluators: now can use channel output values as "sensor" values in condition expressions (using device(x).output.channel(y) syntax)
- Web-UI: all dialogs can now be dismissed with Esc key or by clicking ouside of the dialog.
- Web-UI: support for setting geographic location (for sunrise/sunset calculations) and time zone.
- LEDchains: now RGBW chains are supported, actual light color of W channel can be specified per chain. P44-DSB-X and custom P44-DSB-E+L, P44-DSB-LED only
- LEDchains: --ledrefresh command line parameter to tune update rate (lower for very long chains). P44-DSB-X and custom P44-DSB-E+L, P44-DSB-LED only
- LEDchains: ledchain driver with support for RGB (vs GRB) WS2815 LEDs. P44-DSB-X and custom P44-DSB-E+L, P44-DSB-LED only
- EnOcean: prevent encrypted sensors with repeaters to get out of sync (rolling counter) and seem "inactive" for some periods of time.
- EnOcean: fixed problems with secure devices persistence (inactive after restart)
- Window/door/garage contacts: meaning of the active state (binary input = 1) is closed, not open. Except for rarely used EnOcean profiles A5-14-07/08, this is only a documentation/labelling change, because for generic contacts, configurations for both signal polarities existed already to cover different types of window/door contacts. (Note that this has nothing to do with the way window handle inputs work - for these the states were and still are: 0=closed, 1=open, 2=tilted).
- Optimizer: fixed bug that could cause scene not loading correctly.
- hue: fixed problem with manually specified hue bridge url/IP, did not work in some cases.
- Web-UI: fixed long-standing annoying JQMobile problem that caused open dialogs to scroll instead of accepting the first button clicked.
- Webserver: now based on civetweb v1.12, which fixes a socket leak when accessing the Web-UI with a https request that fails due to SSL level errors. Before, polling the Web-UI via https constantly (as some monitor tools do), over time led to out-of-memory resulting in device becoming very slow.