Difference between revisions of "Domino"

From HSYCO
Jump to navigation Jump to search
Line 127: Line 127:
 
|}
 
|}
  
=== inim.ini ===
+
== The Device Configuration Database ==
  
The inim.ini file is a specific configuration file located in the root directory.
+
The systemtopo.txt file contains the list of all devices and their individual input, output and virtual data points 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 ''inputdiscovery'', ''outputdiscovery'' and ''virtualdiscovery'' options in the hsyco.ini configuration file. The default behavior is to only discover devices with output data points.
This file is required to provide the I/O Server with the mapping between the board terminals and the respective zones or outputs when a configuration different from the default one is used.
 
 
 
The default configuration for the SmartLiving 515 is shown in the following diagram:
 
 
 
[[File:Inim_Default_515.png|500px|border]]
 
 
 
And here is default configuration for SmartLiving 1050 and 10100 (for the 10100 model this diagram must be extended to 100 terminals and 40 expanders):
 
 
 
[[File:Inim_Default_1050.png|500px|border]]
 
 
 
If the inim.ini file is not created or it does not contain specifications for our I/O server, then the above configurations are used.
 
 
 
If, on the other hand, you are using a custom configuration, then, for each used terminal of the panel, expanders, and keypads you must specify its configuration.
 
 
 
For instance, consider the following configuration on a SmartLiving1050:
 
 
 
[[File:Inim_Custom_1050.png|500px|border]]
 
 
 
The corresponding configuration in inim.ini, assuming that the ID of the I/O Server is "inm", would be the following:
 
  
 +
This is an example of an automatically generated systemtopo.txt file:
 
<pre>
 
<pre>
inm.t1 = z1
+
(devices)
inm.t2 = z2
+
domino.o10.1 : LIGHT ; LIGHT
inm.t3 = z3
+
domino.o6.1 : LIGHT ; DIMMER
inm.t4 = z4
+
domino.o7.2 : LIGHT ; LIGHT
inm.t5 = z5
+
domino.o7.1 : LIGHT ; DIMMER
inm.t6 = z6,o6
+
domino.o9.2 : AUTOM ; VSHUT
inm.t7 = z7d
+
domino.o5.4 : LIGHT ; LIGHT
inm.t8 = z8d
+
domino.o9.1 : AUTOM ; VSHUT
inm.t9 = z9d
+
domino.o5.3 : LIGHT ; LIGHT
 
+
domino.o5.2 : LIGHT ; LIGHT
inm.e1.t1 = o10
+
domino.o5.1 : LIGHT ; LIGHT
inm.e1.t2 = z11d
 
inm.e1.t3 = o12
 
 
 
inm.k1.t1 = z13
 
 
</pre>
 
</pre>
 
+
You should then manually add comments and other optional parameters:
Terminals on the panel itself are referred to using the notation “<ioserver_id>.t<n>” where <n> is the number of the board terminal from left to right.
 
Terminals on expanders are identified by the string “<ioserver_id>.e<m>.t<n>” where <m> is the expander number and <n> the terminal number on the expander board. Finally,
 
the syntax “<ioserver_id>.k<m>.t<n>” is used to identify terminals on keyboards.
 
 
 
When a terminal is configured as a simple zone ([[File:Inim_Zone.png|x20px]]), it should be assigned the corresponding zone number (e.g. "<code>= z1</code>").
 
 
 
If the terminal is configured as double zone ([[File:Inim_Double_Zone.png|x20px]]) then append “d” to the zone id (e.g. "<code>= z7d</code>"). This configuration allows to have two zones connected to the same terminal, thus the I/O Server will handle these two zones independently: the notation "z<n>" will identify datapoints related to base zones, while "z<n>d" identifies double zones.
 
 
 
If the terminal correspond to an output ([[File:Inim_Output.png|x20px]]) specify the corresponding output number (e.g. "<code>= o10</code>"), while if the terminal is configured as an IO ([[File:Inim_IO.png|x20px]]) then it will be seen as a zone as well as an output, so specify both of them (e.g. "<code>= z6,o6</code>").
 
 
 
