DIY P44-LC-X or P44-DSB-X

Attention - Uncorrected machine translation

This English version of the following text is currently 100% machine translated. In case of ambiguity, please refer to the German version (which in this case is the original written by hand).

P44-LC-X and P44-DSB-X are free firmware images (files) that can be copied to an SD flash card to use a RaspberryPi either as a digitalSTROM gateway or as a standalone (light) control device.

Matter support available as beta!

The P44-LC-X and P44-DSB-X image are also available as beta versions with matter integration (for details see here)

What does it take?

With all that ready, you're good to go:

flash the SD card.

The following video shows the steps - on macOS - but this also works very similar on Linux and Windows:

Now the SD card is ready and can be inserted into the RaspberryPi!

Start the Raspberry Pi and find the web interface in the LAN.

Now the Raspberry can be connected to the LAN (with an Ethernet cable) and started with the SD card inserted. If you have an HDMI screen connected, you can watch the startup process, which takes about 30 seconds - but normally this is not necessary. P44-xx-X images also start without a screen connected. All operation is done over the network with a web browser.

Like many other network devices, P44-xx-X obtains an IP address via DHCP from the router in the LAN. If this IP address is known, it can be entered in a browser and the web interface appears (or the login prompt, see below).

But usually the IP address is not known at the beginning. How to find the device in the network?

If the above does not work, there are two other methods:

First steps

Login to the web interface.

Anyone who has found the right URL for the web browser via one of the methods described above will find themselves facing a login prompt.

After successful login the start page appears. For P44-LC the web interface is dark, for P44-DSB it is light.

P44-xx-X default screens

For many applications nothing more than this web interface is needed. But with the in the following section described access via ssh the OpenWrt-Linux command line can be used directly for advanced configuration, experiments, installation of additional OpenWrt packages and much more. It is worth to try this possibility, too.

Change password!

A P44-DSB-X or P44-LC-X device is connected to the LAN and therefore normally also to the Internet. Depending on the configuration of the LAN and the device, it can also be reached from the Internet. This is why the password for the web interface should be changed to an individual password! This can be done on the System tab with the button Change Web access password....

P44-xx-X web password change

Login via ssh - command line.

Access via ssh, while not necessary for most applications, is often convenient. In particular, via ssh the log of the device can be displayed continuously instead of having to load the corresponding pages in the web browser over and over again.

Assuming 1.2.3.4 to be the IP address of the P44-xx-X, the ssh link is

ssh://root@1.2.3.4

On operating systems with Unix command line (macOS, Linux, FreeBSD, OpenBSD, Windows with cygwin or msys installed etc.) an ssh connection can be established simply with

ssh root@1.2.3.4

can be opened. On Windows this standard tool is missing, you can help yourself with putty to help.

The default password at P44-DSB-X and P44-LC-X for this root login is eXperiment. If the login works, it looks something like this:

BusyBox v1.30.1 () built-in shell (ash)

  _______ ________ __
 | |.-----.-----.-----.| | | |.----.| |_
 | - || _ | -__| || | | || _|| _|
 |_______|| __|_____|__|__||________||__| |____|
          |__| W I R E L E S S F R E E D O M
 -----------------------------------------------------
 P44-LC-X 1.6.2, r11364-ef56c85848
 -----------------------------------------------------
root@p44_lc_x_40472953:~#

Depending on the operating system, there are also more convenient ways to click an ssh connection using the DNS-SD or uPnP-SD info instead of entering the IP address manually. The Terminal.app of macOS for example shows available devices in the LAN under the menu item New remote connection... (Cmd-Shift-K). In putty you can save connection data to have to enter it only once.

Change password!

A P44-DSB-X or P44-LC-X device is connected to the LAN and therefore normally to the Internet. Depending on the configuration of the LAN and the device, not only the web interface but also the ssh port can be reached from the internet. Root access via ssh gives complete control over the device, so at this point it is even more important to change the password!. This can be done by entering passwd (Enter). After that the new password will be requested and checked in a second step.

So it is recommended to set your own root password first:

root@p44_lc_x_40472953:~# passwd
Changing password for root
New password: (invisible input)
Retype password: (invisible input)
passwd: password for root changed by root

Show running log via command line

To see what the device is doing while experimenting, it is handy to have a running log in a console/terminal window. For this you can use the command p44l. Entered without parameters it shows the last 10 log lines and all new ones (until abort with Ctrl-C).

root@p44_lc_x_40472953:~# p44l
[2021-12-14 18:40:16.779 N] === collected devices from all vdcs -> initializing devices now

