Difference between revisions of "MyHome"
Line 1,104: | Line 1,104: | ||
!Description | !Description | ||
|- | |- | ||
− | + | ||
|rowspan="6"|aux.''WHERE'' | |rowspan="6"|aux.''WHERE'' | ||
− | | | + | |rowspan="2"|1 |
|R | |R | ||
|on status | |on status | ||
Line 1,118: | Line 1,118: | ||
|turn on | |turn on | ||
|- | |- | ||
− | |0 | + | |rowspan="2"|0 |
|R | |R | ||
|off status | |off status | ||
Line 1,128: | Line 1,128: | ||
|turn off | |turn off | ||
|- | |- | ||
+ | |||
+ | |} | ||
=== CEN Modules === | === CEN Modules === |
Revision as of 16:49, 28 February 2014
MyHome is a proprietary bus system for home automation developed by BTicino. HSYCO fully integrates with MyHome using the OpenWebNet (OWN) protocol.
HSYCO supports all MyHome devices and features that the OWN protocol officially supports, including lighting, automation, scenes, AUX and CEN addressing, the temperature control unit and burglar alarm unit.
The bus architecture can be arranged as a single bus or with a riser and several local busses.
Contents
- 1 Communication
- 2 Gateway Configuration
- 3 L4686SDK Module
- 4 HSYCO Configuration
- 5 The Device Configuration Database
- 6 Datapoints
- 6.1 Gateway Module
- 6.2 Scenario Modules
- 6.3 Lighting: on/off Modules
- 6.4 Lighting: Dimmer Modules
- 6.5 Automation: Inter-locking Modules
- 6.6 Temperature Control: Central Unit
- 6.7 Temperature Control: Zones
- 6.8 Burglar Alarm: Main Panel
- 6.9 Burglar Alarm: Zones and Technical (aux)
- 6.10 Auxiliary Addresses
- 6.11 CEN Modules
- 6.12 CENPLUS Modules
- 6.13 F421 Load Control Unit
- 7 User Interface
- 8 Release Notes
Communication
HSYCO supports the Ethernet IP connection to MyHome through IP-based OWN gateways, including the F452, F453, F454, F453AV, MH200 and MH200N.
HSYCO also supports the L4686SDK module through an USB connection and an associated virtual serial port.
Gateway Configuration
The OWN gateway must be configured to allow open OWN connections from the IP address assigned to the HSYCO server.
L4686SDK Module
The L4686SDK interface module is connected to HSYCO using a USB cable.
The operating system creates a virtual serial port; its name depends on your HSYCO server configuration, and should be ttyUSB0 if there are no other devices connected to the USB ports.
You could also use the ftdi-n-n.n alias, that is unique for each physical USB port on the server. In this case, you should also list the full device name in the CommPortsList parameter.
L4686SDK Limitations
- L4686SDK firmware version 1.20.0 or later is required
- Not all protocol frames are supported. The I/O server has been tested with the following functions: scenarios, lights, automation, temperature control, AUX and CEN plus
- Check the L4686SDK documentation to know which functions are actually supported, also based on the L4686SDK firmware version
- The clock read and sync functions are not supported
- HSYCO only support the L4686SDK module on a single main bus; private raiser buses are not supported
- the USB connection cable should never be unplugged during normal operations. If the cable is unplugged, HSYCO will not be able to restore the connection to the L4686SDK until it is manually restarted.
HSYCO Configuration
Options
ID | Default | Values | Description |
---|---|---|---|
gui | true | true | enables automatic support of Web GUI objects to show the status of the system and intercept control buttons |
false | disables support for the Web GUI | ||
startupevents | false | true | generate IO events also during the driver’s start-up phase |
false | start generating events only after HSYCO is aligned with the current status of the system | ||
discovery | true | true | auto-detects MyHome lighting and automation devices that are connected to the bus and are fully operational, and automatically creates the list of all detected devices and individual data points in the systemtopo.txt file |
false | auto-detect is disabled | ||
tempzones[Note 1] | z1 ... z<n> | if you want to monitor and control temperature zones, all zone numbers should be listed with the tempzones option. Zone numbers should be separated by semicolons | |
language | en | en, it, fr | the language used for automatically generated GUI text fields |
- Note 1
- The 4695 four zone temperature control unit uses a zone address for the control unit itself. This address has to be marked as a special address in the tempzones parameter, enclosing it in round brackets.
For example:
tempZones=(32);33
defines a central unit having address 32, and an additional zone with address 33.
The MyHome I/O Server supports only one central unit for each SCS riser bus. |}
myhome.ini
The myhome.ini file is a specific configuration file located in the main directory (same directory as hsyco.ini or hsyco.jar).
This file is optional. It is only used to assign friendly names to the burglar alarm zones and technical alarms, so that these names are used in the GUI log and the security.log files.
If you have multiple My Home gateways with multiple burglar alarm panels, the parameters need to be defined for each system, using unique ids, according to the following table:
ID | Description |
---|---|
security.zone.<n> | the friendly name for burglar alarm zone <n> |
security.aux.<n> | the friendly name for burglar alarm technical alarm <n> |
The myhome.ini is automatically detected at start-up and automatically reloaded whenever it is modified.
For example, the following myhome.ini file is used to define a few friendly names of two distinct My Home systems:
mh1.security.zone.1.name=entrance mh1.security.zone.2.name=lobby mh1.security.aux.1.name=flooding mh2.security.zone.3.name=windows mh2.security.zone.5.name=driveway
The Device Configuration Database
The systemtopo.txt file contains the list of all lighting and automation devices that could be directly associated to graphic object in the Web-based user interface.
This file can be filled manually or automatically by HSYCO at start-up. To enable automatic discovery and automatic generation of devices’ information in the systemtopo file, use the discovery option in System Settings. The discovery feature is enabled by default.
This is an example of an automatically generated systemtopo.txt file:
(devices) mh.autom.82 : AUTOM ; VSHUT ; mh.autom.88 : AUTOM ; VSHUT ; mh.autom.93 : AUTOM ; VSHUT ; mh.autom.96 : AUTOM ; VSHUT ; mh.light.11 : LIGHT ; LIGHT ; mh.light.12 : LIGHT ; LIGHT ; mh.light.13 : LIGHT ; LIGHT ; mh.light.16 : LIGHT ; LIGHT ; mh.light.25 : LIGHT ; DIMMER ; DIMMER
Note that HSYCO can automatically detects dimmer modules if they are on when discovery is performed. If a dimmer is off, it will be listed as an ordinary on/off light module, and should be manually changed to DIMMER.
You should manually add comments and other optional parameters:
(devices) mh.autom.82 : AUTOM ; VSHUT ; driveway gate mh.autom.88 : AUTOM ; VSHUT ; awning mh.autom.93 : AUTOM ; VSHUT ; kitchen shutter mh.autom.96 : AUTOM ; VSHUT ; bedroom shutter
Also, if you want to use (button) objects in the Project Editor to control scenes, you should manually add scenes definitions in systemtopo.txt, as HSYCO can’t automatically detect scene modules and stored scenes:
(devices) mh.scene.94.5 : LIGHT ; SCENE ; close all shutters mh.scene.94.10 : LIGHT ; SCENE ; night mode
Datapoints
The naming convention HSYCO uses for the events and to control all MyHome devices is closely related to the MyHome addressing standards and the OpenWebNet protocol implementation.
In OWN, the standard monitor and command frames have the following format:
*WHO*WHAT*WHERE##
The WHO field defines the module’s family or function. WHAT is the state of a device, for example 0 for off and 1 for the on state of an on/off module. Finally, WHERE is the module’s address, including the local bus number if the module is not on the riser bus.
With few exceptions, this frame format translates to the following event format inside HSYCO:
IO servername.who.where = what
The WHO field in OWN frames is a number, while we use a literal string in HSYCO to make names easier to read.
The table below lists all supported WHO functions and the HSYCO’s corresponding literals that form the prefix of all IO data points.
OWN WHO | HSYCO Prefix | Function Description |
---|---|---|
0 | scene | scenario module |
1 | light | lighting module |
2 | autom | automation module (inter-locking) |
3 | load | load control |
4 | temp | temperature control |
5 | security | burglar alarm panel |
9 | aux | auxiliary address |
15 | cen | cen modules / addresses |
25 | cenplus | cen plus modules and dry contacts / IR modules |
The WHERE field in OWN is, in most cases, the numeric address of a module, eventually followed by #4#B for modules on local buses (B is the local bus numerical id). Group addressing has the WHERE field formatted as #G, where G is the group’s numerical id.
The table below defines the conversion rules between the OWN WHERE format and HSYCO’s data points format.
OWN WHERE | HSYCO Format | Description |
---|---|---|
N | N | HSYCO simply passes the where field back and forth with no changes |
#N | gN | group addresses are represented in HSYCO as a lowercase g followed by the group numerical id, from 1 to 9 |
N#4#B | lB.N | a lowercase “l” and the local bus id are prefixed to the base address |
#N#4#B | lB.gN | group addressing on local buses |
The WHAT field represents the value or action, and corresponds to the data point value in HSYCO. Each function supports a specific set of WHAT values.
Gateway Module
ID | Value | R/W | Description |
---|---|---|---|
connection | online | R | connection established to the OWN gateway |
offline | R | HSYCO can’t connect to the OWN gateway | |
frame | OWN raw frame | R | a frame event is generated on incoming frames, based on the <ioserver>.monitor setting (see below) |
W | send a raw OWN frame to the gateway | ||
monitor | none | W | the <ioserver>.frame data point is not set with monitored frames |
ignored | W | the <ioserver>.frame data point is set with monitored frames that are not recognized and translated to specific events | |
all | W | the <ioserver>.frame data point is set with any monitored frame | |
clock | sync | W | set the gateway clock to HSYCO’s current time |
read | W | read the gateway clock, and the delta with HSYCO’s time | |
yyyy-mm-dd hh:mm:ss | R | the gateway clock current time | |
clock.delta | integer | R | the delta time in seconds between the gateway and HSYCO clocks. A positive number means that the gateway clock is ahead of HSYCO |
Scenario Modules
ID | Value | R/W | Description |
---|---|---|---|
scene.MODULE scene.BUS.MODULE |
erase | R | all scenarios erased |
W | erase all scenarios | ||
lock | R | module is locked (cannot erase or record scenarios) | |
W | lock the scenario module | ||
unlock | R | module is unlocked (can erase and record scenarios) | |
W | unlock the scenario module | ||
unavailable | R | the scenario module is busy | |
full | R | the scenario module memory is full | |
scene.MODULE.SCENE scene.BUS.MODULE.SCENE [Note 2] |
1 | R | scenario activated |
W | execute scenario | ||
on | W | execute scenario | |
0 | R | scenario deactivated or cleared | |
W | deactivate scenario | ||
off | W | deactivate scenario | |
clear | W | clear scenario status, without sending the deactivate command to the module | |
record | R | recording | |
W | start recording | ||
end | R | end of recording | |
W | stop recording | ||
erase | R | the scenario has been erased | |
W | erase scenario |
- Note 2
MODULE is the scenario module address, from 01 to 99 (retain the leading 0).
BUS is the local bus ID, from 1 to 9, when the scenario module is on a local bus and not on the riser bus.
SCENE is the scenario number, from 1 to 32 (do not add a leading 0 for numbers less than 10).
The unavailable event is generated when the scenario module cannot accept commands. This usually happens when the module is recording a scenario and at the same time is asked to execute another scenario.
Lighting: on/off Modules
ID | Value | R/W | Description |
---|---|---|---|
light.WHERE | 1 | R | on status |
W | turn on | ||
on | W | turn on | |
0 | R | off status | |
W | turn off | ||
off | W | turn off | |
lock | W | lock (disable) | |
unlock | W | unlock (enable) |
When a module is locked, it doesn’t respond to any bus command except the unlock command.
Lighting: Dimmer Modules
ID | Value | R/W | Description |
---|---|---|---|
light.WHERE | 1 | W | turn on at last level |
on | W | turn on at last level | |
0 | R | off status | |
W | turn off | ||
off | W | turn off | |
X% | R | X% level | |
W | set to X% level | ||
X | W | set to X% level | |
X/Y | W | set to X/Y level | |
fault | R | load fault detected | |
lock | W | lock (disable) | |
unlock | W | unlock (enable) |
Dimmers level can be set between 20% and 100%, in 10% steps.
Automation: Inter-locking Modules
ID | Value | R/W | Description |
---|---|---|---|
autom.WHERE | unknown | R | the module’s status is unknown at this time |
offup | R | off in up position | |
offdown | R | off in down position | |
stop off 0 |
W | stop | |
up | R | going up | |
W | up/open command | ||
down | R | going down | |
W | down/close command | ||
lock | W | lock (disable) | |
unlock | W | unlock (enable) |
When the MyHome driver starts, and until an up or down command is sent to the module, HSYCO sets the data point value to unknown.
The offup and offdown status values do not represent the fully up/opened or down/closed position of the mechanical device controlled by the module, but just the fact that the module was commanding an up or down movement before being stopped.
Temperature Control: Central Unit
ID | Value | R/W | Description |
---|---|---|---|
temp.control | 0 | R | supervisor control of central unit disabled |
1 | R | supervisor control of central unit enabled | |
temp.zone.off [forced event] |
1 | R | at least one zone is set to off mode |
temp.zone.protection [forced event] |
1 | R | at least one zone is set to protection mode |
temp.zone.manual [forced event] |
1 | R | at least one zone is set to manual mode |
temp.fault [forced event] |
1 | R | generic fault |
temp.battery.fault [forced event] |
1 | R | central unit battery fault |
temp.mode | winter | R | winter mode |
W | set winter mode | ||
summer | R | summer mode | |
W | set summer mode | ||
temp.setpoint | off | R | off mode |
protection | R | temperature protection mode | |
<t> | R | when setpoint.mode=man, <t> is the temperature setpoint in C/10 | |
|
R | when setpoint.mode=auto, is the weekly program, from 1 to 3 | |
R | when setpoint.mode=scenario, | ||
<d> | R | when setpoint.mode=away, <d> is the number of days, from 1 to 255 | |
|
R | when setpoint.mode=holiday, is the weekly program to be set at the end of the day | |
temp.setpoint.mode | off | R | central unit is off |
protection | R | central unit is in temperature protection mode | |
man | R | central unit is in manual mode | |
auto | R | central unit is in automatic mode | |
scenario | R | central unit is in scenario mode | |
away | R | central unit is in away mode | |
holiday | R | central unit is in holiday mode | |
temp.command | off | W | turn the system off |
protection | W | set temperature protection mode | |
1 | W | set weekly program 1 | |
2 | W | set weekly program 2 | |
3 | W | set weekly program 3 | |
<t> | W | set to manual mode, temperature <t> (in C/10), for example t=215 is 21.5C | |
up | W | set to manual mode, raising the setpoint by 0.5C | |
down | W | set to manual mode, lowering the setpoint by 0.5C | |
holiday | W | set holiday program (returns to weekly program 1 at midnight) | |
holiday.<n> | W | set holiday program (returns to weekly program <n> at midnight) | |
away.YYYYMMDD | W | set away mode until the day passed as parameter, returning to weekly program 1 at midnight | |
away.YYYYMMDD.<n> | W | set away mode until the day passed as parameter, returning to weekly program <n> at midnight | |
away.<d> | W | set away mode for <d> days, returning to weekly program 1 at midnight | |
away.+<d> | W | increases the number of away days by <d>, starting from 2 days | |
away.-<d> | W | decreases the number of away days by <d> | |
away.<d>.<n> | W | set away mode for <d> days, returning to weekly program <n> at midnight | |
scenario.<n> | W | set scenario mode <n> |
Temperature Control: Zones
In the following table, <z> is the zone number, from 1 to 99.
ID | Value | R/W | Description |
---|---|---|---|
temp.<z>.cooling.status | 0 | R | zone actuator off in summer mode |
1 | R | zone actuator on in summer mode | |
temp.<z>.heating.status | 0 | R | zone actuator off in winter mode |
1 | R | zone actuator on in winter mode | |
temp.<z>.fan | off | R | fan is off |
min | R | slow fan speed | |
med | R | medium fan speed | |
max | R | fast fan speed | |
temp.<z>.mode | winter | R | winter mode |
summer | R | summer mode | |
temp.<z>.setpoint | 0 | W | turn zone off |
off | W | turn zone off | |
auto | W | set zone to automatic mode | |
protection | W | set zone to temperature protection mode | |
up | W | set zone to manual mode, raising the setpoint by 0.5C | |
down | W | set zone to manual mode, lowering the setpoint by 0.5C | |
<t> | R | current temperature setpoint <t> (in C/10), corrected with local offset | |
W | set zone to manual mode, temperature <t> (in C/10), for example t=215 is 21.5C | ||
temp.<z>.setpoint.local | -3 ... +3 | R | zone local offset is set to -3 ... +3 |
protection | R | zone locally set to protection mode | |
off | R | zone locally set to off | |
temp.<z>.setpoint.mode | off | R | zone is off |
protection | R | protection mode | |
man | R | manual mode | |
auto | R | automatic mode | |
temp.<z>.temp | <t> | R | measured temperature <t> (in C/10), for example t=183 is 18.3C |
temp.<z> | unlock | W | zone unlock |
Burglar Alarm: Main Panel
ID | Value | R/W | Description |
---|---|---|---|
security.active | 0 | R | the burglar alarm panel is not active |
1 | R | the burglar alarm panel is active (not necessarily armed) | |
security.alarm | 0 | R | no alarm |
1 | R | ongoing alarm condition | |
security.delay [forced event] |
end | R | end of arming delay (system now fully armed) |
security.lowbattery | 0 | R | battery ok |
1 | R | low battery or battery fault condition | |
security.maintenance | 0 | R | not in maintenance mode |
1 | R | maintenance mode | |
security.nopower | 0 | R | AC power ok |
1 | R | fault condition on the AC power supply | |
security.programming | 0 | R | not in programming mode |
1 | R | programming mode | |
security.status | off | R | system not armed |
armed | R | system armed |
Note that, because the MyHome burglar alarm panel cannot be directly controlled via OpenWebNet commands, there are no write-enabled data points for this system.
Burglar Alarm: Zones and Technical (aux)
In the following table, <z> is the zone number.
ID | Value | R/W | Description |
---|---|---|---|
security.aux.<z>.alarm [forced event] |
0 | R | technical alarm reset |
1 | R | technical alarm zone <z> | |
security.sensor.<z>.fault [forced event] |
1 | R | sensor <z> fault |
security.zone.<z>.active | 0 | R | zone <z> is not active |
1 | R | zone <z> is active | |
security.zone.<z>.alarm | 0 | R | zone <z> intrusion alarm reset |
1 | R | zone <z> intrusion alarm | |
security.zone.<z>.panic | 0 | R | zone <z> panic alarm reset |
1 | R | zone <z> panic alarm | |
security.zone.<z>.tamper | 0 | R | zone <z> tamper alarm reset |
1 | R | zone <z> tamper alarm |
Auxiliary Addresses
ID | Value | R/W | Description | |
---|---|---|---|---|
aux.WHERE | 1 | R | on status | |
W | turn on | |||
on | W | turn on | ||
0 | R | off status | W | turn off |
off | W | turn off |
CEN Modules
ID | Value | R/W | Description |
---|
CENPLUS Modules
ID | Value | R/W | Description |
---|
F421 Load Control Unit
ID | Value | R/W | Description |
---|
User Interface
Temperature Control Unit
UISET Actions
USER Commands
ID | Attribute | Set to |
---|
Name | Param | Action |
---|
Temperature Zones
Zone unlock
Name | Param | Action |
---|
Burglar Alarm Unit
UISET Actions
USER Commands
Because the MyHome burglar alarm panel cannot be directly controlled via OpenWebNet commands, there are no standard control objects for this system.
Release Notes
3.3.0
- added support of the L4686SDK interface module
3.2.2
- clock read and sync are now based on local time
3.2.1
- improved handling of connection errors
3.2.0
- new clock datapoint to read the gateway’s internal clock and set it to HSYCO's time
3.0.0
- initial release
MyHome and BTicino are registered trademarks of BTicino SpA.
ID | Attribute | Set to |
---|