Further, it is possible to assign a name to a zone terminal to be displayed in the user interface by adding it at the end of the line after an additional “=”. For instance:
 
 
 
 
<pre>
 
<pre>
inm.t4 = z4 = door
+
(devices)
inm.t5 = z5 = corridor
+
domino.o10.1 : LIGHT ; LIGHT; main entrance light
inm.t6 = z6, o6 = alarm point
+
domino.o6.1 : LIGHT ; DIMMER; lobby dimmer
inm.e1.t2 = z11d = room 1, room 2
+
domino.o7.2 : LIGHT ; LIGHT; kitchen workbench
 +
domino.o7.1 : LIGHT ; DIMMER; kitchen main dimmer
 
</pre>
 
</pre>
  
As you can see from the last line, when referring to a double zone you can specify two different names separated by a comma.
 
  
'''N.B.''' SmartLiving 515 panels have only 5 terminals on the board and the indexing of zones and outputs skips the numbers from 6 to 10 as we can see from the image above. But, from tests conducted on different configurations, sometimes these indexes are actually used, thus refinements on the configuration in inim.ini must be applied to map the terminals with the correct zone or output number.
+
== DFCP Virtual Data Points and Registers ==
  
== Datapoints ==
+
The DFCP implements 2032 virtual points for binary (on/off) data and 1024 registers for positive scalar values (0-65535). All the virtual points and the registers can optionally generate I/O events. You can also write to the virtual data points and registers using the IO action in EVENTS or ioSet() method in Java.
 +
You cannot directly control the DFCP virtual data points and registers using GUI objects.
 +
To enable polling of the current state of the DFCP’s virtual data points, enable the virtualpoints options in hsyco.ini.
 +
To enable polling of the current state of the DFCP’s registers, enable the registers options in hsyco.ini.
 +
If you only have to write to virtual points or registers, enabling polling is not strictly required.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 199: Line 169:
 
!R/W
 
!R/W
 
!Description
 
!Description
 
 
|-
 
|-
  
|rowspan="2" |connection
+
|rowspan="2"|v0.<n>
|online
 
|R
 
|connection established
 
|-
 
|offline
 
|R
 
|HSYCO can't connect to the panel
 
 
 
|-
 
 
 
|rowspan="2" |armed
 
 
|0
 
|0
|R
+
|RW
|all areas are disarmed
+
|virtual data point <n> off (<n>: 1-2032)
 
|-
 
|-
 
|1
 
|1
|R
+
|RW
|at least one area is armed
+
|virtual data point <n> on (<n>: 1-2032)
 
 
 
 
 
|-
 
|-
  
|rowspan="8" |a<n>.armed
+
|r0.<n>
|rowspan="2" |0
+
|<x>
|R
+
|RW
|area <n> is disarmed
+
|register <n> off (<n>: 0-1023) set to value <x> (<x>: 0-65535)
|-
 
|W
 
|disarm area <n>
 
|-
 
|rowspan="2" |away
 
|R
 
|area <n> is armed in “away” mode
 
|-
 
|W
 
|arm area <n> in “away” mode
 
|-
 
|rowspan="2" |stay
 
|R
 
|area <n> is armed in “stay” mode
 
|-
 
|W
 
|arm area <n> in “stay” mode
 
 
|-
 
|-
|rowspan="2" |inst
 
|R
 
|area <n> is armed in “instantaneous” mode
 
|-
 
|W
 
|arm area <n> in “instantaneous” mode
 
  
|-
+
|}
  
|rowspan="2" |a<n>.alarm
+
== Datapoints ==
|0
 
|R
 
|no active alarm on area <n>
 
|-
 
|1
 
|R
 
