Thanks for signing-up! You will receive an email with further instructions to activate your account!

username already taken
You already have an account? .


Forgot password?
Don't have an account yet? Register now for using the UI-Designer and the forum or creating projects.


Project Information

Attached UI-Designer Configs
netio-project to control X10 home automation actuators like switches and shutters.


I use netio to control my X10 home automation on my linux router.
X10 is a powerline one-way communication to manage various actuators. (There are two way communication possible, but the equipment is very expensive)
You need a computer interface to send the powerline commands.
There are two common models from MARMITEK:
CM11: Old one, serial line, USB integrated PL2303 serial adpter.
CM15Pro: new model with an USB interface.

The CM11 is run via a C-program x10d. The commands are sent via a tcp socket (1128). There are no extended commands possible.
x10d Readme file

The CM15Pro is run via a C-program mochad. The commands are sent via tcp socket (1099).
mochad project page

Devices are addressed with a House code (Letter A-P) and and devicenumber 1-16

I use the following codes:
Shutters: House code J (J1 - J10)
Heating control: House code H (H1)
Switches: Hose code L ( L2,L5)

The two UI-designer projects show how to communicate with both kinds of interfaces.

CM10 (x10d)
To switch a light on you send
and off

To switch several devices you can seperate the commands by blank:
L2Loff L6Loff

To send a command via netcat:
 echo 'L2Loff' | nc --send-only <IP> 1128

CM15Pro (mochad)
To switch an light on you send
 pl L2 on
and off
pl L2 off
Multiple commands are seperated ny newline ‘\n’.

To send a command via netcat:
echo 'pl L2 on' |nc --send-only <IP> 1099 

Shutters can be controlled via extended commands.
You can open a shutter in steps from 0-25 (0 -> close 25 -> fully open).
Open shutter half way:
pl J2 extended_code_1 0 2 12
This command can be send via a netio-slider to control the hight of the shutters.
To close all shutters of House code J one command is needed:
pl J2 extended_code_1 0 11
To open all shutters:
pl J2 extended_code_1 0 5
The angel of the shutter blades can be adjusted by DIM/BRIGHT command:
Close a small amount:
pl J2 DIM 3
Open a small amount:
pl J2 BRIGHT 3
(Please pay attention that the smallest usable DIM/BRIGHT command is 3 for the SW10 switches).

These two special functions are shown in the JSON example.

Example 1: CM11
This example shows a simple interface for shutters, lights heating and plug.
Due to a missing back-channels from the actuators, every command is sent twice. This makes it more robust.
There are some Up /Down buttons that control a group of shutteres (example: ‘Living back’ or ‘All shutters’

Example 2: CM15Pro
Due to the enhanced commands that are possible with this device, the shutteres can be controlled more sophisticated:

We can build a remote-control for netio using the enhanced features:
Up -> Opens a shutter
Down -> Closes a shutter
< -> DIMS a shutter
> -> BRIGHTS a shutter
A slider is used to adjust the hight

If we combine the commands we can send a long list to adjust all shutters for a sunny day:
Close the shutters to a special amount
wait 30-40 seconds
Open the shutters to put the blades parallel

An other funny function is a button to wake up the children:
Open the shutter 50%
Wait a little bit
Close the shutter again
Wait a little bit
Open the shutter completely

Hint: Since it is not possible to define more than 2 send commands via the ui-designer, it is directly defined in the JSON file (Here the special function sunny day):
"sends": [
            "pl J1 extended_code_1 0 1 6",
            "pl J2 extended_code_1 0 1 6",
            "pl J3 extended_code_1 0 1 0",
            "pl J4 extended_code_1 0 1 0",
            "pl J6 extended_code_1 0 1 0",
            "pl J7 extended_code_1 0 1 8",
            "pl J8 extended_code_1 0 1 0",
            "__wait 40000",
            "pl J1 dim 3\npl J1 dim3\npl J1 bright 3",
            "pl J2 dim 3\npl J2 dim3\npl J2 bright 3",
            "pl J6 dim 3\npl J6 dim3\npl J6 bright 3",
            "pl J8 dim 3\npl J8 dim3\npl J8 bright 3",
            "__wait 25000",
            "pl J3 dim 3\npl J3 dim3\npl J3 bright 3",
            "pl J4 dim 3\npl J4 dim3\npl J4 bright 3"