Custom ZDDX device description files and flowchart for Philio 4-in-1 PST02-A and Qubino DIN dimmer ZWave devices

If you’re like me experimenting with home automation you’ll certainly have come across Philio’s 4-in-1 Multisensor PST02-A/B/C devices. They unite multiple functions:

  1. Door/window sensor (PST02-A, PST02-C)
  2. PIR motion detection (PST02-A, PST02-B)
  3. Illumination sensor (all three)
  4. Temperature sensor (all three)

Unfortunately it’s not only their Website that lacks any useful information, the supplied manual (available online at vesternet.com, eedomus.com and zwave.ie) is a prime example of Taiwan English that is very hard to understand. For example:

The PIR motion re-detected interval, in the “Test Mode” fixed to 6 seconds. In the “Normal Mode”, it according to the setting of the configuration NO. 8.

This makes use of the device quite challenging given that it is actually give flexible and powerful. Luckily the manual has some flow charts that give some hints. It gets way worse, however, in parts of the description of configuration parameter Nr. 6:

Bit 0 Disable magnetic integrate illumination to turn ON the lighting nodes in the association group 2. (1:Disable, 0:Enable) PST02-A, PST02-C
Bit 1 Disable PIR integrate illumination to turn ON the lighting nodes in the association group 2. (1:Disable, 0:Enable) PST02-A, PST02-B
Bit 2 Disable magnetic integrate PIR to turn ON the lighting nodes in the association group 2. (1:Disable, 0:Enable) PST02-A only

Got it? No? Welcome to the club, you’re not alone! There are a number of posts and pages on the Net discussing what the exact meaning of these three bits actually is.

This vesternet.com application note on using the sensor with VERA suggests that Bit 0 and Bit 1 would apply to disable lighting the sensor’s red LED when one of the two events happen — however the red LED normally does not light at all unless you’re in Test mode or low on battery, so that doesn’t make sense. And Bit 2 would mean “Do not combine PIR and door sensors” — now what is that supposed to mean?

What is rather clear is that these bits influence which events result in sending a “Basic Set” command to the devices in association group 2, telling these to turn on (by contrast to configuration parameter 5 bit 2, which disables Door/window change detection completely, and configuration parameter 3, setting the PIR sensitivity, where a value of 0 also completely disables PIR motion detection). Accordingly, bit 0 applies to for door/windows events (explaining why it is of no use with the PST02-B variant) and bit 1 applies to PIR motion events (explaining why it is of no use with the PST02-C variant).

Bit 2, however, remains a mystery: useful on the PST02-A variant only, it could be that setting it disables both but that is pretty redundant as one could just set bits 0 and 1 to 1 just as easily.

My observation is a different one: in my experiments with my PST02-A, it showed that I had to explicitly set Bit 2 to 1 for any of the other two bits to have any observable effect. The bit combinations 010, 100 and 110 did not have any effect, it had to be 011, 101 and 111.

This is what I document in my custom PST02 ZDDX file for use with the RaZberry software. I’ve also completely rewritten the option descriptions into proper English, making the PST02 way more accessible than when using the default file downloaded from the pepper1.net database (which also has a message “This database is not maintained anymore and will be shut down shortly. Please use the Z-Wave Alliance Product Catalogue as an alternative.”).

But wait, there’s more! Because the configuration settings are so comprehensive, I’ve created an all-in-one flowchart for the PST02-A (draw.io XML source file) that shows very nicely a.) the inner workings of the sensor and b.) which configuration parameter affects what. The flowchart and its source are licensed CC-BY-SA.

In addition, I’ve created a ZDDX file for the Qubino DIN dimmer device. This currently uses the manual’s English, eventually I might go and rewrite it into proper English, too.

All the files are available on Github — feel free to fork and send a PR!

Flashing a Huawei E3372h 4G LTE stick from Hilink to Stick mode

The Huawei E3372 is quite a popular LTE stick: it’s widely available (in retail stores, on eBay and also in branded variations, eg. “Telekom Speedstick V”, “Megafon M150-2”) and rather affordable (currently starting at €60 in Germany). It features a LTE Cat 4 modem supporting up to 150 MBit/s download and up to 50 MBit/s upload speeds, falls back to (DC-)HSPA(+), UMTS and EDGE, if necessary, and has quite small dimensions (88m x 28mm x 11.5mm). Continue reading “Flashing a Huawei E3372h 4G LTE stick from Hilink to Stick mode”