|alarm on area <n>
 
  
 +
{| class="wikitable"
 +
!ID
 +
!Value
 +
!R/W
 +
!Description
 
|-
 
|-
  
|rowspan="2" |a<n>.tamper
+
|rowspan="2" |connection
|0
+
|online
 
|R
 
|R
|no tamper alarm on area <n>
+
|connection established
 
|-
 
|-
|1
+
|offline
 
|R
 
|R
|tamper alarm on area <n>
+
|HSYCO can't connect to the panel
 
 
|-
 
 
 
|rowspan="2" |a<n>.alarm.mem
 
|0
 
|R
 
|no alarm in memory for area <n>
 
|-
 
|1
 
|R
 
|alarm in memory for area <n>
 
 
 
|-
 
 
 
|rowspan="2" |a<n>.tamper.mem
 
|0
 
|R
 
|no tamper alarm in memory for area <n>
 
|-
 
|1
 
|R
 
|tamper alarm in memory for area <n>
 
 
 
|-
 
 
 
|rowspan="2" |a<n>.auto
 
|0
 
|R
 
|auto-arming disabled on area <n>
 
|-
 
|1
 
|R
 
|auto-arming enabled on area <n>
 
 
 
|-
 
 
 
|a<n>.reset
 
|1
 
|W
 
|reset alarms on area <n>
 
 
 
|-
 
 
 
|rowspan="4" |z<n>.state<br />z<n>d.state
 
|closed
 
|R
 
|zone <n> (base or double) is closed
 
|-
 
|open
 
|R
 
|zone <n> (base or double) is open
 
|-
 
|tamper
 
|R
 
|zone <n> (base or double) is tampered
 
|-
 
|short
 
|R
 
|zone <n> (base or double) is in short circuit
 
 
 
|-
 
 
 
|rowspan="4" |z<n>.bypassed<br />z<n>d.bypassed
 
|rowspan="2" |0
 
|R
 
|zone <n> is not bypassed
 
|-
 
|W
 
|unbypass zone <n>
 
|-
 
|rowspan="2" |1
 
|R
 
|zone <n> is bypassed
 
|-
 
|W
 
|bypass zone <n>
 
 
 
|-
 
 
 
|rowspan="2" |z<n>.test<br />z<n>d.test
 
|0
 
|R
 
|zone <n> is not in test
 
|-
 
|1
 
|R
 
|zone <n> is being tested
 
 
 
|-
 
 
 
|rowspan="2" |z<n>.alarm.mem<br />z<n>d.alarm.mem
 
|0
 
|R
 
|no alarm in memory for zone <n>
 
|-
 
|1
 
|R
 
|alarm in memory for zone <n>
 
 
 
|-
 
 
 
|rowspan="2" |z<n>.tamper.mem<br />z<n>d.tamper.mem
 
|0
 
|R
 
|no terminal tamper alarm in memory for zone <n>
 
|-
 
|1
 
|R
 
|terminal tamper alarm in memory for zone <n>
 
 
 
|-
 
 
 
|rowspan="4" |or
 
|rowspan="2" |0
 
|R
 
|the relay output on the panel is not active
 
|-
 
|W
 
|deactivate the relay output on the panel
 
|-
 
|rowspan="2" |1
 
|R
 
|the relay output on the panel is active
 
|-
 
|W
 
|activate the relay output on the panel
 
 
 
|-
 
 
 
|rowspan="4" |oc1
 
|rowspan="2" |0
 
|R
 
|the open collector 1 on the panel is not active
 
|-
 
|W
 
|deactivate the open collector 1 on the panel
 
|-
 
|rowspan="2" |1
 
|R
 
|the open collector 1 on the panel is active
 
|-
 
|W
 
|activate the open collector 1 on the panel
 
 
 
|-
 
 
 
|rowspan="4" |oc2
 
|rowspan="2" |0
 
|R
 
|the open collector 2 on the panel is not active
 
|-
 
|W
 
|deactivate the open collector 2 on the panel
 
|-
 
|rowspan="2" |1
 
|R
 
|the open collector 2 on the panel is active
 
|-
 
|W
 
|activate the open collector 2 on the panel
 
 
 
|-
 
 
 
|rowspan="4" |o<n><br />(if defined in inim.ini)
 
|rowspan="2" |0
 
|R
 
|output <n> is not active
 
|-
 
|W
 
|deactivate output <n>
 
|-
 
|rowspan="2" |1
 
|R
 
|output <n> is active
 
|-
 
|W
 
|activate output <n>
 
 
 
|-
 
 
 
|rowspan="2" |fault.fuse.zones
 
|0
 
|R
 
|zones fuse OK
 
|-
 
|1
 
|R
 
|fault on zones fuse
 
 
 
|-
 
 
 
|rowspan="2" |fault.fuse.ibus
 
|0
 
|R
 
|IBUS fuse OK
 
|-
 
|1
 
|R
 
|fault on IBUS fuse
 
 
 
|-
 
 
 
|rowspan="2" |fault.battery
 
|0
 
|R
 
|battery OK
 
|-
 
|1
 
|R
 
|fault on battery
 
 
 
|-
 
 
 
|rowspan="2" |fault.mains
 
|0
 
|R
 
|mains OK
 
|-
 
|1
 
|R
 
|panel mains fault
 
 
 
|-
 
 
 
|rowspan="2" |fault.phone
 
|0
 
|R
 
|phone line OK
 
|-
 
|1
 
|R
 
|fault on phone line
 
 
 
|-
 
 
 
|rowspan="2" |fault.jamming
 
|0
 
|R
 
|no jamming
 
|-
 
|1
 
|R
 
|radio jamming
 
 
 
|-
 
 
 
|rowspan="2" |fault.radio.battery
 
|0
 
|R
 
|radio zones battery OK
 
|-
 
|1
 
|R
 
|low battery on radio zone(s)
 
 
 
|-
 
 
 
|rowspan="2" |fault.radio.loss
 
|0
 
|R
 
|radio zones OK
 
|-
 
|1
 
|R
 
|loss of radio zone(s)
 
 
 
|-
 
 
 
|battery.volts
 
|<val>
 
|R
 
|the voltage value of the battery is <val> Volts
 
 
 
|-
 
 
 
|rowspan="2" |tamper.panel
 
|0
 
|R
 
|panel OK
 
|-
 
|1
 
|R
 
|panel tampered
 
 
 
|-
 
 
 
|rowspan="2" |tamper.cover
 
|0
 
|R
 
|panel cover OK
 
|-
 
|1
 
|R
 
|panel cover tampered
 
 
 
|-
 
 
 
|rowspan="2" |tamper.reader
 
|0
 
|R
 
|readers OK
 
|-
 
|1
 
|R
 
|reader(s) tampered
 
 
 
|-
 
 
 
|rowspan="2" |tamper.keypad
 
|0
 
|R
 
|keypads OK
 
|-
 
|1
 
|R
 
|keypad(s) tampered
 
 
 
|-
 
 
 
|rowspan="2" |tamper.expander
 
|0
 
|R
 
|FLEX5 expanders OK
 
|-
 
|1
 
|R
 
|FLEX5 expander(s) tampered
 
 
 
 
|-
 
|-
 
|rowspan="2" |reset
 
|0
 
|R
 
|communication BUS ready
 
|-
 
|1
 
|R
 
|ongoing reset procedure on communication BUS
 
 
|-
 
 
|rowspan="2" |internet
 
|0
 
|R
 
|“internet access” option disabled
 
|-
 
|1
 
|R
 
|“internet access” option enabled
 
 
|-
 
 
|rowspan="2" |service
 
|0
 
|R
 
|service jumper in “RUN” position
 
|-
 
|1
 
|R
 
|service jumper in “SERV” position (maintenance)
 
 
|-
 
 
|rowspan="2" |program
 
|0
 
|R
 
|panel not in programming mode
 
|-
 
|1
 
|R
 
|ongoing programming via keyboard
 
 
|-
 
 
|rowspan="2" |voice
 
|0
 
|R
 
|no SmartLogos30M voice card detected
 
|-
 
|1
 
|R
 
|SmartLogos30M voice card detected
 
  
 
|}
 
