close

No account? Please just register for free

Firmware info + supported devices list

Firmware information for P44-AC-DCM

Firmware version Release Notes
1.8.0
released 2024-10-03

Firmware 1.8.0

Firmware 1.8.0 is a feature and bugfix release for for P44-LC devices.

This release contains some new features and improvements over the previous 1.7.0 firmware release, while remaining fully compatible with the previous version. It is recommened to upgrade to this version even in case the new features are not needed, as this version also fixes some bugs and is easier to support in case of problems.

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

Most important changes since production version 1.7.0

New Features

  • matter bridge (beta): Now based on matter 1.3 (vs 1.2 in previous versions).
  • matter bridge (beta): Bridging devices are now available in P44-LC, too. These can be useful to allow matter side automation to trigger or monitor scene calls. Before, bridging devices were available in P44-DSB only as a way to get some matter integration into DS rooms.

  • Web-UI: Added option to configure buttons as direct scene action buttons (single click invokes a freely configurable room or global scene)
  • custom/user web page support: project specific custom web pages needing different user/password than the standard WebUI, or no auth at all are now possible.
  • proxy devices: multiple P44-LC/AC can be combined to have one main unit offering a common UI for all devices of a number of secondary P44-LC/AC units by virtual proxy devices residing on the main unit for the actual devices in the secondary units. This feature needs low-level command line setup at this time and is intended for advanced custom setups.
  • p44script IDE: can now edit auxiliary files such as user web pages, config files etc (when configured).
  • p44script: added sign() function which returns the sign from a number as -1,1 or 0.
  • scripted/external devices: can now create output channels with custom min/max/resolution outputs for special custom hardware.
  • p44script: basic support for script include files. Note: this is a power scripting user feature that may help in complex setups.

Improvements

  • Lights: now have a adjustable gamma (x-p44-gamma property) which can be used for example to correct DALI drivers with incorrect dimming curve.
  • p44script IDE: log output is now colored and can be dynamically shown shortened/expanded.
  • p44script: add uid (dSUID) and logleveloffset() in device context scripts.
  • IPv6: improved overall support for IPv6 connections.
  • Web-UI: better support for other output device types than lights, such as shadow or ventilation.
  • IPv6: network settings now have a switch for enabling/disabling IPv6 support (link local only at this time).

Bugfixes

  • factory reset: fixed bug that caused in some rare cases (more likely when factory reset was started using the device button rather than the WebUI) could lead to device starting up with a wrong model type, and needed remote service access to make it work normally again.
  • matter bridge: fixed pushbuttons, which were not correctly bridged, missing name and other meta data. This made them to be hard to find and operate in UIs, depending on the matter controller.
  • matter bridge: fixed mapping of binary input devices to suitable matter devices. Before, most boolean state devices appeared as occupancy sensors, even if the P44-side had a different type set.
  • p44script: fixed bug in scene() that prevented calling non-light scenes by name.
  • p44script: find() now actually accepts fourth argument for case insensitive comparison as was documented already.
  • p44script: fixed regression with vdcapi() did always raise error when calling a notification.
  • p44script: bugfix: in if statements, no spaces were allowed between condition expression and the closing bracket, so if(a==b) did work, but if (a==b ) did not.
1.7.0
released 2024-05-14

Firmware 1.7.0

Firmware 1.7.0 is a major feature release for for P44-LC devices.

This release contains substantial new features and improvements over the previous 1.6.x firmware releases, while remaining fully compatible with the previous version. It is recommened to upgrade to this version even in case the new features are not needed, as this version also fixes some bugs and is easier to support in case of problems.

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

Changes since production version 1.6.9

matter support (beta)

matter is a new SmartHome standard that allows interoperability between different Smarthome ecosystems. A matter enabled device, like your P44-LC can be commissioned at the same time for example into Apple Home, SmartThings and Home Assistant, using each system's best features, such as voice assistants, to interact with the P44-LC devices.

Starting with 1.7.0, the matter 1.2 (beta) functionality can be enabled as an option in your P44-LC device. To get more information about P44 devices and matter, please visit plan44.ch/matter.