Changing Dell Wireless 5809e / Sierra Wireless EM7305 USB composition (MBIM, QMI, AT interface, NMEA)

Here’s a small update to my post from last year on Dell Wireless 5809e support in Linux – a followup. Continue reading “Changing Dell Wireless 5809e / Sierra Wireless EM7305 USB composition (MBIM, QMI, AT interface, NMEA)”

Using your Raspberry Pi Zero’s USB wifi adapter as both Wifi client and access point

The Raspberry Pi Zero captivates with its small dimensions. This comes at a cost, however, with only one micro USB port available for peripherals of any kind. In this scenario you’ll probably think twice about what you connect to that port. “A USB hub” may sound like a natural choice but if you’re like me, you’ll want to carry the gadget around a bit and minimize the number of accessories.

Now there are solutions to stack a USB hub onto the Pi Zero, eg. Circuitbeard’s one or Richard Hawthorn’s one, but actually I don’t want to carry around a USB keyboard, especially if I have no HDMI-capable display around at all times. Instead I want to login onto the Pi via Wifi while still having Internet connectivity even when not at home. Thus I want the Pi to be an access point AND maintain a Wifi client connection at the same time. This is rather easy to do with two USB wifi adapters — but with the Pi Zero we’ll have to do with a single one! Continue reading “Using your Raspberry Pi Zero’s USB wifi adapter as both Wifi client and access point”

Market overview of USB Wifi adapters based on Atheros chipsets

When looking for Wifi adapters, there are reasons why you would not just go ahead and buy whatever your favorite $DEALER has in stock. If you have some experience with Wifi adapters and drivers, especially under Linux, you’ll know that in general Atheros chips are what you want. They have a long tradition of both feature set and decent drivers: the old MadWifi drivers were the first Wifi drivers to actually support virtual interfaces on Linux (yes, MadWifi ha issues of its own with its binary HAL explaining why it never got merged into the kernel). Continue reading “Market overview of USB Wifi adapters based on Atheros chipsets”

tslib not recognizing ft6236 touchscreen due to missing ABS_PRESSURE capability

In my earlier post on Complete rotation support for the Adafruit PiTFT 2.8″ capacitive touchscreen display I described that support for the touchscreen has landed in the mainline kernel in form of the ft6236 driver. I also described that my test program would work correctly now. Continue reading “tslib not recognizing ft6236 touchscreen due to missing ABS_PRESSURE capability”

Complete rotation support for the Adafruit PiTFT 2.8″ capacitive touchscreen display

In my previous post, I introduced the PiTFT 2.8″ capacitive touchscreen display and showed some test code. If you played around with that, you might have noticed that with the default /boot/config.txt setting of rotate=90 the display is a landscape mode. Continue reading “Complete rotation support for the Adafruit PiTFT 2.8″ capacitive touchscreen display”

Getting started with the Raspberry Pi 2 and a Adafruit PiTFT 2.8″ capacitive touchscreen display

“We live in an age when unnecessary things are our only necessities” (Oscar Wilde, “The Picture of Dorian Gray”)

Like many others, I bought another Raspberry Pi 2 to play around with, together with an
Adafruit 2.8″ PiTFT capacitive touchscreen
(note that Adafruit has various variants of displays that differ only in details such as resistive or capacitive touchscreen and Raspberry Pi 2 compatibility). Naturally one will like to use the display in both landscape and portrait orientations. Continue reading “Getting started with the Raspberry Pi 2 and a Adafruit PiTFT 2.8″ capacitive touchscreen display”

Workaround for broken O2 Micro SD card reader support since Linux kernel version 4.1.8

On my Dell Latitude E7450 notebook I regularly update to current versions of the Linux kernel. Along with such a Kernel update my notebook’s SD card reader could no longer be initialized properly: Continue reading “Workaround for broken O2 Micro SD card reader support since Linux kernel version 4.1.8”