|}
Line 662: Line 212:
 
== User Interface ==
 
== User Interface ==
  
=== Inim Object ===
+
=== Object ===
  
 
{{:Inim_(UI Object)}}
 
{{:Inim_(UI Object)}}
Line 675: Line 225:
 
|-
 
|-
  
|log
 
|value
 
|colspan="2"|latest security log lines (as many as specified by the 'logsize' option)
 
 
|-
 
 
|log0
 
|value
 
|colspan="2"|latest line of the security log when a new entry is added, set back to blank after a short period
 
 
|-
 
 
|z<n>.name<br />z<n>d.name
 
|value
 
|colspan="2"|name assigned to zone <n> (base or double) or its number if no name is defined
 
 
|-
 
 
|rowspan="2"|connection.label
 
|rowspan="2"|visible
 
|true
 
|when datapoint connection = offline
 
|-
 
|false
 
|when datapoint connection = online
 
 
|-
 
 
|rowspan="2"|a<n>.armed.label.0
 
|rowspan="2"|visible
 
|true
 
|when area <n> is disarmed
 
|-
 
|false
 
|when area <n> is armed
 
  
|-
 
 
|rowspan="2"|a<n>.armed.label.away
 
|rowspan="2"|visible
 
|true
 
|when area <n> is armed in "away" mode
 
