KNX Automation Safety Interlock

Background

The electric roller blinds for the electrically-operated clerestory windows in the office are a relatively recent addition. The summer sun is naturally shaded by the roof overhang but in spring and autumn the mid-morning sun comes in and it’s good to have the option to keep that off the computer screens. The complication is that if the windows are open and the blinds try to close they’ll get caught in the window mechanism; similarly (though less of a problem) if the blinds are down but the windows try to open they’ll push the blinds out of the way.

If the clerestory windows in the office are open the blinds won’t close

This isn’t a huge problem when controlling everything manually but with the blind closing being automated (at sunset) there’s a significant risk of the windows being open when the blinds try to close.

Fortunately, I remembered seeing some quite comprehensive integration options for the KNX control actuators for the windows and (especially) the blinds which can automatically ‘block’ a request to move either the blind or the window if the other unit is in an incompatible position. (On balance, this seems the better way to go – rather than trying to automatically close the windows when trying to close the blinds; the windows are open for a reason.)

KNX Actuator Details

The window motors and the blind motors are electrically almost identical – they’re 230V AC devices with four-wire cabling (two switched Live connections – one for Close and another for Open – plus Neutral and Earth). In terms of KNX control these all treated as ‘Shutters’ and generally they’re either fully Open or fully Closed although it’s possible to open them to e.g. 25% or 66% (which is achieved by running the motor for the relevant portion of the time taken to fully open or fully close).

The KNX control actuators for the Blinds are MDT JAL-0810.02 units (Shutter Actuator 8-fold, 8TE MRDC, 230V AC, 10A) whereas the control actuator for the Windows is a MDT AKU-1616.01 (Universal Actuator 16-fold, 8TE MRDC, 230V AC, 16A). The only reason for these actuators being different models is that there are 5 windows which is an annoying number when the actuators come in 2-, 4- or 8-way variants. The more flexible AKU actuator allows adjacent pairs of channels to operate as Up / Down Shutter controllers (with the same functionality as a JAL actuator) which consumes 10 of the 16 ways; the other 6 ways are then available to be used as simple relay switching channels (some are connected to non-dimmable lighting circuits).

The actuators can be configured to respect a set of ‘Alarm’ inputs – for Wind, Rain and Frost (as reported by a KNX-connected weather station) and either close or open in response to those inputs – presumably to e.g. close windows if it starts raining. There’s also an option to configure automatic blind adjustment to block out direct sunlight. Those are all more complex than I’m looking for here – basically I want to stop the blinds closing unless the windows are already closed.

Control Logic Implementation

The desired logic is relatively simple:

  • For the blinds: ignore any request to close the blinds unless the window is already fully closed
  • For the windows: ignore any request to open the window unless the blind is already fully open

The ‘block’ input on the controller channel is a 1-Bit data input type so it needs to be connected to a 1-Bit output. The position of the window is reported via “Status current position” but that is a 1-Byte output showing the position as a percentage, but there’s also “Status upper Position” and “Status lower Position” which are 1-Bit values. When closed, the window is considered to be in its “upper” position.

Finding a combination of settings that worked as required took a bit of trial and error but I’m currently running the configuration shown in the screenshot from ETS (the KNX configuration software) below.

KNX ETS Group Address links for Blind 'Blocking'
KNX ETS Group Address links for Blind ‘Blocking’

In summary:

  1. There needs to be a new Group Address, in addition to the normal 5 addresses used for these shutters; I’m using the 6 address and calling that “Status Closed”
  2. The input comes from the “Status lower Position” indicator on the Window
    • The status bit gets Set when the window is fully open, which is normally the case when the windows are open for ventilation but leaves open the possibility of the blind trying to close when the window is e.g. 90% open
  3. The output goes to the “Block functions” setting on the Blind, causing the blind to ignore all commands while this bit is Set

In order for the “Block functions” item to be available, it’s necessary to enable it in the Parameter settings for the relevant Channel on the Controller. In particular, the “Advanced function” needs to be “active”.

Parameter page for “Alarm and block functions”

Then, under “Advanced block functions”, activate the Object “Block functions” and specify that this should block manual operation. On reflection, it’s probably better to block all the manual operation items.

Parameter page for “Advanced block function”