matter is a milestone for the smarthome, especially for the electrical installation industry - because matter is to the smarthome what the power socket was to electrification 100 years ago - a standard that allows the building-side infrastructure to be easily connected to (and disconnected from) the user-side devices.

plan44 is working to reach certification for the matter bridge component in the P44-DSB and P44-LC devices as soon as possible - until then the matter functionality remains a beta feature.

Here you can find information on how to use matter beta on your P44-LC.

p44script IDE: integrated development environment

For quite some time, P44-LC devices allow extensive custom functionality through the p44script language, be it triggering actions in response to evaluator results, or integrating hardware via "scripted devices" or even running a custom "mainscript".

Now with firmware 1.7, working with scripts gets much simpler thanks to the fully integrated IDE, which allows comfortable script editing and interactive script debugging:

  • easily browse and edit all scripts in the system with a modern source editor with tabs, syntax coloring and autocomplete.
  • debug with breakpoints and single stepping.
  • inspect variables of any script or test statements using the integrated debug console.
  • playground for testing more complex script snippets
  • the integrated live log view shows the activity of your P44.

See p44script IDE documentation for more information.

Other new features

  • You can now disable or enable receiving public beta firmware for your P44-LC device using the new button labelled "Beta..." besides the "Check for new firmware version...".
  • Enocean: Support for D2-07-00 door lock status profile.
  • EnOcean: Support for D2-14-40 Temperature/Humidity/Illumination Sensor.
  • hue: Workaround for non-hue-certified, but widely deployed TS0505B light controller which does only understand CIExy color settings, not hue/saturation.
  • custom devices: Allow URN-formatted uniqueid specification in init message for devices which have a native and globally unique hardware ID of some kind, so this information can be shown in the device list.
  • MIDI support: p44script now can send and receive MIDI messages (e.g. MIDI keyboard/controller connected via USB) to make use of affordable input devices in automation projects, or coordinate lighting with multimedia shows.
  • MIDI: RTP-MIDI (rfc6295) support, which means that the P44-LC can be found via DNS-SD as a midi device, e.g. from macOS or iOS midi applications such as "Audio MIDI setup".
  • Dimmer Inputs: Use analog sensor inputs (e.g. via MIDI) as zone/area dimmer controls.
  • Proxy support (beta): Connect multiple P44-xx to cooperate like a single device.
  • DMX512: direct output via a serial port now possible.

General Improvements

  • platform: P44-LC is now based on OpenWrt 22.03
  • logging: Now uses colored symbol markers for loglevel differentiation

p44script engine improvements

  • Now supports JS-style object and array construction - field names do not need to be quoted strings (but still may), values can be any p44script expressions.
  • array elements can now be appended using the arr[] = newElem construct.
  • removed confusing separation between "declaration" and "script" part.
  • added compound assignment operators (+=, -=, *=, etc) and increment and decrement postfix operators (++ and --).
  • added for (init; condition; next) { ... } loop construct
  • webrequest(endpoint) now allows creating multiple, independent script API endpoints - this eliminates the need for a common webrequest handler in mainscript for scripted devices which need to expose a per-device API.
  • concurrent now has a passing option to pass values safely (glitch-free) into thread variables of the concurrently running code.
  • p44script functions for accessing serial ports.
  • on (eventsource()) stable n { … } can now limit the event rate from eventsource to a minimal interval as specified by n.

See p44script short reference and p44script overview for more information.

SmartLEDs (WS28xx, "Neopixels")

When working with SmartLEDs - individually addressable RGB(W) leds - on the P44-DSB/LC-TORCH, P44-LC-X, P44-DSB-X or one of the automation controllers for special applications P44-AC,LC,MC, the integrated LED simulator is a very useful new tool to

  • see what is happening on the LED output
  • inspect all views in the view hierachy
  • examine all view properties
  • allow changing view configuration / set properties live

See LEDsim documentation for more information.