|-
 
|false
 
|when area <n> is not armed in "away" mode
 
 
|-
 
 
|rowspan="2"|a<n>.armed.label.stay
 
|rowspan="2"|visible
 
|true
 
|when area <n> is armed in "stay" mode
 
|-
 
|false
 
|when area <n> is not armed in "stay" mode
 
 
|-
 
 
|rowspan="2"|a<n>.armed.label.inst
 
|rowspan="2"|visible
 
|true
 
|when area <n> is armed in "instantaneous" mode
 
|-
 
|false
 
|when area <n> is not armed in "instantaneous" mode
 
 
|-
 
 
|rowspan="2"|a<n>.armed.label.1
 
|rowspan="2"|visible
 
|true
 
|when area <n> is armed in any mode
 
|-
 
|false
 
|when area <n> is not armed
 
 
|-
 
 
|rowspan="2"|z<n>.state.label.closed<br />z<n>d.state.label.closed
 
|rowspan="2"|visible
 
|true
 
|when datapoint 'z<n>.state' has value 'closed'
 
|-
 
|false
 
|when datapoint 'z<n>.state' has not value 'closed'
 
 
|-
 
 
|rowspan="2"|z<n>.state.label.open<br />z<n>d.state.label.open
 
|rowspan="2"|visible
 
|true
 
|when datapoint 'z<n>.state' has value 'open'
 
|-
 
|false
 
|when datapoint 'z<n>.state' has not value 'open'
 
 
|-
 
 
|rowspan="2"|z<n>.state.label.tamper<br />z<n>d.state.label.tamper
 
|rowspan="2"|visible
 
|true
 
|when datapoint 'z<n>.state' has value 'tamper'
 
|-
 
|false
 
|when datapoint 'z<n>.state' has not value 'tamper'
 
 
|-
 
 
|rowspan="2"|z<n>.state.label.short<br />z<n>d.state.label.short
 
|rowspan="2"|visible
 
|true
 
|when datapoint 'z<n>.state' has value 'short'
 
|-
 
|false
 
|when datapoint 'z<n>.state' has not value 'short'
 
 
|-
 
 
|rowspan="2"|<datapoint_id>.label.1
 
|rowspan="2"|visible
 
|true
 
|when datapoint with ID <datapoint_id> has value '1'
 
|-
 
|false
 
|when datapoint with ID <datapoint_id> has value '0'
 
 
|-
 
 
|rowspan="2"|<datapoint_id>.label.0
 
|rowspan="2"|visible
 
|true
 
|when datapoint with ID <datapoint_id> has value '0'
 
|-
 
|false
 
|when datapoint with ID <datapoint_id> has value '1'
 
 
|}
 
|}
  
 
=== USER Commands ===
 
=== USER Commands ===
 
