No account? Please just register for free

Firmware info + supported devices list

Firmware information for P44-DSB-E2

Firmware version Release Notes
released 2022-11-11

Firmware 2.6.6

Firmware 2.6.6 for P44-DSB devices is a maintenance release for firmware release 2.6. It contains some general improvements and bug fixes.

General Recommendation for updates: before updating, please always use the "Download configuration backup" button to download a backup of your device's configuration.

Improvements since production version 2.6.5


  • evaluators: fixed problem with between_dates() which caused too many evaluations on the last day of the date range and possibly slowed down the device for that day.
  • p44script: fixed problem with event distribution when assigning signal() results to variables
  • Tunable Whites: Some tunable white lights still showed an icon indicating full RGB color light. Now the correct WW/CW-Icon is shown.


  • evaluators: improved logging to show which evaluator device is affected when there are unresolved value mappings.
  • matter: More internal preparation to provide matter bridge functionality for the P44-DSB with a future firmware update. A beta version is already available, see details here.
released 2022-09-06

Firmware 2.6.5 for P44-DSB devices is a maintenance release for firmware release 2.6. It contains some general improvements and bug fixes, as well as some additional p44script capabilities.

General Recommendation for updates: before updating, please always use the "Download configuration backup" button to download a backup of your device's configuration.

Improvements since production version 2.6.4


  • Text is now easier to select and copy in the web interface (in some browsers, text could only be selected via right-click before).
  • More precise output transition timing, multiple channels can now be in differently timed transitions at the same time for hardware devices which support that.
  • Evaluators: more intuitive behaviour when on/off conditions logically overlap (are both true at the same time), improved logging to make understanding evaluator condition evaluation easier.
  • Foundation laid for the P44-xx device to possibly act as a matter bridge in the future.


  • Assigning a very long name for the P44-xx device could cause dns-sd not being able to publish and thus device would no longer be found in the network by dSS and not appear in Bonjour or Avahi network browsers. Now long names are automatically shortened to prevent this.


  • Added bit(field) manipulation functions: bit(), setbit(), flipbit().
  • Added lowercase(), uppercase(), caseinsensitive option for find() and new replace() function for string manipulation.
  • Added cquote() function.
  • Added withmeta and formdata options to httprequest(). Also, httprequest() now treats all "success" class status codes (200..203) as ok, not just 200.
  • Added dnssdbrowse() function to search for named public services in the local network using dns-sd (aka Bonjour, aka zeroconf, aka avahi).
  • Added annotation() function to get the annotation string of a value (which for example often indicates the reason for a result being null/undefined).
  • Added globalbuiltins() and contextbuiltins() functions listing all built-in global or context-level functions/objects.
  • Boolean operators now return "real" boolean values, i.e. not just generic numeric 0 or 1, but actual bool type (which still converts to numeric 1 value for true, 0 for false). The main difference is that these "real" booleans, when assigned to JSON object fields, are actually represented as JSON booleans, not numbers.