[2021-12-14 18:40:16.779 N] vDChost 39497DAA195757CFC0A27D142CDD84C000 (RPi 3B+ Lego blue): Starting global main script
[2021-12-14 18:40:16.800 W] LEDchains: Specified area needs 23 more LEDs than actually are available: WS2813.GRB:rpi:300:0:17:0:19:X
[2021-12-14 18:40:16.816 N] vDChost 39497DAA195757CFC0A27D142CDD84C000 (RPi 3B+ Lego blue): Global mainscript script finished running, result=undefined [undefined] // no return value
[2021-12-14 18:40:16.816 N] === initialized all collected devices
[2021-12-15 11:47:55.755 N] avahi: starting client
[2021-12-15 11:47:56.686 N] discovery: successfully published services as 'plan44.ch P44-LC-X "RPi 3B+ Lego blue" #40472953'.
[2021-12-15 12:17:49.972 N] vDC 72A98353DB885951800CECB2CB0FB17A00 (RPi 3B+ Lego blue hue): starting in-operation recollect
[2021-12-15 12:17:49.973 N] vDC 72A98353DB885951800CECB2CB0FB17A00 (RPi 3B+ Lego blue hue): in-operation recollect done
^C

p44l can also be called with a parameter, e.g. p44l 6, to change the loglevel and then display the log. By default, the loglevel is set to 5, which means LOG_NOTICE (only important state changes are displayed). For more detailed tracking of what is happening, level 6, LOG_INFO is recommended. Super detailed is level 7 LOG_DEBUG, but then the performance may suffer because of the many log output. The loglevel can also be changed in the webinterface, as well as via the p44script functions loglevel() and logleveloffset(). With p44l -h even more options of p44l are displayed.

Load latest firmware

The firmware for P44-DSB and P44-LC is under continuous development. However, the disk images available for download are not continuously updated, so the Check for new firmware version... function in the System tab should be called after commissioning to install the latest version. The latest release notes can also be found here.

Those who always want to try out the very latest enhancements and improvements can upon request via email by providing the serial number to unlock his/her device for beta testing versions. The (English) release notes of the beta versions can be found here).

What works out-of-the-box?

Both P44-DSB-X and P44-LC-X are intended for home-built lighting, sensor and input devices. That is, "out of the box" there is not too much to try yet. The interesting things will come when e.g. smart LED strips are connected to the RaspberryPi. See the instructions under projects.

There are two exceptions:

Simulated color lamp with console output

After creation a color lamp appears in the list, which can also be adjusted in brightness and color via the gear icon. In the running log ( see above )(#logging) it will look like this

[2021-12-15 17:19:07.324 N] --- added device: 9D126FB8D8BB5A98800108D97590E47A00 (not yet initialized)
[2021-12-15 17:19:07.425 N] --- initialized device: vdSD 9D126FB8D8BB5A98800108D97590E47A00 - NOT YET announced
                            - Output Channels: 6
                            - has output printing channel value(s) to console
[2021-12-15 17:19:07.547 N] vdSD 9D126FB8D8BB5A98800108D97590E47A00 (Test-Light): changes to PRESENT
>>> Console device Test-Light: channel brightness set to 47.45, transition time = 0.000 Seconds: ########################
>>> Console device Test-Light: channel hue set to 3.60, transition time = 0.000 Seconds: #
>>> Console device Test-Light: channel hue set to 21.60, transition time = 0.000 Seconds: ###
>>> Console device Test-Light: channel hue set to 43.20, transition time = 0.000 Seconds: ######
>>> Console device Test-Light: channel hue set to 64.80, transition time = 0.000 Seconds: #########
>>> Console device Test-Light: channel hue set to 72.00, transition time = 0.000 Seconds: ##########
>>> Console device Test-Light: channel hue set to 75.60, transition time = 0.000 Seconds: ###########

What next?

If you have chosen a P44-DSB-X, you are probably already familiar with the concept of rooms and scenes from digitalSTROM.

In case of the standalone P44-LC-X it works very similar, only there is no higher-level home automation system, but everything takes place in the P44-LC-X itself - creating rooms, assigning devices (lights, buttons, etc.) to the rooms, and then creating scenes in the rooms. How to do this is described in the Manual for P44-LC-DE (only the explanations for DALI and EnOcean are not relevant for a do-it-yourself P44-LC-X).

If everything worked out so far and plusminus is clear (the details will clarify with practice...), now it's time to tackle a project!

For discussions and questions about P44-DSB-X and P44-LC-X there is also the corresponding section in the plan44.ch forum.

Projects.

Build and configure hardware

Further planned tutorials

Feedback and suggestions about this tutorial gladly accepted!