New features in the p44script SmartLED Graphics Subsystem

  • all views now can scroll (pan), zoom and rotate with antialiasing and sub-pixel precision.
  • all view properties are now directly accessible as fields on the view object.
  • textview now has support for different fonts from ultratiny 3x3 to larger 6x11 - with new bolden and stretch style variants.
  • When creating new SmartLED based lights, these can be set to automatic sizing instead of specifying the area in pixels. The actual size will then be adjusted to the size of the rootview (usually the entire area covered by LEDs). Also, the "unqiue ID" field can be left empty to have a unique ID generated automatically.

Bugfixes

  • p44script: fix bug in httprequest() when using JSON request definition with user and password field for http auth (did not work, but using server@user:password URL syntax always did).
  • p44features: fixed bug in resource access path handling that prevented e.g. indicators to load view configs stored in the default indicator resources dir.
  • animators: fixed "easeout" function, which was not at ease at all but did a sudden full range transition.
  • triggers: fix bug that prevented saving triggers in the web-UI in some cases.
  • p44script: Fix bug that caused every() trigger fire not as precise (up to 1 sec late) as it could be.
1.6.8
released 2023-06-09

Firmware 1.6.8

Firmware 1.6.8 for P44-LC devices is a maintenance release for firmware release 1.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.

Changes since production version 1.6.6

Bugfixes

  • click handling: dimming no longer stops running scene actions (especially for scene scripts providing effects that should be ongoing but still be dimmable)
  • Animators: fixed bug that caused spurious glitches (animators seemingly not running or running too fast)

Improvements

  • Enocean: add support for D2-07-00 door lock status profile.
  • Channel transitions: improved wraparound channels (such as "hue") to allow full circle transitions in one step.
  • Analogio: Added CWWW lights, add WebUI support for creating Linux-PWMChip-based lights.
  • p44lrgraphics: add support for multiple fonts, for now 7x5 and 8x5 but mechanism in place for bigger sizes, add support for french accent characters with basic mechanism in place for handling any UTF-8 codepoint in fonts.
  • p44script: added foreach statement
  • p44script: answer() functions for web requests and feature requests now also accept an error value as argument to send back to the API caller.
  • p44script: Added digitalbus() to combine multiple GPIOs to input or output a digital value
  • p44script: all time getter functions such as hour(), month(), sunrise() etc. now accept a epoch timestamp argument. Also epochtime() function allows constructing epoch timestamps from date components.
  • LED chains: more led layout (R,G,B,W ordering) options
  • LED chains: reworked update timing engine, is now more precise, issues log warnings when display is likely to be jumpy or flickering due to limits in max LED output frame rate.
1.6.5
released 2022-09-06

Firmware 1.6.5 for P44-LC devices is a maintenance release for firmware release 1.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 1.6.4

General

  • 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.

Bugfixes

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

p44script

  • 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).
1.6.4
released 2022-03-21

Firmware 1.6.4 for P44-LC/AC devices is a maintenance release for firmware release 1.6. It essentially releases support for specific hardware, and includes some 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 1.6.2

hue

  • 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.

DALI

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

EnOcean

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

General

  • 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.

Logging

  • 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.

p44script

  • 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.
  • 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.
1.6.2
released 2021-11-29

Firmware 1.6.2 for P44-LC/AC devices is a maintenance release for firmware release 1.6. It essentially releases support for specific hardware, and includes some 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 1.6.0

  • Special Hardware Support: now direct access to i2c, SPI and modbus peripherals is possible from p44script (userlevel >=1 required)
  • p44script: random() function can now deliver discrete values in a specified interval, such as integers, halves etc.
  • 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-LC-LED and P44-LC-X only)
1.6.1
released 2021-11-15

Firmware 1.6.1 for P44-LC/AC devices (and 2.6.1 for P44-DSB) is a maintenance release for firmware release 1.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 1.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)
1.6.0
released 2021-09-30

The firmware 1.6.0 for P44-LC/AC devices (and 2.6.0 for P44-DSB) 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 1.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.

DALI

  • 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).

Scripting

  • 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).

General

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

Show beta releases