Skip to content

Adaptations for a Tebis TS System

wvhn edited this page Jan 14, 2020 · 14 revisions

The Tebis TS system is an older KNX-like bus system using the KNX bus hardware but proprietary data formats. The system can not be programmed via ETS but by a special control unit integrated into the installation cabinet. Pushbuttons on the control unit and the actuators make it easy to program the whole installation by hand but functionality is limited.

Connected to the bus over the ROT TPUART module and with the eibd daemon installed, the Raspberry Pi can listen on and write to the bus. Group adresses can now be identified by pressing each individual pushbutton in the house and recording the result with the command groupsocketlisten ip:127.0.0.1

#Data Formats ##Light Switches Unfortunately, data formats are not compatible to the KNX standards. The bus interfaces behind the pushbuttons (or the control unit ?) code the ID of the respective input channel into the first four bits of the data byte. The TS 304 pushbutton interface with 4 input channels for example, delivers the HEX values

 00, 10, 20, 30 for "off"   
 02, 12, 22, 32 for "on"

each according to the input channel used. Smarthome.py can of course write values accordingly to the bus but as soon as two or more pushbuttons on different input channels are linked to the same actuator, Smarthome.py not always receives the right status of the group address via KNX_listen because Smarthome.py just knows one single status value each for "on" and "off". On the other hand, the Tebis TS system accepts the values 02 and 00 for "on" and "off" on all group addresses.

To solve this issue, I have introduced a new data point KNX_DPT=5999 which ignores the coded input channels by applying an AND operator with the argumet 0F Hex (0000 1111 Bin) in the decode routine. This has been added to the KNX plugin:

 def de5999(payload):  
     # artificial data point for tebis TS  
     if len(payload) != 1:  
         return None  
     return struct.unpack('>B', payload)[0] & 0x0f  

The encode routine "en5999" can be copied from the dpt 5. Both routines then have to be made available in the selector arrays at the end of the plugin.

With this modification, compatility with smarthome.py is acchieved but all items for Tebis TS need to be declared with data type "NUM". I am planning to provide the patch in the code section of github, soon.

##Shutter Actuators## The shutter actuator TS 220 is used to control the shutters (blinds) on the windows. If anyone can provide the documentation for this actuator, please notify me on https://knx-user-forum.de/member/34334-wvhn.

Each shutter has only on group address which receives all commands coded in one byte:

 Bits 7 (MSB) and 6 most likely not relevant  
 Bits 5 and 4 code the input channel numbers of the pushbutton interface  
 Bits 3 and 2 represent the direction of motion (01 = up, 10 = down)  
 Bits 1 and 0 code the pushbutton action (00 = long press, 01 = release, 11 = short press)  

Also here it is sufficient to write the four least significant bits to the bus from Smarthome.py, using the same KNX_DPT=5999.

Some changes need to be made to the smartvisu widgets. I'll provide these here at a later date. Please contact me on https://knx-user-forum.de/member/34334-wvhn if you need assistence.