{| class="wikitable"
 
!Name
 
!Param
 
!Action
 
 
|-
 
 
|rowspan="4" |a<n>.armed
 
|0
 
|disarm area <n>
 
|-
 
|stay
 
|arm area <n> in "stay" mode
 
|-
 
|away
 
|arm area <n> in "away" mode
 
|-
 
|inst
 
|arm area <n> in "instantaneous" mode
 
 
|-
 
 
|a<n>.reset
 
|1
 
|reset alarms on area <n>
 
 
|-
 
 
|rowspan="2" |z<n>.bypassed<br />z<n>d.bypassed
 
|0
 
|unbypass zone <n> (base or double)
 
|-
 
|1
 
|bypass zone <n> (base or double)
 
 
|-
 
 
|rowspan="2" |or
 
|0
 
|deactivate the relay output on the panel
 
|-
 
|1
 
|activate the relay output on the panel
 
 
|-
 
 
|rowspan="2" |oc1
 
|0
 
|deactivate the open collector 1 on the panel
 
|-
 
|1
 
|activate the open collector 1 on the panel
 
 
|-
 
 
|rowspan="2" |oc2
 
|0
 
|deactivate the open collector 2 on the panel
 
|-
 
|1
 
|activate the open collector 2 on the panel
 
 
|-
 
 
|rowspan="2" |o<n>
 
|0
 
|deactivate output <n>
 
|-
 
|1
 
|activate output <n>
 
 
|}
 
 
To perform any of the above operations it is necessary to enter the user code first. To enter the user code through the user interface use [[User|user buttons]] to create a virtual keypad and assign them name and param values according to this table:
 
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 894: Line 235:
 
!Action
 
!Action
 
|-
 
|-
|rowspan="2"|digit
 
|{0 ... 9}
 
|append the specified digit to the entered user code
 
|-
 
|c
 
|delete the last entered digit
 
|}
 
  
To visualize the number of entered digits use up to 6 [[Text|text objects]] (depending on the number of digits used for user codes) and set their IDs to:
 
 
{| class="wikitable"
 
!ID
 
!Description
 
|-
 
|pin.<n><br />(0 &le; <n> &le; 5)
 
|shows the character '*' when the corresponding digit has been entered, shows '_' otherwise
 
  
 
|}
 
|}
 
The entered code will be cleared after a short period of inactivity.
 

Revision as of 12:48, 29 January 2014

The DOMINO system is DUEMMEGI’s proprietary bus architecture for home automation. HSYCO fully integrates with this system through the DFCP control and gateway module, and its FXP-XT serial communication protocol. A serial connection between the DFCP and the HSYCO SERVER is required for the integration, either directly through the server’s RS-232 port or via the RS-232 port of a supported serial to IP gateway, including the WEBS module.

Communication

Employ a DE-9 (often called DB-9) male-female RS-232 straight cable to connect the RS-232 DFCP port to the serial port on HSYCO SERVER or serial gateway. The communication baud rate can be set to 9600, 38400, 57600 or 115200 bps, according to the DFCP serial port settings. The protocol requires 8bit data, no parity, one stop bit, no flow control. A speed of 115200 bps is recommended to achieve good performance, particularly when the number of devices connected to the bus is large.

HSYCO Configuration

Options

ID Default Values Description
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
inputdiscovery false true auto-detects DOMINO’s input devices as configured in the DFCP, and automatically creates the list of all detected devices and individual data points in the systemtopo.txt file. Should be enabled to allow the automatic update of (button) objects’ states
false auto-detect for input devices is disabled
outputdiscovery true true auto-detects DOMINO’s output devices as configured in the DFCP, and automatically creates the list of all detected devices and individual data points in the systemtopo.txt file. Should be enabled to allow the automatic update of (button) objects’ states
false auto-detect for output devices is disabled
virtualdiscovery false true auto-detects DOMINO’s virtual points for input and output devices as configured in the DFCP, and automatically creates the list of all detected virtual data points in the systemtopo.txt file. Should be enabled to allow the automatic update of (button) objects’ states
false auto-detect for devices’ virtual data points is disabled
virtualpoints false 1...2033 enables polling for the first n virtual points of the DFCP. Enable this option only if you need to generate I/O events based on these virtual points
true enables polling for all the 2032 virtual points of the DFCP
false polling of the DFCP virtual data points is disabled
registers false 1...1024 enables polling for registers R0-Rn of the DFCP. Enable this option only if you need to generate I/O events based on these registers
true enables polling for registers R0-R127 of the DFCP
false polling of the DFCP registers is disabled
powerdisplay false true enables polling for registers R0-Rn of the DFCP. Enable this option only if you need to generate I/O events based on these registers
≥ 0 (DFANA address) enables the automatic display in the GUI of the total real power measured by a DFANA module connected to this DFCP. Note that, if you have more than one DFCP gateway, you should enable this option for one gateway only
false power display disabled for this DFCP
powersensivity 50 ≥ 0 measured power changes are reported only if the difference from last reading is equal or greater than the power sensivity option, in Watts
powerinterval 1 ≥ 0 power polling interval for the DFCC meter, in seconds
detectevents false true generate forced events when a device is detected at start-up
false do not generate events when a device is detected at start-up
toolspassword string set this option with a long string (only letters and numbers) password to allow the remote connection of DFCP-IDE and other configuration tools to the DFCP gateways that are connected to HSYCO. For additional security, it is recommended to set this option only when required
language english en it fr language for all messages from the DOMINO system: English, Italian or French

