Wiring Editor
The Wiring Editor is a tool to create logical connections (wirings) between HSYCO's inputs and outputs. It can be used, for instance, to quickly and easily make a button turn on/off a light or control a dimmer or an automation or, again, activate a scenario. It provides for a set of functionalities which are often implemented in home automation installation without having to resort to complex programming.
The Wiring Editor is accessible from the Manager or by directly accessing the the "wiring" Project page.
Contents
Inputs and Outputs
An input is something that triggers an event. It can be: a readable I/O Server's datapoint, a User event (e.g. an event triggered by a User button), a scheduler event or a group of inputs.
Inputs are divided into 2 categories:
- Binary (0/1)
- those whose value can be "0" or "1" (e.g. a button), generally used to activate/deactivate an output or a scenario
- Level
- those whose value correspond to a general numeric value (e.g. a sensor), used, for instance, to set an output to a specific level.
An inputs group corresponds to the logical "or" of the inputs belonging to the group; i.e. whenever an input belonging to a group triggers an event, the group will trigger an event with same value. Input groups can be used, for instance, to activate a light from two different buttons.
An output is something on which is possible to perform an action. It can be: a writable I/O Server's datapoint, a User event or a group of outputs.
Outputs are categorized as:
- On/Off
- they accept a value of "0" or "1". As an example, an On/Off output can be an I/O datapoint representing a light, but also a datapoint to arm/disarm an area of a security system
- Dimmer
- they are generally I/O datapoints to control a dimmable light; accept the values "on", "off" and levels values from "1%" to "100%"
- Blind
- they are generally I/O datapoints to control blind automations and accept the values "up", "down" and "stop".
An output group connects together a set of outputs. Writing a value to an output group will result in writing that value in all the members of the group. As we will see later, output groups are also used as a target for scenarios.
First Configuration
When the Wiring Editor is first used it will display a list of inputs and outputs corresponding to the datapoints of the configured I/O Servers. Generally speaking, whatever is commonly used as input or output will be listed in the respective column.
This table shows the I/O Servers for which inputs and outputs are automatically detected:
I/O Server | Inputs | Outputs |
---|---|---|
Domino | all input datapoints | all output datapoints |
Contatto | all input datapoints | all output datapoints |
MyHome | light and automation datapoints | |
KNX | all datapoints excluding virtual ones | all datapoints including virtual datapoints |
HWg | all input datapoints | all output datapoints |
Dummy | all datapoints |
All inputs and outputs will have their names set to their datapoint ID and will have no type defined. The first steps to do before creating wirings are: deleting from the lists all datapoints which will not be used here, adding any additional datapoint not originally included and assign a descriptive name and a type to all inputs and outputs.
After the first time that an input or an output will be added or removed, HSYCO will no longer automatically update the respective list if, for instance, new I/O Servers are added.
Wirings
A wiring represents a logical connection between one or more inputs and one output (which may be a group). It is mainly characterized by its output type, i.e. the type of output it acts on, based on which different functions are provided. The activation of a wiring occurs every time one of its inputs triggers an event and, depending on its function, will result in the modification of the output's status.
On/Off Wiring
This wiring acts on "On/Off" outputs and provides the following functions:
- Toggle
- to invert the value of the output when activating a single input. The option "on" specifies when to activate the wiring: if set to "1" or "0" the wiring will be activated when the input triggers an event with the specified value; if set to "change" the wiring will be activated at each input event
- 2-Ways
- to control the output using 2 inputs: one for the "on" command and the other for the "off" command
- Push-button
- to control the output with a single input used as push-button: the output will be activated only when the input is active (e.g. while the button is kept pressed), the following options can be specified:
- Delay: set the delay period, in seconds, after which the command is sent to the output. If the input is active for a period shorter than the delay, no command will be sent
- Hold: set the maximum time, in seconds, after which the output is deactivated
- Direct
- to have the output follow the state of an input
Dimmer Wiring
This wiring acts on "Dimmer" outputs and provides the following functions:
- Cycle
- to control the dimmer with a single input: a short activation of the input (e.g. short press on a button) will send on/off commands, while a long one (e.g. keeping a button held down) will dim up or down
- 2-Ways
- to control the dimmer using 2 binary inputs: one for the "on" command (short activation) and to dim up (long activation) and the other for the "off" command (short activation) and to dim down (long activation)
- 3-Ways
- to control the dimmer using 3 binary inputs: one to dim up, one to dim down, and the last one to toggle the on/off commands
- Level
- to send a level command to the dimmer. It can be used to have the dimmer following the value of a level input or to set the dimmer to a fixed level when activating a binary input. The "ratio" option can be used to specify the multiplicative factor to apply to the value of the input. Use this option for adjustments between different scales or to set the fixed level if the wiring activation is triggered by a binary input
Blind Wiring
This wiring acts on "Blind" outputs and provides the following functions:
- Cycle
- to control the blind automation with a single binary input: a short activation of the input (e.g. short press on a button) will activate the blind (with direction up or down depending on the current position) and will keep the blind to roll until the end is reached or the input is activated again. Keeping the input active for longer than a second (e.g. keeping a button held down) will activate the blind until the input is released. If the "Manned" option is checked the output will be activated only while the input is active, i.e. to move a blind automation it will be required to keep the input button held down; the functionalities activated by short activations of the input will be disabled.
- 2-Ways
- to control the blind using 2 inputs: one for the "up" command and the other for the "down" command. A short activation of the input will keep the blind to roll until the end is reached or the input is activated again, while keeping the input active for longer than a second will activate the blind until the input is released. As before, the "Manned" option disables the short-activation functions
- 3-Ways
- to control the blind using 3 inputs: one to send the "up" command, one to send the "down" command, and the last one to stop the movement of the blind
Scenario Wiring
A scenario wiring is used to set an output (most likely an output group) to a pre-recorded state when an input is activated. Follow these steps to create a scenario:
- Most probably you will want to create a scenario involving more than one device, thus we need to create a group with all the outputs we want to act on. It can be an heterogeneous group: its output members can have different type. If you want to create a scenario involving only an output, ignore this step
- Set the output(s) to the state you want to record
- Create a scenario wiring and select the activating input and the target output.
When the scenario wiring is created, the recorded status of the output(s) will be displayed. To edit the recorded state of the output(s), access the edit panel of the wiring and click on "Record" when the output(s) are set to the wanted state.
Using the Interface
To edit any of the elements in the three columns (inputs, outputs or wirings) long-press on it until the the edit panel appears. From here you can
A simple click on an element will show all the connected elements. For instance, to see which wirings are acting on an output, click on the output itself: the wirings column will show only the wiring acting on it and the inputs column only the inputs activating those wirings. To reset the interface click on the input again.