Scripted devices/external device API

  • Buttons now can directly report clicks and longpress (useful when the button device already has it's own click detection, which might be more precise than transmitting direct button press/release events via an API that might add too much delay).
released 2022-03-22

Firmware 2.6.4 for P44-DSB devices is a maintenance release for firmware release 2.6. It essentially releases support for an upcoming hue bridge update, and includes some general improvements and bug fixes.

General Recommendation for updates: before updating, please always use the "Download configuration backup" button to download a backup of your device's configuration.

Improvements since production version 2.6.1


  • Ready for upcoming hue bridge firmware release (expected for Q2/2022) which removes SSDP method for finding hue bridge in the local network. New method is DNS-SD (also called Bonjour, mDNS, ZeroConf). SSDP is still supported for old (round) hue bridges.


  • Fixed brightness dimming for some RGB(WA) color dimmers.


  • Fixed F6-05-02 smoke detector learn-in.


  • Fixed bugs that could occur in some edge cases such that scene transitions would not work as expected.
  • Web-UI: Fixed custom transition time scene effect to show the parameter field, so transition time can actually be edited.
  • Internal Action Evaluator trigger conditions are now re-evaluated after action script has run to detect script side effects (such as changing a script variable) that might be needed to reset the trigger condition.
  • Shadow devices should now get proper UI in digitalSTROM (added resp. modelfeatures)
  • Support for new p44-mini-e+l hardware platform.


  • Scene operations now have a text description for the scene involved (such as "preset 1" for scene number 5).
  • There is now a toggle to have log display wrap long lines
  • Better error display showing not only numeric error code, but also name text.


  • restartapp() now can optionally also reboot, shutdown or start a firmware upgrade.
  • Fixed inconsistencies in member access, for example assigning variables via globalvars()['name'] = xx.
  • New functions isok()ifok() to catch errors for example when accessing data fields, strrep() for creating string with repeating patterns.
  • random() function can now deliver discrete values in a specified interval, such as integers, halves etc.
  • signal() now can send data, which allows using it as a "pipe" to transmit information between different script contexts and threads.
  • User defined functions can now be created as "local function" to keep them private to the context (e.g. device, mainscript) instead of exposing them globally. Also, for clarity, functions may now be declared "global function".
  • New functions maxblocktime() and maxruntime() for controlling script execution time slice and overall max run time.
  • Fixed crash that could happen when run time error occurred within nested function calls.
  • httprequest() now allows accessing servers using basic auth (because that is needed by some IoT hardware not capable of digest auth). By default, httprequest() does not suggest basic auth and allows it only in SSL connections when the server asks for it.
  • Internal: the event passing mechanism (on which on(..) {...} is based) has been significantly improved and generalized. This also fixes a few edge cases that could cause inconsistencies with events in too rapid succession.
  • Webserver: now allows (but never requests) accessing via http basic auth. This allows IoT hardware not capable of digest auth to still access the web API. Note that basic auth risks exposing the password when used without https/TLS.
  • API endpoint `/api/json/scriptapi` which can be activated via p44script is now accessible without `rqvaltok`token.
  • Special Hardware Support: now direct access to i2c, SPI and modbus peripherals is possible from p44script (userlevel >=1 required)
released 2021-11-15

Firmware 2.6.1 for P44-DSB devices (and 1.6.1 for P44-LC/AC) is a maintenance release for firmware release 2.6. It does not contain any new features, but fixes some bugs.

General Recommendation for updates: before updating, please always use the "Download configuration backup" button to download a backup of your device's configuration.

Improvements since production version 2.6.0

  • Scripted custom devices: fixed problem that could cause on(…){…} handlers get duplicated and being active multiple times in the background when editing implementations. For example, devices with a periodic polling of a service could get accessed more often than intended after editing.
  • https access from p44script: fixed a problem that prevented accessing some https servers (those that require SNI to establish a connection).
  • LEDchain: divs small bugfixes, in particular more accurate LED power limiting (P44-DSB-X only)

released 2021-10-05

The firmware 2.6.0 for P44-DSB devices (and 1.6.0 for P44-LC/AC) focuses on extendability and flexibility to create advanced applications.

It now allows integration with services and 3rd party hardware all completely within the P44-xx device itself, with no external dependencies or tools needed, and thus suitable for long-lived installations. The complete customized setup of a P44-DSB/P44-LC/AC device can be downloaded and archived as a single file, and can be restored easily to the original device or a replacement device when needed.

To see what can be done with a P44-DSB/LC device beyond the usual, find a few examples here.

Of course, despite all the new possibilities, the P44-DSB/LC remains as simple to use as before, integrating DALI, EnOcean and hue devices into digitalSTROM with a few clicks.

General Recommendation for updates: before updating, please always use the "Download configuration backup" button to download a backup of your device's configuration.

Improvements since production version 2.5.0

Web Interface

  • Speed: Significantly improved speed, especially noticeable with interactive sliders (output channel settings such as brightness, color) which are now way smoother than before.
  • Caching: Complete overhaul of internal web server configuration to prevent caching problems and the occasional "Ajax -1" error that sometimes occurred (which was harmless, but ugly).
  • More info: Device and vDC Info dialog now has a "Technical details" section with extra information and a link to open a separate device/vdc property tree window.
  • Visual feedback: Buttons that trigger an action (such as testing a scene script) will now light up to confirm when the device has actually started executing the action. This helps especially when debugging setups with flakey wifi connection.


  • Tunable white lights: Support for non-DT-8 tunable white lights providing one dimmer channel for brightness, and a second channel for color temperature (warm to cool).


  • Scripted custom devices: while customer defined devices were already possible for a while using the external device API, this release now allows creating custom hardware and service integrations entirely on-device using p44script. While this is an advanced feature that needs some programming skills, there are some ready to use examples available. Things that can be done with scripted custom devices are, for example:
  • Many new functions: file access with readfile() and writefile(), numerical range transform with maprange(), ord()/chr() for working with binary strings, httprequest(), urlencode() and websocket() for accessing complex APIs, globalvars(), localvars(), contextvars(), globalhandlers(), contexthandlers() for introspection and debugging, digitalio(), analogio(), dcmotor() for working with directly connected hardware (P44-DSB-X and custom P44-xx devices only).
  • JSON objects: now JSON object's field names can now be accessed using numeric subscript (obj[0] returns name of first field in obj).
  • External access: the device's JSON API has a "scriptapi" endpoint, which can be used to implement custom API in p44script using the webrequest() event function and its member answer() for responding to web requests.
  • Threads: thread-local variables can be defined using the threadvar keyword and are implicitly used in as clause of on() and catch(). For thread coordination, new functions signal(), lock() exist.
  • Documentation: in addition to the built-in script short reference, p44 tech docs now provide a lot of information and examples for all the many advanced applications p44script can enable.
  • Logging: much better display of context where script-related things happen, incuding complete call chain when scripts call functions defined in other scripts. Enhanced log() function now allows formatting like format().
  • Debugging: Pretty-printed JSON results in Read-Execute-Print/REPL (repl.html) and tweak (tweak.html) screens help inspecting API results, lrgraphics status() info etc.

Standalone Controller (P44-LC only)

  • Dimming: after turning on light via scene call, next dimming action with a single button will dim down (tried to dim up before, which usually makes no sense after turning on).
  • Mobile Website: Optimized Lights tab for better usability on small screens. All controls are now reachable even on a small phone screen (in landscape mode).
  • Triggers: now can set additional trigger modes. By default, triggers fire when the condition expression changes from false to true. Extra modes can be used to fire when expression result becomes true OR false, or when the expression value changes at all (not only boolean values) or even on every evaluation.
  • Custom Actions: Triggers now have an option to appear as button on a separate web page (actions.html). With this, custom functionality can made accessible in a simple to use way for end users.

Support for custom device types (P44-DSB-X and custom P44-xx devices only)

  • SmartLED chains/p44lrgraphics: Now supports setting LED chip type and layout (RGB,GRB,…) in p44script using addledchain(). The LED refresh rate can be changed using setledrefresh() programmatically.
  • LEDchain devices: Simplified creating text, life, image based lights.
  • "p44features": this is a set of rather specific hardware drivers, which now can be used from p44script. For example if you have Swiss Railway split flap modules, there is a splitflap feature to control these.
  • WiFi: For RaspberryPi 3 based P44-DSB-X devices, WiFi can be configured by Cmd/Ctrl-Shift clicking "Edit Network Settings...").
  • Hardware I/O: digitalio() and analogio() allow accessing GPIO pins, PWM outputs, I2C and SPI peripherals such as A/D converters or port expanders in p44script.
  • Motor control: dcmotor() provides all functionality for bidirectional DC motors with current measurement for detecting end stops and/or end contacts, with smooth ramp up/down control (suitable H-bridge driver and A/D converter connected to PWM, GPIO, SPI/I2C required).


  • Platform: updated to OpenWrt 19.07.8
  • Other: of course, many detail improvement and bug fixes…

Show beta releases