The Device Configuration Database

The systemtopo.txt file contains the list of all devices and their individual input, output and virtual data points 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 inputdiscovery, outputdiscovery and virtualdiscovery options in the hsyco.ini configuration file. The default behavior is to only discover devices with output data points.

This is an example of an automatically generated systemtopo.txt file:

(devices)
domino.o10.1 : LIGHT ; LIGHT
domino.o6.1 : LIGHT ; DIMMER
domino.o7.2 : LIGHT ; LIGHT
domino.o7.1 : LIGHT ; DIMMER
domino.o9.2 : AUTOM ; VSHUT
domino.o5.4 : LIGHT ; LIGHT
domino.o9.1 : AUTOM ; VSHUT
domino.o5.3 : LIGHT ; LIGHT
domino.o5.2 : LIGHT ; LIGHT
domino.o5.1 : LIGHT ; LIGHT

You should then manually add comments and other optional parameters:

(devices)
domino.o10.1 : LIGHT ; LIGHT; main entrance light
domino.o6.1 : LIGHT ; DIMMER; lobby dimmer
domino.o7.2 : LIGHT ; LIGHT; kitchen workbench
domino.o7.1 : LIGHT ; DIMMER; kitchen main dimmer


DFCP Virtual Data Points and Registers

The DFCP implements 2032 virtual points for binary (on/off) data and 1024 registers for positive scalar values (0-65535). All the virtual points and the registers can optionally generate I/O events. You can also write to the virtual data points and registers using the IO action in EVENTS or ioSet() method in Java. You cannot directly control the DFCP virtual data points and registers using GUI objects. To enable polling of the current state of the DFCP’s virtual data points, enable the virtualpoints options in hsyco.ini. To enable polling of the current state of the DFCP’s registers, enable the registers options in hsyco.ini. If you only have to write to virtual points or registers, enabling polling is not strictly required.

ID Value R/W Description
v0.<n> 0 RW virtual data point <n> off (<n>: 1-2032)
1 RW virtual data point <n> on (<n>: 1-2032)
r0.<n> <x> RW register <n> off (<n>: 0-1023) set to value <x> (<x>: 0-65535)

Datapoints

ID Value R/W Description
connection online R connection established
offline R HSYCO can't connect to the panel

User Interface

Object

The user interface for the control and supervision of one area of the system, the zones and the visualization of the security log:

Inim UI Object 1.png Inim UI Object 2.png Inim UI Object 3.png

The Inim object is listed in the Project Editor’s new object list only when at least one INIM I/O Server is defined.

Parameters

  • id - the id assigned to the INIM I/O Server in hsyco.ini. Supports Redirect variables
  • area - the number of the area to be addressed. Supports Redirect variables
  • pos - the object’s position. Use the pixels or rows and columns coordinates format.

Syntax

(inim <server id>; <area>; <position>)

E.g.

(inim serverid; area; x10y20)

UISET Actions

ID Attribute Set to

USER Commands

Name Param Action