https://wiki.hsyco.com/3.7/api.php?action=feedcontributions&user=Manuela&feedformat=atomHSYCO - User contributions [en]2024-03-29T11:39:22ZUser contributionsMediaWiki 1.33.0https://wiki.hsyco.com/3.7/index.php?title=HSYCO:Books/HSYCO&diff=5970HSYCO:Books/HSYCO2015-09-17T12:15:18Z<p>Manuela: </p>
<hr />
<div>{{saved book<br />
|title=Austin, Texas<br />
|subtitle=A Guide<br />
|cover-color=black<br />
|text-color=white<br />
|setting-papersize=A4<br />
|setting-showtoc=1 <br />
|setting-columns=1<br />
}}<br />
<br />
== HSYCO ==<br />
=== 3.5 ===<br />
;prova<br />
:[[System]]<br />
:[[HSYCO Remote]]<br />
:[[Modbus]]<br />
:[[Arduino]]<br />
<br />
[[Category:Books|HSYCO]]</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=HSYCO:Books/HSYCO&diff=5969HSYCO:Books/HSYCO2015-09-17T12:13:28Z<p>Manuela: </p>
<hr />
<div>{{saved book<br />
|title=Austin, Texas<br />
|subtitle=A Guide<br />
|cover-color=black<br />
|text-color=white<br />
}}<br />
<br />
== HSYCO ==<br />
=== 3.5 ===<br />
;prova<br />
:[[System]]<br />
:[[HSYCO Remote]]<br />
:[[Modbus]]<br />
:[[Arduino]]<br />
<br />
[[Category:Books|HSYCO]]</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=HSYCO:Books/HSYCO&diff=5967HSYCO:Books/HSYCO2015-09-17T11:52:52Z<p>Manuela: Created page with "{{saved_book}} == HSYCO == === 3.5 === ;prova :System :HSYCO Remote :Modbus :Arduino HSYCO"</p>
<hr />
<div>{{saved_book}}<br />
<br />
== HSYCO ==<br />
=== 3.5 ===<br />
;prova<br />
:[[System]]<br />
:[[HSYCO Remote]]<br />
:[[Modbus]]<br />
:[[Arduino]]<br />
<br />
[[Category:Books|HSYCO]]</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=HSYCO:Books/SFERA&diff=5966HSYCO:Books/SFERA2015-09-17T11:51:54Z<p>Manuela: Created page with "{{saved_book}} == SFERA == === 1.0 === :HSYCO Remote :System :Modbus :Arduino SFERA"</p>
<hr />
<div>{{saved_book}}<br />
<br />
== SFERA ==<br />
=== 1.0 ===<br />
:[[HSYCO Remote]]<br />
:[[System]]<br />
:[[Modbus]]<br />
:[[Arduino]]<br />
<br />
[[Category:Books|SFERA]]</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=User:Manuela/Books/SFERA&diff=5965User:Manuela/Books/SFERA2015-09-17T11:50:49Z<p>Manuela: Created page with "{{saved_book}} == SFERA == === 1.0 === :HSYCO Remote :System :Modbus :Arduino SFERA"</p>
<hr />
<div>{{saved_book}}<br />
<br />
== SFERA ==<br />
=== 1.0 ===<br />
:[[HSYCO Remote]]<br />
:[[System]]<br />
:[[Modbus]]<br />
:[[Arduino]]<br />
<br />
[[Category:Books|SFERA]]</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=User:Manuela/Books/HSYCO&diff=5964User:Manuela/Books/HSYCO2015-09-17T11:38:36Z<p>Manuela: Created page with "{{saved_book}} == HSYCO == === 3.5 === ;PROVA :I/O Servers :System :Modbus :HSYCO Remote :Arduino HSYCO"</p>
<hr />
<div>{{saved_book}}<br />
<br />
== HSYCO ==<br />
=== 3.5 ===<br />
;PROVA<br />
:[[I/O Servers]]<br />
:[[System]]<br />
:[[Modbus]]<br />
:[[HSYCO Remote]]<br />
:[[Arduino]]<br />
<br />
[[Category:Books|HSYCO]]</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Boschmap&diff=5265Boschmap2014-10-24T10:34:27Z<p>Manuela: </p>
<hr />
<div>The Bosch MPA panels are multi-area intrusion detection systems.<br />
<br />
The integration with HSYCO can be accomplished via Ethernet connection.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== HSYCO Configuration ==<br />
Add a BOSCHMPA I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the panel<br />
*'''IP Port''': TCP/IP port to use, leave blank to use default port 6793.<br />
<br />
=== Authentication ===<br />
<br />
*'''Password''': password set on for the BIS user. Leave blank to use the default password.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2"|startupevents<br />
|rowspan="2"|false<br />
|true<br />
|generate IO events also during the driver’s start-up phase<br />
|-<br />
|false<br />
|start generating events only after HSYCO is aligned with the current status of the system<br />
<br />
|}<br />
<br />
=== galaxy.ini ===<br />
<br />
The boschmpa.ini file is a specific configuration file located in the root directory.<br />
This file is required to specify which areas and points are configured on the panel and to assign them a name.<br />
<br />
Add a new line for each area followed by a new line for each point belonging to that area, using the following format:<br />
<br />
<pre><br />
<io_server_id>.<area_siid> = <name><br />
<io_server_id>.<point_siid> = <name><br />
</pre><br />
<br />
where <area_siid>/<point_siid> is the security identifier of the area/point as specified in the configuration software of the panel.<br />
<br />
For instance:<br />
<br />
<pre><br />
bsc.1.1.ControlPanelArea.1.1 = Control Panel<br />
<br />
bsc.1.1.Area.2.4 = Internal area<br />
bsc.1.1.Point.01001.006 = Front door<br />
bsc.1.1.Point.01001.007 = Back door<br />
<br />
bsc.1.1.Area.2.5 = External area<br />
bsc.1.1.Point.01001.008 = Gate<br />
</pre><br />
<br />
specifies three areas: the Control Panel area with no points, an internal area with two points and an external area with one point.<br />
<br />
== Datapoints ==<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|connection established<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can't connect to the panel<br />
<br />
|-<br />
<br />
|rowspan="2" |alarm<sup>[[#note1|[Note 1]]]</sup><br />
|0<br />
|R<br />
|no alarm<br />
|-<br />
|1<br />
|R<br />
|alarm active<br />
<br />
|-<br />
<br />
|rowspan="2" |trouble<sup>[[#note1|[Note 1]]]</sup><br />
|0<br />
|R<br />
|no trouble<br />
|-<br />
|1<br />
|R<br />
|trouble active<br />
<br />
|-<br />
<br />
|rowspan="2" |tamper<sup>[[#note1|[Note 1]]]</sup><br />
|0<br />
|R<br />
|no tamper<br />
|-<br />
|1<br />
|R<br />
|tamper active<br />
<br />
|-<br />
<br />
|rowspan="2" |user.tamper<sup>[[#note1|[Note 1]]]</sup><br />
|0<br />
|R<br />
|no user tamper<br />
|-<br />
|1<br />
|R<br />
|user tamper active<br />
<br />
|-<br />
<br />
|<siid>.name<br />
|<name><br />
|R<br />
|the name of the area/point is set to <name><br />
<br />
|-<br />
<br />
|rowspan="23" |<area_siid>.armed<br />
|rowspan="2" |0<br />
|R<br />
|area disarmed<br />
|-<br />
|W<br />
|disarm the area<br />
|-<br />
|rowspan="2" |1<br />
|R<br />
|area all armed, delayed<br />
|-<br />
|W<br />
|arm all the area, delayed<br />
|-<br />
|rowspan="2" |2<br />
|R<br />
|area all armed, delayed with bypass<br />
|-<br />
|W<br />
|arm all the area, instant<br />
|-<br />
|rowspan="2" |3<br />
|R<br />
|area all armed, instant<br />
|-<br />
|W<br />
|arm the area partially, delayed<br />
|-<br />
|rowspan="2" |4<br />
|R<br />
|area al armed, instant with bypass<br />
|-<br />
|W<br />
|arm the area partially, instant<br />
|-<br />
|rowspan="2" |5<br />
|R<br />
|area partially armed, delayed<br />
|-<br />
|W<br />
|custom-arm the area, delayed<br />
|-<br />
|rowspan="2" |6<br />
|R<br />
|area partially armed, delayed with bypass<br />
|-<br />
|W<br />
|custom-arm the area, instant<br />
|-<br />
|rowspan="2" |7<br />
|R<br />
|area partially armed, instant<br />
|-<br />
|W<br />
|arm all the area, delay zero<br />
|-<br />
|rowspan="2" |8<br />
|R<br />
|area partially armed, instant with bypass<br />
|-<br />
|W<br />
|arm the area partially, delay zero<br />
|-<br />
|rowspan="2" |9<br />
|R<br />
|area custom armed, delayed<br />
|-<br />
|W<br />
|custom-arm the area, delay zero<br />
|-<br />
|10<br />
|R<br />
|area custom armed, delayed with bypass<br />
|-<br />
|11<br />
|R<br />
|area custom armed, instant<br />
|-<br />
|12<br />
|R<br />
|area custom armed, instant with bypass<br />
<br />
|-<br />
<br />
|rowspan="2" |<area_siid>.ready.arm.instant<br />
|0<br />
|R<br />
|the area is not ready to be armed instantly<br />
|-<br />
|1<br />
|R<br />
|the area is ready to be armed instantly<br />
<br />
|-<br />
<br />
|rowspan="2" |<area_siid>.ready.arm.delay<br />
|0<br />
|R<br />
|the area is not ready to be armed with delay<br />
|-<br />
|1<br />
|R<br />
|the area is ready to be armed with delay<br />
<br />
|-<br />
<br />
|rowspan="2" |<area_siid>.ready.disarm<br />
|0<br />
|R<br />
|the area is not ready to be disarmed<br />
|-<br />
|1<br />
|R<br />
|the area is ready to be disarmed<br />
<br />
|-<br />
<br />
|rowspan="2" |<area_siid>.force.instant<br />
|0<br />
|R<br />
|the area is not ready to be force armed instantly<br />
|-<br />
|1<br />
|R<br />
|the area is ready to be force armed instantly<br />
<br />
|-<br />
<br />
|rowspan="2" |<area_siid>.force.delay<br />
|0<br />
|R<br />
|the area is not ready to be force armed with delay<br />
|-<br />
|1<br />
|R<br />
|the area is ready to be force armed with delay<br />
<br />
|-<br />
<br />
|rowspan="2" |<area_siid>.bypassed<br />
|0<br />
|R<br />
|no bypassed devices in this area<br />
|-<br />
|1<br />
|R<br />
|there are bypassed devices in this area<br />
<br />
|-<br />
<br />
|rowspan="2" |<area_siid>.alarm<br />
|0<br />
|R<br />
|no active alarm<br />
|-<br />
|1<br />
|R<br />
|alarm active<br />
<br />
|-<br />
<br />
|rowspan="2" |<area_siid>.trouble<br />
|0<br />
|R<br />
|no trouble<br />
|-<br />
|1<br />
|R<br />
|trouble active<br />
<br />
|-<br />
<br />
|rowspan="2" |<area_siid>.tamper<br />
|0<br />
|R<br />
|no tamper<br />
|-<br />
|1<br />
|R<br />
|tamper active<br />
<br />
|-<br />
<br />
|rowspan="2" |<point_siid>.blocked<br />
|0<br />
|R<br />
|point not blocked<br />
|-<br />
|1<br />
|R<br />
|point blocked<br />
<br />
|-<br />
<br />
|rowspan="7" |<point_siid>.bypassed<br />
|rowspan="2" |0<br />
|R<br />
|point not bypassed<br />
|-<br />
|W<br />
|unbypass point<br />
|-<br />
|rowspan="2"|1<br />
|R<br />
|point bypassed swinger<br />
|-<br />
|W<br />
|bypass point<br />
|-<br />
|2<br />
|R<br />
|point bypassed auto<br />
|-<br />
|3<br />
|R<br />
|point bypassed force<br />
|-<br />
|4<br />
|R<br />
|point bypassed manual<br />
<br />
|-<br />
<br />
|<point_siid>.reset<br />
|1<br />
|W<br />
|reset the point<br />
<br />
|-<br />
<br />
|rowspan="2" |<point_siid>.alarm<sup>[[#note2|[Note 2]]]</sup><br />
|0<br />
|R<br />
|no alarm<br />
|-<br />
|1<br />
|R<br />
|alarm<br />
<br />
|-<br />
<br />
|rowspan="2" |<point_siid>.holdup<sup>[[#note2|[Note 2]]]</sup><br />
|0<br />
|R<br />
|no holdup alarm<br />
|-<br />
|1<br />
|R<br />
|holdup alarm<br />
<br />
|-<br />
<br />
|rowspan="2" |<point_siid>.duress<sup>[[#note2|[Note 2]]]</sup><br />
|0<br />
|R<br />
|no duress alarm<br />
|-<br />
|1<br />
|R<br />
|duress alarm<br />
<br />
|-<br />
<br />
|rowspan="2" |<point_siid>.tamper<sup>[[#note2|[Note 2]]]</sup><br />
|0<br />
|R<br />
|no tamper alarm<br />
|-<br />
|1<br />
|R<br />
|tamper alarm<br />
<br />
|-<br />
<br />
|rowspan="2" |<device_siid>.tamper<sup>[[#note2|[Note 2]]]</sup><br />
|0<br />
|R<br />
|no tamper alarm<br />
|-<br />
|1<br />
|R<br />
|device tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |<device_siid>.trouble<sup>[[#note2|[Note 2]]]</sup><br />
|0<br />
|R<br />
|no trouble<br />
|-<br />
|1<br />
|R<br />
|trouble on device<br />
<br />
|-<br />
<br />
|rowspan="2" |<device_siid>.alarm<sup>[[#note2|[Note 2]]]</sup><br />
|0<br />
|R<br />
|no alarm<br />
|-<br />
|1<br />
|R<br />
|alarm on device<br />
<br />
|-<br />
<br />
|rowspan="2" |<device_siid>.active<sup>[[#note2|[Note 2]]]</sup><br />
|0<br />
|R<br />
|device deactivated<br />
|-<br />
|1<br />
|R<br />
|device active<br />
<br />
|}<br />
<br />
<span id="note1"><br />
;Note 1 : These datapoints are only updated after the startup phase, i.e. events are generated only for events occurring after the driver is online.<br />
</span><br />
<br />
<span id="note2"><br />
;Note 2 : These datapoints, if their value is 1, generate events at startup even if the startupevents option is set to false.<br />
</span><br />
<br />
== Release Notes ==<br />
<br />
=== 3.4.0 === <br />
*initial version release<br />
<br />
----<br />
<br />
<br />
''Bosch is a registered trademark of Bosch Security Systems.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Cradlepoint&diff=5264Cradlepoint2014-10-24T10:34:08Z<p>Manuela: </p>
<hr />
<div>The Cradlepoint driver for HSYCO allows you to monitor the real-time status of the Cradlepoint IBR6xx series of routers.<br />
<br />
[[File:IO_Servers_Cradlepoint.png]]<br />
<br />
[[Category:I/O Server]]<br />
<br />
== HSYCO Configuration ==<br />
Add a CRADLEPOINT I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': LAN IP address of the IBR6xx router<br />
*'''IP Port''': TCP/IP port to use for the SSH CLI (Command Line Interface), leave blank to use default port 22.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to false.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|startupevents<br />
|rowspan="2"|false<br />
|true<br />
|generate IO events also during the driver’s start-up phase<br />
|-<br />
|false<br />
|start generating events only after HSYCO is aligned with the current status of the system<br />
|-<br />
<br />
|query<br />
|/status/wan/connection_state /status/system/wan_signal_strength /status/wan/stats<br />
|space-separated pathnames<br />
|this parameter can be used to retrieve specific status data from the router. Use / to retrieve all data (note that using / the router will need several seconds to return all data, and the number of generated data points will be huge. You should specify the / full path only for development purposes<br />
|-<br />
<br />
|}<br />
<br />
== Datapoints ==<br />
<br />
The status information that the driver retrieves from the Cradlepoint router depends on the pathnames defined in the query option.<br />
<br />
Refer to the CRADLEPOINT Router CLI Overview document for the description of the file system structure and the list of valid directories.<br />
Each directory contains status information that this driver translates into standard HSYCO data points.<br />
<br />
When no query option is explicitly set, the driver retrieves all data located in the following directories:<br />
* /status/wan/connection_state<br />
* /status/system/wan_signal_strength<br />
* /status/wan/stats<br />
<br />
<br />
{{note|The following table lists the read-only data poins that are generated using the default query.}}<br />
<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|connection established<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can't connect to the router<br />
|-<br />
<br />
|status.system.wan_signal_strength<br />
|0..100<br />
|R<br />
|wireless WAN connection signal strength <br />
|-<br />
<br />
|status.wan.connection_state<br />
|<status><br />
|R<br />
|WAN connection status<br />
|-<br />
<br />
|status.wan.stats.bps<br />
|<number><br />
|R<br />
|WAN total throughput in BPS<br />
|-<br />
<br />
|status.wan.stats.collisions<br />
|<number><br />
|R<br />
|number of collisions on the WAN connection <br />
|-<br />
<br />
|status.wan.stats.ibps<br />
|<number><br />
|R<br />
|WAN input throughput in BPS<br />
|-<br />
<br />
|status.wan.stats.idrops<br />
|<number><br />
|R<br />
|wireless WAN input packets dropped<br />
|-<br />
<br />
|status.wan.stats.ierrors<br />
|<number><br />
|R<br />
|wireless WAN input errors<br />
|-<br />
<br />
|status.wan.stats.imcasts<br />
|<number><br />
|R<br />
|wireless WAN input multicast traffic<br />
|-<br />
<br />
|status.wan.stats.in<br />
|<number><br />
|R<br />
|wireless WAN total input bytes of current connection<br />
|-<br />
<br />
|status.wan.stats.ipackets<br />
|<number><br />
|R<br />
|wireless WAN total input packets of current connection <br />
|-<br />
<br />
|status.wan.stats.noproto<br />
|<number><br />
|R<br />
|wireless WAN total no protocol packets<br />
|-<br />
<br />
|status.wan.stats.obps<br />
|<number><br />
|R<br />
|WAN output throughput in BPS<br />
|-<br />
<br />
|status.wan.stats.oerrors<br />
|<number><br />
|R<br />
|wireless WAN output errors<br />
|-<br />
<br />
|status.wan.stats.omcasts<br />
|<number><br />
|R<br />
|wireless WAN output multicast traffic<br />
|-<br />
<br />
|status.wan.stats.opackets<br />
|<number><br />
|R<br />
|wireless WAN total output packets of current connection <br />
|-<br />
<br />
|status.wan.stats.out<br />
|<number><br />
|R<br />
|wireless WAN total output bytes of current connection<br />
|-<br />
<br />
|status.wan.stats.ts<br />
|<number><br />
|R<br />
|wireless WAN current connection time in seconds (ignore the decimal part)<br />
|-<br />
<br />
|command<br />
|<command><br />
|W<br />
|send a generic CLI command to the router. The <command> value is a text string exactly as specified in the CLI documentation<br />
|-<br />
<br />
|router<br />
|reboot<br />
|W<br />
|reboot the router<br />
|-<br />
|}<br />
<br />
== Release Notes ==<br />
=== 3.4.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''Cradlepoint is a registered trademark of CradlePoint Technology, Inc.</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Boschfpa&diff=5263Boschfpa2014-10-24T10:33:45Z<p>Manuela: </p>
<hr />
<div>The BOSCH FPA-5000 is a modular fire panel system.<br />
<br />
{{note|This I/O server requires the FPA firmware version 2.12.7 or later.}}<br />
<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
Be sure to use BOSCH sofware management tool RPS version 4_0_11 or later for the FPA configuration.<br />
<br />
Configure the RS-232 Communication Module module as follows:<br />
<br />
[[File:fpa1.png]]<br />
<br />
After the upload configuration process the FPA-5000 is ready to be connected via RS-232.<br />
<br />
RS-232 Communication Module overview:<br />
<br />
[[File:fpa2.png|500px]]<br />
<br />
<br />
RS-232 parameters:<br />
{| class="wikitable"<br />
| '''Baud rate'''<br />
| 9600<br />
|-<br />
| '''Data bits'''<br />
| 7<br />
|-<br />
| '''Stop bit'''<br />
| 1<br />
|-<br />
| '''Parity'''<br />
| even<br />
|-<br />
| '''Flow control'''<br />
| none<br />
|}<br />
<br />
== HSYCO Configuration ==<br />
Add a BOSCHFPA I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''Comm ID''': select the comm port connected to the panel.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|gui<br />
|rowspan="2"|true<br />
|true<br />
|enable support for the UI (event log object)<br />
|-<br />
|false<br />
|disable UI support<br />
|-<br />
<br />
|rowspan="3"|language<br />
|rowspan="3"|system language<br />
|en<br />
|rowspan="3"|language of log and display messages. Supported values are English, Italian and German<br />
|-<br />
|it<br />
|-<br />
|de<br />
|-<br />
<br />
|logsize<br />
|100<br />
|n &ge; 0<br />
|the number of log lines to display in the UI object<br />
|-<br />
|}<br />
<br />
=== boschfpa.ini ===<br />
<br />
The boschfpa.ini file is an optional configuration file located in the main directory (same directory as hsyco.ini or hsyco.jar) and used to define zones (lines) names. If defined, these names will be used instead of the original <logical address>.<subaddress> format in the log files and GUI event log object. <br />
<br />
Changes to the boschfpa.ini file are automatically detected and don't require a restart to become effective.<br />
<br />
{{tip|This file is case sensitive.}}<br />
<br />
For each zone (line), enter a line formatted as:<br />
<br />
<pre><br />
<io_server_id>.line.<logical address>.<subaddress> = <name><br />
</pre><br />
<br />
For instance:<br />
<br />
<pre><br />
fpa.line.3.1 = DATA ROOM SENSOR<br />
fpa.line.4.1 = GENERATORS ROOM<br />
</pre><br />
<br />
== Datapoints ==<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|connection established<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can't connect to the panel<br />
|-<br />
<br />
|rowspan="2" |buzzer<br />
|rowspan="2" |off<br />
|R<br />
|buzzer silenced (forced event)<br />
|-<br />
|W<br />
|silence the buzzer<br />
|-<br />
<br />
|rowspan="26" |line.<logical address>.<subaddress><br />
|bypass<br />
|R<br />
|bypass<br />
|-<br />
|blocked<br />
|R<br />
|blocked<br />
|-<br />
|warningthreshold<br />
|R<br />
|threshold warning<br />
|-<br />
|tamper<br />
|R<br />
|tamper alarm<br />
|-<br />
|alarminvestigation<br />
|R<br />
|alarm verification<br />
|-<br />
|invalid<br />
|R<br />
|invalid<br />
|-<br />
|fire<br />
|R<br />
|fire<br />
|-<br />
|fireprealarm<br />
|R<br />
|fire pre-alarm<br />
|-<br />
|firedaymode<br />
|R<br />
|fire day mode<br />
|-<br />
|normal<br />
|R<br />
|normal<br />
|-<br />
|fault<br />
|R<br />
|fault<br />
|-<br />
|troublelight<br />
|R<br />
|minor fault<br />
|-<br />
|supervisorymonitorwater<br />
|R<br />
|supervisory, monitor, water<br />
|-<br />
|off<br />
|R<br />
|off<br />
|-<br />
|on<br />
|R<br />
|on<br />
|-<br />
|paperout<br />
|R<br />
|out of paper<br />
|-<br />
|powerfail<br />
|R<br />
|power fail<br />
|-<br />
|activated<br />
|R<br />
|activated<br />
|-<br />
|pollution<br />
|R<br />
|heavy contamination<br />
|-<br />
|pollutionlight<br />
|R<br />
|minor contamination<br />
|-<br />
|walktestfire<br />
|R<br />
|walk test fire<br />
|-<br />
|walktestnormal<br />
|R<br />
|walk test normal<br />
|-<br />
|walktesttrouble<br />
|R<br />
|walk test fault<br />
|-<br />
|walktestoff<br />
|R<br />
|walk test off<br />
|-<br />
|walkteston<br />
|R<br />
|walk test on<br />
|-<br />
|walktestactivation<br />
|R<br />
|walk test activation<br />
|-<br />
<br />
|rowspan="2" |<br />
status.bypass<BR><br />
status.blocked<BR><br />
status.warningthreshold<BR><br />
status.tamper<BR><br />
status.alarminvestigation<BR><br />
status.invalid<BR><br />
status.fire<BR><br />
status.fireprealarm<BR><br />
status.firedaymode<BR><br />
status.normal<BR><br />
status.trouble<BR><br />
status.troublelight<BR><br />
status.supervisorymonitorwater<BR><br />
status.off<BR><br />
status.on<BR><br />
status.paperout<BR><br />
status.powerfail<BR><br />
status.activated<BR><br />
status.pollution<BR><br />
status.pollutionlight<BR><br />
status.walktestfire<BR><br />
status.walktestnormal<BR><br />
status.walktesttrouble<BR><br />
status.walktestoff<BR><br />
status.walkteston<BR><br />
status.walktestactivation<br />
|1<br />
|R<br />
|one or more lines in this state<br />
|-<br />
|0<br />
|R<br />
|no lines in this state<br />
|-<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|logs<br />
|value<br />
|the latest entries of the security log (as many as specified in hsyco.ini)<br />
|-<br />
|}<br />
<br />
<br />
== Log Files ==<br />
<br />
A permanent record of all the events shown in the log page is saved in a file called security.log in the logs/YYYY directory for the current year.<br />
<br />
This file is never overwritten or deleted by HSYCO.<br />
<pre><br />
2014.07.10 17:27:24.873 - fpa - fault: 2451.0<br />
2014.07.10 17:27:46.813 - fpa - fire: data room sensor<br />
2014.07.10 17:27:48.851 - fpa - activated: 1603.1<br />
2014.07.10 17:27:54.002 - fpa - activated: 1602.1<br />
2014.07.10 17:27:54.924 - fpa - activated: 1601.1<br />
2014.07.10 17:28:10.609 - fpa - normal: data room sensor<br />
2014.07.10 17:28:11.603 - fpa - normal: 2451.0<br />
</pre><br />
<br />
Other information related to the BOSCH FPA driver may be saved in the daily message.log files.<br />
<br />
<br />
== Release Notes ==<br />
=== 3.4.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''FPA-5000 is a registered trademark of Bosch Security Systems.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=HwgMonitor&diff=5262HwgMonitor2014-10-24T10:33:26Z<p>Manuela: </p>
<hr />
<div>The HWGMONITOR I/O Server supports the following monitoring devices from [http://www.hw-group.com HW group]:<br />
<br />
* Damocles<br />
* Poseidon<br />
* STE<br />
* WLD.<br />
<br />
<br />
[[Category:I/O Server]]<br />
<br />
== HSYCO Configuration ==<br />
<br />
Add an HWGMONITOR I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
<br />
*'''IP Address''': host name or IP address of the device<br />
*'''IP Port''': TCP/IP port to use, leave blank to use default port 80.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true (these devices accept multiple connection and could be accessed by two HSYCO servers simultaneously).<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|pollinterval<br />
|1000<br />
|n &ge; 0<br />
|the data polling interval, in milliseconds<br />
|-<br />
|}<br />
<br />
==Monitoring Devices Configuration ==<br />
<br />
This I/O Server uses the XML format and HTTP requests to constantly poll the devices for the current status.<br />
<br />
All HWg monitoring devices allow you to assign custom names to each sensor connected to a device.<br />
The name is important, as it is used by HSYCO as the id to retrieve the sensor’s data.<br />
You should configure these names, using the configuration interface of the device.<br />
<br />
Refer to the device manual for detailed configuration information.<br />
<br />
== Datapoints ==<br />
<br />
The I/O Server generates asynchronous events based on the status of the devices input pins. The output data points can be written to control the output pins.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|model<br />
|<model_id><br />
|R<br />
|the device model, as returned in the <model> tag of the XML response<br />
<br />
|-<br />
|<sensor_name><br />
|<value><br />
|R<br />
|the value returned for input <sensor_name>, as returned in the <value> tag of the XML response<br />
<br />
|-<br />
|<sensor_name>.cnt<br />
|<value><br />
|R<br />
|the counter value returned for input <sensor_name>, as returned in the <cnt> tag of the XML response (for Damocles devices)<br />
<br />
|-<br />
|<sensor_name>.units<br />
|<units><br />
|R<br />
|the units string returned for input <sensor_name>, as returned in the <units> tag of the XML response<br />
<br />
|-<br />
|read<br />
|all<br />
|W<br />
|forces the driver to poll the device to read the current status. This command could be used to occasionally refresh the status at a faster rate that the preset poll interval<br />
<br />
|-<br />
|rowspan="2" |<output_id><br />
|0<br />
|W<br />
|set output <output_id> to off<br />
|-<br />
|1<br />
|W<br />
|set output <output_id> to on<br />
<br />
|}<br />
<br />
<br />
{{note|Please note that while the assigned sensor name is used to identify sensors, the outputs are identified by their IDs, not the names.}}<br />
<br />
You can retrieve the output IDs looking at the values.xml page (for example <nowiki>http://<damocles ip address>/values.xml</nowiki>). The output section should have an <ID> XML entry.<br />
<br />
In the example below, the ID of out1 is 151:<br />
<br />
<Entry><br />
<ID>151</ID><br />
<Name>out1</Name><br />
<NameOff>OFF</NameOff><br />
<NameOn>ON</NameOn><br />
<Mode>0</Mode><br />
<Value>1</Value><br />
<Init>0</Init><br />
<CondInputID>0</CondInputID><br />
<Trigger>0.0</Trigger><br />
</Entry><br />
<br />
== Release Notes ==<br />
=== 3.4.0 ===<br />
*new poll interval option<br />
*new command read=all to read the device status<br />
<br />
=== 3.0.1 ===<br />
*fixed a bug that could block the update of the systemtopo.txt file at start-up<br />
<br />
=== 2.8.4 ===<br />
*support for the HWg Damocles line of products, with input lines counters<br />
<br />
=== 2.8.0 ===<br />
*initial support<br />
<br />
----<br />
<br />
<br />
''HWg is a registered trademark of HW group s.r.o.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Modbus&diff=5260Modbus2014-10-24T10:33:08Z<p>Manuela: </p>
<hr />
<div>The Modbus Protocol is a messaging structure. It is used to establish master-slave/client-server communication between intelligent devices. It is a de facto standard. The Modbus RTU specification defines the default communication protocol over serial lines. The Modbus TCP/IP specification takes the Modbus instruction set and wraps TCP/IP around it.<br />
<br />
HSYCO supports both Modbus TCP and Modbus RTU, acting as a Modbus master in both cases.<br />
<br />
This support is implemented as a set of Java APIs that allow read/write functions as described in the HSYCO Programming Handbook, and an I/O Server with a data point representation that you can use in the EVENTS language to poll Modbus data and generate events.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== General Configuration ==<br />
=== Modbus TCP ===<br />
If a Modbus TCP/IP device is used to interface HSYCO to a Modbus RTU or ASCII bus over RS485, the gateway should be configured as Modbus TCP/IP slave and Modbus RTU/ASCII master.<br />
<br />
HSYCO can also directly access Modbus TCP slave devices.<br />
<br />
=== Modbus RTU ===<br />
HSYCO supports Modbus RTU over RS485, using the FTDI’s USB-RS485 cable, a USB to RS485 levels serial UART converter cable incorporating FTDI’s FT232RQ USB to serial UART interface IC device which handles all the USB signaling and protocols. The cable provides a fast, simple way to connect devices with a RS485 interface to USB.<br />
<br />
[[File:IO Server Modbus Cable1.png|center|250px]]<br />
<br />
The USB-RS485 cable connects to any USB port of the HSYCO server, and doesn’t require external power supply. It offers an internal 120 Ohm resistor for line termination, and +5Vcc and ground level references that could become handy to connect pull-up and pull-down resistors for lines’ polarization (See the MODBUS over Serial Line Specification & Implementation guide for additional information about line polarization and termination).<br />
<br />
[[File:IO Server Modbus Cable2.png|center|500px]]<br />
<br />
{{note| The USB-RS485 cable doesn’t provide opto-isolated RS485 lines. Transient currents and voltage levels exceeding the cable’s specification could damage the USB-RS485 cable, HSYCO server and any Modbus device attached to the RS485 line.}}<br />
<br />
== HSYCO Configuration ==<br />
Add a MODBUSTCP or MODBUSRTU I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
==== Modbus TCP ====<br />
*'''IP Address''': IP address of the gateway<br />
*'''IP Port''': TCP/IP port to use, leave blank to use default port 502.<br />
<br />
==== Modbus RTU ====<br />
*'''Comm ID''': select the comm port the device is connected to.<br />
<br />
When creating the used comm port, its id depends on your HSYCO server configuration, and should be "ttyUSB0" if there are no other devices connected to the USB ports.<br />
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.<br />
<br />
The communication parameters should be set to the 9600,8,1,2,0 defaults, unless you want to use a different speed.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|eventslog<br />
|rowspan="2"|false<br />
|true<br />
|if the general eventsLog option is also true in hsyco.ini, Modbus events for this gateway are written in the log files<br />
|-<br />
|false<br />
|Modbus events for this gateway are not written in the log files, even if the eventsLog option is true in hsyco.ini<br />
|-<br />
<br />
|rowspan="2"|extendednames<br />
|rowspan="2"|false<br />
|true<br />
|when this option is set, data point names used to return values will have the postfix .FF, where FF is the 2-digit decimal function code<br />
|-<br />
|false<br />
|data points’ default naming convention is used<br />
|-<br />
<br />
<br />
<br />
|}<br />
<br />
== Modbus Integration ==<br />
Because the Modbus protocol is not asynchronous, but is based on polling, you always have to request a read to tell the driver to actually read the data and eventually generate an event on the associated data point if the data has changed.<br />
<br />
== Datapoints ==<br />
<br />
The naming convention HSYCO uses for the events is closely related to the Modbus addressing standards and data types.<br />
<br />
The data point names always begin with the same format: ID.unitid.address, where ID is the I/O server id, unitid is the Modbus slave device address, from 1 to 247, and address is the initial register address you are reading.<br />
<br />
The supported public function codes are:<br />
<br />
*01: Read Coils<br />
*02: Read Discrete Inputs<br />
*03: Read Holding Registers<br />
*04: Read Input Registers<br />
*05: Write Single Coil<br />
*06: Write Single Register<br />
*15: Write Multiple Coils<br />
*16: Write Multiple Registers<br />
*22: Mask Write Register (only available using the modbusWriteMaskRegister() JavaScript and Java function)<br />
*23: Read/Write Multiple Registers (only available using the modbusReadWriteMultipleRegisters() JavaScript and Java function).<br />
<br />
Read operations with functions 03 and 04 support the following data types:<br />
<br />
{| class="wikitable"<br />
!Type code<br />
!Description<br />
!Return range<br />
!Number of registers<br />
|-<br />
<br />
|ushort<br />
|unsigned short integer <br />
|0 ... 65535 <br />
|1<br />
|-<br />
<br />
|uint<br />
|unsigned integer <br />
|0 ... (2<sup>32</sup> - 1) <br />
|2<br />
|-<br />
<br />
|ulong <br />
|unsigned long integer <br />
|0 ... (2<sup>64</sup> - 1) <br />
|4<br />
|-<br />
<br />
|short signed <br />
|short integer <br />
| -32768 ... +32767 <br />
|1<br />
|-<br />
<br />
|int <br />
|signed integer <br />
| -2<sup>31</sup> ... (2<sup>31</sup> - 1) <br />
|2<br />
|-<br />
<br />
|long <br />
|signed long integer <br />
| -2<sup>63</sup> ... (2<sup>63</sup> - 1) <br />
|4<br />
|-<br />
<br />
|float <br />
|signed IEEE 754 floating point<br />
| +/- 2<sup>-149</sup> ... (2-2<sup>-23</sup>)x2<sup>127</sup><br />
|2<br />
|-<br />
<br />
|}<br />
<br />
=== Read Coils ===<br />
Reads from 1 to 2000 contiguous coils, using function code 01. Each coil returns a binary value, 0 or 1, in distinct data points, one for each coil.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|unitid.address<br />
|readcoils:<n><br />
|W<br />
|executes the Read Coils function, reading <n> coils<br />
|- <br />
<br />
|rowspan="2"|unitid.address.1<br/> ... <br/>unitid.address.<n><br/> or<br/> unitid.address.01.<n><br/> if extendednames is set <br />
|0<br />
|R<br />
|the status of the <n>-th coil starting at address is off<br />
|- <br />
|1<br />
|R<br />
|the status of the <n>-th coil starting at address is on<br />
|-<br />
<br />
|unitid.address.error<br/> or<br/> unitid.address.01.error<br/> if extendednames is set<br />
|0, null, >0<br />
|R<br />
| the error status. 0: no error; null: unknown error; >0: modbus exception code <br />
|- <br />
|}<br />
<br />
The <n> value after readcoils: can also be a variable, that will be replaced with its numeric content, for example:<br />
IO modbus.27.400 = readcoils:$number<br />
<br />
=== Read Discrete Inputs ===<br />
Reads from 1 to 2000 contiguous discrete inputs, using function code 02. Each input returns a binary value, 0 or 1, in distinct data points, one for each coil.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|unitid.address<br />
|readdiscreteinputs:<n><br />
|W<br />
|executes the Read Discrete Inputs function, reading <n> inputs<br />
|-<br />
<br />
|rowspan="2"|unitid.address.1 <br/> ... <br/> unitid.address.<n> <br/> or <br/> unitid.address.02.<n> <br/> if extendednames is set<br />
|0<br />
|R<br />
|the status of the <n>-th input starting at address is off<br />
|-<br />
|1<br />
|R<br />
|the status of the <n>-th input starting at address is on<br />
|-<br />
<br />
|unitid.address.error <br/> or <br/> unitid.address.02.error <br/> if extendednames is set<br />
|0, null, >0<br />
|R<br />
| the error status. 0: no error; null: unknown error; >0: modbus exception code <br />
|-<br />
<br />
|}<br />
<br />
The <n> value after readdiscreteinputs: can also be a variable, that will be replaced with its numeric content, for example:<br />
IO modbus.27.400 = readdiscreteinputs:$number<br />
<br />
=== Read Holding Registers ===<br />
Reads one data point, using function code 03 to read the appropriate number of registers, based on the data type.<br />
<br />
Each reading returns a single value, but you can also use an extended read function to read multiple consecutive values with one single Modbus read function, by adding :<n> at the end of “readholdingregisters:<format>”, where <n> is the number of values.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|unitid.address <br />
|readholdingregisters:ushort<br />
|W<br />
|executes the Read Holding registers function, reading 1 register and interpreting the data as an unsigned short integer<br />
|-<br />
<br />
|unitid.address <br />
|readholdingregisters:uint <br />
|W<br />
|executes the Read Holding registers function, reading 2 consecutive registers and interpreting the data as an unsigned integer<br />
|-<br />
<br />
|unitid.address <br />
|readholdingregisters:ulong<br />
|W<br />
|executes the Read Holding registers function, reading 4 consecutive registers and interpreting the data as an unsigned long integer<br />
|-<br />
<br />
|unitid.address <br />
|readholdingregisters:short<br />
|W<br />
|executes the Read Holding registers function, reading 1 register and interpreting the data as a signed short integer<br />
|-<br />
<br />
|unitid.address <br />
|readholdingregisters:int<br />
|W<br />
|executes the Read Holding registers function, reading 2 consecutive registers and interpreting the data as a signed integer<br />
|-<br />
<br />
|unitid.address <br />
|readholdingregisters:long <br />
|W<br />
|executes the Read Holding registers function, reading 4 consecutive registers and interpreting the data as a signed long integer<br />
|-<br />
<br />
|unitid.address <br />
|readholdingregisters:bitshort<br />
|W<br />
|executes the Read Holding registers function, reading 1 register and interpreting the data as 16 individual bits<br />
|-<br />
<br />
|unitid.address <br />
|readholdingregisters:bitint<br />
|W<br />
|executes the Read Holding registers function, reading 2 consecutive registers and interpreting the data as 32 individual bits<br />
|-<br />
<br />
|unitid.address <br />
|readholdingregisters:bitlong<br />
|W<br />
|executes the Read Holding registers function, reading 4 consecutive registers and interpreting the data as 64 individual bits<br />
|-<br />
<br />
|unitid.address <br />
|readholdingregisters:float <br />
|W<br />
|executes the Read Holding registers function, reading 2 consecutive registers and interpreting the data as a floating-point number using the IEEE Standard 754 representation<br />
|-<br />
<br />
|style="white-space:nowrap"| unitid.address <br/> or <br/> unitid.address.03 <br/> if extendednames is set<br />
|the returned value, according to the requested data type<br />
|R<br />
|this is the value read using the Read Holding Registers function<br />
|-<br />
<br />
|style="white-space:nowrap"| unitid.address.<n> <br/> or unitid.address.03.<n> <br/> if extendednames is set <br />
|the returned bit value, with <n> from 1 to 16, 32 or 64 <br />
|R<br />
|this is the value read using the Read Holding Registers function with bitshort, bitint or bitlong format options<br />
|-<br />
<br />
|style="white-space:nowrap"| unitid.address.error <br/> or <br/> unitid.address.03.error <br/> if extendednames is set<br />
|0, null, >0<br />
|R<br />
|the error status. 0: no error; null: unknown error; >0: modbus exception code <br />
|-<br />
<br />
|}<br />
<br />
=== Read Input Registers ===<br />
Reads one data point, using function code 04 to read the appropriate number of registers, based on the data type.<br />
<br />
Each reading returns a single value, but you can also use an extended read function to read multiple consecutive values with one single Modbus read function, by adding :N at the end of “readinputregisters:<format>”, where <n> is the number of values.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|unitid.address <br />
|readinputingregisters:ushort<br />
|W<br />
|executes the Read Input registers function, reading 1 register and interpreting the data as an unsigned short integer<br />
|-<br />
<br />
|unitid.address <br />
|readinputingregisters:uint <br />
|W<br />
|executes the Read Input registers function, reading 2 consecutive registers and interpreting the data as an unsigned integer<br />
|-<br />
<br />
|unitid.address <br />
|readinputregisters:ulong<br />
|W<br />
|executes the Read Input registers function, reading 4 consecutive registers and interpreting the data as an unsigned long integer<br />
|-<br />
<br />
|unitid.address <br />
|readinputregisters:short<br />
|W<br />
|executes the Read Input registers function, reading 1 register and interpreting the data as a signed short integer<br />
|-<br />
<br />
|unitid.address <br />
|readinputregisters:int<br />
|W<br />
|executes the Read Input registers function, reading 2 consecutive registers and interpreting the data as a signed integer<br />
|-<br />
<br />
|unitid.address <br />
|readinputregisters:long <br />
|W<br />
|executes the Read Input registers function, reading 4 consecutive registers and interpreting the data as a signed long integer<br />
|-<br />
<br />
|unitid.address <br />
|readinputregisters:bitshort<br />
|W<br />
|executes the Read Input registers function, reading 1 register and interpreting the data as 16 individual bits<br />
|-<br />
<br />
|unitid.address <br />
|readinputregisters:bitint<br />
|W<br />
|executes the Read Input registers function, reading 2 consecutive registers and interpreting the data as 32 individual bits<br />
|-<br />
<br />
|unitid.address <br />
|readinputregisters:bitlong<br />
|W<br />
|executes the Read Input registers function, reading 4 consecutive registers and interpreting the data as 64 individual bits<br />
|-<br />
<br />
|unitid.address <br />
|readinputregisters:float <br />
|W<br />
|executes the Read Input registers function, reading 2 consecutive registers and interpreting the data as a floating-point number using the IEEE Standard 754 representation<br />
|-<br />
<br />
|style="white-space:nowrap"| unitid.address <br/> or <br/> unitid.address.04 <br/> if extendednames is set<br />
|the returned value, according to the requested data type<br />
|R<br />
|this is the value read using the Read Input Registers function<br />
|-<br />
<br />
|style="white-space:nowrap"| unitid.address.<n> <br/> or unitid.address.04.<n> <br/> if extendednames is set <br />
|the returned bit value, with <n> from 1 to 16, 32 or 64 <br />
|R<br />
|this is the value read using the Read Input Registers function with bitshort, bitint or bitlong format options<br />
|-<br />
<br />
|style="white-space:nowrap"| unitid.address.error <br/> or <br/> unitid.address.04.error <br/> if extendednames is set<br />
|0, null, >0<br />
|R<br />
|the error status. 0: no error; null: unknown error; >0: modbus exception code <br />
|-<br />
<br />
|}<br />
<br />
=== Write Coils ===<br />
Writes a single coil, using function code 05, or multiple coils, using function 15.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="3"|unitid.address<br />
|bit:0<br/>bit:false<br/>bit:off<br/><br />
|W<br />
|executes the Write Single Coil function, setting the coil to off<br />
|- <br />
|bit:1<br/>bit:true<br/>bit:on<br/><br />
|W<br />
|executes the Write Single Coil function, setting the coil to on<br />
|- <br />
|bits:<nowiki><0|1|-...</nowiki> <br/><br />
|W<br />
|executes the Write Multiple Coils function, setting consecutive coils based on the binary sequence. The left-most bit in the sequence is the first coil<br />
|- <br />
<br />
|rowspan="2" style="white-space:nowrap"| unitid.address.<n> <br/> or unitid.address.05.<n> <br/> if extendednames is set <br />
|0 <br />
|R<br />
|the write function returned a correct response, and the new status of the coil is off<br />
|-<br />
|1<br />
|R<br />
|the write function returned a correct response, and the new status of the coil is on<br />
|-<br />
<br />
|style="white-space:nowrap"| unitid.address.error <br/> or <br/> unitid.address.05.error <br/> if extendednames is set<br />
|0, null, >0<br />
|R<br />
|the error status. 0: no error; null: unknown error; >0: modbus exception code <br />
|-<br />
|}<br />
<br />
The value after bit: and bits: can also be a variable, that will be replaced with its numeric content, for example:<br />
IO modbus.27.1220 = bit:$value<br />
<br />
=== Write Registers ===<br />
Writes registers, using function code 06 or 16, based on the data type.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|unitid.address <br />
|ushort:<value><br />
|W<br />
|executes the Write Single Register function, writing an unsigned short number<br />
|-<br />
<br />
|unitid.address <br />
|uint:<value> <br />
|W<br />
|executes the Write Multiple Registers function, writing an unsigned integer number to two adjacent registers<br />
|-<br />
<br />
|unitid.address <br />
|ulong:<value><br />
|W<br />
|executes the Write Multiple Registers function, writing an unsigned long number to four adjacent registers<br />
|-<br />
<br />
|unitid.address<br />
|short:<value><br />
|W<br />
|executes the Write Single Register function, writing a signed short number<br />
|-<br />
<br />
|unitid.address <br />
|int:<value><br />
|W<br />
|executes the Write Multiple Registers function, writing a signed integer number to two adjacent registers<br />
|-<br />
<br />
|unitid.address <br />
|long:<value><br />
|W<br />
|executes the Write Multiple Registers function, writing a signed long number to four adjacent registers<br />
|-<br />
<br />
|unitid.address <br />
|float:<value><br />
|W<br />
|executes the Write Multiple Registers function, writing a floating-point number using the IEEE Standard 754 representation to two adjacent registers<br />
|-<br />
<br />
|style="white-space:nowrap"| unitid.address <br/> or <br/> unitid.address.06 <br/> unitid.address.16 <br/> if extendednames is set<br />
|the returned value, according to the requested data type<br />
|R<br />
|the write function returned a correct response<br />
|-<br />
<br />
|style="white-space:nowrap"| unitid.address.error <br/> or <br/> unitid.address.06.error <br/> unitid.address.16.error <br/> if extendednames is set<br />
|0, null, >0<br />
|R<br />
|the error status. 0: no error; null: unknown error; >0: modbus exception code <br />
|-<br />
<br />
|}<br />
<br />
The value after short:, int: etc. can also be a variable, that will be replaced with its numeric content, for example:<br />
IO modbus.27.1220 = int:$value<br />
<br />
== Examples ==<br />
<br />
=== Reading an integer value from two registers ===<br />
<br />
TIME: IO modbus.27.400 = readholdingregisters:uint<br />
IO modbus.27.400 : UISET mydata.text = IO modbus.27.400<br />
<br />
The first line executes the read holding registers function on a Modbus device with address 27, reading two contiguous registers starting at address 400.<br />
<br />
The second line sets a text object of the Web interface with the value read from the Modbus device.<br />
<br />
=== Reading several values at once ===<br />
TIME: IO modbus.27.220 Modbus.27.222 Modbus.27.224 = readinputregisters:float<br />
IO modbus.27.220 : UISET mydata1.text = IO modbus.27.220<br />
IO modbus.27.224 : UISET mydata1.text = IO modbus.27.224<br />
<br />
The first line is a compact form for reading multiple data points.<br />
<br />
=== Reading binary data ===<br />
<br />
TIME: IO modbus.27.1000 = readdiscreteinputs:24<br />
IO modbus.27.1000.1 = 0 : UISET mylabel1.color = g<br />
IO modbus.27.1000.1 = 1 : UISET mylabel1.color = r<br />
...<br />
IO modbus.27.220.24 = 0 : UISET mylabel24.color = g<br />
IO modbus.27.220.24 = 1 : UISET mylabel24.color = r<br />
<br />
The first line executes the read discrete inputs function on a Modbus device with address 27, reading two contiguous registers starting at address 1000 and interpreting the first 24 bits as binary values.<br />
<br />
The following lines change the color of some objects of the Web interface to green if the bit status is 0 or red if the status is 1.<br />
<br />
=== Reading in extended mode ===<br />
If the option extendednames was specified in System Settings:<br />
<br />
TIME: IO modbus.27.1000 = readholdingregisters:ushort<br />
IO modbus.27.1000.03 : UISET mydata.text = IO modbus.27.1000.03<br />
<br />
The first line executes the read holding register function for an ushort value on a Modbus device with address 27, reading the registers 1000.<br />
<br />
The following line changes the attribute text of a text object setting it to the value just read.<br />
<br />
=== Writing a single coil ===<br />
TIME : IO modbus.27.1220 = bit:1<br />
Set coil 1220 to on.<br />
<br />
=== Writing multiple coils ===<br />
TIME : IO modbus.27.1220 = bits:100<br />
<br />
Set three coils starting from 1220 to 1, 0, 0.<br />
<br />
=== Writing registers ===<br />
TIME : IO modbus.27.210 = ushort:2048 <br />
TIME : IO modbus.27.220 = float:-123.22<br />
TIME : IO modbus.27.230 modbus.27.240 = long:200000000<br />
<br />
The first line executes the write single register on a Modbus device with address 27, writing the register at address 210 with an unsigned short number. <br />
<br />
The second line executes the write multiple registers on a Modbus device with address 27, writing two consecutive registers starting at address 220 with an IEEE-754 floating-point number.<br />
<br />
The third line executes the write multiple registers on a Modbus device with address 27, writing four consecutive registers starting at address 230 and four at 240 with a signed long number.<br />
<br />
== Release Notes ==<br />
=== 3.4.0 ===<br />
*added support for function 23, Read/Write Multiple Registers:<br />
**modbusReadWriteMultipleRegisters() Java method and JavaScript function<br />
<br />
=== 3.3.0 ===<br />
*added support for Write Multiple Coils function:<br />
**writeMultipleCoils() Java method and JavaScript function<br />
**ID.unitid.address = bits:<0|1>... in EVENTS<br />
<br />
=== 3.2.1 ===<br />
*EVENTS: minor fixes to the readcoils and readdiscreteinputs actions<br />
=== 3.2.0 ===<br />
*reading multiple consecutive values with a single Modbus read is now supported for readholdingregisters and readinputregisters<br />
=== 3.1.1 ===<br />
*using format options bitshort, bitint and bitlong for readholdingregisters and readinputregisters, it is now possible to read 1, 2 or 4 registers and return the individual bit values<br />
=== 3.1.0 ===<br />
*new error events on Modbus read or write errors<br />
*new option extendedNames. When this option is set, data point names used to return values will have the postfix .FF, where FF is the 2-digit decimal function code<br />
=== 3.0.3 ===<br />
*fixes to the Modbus write functions<br />
*variables can now be used in value strings<br />
=== 3.0.0 ===<br />
*initial release<br />
<br />
<br />
----<br />
''Modbus is a registered trademark of Modbus Organization, Inc.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Modbus_Server&diff=5259Modbus Server2014-10-24T10:32:50Z<p>Manuela: </p>
<hr />
<div>The Modbus Protocol is a messaging structure. It is used to establish master-slave/client-server communication between intelligent devices. It is a de facto standard. The Modbus RTU specification defines the default communication protocol over serial lines. The Modbus TCP/IP specification takes the Modbus instruction set and wraps TCP/IP around it.<br />
<br />
HSYCO’s MODBUS TCP SERVER I/O Server implements a Modbus TCP/IP server, allowing external Modbus clients to connect to HSYCO and perform any standard Modbus function.<br />
<br />
This support is implemented as a simple Java API.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== HSYCO Configuration ==<br />
Add a MODBUSTCPSERVER I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': local IP address where to accept connections, leave blank to accept connection on any LAN port and IP address<br />
*'''IP Port''': TCP/IP port to use, leave blank to use default port 502.<br />
<br />
{{note|if more than one MODBUSTCPSERVER I/O servers are defined they have to be on different ports or IP addresses.}}<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to false.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|connectionslog<br />
|rowspan="2"|false<br />
|true<br />
|log all connections and disconnects<br />
|-<br />
|false<br />
|don't log connections<br />
|-<br />
<br />
|rowspan="2"|eventslog<br />
|rowspan="2"|false<br />
|true<br />
|if the general eventsLog option is also true in hsyco.ini, Modbus events for this gateway are written in the log files<br />
|-<br />
|false<br />
|Modbus events for this gateway are not written in the log files, even if the eventsLog option is true in hsyco.ini<br />
|-<br />
<br />
|rowspan="2"|forcedevents<br />
|rowspan="2"|true<br />
|true<br />
|generate forced events on any write command<br />
|-<br />
|false<br />
|generate events only on registers' data changes<br />
|-<br />
<br />
|rowspan="1"|maxconnections<br />
|rowspan="1"|128<br />
|> 0<br />
|maximum number of concurrent connections<br />
|-<br />
<br />
|}<br />
<br />
== Modbus Server Integration ==<br />
The Modbus TCP Server is implemented as a multi-threaded socket server that can accept multiple concurrent connections.<br />
<br />
There are no hard-coded limits to the number of concurrent connections and no idle time-out mechanism to disconnect connections that don’t do any traffic for a certain amount of time. A socket-level keepalive mechanism is in place to ensure that a socket thread is closed and resources freed if the client drops the connection without a graceful close.<br />
<br />
It is the clients’ responsibility to ensure the correct handling of connections to the server.<br />
<br />
Whenever a client sends a Modbus request to the HSYCO server, the Modbus TCP Server will execute a Java callback method passing the complete PDU as a byte array, and respond with a PDU based on the returned byte array or, if the callback method is not defined or returns null, it will execute the Modbus read or write function using its internal data tables.<br />
<br />
== Datapoints ==<br />
<br />
The naming convention HSYCO uses for the events is closely related to the Modbus addressing standards and data types.<br />
<br />
The data point names always begin with the same format: <ioserver_id>.unitid.address, where ''unitid'' is the Modbus slave device address, from 1 to 247, and ''address'' is the initial register address you are reading.<br />
<br />
The supported public function codes are:<br />
*01: Read Coils<br />
*02: Read Discrete Inputs<br />
*03: Read Holding Registers<br />
*04: Read Input Registers<br />
*05: Write Single Coil<br />
*06: Write Single Register<br />
*15: Write Multiple Coils<br />
*16: Write Multiple Registers<br />
*22: Mask Write Register<br />
*23: Read/Write Multiple Registers.<br />
<br />
These functions read and write data on four distinct data tables:<br />
{| class="wikitable"<br />
!Table<br />
!Suffix<br />
!Object Type<br />
!Mode<br />
!Functions<br />
|-<br />
<br />
|Discrete Inputs<br />
|.di <br />
|Single bit <br />
|Read Only <br />
|02<br />
|-<br />
<br />
|Coils <br />
|.co <br />
|Single bit <br />
|Read Write <br />
|01 05 15<br />
|-<br />
<br />
|Input Registers<br />
|.ir <br />
|16-bit word <br />
|Read Only <br />
|04<br />
|-<br />
<br />
|Holding Registers <br />
|.hr <br />
|16-bit word <br />
|Read Write <br />
|03 06 16 22 23<br />
|-<br />
<br />
|}<br />
<br />
Operations on Input Registers and Holding Registers tables support the following data types:<br />
<br />
{| class="wikitable"<br />
!Type code<br />
!Description<br />
!Return range<br />
!Number of registers<br />
|-<br />
<br />
|ushort<br />
|unsigned short integer <br />
|0 ... 65535 <br />
|1<br />
|-<br />
<br />
|uint<br />
|unsigned integer <br />
|0 ... (2<sup>32</sup> - 1) <br />
|2<br />
|-<br />
<br />
|ulong <br />
|unsigned long integer <br />
|0 ... (2<sup>64</sup> - 1) <br />
|4<br />
|-<br />
<br />
|short <br />
|signed short integer <br />
| -32768 ... +32767 <br />
|1<br />
|-<br />
<br />
|int <br />
|signed integer <br />
| -2<sup>31</sup> ... (2<sup>31</sup> - 1) <br />
|2<br />
|-<br />
<br />
|long <br />
|signed long integer <br />
| -2<sup>63</sup> ... (2<sup>63</sup> - 1) <br />
|4<br />
|-<br />
<br />
|float <br />
|signed IEEE 754 floating point<br />
| +/- 2<sup>-149</sup> ... (2-2<sup>-23</sup>)x2<sup>127</sup><br />
|2<br />
|-<br />
<br />
|}<br />
<br />
=== Discrete Inputs Data Table ===<br />
The internal discrete inputs data table can be read by a Modbus client, and written locally to set the discrete inputs’ values.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="3"|unitid.address.di<br />
|bit:0<br/>bit:false<br/>bit:off<br/><br />
|W<br />
|sets a single bit in the discrete inputs data table to off<br />
|- <br />
|bit:1<br/>bit:true<br/>bit:on<br/><br />
|W<br />
|sets a single bit in the discrete inputs data table to on<br />
|- <br />
|bits:<nowiki><0|1|-...</nowiki> <br/> '-' characters in the sequence are skipped<br />
|W<br />
|sets multiple bits in the discrete inputs data table. <br/> The left-most bit in the sequence is the discrete input at <address><br />
|- <br />
|}<br />
<br />
=== Coils Data Table ===<br />
The internal coils data table can be read or written by a Modbus client, and written locally to set the coils’ values.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="6"|unitid.address.co<br />
|bit:0<br/>bit:false<br/>bit:off<br/><br />
|W<br />
|sets a single coil in the coils data table to off<br />
|- <br />
|bit:1<br/>bit:true<br/>bit:on<br/><br />
|W<br />
|sets a single coil in the coils data table to on<br />
|- <br />
|bits:<nowiki><0|1|-...></nowiki> <br/> '-' characters in the sequence are skipped<br />
|W<br />
|sets multiple coils in the coils data table. <br/> The left-most bit in the sequence is the coil at <address><br />
|- <br />
|subscribe<br />
|W<br />
|subscribes one coil at <address> for event notification<br />
|- <br />
|subscribe:<n><br />
|W<br />
|subscribes <n> consecutive coils starting at <address> for event notification<br />
|- <br />
<br />
|0 <br/> 1<br />
|R<br />
|the status of the coil at <address>. Events are generated, only for coils that have been subscribed, when the coil is written by a Modbus client, even if there is no change of value<br />
|-<br />
<br />
|}<br />
<br />
The <n> value after subscribecoils: can also be a variable, that will be replaced with its numeric content.<br />
<br />
=== Input Registers Data Table ===<br />
The internal input registers data table can be read by a Modbus client, and written locally to set the registers’ values.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="9"|unitid.address.ir<br />
|ushort:<value><br />
|W<br />
|writes an unsigned short number to the input registers table<br />
|- <br />
|uint:<value><br />
|W<br />
|writes an unsigned integer number to the input registers table<br />
|- <br />
|ulong:<value><br />
|W<br />
|writes an unsigned long number to the input registers table<br />
|- <br />
|short:<value><br />
|W<br />
|writes a signed short number to the input registers table<br />
|- <br />
|int:<value><br />
|W<br />
|writes a signed integer number to the input registers table<br />
|- <br />
|long:<value><br />
|W<br />
|writes a signed long number to the input registers table<br />
|- <br />
|float:<value><br />
|W<br />
|writes a floating-point number using the IEEE Standard 754 representation to the input registers table<br />
|- <br />
|hex:<value><br />
|W<br />
|writes raw hex bytes to the input registers table<br />
|- <br />
|bits:<nowiki><0|1|-...></nowiki> <br/> '-' characters in the sequence are skipped<br />
|W<br />
|writes 16 bits to a single register in the input registers table. The leftmost bit is the MSB<br />
|- <br />
<br />
|}<br />
<br />
=== Holding Registers Data Table ===<br />
The internal holding registers data table can be read or written by a Modbus client, and written locally to set the registers’ values.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="19"|unitid.address.hr<br />
|ushort:<value><br />
|W<br />
|writes an unsigned short number to the holding registers table<br />
|- <br />
|uint:<value><br />
|W<br />
|writes an unsigned integer number to the holding registers table<br />
|- <br />
|ulong:<value><br />
|W<br />
|writes an unsigned long number to the holding registers table<br />
|- <br />
|short:<value><br />
|W<br />
|writes a signed short number to the holding registers table<br />
|- <br />
|int:<value><br />
|W<br />
|writes a signed integer number to the holding registers table<br />
|- <br />
|long:<value><br />
|W<br />
|writes a signed long number to the holding registers table<br />
|- <br />
|float:<value><br />
|W<br />
|writes a floating-point number using the IEEE Standard 754 representation to the holding registers table<br />
|- <br />
|hex:<value><br />
|W<br />
|writes raw hex bytes to the holding registers table<br />
|- <br />
|bits:<nowiki><0|1|-...></nowiki> <br/> '-' characters in the sequence are skipped<br />
|W<br />
|writes 16 bits to a single register in the holding registers table. The leftmost bit is the MSB<br />
|- <br />
|subscribe:ushort<br />
|W<br />
|subscribes an unsigned short at <address> for event notification<br />
|- <br />
|subscribe:uint<br />
|W<br />
|subscribes an unsigned int starting at <address> for event notification<br />
|- <br />
|subscribe:ulong<br />
|W<br />
|subscribes an unsigned long starting at <address> for event notification<br />
|- <br />
|subscribe:short<br />
|W<br />
|subscribes a signed short integer at <address> for event notification<br />
|- <br />
|subscribe:int<br />
|W<br />
|subscribes a signed int starting at <address> for event notification<br />
|- <br />
|subscribe:long<br />
|W<br />
|subscribes a signed long starting at <address> for event notification<br />
|-<br />
|subscribe:float<br />
|W<br />
|subscribes a floating-point number using the IEEE Standard 754 representation starting at <address> for event notification<br />
|-<br />
|subscribe:hex<br />
|W<br />
|subscribes a single register at <address> for event notification using the hex notation<br />
|-<br />
|subscribe:bits<br />
|W<br />
|subscribes the 16 individual bits of a single register at <address> for event notification<br />
|-<br />
|data type value<br />
|R<br />
| the decimal or hexadecimal value of the data type at <address>. Events are generated, based on subscribed data types and addresses, when the data is written by a Modbus client, even if there is no change of value<br />
|-<br />
<br />
|style="white-space:nowrap"| unitid.address.hr.<n> <br/><br/> <n> from 1 to 16; <br/> <n>=1 is the LSB of first byte; <br/> <n>=8 is MSB of first byte; <br/> <n>=9 is LSB of second byte; <br/> <n>=16 is MSB of second byte<br />
|0 or 1 bit value<br />
|R<br />
|the individual bits of a holding register at <address>. Events are generated, for bits subscriptions only, when the data is written by a Modbus client, even if there is no change of value<br />
|-<br />
<br />
|}<br />
<br />
== Java Callback Methods API ==<br />
<br />
=== ModbusEvent ===<br />
<br />
static byte[] ModbusEvent(String name, String InetAddress addr, int unitid, byte[] pdu)<br />
<br />
This event is triggered by any valid Modbus request from a client connected to the IP address and port of the HSYCO’s Modbus server, and can override the default server’s response.<br />
<br />
This method should return a valid PDU, that will be sent back to the client. If the method returns null, the server will perform the Modbus function on its internal data tables.<br />
<br />
'''Parameters:'''<br />
* name - the I/O Server name<br />
* addr - the client’s address<br />
* unitid - the Modbus unit id set in the client’s request<br />
* pdu - the full PDU byte array, starting with the function code.<br />
<br />
== Examples ==<br />
<br />
=== Subscribe request ===<br />
Subscribing in required whenever you need to generate ad IO event for a specified register. For example writing:<br />
<br />
io modbusserver.connection = online : io plc.1.1.hr = subscribe:bits<br />
io modbusserver.connection = online : io plc.1.2.hr = subscribe:short<br />
<br />
means that every time the registers 1 or 2 of the modbus unit with address 1 are changed the corresponding IO event is generated.<br />
<br />
=== Write on the modbus table ===<br />
Here's and example of how to write a value in the modbus server registers table.<br />
<br />
$value : io modbusserver.1.500.hr modbusserver.1.501.hr modbusserver1.502.hrmodbusserver.1.503.hr modbusserver.1.504.hr modbusserver.1.505.hr = "int:"$value, log = "MODBUS SERVER WRITE!!”<br />
<br />
=== Read Coils request ===<br />
<br />
<source lang="java"><br />
public static byte[] ModbusEvent(String name, InetAddress addr, int unitid, byte[] pdu) throws Exception {<br />
int registerAddress, quantity;<br />
<br />
if (unitid == 1) {<br />
if (pdu.length == 5 && pdu[0] == 1) {<br />
registerAddress = ((pdu[1] & 0xff) << 8) + (pdu[2] & 0xff);<br />
quantity = ((pdu[3] & 0xff) << 8) + (pdu[4] & 0xff);<br />
if (quantity == 1) {<br />
if (registerAddress % 2 == 0) {<br />
byte[] returnPDU = {0x01, 0x01, 0x00};<br />
return returnPDU;<br />
} else {<br />
byte[] returnPDU = {0x01, 0x01, 0x01};<br />
return returnPDU;<br />
}<br />
}<br />
}<br />
}<br />
return null;<br />
}<br />
</source><br />
<br />
<br />
<br />
This quite useless code segment will respond to a Read Coils Modbus request to read a single coil value from unit 1. The response will be 0 when the requested coil address is an even number, and 1 for odd address numbers. The callback will respond with an exception PDU with exception code 04.<br />
<br />
== Release Notes ==<br />
=== 3.4.0 ===<br />
*added support for function 23, Read/Write Multiple Registers<br />
*new option forcedevents, set to false to generate events only on registers' data changes. Default is true<br />
*new option connectionslog, set to true to log all connections. Default is false<br />
*new option maxconnections, sets the maximum number of concurrent connection. Default is 128<br />
<br />
=== 3.3.0 ===<br />
*initial release version<br />
<br />
<br />
----<br />
''Modbus is a registered trademark of Modbus Organization, Inc.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Mitsubishi&diff=5258Mitsubishi2014-10-24T10:32:27Z<p>Manuela: </p>
<hr />
<div>The MITSUBISHI air-conditioning system equipped with one of the centralized controllers among G-50, GB-50, or AG-150 allows for remote control and supervision, via Ethernet communication, of the whole framework.<br />
<br />
This I/O Server complies with the XML API for the Mitsubishi M-NET proprietary protocol.<br />
<br />
{{note|In order to connect the Mitsubishi controller with HSYCO, the Web Monitor and Annual Schedule pin codes activation are required. On request, Mitsubishi will provide a document to be compiled for the activation.}}<br />
<br />
[[Category:I/O Server]]<br />
<br />
== M-NET Architecture ==<br />
All the devices comprising the M-NET architecture are assigned an address ranging from 0 to 250. <br />
<br />
Conditioners and lossnay modules can be associated to 50 different groups (indexed from 1 to 50). The control of these modules is thus performed addressing the group they belong to.<br />
<br />
Further, it is possible to expand the system using up to three ECs which allow to replicate a full M-NET architecture under each EC. In this case, modules are addressed specifying both the EC and the group they belong to.<br />
<br />
The following image shows a possible configuration of a simple system:<br />
<br />
[[File:IOServer_Mitsubishi_Architecture.png|600px|border]]<br />
<br />
The Mitsubishi controller replies on the port 80 (10 sockets) or 1025 (4 sockets) of its IP address.<br />
<br />
== HSYCO Configuration ==<br />
Add an MNET I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the controller<br />
*'''IP Port''': TCP/IP port to use, can be set to 80 or 1025, leave blank to use default port 80.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|gui<br />
|rowspan="2"|true<br />
|true<br />
|enable support for the UI object, UISET actions and USER commands<br />
|-<br />
|false<br />
|disable UI support<br />
|-<br />
<br />
|rowspan="2"|startupevents<br />
|rowspan="2"|false<br />
|true<br />
|generate IO events also during the driver’s start-up phase<br />
|-<br />
|false<br />
|start generating events only after HSYCO is aligned with the current status of the system<br />
|-<br />
<br />
|pollinterval<br />
|20<br />
|n > 0<br />
|the data acquisition interval, in seconds<br />
|-<br />
<br />
|ec<br />
|0<br />
|0 - 3 <br />
|specifies the number of ECs connected to the main controller. A value of 0 indicates that no EC is used<br />
|-<br />
<br />
|}<br />
<br />
== Datapoints ==<br />
In the following tables, replace <target> with "system" for sending the command to all the defined groups. If ECs are used (i.e. the option “ec” is set to a value greater than 0), you can specify “<nowiki>ec<s></nowiki>” (with <nowiki><s></nowiki> ranging from 1 to the specified value of ECs) as target to address a single sub-system.<br />
<br />
Further, replace <nowiki><n></nowiki> in “g<nowiki><n></nowiki>” with a group number ranging from 1 to 50 and replace <nowiki><m></nowiki> in "a<nowiki><m></nowiki>" with an address from 0 to 250.<br />
<br />
If ECs are used, it is necessary to specify the EC number we are addressing too. To this end, prepend the string “<nowiki>ec<s></nowiki>.” to the group or the address.<br />
<br />
For instance, when an EC is used, the following datapoint ID is not correct:<br />
g1.power<br />
<br />
The correct one to be used is the following:<br />
ec1.g1.power<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|connection established<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can't connect to the panel<br />
|-<br />
<br />
|rowspan="4" |<target>.power<br />
|rowspan="2" |1<br />
|R<br />
|at least one group is on<br />
|-<br />
|W<br />
|turn all the groups on<br />
|-<br />
|rowspan="2"|0<br />
|R<br />
|the whole system is off<br />
|-<br />
|W<br />
|turn the whole system off<br />
|-<br />
<br />
|rowspan="2" |<target>.mode<br />
|cool<br/>dry<br/>fan<br/>heat<br/>auto<br />
|W<br />
|set the mode of all the groups to the specified value (Air conditioner modes)<br />
|-<br />
|heatrecovery<br/>lcauto<br/>bypass<br />
|W<br />
|set the mode of all the groups to the specified value (LOSSNAY modes)<br />
|-<br />
<br />
|<target>.temp<br />
|17 - 30<br />
|W<br />
|set the temperature of all the groups to the specified value (if compliant with the allowed ranges<sup>[[#note1|[Note 1]]]</sup>)<br />
|-<br />
<br />
|<target>.airdirection<br />
|horizontal<br/>mid1<br/>mid2<br/>vertical<br/>swing<br />
|W<br />
|set the air direction of all the groups to the specified value<br />
|-<br />
<br />
|<target>.fanspeed<br />
|high<br/>mid1<br/>mid2<br/>low<br />
|W<br />
|set the speed of the fan of all the groups to the specified value<br />
|-<br />
<br />
|<target>.ventilation<br />
|high<br/>low<br/>off<br />
|W<br />
|set the operation status of the interlocked LOSSNAY or OA processing unit present in the whole system to the specified value<br />
|-<br />
<br />
|rowspan="2"|<target>.prohibit.drive<br />
|1<br />
|W<br />
|prohibit power switching by remote control to all the groups<br />
|-<br />
|0<br />
|W<br />
|allow power switching by remote control to all the groups<br />
|-<br />
<br />
|rowspan="2"|<target>.prohibit.mode<br />
|1<br />
|W<br />
|prohibit mode setting by remote control to all the groups<br />
|-<br />
|0<br />
|W<br />
|allow mode setting by remote control to all the groups<br />
|-<br />
<br />
|rowspan="2"|<target>.prohibit.settemp<br />
|1<br />
|W<br />
|prohibit temperature setting by remote control to all the groups<br />
|-<br />
|0<br />
|W<br />
|allow temperature setting by remote control to all the groups<br />
|-<br />
<br />
|rowspan="2"|<target>.prohibit.filter<br />
|1<br />
|W<br />
|prohibit filter signal reset by remote control to all the groups<br />
|-<br />
|0<br />
|W<br />
|allow filter signal reset by remote control to all the groups<br />
|-<br />
<br />
|rowspan="2"|<target>.reset<br />
|error<br />
|W<br />
|reset the error signal of all the groups<br />
|-<br />
|filter<br />
|W<br />
|reset the filter signal of all the groups<br />
|-<br />
<br />
|rowspan="4"|g<n>.power<br />
|rowspan="2"|1<br />
|R<br />
|this group is on<br />
|-<br />
|W<br />
|turn this group on<br />
|-<br />
|rowspan="2"|0<br />
|R<br />
|this group is off<br />
|-<br />
|W<br />
|turn this group off<br />
|-<br />
<br />
|rowspan="5"|g<n>.mode<br />
|rowspan="2"|cool<br/>dry<br/>fan<br/>heat<br/>auto<br />
|R<br />
|the mode of this group is set to the reported value (Air conditioner modes)<br />
|-<br />
|W<br />
|set the mode of this group to the specified value (Air conditioner modes)<br />
|-<br />
|autoheat<br/>autocool<br />
|R<br />
|the mode of this group is set to the reported value (Air conditioner modes)<br />
|-<br />
|rowspan="2"|heatrecovery<br/>lcauto<br/>bypass<br />
|R<br />
|the mode of this group is set to the reported value (LOSSNAY modes)<br />
|-<br />
|W<br />
|set the mode of this group to the specified value (LOSSNAY modes)<br />
|-<br />
<br />
|rowspan="2"|g<n>.temp<br />
|rowspan="2"|17 - 30<br />
|R<br />
|the set temperature for this group correspond to the reported value (in °C)<br />
|-<br />
|W<br />
|set the temperature of this group to the specified value (if compliant with the allowed ranges<sup>[[#note1|[Note 1]]]</sup>)<br />
|-<br />
<br />
|g<n>.inlettemp<br />
|0 - 999<br />
|R<br />
|the inlet measured temperature for this group (in tenth of °C)<br />
|-<br />
<br />
|rowspan="2"|g<n>.airdirection<br />
|rowspan="2"|horizontal<br/>mid1<br/>mid2<br/>vertical<br/>swing<br />
|R<br />
|the air direction for this group is set to the reported value<br />
|-<br />
|W<br />
|set the air direction of this group to the specified value<br />
|-<br />
<br />
|rowspan="2"|g<n>.fanspeed<br />
|rowspan="2"|high<br/>mid1<br/>mid2<br/>low<br />
|R<br />
|the fan speed for this group is set to the reported value<br />
|-<br />
|W<br />
|set the speed of the fan of this group to the specified value<br />
|-<br />
<br />
|rowspan="2"|g<n>.ventilation<br />
|rowspan="2"|high<br/>low<br/>off<br />
|R<br />
|the operation status of the interlocked LOSSNAY or OA processing unit present in this group is set to the reported value<br />
|-<br />
|W<br />
|set the operation status of the interlocked LOSSNAY or OA processing unit present in this group to the specified value<br />
|-<br />
<br />
|rowspan="4"|g<n>.prohibit.drive<br />
|rowspan="2"|1<br />
|R<br />
|the power switching by remote control is prohibited to this group<br />
|-<br />
|W<br />
|prohibit power switching by remote control to this group<br />
|-<br />
|rowspan="2"|0<br />
|R<br />
|the power switching by remote control is allowed to this group<br />
|-<br />
|W<br />
|allow power switching by remote control to this group<br />
|-<br />
<br />
|rowspan="4"|g<n>.prohibit.mode<br />
|rowspan="2"|1<br />
|R<br />
|the mode setting by remote control is prohibited to this group<br />
|-<br />
|W<br />
|prohibit mode setting by remote control to this group<br />
|-<br />
|rowspan="2"|0<br />
|R<br />
|the mode setting by remote control is allowed to this group<br />
|-<br />
|W<br />
|allow mode setting by remote control to this group<br />
|-<br />
<br />
|rowspan="4"|g<n>.prohibit.settemp<br />
|rowspan="2"|1<br />
|R<br />
|the temperature setting by remote control is prohibited to this group<br />
|-<br />
|W<br />
|prohibit temperature setting by remote control to this group<br />
|-<br />
|rowspan="2"|0<br />
|R<br />
|the temperature setting by remote control is allowed to this group<br />
|-<br />
|W<br />
|allow temperature setting by remote control to this group<br />
|-<br />
<br />
|rowspan="4"|g<n>.prohibit.filter<br />
|rowspan="2"|1<br />
|R<br />
|the filter signal reset by remote control is prohibited to this group<br />
|-<br />
|W<br />
|prohibit filter signal reset by remote control to this group<br />
|-<br />
|rowspan="2"|0<br />
|R<br />
|the filter signal reset by remote control is allowed to this group<br />
|-<br />
|W<br />
|allow filter signal reset by remote control to this group<br />
|-<br />
<br />
|rowspan="2"|g<n>.filter<br />
|1<br />
|R<br />
|the filter signal of this group is on <br />
|-<br />
|0<br />
|R<br />
|the filter signal of this group is off<br />
|-<br />
<br />
|rowspan="2"|g<n>.error<br />
|1<br />
|R<br />
|the error signal of this group is on <br />
|-<br />
|0<br />
|R<br />
|the error signal of this group is off<br />
|-<br />
<br />
|rowspan="2"|g<n>.reset<br />
|filter<br />
|W<br />
|reset the filter signal of this group <br />
|-<br />
|error<br />
|W<br />
|reset the error signal of this group<br />
|-<br />
<br />
|rowspan="2"|a<m>.error<br />
|0<br />
|R<br />
|no error is reported for this address <br />
|-<br />
|<xxxx><br />
|R<br />
|the error with code <xxxx> is reported for this address<br />
|-<br />
<br />
|rowspan="2"|system.error<br />
|1<br />
|R<br />
|an error is detected on some address <br />
|-<br />
|0<br />
|R<br />
|no error detected on any address<br />
|-<br />
<br />
|}<br />
<br />
<span id="note1"><br />
;Note 1 : <br />
For some modes the temperature must be set following these ranges:<br />
*modes “cool” or “dry”: 19 - 30<br />
*mode “heat”: 17 - 28<br />
*mode “auto”: 19 - 28<br />
If <target> is set to “system” or “ec<nowiki><s></nowiki>” and the specified temperature parameter doesn’t respect the above mentioned ranges for a group belonging to the target, then the temperature is not changed for that group and an error message is logged.<br />
</span><br />
<br />
== User Interface ==<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|connection <br />
|visible<br />
|true when the device appears offline, false otherwise<br />
|-<br />
<br />
|system.power <br />
|value<br />
|the status of the system: ON: at least one group is on; OFF: all the system is off<br />
|-<br />
<br />
|ec<nowiki><s></nowiki>.power <br />
|value<br />
|the status of the sub-system connected to this EC: ON: at least one group is on; OFF: all the sub-system is off. Valid if the option “ec” is set to a value greater that 0.<br />
|-<br />
<br />
|g<n>.power <br />
|value<br />
|the status of the specified group: ON, OFF<br />
|-<br />
<br />
|g<n>.mode <br />
|value<br />
|the set mode for this group: COOL, DRY, FAN, HEAT, AUTO, AUTOHEAT, AUTOCOOL, HEATRECOVERY, LCAUTO, BYPASS<br />
|-<br />
<br />
|g<n>.temp <br />
|value <br />
|the set temperature for this group: 17 - 30 °C<br />
|-<br />
<br />
|g<n>.inlettemp <br />
|value <br />
|the inlet measured temperature for the specified group: 0.0 - 99.9 °C<br />
|-<br />
<br />
|g<n>.airdirection <br />
|value <br />
|the air direction setting for this group: HORIZONTAL, MID1, MID2, VERTICAL, SWING<br />
|-<br />
<br />
|g<n>.fanspeed <br />
|value<br />
|the speed of the fan for this group: HIGH, MID1, MID2, LOW<br />
|-<br />
<br />
|g<n>.ventilation <br />
|value <br />
|operation status of the interlocked LOSSNAY or OA processing unit: HIGH, LOW, OFF<br />
|-<br />
<br />
|g<n>.prohibit.drive <br />
|value <br />
|power switching by remote control prohibition: ON, OFF<br />
|-<br />
<br />
|g<n>.prohibit.mode <br />
|value <br />
|mode changing by remote control prohibition: ON, OFF<br />
|-<br />
<br />
|g<n>.prohibit.settemp <br />
|value <br />
|temperature setting by remote control prohibition: ON, OFF<br />
|-<br />
<br />
|g<n>.prohibit.filter <br />
|value<br />
|filter signal reset by remote control prohibition: ON, OFF<br />
|-<br />
<br />
|g<n>.error <br />
|visible <br />
|true if the error state for this group is set, false otherwise<br />
|-<br />
<br />
|g<n>.filter <br />
|visible <br />
|true if the filter signal state for this group is set, false otherwise<br />
|-<br />
<br />
|a<m>.error <br />
|visible<br />
|true if an error is detected for the specified address, false if no error is signaled<br />
|-<br />
<br />
|a<m>.error <br />
|value<br />
|error code for the specified address<br />
|-<br />
<br />
|system.error <br />
|visible <br />
|true if an error is detected on any address, false otherwise<br />
|-<br />
<br />
|}<br />
<br />
=== USER Commands ===<br />
<br />
{| class="wikitable"<br />
!Name<br />
!Param<br />
!Action<br />
|-<br />
<br />
|rowspan="2"|<target>.power<br />
|on<br />
|turn the target on<br />
|-<br />
|off<br />
|turn the target off<br />
|-<br />
<br />
|rowspan="2"|<target>.mode<br />
|cool<br/>dry<br/>fan<br/>heat<br/>auto<br />
|air conditioner modes<br />
|-<br />
|heatrecovery<br/>lcauto<br/>bypass<br />
|LOSSNAY modes<br />
|-<br />
<br />
|rowspan="3"|<target>.temp<br />
|17 - 30<br />
|set the target temperature<sup>[[#note1|[Note 1]]]</sup><br />
|-<br />
|up<br />
|increase the target temperature by 1°C (if the upper limit is not reached)<sup>[[#note1|[Note 1]]]</sup><br />
|-<br />
|down<br />
|decrease the target temperature by 1°C (if the lower limit is not reached)<sup>[[#note1|[Note 1]]]</sup><br />
|-<br />
<br />
|<target>.airdirection<br />
|horizontal<br/>mid1<br/>mid2<br/>vertical<br/>swing<br />
|set the air direction of the target to the specified mode<br />
|-<br />
<br />
|rowspan="2"|g<n>.airdirection<br />
|up<br />
|change the air direction of this group according to the sequence: vertical - mid2 - mid1 - horizontal. If the current direction is set to swing, sets it to horizontal<br />
|-<br />
|down<br />
|change the air direction of this group according to the sequence: horizontal - mid1 - mid2 - vertical. If the current direction is set to swing, set it to vertical<br />
|-<br />
<br />
|<target>.fanspeed<br />
|high<br/>mid1<br/>mid2<br/>low<br />
|set the fan speed of the target<br />
|-<br />
<br />
|rowspan="2"|g<n>.fanspeed<br />
|up<br />
|change the fan speed of this group according to the sequence: low - mid2 - mid1 - high<br />
|-<br />
|down<br />
|change the fan speed of this group according to the sequence: low - mid2 - mid1 - high<br />
|-<br />
<br />
|<target>.ventilation<br />
|high<br/>low<br/>off<br />
|set the operation status of the interlocked LOSSNAY or OA processing unit<br />
|-<br />
<br />
|rowspan="2"|<target>.reset<br />
|error<br />
|reset the error signal of the terget<br />
|-<br />
|filter<br />
|reset the filter signal of the target<br />
|-<br />
<br />
|rowspan="2"|<target>.prohibit.drive<br />
|on<br />
|prohibit power switching by remote control<br />
|-<br />
|off<br />
|allow power switching by remote control<br />
|-<br />
<br />
|rowspan="2"|<target>.prohibit.mode<br />
|on<br />
|prohibit mode setting by remote control<br />
|-<br />
|off<br />
|allow mode setting by remote control<br />
|-<br />
<br />
|rowspan="2"|<target>.prohibit.settemp<br />
|on<br />
|prohibit temperature setting by remote control<br />
|-<br />
|off<br />
|allow temperature setting by remote control<br />
|-<br />
<br />
|rowspan="2"|<target>.prohibit.filter<br />
|on<br />
|prohibit filter signal reset by remote control<br />
|-<br />
|off<br />
|allow filter signal reset by remote control<br />
|-<br />
<br />
|rowspan="4"|g<n>.prohibit<br />
|drive<br />
|switch the state (on/off) of the drive prohibition for this group<br />
|-<br />
|mode<br />
|switch the state (on/off) of the mode prohibition for this group<br />
|-<br />
|settemp<br />
|switch the state (on/off) of the temperature setting prohibition for this group<br />
|-<br />
|filter<br />
|switch the state (on/off) of the filter reset prohibition for this group<br />
|-<br />
<br />
|}<br />
<br />
== Release Notes ==<br />
=== 3.4.0===<br />
*inlet temperature not working with decimal values<br />
=== 3.0.0 ===<br />
*initial release version<br />
<br />
----<br />
<br />
<br />
''Mitsubishi and M-NET are registered trademarks of MITSUBISHI ELECTRIC, Inc.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=MyHome&diff=5257MyHome2014-10-24T10:32:10Z<p>Manuela: </p>
<hr />
<div>MyHome is a proprietary bus system for home automation developed by BTicino. HSYCO fully integrates with MyHome using the OpenWebNet (OWN) protocol.<br />
<br />
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. <br />
<br />
The bus architecture can be arranged as a single bus or with a riser and several local busses.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
HSYCO supports the Ethernet IP connection to MyHome through IP-based OWN gateways, including the F452, F453, F454, F453AV, MH200 and MH200N.<br />
<br />
HSYCO also supports the L4686SDK module through an USB connection and an associated virtual serial port.<br />
<br />
== Gateway Configuration ==<br />
<br />
The OWN gateway must be configured to allow open OWN connections from the IP address assigned to the HSYCO server.<br />
<br />
== L4686SDK Module ==<br />
The L4686SDK interface module is connected to HSYCO using a USB cable.<br />
<br />
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.<br />
<br />
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.<br />
<br />
For example, in this screenshot we can take a look to the configuration with an L4686SDK connected to the second USB port (ttyUSB1)<br />
<br />
[[File:Myhome-l4686sdk.png|500px]]<br />
<br />
=== L4686SDK Limitations ===<br />
*L4686SDK firmware version 1.20.0 or later is required<br />
*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<br />
*Check the L4686SDK documentation to know which functions are actually supported, also based on the L4686SDK firmware version<br />
*The clock read and sync functions are not supported<br />
*HSYCO only support the L4686SDK module on a single main bus; private raiser buses are not supported<br />
*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.<br />
<br />
== HSYCO Configuration ==<br />
Add a MYHOME I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the gateway<br />
*'''IP Port''': TCP/IP port to use, leave blank to use default port 20000.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to false.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|gui<br />
|rowspan="2"|true<br />
|true<br />
|enables automatic support of Web GUI objects to show the status of the system and intercept control buttons<br />
|-<br />
|false<br />
|disables support for the Web GUI<br />
|-<br />
<br />
|rowspan="2"|startupevents<br />
|rowspan="2"|false<br />
|true<br />
|generate IO events also during the driver’s start-up phase<br />
|-<br />
|false<br />
|start generating events only after HSYCO is aligned with the current status of the system<br />
|-<br />
<br />
|rowspan="2"|discovery<br />
|rowspan="2"|true<br />
|true<br />
|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<br />
|-<br />
|false<br />
|auto-detect is disabled<br />
|-<br />
<br />
|style="white-space:nowrap"|tempzones<sup>[[#note1|[Note 1]]]</sup><br />
|<br />
|style="white-space:nowrap"| z<n><br />
|if you want to monitor and control temperature zones, all zone numbers should be listed with the tempzones option. <n> is the zone number. Multiple zones should be separated by semicolons<br />
|-<br />
<br />
|language<br />
|en<br />
|en, it, fr<br />
|the language used for automatically generated GUI text fields<br />
|}<br />
<br />
<span id="note1"><br />
;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. <br />
<br />
For example:<br />
tempZones=(32);33<br />
<br />
defines a central unit having address 32, and an additional zone with address 33.<br />
<br />
The MyHome I/O Server supports only one central unit for each SCS riser bus.<br />
</span><br />
<br />
=== myhome.ini ===<br />
The myhome.ini file is a specific configuration file located in the main directory (same directory as hsyco.ini or hsyco.jar).<br />
<br />
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.<br />
<br />
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:<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Description<br />
|-<br />
<br />
<br />
|security.zone.<n><br />
|the friendly name for burglar alarm zone <n><br />
|-<br />
<br />
|security.aux.<n><br />
|the friendly name for burglar alarm technical alarm <n><br />
|- <br />
<br />
|}<br />
<br />
The myhome.ini is automatically detected at start-up and automatically reloaded whenever it is modified.<br />
<br />
For example, the following myhome.ini file is used to define a few friendly names of two distinct My Home systems:<br />
<br />
<pre><br />
mh1.security.zone.1.name=entrance<br />
mh1.security.zone.2.name=lobby<br />
mh1.security.aux.1.name=flooding<br />
mh2.security.zone.3.name=windows<br />
mh2.security.zone.5.name=driveway<br />
</pre><br />
<br />
== The Device Configuration Database ==<br />
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.<br />
<br />
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.<br />
<br />
This is an example of an automatically generated systemtopo.txt file:<br />
<pre><br />
(devices)<br />
mh.autom.82 : AUTOM ; VSHUT ; <br />
mh.autom.88 : AUTOM ; VSHUT ; <br />
mh.autom.93 : AUTOM ; VSHUT ; <br />
mh.autom.96 : AUTOM ; VSHUT ; <br />
mh.light.11 : LIGHT ; LIGHT ; <br />
mh.light.12 : LIGHT ; LIGHT ; <br />
mh.light.13 : LIGHT ; LIGHT ; <br />
mh.light.16 : LIGHT ; LIGHT ;<br />
mh.light.25 : LIGHT ; DIMMER ; DIMMER<br />
</pre><br />
<br />
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.<br />
<br />
You should manually add comments and other optional parameters:<br />
<pre><br />
(devices)<br />
mh.autom.82 : AUTOM ; VSHUT ; driveway gate<br />
mh.autom.88 : AUTOM ; VSHUT ; awning<br />
mh.autom.93 : AUTOM ; VSHUT ; kitchen shutter<br />
mh.autom.96 : AUTOM ; VSHUT ; bedroom shutter<br />
</pre><br />
<br />
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:<br />
<pre><br />
(devices)<br />
mh.scene.94.5 : LIGHT ; SCENE ; close all shutters<br />
mh.scene.94.10 : LIGHT ; SCENE ; night mode<br />
</pre><br />
<br />
== Datapoints ==<br />
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.<br />
<br />
In OWN, the standard monitor and command frames have the following format:<br />
<br />
*<who>*<what>*<where>##<br />
<br />
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.<br />
<br />
With few exceptions, this frame format translates to the following event format inside HSYCO:<br />
<br />
IO servername.<who>.<where> = <what><br />
<br />
The WHO field in OWN frames is a number, while we use a literal string in HSYCO to make names easier to read. <br />
<br />
The table below lists all supported <who> functions and the HSYCO’s corresponding literals that form the prefix of all IO data points.<br />
<br />
{| class="wikitable"<br />
!OWN WHO<br />
!HSYCO Prefix<br />
!Function Description<br />
|-<br />
<br />
|0 <br />
|scene <br />
|scenario module<br />
|-<br />
|1 <br />
|light<br />
|lighting module<br />
|-<br />
|2 <br />
|autom <br />
|automation module (inter-locking)<br />
|-<br />
|3 <br />
|load <br />
|load control<br />
|-<br />
|4 <br />
|temp<br />
|temperature control<br />
|-<br />
|5 <br />
|security <br />
|burglar alarm panel<br />
|-<br />
|9 <br />
|aux <br />
|auxiliary address<br />
|-<br />
|15 <br />
|cen <br />
|cen modules / addresses<br />
|-<br />
|25 <br />
|cenplus <br />
|cen plus modules and dry contacts / IR modules<br />
|-<br />
|}<br />
<br />
The <where> field in OWN is, in most cases, the numeric address of a module, eventually followed by <nowiki>#4#<b></nowiki> for modules on local buses (<nowiki><b></nowiki> is the local bus numerical id). Group addressing has the <where> field formatted as #<g>, where <g> is the group’s numerical id.<br />
<br />
The table below defines the conversion rules between the OWN <where> format and HSYCO’s data points format.<br />
<br />
{| class="wikitable"<br />
!OWN WHERE<br />
!HSYCO Format<br />
!Description<br />
|-<br />
<br />
|<n> <br />
|<n><br />
|if <n> is a plain number, it is used as-is in HSYCO. Note that you should retain the leading zero when present. 01 is not equivalent to 1 in OWN, and HSYCO simply passes the where field back and forth with no changes<br />
|-<br />
|#<n> <br />
|g<n><br />
|group addresses are represented in HSYCO as a lowercase g followed by the group numerical id, from 1 to 9<br />
|-<br />
|<n>#4#<b><br />
|l<b>.<n> <br />
|a lowercase “l” and the local bus id are prefixed to the base address<br />
|-<br />
|style="white-space:nowrap"|#<n>#4#<b> <br />
|l<b>.g<n><br />
|group addressing on local buses<br />
|-<br />
<br />
|}<br />
<br />
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.<br />
<br />
=== Gateway Module ===<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|connection established to the OWN gateway<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can’t connect to the OWN gateway<br />
|-<br />
<br />
|rowspan="2"|frame<br />
|rowspan="2"|OWN raw frame<br />
|R<br />
|a frame event is generated on incoming frames, based on the monitor setting (see below)<br />
|-<br />
|W<br />
|send a raw OWN frame to the gateway<br />
|-<br />
<br />
|rowspan="3" |monitor<br />
|none<br />
|W<br />
|the frame datapoint is not set with monitored frames<br />
|-<br />
|ignored<br />
|W<br />
|the frame datapoint is set with monitored frames that are not recognized and translated to specific events<br />
|-<br />
|all<br />
|W<br />
|the frame datapoint is set with any monitored frame<br />
|-<br />
<br />
|rowspan="3" |clock<br />
|sync<br />
|W<br />
|set the gateway clock to HSYCO’s current time<br />
|-<br />
|read<br />
|W<br />
|read the gateway clock, and the delta with HSYCO’s time<br />
|-<br />
|style="white-space:nowrap"|<yyyy>-<mm>-<dd> <hh>:<mm>:<ss><br />
|R<br />
|the gateway clock current time<br />
|-<br />
<br />
|clock.delta<br />
|integer<br />
|R<br />
|the delta time in seconds between the gateway and HSYCO clocks. A positive number means that the gateway clock is ahead of HSYCO<br />
|-<br />
|}<br />
<br />
=== Scenario Modules ===<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="8" |scene.<module> <br/> scene.<bus>.<module><br />
|rowspan="2"|erase<br />
|R<br />
|all scenarios erased<br />
|-<br />
|W<br />
|erase all scenarios<br />
|-<br />
|rowspan="2"|lock<br />
|R<br />
|module is locked (cannot erase or record scenarios)<br />
|-<br />
|W<br />
|lock the scenario module<br />
|-<br />
|rowspan="2"|unlock<br />
|R<br />
|module is unlocked (can erase and record scenarios)<br />
|-<br />
|W<br />
|unlock the scenario module<br />
|-<br />
|unavailable<br />
|R<br />
|the scenario module is busy<br />
|-<br />
|full<br />
|R<br />
|the scenario module memory is full<br />
|-<br />
<br />
|rowspan="13" |scene.<module>.<scene> <br/> scene.<bus>.<module>.<scene><br/><sup>[[#note2|[Note 2]]]</sup><br />
|rowspan="2"|1<br />
|R<br />
|scenario activated<br />
|-<br />
|W<br />
|execute scenario<br />
|-<br />
<br />
|on<br />
|W<br />
|execute scenario<br />
|-<br />
<br />
|rowspan="2"|0<br />
|R<br />
|scenario deactivated or cleared<br />
|-<br />
|W<br />
|deactivate scenario<br />
|-<br />
<br />
|off<br />
|W<br />
|deactivate scenario<br />
|-<br />
<br />
|clear<br />
|W<br />
|clear scenario status, without sending the deactivate command to the module<br />
|-<br />
<br />
|rowspan="2"|record<br />
|R<br />
|recording<br />
|-<br />
|W<br />
|start recording<br />
|-<br />
<br />
|rowspan="2"|end<br />
|R<br />
|end of recording<br />
|-<br />
|W<br />
|stop recording<br />
|-<br />
<br />
|rowspan="2"|erase<br />
|R<br />
|the scenario has been erased<br />
|-<br />
|W<br />
|erase scenario<br />
|-<br />
<br />
|}<br />
<br />
<span id="note2"><br />
;Note 2 : <br />
<module> is the scenario module address, from 01 to 99 (retain the leading 0).<br />
<br />
<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.<br />
<br />
<scene> is the scenario number, from 1 to 32 (do not add a leading 0 for numbers less than 10).<br />
<br />
{{tip| 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.}}<br />
</span><br />
<br />
=== Lighting: on/off Modules ===<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="8"|light.<where><br />
|rowspan="2"|1<br />
|R<br />
|on status<br />
|-<br />
|W<br />
|turn on<br />
|-<br />
<br />
|on<br />
|W<br />
|turn on<br />
|-<br />
<br />
|rowspan="2"|0<br />
|R<br />
|off status<br />
|-<br />
|W<br />
|turn off<br />
|-<br />
<br />
|off<br />
|W<br />
|turn off<br />
|-<br />
<br />
|lock<br />
|W<br />
|lock (disable)<br />
|-<br />
<br />
|unlock<br />
|W<br />
|unlock (enable)<br />
|-<br />
<br />
|}<br />
<br />
When a module is locked, it doesn’t respond to any bus command except the unlock command.<br />
<br />
=== Lighting: Dimmer Modules ===<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
<br />
|rowspan="12"|light.<where><br />
|1<br />
|W<br />
|turn on at last level<br />
|-<br />
|on<br />
|W<br />
|turn on at last level<br />
|-<br />
|rowspan="2"|0 <br />
|R<br />
|off status<br />
|-<br />
|W<br />
|turn off<br />
|-<br />
<br />
|off<br />
|W<br />
|turn off<br />
|-<br />
<br />
|rowspan="2"|<x>% <br />
|R<br />
|<x>% level<br />
|-<br />
|W<br />
|set to <x>% level<br />
|-<br />
<br />
|<x> <br />
|W<br />
|set to <x>% level<br />
|-<br />
<br />
|<x>/<y><br />
|W<br />
|set to <x>/<y> level<br />
|-<br />
<br />
|fault<br />
|R<br />
|load fault detected<br />
|-<br />
<br />
|lock <br />
|W<br />
|lock (disable)<br />
|-<br />
<br />
|unlock<br />
|W<br />
|unlock (enable)<br />
|-<br />
<br />
|}<br />
<br />
Dimmers level can be set between 20% and 100%, in 10% steps.<br />
<br />
=== Automation: Inter-locking Modules ===<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
<br />
|rowspan="10"|autom.<where><br />
|unknown<br />
|R<br />
|the module’s status is unknown at this time<br />
|-<br />
<br />
|offup<br />
|R<br />
|off in up position<br />
|-<br />
<br />
|offdown<br />
|R<br />
|off in down position<br />
|-<br />
<br />
|stop <br/> off <br/> 0<br />
|W<br />
|stop<br />
|-<br />
<br />
|rowspan="2"|up<br />
|R<br />
|going up<br />
|-<br />
|W<br />
|up/open command<br />
|-<br />
<br />
|rowspan="2"|down<br />
|R<br />
|going down<br />
|-<br />
|W<br />
|down/close command<br />
|-<br />
<br />
|lock<br />
|W<br />
|lock (disable)<br />
|-<br />
<br />
|unlock<br />
|W<br />
|unlock (enable)<br />
|-<br />
<br />
|}<br />
<br />
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.<br />
<br />
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.<br />
<br />
=== Temperature Control: Central Unit ===<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|temp.control <br />
|0 <br />
|R<br />
|supervisor control of central unit disabled <br />
|-<br />
|1<br />
|R <br />
|supervisor control of central unit enabled <br />
|-<br />
<br />
|temp.zone.off <br/>[forced event] <br />
|1 <br />
|R<br />
|at least one zone is set to off mode <br />
|-<br />
<br />
|temp.zone.protection <br/> [forced event] <br />
|1 <br />
|R<br />
|at least one zone is set to protection mode <br />
|-<br />
<br />
|temp.zone.manual <br/> [forced event] <br />
|1<br />
|R<br />
|at least one zone is set to manual mode <br />
|-<br />
<br />
|temp.fault <br/>[forced event] <br />
|1 <br />
|R<br />
|generic fault <br />
|-<br />
<br />
|temp.battery.fault <br/>[forced event] <br />
|1 <br />
|R<br />
|central unit battery fault<br />
|-<br />
<br />
|rowspan="4"|temp.mode <br />
|rowspan="2"|winter<br />
|R <br />
|winter mode <br />
|-<br />
|W<br />
|set winter mode<br />
|-<br />
|rowspan="2"|summer <br />
|R<br />
|summer mode <br />
|-<br />
|W<br />
|set summer mode<br />
|-<br />
<br />
|rowspan="7"|temp.setpoint <br />
|off <br />
|R<br />
|off mode <br />
|-<br />
<br />
|protection<br />
|R<br />
|temperature protection mode <br />
|-<br />
<br />
|<t><br />
|R<br />
|when setpoint.mode=man, <t> is the temperature setpoint in °C/10 <br />
|-<br />
<br />
|<p><br />
|R <br />
|when setpoint.mode=auto, <p> is the weekly program, from 1 to 3 <br />
|-<br />
<br />
|<s><br />
|R <br />
|when setpoint.mode=scenario, <s> is the scenario number, from 1 to 16<br />
|-<br />
<br />
|<d><br />
|R <br />
|when setpoint.mode=away, <d> is the number of days, from 1 to 255 <br />
|-<br />
<br />
|<p><br />
|R <br />
|when setpoint.mode=holiday, <p> is the weekly program to be set at the end of the day<br />
|-<br />
<br />
<br />
|rowspan="7"|temp.setpoint.mode <br />
|off<br />
|R <br />
|central unit is off<br />
|-<br />
|protection <br />
|R<br />
|central unit is in temperature protection mode<br />
|- <br />
|man <br />
|R<br />
|central unit is in manual mode <br />
|-<br />
|auto<br />
|R <br />
|central unit is in automatic mode<br />
|- <br />
|scenario <br />
|R<br />
|central unit is in scenario mode <br />
|-<br />
|away<br />
|R<br />
|central unit is in away mode<br />
|-<br />
|holiday<br />
|R <br />
|central unit is in holiday mode<br />
|-<br />
<br />
|rowspan="17"|temp.command <br />
|off<br />
|W<br />
|turn the system off<br />
|-<br />
|protection <br />
|W<br />
|set temperature protection mode<br />
|-<br />
|1<br />
|W<br />
|set weekly program 1<br />
|-<br />
|2<br />
|W <br />
|set weekly program 2<br />
|-<br />
|3 <br />
|W<br />
|set weekly program 3<br />
|-<br />
|<t><br />
|W<br />
|set to manual mode, temperature <t> (in C/10), for example t=215 is 21.5 °C<br />
|-<br />
|up <br />
|W<br />
|set to manual mode, raising the setpoint by 0.5 °C<br />
|-<br />
|down <br />
|W<br />
|set to manual mode, lowering the setpoint by 0.5 °C<br />
|-<br />
|holiday <br />
|W <br />
|set holiday program (returns to weekly program 1 at midnight)<br />
|-<br />
|holiday.<n><br />
|W<br />
|set holiday program (returns to weekly program <n> at midnight)<br />
|-<br />
|away.<yyyymmdd> <br />
|W<br />
|set away mode until the day passed as parameter, returning to weekly program 1 at midnight<br />
|-<br />
|away.<yyyymmdd> .<n><br />
|W<br />
|set away mode until the day passed as parameter, returning to weekly program <n> at midnight<br />
|-<br />
|away.<d><br />
|W<br />
|set away mode for <d> days, returning to weekly program 1 at midnight<br />
|-<br />
|away.+<d><br />
|W<br />
|increases the number of away days by <d>, starting from 2 days<br />
|-<br />
|away.-<d> <br />
|W<br />
|decreases the number of away days by <d><br />
|-<br />
|away.<d>.<n><br />
|W <br />
|set away mode for <d> days, returning to weekly program <n> at midnight<br />
|-<br />
|scenario.<n><br />
|W<br />
|set scenario mode <n><br />
|-<br />
<br />
|}<br />
<br />
=== Temperature Control: Zones ===<br />
<br />
In the following table, <z> is the zone number, from 1 to 99.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|temp.<z>.cooling.status <br />
|0 <br />
|R<br />
|zone actuator off in summer mode <br />
|-<br />
|1<br />
|R<br />
|zone actuator on in summer mode <br />
|- <br />
<br />
|rowspan="2"|temp.<z>.heating.status <br />
|0 <br />
|R<br />
|zone actuator off in winter mode <br />
|- <br />
|1<br />
|R<br />
|zone actuator on in winter mode <br />
|-<br />
<br />
|rowspan="4"|temp.<z>.fan <br />
|off <br />
|R<br />
|fan is off <br />
|- <br />
|min <br />
|R<br />
|slow fan speed <br />
|- <br />
|med<br />
|R<br />
|medium fan speed <br />
|- <br />
|max<br />
|R<br />
|fast fan speed <br />
|- <br />
<br />
|rowspan="2"|temp.<z>.mode<br />
|winter<br />
|R<br />
|winter mode <br />
|- <br />
|summer<br />
|R<br />
|summer mode <br />
|-<br />
<br />
|rowspan="8"|temp.<z>.setpoint <br />
|0 <br />
|W<br />
|turn zone off <br />
|-<br />
|off <br />
|W <br />
|turn zone off <br />
|-<br />
|auto <br />
|W <br />
|set zone to automatic mode <br />
|-<br />
|protection <br />
|W <br />
|set zone to temperature protection mode <br />
|-<br />
|up <br />
|W<br />
|set zone to manual mode, raising the setpoint by 0.5 °C <br />
|-<br />
|down <br />
|W<br />
|set zone to manual mode, lowering the setpoint by 0.5 °C <br />
|-<br />
|rowspan="2"|<t><br />
|R<br />
|current temperature setpoint <t> (in °C/10), corrected with local offset <br />
|- <br />
|W<br />
|set zone to manual mode, temperature <t> (in °C/10), for example t=215 is 21.5 °C <br />
|-<br />
<br />
|rowspan="3" style="white-space:nowrap"|temp.<z>.setpoint.local <br />
| -3 ... +3 <br />
|R<br />
|zone local offset is set to -3 ... +3 <br />
|- <br />
|protection <br />
|R<br />
|zone locally set to protection mode <br />
|-<br />
|off <br />
|R<br />
|zone locally set to off <br />
|-<br />
<br />
|rowspan="4"|temp.<z>.setpoint.mode <br />
|off <br />
|R<br />
|zone is off <br />
|- <br />
|protection<br />
|R <br />
|protection mode <br />
|- <br />
|man <br />
|R<br />
|manual mode <br />
|-<br />
|auto <br />
|R<br />
|automatic mode <br />
|- <br />
<br />
|temp.<z>.temp <br />
|<t><br />
|R<br />
|measured temperature <t> (in °C/10), for example t=183 is 18.3 °C <br />
|-<br />
<br />
|temp.<z> <br />
|unlock <br />
|W<br />
|zone unlock <br />
|-<br />
|}<br />
<br />
=== Burglar Alarm: Main Panel ===<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
<br />
|rowspan="2"|security.active<br />
|0 <br />
|R<br />
|the burglar alarm panel is not active<br />
|-<br />
|1 <br />
|R<br />
|the burglar alarm panel is active (not necessarily armed)<br />
|-<br />
<br />
|rowspan="2"|security.alarm <br />
|0<br />
|R<br />
|no alarm<br />
|-<br />
|1<br />
|R <br />
|ongoing alarm condition<br />
|-<br />
<br />
|security.delay<br/> [forced event] <br />
|end <br />
|R<br />
|end of arming delay (system now fully armed)<br />
|-<br />
<br />
|rowspan="2"|security.lowbattery <br />
|0 <br />
|R<br />
|battery ok<br />
|-<br />
|1<br />
|R <br />
|low battery or battery fault condition<br />
|-<br />
<br />
|rowspan="2"|security.maintenance <br />
|0 <br />
|R<br />
|not in maintenance mode<br />
|-<br />
|1<br />
|R <br />
|maintenance mode<br />
|-<br />
<br />
|rowspan="2"|security.nopower <br />
|0 <br />
|R<br />
|AC power ok<br />
|-<br />
|1 <br />
|R<br />
|fault condition on the AC power supply<br />
|-<br />
<br />
|rowspan="2"|security.programming <br />
|0<br />
|R <br />
|not in programming mode<br />
|-<br />
|1 <br />
|R<br />
|programming mode<br />
|-<br />
<br />
|rowspan="2"|security.status <br />
|off <br />
|R<br />
|system not armed<br />
|-<br />
|armed<br />
|R <br />
|system armed<br />
|-<br />
|}<br />
<br />
{{tip|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.}}<br />
<br />
=== Burglar Alarm: Zones and Technical (aux) ===<br />
<br />
In the following table, <z> is the zone number.<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|security.aux.<z>.alarm<br/>[forced event]<br />
|0 <br />
|R<br />
|technical alarm reset<br />
|-<br />
|1 <br />
|R <br />
|technical alarm zone <z><br />
|-<br />
|security.sensor.<z>.fault<br/>[forced event]<br />
|1 <br />
|R <br />
|sensor <z> fault<br />
|-<br />
|rowspan="2"|security.zone.<z>.active<br />
|0 <br />
|R<br />
|zone <z> is not active<br />
|-<br />
|1 <br />
|R<br />
|zone <z> is active<br />
|-<br />
|rowspan="2"|security.zone.<z>.alarm<br />
|0 <br />
|R<br />
|zone <z> intrusion alarm reset<br />
|-<br />
|1 <br />
|R<br />
|zone <z> intrusion alarm<br />
|-<br />
|rowspan="2"|security.zone.<z>.panic <br />
|0 <br />
|R<br />
|zone <z> panic alarm reset<br />
|-<br />
|1 <br />
|R<br />
|zone <z> panic alarm<br />
|-<br />
|rowspan="2"|security.zone.<z>.tamper<br />
|0 <br />
|R<br />
|zone <z> tamper alarm reset<br />
|-<br />
|1 <br />
|R<br />
|zone <z> tamper alarm<br />
|-<br />
<br />
|}<br />
<br />
=== Auxiliary Addresses ===<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
<br />
|rowspan="6"|aux.<where><br />
|rowspan="2"|1<br />
|R<br />
|on status<br />
|-<br />
|W<br />
|turn on<br />
|-<br />
|on<br />
|W<br />
|turn on<br />
|-<br />
|rowspan="2"|0<br />
|R<br />
|off status<br />
|-<br />
|W<br />
|turn off<br />
|-<br />
|off<br />
|W<br />
|turn off<br />
|-<br />
<br />
|}<br />
<br />
=== CEN Modules ===<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="8"|cen.<where>.<bt><br />
|rowspan="2"|on <br />
|R<br />
|button <bt> (00-31) pressed <br />
|-<br />
|W<br />
|virtual press of button <bt><br />
|-<br />
|rowspan="2"|off <br />
|R<br />
|button <bt> (00-31) released after short time (<= 0.5s)<br />
|-<br />
|W<br />
|virtual short time release of button <bt><br />
|-<br />
|rowspan="2"|offlong <br />
|R<br />
|button <bt> (00-31) released after long time (> 0.5s) <br />
|-<br />
|W<br />
|virtual long time release of button <bt><br />
|-<br />
|rowspan="2"|onrepeat <br />
|R<br />
|button <bt> (00-31) continues to be pressed (this event repeats every 0.5s) <br />
|-<br />
|W<br />
|virtual long time pressure of button <bt><br />
|-<br />
<br />
|}<br />
<br />
=== CENPLUS Modules ===<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="8"|cenplus.<where>.<bt> <br/> (used for CEN PLUS command modules) <br/> <sup>[[#note3|[Note 3]]]</sup><br />
|rowspan="2"|on <br />
|R<br />
|button <bt> (00-31) pressed <br />
|-<br />
|W<br />
|virtual press of button <bt><br />
|-<br />
|rowspan="2"|off <br />
|R<br />
|button <bt> (00-31) released after short time (<= 0.5s)<br />
|-<br />
|W<br />
|virtual short time release of button <bt><br />
|-<br />
|rowspan="2"|offlong <br />
|R<br />
|button <bt> (00-31) released after long time (> 0.5s) <br />
|-<br />
|W<br />
|virtual long time release of button<bt><br />
|-<br />
|rowspan="2"|onrepeat <br />
|R<br />
|button <bt> (00-31) continues to be pressed (this event repeats every 0.5s) <br />
|-<br />
|W<br />
|virtual long time pressure of button <bt><br />
|-<br />
<br />
|rowspan="5"|cenplus.<where> <br/> (used for DRY CONTACT and IR modules) <br/> <sup>[[#note3|[Note 3]]]</sup><br />
|rowspan="2"|on <br />
|R<br />
|on status<br />
|-<br />
|W<br />
|turn on<br />
|-<br />
|rowspan="2"|off <br />
|R<br />
|off status<br />
|-<br />
|W<br />
|turn off<br />
|-<br />
|request <br />
|W<br />
|request a status update<br />
|-<br />
<br />
|}<br />
<br />
<span id="note3"><br />
;Note 3 : The <where> field used for command modules is prefixed by the “2” character in front of the address, while dry contact and IR modules have the <where> field prefixed with “3”.<br />
<br />
{| class="wikitable"<br />
!WHERE<br />
!Value<br />
!Description<br />
|-<br />
<br />
|2<br />
|0-2047 <br />
|CEN PLUS modules configured with Advanced Virtual Configuration<br />
|-<br />
|3 <br />
|1-201 <br />
|for automation dry contact interface (3477 and F428) <where> should be configured using the Virtual Configurator Software<br />
|-<br />
|3 <br />
|style="white-space:nowrap"|[1-9][1-9] <br />
|for alarm dry contact interface and IR (3480, F482, IR 4610, 4611, 4640) <where> is configured using <z> and <n> with physical configuration pins<br />
|-<br />
|}<br />
<br />
</span><br />
<br />
=== F421 Load Control Unit ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|load.voltage <br />
|refresh <br />
|W<br />
|requests the measured voltage<br />
|-<br />
|V <br />
|R<br />
|measured voltage, in Volts<br />
|-<br />
<br />
|rowspan="2"|load.current <br />
|refresh <br />
|W<br />
|requests the measured current<br />
|-<br />
|I <br />
|R<br />
|measured current, in Amperes<br />
|-<br />
<br />
|rowspan="2"|load.power <br />
|refresh <br />
|W<br />
|requests the measured power<br />
|-<br />
|P <br />
|R<br />
|measured power, in Watts <br />
|-<br />
<br />
|rowspan="2"|load.energy <br />
|refresh<br />
|W <br />
|requests the measured energy<br />
|-<br />
|E <br />
|R<br />
|measured energy<br />
|- <br />
<br />
|}<br />
<br />
<br />
{{tip| Note that reading a measured value to the F421 load control unit requires a relatively long time (up to about 4 seconds, based on our tests) and, during this time, the My Home gateway is unable to process any other request. This can result in temporary slowdown of the execution of other commands.}}<br />
<br />
== User Interface ==<br />
<br />
=== Temperature Control Unit ===<br />
<br />
==== UISET Actions ====<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|temp.status<br />
|value<br />
|summer/winter followed by the current status, for example: WINTER MAN 21.0 °C<br />
|-<br />
<br />
|}<br />
<br />
==== USER Commands ====<br />
<br />
{| class="wikitable"<br />
!Name<br />
!Param<br />
!Action<br />
|-<br />
<br />
|temp.command <br />
|off<br />
|turn the system off<br />
|-<br />
|temp.command <br />
|protection <br />
|set temperature protection mode<br />
|-<br />
|temp.command <br />
|1 <br />
|set weekly program 1<br />
|-<br />
|temp.command <br />
|2 <br />
|set weekly program 2<br />
|-<br />
|temp.command <br />
|3 <br />
|set weekly program 3<br />
|-<br />
|temp.command <br />
|<t> <br />
|set to manual mode, temperature <t> (in °C/10), for example t=215 is 21.5 °C<br />
|-<br />
<br />
|temp.command <br />
|up <br />
|set to manual mode, raising the setpoint by 0.5 °C<br />
|-<br />
|temp.command <br />
|down <br />
|set to manual mode, lowering the setpoint by 0.5 °C<br />
|-<br />
|temp.command <br />
|holiday <br />
|set holiday program (returns to weekly program 1 at midnight)<br />
|-<br />
|temp.command<br />
|holiday.<n> <br />
|set holiday program (returns to weekly program <n> at midnight)<br />
|-<br />
|temp.command<br />
|away.<yyyymmdd><br />
|set away mode until the day passed as parameter, returning to weekly program 1 at midnight<br />
|-<br />
|temp.command <br />
|away.<yyyymmdd>.<n> <br />
|set away mode until the day passed as parameter, returning to weekly program <n> at midnight<br />
|-<br />
|temp.command<br />
|away.<d> <br />
|set away mode for D days, returning to weekly program 1 at midnight<br />
|-<br />
|temp.command <br />
|away.+<d> <br />
|increases the number of away days by <d>, starting from 2 days<br />
|-<br />
|temp.command <br />
|away.-<d> <br />
|decreases the number of away days by <d><br />
|-<br />
|temp.command <br />
|away.<d>.<n> <br />
|set away mode for <d> days, returning to weekly program <n> at midnight<br />
|-<br />
|temp.command <br />
|scenario.<n> <br />
|set scenario mode <n><br />
|-<br />
|}<br />
<br />
=== Temperature Zones ===<br />
<br />
The standard [[TempMini]] object can be used to control each zone. The fan speed indicator is not visible if the zone is not configured for fan control.<br />
<br />
Set the I/O server id in the ''Server ID'' field, and temp.<z> where <z> is the zone number from 1 to 99 in the ''Address'' field.<br />
<br />
{{note|The [[Temp]] object is not supported for the MyHome system.}}<br />
==== Zone unlock ====<br />
<br />
If a zone has been locked in the off or protection modes using the local dial, you can create a [[User]] object to unlock that zone.<br />
<br />
{| class="wikitable"<br />
!Name<br />
!Param<br />
!Action<br />
|-<br />
<br />
|temp.<z><br />
|unlock<br />
|unlock zone <z><br />
|-<br />
<br />
|}<br />
<br />
=== Burglar Alarm Unit ===<br />
<br />
==== UISET Actions ====<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|security.status <br />
|value<br />
|shows system status: ARMED, DISARMED or MAINTENANCE<br />
|-<br />
|security.alarm <br />
|value<br />
|shows ALARM if there is an ongoing alarm condition, empty otherwise<br />
|-<br />
|security.alarm.type <br />
|value<br />
|shows the alarm type, if not an intrusion alarm: TAMPER, PANIC or TECHNICAL<br />
|-<br />
|security.zones <br />
|value<br />
|shows zones 1-8 activation status, for example: 12-----8 means that only zones 1, 2 and 8 are active<br />
|-<br />
|security.log.<n><br />
|value<br />
|log line <n> of the events log, where <n> is between 1 and 20. Line 1 lists the most recent event<br />
|-<br />
|security.status.label.maintenance <br />
|visible <br />
|true only when the burglar alarm panel is in maintenance mode<br />
|-<br />
|security.status.label.active <br />
|visible <br />
|true only when the burglar alarm panel is active (not necessarily armed)<br />
|-<br />
|security.lowbattery.label <br />
|visible <br />
|true only when there is a low battery or battery fault condition<br />
|-<br />
|security.acfault.label <br />
|visible <br />
|true only when there is a fault condition on the AC power supply<br />
|-<br />
|security.status.label.armed <br />
|visible<br />
|true only when the system is armed<br />
|-<br />
|security.alarm.label.intrusion <br />
|visible<br />
|true only when there is an ongoing intrusion alarm condition<br />
|-<br />
|security.alarm.label.tamper <br />
|visible <br />
|true only when there is an ongoing tamper alarm condition<br />
|-<br />
|security.alarm.label.panic <br />
|visible <br />
|true only when there is an ongoing panic alarm condition<br />
|-<br />
|security.alarm.label.aux <br />
|visible <br />
|true only when there is an ongoing technical alarm condition<br />
|-<br />
|}<br />
<br />
==== USER Commands ====<br />
<br />
Because the MyHome burglar alarm panel cannot be directly controlled via OpenWebNet commands, there are no standard control objects for this system.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.4.0 ===<br />
*bug-fix: when using the L4686SDK interface, added a small delay when sending commands, to ensure that feedback is properly received by the L4686SDK<br />
=== 3.3.0 ===<br />
*added support of the L4686SDK interface module<br />
=== 3.2.2 ===<br />
*clock read and sync are now based on local time<br />
=== 3.2.1 ===<br />
*improved handling of connection errors<br />
=== 3.2.0 ===<br />
*new clock datapoint to read the gateway’s internal clock and set it to HSYCO's time<br />
=== 3.0.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''MyHome and BTicino are registered trademarks of BTicino SpA.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=BACnet&diff=5256BACnet2014-10-24T10:31:50Z<p>Manuela: </p>
<hr />
<div>BACnet is a protocol developed by ASHRAE for building automation and control networking, specifically designed to meet the communication needs of building automation and control systems for applications such as heating, ventilating, air-conditioning control, lighting control, access control and fire detection systems.<br />
HSYCO conforms to a functional subset of the BACnet protocol, as defined in ANSI/ASHRAE Standard 135-2010.<br />
HSYCO can only be configured as a BACnet/IP client device. <br />
BACnet support is implemented as an I/O Server with a data point representation that you can use in the EVENTS language and Java to read and write BACnet’s objects and properties, and to manage asynchronous notification services.<br />
<br />
{{note|The BACnet Vendor Identification Number that has been issued by ASHRAE to Home Systems Consulting SpA is 590.}} <br />
<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
HSYCO supports BACnet/IP, where the BACnet messaging protocol is transported over standard IP networks, over local networks. Routing of BACnet traffic is currently not supported by the HSYCO BACnet/IP I/O Server.<br />
You should configure only one I/O Server for each LAN used for BACnet traffic. <br />
Support for multiple BACnet/IP local networks is achieved by configuring one I/O Server for each network.<br />
<br />
{{tip|The BACnet I/O Server supports segmented messages, but only for Read-Property-Response messages.}}<br />
<br />
== HSYCO Configuration ==<br />
Add a BACNET I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': broadcast IP address of the LAN used for BACnet traffic (e.g. 192.168.1.255)<br />
*'''IP Port''': TCP/IP port to use, leave blank to use default port 47808.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to false.<br />
<br />
=== Options ===<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="1"|deviceid<br />
|rowspan="1"|590001<br />
|0 ... 4194303<br />
|BACnet device identifier assigned to the HSYCO BACnet client<br />
|-<br />
<br />
|rowspan="2"|disableverbosedump<br />
|rowspan="2"|false<br />
|true<br />
|when verbose log is enabled, don’t write IP packets dump to the log files<br />
|-<br />
|false<br />
|when verbose log is enabled, all BACnet IP packets are written to the log files<br />
<br />
|-<br />
<br />
|rowspan="2"|eventslog<br />
|rowspan="2"|false<br />
|true<br />
|if the general eventsLog option is also true in System Settings, BACnet events for this gateway are written in the log files<br />
|-<br />
|false<br />
|BACnet events for this gateway are not written in the log files, even if the eventsLog option is true in System Settings<br />
<br />
|-<br />
<br />
|rowspan="2"|gui<br />
|rowspan="2"|false<br />
|true<br />
|enables support of the (bacnetutility) Web GUI object<br />
|-<br />
|false<br />
|disables support for the Web GUI<br />
<br />
|-<br />
<br />
<br />
|}<br />
<br />
== Datapoints ==<br />
<br />
The following services are supported:<br />
* Alarm and Event Services:<br />
* ConfirmedCOVNotification<br />
* UnconfirmedCOVNotification<br />
* SubscribeCOV<br />
* Object Access Services:<br />
* ReadProperty<br />
* WriteProperty<br />
* Remote Device Management Services:<br />
* Who-Is<br />
* I-Am<br />
<br />
<br />
The BACnet I/O Server supports all standard object types and properties for the ReadProperty service, while object’s properties that could be written using the WriteProperty service are listed in the [[#Supported Object Types|supported object types]] table.<br />
<br />
Following HSYCO’s naming convention for BACnet, all object types and properties are written in lowercase letters with no spaces or underscore characters. For example, Present_Value is written as “presentvalue”, and the binary input object type is written as “binaryinput”.<br />
<br />
The BACnet datapoint names always begin with the same format:<br />
<br />
<nowiki><device_id>.<object_type>.<object_id></nowiki><br />
<br />
where <nowiki><device_id></nowiki> is the BACnet device numeric identifier, <nowiki><object_type></nowiki> is the object type name with no spaces and all lowercase and <nowiki><object_id></nowiki> is the object instance numeric identifier.<br />
<br />
Data point names returning properties values also have the object property identifier at the end with no spaces and all lowercase characters:<br />
<br />
<nowiki><device_id>.<object_type>.<object_id>.<property_id></nowiki><br />
<br />
For example this datapoint<br />
<br />
123.analogoutput.1.presentvalue<br />
<br />
represents the present value of the analog output BACnet object "1" of the BACnet device "123".<br />
<br />
The [[BACnet Utility]] provides a graphical interface to browse all BACnet/IP devices available on the network, to show all objects of a device, and all properties and values of any object instance.<br />
<br />
=== Datapoints Table ===<br />
{| class="wikitable"<br />
!colspan="2"|ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id></nowiki><br />
|style="white-space:nowrap"|<nowiki>readproperty:<property_id></nowiki><br />
|W<br />
|executes the ReadProperty Service request, reading the <nowiki><property_id></nowiki> property of the <nowiki><device_id>.<object_type>.<object_id></nowiki> object<br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id>.<property_id></nowiki><br />
|<nowiki><value></nowiki><br />
|R<br />
|the <nowiki><property_id></nowiki> property <nowiki><value></nowiki> read from <nowiki><device_id>.<object_type>.<object_id></nowiki> object, formatted according to the [[#Supported Application Datatypes|application datatype]]<br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id>[<N>]</nowiki><br />
|style="white-space:nowrap"|<nowiki>readproperty:<property_id></nowiki><br />
|W<br />
|executes the ReadProperty Service request, reading the <nowiki><property_id></nowiki> property of the <nowiki><device_id>.<object_type>.<object_id></nowiki> object at index [<N>]<br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id>.<property_id>[<N>]</nowiki><br />
|<nowiki><value></nowiki><br />
|R<br />
| the <nowiki><property_id></nowiki> property <nowiki><value></nowiki> read from <nowiki><device_id>.<object_type>.<object_id></nowiki> object, formatted according to the [[#Supported Application Datatypes|application datatype]]. (if this property is an array of values)<br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id></nowiki><br />
|style="white-space:nowrap"|<nowiki>writeproperty:<property_id>:<value></nowiki><br />
|W<br />
|executes the WriteProperty Service request, writing <nowiki><value></nowiki> in the <nowiki><property_id></nowiki> property of <nowiki><device_id>.<object_type>.<object_id></nowiki> object , without specifying the priority<br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id></nowiki><br />
|style="white-space:nowrap"|<nowiki>writeproperty/<P>:<property_id>:<value></nowiki><br />
|W<br />
|executes the WriteProperty Service request, writing <nowiki><value></nowiki> in the <nowiki><property_id></nowiki> property of <nowiki><device_id>.<object_type>.<object_id></nowiki> object , specifying the priority <nowiki><P></nowiki>, as a number from 1 to 16<br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id></nowiki><br />
|style="white-space:nowrap"|<nowiki>writeproperty/<P>:<property_id></nowiki><br />
|W<br />
|cancel the last value set at priority <nowiki><P></nowiki> in the <nowiki><property_id></nowiki> property of <nowiki><device_id>.<object_type>.<object_id></nowiki><br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id>[<N>]</nowiki><br />
|style="white-space:nowrap"|<nowiki>writeproperty:<property_id>:<value></nowiki><br />
|W<br />
|executes the WriteProperty Service request, writing <nowiki><value></nowiki> in the <nowiki><property_id></nowiki> property array index <nowiki><N> of <device_id>.<object_type>.<object_id></nowiki> object , without specifying the priority<br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id>[<N>]</nowiki><br />
|style="white-space:nowrap"|<nowiki>writeproperty/<P>:<property_id>:<value></nowiki><br />
|W<br />
|executes the WriteProperty Service request, writing <nowiki><value></nowiki> in the <nowiki><property_id></nowiki> property array index <nowiki><N> of <device_id>.<object_type>.<object_id></nowiki> object , specifying the priority <nowiki><P></nowiki>, as a number from 1 to 16<br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id>[<N>]</nowiki><br />
|style="white-space:nowrap"|<nowiki>writeproperty/<P>:<property_id></nowiki><br />
|W<br />
|cancel the last value set at priority <nowiki><P></nowiki> in the <nowiki><property_id></nowiki> property of <nowiki><device_id>.<object_type>.<object_id></nowiki> object<br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id></nowiki><br />
|style="white-space:nowrap"|<nowiki>subscribecov</nowiki><br />
|W<br />
|sends a SubscribeCOV request with an indefinite lifetime for <nowiki><device_id>.<object_type>.<object_id></nowiki> object<br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id></nowiki><br />
|style="white-space:nowrap"|<nowiki>subscribecov:confirmed</nowiki><br />
|W<br />
|sends a SubscribeCOV request with an indefinite lifetime and the confirmed notifications option enabled for <nowiki><device_id>.<object_type>.<object_id></nowiki> object<br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id></nowiki><br />
|style="white-space:nowrap"|<nowiki>subscribecov:unconfirmed</nowiki><br />
|W<br />
|sends a SubscribeCOV request with an indefinite lifetime and the confirmed notifications option disabled for <nowiki><device_id>.<object_type>.<object_id></nowiki> object<br />
|-<br />
|colspan="2" style="white-space:nowrap"|<nowiki><device_id>.<object_type>.<object_id></nowiki><br />
|style="white-space:nowrap"|<nowiki>subscribecov:cancel</nowiki><br />
|W<br />
|sends a SubscribeCOV cancellation request for <nowiki><device_id>.<object_type>.<object_id></nowiki> object<br />
|-<br />
<br />
|}<br />
<br />
=== Supported Object Types ===<br />
{| class="wikitable"<br />
!Object Type<br />
!Writable Properties<br />
|-<br />
|rowspan="1"|accumulator<br />
|rowspan="1"|<br />
*description<br />
*devicetype<br />
*presentvalue<br />
*pulserate<br />
*valuebeforechange<br />
*valueset<br />
|-<br />
|rowspan="1"|analoginput<br />
|rowspan="1"|<br />
*description<br />
*devicetype<br />
*covincrement<br />
*presentvalue<br />
|-<br />
|rowspan="1"|analogoutput<br />
|rowspan="1"|<br />
*description<br />
*devicetype<br />
*covincrement<br />
*presentvalue<br />
*relinquishdefault<br />
|-<br />
|rowspan="1"|analogvalue<br />
|rowspan="1"|<br />
*description<br />
*covincrement<br />
*presentvalue<br />
*relinquishdefault<br />
|-<br />
|rowspan="1"|averaging<br />
|rowspan="1"|<br />
*attemptedsamples<br />
*description<br />
*windowinterval<br />
*windowsamples<br />
|-<br />
|rowspan="1"|binaryinput<br />
|rowspan="1"|<br />
*activetext<br />
*description<br />
*devicetype<br />
*inactivetext<br />
*presentvalue<br />
|-<br />
|rowspan="1"|binaryoutput<br />
|rowspan="1"|<br />
*activetext<br />
*description<br />
*devicetype<br />
*inactivetext<br />
*presentvalue<br />
*relinquishdefault<br />
|-<br />
|rowspan="1"|binaryvalue<br />
|rowspan="1"|<br />
*activetext<br />
*description<br />
*inactivetext<br />
*presentvalue<br />
*relinquishdefault<br />
|-<br />
|rowspan="1"|command<br />
|rowspan="1"|<br />
*description<br />
*presentvalue<br />
|-<br />
|rowspan="1"|lifesafetypoint<br />
|rowspan="1"|<br />
*description<br />
*devicetype<br />
*mode<br />
*reliability<br />
*trackingvalue<br />
|-<br />
|rowspan="1"|lifesafetyzone<br />
|rowspan="1"|<br />
*description<br />
*devicetype<br />
*mode<br />
*reliability<br />
*trackingvalue<br />
|-<br />
|rowspan="1"|loop<br />
|rowspan="1"|<br />
*covincrement<br />
*description<br />
|-<br />
|rowspan="1"|multistateinput<br />
|rowspan="1"|<br />
*description<br />
*devicetype<br />
*presentvalue<br />
|-<br />
|rowspan="1"|multistateoutput<br />
|rowspan="1"|<br />
*description<br />
*devicetype<br />
*presentvalue<br />
*relinquishdefault<br />
|-<br />
|rowspan="1"|multistatevalue<br />
|rowspan="1"|<br />
*description<br />
*presentvalue<br />
|-<br />
|rowspan="1"|program<br />
|rowspan="1"|<br />
*description<br />
*programchange<br />
|-<br />
|rowspan="1"|pulseconverter<br />
|rowspan="1"|<br />
*adjustvalue<br />
*covincrement<br />
*description<br />
*presentvalue<br />
|-<br />
|rowspan="1"|accessdoor<br />
|rowspan="1"|<br />
*description<br />
*dooralarmstate<br />
*doorstatus<br />
*lockstatus<br />
*presentvalue<br />
*relinquishdefault<br />
|-<br />
|rowspan="1"|loadcontrol<br />
|rowspan="1"|<br />
*description<br />
*enable<br />
*requestedshedlevel (as Real number)<br />
|-<br />
|}<br />
<br />
=== Supported Application Datatypes ===<br />
{| class="wikitable"<br />
!Tag#<br />
!Description<br />
!HSYCO Data Type<br />
|-<br />
|rowspan="1"|0<br />
|rowspan="1"|Null<br />
|null<br />
|-<br />
|rowspan="1"|1<br />
|rowspan="1"|Boolean<br />
|0: false<br />
1: true<br />
|-<br />
|rowspan="1"|2<br />
|rowspan="1"|Unsigned Integer<br />
|0 ... (2<sup>32</sup> - 1)<br />
|-<br />
|rowspan="1"|3<br />
|rowspan="1"|Signed Integer<br />
| -2<sup>31</sup> ... (2<sup>31</sup> - 1)<br />
|-<br />
|rowspan="1"|4<br />
|rowspan="1"|Real (IEEE-754 floating point)<br />
|floating point number (with decimal point separator)<br />
|-<br />
|rowspan="1"|5<br />
|rowspan="1"|Double (IEEE-754 double precision floating point)<br />
|double precision floating point number (with decimal point separator)<br />
|-<br />
|rowspan="1"|6<br />
|rowspan="1"|Octet String<br />
|the hexadecimal representation of byte values, for example: “3b0ac2ff”<br />
|-<br />
|rowspan="1"|7<br />
|rowspan="1"|Character String<br />
|a string. The default character set is UTF-8. Additional supported character sets are: ISO-8859-1, UCS-2, EUC-JP<br />
|-<br />
|rowspan="1"|8<br />
|rowspan="1"|Bit String<br />
|a string representing a sequence of bit values, for example: “111010001”<br />
|-<br />
|rowspan="1"|9<br />
|rowspan="1"|Enumerated<br />
|0 ... (2<sup>32</sup> - 1)<br />
|-<br />
|rowspan="1"|10<br />
|rowspan="1"|Date<br />
|<nowiki><yyyy>/<mm>/<dd>[/<dow>]</nowiki><br />
<br />
<nowiki><yyyy></nowiki> is the year number; a * character is a wildcard matching any year, or an unspecified value.<br />
<br />
<nowiki><mm></nowiki> is the month number, with January as 1; a * character is a wildcard matching any month, or an unspecified value; “odd” represent all odd months; “even” represent all even months.<br />
<br />
<nowiki><dd></nowiki> is the day number, starting from 1 for the first day of the month; a * character is a wildcard matching any day, or an unspecified value; “odd” represent all odd days; “even” represent all even days; “last” represent the last day of the month.<br />
<br />
<nowiki><dow></nowiki> is the week day, and is only present if set to a day of the week, and not to the wildcard/unspecified value; days are represented as “mon”, “tue”, “wed”, “thu”, “fri”, “sat”, “sun”<br />
|-<br />
|rowspan="1"|11<br />
|rowspan="1"|Time<br />
|<nowiki><hh>:<mm>:<ss>.<ff></nowiki><br />
<br />
<nowiki><hh></nowiki> is the hour, using a 24-hour clock from 0 to 23; a * character is a wildcard matching any hour, or an unspecified value.<br />
<br />
<nowiki><mm></nowiki> is the minute, from 0 through 59; a * character is a wildcard matching any minute, or an unspecified value.<br />
<br />
<nowiki><ss></nowiki> is the seconds, from 0 through 59; a * character is a wildcard matching any second, or an unspecified value.<br />
<br />
<nowiki><ff></nowiki> is the hundreds of seconds number, from 0 to 99; a * character is a wildcard matching any fraction of second, or an unspecified value.<br />
|-<br />
|rowspan="1"|12<br />
|rowspan="1"|BACnetObjectIdentifier<br />
|<nowiki><object_type>.<object_id></nowiki><br />
<br />
<nowiki><object_type></nowiki> is represented with the type name for supported types, and with the BACnet object type number for unsupported objects.<br />
<br />
<nowiki><object_id></nowiki> is the object instance number<br />
|-<br />
|}<br />
<br />
== Examples ==<br />
<br />
=== Reading the present value of an object ===<br />
<br />
TIME : IO bac.123.analogoutput.1 = readproperty:presentvalue<br />
IO bac.123.analogoutput.1.presentvalue : uiset mydata.text = IO bac.123.analogoutput.1.presentvalue<br />
<br />
The first line executes the ReadProperty service to poll device 123 for the value of the Present Value property of object type Analog Input, instance 1.<br />
The second line sets a text object of the Web interface with the value read from the BACnet device.<br />
<br />
=== Reading several values at once ===<br />
<br />
HSYCOSTART : PROGRAMTIMER readbacnet = repeat 10<br />
PROGRAMTIMER readbacnet : IO bac.123.analogoutput.1 bac.123.analogoutput.2 = readproperty:presentvalue<br />
IO bac.123.analogoutput.1.presentvalue : uiset mydata1.text = IO bac.123.analogoutput.1.presentvalue<br />
IO bac.123.analogoutput.2.presentvalue : uiset mydata2.text = IO bac.123.analogoutput.2.presentvalue<br />
<br />
The second line is a compact form for issuing the ReadProperty service for multiple objects. The first line shows how to create a programtimer instance that is executed every 10 seconds.<br />
<br />
=== Writing the present value of an object ===<br />
<br />
USER bac = 5 : IO bac.21.pulseconverter.0 = writeproperty:adjustvalue:-3<br />
TIME : IO bac.21.analogvalue.0 = writeproperty/14:presentvalue: $myvalue<br />
<br />
The first line sets the Adjust Value property of object type Pulse Converter, object instance 0 in device 21 to the value -3.<br />
The second line is similar, but this time the priority is set to 14. Also note that the value after “presentvalue:” is from a variable. To ensure that the variable name is translated to its value, leave a space before the variable name. This way the EVENTS interpreter will automatically concatenate the strings, also replacing the variable name with its value.<br />
<br />
=== Subscribe for change of value notifications ===<br />
TIME : IO bac.21.analoginput.0 bac.21.binaryinput.2 = subscribecov<br />
TIME : IO bac.21.binaryvalue.0 = subscribecov:unconfirmed<br />
<br />
The first line sends a SubscribeCOV request, with confirmed notifications, for two distinct objects. The second line also sends a SubscribeCOV request, but with unconfirmed notifications. This is a less reliable notification mechanism, but more efficient in terms of network usage and devices workload.<br />
<br />
=== Cancel change of value notifications ===<br />
TIME : IO bac.21.analoginput.0 bac.21.binaryinput.2 = subscribecov:cancel<br />
<br />
This command cancels the previous change of value notification request.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.4.0 ===<br />
*added support for segmented messages, limited to Read-Property-Response<br />
<br />
=== 3.3.0 ===<br />
*added support for the Relinquish_Default property<br />
*the BACnet Utility is now fully integrated in the Manager tools<br />
<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''BACnet is a registered trademark of the American Society of Heating, Refrigerating and Air-Conditioning Engineers, Inc.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=SSH&diff=5255SSH2014-10-24T10:31:29Z<p>Manuela: </p>
<hr />
<div>Secure Shell (SSH) is a cryptographic network protocol for secure data communication, remote command-line login, remote command execution, and other secure network services between two networked computers that connects, via a secure channel over an insecure network, a server and a client (running SSH server and SSH client programs, respectively).<br />
<br />
The best-known application of the protocol is for access to shell accounts on Unix-like operating systems, but it can also be used in a similar fashion for accounts on Windows.<br />
<br />
It was designed as a replacement for Telnet and other insecure remote shell protocols, which send information, notably passwords, in plaintext, rendering them susceptible to interception and disclosure using packet analysis.<br />
<br />
The encryption used by SSH is intended to provide confidentiality and integrity of data over an unsecured network, such as the Internet.<br />
<br />
The SSH I/O Server implements the SSH-2 version of the protocol, and supports remote command execution and the SCP protocol for bidirectional file transfer. It uses HSYCO data points to execute commands and return command status, making it easy to use the SSH protocol in EVENTS, as well as JavaScript and Java.<br />
<br />
The SSH I/O Server establishes a single SSH connection to the server, using keyboard-interactive or password-based authentication, and creates individual sessions to execute single commands.<br />
<br />
{{tip|Commands are executed sequentially, not in parallel.}}<br />
<br />
<br />
[[Category:I/O Server]]<br />
<br />
== SSH Remote Server Configuration ==<br />
<br />
The remote system should be configured to accept the SSH connection from the HSYCO server using the username and password defined in the I/O Server’s options.<br />
<br />
If you need to execute operating system’s commands with superuser privileges (with the sudo program), the remote user name defined with the user option in the SSH I/O Server configuration must be allowed to execute “sudo” commands without asking for a password.<br />
<br />
For example, if the user is hsyco, you could add the line:<br />
hsyco ALL=(ALL:ALL) NOPASSWD: ALL<br />
<br />
at the end of the /etc/sudoers file (use the visudo command to edit the /etc/sudoers file).<br />
<br />
{{tip|If the username and password are correct, but the remote server refuses the authentication (you will see a "Password authentication failed." message in the logs and the I/O Server will keep restarting), the most probable cause is that the remore SSH server is configured to refuse the "keyboard-interactive" or "password" authentication type. To make it work, you should change the remote server's configuration to enable either keyboard-interactive or password authentication.}}<br />
<br />
== HSYCO Configuration ==<br />
Add an SSH I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the remote device<br />
*'''IP Port''': IP port enabled for the SSH service on the remote device, leave blank for default port 22.<br />
<br />
=== Authentication ===<br />
*'''User''': username to use on the remote device<br />
*'''Password''': password for the used username<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to false.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
<br />
|-<br />
|rowspan="2"|stdout<br />
|rowspan="2"|true<br />
|true<br />
|when a remote command is executed, generate IO events containing the command's standard output and standard error streams<br />
|-<br />
|false<br />
|do not generate IO events of the command's output and error streams<br />
<br />
|-<br />
|rowspan="2"|persistentconnection<br />
|rowspan="2"|true<br />
|true<br />
|the I/O Server establishes the SSH connection at start-up and keeps it open across multiple commands. Commands execution is faster, but a small amount of network traffic is present, even when no commands are executed, to keep the connection open<br />
|-<br />
|false<br />
|the I/O Server will not establish a connection to the remote server until a command is executed. The connection is closed 30 seconds after the execution of the last command<br />
|}<br />
<br />
== Datapoints ==<br />
<br />
{| class="wikitable"<br />
!ID<br />
!width=160 |Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|SSH connection established (with successful authentication)<br />
|-<br />
|offline<br />
|R<br />
|SSH connection closed<br />
<br />
|-<br />
|rowspan="2" |exec<br />
|&lt;command string&gt;<br />
|W<br />
|executes the command passed as value<br />
|-<br />
|&lt;exit status&gt;<br />
|R<br />
|<br />
* the command's exit status number<br />
* "error" if the command could not be sent to the remote server<br />
* "null" if the remote server failed to return an exit status code (some SSH servers do not return the exit status)<br />
<br />
|-<br />
|err<br />
|&lt;error stream&gt;<br />
|R<br />
|the executed command standard error stream, with lines separated by <nowiki>"<br>"</nowiki>, or an empty string if the command's error stream is empty<br />
<br />
|-<br />
|out<br />
|&lt;error stream&gt;<br />
|R<br />
|the executed command standard output stream, with lines separated by <nowiki>"<br>"</nowiki>, or an empty string if the command's output stream is empty<br />
<br />
|-<br />
|rowspan="2" |get<br />
|&lt;source&gt; &lt;destination&gt;<br />
|W<br />
|retrieves the remote source file and writes it locally to the destination path name.<br>The source and destination string in value should be separated by one or more spaces.<br>Always use the "/" character as path separator.<br>Use "\" as the escape character if the file names have spaces.<br>The destination directory must exist and cannot be outside of the HSYCO's base directory, or the command will fail. If the destination name doesn't have a path, the file will be written to the HSYCO's base directory<br />
|-<br />
|&lt;exit status&gt;<br />
|R<br />
|<br />
* the total number of transferred bytes (should be equal to the actual file size)<br />
* "error" if the file transfer failed<br />
<br />
|-<br />
|rowspan="2" |put<br />
|&lt;source&gt; &lt;destination&gt;<br />
|W<br />
|copy the local source file to the remote server's destination path name.<br>The source and destination string in value should be separated by one or more spaces.<br>Always use the "/" character as path separator.<br>Use "\" as the escape character if the file names have spaces.<br>The source directory must exist and cannot be outside of the HSYCO's base directory, or the command will fail. If the source name doesn't have a path, the file will be written to the HSYCO's base directory.<br>The file will be saved to the remote server with 600 (owner's only read and write) permission<br />
|-<br />
|&lt;exit status&gt;<br />
|R<br />
|<br />
* the total number of transferred bytes (should be equal to the actual file size)<br />
* "error" if the file transfer failed<br />
<br />
|-<br />
|}<br />
<br />
<br />
{{tip|The exec, err, out, get and put data points will trigger the IO events at the end of the command's execution even if the value is not changed. This allows you to easily intercept the exit status and other return information.}}<br />
<br />
== Examples ==<br />
<br />
{{tip|In the following examples, we assume that the id of the SSH I/O Server is "ssh".}}<br />
<br />
=== Remote Command Execution ===<br />
<br />
Reboot a remote system at midnight.<br />
<br />
<syntaxhighlight lang="javascript"><br />
TIME 0000 : IO ssh.exec = "sudo reboot"<br />
</syntaxhighlight><br />
<br />
Turn off screen at midnight.<br />
<br />
<syntaxhighlight lang="javascript"><br />
TIME 0000 : IO ssh.exec = "sudo vbetool dpms off"<br />
</syntaxhighlight><br />
<br />
Turn on screen at 7 o' clock.<br />
<br />
<syntaxhighlight lang="javascript"><br />
TIME 0700 : IO ssh.exec = "sudo vbetool dpms on"<br />
</syntaxhighlight><br />
<br />
=== File Transfer ===<br />
<br />
At midnight, copy HSYCO's internal database backup to a remote server.<br />
<br />
<syntaxhighlight lang="javascript"><br />
TIME 0000 : IO ssh.put = "data_backup/hsyco.data /tmp/data_backup/hsyco.data",<br />
IO ssh.put = "data_backup/hsyco.properties /tmp/data_backup/hsyco.properties",<br />
IO ssh.put = "data_backup/hsyco.script /tmp/data_backup/hsyco.script"<br />
</syntaxhighlight><br />
<br />
=== Interactive Remote Command Project ===<br />
<br />
Create a simple interactive command console in HSYCO.<br />
<br />
<br />
[[File:SSH_example_inteactive_command_interface.png|border|600px|center]]<br />
<br />
'''The project's file'''<br />
<br />
<syntaxhighlight lang="text"><br />
(#skin blue)<br />
(#language it)<br />
(#size 980x640)<br />
(#style body-background-color=#FF00FF; pages-background-color=#770077)<br />
(#uiset $exec.eraseicon=true)<br />
<br />
(header SSH)<br />
<br />
(menu)<br />
(text!stderr r5c3;; (width:600px; text-align:left; height:400px; font-family:Courier New, Courier, monospace))<br />
(text!stdout r5c3;; (width:600px; text-align:left; height:400px; overflow:auto; font-family:Courier New, Courier, monospace))<br />
(input!$exec r4c3; (width:600px; font-family:Courier New, Courier, monospace); input)<br />
(text r1c1; $; font-size:200px)<br />
(text!exitcode r4c9;; font-size:24px)<br />
(endofmenu)<br />
</syntaxhighlight><br />
<br />
<br />
'''Events logic'''<br />
<br />
<syntaxhighlight lang="javascript"><br />
USER "$exec" : IO ssh.exec = $exec, UISET "$exec.focus" = true<br />
IO ssh.out : UISET stdout.text = IO ssh.out<br />
IO ssh.err : UISET stderr.text = IO ssh.err<br />
IO ssh.exec : UISET exitcode.text = IO ssh.exec<br />
</syntaxhighlight><br />
<br />
== Release Notes ==<br />
=== 3.4.0 ===<br />
* added support for the "keyboard-interactive" authentication method<br />
=== 3.3.0 ===<br />
* initial release</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Contatto&diff=5254Contatto2014-10-24T10:31:06Z<p>Manuela: </p>
<hr />
<div>The CONTATTO system is DUEMMEGI’s proprietary bus architecture for building automation. HSYCO fully integrates with this system through the MCP control and gateway module, and its FXP-XT serial communication protocol.<br />
<br />
A serial connection between the MCP 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.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
Employ a DE-9 (often called DB-9) male-female RS-232 straight cable to connect the RS-232 MCP port to the serial port on HSYCO SERVER or serial gateway.<br />
<br />
RS-232 parameters:<br />
{| class="wikitable"<br />
| '''Baud rate'''<br />
| 9600, 38400, 57600 or 115200 bps (according to the MCP serial port setting)<br />
|-<br />
| '''Data bits'''<br />
| 8<br />
|-<br />
| '''Stop bit'''<br />
| 1<br />
|-<br />
| '''Parity'''<br />
| none<br />
|-<br />
| '''Flow control'''<br />
| none<br />
|}<br />
<br />
{{tip|A speed of 115200 bps is recommended to achieve good performance, particularly when the number of devices connected to the bus is large.}}<br />
<br />
== HSYCO Configuration ==<br />
<br />
You can define and connect to more than one CONTATTO bus using several MCP gateways.<br />
<br />
The CONTATTO I/O Server also supports dual, redundant connections between HSYCO and MCP. <br />
<br />
If the main connection fails, HSYCO automatically re-routes the communication with MCP through the fail-over connection. <br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|startupevents<br />
|rowspan="2"|false<br />
|true<br />
|generate IO events also during the driver’s start-up phase<br />
|-<br />
|false<br />
|start generating events only after HSYCO is aligned with the current status of the system<br />
|-<br />
<br />
|rowspan="2"|inputdiscovery<br />
|rowspan="2"|false<br />
|true<br />
|auto-detects CONTATTO’s input devices as configured in the MCP, 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<br />
|-<br />
|false<br />
|auto-detect for input devices is disabled<br />
|-<br />
<br />
|rowspan="2"|outputdiscovery<br />
|rowspan="2"|true<br />
|true<br />
|auto-detects CONTATTO’s output devices as configured in the MCP, 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<br />
|-<br />
|false<br />
|auto-detect for output devices is disabled<br />
|-<br />
<br />
|rowspan="2"|virtualdiscovery<br />
|rowspan="2"|false<br />
|true<br />
|auto-detects CONTATTO’s virtual points for input and output devices as configured in the MCP, 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<br />
|-<br />
|false<br />
|auto-detect for devices’ virtual data points is disabled<br />
|-<br />
<br />
|rowspan="3"|virtualpoints<br />
|rowspan="3"|false<br />
|1 ... 2033<br />
|enables polling for the first n virtual points of the MCP. Enable this option only if you need to generate I/O events based on these virtual points<br />
|-<br />
|true<br />
|enables polling for all the 2032 virtual points of the MCP<br />
|-<br />
|false<br />
|polling of the MCP virtual data points is disabled<br />
|-<br />
<br />
|rowspan="3"|registers<br />
|rowspan="3"|false<br />
|1 ... 1024<br />
|enables polling for registers R0-Rn of the MCP. Enable this option only if you need to generate I/O events based on these registers<br />
|-<br />
|true<br />
|enables polling for registers R0-R127 of the MCP<br />
|-<br />
|false<br />
|polling of the MCP registers is disabled<br />
|-<br />
<br />
|rowspan="2"|powerdisplay<br />
|rowspan="2"|false<br />
|&ge; 0 (MODANA address)<br />
|enables the automatic display in the GUI of the total real power measured by a DFANA module connected to this MCP. Note that, if you have more than one MCP gateway, you should enable this option for one gateway only<br />
|-<br />
|false<br />
|power display disabled for this MCP<br />
|-<br />
<br />
|powersensivity<br />
|50<br />
| &ge; 0<br />
|measured power changes are reported only if the difference from last reading is equal or greater than the power sensivity option, in Watts<br />
|-<br />
<br />
|rowspan="2"|detectevents<br />
|rowspan="2"|false<br />
|true<br />
|generate forced events when a device is detected at start-up<br />
|-<br />
|false<br />
|do not generate events when a device is detected at start-up<br />
|-<br />
<br />
|toolspassword<br />
|<br />
|string<br />
|set this option with a long string (only letters and numbers) password to allow the remote connection of MCP-IDE and other configuration tools to the MCP gateways that are connected to HSYCO. For additional security, it is recommended to set this option only when required<br />
|-<br />
<br />
|language<br />
|english<br />
|en it fr<br />
|language for all messages from the CONTATTO system: English, Italian or French<br />
|-<br />
|}<br />
<br />
== Initialization and Connection Events ==<br />
<br />
{| class="wikitable"<br />
!Event name<br />
!Value<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|connection<br />
|online<br />
|connection established to the MCP module<br />
|-<br />
|offline<br />
|HSYCO can’t connect to the MCP module<br />
|-<br />
<br />
|detected.input.<n>.<s><br />
|model name<br />
|an input device of the type passed as value has been detected at address <n>, using <s> addresses<br />
|-<br />
<br />
|detected.output.<n>.<s><br />
|model name<br />
|an output device of the type passed as value has been detected at address <n>, using <s> addresses<br />
|-<br />
<br />
|}<br />
<br />
== The Device Configuration Database ==<br />
<br />
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.<br />
This file can be filled manually or automatically by HSYCO at start-up.<br />
<br />
To enable automatic discovery and automatic generation of devices’ information in the systemtopo file, use the ''inputdiscovery'', ''outputdiscovery'' and ''virtualdiscovery'' options in '''Settings'''. The default behavior is to only discover devices with output data points.<br />
<br />
This is an example of an automatically generated systemtopo.txt file:<br />
<pre><br />
(devices)<br />
contatto.o10.1 : LIGHT ; LIGHT<br />
contatto.o6.1 : LIGHT ; DIMMER<br />
contatto.o7.2 : LIGHT ; LIGHT<br />
contatto.o7.1 : LIGHT ; DIMMER<br />
contatto.o9.2 : AUTOM ; VSHUT<br />
contatto.o5.4 : LIGHT ; LIGHT<br />
contatto.o9.1 : AUTOM ; VSHUT<br />
contatto.o5.3 : LIGHT ; LIGHT<br />
contatto.o5.2 : LIGHT ; LIGHT<br />
contatto.o5.1 : LIGHT ; LIGHT<br />
</pre><br />
You should then manually add comments and other optional parameters:<br />
<pre><br />
(devices)<br />
contatto.o10.1 : LIGHT ; LIGHT; main entrance light<br />
contatto.o6.1 : LIGHT ; DIMMER; lobby dimmer<br />
contatto.o7.2 : LIGHT ; LIGHT; kitchen workbench<br />
contatto.o7.1 : LIGHT ; DIMMER; kitchen main dimmer<br />
</pre><br />
<br />
== MCP Virtual Data Points and Registers ==<br />
<br />
The MCP 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.<br />
<br />
You cannot directly control the MCP virtual data points and registers using GUI objects.<br />
<br />
To enable polling of the current state of the MCP’s virtual data points, enable the ''virtualpoints'' options in hsyco.ini.<br />
<br />
To enable polling of the current state of the MCP’s registers, enable the ''registers'' options in hsyco.ini.<br />
<br />
If you only have to write to virtual points or registers, enabling polling is not strictly required. <br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|v0.<n><br />
|0<br />
|RW<br />
|virtual data point <n> off (<n>: 1-2032)<br />
|-<br />
|1<br />
|RW<br />
|virtual data point <n> on (<n>: 1-2032)<br />
|-<br />
<br />
|r0.<n><br />
|<x><br />
|RW<br />
|register <n> off (<n>: 0-1023) set to value <x> (<x>: 0-65535)<br />
|-<br />
<br />
|}<br />
<br />
== MCP Internal Clock ==<br />
The MCP module has an integrated real-time clock. You can use the clock datapoint to read the MCP date and time, and set the MCP clock to HSYCO’s current time.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="3"|clock<br />
|yyyy-mm-dd hh:mm:ss<br />
|R<br />
|the MCP clock current time<br />
|-<br />
|read<br />
|W<br />
|read the MCP clock, and the delta with HSYCO’s time<br />
|-<br />
|sync<br />
|W<br />
|set the MCP clock to HSYCO’s current time<br />
|-<br />
<br />
|clock.delta<br />
|integer number<br />
|R<br />
|the delta time in seconds between the MCP and HSYCO clocks. A positive number means that the MCP clock is ahead of HSYCO<br />
|-<br />
<br />
|}<br />
<br />
== CONTATTO Modules Events and Control ==<br />
<br />
{| class="wikitable"<br />
!Module Code<br />
!Description<br />
|-<br />
<br />
|MOD8I/A 8 <br />
|digital input module for NO contacts in modular housing<br />
|-<br />
|MOD32I/A <br />
|32 digital input module for NO contacts in modular housing<br />
|-<br />
|MOD8INP2/A <br />
|8 digital input module for NO contacts<br />
|-<br />
|MOD8INP2/C <br />
|8 digital input module for NC contacts<br />
|-<br />
|MOAN/I<br />
|0÷10V analog input module<br />
|-<br />
|MOAN/I4 <br />
|quad 0÷10V analog input module<br />
|-<br />
|MI420 <br />
|4÷20mA analog input module<br />
|-<br />
|MI420-X4 <br />
|quad 4÷20mA analog input module<br />
|-<br />
|MOD4AM12/V/I <br />
|4-channel 0÷10V or 4÷20mA (0÷21mA) analog input module<br />
|-<br />
|MOD2PT <br />
|input module for two PT100 temperature probes<br />
|-<br />
|MODCNT <br />
|4-channel counter module in modular housing<br />
|-<br />
|MODNTC <br />
|input module for ambient temperature sensors and potentiometers<br />
|-<br />
|MOD4I/A <br />
|4-digital input module for NO contacts in modular housing<br />
|-<br />
|MOD4I/S <br />
|4-digital input module for NO contacts in 2M modular housing<br />
|-<br />
|MODLUX <br />
|ambient light measurement module with sensor for ceiling mounting<br />
|-<br />
|MODMETEO <br />
|meteorological data detection module for Contatto bus<br />
|-<br />
|MOD8R <br />
|8 power relay output module<br />
|-<br />
|MODPNP <br />
|8 positive logic (PNP) “open collector” digital output module<br />
|-<br />
|MODREL <br />
|8 relay output compact module in DIN 3M housing<br />
|-<br />
|MOAN/U <br />
|0÷10V analog output module<br />
|-<br />
|MO420 <br />
|4÷20mA analog output module<br />
|-<br />
|MODLC MODLC-P<br />
|ambient light regulator module with integrated sensor<br />
|-<br />
|MOD4-4S <br />
|4 digital input and 4 power relay output multifunction module<br />
|-<br />
|MOD2-2R <br />
|2 digital input and 2 power relay output module<br />
|-<br />
|MOD4-4 <br />
|4 digital input and 4 digital output module<br />
|-<br />
|MOD2DM<br />
|2x300W dimmer module<br />
|-<br />
|MOD2DV <br />
|dual 1-10V output for electronic ballast driving<br />
|-<br />
|MOD8IL <br />
|8 digital input – 8 LED output module for wall box<br />
|-<br />
|MOD4DV <br />
|quad 0-10V output module for generic applications or for external dimmers control<br />
|-<br />
|MODDMX <br />
|DMX gateway<br />
|-<br />
|MODDALI <br />
|4-channel DALI gateway<br />
|-<br />
|CLIMA2 <br />
|module for the regulation of the ambient temperature<br />
|-<br />
|MODANA <br />
|network analyzer module for Contatto bus<br />
|-<br />
|MODPQ5 <br />
|tags proximity reader and programmer<br />
|-<br />
|MODHT <br />
|hotel room controller<br />
|-<br />
|MODCA <br />
|access control module<br />
|-<br />
|MODKB <br />
|keypad access control module<br />
|-<br />
|MODDI<br />
|500W IGBT dimmer module<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MOD8I/A ===<br />
<br />
8 digital input module for NO contacts in modular housing.<br />
<br />
It uses one input address in the CONTATTO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.5<br />
|0<br />
|R<br />
|input pin 5 off<br />
|-<br />
|1<br />
|R<br />
|input pin 5 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.6<br />
|0<br />
|R<br />
|input pin 6 off<br />
|-<br />
|1<br />
|R<br />
|input pin 6 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.7<br />
|0<br />
|R<br />
|input pin 7 off<br />
|-<br />
|1<br />
|R<br />
|input pin 7 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.8<br />
|0<br />
|R<br />
|input pin 8 off<br />
|-<br />
|1<br />
|R<br />
|input pin 8 on<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MOD32I/A ===<br />
<br />
32 digital input module for NO contacts in modular housing.<br />
<br />
It uses four addresses of the Contatto bus, one for each group of 8 inputs.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.5<br />
|0<br />
|R<br />
|input pin 5 off<br />
|-<br />
|1<br />
|R<br />
|input pin 5 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.6<br />
|0<br />
|R<br />
|input pin 6 off<br />
|-<br />
|1<br />
|R<br />
|input pin 6 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.7<br />
|0<br />
|R<br />
|input pin 7 off<br />
|-<br />
|1<br />
|R<br />
|input pin 7 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.8<br />
|0<br />
|R<br />
|input pin 8 off<br />
|-<br />
|1<br />
|R<br />
|input pin 8 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.5<br />
|0<br />
|R<br />
|input pin 5 off<br />
|-<br />
|1<br />
|R<br />
|input pin 5 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.6<br />
|0<br />
|R<br />
|input pin 6 off<br />
|-<br />
|1<br />
|R<br />
|input pin 6 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.7<br />
|0<br />
|R<br />
|input pin 7 off<br />
|-<br />
|1<br />
|R<br />
|input pin 7 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.8<br />
|0<br />
|R<br />
|input pin 8 off<br />
|-<br />
|1<br />
|R<br />
|input pin 8 on<br />
|-<br />
<br />
|rowspan="2"|i<address+2>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address+2>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address+2>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address+2>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|i<address+2>.5<br />
|0<br />
|R<br />
|input pin 5 off<br />
|-<br />
|1<br />
|R<br />
|input pin 5 on<br />
|-<br />
<br />
|rowspan="2"|i<address+2>.6<br />
|0<br />
|R<br />
|input pin 6 off<br />
|-<br />
|1<br />
|R<br />
|input pin 6 on<br />
|-<br />
<br />
|rowspan="2"|i<address+2>.7<br />
|0<br />
|R<br />
|input pin 7 off<br />
|-<br />
|1<br />
|R<br />
|input pin 7 on<br />
|-<br />
<br />
|rowspan="2"|i<address+2>.8<br />
|0<br />
|R<br />
|input pin 8 off<br />
|-<br />
|1<br />
|R<br />
|input pin 8 on<br />
|-<br />
<br />
|rowspan="2"|i<address+3>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address+3>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address+3>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address+3>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|i<address+3>.5<br />
|0<br />
|R<br />
|input pin 5 off<br />
|-<br />
|1<br />
|R<br />
|input pin 5 on<br />
|-<br />
<br />
|rowspan="2"|i<address+3>.6<br />
|0<br />
|R<br />
|input pin 6 off<br />
|-<br />
|1<br />
|R<br />
|input pin 6 on<br />
|-<br />
<br />
|rowspan="2"|i<address+3>.7<br />
|0<br />
|R<br />
|input pin 7 off<br />
|-<br />
|1<br />
|R<br />
|input pin 7 on<br />
|-<br />
<br />
|rowspan="2"|i<address+3>.8<br />
|0<br />
|R<br />
|input pin 8 off<br />
|-<br />
|1<br />
|R<br />
|input pin 8 on<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== MOD8INP2/A ===<br />
<br />
8 digital input module for NO contacts.<br />
<br />
It uses one input address of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.5<br />
|0<br />
|R<br />
|input pin 5 off<br />
|-<br />
|1<br />
|R<br />
|input pin 5 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.6<br />
|0<br />
|R<br />
|input pin 6 off<br />
|-<br />
|1<br />
|R<br />
|input pin 6 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.7<br />
|0<br />
|R<br />
|input pin 7 off<br />
|-<br />
|1<br />
|R<br />
|input pin 7 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.8<br />
|0<br />
|R<br />
|input pin 8 off<br />
|-<br />
|1<br />
|R<br />
|input pin 8 on<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MOD8INP2/C ===<br />
<br />
8 digital input module for NC contacts.<br />
<br />
It uses one input address of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.5<br />
|0<br />
|R<br />
|input pin 5 off<br />
|-<br />
|1<br />
|R<br />
|input pin 5 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.6<br />
|0<br />
|R<br />
|input pin 6 off<br />
|-<br />
|1<br />
|R<br />
|input pin 6 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.7<br />
|0<br />
|R<br />
|input pin 7 off<br />
|-<br />
|1<br />
|R<br />
|input pin 7 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.8<br />
|0<br />
|R<br />
|input pin 8 off<br />
|-<br />
|1<br />
|R<br />
|input pin 8 on<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MOAN/I ===<br />
<br />
0÷10V analog input module.<br />
<br />
It uses one input address in the range 1 to 127 of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.1<br />
|0 ... 255<br />
|R<br />
|voltage value divided in 255 steps<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MOAN/I4 ===<br />
<br />
Quad 0÷10V analog input module.<br />
<br />
It uses four consecutive addresses of the Contatto bus, one for each input.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.1<br />
|0 ... 255<br />
|R<br />
|voltage value divided in 255 steps<br />
|-<br />
<br />
|i<address+1>.1<br />
|0 ... 255<br />
|R<br />
|voltage value divided in 255 steps<br />
|-<br />
<br />
|i<address+2>.1<br />
|0 ... 255<br />
|R<br />
|voltage value divided in 255 steps<br />
|-<br />
<br />
|i<address+3>.1<br />
|0 ... 255<br />
|R<br />
|voltage value divided in 255 steps<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MI420 ===<br />
<br />
4÷20mA analog input module.<br />
<br />
It uses one input address in the range 1 to 127 of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.1<br />
|0 ... 255<br />
|R<br />
|current value divided in 255 steps<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MI420-X4 ===<br />
<br />
Quad 4÷20mA analog input module.<br />
<br />
It uses four consecutive addresses of the Contatto bus, one for each input.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.1<br />
|0 ... 255<br />
|R<br />
|current value divided in 255 steps<br />
|-<br />
<br />
|i<address+1>.1<br />
|0 ... 255<br />
|R<br />
|current value divided in 255 steps<br />
|-<br />
<br />
|i<address+2>.1<br />
|0 ... 255<br />
|R<br />
|current value divided in 255 steps<br />
|-<br />
<br />
|i<address+3>.1<br />
|0 ... 255<br />
|R<br />
|current value divided in 255 steps<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MOD4AM12/V/I ===<br />
<br />
4-channel 0÷10V or 4÷20mA (0÷21mA) analog input module.<br />
<br />
It uses one input address of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.1<br />
|0 ... 4095<br />
|R<br />
|measurement range divided in 4095 steps<br />
|-<br />
<br />
|i<address>.2<br />
|0 ... 4095<br />
|R<br />
|measurement range divided in 4095 steps<br />
|-<br />
<br />
|i<address>.3<br />
|0 ... 4095<br />
|R<br />
|measurement range divided in 4095 steps<br />
|-<br />
<br />
|i<address>.4<br />
|0 ... 4095<br />
|R<br />
|measurement range divided in 4095 steps<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MOD2PT ===<br />
<br />
Input module for two PT100 temperature probes.<br />
<br />
It uses one or two addresses according to how the dip-switch is set. <br />
<br />
If both channels are enabled (IN1 and IN2), setting the n “base” address through the FXPRO programmer, the input address and address+1 (consecutive) will be automatically assigned to the module. <br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.1<br />
|0 ... 255<br />
|R<br />
|range –40 ÷ +87.5°C: code 0 corresponds to –40°C and code 255 corresponds to +87.5°C<br />
|-<br />
<br />
|i<address+1>.1<br />
|0 ... 255<br />
|R<br />
|range –40 ÷ +87.5°C: code 0 corresponds to –40°C and code 255 corresponds to +87.5°C<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MODCNT ===<br />
<br />
4-channel counter module in modular housing.<br />
<br />
It uses one input address of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.1<br />
|0 ... 65535<br />
|R<br />
|number of pulses<br />
|-<br />
<br />
|i<address>.2<br />
|0 ... 65535<br />
|R<br />
|number of pulses<br />
|-<br />
<br />
|i<address>.3<br />
|0 ... 65535<br />
|R<br />
|number of pulses<br />
|-<br />
<br />
|i<address>.4<br />
|0 ... 65535<br />
|R<br />
|number of pulses<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MODNTC ===<br />
<br />
Input module for ambient temperature sensors and potentiometers.<br />
<br />
It uses one input address of the Contatto bus.<br />
<br />
The temperature values measured by MODNTC module are reported as Kelvin degrees multiplied by 10; in other words, 0°C will be reported as 2730, 0.1°C will be reported as 2731 and so on. <br />
<br />
Concerning the potentiometer channels, the values read from the module will be 0 with the potentiometer at its minimum position and it will be 1000 with the potentiometer at its maximum position.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.1<br />
|0 ... 4095<br />
|R<br />
|temperature value<br />
|-<br />
<br />
|i<address>.2<br />
|0 ... 4095<br />
|R<br />
|temperature value<br />
|-<br />
<br />
|i<address>.3<br />
|0 ... 4095<br />
|R<br />
|temperature value<br />
|-<br />
<br />
|i<address>.4<br />
|0 ... 4095<br />
|R<br />
|temperature value<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MOD4I/A ===<br />
<br />
4-digital input module for NO contacts in modular housing.<br />
<br />
It uses one input address in the range 1 to 127 of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address><br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1><br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address+2><br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address+3><br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MOD4I/S ===<br />
<br />
4-digital input module for NO contacts in 2M modular housing.<br />
<br />
It uses one address of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address><br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1><br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address+2><br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address+3><br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MODLUX ===<br />
<br />
Ambient light measurement module with sensor for ceiling mounting. <br />
<br />
It uses one address of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.1<br />
|0 ... 1023<br />
|R<br />
|ambient brightness value<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== MODMETEO ===<br />
<br />
Meteorological data detection module for Contatto bus.<br />
<br />
It uses one input address and, if enabled by the configuration panel of MCP IDE, one output address with the same value.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.temp<br />
|<temp><br />
|R<br />
|temperature value (in C/10)<br />
|-<br />
<br />
|i<address>.lux<br />
|<lux*10><br />
|R<br />
|daylight value in tens of LUX<br />
|-<br />
<br />
|i<address>.wind<br />
|1 m/s / 10<br />
|R<br />
|wind speed value<br />
|-<br />
<br />
|rowspan="2"|i<address>.rain<br />
|0<br />
|R<br />
|no rain<br />
|-<br />
|1<br />
|R<br />
|rain<br />
|-<br />
<br />
|rowspan="2"|i<address>.night<br />
|0<br />
|R<br />
|day<br />
|-<br />
|1<br />
|R<br />
|night<br />
|-<br />
<br />
|rowspan="2"|i<address>.temp.limit<br />
|0<br />
|R<br />
|measured temperature < threshold<br />
|-<br />
|1<br />
|R<br />
|measured temperature > threshold<br />
|-<br />
<br />
|rowspan="2"|i<address>.lux.limit<br />
|0<br />
|R<br />
|measured daylight < threshold<br />
|-<br />
|1<br />
|R<br />
|measured daylight > threshold<br />
|-<br />
<br />
|rowspan="2"|i<address>.wind.limit<br />
|0<br />
|R<br />
|measured wind speed < threshold<br />
|-<br />
|1<br />
|R<br />
|measured wind speed > threshold<br />
|-<br />
<br />
|rowspan="2"|i<address>.light.south<br />
|0<br />
|R<br />
|light not from South<br />
|-<br />
|1<br />
|R<br />
|light from South<br />
|-<br />
<br />
|rowspan="2"|i<address>.light.west<br />
|0<br />
|R<br />
|light not from West<br />
|-<br />
|1<br />
|R<br />
|light from West<br />
|-<br />
<br />
|rowspan="2"|i<address>.light.east<br />
|0<br />
|R<br />
|light not from East<br />
|-<br />
|1<br />
|R<br />
|light from East<br />
|-<br />
<br />
|rowspan="2"|i<address>.fault<br />
|0<br />
|R<br />
|sensor works correctly<br />
|-<br />
|1<br />
|R<br />
|lsensor failure<br />
|-<br />
<br />
|rowspan="2"|o<address>.temp<br />
|<temp><br />
|RW<br />
|temperature threshold (in C/10)<br />
|-<br />
|off<br />
|RW<br />
|temperature threshold off<br />
|-<br />
<br />
|rowspan="2"|o<address>.lux<br />
|<lux*10><br />
|RW<br />
|daylight threshold<br />
|-<br />
|off<br />
|RW<br />
|daylight threshold off<br />
|-<br />
<br />
|rowspan="2"|o<address>.wind<br />
|1 m/s / 10<br />
|RW<br />
|wind speed threshold<br />
|-<br />
|off<br />
|RW<br />
|wind speed threshold off<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== MOD8R ===<br />
<br />
8 power relay output module.<br />
<br />
It uses one output address of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|o<address>.1<br />
|0<br />
|RW<br />
|output pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 1 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.2<br />
|0<br />
|RW<br />
|output pin 2 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 2 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.3<br />
|0<br />
|RW<br />
|output pin 3 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 3 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.4<br />
|0<br />
|RW<br />
|output pin 4 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 4 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.5<br />
|0<br />
|RW<br />
|output pin 5 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 5 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.6<br />
|0<br />
|RW<br />
|output pin 6 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 6 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.7<br />
|0<br />
|RW<br />
|output pin 7 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 7 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.8<br />
|0<br />
|RW<br />
|output pin 8 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 8 on<br />
|-<br />
|}<br />
<br />
You can also set the value to “on” or “off”, that is equivalent to 1 and 0.<br />
<br />
----<br />
<br />
=== MODPNP ===<br />
<br />
8 positive logic (PNP) “open collector” digital output module.<br />
<br />
It uses one output address in the range 1 to 127 of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|o<address>.1<br />
|0<br />
|RW<br />
|output pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 1 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.2<br />
|0<br />
|RW<br />
|output pin 2 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 2 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.3<br />
|0<br />
|RW<br />
|output pin 3 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 3 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.4<br />
|0<br />
|RW<br />
|output pin 4 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 4 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.5<br />
|0<br />
|RW<br />
|output pin 5 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 5 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.6<br />
|0<br />
|RW<br />
|output pin 6 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 6 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.7<br />
|0<br />
|RW<br />
|output pin 7 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 7 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.8<br />
|0<br />
|RW<br />
|output pin 8 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 8 on<br />
|-<br />
|}<br />
<br />
You can also set the value to “on” or “off”, that is equivalent to 1 and 0.<br />
<br />
----<br />
<br />
=== MODREL ===<br />
<br />
8 relay output compact module in DIN 3M housing.<br />
<br />
It uses one output address in the range 1 to 127 of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|o<address>.1<br />
|0<br />
|RW<br />
|output pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 1 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.2<br />
|0<br />
|RW<br />
|output pin 2 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 2 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.3<br />
|0<br />
|RW<br />
|output pin 3 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 3 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.4<br />
|0<br />
|RW<br />
|output pin 4 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 4 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.5<br />
|0<br />
|RW<br />
|output pin 5 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 5 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.6<br />
|0<br />
|RW<br />
|output pin 6 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 6 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.7<br />
|0<br />
|RW<br />
|output pin 7 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 7 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.8<br />
|0<br />
|RW<br />
|output pin 8 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 8 on<br />
|-<br />
|}<br />
<br />
You can also set the value to “on” or “off”, that is equivalent to 1 and 0.<br />
<br />
----<br />
<br />
=== MOAN/U ===<br />
<br />
0÷10V analog output module.<br />
<br />
It uses one output address in the range 1 to 127 of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|o<address><br />
|x/255<br />
|R<br />
|value in fractional format, where 0 &le; x &le; 255<br />
|-<br />
<br />
|rowspan="3"|o<address><br />
|<x%><br />
|W<br />
|the percentage of signal (0÷100%) applied to the output<br />
|-<br />
|0...255<br />
|W<br />
|convert the 8 bits digital code received through the bus in the proper analog level.<br />
|-<br />
|x/y<br />
|W<br />
|fractional format, formatted as “x/y”, where 0 &le; x &le; y<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MO420 ===<br />
<br />
4÷20mA analog output module.<br />
<br />
It uses one output address in the range 1 to 127 of the Contatto bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="3"|o<address><br />
|<x%><br />
|RW<br />
|the percentage of signal (0÷100%) applied to the output<br />
|-<br />
|0...255<br />
|RW<br />
|convert the 8 bits digital code received through the bus in the proper analog level<br />
|-<br />
|x/y<br />
|RW<br />
|fractional format, formatted as “x/y”, where 0 &le; x &le; y<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MODLC and MODLC-P ===<br />
<br />
Ambient light regulator module with integrated sensor.<br />
<br />
It uses one input address and, if enabled by the configuration panel of MCP IDE, one output address with the same value.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.lux<br />
|value equivalent to three times the brightness in lux detected by the sensor<br />
|R<br />
|the brightness value in lux detected by the MODLC<br />
|-<br />
<br />
|i<address>.level<br />
|calculated value for the automatic brightness regulation<br />
|R<br />
|the value to be sent to the dimmer in order to execute the automatic regulation<br />
|-<br />
<br />
|rowspan="2"|i<address>.mode<br />
|auto<br />
|R<br />
|automatic regulation<br />
|-<br />
|man<br />
|R<br />
|manual regulation<br />
|-<br />
<br />
|rowspan="2"|i<address>.in<br />
|0<br />
|R<br />
|digital input OFF<br />
|-<br />
|1<br />
|R<br />
|digital input ON<br />
|-<br />
<br />
|o<address>.setpoint<br />
|setpoint value<br />
|RW<br />
|set the setpoint for the automatic brightness regulation<br />
|-<br />
<br />
|rowspan="2"|o<address>.mode<br />
|auto<br />
|RW<br />
|set automatic regulation<br />
|-<br />
|man<br />
|RW<br />
|set manual regulation<br />
|-<br />
<br />
|rowspan="2"|o<address>.in.reset<br />
|0<br />
|RW<br />
|not active<br />
|-<br />
|1<br />
|R<br />
|force the expiring of the deactivation delay time of the digital input<br />
|-<br />
<br />
|rowspan="2"|o<address>.mode.reset<br />
|0<br />
|RW<br />
|not active<br />
|-<br />
|1<br />
|R<br />
|disable the automatic regulation and it reset the input channel<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MOD4-4S ===<br />
<br />
4 digital input and 4 power relay output multifunction module.<br />
<br />
HSYCO supports two configurations only: four independent outputs, or two shutters.<br />
<br />
When set as four independent outputs, the module must be configured with the same base address for input and output. <br />
<br />
For example:<br />
<pre><br />
(I20, O20)<br />
</pre><br />
The input address must be enabled. Configuration switches must be set as SW1=OFF, SW2=OFF and SW5=ON.<br />
<br />
When set as two shutters, the module must be configured with the same base address for input and output. <br />
<br />
For example: <br />
<pre><br />
(I20, O20, O21)<br />
</pre><br />
The input address must be enabled. Configuration switches must be set as SW1=ON, SW2=ON and SW5=ON.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="6"|o<address>.1<br />
|up<br />
|RW<br />
|shutter up command<br />
|-<br />
|down<br />
|RW<br />
|shutter down command<br />
|-<br />
|stop<br />
|RW<br />
|shutter stop command<br />
|-<br />
|unknown<br />
|R<br />
|unknown state<br />
|-<br />
|offup<br />
|RW<br />
|shutter off, up position<br />
|-<br />
|offdown<br />
|RW<br />
|shutter off, down position<br />
|-<br />
<br />
|rowspan="6"|o<address+1>.1<br />
|up<br />
|RW<br />
|shutter up command<br />
|-<br />
|down<br />
|RW<br />
|shutter down command<br />
|-<br />
|stop<br />
|RW<br />
|shutter stop command<br />
|-<br />
|unknown<br />
|R<br />
|unknown state<br />
|-<br />
|offup<br />
|RW<br />
|shutter off, up position<br />
|-<br />
|offdown<br />
|RW<br />
|shutter off, down position<br />
|-<br />
<br />
|rowspan="2"|o<address>.1<br />
|0<br />
|RW<br />
|output pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 1 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.2<br />
|0<br />
|RW<br />
|output pin 2 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 2 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.3<br />
|0<br />
|RW<br />
|output pin 3 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 3 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.4<br />
|0<br />
|RW<br />
|output pin 4 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 4 on<br />
|-<br />
|}<br />
<br />
You can also set the value to “on” or “off”, that is equivalent to 1 and 0.<br />
<br />
----<br />
<br />
=== MOD2-2R ===<br />
<br />
2 digital input and 2 power relay output module.<br />
<br />
It uses one input address and one output address in the range 1 to 127 of the Contatto bus. <br />
<br />
The input and the output addresses may be the same or they can be different each one to the other.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.1<br />
|0<br />
|RW<br />
|output pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 1 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.2<br />
|0<br />
|RW<br />
|output pin 2 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 2 on<br />
|-<br />
<br />
|}<br />
<br />
You can also set the value to “on” or “off”, that is equivalent to 1 and 0.<br />
<br />
----<br />
<br />
=== MOD4-4R ===<br />
<br />
4 digital input and 4 digital output module.<br />
<br />
It uses one input address and one output address in the range 1 to 127 of the Contatto bus. <br />
<br />
The input and the output addresses may be the same or they can be different each one to the other.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.1<br />
|0<br />
|RW<br />
|output pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 1 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.2<br />
|0<br />
|RW<br />
|output pin 2 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 2 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.3<br />
|0<br />
|RW<br />
|output pin 3 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 3 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.4<br />
|0<br />
|RW<br />
|output pin 4 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 4 on<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== MOD2DM ===<br />
<br />
2x300W dimmer module.<br />
<br />
It uses 2 output addresses (one for each dimmer channel) and 2 input addresses. <br />
<br />
HSYCO supports this module only when its dip-switches are set as SW1=ON, SW2=ON, SW3=ON, SW4=ON.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address><br />
|0...100<br />
|R<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|R<br />
|dimmer off<br />
|-<br />
<br />
|rowspan="2"|i<address+1><br />
|0...100<br />
|R<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|R<br />
|dimmer off<br />
|-<br />
<br />
|rowspan="3"|o<address><br />
|0...100<br />
|RW<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|RW<br />
|dimmer off<br />
|-<br />
|101...255<br />
|W<br />
|command (see MOD2DM commands table)<br />
|-<br />
<br />
|rowspan="3"|o<address+1><br />
|0...100<br />
|RW<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|RW<br />
|dimmer off<br />
|-<br />
|101...255<br />
|W<br />
|command (see MOD2DM commands table)<br />
|-<br />
<br />
|}<br />
<br />
The dimmer level can be set using additional formats besides the standard percent values:<br />
*absolute positive integer number between 0 and 100<br />
*percent number, formatted as x%<br />
*fractional format, formatted as “n/m”, where 0 <= n <= m.<br />
<br />
----<br />
<br />
=== MOD2DV ===<br />
<br />
Dual 1-10V output for electronic ballast driving.<br />
<br />
It uses 2 output addresses (one for each dimmer channel) and 2 input addresses. <br />
<br />
HSYCO supports this module only when its dip-switches are set as SW1=ON, SW2=ON, SW3=ON, SW4=ON.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address><br />
|0...100<br />
|R<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|R<br />
|dimmer off<br />
|-<br />
<br />
|rowspan="2"|i<address+1><br />
|0...100<br />
|R<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|R<br />
|dimmer off<br />
|-<br />
<br />
|rowspan="3"|o<address><br />
|0...100<br />
|RW<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|RW<br />
|dimmer off<br />
|-<br />
|101...255<br />
|W<br />
|command (see MOD2DV commands table)<br />
|-<br />
<br />
|rowspan="3"|o<address+1><br />
|0...100<br />
|RW<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|RW<br />
|dimmer off<br />
|-<br />
|101...255<br />
|W<br />
|command (see MOD2DV commands table)<br />
|-<br />
<br />
|}<br />
<br />
The dimmer level can be set using additional formats besides the standard percent values:<br />
*absolute positive integer number between 0 and 100<br />
*percent number, formatted as x%<br />
*fractional format, formatted as “n/m”, where 0 <= n <= m.<br />
<br />
----<br />
<br />
=== MOD8IL ===<br />
<br />
8 digital input – 8 LED output module for wall box.<br />
<br />
It uses 1 input address and 1 output address.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.5<br />
|0<br />
|R<br />
|input pin 5 off<br />
|-<br />
|1<br />
|R<br />
|input pin 5 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.6<br />
|0<br />
|R<br />
|input pin 6 off<br />
|-<br />
|1<br />
|R<br />
|input pin 6 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.7<br />
|0<br />
|R<br />
|input pin 7 off<br />
|-<br />
|1<br />
|R<br />
|input pin 7 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.8<br />
|0<br />
|R<br />
|input pin 8 off<br />
|-<br />
|1<br />
|R<br />
|input pin 8 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.1<br />
|0<br />
|RW<br />
|output pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 1 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.2<br />
|0<br />
|RW<br />
|output pin 2 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 2 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.3<br />
|0<br />
|RW<br />
|output pin 3 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 3 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.4<br />
|0<br />
|RW<br />
|output pin 4 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 4 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.5<br />
|0<br />
|RW<br />
|output pin 5 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 5 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.6<br />
|0<br />
|RW<br />
|output pin 6 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 6 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.7<br />
|0<br />
|RW<br />
|output pin 7 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 7 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.8<br />
|0<br />
|RW<br />
|output pin 8 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 8 on<br />
|-<br />
|}<br />
<br />
You can also set the value to “on” or “off”, that is equivalent to 1 and 0.<br />
<br />
----<br />
<br />
=== MOD4DV ===<br />
<br />
Quad 0-10V output module for generic applications or for external dimmers control.<br />
<br />
It uses 4 consecutive output addresses (one for each dimmer channel) and 4 input addresses. <br />
<br />
HSYCO supports this module only when its dip-switches are set as SW1=ON, SW2=ON, SW3=ON, SW4=ON, SW5=OFF.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address><br />
|0...100<br />
|R<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|R<br />
|dimmer off<br />
|-<br />
<br />
|rowspan="2"|i<address+1><br />
|0...100<br />
|R<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|R<br />
|dimmer off<br />
|-<br />
<br />
|rowspan="2"|i<address+2><br />
|0...100<br />
|R<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|R<br />
|dimmer off<br />
|-<br />
<br />
|rowspan="2"|i<address+3><br />
|0...100<br />
|R<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|R<br />
|dimmer off<br />
|-<br />
<br />
|rowspan="3"|o<address><br />
|0...100<br />
|RW<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|RW<br />
|dimmer off<br />
|-<br />
|101...255<br />
|W<br />
|command (see MOD4DV commands table)<br />
|-<br />
<br />
|rowspan="3"|o<address+1><br />
|0...100<br />
|RW<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|RW<br />
|dimmer off<br />
|-<br />
|101...255<br />
|W<br />
|command (see MOD4DV commands table)<br />
|-<br />
<br />
|rowspan="3"|o<address+2><br />
|0...100<br />
|RW<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|RW<br />
|dimmer off<br />
|-<br />
|101...255<br />
|W<br />
|command (see MOD4DV commands table)<br />
|-<br />
<br />
|rowspan="3"|o<address+3><br />
|0...100<br />
|RW<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|RW<br />
|dimmer off<br />
|-<br />
|101...255<br />
|W<br />
|command (see MOD4DV commands table)<br />
|-<br />
<br />
|}<br />
<br />
The dimmer level can be set using additional formats besides the standard percent values:<br />
*absolute positive integer number between 0 and 100<br />
*percent number, formatted as x%<br />
*fractional format, formatted as “x/y”, where 0 <= x <= y<br />
*values in the range 101÷255. Values and commands are described in the MOD4DV Programming Handbook (Operation from the bus, page 3).<br />
<br />
----<br />
<br />
=== MODDMX ===<br />
<br />
ModDMX module allows to handle, through the Contatto bus, up to 32 DMX devices. ModDMX module makes possible the communication on the first 64 of 512 DMX channels allowed by this protocol.<br />
<br />
It uses 1 output address, 1-channel 16-bit.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|o<address>.<DMX address><br />
|0...100<br />
|RW<br />
|Values and commands are described in the MODDMX Programming Handbook<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== MODDALI ===<br />
<br />
ModDALI module allows the management, through the Contatto bus, of 4 DALI lines upon it's possible to connect up to 32 devices for line (or channel). In this way it's possible to control and regulate up to 128 DALI ballasts (or other similar devices).<br />
<br />
It uses 1 output address and, if enabled, 1 input address with the same value.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|o<address>.<channel><br />
|refresh<br />
|RW<br />
|update the state of the DALI devices<br />
|-<br />
<br />
|rowspan="2"|o<address>.<channel><br/>o<address>.<channel>.all<br/>o<address>.<channel>.0<br />
|off<br />
|RW<br />
|switch off all available DALI devices <br />
|-<br />
|<level><br />
|RW<br />
|set a level for all available devices<br />
|-<br />
<br />
|rowspan="2"|o<address>.<channel>.group.<DALI group><br />
|off<br />
|RW<br />
|switch off all DALI devices on that group<br />
|-<br />
|<level><br />
|RW<br />
|set a level for all DALI devices in that group<br />
|-<br />
<br />
|rowspan="4"|o<address>.<channel>.<DALI address><br />
|off<br />
|RW<br />
|switch off a single DALI device<br />
|-<br />
|<level><br />
|RW<br />
|set a level for a single DALI device<br />
|-<br />
|fault<br />
|R<br />
|DALI device fault<br />
|-<br />
|>100<br />
|RW<br />
|special functions: possible values are described in the MODDALI Programming Handbook<br />
|-<br />
<br />
|rowspan="2"|i<address>.<channel>.polling<br />
|off<br />
|RW<br />
|polling disabled<br />
|-<br />
|on<br />
|RW<br />
|polling enabled<br />
|-<br />
<br />
|rowspan="2"|i<address>.<channel>.test<br />
|0<br />
|RW<br />
|test button not pressed<br />
|-<br />
|1<br />
|RW<br />
|test button pressed<br />
|-<br />
<br />
|rowspan="4"|i<address>.<channel>.dali<br />
|nopower<br />
|RW<br />
|lamp failure<br />
|-<br />
|open<br />
|RW<br />
|DALI line broken<br />
|-<br />
|short<br />
|RW<br />
|DALI line short circuit<br />
|-<br />
|on<br />
|RW<br />
|on DALI line<br />
|-<br />
<br />
|rowspan="2"|i<address>.<channel>.1<br />
|fault<br />
|RW<br />
|ballast 1 lamp failure<br />
|-<br />
|unknown<br />
|R<br />
|ballast 1 lamp unknown state<br />
|-<br />
<br />
|}<br />
<br />
The channel level can be set using additional formats besides the standard percent values:<br />
*absolute positive integer number between 0 and 100<br />
*percent number, formatted as x%<br />
*fractional format, formatted as “x/y”, where 0 <= x <= y<br />
*values in the range 101÷255. Values and commands are described in the MODDALI Programming Handbook.<br />
<br />
----<br />
<br />
=== CLIMA2 ===<br />
<br />
Module for the regulation of the ambient temperature.<br />
<br />
It uses 1 input and 1 output address that are equal each one to the other, so only a base address is needed.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address><br />
|on<br />
|R<br />
|zone on<br />
|-<br />
|off<br />
|R<br />
|zone off<br />
|-<br />
<br />
|rowspan="2"|i<address>.mode<br />
|summer<br />
|R<br />
|summer mode<br />
|-<br />
|winter<br />
|R<br />
|winter mode<br />
|-<br />
<br />
|rowspan="3"|i<address>.status<br />
|off<br />
|R<br />
|off status<br />
|-<br />
|heating<br />
|R<br />
|heating request<br />
|-<br />
|cooling<br />
|R<br />
|cooling request<br />
|-<br />
<br />
|rowspan="4"|i<address>.fan<br />
|off<br />
|R<br />
|fan off<br />
|-<br />
|min<br />
|R<br />
|min speed<br />
|-<br />
|med<br />
|R<br />
|med speed<br />
|-<br />
|max<br />
|R<br />
|max speed<br />
|-<br />
<br />
|rowspan="2"|i<address>.temp<br />
|fault<br />
|R<br />
|NTC probe fault<br />
|-<br />
|<temp> <br />
|R<br />
|ambient temperature value, in C/10<br />
|-<br />
<br />
|i<address>.setpoint.temp<br />
|<temp><br />
|R<br />
|real setpoint value, in C/10<br />
|-<br />
<br />
|i<address>.knob<br />
|0 ... 1000<br />
|R<br />
|position of rotary knob<br />
|-<br />
<br />
|rowspan="2"|o<address>.mode<br />
|summer<br />
|RW<br />
|set summer<br />
|-<br />
|winter<br />
|RW<br />
|set winter<br />
|-<br />
<br />
|rowspan="2"|o<address><br />
|on<br />
|RW<br />
|zone on<br />
|-<br />
|off<br />
|RW<br />
|zone off<br />
|-<br />
<br />
|o<address>.setpoint.temp<br />
|0...400<br />
|RW<br />
|set and read the value of central setpoint (temp in C/10)<br />
|-<br />
<br />
|o<address>.setpoint.delta.neg<br />
|<temp><br />
|RW<br />
|set and read the MAX negative delta<br />
|-<br />
<br />
|o<address>.setpoint.delta.pos<br />
|<temp><br />
|RW<br />
|set and read the MAX positive delta<br />
|-<br />
<br />
|rowspan="4"|o<address>.led.1<br />
|red<br/>r<br />
|RW<br />
|LED 1 red<br />
|-<br />
|green<br/>g<br />
|RW<br />
|LED 1 green<br />
|-<br />
|yellow<br/>y<br />
|RW<br />
|LED 1 yellow<br />
|-<br />
|off<br />
|RW<br />
|set off<br />
|-<br />
<br />
|rowspan="4"|o<address>.led.2<br />
|red<br/>r<br />
|RW<br />
|LED 2 red<br />
|-<br />
|green<br/>g<br />
|RW<br />
|LED 2 green<br />
|-<br />
|yellow<br/>y<br />
|RW<br />
|LED 2 yellow<br />
|-<br />
|off<br />
|RW<br />
|set off<br />
|-<br />
<br />
|rowspan="4"|o<address>.led.3<br />
|red<br/>r<br />
|RW<br />
|LED 3 red<br />
|-<br />
|green<br/>g<br />
|RW<br />
|LED 3 green<br />
|-<br />
|yellow<br/>y<br />
|RW<br />
|LED 3 yellow<br />
|-<br />
|off<br />
|RW<br />
|set off<br />
|-<br />
<br />
|rowspan="4"|o<address>.led.4<br />
|red<br/>r<br />
|RW<br />
|LED 4 red<br />
|-<br />
|green<br/>g<br />
|RW<br />
|LED 4 green<br />
|-<br />
|yellow<br/>y<br />
|RW<br />
|LED 4 yellow<br />
|-<br />
|off<br />
|RW<br />
|set off<br />
|-<br />
<br />
|}<br />
<br />
You can also set the value to “on” or “off”, that is equivalent to 1 and 0.<br />
<br />
----<br />
<br />
=== MODANA ===<br />
<br />
Network analyzer module for Contatto bus.<br />
<br />
It uses, in dynamic mode, up to a maximum of 5 consecutive input addresses and, if enabled, 1 output address equal to the base address.<br />
<br />
{{tip|The module must be configured with the same base address for input and output.}}<br />
<br />
For example: <br />
<pre><br />
(I7, O7)<br />
</pre><br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.v12<br />
|[V]<br />
|R<br />
|chained voltage phase 1-2<br />
|-<br />
<br />
|i<address>.v23<br />
|[V]<br />
|R<br />
|chained voltage phase 2-3<br />
|-<br />
<br />
|i<address>.v31<br />
|[V]<br />
|R<br />
|chained voltage phase 3-1<br />
|-<br />
<br />
|i<address>.vtm<br />
|[V]<br />
|R<br />
|average chained voltage<br />
|-<br />
<br />
|i<address>.i1<br />
|[A]<br />
|R<br />
|current phase 1<br />
|-<br />
<br />
|i<address>.i2<br />
|[A]<br />
|R<br />
|current phase 2<br />
|-<br />
<br />
|i<address>.i3<br />
|[A]<br />
|R<br />
|current phase 3<br />
|-<br />
<br />
|i<address>.itm<br />
|[A]<br />
|R<br />
|average current<br />
|-<br />
<br />
|i<address>.ptot<br />
|[W]<br />
|R<br />
|total active power<br />
|-<br />
<br />
|i<address>.ptotk<br />
|[kW]<br />
|R<br />
|total active power<br />
|-<br />
<br />
|i<address>.qtot<br />
|[W]<br />
|R<br />
|total reactive power<br />
|-<br />
<br />
|i<address>.qtotk<br />
|[kW]<br />
|R<br />
|total reactive power<br />
|-<br />
<br />
|i<address>.pf<br />
|[pf]<br />
|R<br />
|total power factor<br />
|-<br />
<br />
|i<address>.frequency<br />
|[Hz]<br />
|R<br />
|frequency<br />
|-<br />
<br />
|i<address>.v1n<br />
|[V]<br />
|R<br />
|voltage phase 1<br />
|-<br />
<br />
|i<address>.v2n<br />
|[V]<br />
|R<br />
|voltage phase 2<br />
|-<br />
<br />
|i<address>.v3n<br />
|[V]<br />
|R<br />
|voltage phase 3<br />
|-<br />
<br />
|i<address>.p1<br />
|[W]<br />
|R<br />
|active power phase 1<br />
|-<br />
<br />
|i<address>.p1k<br />
|[kW]<br />
|R<br />
|active power phase 1<br />
|-<br />
<br />
|i<address>.p2<br />
|[W]<br />
|R<br />
|active power phase 2<br />
|-<br />
<br />
|i<address>.p2k<br />
|[kW]<br />
|R<br />
|active power phase 2<br />
|-<br />
<br />
|i<address>.p3<br />
|[W]<br />
|R<br />
|active power phase 3<br />
|-<br />
<br />
|i<address>.p3k<br />
|[kW]<br />
|R<br />
|active power phase 3<br />
|-<br />
<br />
|i<address>.q1<br />
|[W]<br />
|R<br />
|reactive power phase 1<br />
|-<br />
<br />
|i<address>.q1k<br />
|[kW]<br />
|R<br />
|reactive power phase 1<br />
|-<br />
<br />
|i<address>.q2<br />
|[W]<br />
|R<br />
|reactive power phase 2<br />
|-<br />
<br />
|i<address>.q2k<br />
|[kW]<br />
|R<br />
|reactive power phase 2<br />
|-<br />
<br />
|i<address>.q3<br />
|[W]<br />
|R<br />
|reactive power phase 3<br />
|-<br />
<br />
|i<address>.q3k<br />
|[kW]<br />
|R<br />
|reactive power phase 3<br />
|-<br />
<br />
|i<address>.pf1<br />
|[pf]<br />
|R<br />
|power factor phase 1<br />
|-<br />
<br />
|i<address>.pf2<br />
|[pf]<br />
|R<br />
|power factor phase 2<br />
|-<br />
<br />
|i<address>.pf3<br />
|[pf]<br />
|R<br />
|power factor phase 3<br />
|-<br />
<br />
|i<address>.s1<br />
|[VA]<br />
|R<br />
|apparent power phase 1<br />
|-<br />
<br />
|i<address>.s1k<br />
|[kVA]<br />
|R<br />
|apparent power phase 1<br />
|-<br />
<br />
|i<address>.s2<br />
|[VA]<br />
|R<br />
|apparent power phase 2<br />
|-<br />
<br />
|i<address>.s2k<br />
|[kVA]<br />
|R<br />
|apparent power phase 2<br />
|-<br />
<br />
|i<address>.s3<br />
|[VA]<br />
|R<br />
|apparent power phase 3<br />
|-<br />
<br />
|i<address>.s3k<br />
|[kVA]<br />
|R<br />
|apparent power phase 3<br />
|-<br />
<br />
|i<address>.stot<br />
|[VA]<br />
|R<br />
|total apparent power<br />
|-<br />
<br />
|i<address>.hours<br />
|[hours]<br />
|R<br />
|hour-meter<br />
|-<br />
<br />
|i<address>.temperature<br />
|[°C]<br />
|R<br />
|cabinet temperature<br />
|-<br />
<br />
|i<address>.energy.active<br />
|[Wh]<br />
|R<br />
|positive active energy<br />
|-<br />
<br />
|i<address>.energy.activeneg<br />
|[Wh]<br />
|R<br />
|negative active energy<br />
|-<br />
<br />
|i<address>.energy.reactive<br />
|[VARh]<br />
|R<br />
|positive reactive energy<br />
|-<br />
<br />
|i<address>.energy.reactiveneg<br />
|[VARh]<br />
|R<br />
|negative reactive energy<br />
|-<br />
<br />
|i<address>.pm<br />
|[W]<br />
|R<br />
|average positive active power<br />
|-<br />
<br />
|i<address>.qm<br />
|[VAR]<br />
|R<br />
|average positive reactive power<br />
|-<br />
<br />
|rowspan="2"|i<address>.reset.energy<br />
|1<br />
|RW<br />
|reset energies<br />
|-<br />
|0<br />
|RW<br />
| ---<br />
|-<br />
<br />
|rowspan="2"|i<address>.reset.hours<br />
|1<br />
|RW<br />
|reset hour-meter<br />
|-<br />
|0<br />
|RW<br />
| ---<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== MODPQ5 ===<br />
<br />
Q5 tags proximity reader and programmer module.<br />
<br />
Uses 1 input address on the Contatto bus. Write operations are performed through direct writes to the module’s RAM.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.data<br />
|style="white-space:nowrap"|0 <br/> <tag data><br />
|R<br />
|30 characters hexadecimal representation of the 15 bytes of tag data; “0” if the module is not seeing any tag<br />
|-<br />
<br />
|rowspan="2"|i<address>.data.write<br />
|0 <br />
|R<br />
|the tag has been removed from the programmer after writing, or the module is not seeing any tag<br />
|-<br />
|1<br />
|R<br />
|the tag write operation was successful<br />
|-<br />
<br />
|rowspan="2"|i<address>.reader.error<br />
|0 <br />
|R<br />
|reader/writer normal status<br />
|-<br />
|1<br />
|R<br />
|reader/writer module error (normally occurs when the reader is not connected to the MODPQ5 module)<br />
|-<br />
<br />
|rowspan="2"|i<address>.tag.error<br />
|0 <br />
|R<br />
|the tag is valid<br />
|-<br />
|1<br />
|R<br />
|the tag is not valid<br />
|-<br />
<br />
|rowspan="2"|i<address>.request.error<br />
|0<br />
|R<br />
|no request or handshake errors detected<br />
|-<br />
|1<br />
|R<br />
|handshake error<br />
|-<br />
<br />
|rowspan="2"|i<address>.data.error<br />
|0<br />
|R<br />
|tag data ok<br />
|-<br />
|1<br />
|R<br />
|tag data errors detected<br />
|-<br />
<br />
|rowspan="2"|i<address>.unknown.error<br />
|0<br />
|R<br />
|no unknown errors<br />
|-<br />
|1<br />
|R<br />
|unknown error detected<br />
|-<br />
<br />
|rowspan="2"|i<address>.write<br />
|<tag data><br />
|R<br />
|tag data write successful<br />
|-<br />
|error<br />
|R<br />
|tag data write error<br />
|-<br />
<br />
|o<address>.write<br />
|<tag data><br />
|W<br />
|30 characters hexadecimal representation of the 15 bytes data to be written on the tag<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MODHT ===<br />
<br />
MODHT is the hotel room controller module. <br />
<br />
It uses 1 input and 1 output address. <br />
<br />
Tags configuration data are written to the module’s EEPROM (persistent internal memory).<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.door<br />
|0 <br />
|R<br />
|door closed<br />
|-<br />
|1<br />
|R<br />
|door open<br />
|-<br />
<br />
|rowspan="2"|i<address>.window<br />
|0 <br />
|R<br />
|window closed<br />
|-<br />
|1<br />
|R<br />
|window open<br />
|-<br />
<br />
|rowspan="2"|i<address>.panic<br />
|0 <br />
|R<br />
|panic request not active<br />
|-<br />
|1<br />
|R<br />
|panic request<br />
|-<br />
<br />
|rowspan="2"|i<address>.busy<br />
|0 <br />
|R<br />
|room is free<br />
|-<br />
|1<br />
|R<br />
|room is occupied<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0 <br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0 <br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.ev<br />
|0<br />
|R<br />
|EV output off<br />
|-<br />
|1<br />
|R<br />
|EV output on<br />
|-<br />
<br />
|rowspan="2"|i<address>.aux<br />
|0<br />
|R<br />
|AUX output off<br />
|-<br />
|1<br />
|R<br />
|AUX output on<br />
|-<br />
<br />
|rowspan="2"|i<address>.dnd<br />
|0 <br />
|R<br />
|do not disturb not active<br />
|-<br />
|1<br />
|R<br />
|do not disturb<br />
|-<br />
<br />
|rowspan="2"|i<address>.service<br />
|0 <br />
|R<br />
|room service request not active<br />
|-<br />
|1<br />
|R<br />
|room service request<br />
|-<br />
<br />
|rowspan="2"|i<address>.booked<br />
|0 <br />
|R<br />
|room is not booked<br />
|-<br />
|1<br />
|R<br />
|room is booked<br />
|-<br />
<br />
|rowspan="2"|i<address>.mode<br />
|summer <br />
|R<br />
|summer mode<br />
|-<br />
|winter<br />
|R<br />
|winter mode<br />
|-<br />
<br />
|rowspan="5"|i<address>.fan<br />
|off<br />
|R<br />
|fan set to off<br />
|-<br />
|auto<br />
|R<br />
|fan speed set to auto<br />
|-<br />
|min<br />
|R<br />
|fan speed set to minimum<br />
|-<br />
|med<br />
|R<br />
|fan speed set to medium<br />
|-<br />
|max<br />
|R<br />
|fan speed set to max<br />
|-<br />
<br />
|rowspan="2"|i<address>.fan.status<br />
|0 <br />
|R<br />
|fan is off<br />
|-<br />
|1<br />
|R<br />
|fan is on (cooling or heating)<br />
|-<br />
<br />
|i<address>.temp<br />
|<temp><br />
|R<br />
|ambient temperature value (in C/10)<br />
|-<br />
<br />
|i<address>.setpoint.temp<br />
|<temp><br />
|R<br />
|setpoint value (in C/10)<br />
|-<br />
<br />
|i<address>.tag.door<br />
|1...5<br />
|R<br />
|type of tag that is opening the door (1 to 4 are service tags; 5 is a customer tag). After 5 seconds the value is reset to 0<br />
|-<br />
<br />
|rowspan="2"|i<address>.tag.room<br />
|0<br />
|R<br />
|no tag present in room’s reader<br />
|-<br />
|1...5<br />
|R<br />
|type of tag inserted in the room’s reader (1 to 4 are service tags; 5 is a customer tag)<br />
|-<br />
<br />
|i<address>.tag.<n><br />
|<tag data><br />
|R<br />
|24 characters hexadecimal representation of the 12 bytes data matching service N tags (N from 1 to 5) stored in module’s EEPROM<br />
|-<br />
<br />
|rowspan="2"|i<address>.pcam.error<br />
|0<br />
|R<br />
|PCAM module ok<br />
|-<br />
|1<br />
|R<br />
|PCAM module error<br />
|-<br />
<br />
|rowspan="2"|i<address>.tpr.error<br />
|0<br />
|R<br />
|TPR/H module ok<br />
|-<br />
|1<br />
|R<br />
|TPR/H module error<br />
|-<br />
<br />
|i<address>.mask<br />
|style="white-space:nowrap"|<mask data><br />
|R<br />
|24 characters hexadecimal representation of the 12 bytes tag mask stored in module’s EEPROM<br />
|-<br />
<br />
|i<address>.data.door<br />
|0<br/><tag data><br />
|R<br />
|30 characters hexadecimal representation of the 15 bytes of tag data being read from the door reader; “0” if the module is not seeing any tag (this data point is available with MODHT firmware 5.3 or newer)<br />
|-<br />
<br />
|i<address>.data.room<br />
|0<br/><tag data><br />
|R<br />
|30 characters hexadecimal representation of the 15 bytes of tag data being read from the room reader; “0” if the module is not seeing any tag (this data point is available with MODHT firmware 5.3 or newer)<br />
|-<br />
<br />
|i<address>.setpoint.summer.<n> <br/> i<address>.setpoint.winter.<n><br />
|<temp><br />
|R<br />
|winter/summer setpoint <n> (1...3) current value (in C/10)<br />
|-<br />
<br />
|i<address>.setpoint.delta.summer.low <br/> i<address>.setpoint.delta.summer.high <br/> i<address>.setpoint.delta.winter.low <br/> i<address>.setpoint.delta.winter.high<br />
|style="white-space:nowrap"|<temp delta limit> <br/> 1...9<br />
|R<br />
|the current temperature setpoint low/high limits for winter and summer modes (in C)<br />
|-<br />
<br />
|rowspan="2"|o<address>.tag.<n><br />
|<tag data><br />
|R<br />
|tag data write successful<br />
|-<br />
|error<br />
|R<br />
|tag data write error<br />
|-<br />
<br />
|rowspan="2"|o<address>.mask<br />
|<mask data><br />
|R<br />
|mask data write successful<br />
|-<br />
|error<br />
|R<br />
|mask data write error<br />
|-<br />
<br />
|rowspan="2"|o<address>.setpoint.summer.<n> <br/> o<address>.setpoint.winter.<n><br />
|<temp><br />
|R<br />
|winter/summer setpoint N (1-3) write successful (in C/10)<br />
|-<br />
|error<br />
|R<br />
|setpoint write error<br />
|-<br />
<br />
|rowspan="2"|o<address>.setpoint.delta.summer.low <br/> o<address>.setpoint.delta.summer.high <br/> o<address>.setpoint.delta.winter.low <br/> o<address>.setpoint.delta.winter.high<br />
|<temp delta limit> <br/> 1...9<br />
|R<br />
|setpoint min/max limit for winter/summer write successful (in C)<br />
|-<br />
|error<br />
|R<br />
|setpoint limit write error<br />
|-<br />
<br />
|rowspan="2"|o<address>.ev.enable<br />
|0<br />
|W<br />
|EV output disabled<br />
|-<br />
|1<br />
|W<br />
|EV output enabled<br />
|-<br />
<br />
|rowspan="2"|o<address>.aux.enable<br />
|0<br />
|W<br />
|AUX output disabled<br />
|-<br />
|1<br />
|W<br />
|AUX output enabled<br />
|-<br />
<br />
|o<address>.panic.reset<br />
|1<br />
|W<br />
|panic request reset<br />
|-<br />
<br />
|rowspan="2"|o<address>.busy<br />
|0<br />
|W<br />
|set room status to free<br />
|-<br />
|1<br />
|W<br />
|set room status to occupied<br />
|-<br />
<br />
|rowspan="2"|o<address>.ev<br />
|0<br />
|W<br />
|EV output off<br />
|-<br />
|1<br />
|W<br />
|EV output on<br />
|-<br />
<br />
|rowspan="2"|o<address>.aux<br />
|0<br />
|W<br />
|AUX output off<br />
|-<br />
|1<br />
|W<br />
|AUX output on<br />
|-<br />
<br />
|o<address>.dnd.reset<br />
|1<br />
|W<br />
|do not disturb reset<br />
|-<br />
<br />
|o<address>.service.reset<br />
|1<br />
|W<br />
|do not disturb reset<br />
|-<br />
<br />
|rowspan="2"|o<address>.booked<br />
|0<br />
|W<br />
|set room as not booked<br />
|-<br />
|1<br />
|W<br />
|set room as booked<br />
|-<br />
<br />
|rowspan="2"|o<address>.mode<br />
|summer<br />
|W<br />
|set room to summer mode<br />
|-<br />
|winter<br />
|W<br />
|set room to winter mode<br />
|-<br />
<br />
|rowspan="2"|o<address>.fan<br />
|off<br />
|W<br />
|set fan off<br />
|-<br />
|auto<br />
|W<br />
|set fan to auto mode<br />
|-<br />
<br />
|rowspan="2"|o<address>.comfort<br />
|0<br />
|W<br />
|output 3 off<br />
|-<br />
|1<br />
|W<br />
|output 3 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.fan.heating.min<br />
|0<br />
|W<br />
|reset heating speed limit<br />
|-<br />
|1<br />
|W<br />
|limit heating speed to min<br />
|-<br />
<br />
|rowspan="2"|o<address>.fan.cooling.min<br />
|0<br />
|W<br />
|reset cooling speed limit<br />
|-<br />
|1<br />
|W<br />
|limit cooling speed to min<br />
|-<br />
<br />
|rowspan="2"|o<address>.tag.<n><br />
|read<br />
|W<br />
|read the 12 bytes stored in module’s EEPROM for service N tags (<n> from 1 to 5)<br />
|-<br />
|<tag data><br />
|W<br />
|24 characters hexadecimal representation of the 12 bytes data matching service N tags (N from 1 to 5), to be stored in module’s EEPROM. After writing data, you should wait approximately 150ms before sending a read command<br />
|-<br />
<br />
|rowspan="2"|o<address>.mask<br />
|read<br />
|W<br />
|read the 12 bytes mask stored in module’s EEPROM<br />
|-<br />
|<mask data><br />
|W<br />
|24 characters hexadecimal representation of the 12 bytes tag mask, to be stored in module’s EEPROM. After writing data, you should wait approximately 150ms before sending a read command<br />
|-<br />
<br />
|rowspan="2"|o<address>.setpoint.summer.<n> <br/> o<address>.setpoint.winter.<n><br />
|read<br />
|W<br />
|read winter/summer setpoint <n> (1-3)<br />
|-<br />
|<temp><br />
|W<br />
|set winter/summer setpoint <n> (1-3)<br />
|-<br />
<br />
|o<address>.setpoint.delta<br />
|read<br />
|W<br />
|read winter and summer, low and high setpoint limits<br />
|-<br />
<br />
|o<address>.setpoint.delta.summer.low <br/> o<address>.setpoint.delta.summer.high <br/> o<address>.setpoint.delta.winter.low <br/> o<address>.setpoint.delta.winter.high<br />
|<temp delta limit><br />
|W<br />
|set winter/summer, low/high setpoint limit (in C)<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== MODCA ===<br />
<br />
MODCA is the access control module. <br />
<br />
It uses 1 input and 1 output address. <br />
<br />
Tags configuration data are written to the module’s EEPROM (persistent external memory). <br />
<br />
Site codes and the tags mask are written to the internal EEPROM.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0 <br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0 <br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.blocked<br />
|0 <br />
|R<br />
|access control enabled<br />
|-<br />
|1<br />
|R<br />
|access blocked<br />
|-<br />
<br />
|rowspan="2"|i<address>.tpr.error<br />
|0 <br />
|R<br />
|TPR module ok<br />
|-<br />
|1<br />
|R<br />
|TPR module error<br />
|-<br />
<br />
|rowspan="2"|i<address>.access.granted.1<br />
|0 <br />
|R<br />
|no tag present at antenna 1<br />
|-<br />
|1<br />
|R<br />
|access granted to tag at antenna 1<br />
|-<br />
<br />
|rowspan="2"|i<address>.access.granted.2<br />
|0 <br />
|R<br />
|no tag present at antenna 2<br />
|-<br />
|1<br />
|R<br />
|access granted to tag at antenna 2<br />
|-<br />
<br />
|rowspan="8"|i<address>.access.denied<br />
|0 <br />
|R<br />
|access denied flags reset<br />
|-<br />
|site<br />
|R<br />
|access denied due to site code error<br />
|-<br />
|code<br />
|R<br />
|access denied due to user code error<br />
|-<br />
|total.limit<br />
|R<br />
|access denied due to exceeded total number of access grants<br />
|-<br />
|daily.limit<br />
|R<br />
|access denied due to exceeded daily number of access grants<br />
|-<br />
|time<br />
|R<br />
|access denied due to time range violation<br />
|-<br />
|day<br />
|R<br />
|access denied due to weekday violation<br />
|-<br />
|expired<br />
|R<br />
|access denied due expired tag<br />
|-<br />
<br />
|i<address>.denied.code<br />
|<tag code><br />
|R<br />
|the tag code (decimal value of selected two bytes of the tag data) that was denied access<br />
|-<br />
<br />
|i<address>.granted.1.code<br />
|<tag code><br />
|R<br />
|the tag code (decimal value of selected two bytes of the tag data) that was granted access at antenna 1<br />
|-<br />
<br />
|i<address>.granted.2.code<br />
|<tag code><br />
|R<br />
|the tag code (decimal value of selected two bytes of the tag data) that was granted access at antenna 2<br />
|-<br />
<br />
|i<address>.site.<n><br />
|style="white-space:nowrap"|<site data><br />
|R<br />
|16 characters hexadecimal representation of the 8 bytes data representing the Nth site code (N from 1 to 4) stored in module’s EEPROM<br />
|-<br />
<br />
|i<address>.mask<br />
|style="white-space:nowrap"|<mask data><br />
|R<br />
|16 characters hexadecimal representation of the 8 bytes site code mask stored in module’s EEPROM<br />
|-<br />
<br />
|i<address>.mask<br />
|<mask data><br />
|R<br />
|16 characters hexadecimal representation of the 8 bytes site code mask stored in module’s EEPROM<br />
|-<br />
<br />
|i<address>.user.<n><br />
|<user data><br />
|R<br />
|32 characters hexadecimal representation of the 16 bytes data for user <n> (N from 1 to 2000) stored in module’s EEPROM<br />
|-<br />
<br />
|rowspan="2"|o<address>.site.<n><br />
|<site data><br />
|R<br />
|site data write successful<br />
|-<br />
|error<br />
|R<br />
|site data write error<br />
|-<br />
<br />
|rowspan="2"|o<address>.mask<br />
|<mask data><br />
|R<br />
|mask data write successful<br />
|-<br />
|error<br />
|R<br />
|mask data write error<br />
|-<br />
<br />
|rowspan="2"|o<address>.user.<n><br />
|<user data><br />
|R<br />
|user data write successful<br />
|-<br />
|error<br />
|R<br />
|user data write error<br />
|-<br />
<br />
|rowspan="2"|o<address>.relay<br />
|0<br />
|W<br />
|relay output off<br />
|-<br />
|1<br />
|W<br />
|relay output on (with firmware versions before 5.3 this is a pulse data point, and resets to 0 immediately after the relay is closed, usually before the relay closure time)<br />
|-<br />
<br />
|rowspan="2"|o<address>.block<br />
|0<br />
|W<br />
|enable access control<br />
|-<br />
|1<br />
|W<br />
|block access block<br />
|-<br />
<br />
|rowspan="2"|o<address>.access.granted.code<br />
|0<br />
|W<br />
|reset<br />
|-<br />
|1<br />
|W<br />
|allow access even when site code is not valid<br />
|-<br />
<br />
|rowspan="2"|o<address>.access.granted.total.limit<br />
|0<br />
|W<br />
|reset<br />
|-<br />
|1<br />
|W<br />
|allow access even when the total limit of access grants has been exceeded<br />
|-<br />
<br />
|rowspan="2"|o<address>.access.granted.daily.limit<br />
|0<br />
|W<br />
|reset<br />
|-<br />
|1<br />
|W<br />
|allow access even when the daily limit of access grants has been exceeded<br />
|-<br />
<br />
|rowspan="2"|o<address>.access.granted.time<br />
|0<br />
|W<br />
|reset<br />
|-<br />
|1<br />
|W<br />
|allow access even outside of the allowed timeframe<br />
|-<br />
<br />
|rowspan="2"|o<address>.access.granted.day<br />
|0<br />
|W<br />
|reset<br />
|-<br />
|1<br />
|W<br />
|allow access even outside of the allowed weekdays<br />
|-<br />
<br />
|rowspan="2"|o<address>.access.granted.expired<br />
|0<br />
|W<br />
|reset<br />
|-<br />
|1<br />
|W<br />
|allow access even when the tag is expired<br />
|-<br />
<br />
|rowspan="2"|o<address>.site.<n><br />
|read<br />
|W<br />
|read the 8 bytes stored in module’s EEPROM for site N code (<n> from 1 to 4)<br />
|-<br />
|<site data><br />
|W<br />
|16 characters hexadecimal representation of the 8 bytes data of site N code (N from 1 to 4), to be stored in module’s EEPROM. After writing data, you should wait approximately 100ms before sending a read command<br />
|-<br />
<br />
|rowspan="2"|o<address>.mask<br />
|read<br />
|W<br />
|read the 8 bytes mask stored in module’s EEPROM<br />
|-<br />
|<mask data><br />
|W<br />
|16 characters hexadecimal representation of the 8 bytes site code mask, to be stored in module’s EEPROM. After writing data, you should wait approximately 100ms before sending a read command<br />
|-<br />
<br />
|rowspan="3"|o<address>.user.<n><br />
|read<br />
|W<br />
|read the 16 bytes stored in module’s EEPROM for user N (<n> from 1 to 2000)<br />
|-<br />
|<user data><br />
|W<br />
|16 characters hexadecimal representation of the first 8 bytes of access control data for user N (N from 1 to 2000) , to be stored in module’s EEPROM<br />
|-<br />
|<reset><br />
|W<br />
|reset to 0 the total and daily counters for user <n><br />
|-<br />
<br />
|o<address>.users<br />
|erase<br />
|W<br />
|deletes all users data. This action requires up to about 27 seconds to be completed. It also deletes all i<address>.user.<n> and o<address>.user.<n> data points<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== MODKB ===<br />
<br />
MODKB is the keypad access control module. <br />
<br />
It uses 1 input and 1 output address. <br />
<br />
PIN configuration data are written to the module’s EEPROM (persistent memory).<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0 <br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0 <br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2" style="white-space:nowrap"|i<address>.access.granted.<n><br />
|0 <br />
|R<br />
|reset<br />
|-<br />
|1<br />
|R<br />
|access granted to PIN <n> (<n> from 1 to 30)<br />
|-<br />
<br />
|i<address>.access.pin<br />
|style="white-space:nowrap"|<pin code><br />
|R<br />
|the last pin code entered on the keypad (from 1 to 65535). Reset to 0 after programmed code persistence time<br />
|-<br />
<br />
|rowspan="5"|i<address>.access.granted.<n><br />
|0 <br />
|R<br />
|access denied flags reset<br />
|-<br />
|site<br />
|R<br />
|access denied due to site code error<br />
|-<br />
|code<br />
|R<br />
|access denied due to user code error<br />
|-<br />
|time<br />
|R<br />
|access denied due to time range violation<br />
|-<br />
|day<br />
|R<br />
|access denied due to weekday violation<br />
|-<br />
<br />
|i<address>.pin.<n><br />
|style="white-space:nowrap"|<pin data><br />
|R<br />
|16 characters hexadecimal representation of the 8 bytes data for PIN <n> (<n> from 1 to 30) stored in module’s EEPROM<br />
|-<br />
<br />
|rowspan="2"|o<address>.pin.<n><br />
|<pin data><br />
|R<br />
|pin data write successful<br />
|-<br />
|error<br />
|R<br />
|pin data write error<br />
|-<br />
<br />
|rowspan="2"|o<address>.relay<br />
|0 <br />
|W<br />
|relay output off<br />
|-<br />
|1<br />
|W<br />
|relay output on (pulse output, resets to 0 immediately after the relay is closed, usually before the relay closure time)<br />
|-<br />
<br />
|rowspan="2"|o<address>.lock.all<br />
|0 <br />
|W<br />
|reset<br />
|-<br />
|1<br />
|W<br />
|disables access to all PINs<br />
|-<br />
<br />
|rowspan="2"|o<address>.lock.<n><br />
|0 <br />
|W<br />
|reset<br />
|-<br />
|1<br />
|W<br />
|disables access to PIN <n> (<n> from 1 to 30)<br />
|-<br />
<br />
|rowspan="2"|o<address>.pin.<n><br />
|read <br />
|W<br />
|read the 8 bytes stored in module’s EEPROM for PIN <n> (<n> from 1 to 30)<br />
|-<br />
|<pin data><br />
|W<br />
|16 characters hexadecimal representation of the 8 bytes data for PIN <n> (<n> from 1 to 30), to be stored in module’s EEPROM<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== MODDI ===<br />
<br />
500W IGBT dimmer module.<br />
<br />
It uses 1 output address. <br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="3"|o<address><br />
|0...100<br />
|RW<br />
|brightness level according to current ramp<br />
|-<br />
|off<br />
|RW<br />
|dimmer off<br />
|-<br />
|101...173<br />
|W<br />
|command (see MODDI commands table)<br />
|-<br />
<br />
|rowspan="2"|o<address>.noline<br />
|0<br />
|R<br />
|AC line detected<br />
|-<br />
|1<br />
|R<br />
|AC line fault<br />
|-<br />
<br />
|rowspan="2"|o<address>.overcurrent<br />
|0<br />
|R<br />
|normal<br />
|-<br />
|1<br />
|R<br />
|overcurrent protection<br />
|-<br />
<br />
|rowspan="2"|o<address>.overvoltage<br />
|0<br />
|R<br />
|normal<br />
|-<br />
|1<br />
|R<br />
|overvoltage protection<br />
|-<br />
<br />
|rowspan="2"|o<address>.overtemperature<br />
|0<br />
|R<br />
|normal<br />
|-<br />
|1<br />
|R<br />
|overtemperature protection<br />
|-<br />
<br />
|}<br />
<br />
The dimmer level can be set using additional formats besides the standard percent values:<br />
*absolute positive integer number between 0 and 100<br />
*percent number, formatted as x%<br />
*fractional format, formatted as “n/m”, where 0 <= n <= m.<br />
<br />
----<br />
<br />
== User Interface ==<br />
<br />
All CONTATTO devices data points that have been defined in the systemtopo.txt database are automatically listed in the Project Editor. Adding a button to control a device output point requires just a few clicks and no additional EVENTS logic.<br />
<br />
<br />
[[File:IO_Servers_Contatto_Project_Editor.png|center|border|600px]]<br />
<br />
<br />
Besides the direct association of control buttons and data points, the CONTATTO driver also automatically updates graphical objects that represent values or states of complex devices, like the CLIMA2 temperature control unit. It will also automatically intercept buttons to manually set operation modes and temperature set-points.<br />
<br />
----<br />
<br />
=== CLIMA2 ===<br />
<br />
You can use the [[temp]] and [[tempmini]] objects to control CLIMA2 devices.<br />
<br />
<br />
[[File:UI Object clima2.png|border]]<br />
<br />
<br />
The fan button, in the bottom right-hand corner, is not enabled because the manual control of the fan speed is not available. The M button, in the top right-hand corner, allows to switch on/off the module.<br />
<br />
You can also easily create customized controls for the CLIMA2, using standard graphic objects that are automatically set to show the device’s status and intercepted to send user commands.<br />
<br />
==== UISET Actions ====<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|rowspan="2"|<address>.mode<br />
|summer<br />
|summer mode (cooling)<br />
|-<br />
|winter<br />
|winter mode (heating)<br />
|-<br />
<br />
|<address>.mode.label.summer<br />
|visible<br />
|if the CLIMA2 is in summer mode<br />
|-<br />
<br />
|<address>.mode.label.winter<br />
|visible<br />
|if the DFCT is in winter mode<br />
|-<br />
<br />
|rowspan="2"|<address>.status<br />
|off<br />
|zone off<br />
|-<br />
|on<br />
|zone on<br />
|-<br />
<br />
|<address>.status.label.off<br />
|visible<br />
|if the zone is not cooling or heating<br />
|-<br />
<br />
|<address>.status.label.cooling<br />
|visible<br />
|if the zone is cooling<br />
|-<br />
<br />
|<address>.status.label.heating<br />
|visible<br />
|if the zone is heating<br />
|-<br />
<br />
|rowspan="4"|<address>.fan<br />
|off<br />
|fan off<br />
|-<br />
|min<br />
|minimum fan speed<br />
|-<br />
|med<br />
|medium fan speed<br />
|-<br />
|max<br />
|maximum fan speed<br />
|-<br />
<br />
|<address>.fan.label.min<br />
|visible<br />
|the fan speed is min<br />
|-<br />
<br />
|<address>.fan.label.med<br />
|visible<br />
|the fan speed is med<br />
|-<br />
<br />
|<address>.fan.label.max<br />
|visible<br />
|the fan speed is max<br />
|-<br />
<br />
|rowspan="3"|<address>.setpoint<br />
|1,2,3<br />
|active setpoint<br />
|-<br />
|man<br />
|manual setpoint<br />
|-<br />
|off<br />
|zone off<br />
|-<br />
<br />
|<address>.setpoint.label.man<br />
|visible<br />
|manual setpoint is active<br />
|-<br />
<br />
|<address>.setpoint.label.off<br />
|visible<br />
|zone is off<br />
|-<br />
<br />
|rowspan="2"|<address>.setpoint.mode<br />
|on<br />
|if zone is on<br />
|-<br />
|off<br />
|if zone is off<br />
|-<br />
<br />
|<address>.setpoint.temp<br />
|<value><br />
|the active setpoint temperature, in Celsius degrees with one decimal digit, followed by " &deg;C"<br />
|-<br />
<br />
|rowspan="2"|<address>.temp<br />
|<temp><br />
|the measured temperature, in Celsius degrees with one decimal digit, followed by " &deg;C"<br />
|-<br />
|fault<br />
|fault/error condition<br />
|-<br />
<br />
|}<br />
<br />
==== USER Commands ====<br />
<br />
{| class="wikitable"<br />
!Name<br />
!Param<br />
!Action<br />
|-<br />
<br />
|rowspan="4"|<address><br />
|on<br />
|module on<br />
|-<br />
|off<br />
|module off<br />
|-<br />
|mode.summer<br />
|set summer mode (cooling)<br />
|-<br />
|mode.winter<br />
|set winter mode (heating)<br />
|-<br />
<br />
|rowspan="6"|<address>.setpoint<br />
|temp.up<br />
|increase setpoint temperature in 0.5C steps<br />
|-<br />
|temp.down<br />
|decrease setpoint temperature in 0.5C steps<br />
|-<br />
|0...400<br />
|set the default setpoint (wrong) to the defined value (in C/10)<br />
|-<br />
|mode<br />
|cycle through on and off modes<br />
|-<br />
|mode.on<br />
|module on<br />
|-<br />
|mode.off<br />
|module off<br />
|-<br />
<br />
|}<br />
<br />
== Release Notes ==<br />
<br />
=== 3.4.0 ===<br />
*improved communication error logging<br />
*improved support of tools remote access<br />
*support for MODDI<br />
<br />
=== 3.2.2 ===<br />
bug fixes:<br />
*the toolspassword optional parameter was incorrectly converted to lower case<br />
*fixed a bug that prevented reading the last 3 addresses of MOAN/I4 and MI420-X4 modules<br />
=== 3.2.1 ===<br />
*added support for MODHT set-point delta limits read and write<br />
*the lux datapoint name was incorrectly set to ID.i<addr>.1 instead of ID.i<addr>.lux<br />
=== 3.2.0 ===<br />
*support for MODCA, MODHT, MODKB, MODPQ5<br />
*new "detectevents" option, generates forced events when a device is detected at start-up<br />
*support for the toolspassword option, to allow MCP-IDE and other tools secure remote access to the MCP via HSYCO<br />
*new clock datapoint to read the MXP-XT internal clock and set it to HSYCO's time<br />
=== 3.0.3 ===<br />
*optimized performance of MCP’s registers status polling<br />
*the server failed to initialized when an unsupported device was configured in the MCP<br />
=== 3.0.1 ===<br />
*you can now limit the number of virtual points and registers read and written by HSYCO, and have access to all of the 1024 registers; defaults are unchanged<br />
=== 3.0.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''HSYCO and Home Systems Consulting are registered trademarks of Home Systems Consulting SpA. Java and JavaScript are registered trademarks of Oracle and/or its affiliates. CONTATTO and DUEMMEGI are registered trademarks of DUEMMEGI SRL. Other products or company names can be trademarks or registered trademarks of other companies and are used for demonstrative purposes only, with no violation intent.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Domino&diff=5253Domino2014-10-24T10:30:29Z<p>Manuela: </p>
<hr />
<div>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.<br />
<br />
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.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
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.<br />
<br />
RS-232 parameters:<br />
{| class="wikitable"<br />
| '''Baud rate'''<br />
| 9600, 38400, 57600 or 115200 bps (according to the DFCP serial port setting)<br />
|-<br />
| '''Data bits'''<br />
| 8<br />
|-<br />
| '''Stop bit'''<br />
| 1<br />
|-<br />
| '''Parity'''<br />
| none<br />
|-<br />
| '''Flow control'''<br />
| none<br />
|}<br />
<br />
<br />
{{tip|A speed of 115200 bps is recommended to achieve good performance, particularly when the number of devices connected to the bus is large.}}<br />
<br />
== HSYCO Configuration ==<br />
<br />
You can define and connect to more than one DOMINO bus using several DFCP gateways.<br />
<br />
The DOMINO I/O Server also supports dual, redundant connections between HSYCO and DFCP. <br />
<br />
If the main connection fails, HSYCO automatically re-routes the communication with DFCP through the fail-over connection. <br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|startupevents<br />
|rowspan="2"|false<br />
|true<br />
|generate IO events also during the driver’s start-up phase<br />
|-<br />
|false<br />
|start generating events only after HSYCO is aligned with the current status of the system<br />
|-<br />
<br />
|rowspan="2"|inputdiscovery<br />
|rowspan="2"|false<br />
|true<br />
|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<br />
|-<br />
|false<br />
|auto-detect for input devices is disabled<br />
|-<br />
<br />
|rowspan="2"|outputdiscovery<br />
|rowspan="2"|true<br />
|true<br />
|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<br />
|-<br />
|false<br />
|auto-detect for output devices is disabled<br />
|-<br />
<br />
|rowspan="2"|virtualdiscovery<br />
|rowspan="2"|false<br />
|true<br />
|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<br />
|-<br />
|false<br />
|auto-detect for devices’ virtual data points is disabled<br />
|-<br />
<br />
|rowspan="3"|virtualpoints<br />
|rowspan="3"|false<br />
|1...2033<br />
|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<br />
|-<br />
|true<br />
|enables polling for all the 2032 virtual points of the DFCP<br />
|-<br />
|false<br />
|polling of the DFCP virtual data points is disabled<br />
|-<br />
<br />
|rowspan="3"|registers<br />
|rowspan="3"|false<br />
|1...1024<br />
|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<br />
|-<br />
|true<br />
|enables polling for registers R0-R127 of the DFCP<br />
|-<br />
|false<br />
|polling of the DFCP registers is disabled<br />
|-<br />
<br />
|rowspan="3"|powerdisplay<br />
|rowspan="3"|false<br />
|true<br />
|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<br />
|-<br />
|&ge; 0 (DFANA address)<br />
|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<br />
|-<br />
|false<br />
|power display disabled for this DFCP<br />
|-<br />
<br />
|powersensivity<br />
|50<br />
| &ge; 0<br />
|measured power changes are reported only if the difference from last reading is equal or greater than the power sensivity option, in Watts<br />
|-<br />
<br />
|powerinterval<br />
|1<br />
| &ge; 0<br />
|power polling interval for the DFCC meter, in seconds<br />
|-<br />
<br />
|rowspan="2"|detectevents<br />
|rowspan="2"|false<br />
|true<br />
|generate forced events when a device is detected at start-up<br />
|-<br />
|false<br />
|do not generate events when a device is detected at start-up<br />
|-<br />
<br />
|toolspassword<br />
|<br />
|string<br />
|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<br />
|-<br />
<br />
|language<br />
|english<br />
|en it fr<br />
|language for all messages from the DOMINO system: English, Italian or French<br />
|-<br />
|}<br />
<br />
== Initialization and Connection Events ==<br />
<br />
{| class="wikitable"<br />
!Event name<br />
!Value<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|connection<br />
|online<br />
|connection established to the DFCP module<br />
|-<br />
|offline<br />
|HSYCO can’t connect to the DFCP module<br />
|-<br />
<br />
|detected.input.<n>.<s><br />
|model name<br />
|an input device of the type passed as value has been detected at address <n>, using <s> addresses<br />
|-<br />
<br />
|detected.output.<n>.<s><br />
|model name<br />
|an output device of the type passed as value has been detected at address <n>, using <s> addresses<br />
|-<br />
<br />
|}<br />
<br />
== The Device Configuration Database ==<br />
<br />
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.<br />
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 '''Settings'''. The default behavior is to only discover devices with output data points.<br />
<br />
This is an example of an automatically generated systemtopo.txt file:<br />
<pre><br />
(devices)<br />
domino.o10.1 : LIGHT ; LIGHT<br />
domino.o6.1 : LIGHT ; DIMMER<br />
domino.o7.2 : LIGHT ; LIGHT<br />
domino.o7.1 : LIGHT ; DIMMER<br />
domino.o9.2 : AUTOM ; VSHUT<br />
domino.o5.4 : LIGHT ; LIGHT<br />
domino.o9.1 : AUTOM ; VSHUT<br />
domino.o5.3 : LIGHT ; LIGHT<br />
domino.o5.2 : LIGHT ; LIGHT<br />
domino.o5.1 : LIGHT ; LIGHT<br />
</pre><br />
You should then manually add comments and other optional parameters:<br />
<pre><br />
(devices)<br />
domino.o10.1 : LIGHT ; LIGHT; main entrance light<br />
domino.o6.1 : LIGHT ; DIMMER; lobby dimmer<br />
domino.o7.2 : LIGHT ; LIGHT; kitchen workbench<br />
domino.o7.1 : LIGHT ; DIMMER; kitchen main dimmer<br />
</pre><br />
<br />
== DFCP Virtual Data Points and Registers ==<br />
<br />
The DFCP implements 2032 virtual points for binary (on/off) data and 1024 registers for positive scalar values (0-65535). <br />
<br />
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.<br />
<br />
You cannot directly control the DFCP virtual data points and registers using GUI objects.<br />
<br />
To enable polling of the current state of the DFCP’s virtual data points, enable the ''virtualpoints'' options in hsyco.ini.<br />
<br />
To enable polling of the current state of the DFCP’s registers, enable the ''registers'' options in hsyco.ini.<br />
<br />
If you only have to write to virtual points or registers, enabling polling is not strictly required. <br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|v0.<n><br />
|0<br />
|RW<br />
|virtual data point <n> off (<n>: 1-2032)<br />
|-<br />
|1<br />
|RW<br />
|virtual data point <n> on (<n>: 1-2032)<br />
|-<br />
<br />
|r0.<n><br />
|<x><br />
|RW<br />
|register <n> off (<n>: 0-1023) set to value <x> (<x>: 0-65535)<br />
|-<br />
<br />
|}<br />
<br />
== DFCP Internal Clock ==<br />
The DFCP module has an integrated real-time clock. You can use the clock datapoint to read the DFCP date and time, and set the DFCP clock to HSYCO’s current time.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="3"|clock<br />
|yyyy-mm-dd hh:mm:ss<br />
|R<br />
|the DFCP clock current time<br />
|-<br />
|read<br />
|W<br />
|read the DFCP clock, and the delta with HSYCO’s time<br />
|-<br />
|sync<br />
|W<br />
|set the DFCP clock to HSYCO’s current time<br />
|-<br />
<br />
|clock.delta<br />
|integer number<br />
|R<br />
|the delta time in seconds between the DFCP and HSYCO clocks. A positive number means that the DFCP clock is ahead of HSYCO<br />
|-<br />
<br />
|}<br />
<br />
== DOMINO Modules Events and Control ==<br />
<br />
{| class="wikitable"<br />
!Module Code<br />
!Description<br />
|-<br />
<br />
|DF4I <br />
|4 digital inputs<br />
|-<br />
|DFCK3 <br />
|clock<br />
|-<br />
|DF8I <br />
|2x4 digital inputs<br />
|-<br />
|DF2R <br />
|2 outputs (relay)<br />
|-<br />
|DF4R, DF4RP <br />
|4 outputs (power relay)<br />
|-<br />
|DF4RP/I <br />
|4 generic inputs ON-OFF + 4 outputs<br />
|-<br />
|DFDI, DFDI2, DFDI2B, DFDM, DFDT <br />
|1 output (dimmer)<br />
|-<br />
|DFDMX <br />
|DMX interface<br />
|-<br />
|DFDALI <br />
|DALI interface<br />
|-<br />
|DFDV <br />
|1 output (1-10V - ballast) + 1 output (power relay)<br />
|-<br />
|DFTP <br />
|2 outputs (shutters)<br />
|-<br />
|DFTP/I <br />
|2 outputs (shutters) + 4 digital inputs<br />
|-<br />
|DFTR <br />
|2 outputs (shutters) + 1 output (relay)<br />
|-<br />
|DF4IL <br />
|4 digital inputs + 4 outputs (LED)<br />
|-<br />
|DF8IL <br />
|8 digital inputs + 8 outputs (LED)<br />
|-<br />
|DFAI <br />
|2 analog inputs<br />
|-<br />
|DFLUX, DFSUN <br />
|light sensor<br />
|-<br />
|DFCT/DFTZ <br />
|temperature sensor<br />
|-<br />
|DFRHT <br />
|temperature and humidity sensor<br />
|-<br />
|DFMETEO <br />
|weather module<br />
|-<br />
|DFCC <br />
|electric energy meter and load manager<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== DF4I ===<br />
<br />
The DF4I is an input module with 4 digital inputs.<br />
<br />
It uses one address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== DFCK3 ===<br />
The DFCK3 is an input module for managing up to 15 different zones with an integrated clock.<br />
<br />
It uses one address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.5<br />
|0<br />
|R<br />
|input pin 5 off<br />
|-<br />
|1<br />
|R<br />
|input pin 5 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.6<br />
|0<br />
|R<br />
|input pin 6 off<br />
|-<br />
|1<br />
|R<br />
|input pin 6 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.7<br />
|0<br />
|R<br />
|input pin 7 off<br />
|-<br />
|1<br />
|R<br />
|input pin 7 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.8<br />
|0<br />
|R<br />
|input pin 8 off<br />
|-<br />
|1<br />
|R<br />
|input pin 8 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.9<br />
|0<br />
|R<br />
|input pin 9 off<br />
|-<br />
|1<br />
|R<br />
|input pin 9 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.10<br />
|0<br />
|R<br />
|input pin 10 off<br />
|-<br />
|1<br />
|R<br />
|input pin 10 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.11<br />
|0<br />
|R<br />
|input pin 11 off<br />
|-<br />
|1<br />
|R<br />
|input pin 11 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.12<br />
|0<br />
|R<br />
|input pin 12 off<br />
|-<br />
|1<br />
|R<br />
|input pin 12 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.13<br />
|0<br />
|R<br />
|input pin 13 off<br />
|-<br />
|1<br />
|R<br />
|input pin 13 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.14<br />
|0<br />
|R<br />
|input pin 14 off<br />
|-<br />
|1<br />
|R<br />
|input pin 14 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.15<br />
|0<br />
|R<br />
|input pin 15 off<br />
|-<br />
|1<br />
|R<br />
|input pin 15 on<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== DF8I ===<br />
The DF8I is an input module with 2x4 digital inputs.<br />
<br />
It uses two consecutive addresses in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== DF2R ===<br />
The DF2R is an output module with 2 relay outputs.<br />
<br />
It uses one address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|o<address>.1<br />
|0<br />
|RW<br />
|output pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 1 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.2<br />
|0<br />
|RW<br />
|output pin 2 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 2 on<br />
|-<br />
|}<br />
<br />
You can also set the value to “on” or “off”, that is equivalent to 1 and 0.<br />
<br />
----<br />
<br />
=== DF4R, DF4RP ===<br />
The DF4R (DF4RP) is an output module with 4 relay outputs.<br />
<br />
It uses one address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|o<address>.1<br />
|0<br />
|RW<br />
|output pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 1 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.2<br />
|0<br />
|RW<br />
|output pin 2 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 2 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.3<br />
|0<br />
|RW<br />
|output pin 3 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 3 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.4<br />
|0<br />
|RW<br />
|output pin 4 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 4 on<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== DF4RP/I ===<br />
The DF4RP/I is an output module with 4 generic inputs and 4 relay outputs.<br />
<br />
It uses one input address and one output address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.1<br />
|0<br />
|RW<br />
|output pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.2<br />
|0<br />
|RW<br />
|output pin 2 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.3<br />
|0<br />
|RW<br />
|output pin 3 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.4<br />
|0<br />
|RW<br />
|output pin 4 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 4 on<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== DFDM, DFDI, DFDI2, DFDI2B, DFDT ===<br />
The DFDM, DFDI, DFDI2, DFDI2B and DFDT are output modules with 1 dimmer output.<br />
<br />
They use one address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="4"|o<address><br />
|program<br />
|R<br />
|program mode<br />
|-<br />
|fault<br />
|R<br />
|dimmer fault<br />
|-<br />
|auto<br />
|R<br />
|auto mode<br />
|-<br />
|man<br />
|R<br />
|manual mode<br />
|-<br />
<br />
|rowspan="3"|o<address>.1<br />
|off<br />
|RW<br />
|dimmer off<br />
|-<br />
|1...100%<br />
|RW<br />
|percent dimmer level<br />
|-<br />
|on<br />
|RW<br />
|dimmer on at last level<br />
|-<br />
<br />
|rowspan="3"|o<address>.ramp<br />
|save<br />
|RW<br />
|saves the current ramp as default<br />
|-<br />
|1...30<br />
|RW<br />
|ramp value in seconds (1 sec steps up to 10 and 2 sec steps up to 30)<br />
|-<br />
|40, 50, 60<br />
|RW<br />
|ramp value in seconds (10 sec steps)<br />
|-<br />
<br />
|o<address>.setpoint<br />
|0...1023<br />
|RW<br />
|setpoint level<br />
|-<br />
<br />
|o<address>.hysteresis<br />
|0...255<br />
|RW<br />
|tolerance level<br />
|-<br />
<br />
|o<address>.time<br />
|0...255<br />
|RW<br />
|period (seconds)<br />
|-<br />
|}<br />
<br />
The dimmer level can be set using additional formats besides the standard percent values:<br />
*absolute positive integer number between 0 and 100<br />
*percent number, formatted as x%<br />
*fractional format, formatted as “n/m”, where 0 <= n <= m.<br />
<br />
----<br />
<br />
=== DFDMX ===<br />
The DFDMX is a DMX-512 protocol output module.<br />
<br />
It uses one address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|o<address>.<command><br />
|0...255<br />
|RW<br />
|commands and values according to the DFDMX programming manual<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== DFDALI ===<br />
The DFDALI is a DALI interface module. Using the DFDALI you can control up to 32 DALI devices. <br />
<br />
You can control individual devices, groups or broadcast commands to all devices. <br />
<br />
It uses one input (if enabled) and one output address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|o<address><br />
|refresh<br />
|RW<br />
|queries the DFDALI module to update the current status of all DALI devices<br />
|-<br />
<br />
|o<address><br />
|off<br />
|RW<br />
|broadcast off command<br />
|-<br />
<br />
|o<address>.all<br />
o<address>.0<br />
|<level><br />
|RW<br />
|broadcast level command<br />
|-<br />
<br />
|rowspan="2"|o<address>.group.<DALI group><br />
|off<br />
|RW<br />
|broadcast off command<br />
|-<br />
|<level><br />
|RW<br />
|group level command<br />
|-<br />
<br />
|rowspan="3"|o<address>.<DALI address><br />
|off<br />
|RW<br />
|turn off a single device<br />
|-<br />
|<level><br />
|RW<br />
|set a single device to a specific level<br />
|-<br />
|> 100<br />
|RW<br />
|special functions, having values between 101 and 255, as defined in the DFDALI manual<br />
|-<br />
<br />
|rowspan="2"|i<address>.polling<br />
|off<br />
|RW<br />
|polling mode is disabled<br />
|-<br />
|on<br />
|RW<br />
|polling mode is enabled<br />
|-<br />
<br />
|rowspan="2"|i<address>.test<br />
|0<br />
|RW<br />
|test button not pressed<br />
|-<br />
|1<br />
|RW<br />
|test button pressed<br />
|-<br />
<br />
|rowspan="4"|i<address>.dali<br />
|nopower<br />
|RW<br />
|power failure on the DALI bus<br />
|-<br />
|open<br />
|RW<br />
|DALI bus is open<br />
|-<br />
|short<br />
|RW<br />
|DALI bus is shorted<br />
|-<br />
|on<br />
|RW<br />
|DALI bus on<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|fault<br />
|RW<br />
|DALI device 1 reporting a lamp failure<br />
|-<br />
|unknown<br />
|R<br />
|DALI device 1 status unknown<br />
|-<br />
|}<br />
<br />
The DALI level can be set using additional formats besides the standard percent values:<br />
*absolute positive integer number between 0 and 100<br />
*percent number, formatted as x%<br />
*fractional format, formatted as “n/m”, where 0 <= n <= m<br />
*special functions, having values between 101 and 255, as defined in the DFDALI manual.<br />
<br />
----<br />
<br />
=== DFDV ===<br />
The DFDV is an output module with 1 output (1-10V for ballast) + 1 generic power relay output.<br />
It uses one address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="3"|o<address>.1<br />
|off<br />
|RW<br />
|dimmer off<br />
|-<br />
|1 ... 100%<br />
|RW<br />
|percent dimmer level<br />
|-<br />
|on<br />
|RW<br />
|dimmer on at last level<br />
|-<br />
<br />
|rowspan="2"|o<address>.2<br />
|0<br />
|RW<br />
|output pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|output pin 1 on<br />
|-<br />
|}<br />
<br />
The dimmer level can be set using additional formats besides the standard percent values:<br />
*absolute positive integer number between 0 and 100<br />
*fractional format, formatted as “n/m”, where 0 <= n <= m.<br />
You can also set the value to “on” or “off”, that is equivalent to 1 and 0.<br />
<br />
----<br />
<br />
=== DFTP ===<br />
The DFTP is an output module for 2 shutters.<br />
<br />
It uses one output address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="6"|o<address>.1<br />
|up<br />
|RW<br />
|shutter up command<br />
|-<br />
|down<br />
|RW<br />
|shutter down command<br />
|-<br />
|stop<br />
|RW<br />
|shutter stop command<br />
|-<br />
|unknown<br />
|R<br />
|unknown state<br />
|-<br />
|offup<br />
|RW<br />
|shutter off, up position<br />
|-<br />
|offdown<br />
|RW<br />
|shutter off, down position<br />
|-<br />
<br />
|rowspan="6"|o<address>.2<br />
|up<br />
|RW<br />
|shutter up command<br />
|-<br />
|down<br />
|RW<br />
|shutter down command<br />
|-<br />
|stop<br />
|RW<br />
|shutter stop command<br />
|-<br />
|unknown<br />
|R<br />
|unknown state<br />
|-<br />
|offup<br />
|RW<br />
|shutter off, up position<br />
|-<br />
|offdown<br />
|RW<br />
|shutter off, down position<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== DFTP/I ===<br />
The DFTP is an input/output module for 2 shutters and 4 generic inputs.<br />
<br />
It uses one input and one output address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="6"|o<address>.1<br />
|up<br />
|RW<br />
|shutter up command<br />
|-<br />
|down<br />
|RW<br />
|shutter down command<br />
|-<br />
|stop<br />
|RW<br />
|shutter stop command<br />
|-<br />
|unknown<br />
|R<br />
|unknown state<br />
|-<br />
|offup<br />
|RW<br />
|shutter off, up position<br />
|-<br />
|offdown<br />
|RW<br />
|shutter off, down position<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="6"|o<address>.2<br />
|up<br />
|RW<br />
|shutter up command<br />
|-<br />
|down<br />
|RW<br />
|shutter down command<br />
|-<br />
|stop<br />
|RW<br />
|shutter stop command<br />
|-<br />
|unknown<br />
|R<br />
|unknown state<br />
|-<br />
|offup<br />
|RW<br />
|shutter off, up position<br />
|-<br />
|offdown<br />
|RW<br />
|shutter off, down position<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== DFTR ===<br />
The DFTR is an output module with 1 shutter output and 1 relay output.<br />
<br />
It uses one address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="5"|o<address>.1<br />
|up<br />
|R<br />
|shutter up<br />
|-<br />
|down<br />
|R<br />
|shutter down<br />
|-<br />
|unknown<br />
|R<br />
|unknown state<br />
|-<br />
|offup<br />
|R<br />
|shutter offup<br />
|-<br />
|offdown<br />
|R<br />
|shutter offdown<br />
|-<br />
<br />
|rowspan="2"|o<address>.2<br />
|0<br />
|R<br />
|output pin 2 off<br />
|-<br />
|1<br />
|R<br />
|output pin 2 on<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== DF4IL ===<br />
The DF4IL is an input/output module with 4 digital inputs and 4 digital open collector outputs for LEDs.<br />
<br />
It uses one input and one output address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.1<br />
|0<br />
|RW<br />
|LED 1 off<br />
|-<br />
|1<br />
|RW<br />
|LED 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.2<br />
|0<br />
|RW<br />
|LED 2 off<br />
|-<br />
|1<br />
|RW<br />
|LED 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.3<br />
|0<br />
|RW<br />
|LED 3 off<br />
|-<br />
|1<br />
|RW<br />
|LED 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|o<address>.4<br />
|0<br />
|RW<br />
|LED 4 off<br />
|-<br />
|1<br />
|RW<br />
|LED 4 on<br />
|-<br />
|}<br />
<br />
You can also set the value to “on” or “off”, that is equivalent to 1 and 0.<br />
<br />
----<br />
<br />
=== DF8IL ===<br />
The DF8IL is an input/output module with 8 digital inputs and 8 digital open collector outputs for LEDs.<br />
<br />
It uses 4 input and 4 output addresses in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.1<br />
|0<br />
|R<br />
|input pin 5 off<br />
|-<br />
|1<br />
|R<br />
|input pin 5 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.2<br />
|0<br />
|R<br />
|input pin 6 off<br />
|-<br />
|1<br />
|R<br />
|input pin 6 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.3<br />
|0<br />
|R<br />
|input pin 7 off<br />
|-<br />
|1<br />
|R<br />
|input pin 7 on<br />
|-<br />
<br />
|rowspan="2"|i<address+1>.4<br />
|0<br />
|R<br />
|input pin 8 off<br />
|-<br />
|1<br />
|R<br />
|input pin 8 on<br />
|-<br />
<br />
|rowspan="2"|i<address+2>.1<br />
|0<br />
|R<br />
|LED 1 is off<br />
|-<br />
|1<br />
|R<br />
|LED 1 is on<br />
|-<br />
<br />
|rowspan="2"|i<address+2>.2<br />
|0<br />
|R<br />
|LED 2 is off<br />
|-<br />
|1<br />
|R<br />
|LED 2 is on<br />
|-<br />
<br />
|rowspan="2"|i<address+2>.3<br />
|0<br />
|R<br />
|LED 3 is off<br />
|-<br />
|1<br />
|R<br />
|LED 3 is on<br />
|-<br />
<br />
|rowspan="2"|i<address+2>.4<br />
|0<br />
|R<br />
|LED 4 is off<br />
|-<br />
|1<br />
|R<br />
|LED 4 is on<br />
|-<br />
<br />
|rowspan="2"|i<address+3>.1<br />
|0<br />
|R<br />
|LED 5 is off<br />
|-<br />
|1<br />
|R<br />
|LED 5 is on<br />
|-<br />
<br />
|rowspan="2"|i<address+3>.2<br />
|0<br />
|R<br />
|LED 6 is off<br />
|-<br />
|1<br />
|R<br />
|LED 6 is on<br />
|-<br />
<br />
|rowspan="2"|i<address+3>.3<br />
|0<br />
|R<br />
|LED 7 is off<br />
|-<br />
|1<br />
|R<br />
|LED 7 is on<br />
|-<br />
<br />
|rowspan="2"|i<address+3>.4<br />
|0<br />
|R<br />
|LED 8 is off<br />
|-<br />
|1<br />
|R<br />
|LED 8 is on<br />
|-<br />
<br />
|rowspan="2"|v<address+2>.1<br />
|0<br />
|RW<br />
|LED 1 is off<br />
|-<br />
|1<br />
|RW<br />
|LED 1 is on<br />
|-<br />
<br />
|rowspan="2"|v<address+2>.2<br />
|0<br />
|RW<br />
|LED 2 is off<br />
|-<br />
|1<br />
|RW<br />
|LED 2 is on<br />
|-<br />
<br />
|rowspan="2"|v<address+2>.3<br />
|0<br />
|RW<br />
|LED 3 is off<br />
|-<br />
|1<br />
|RW<br />
|LED 3 is on<br />
|-<br />
<br />
|rowspan="2"|v<address+2>.4<br />
|0<br />
|RW<br />
|LED 4 is off<br />
|-<br />
|1<br />
|RW<br />
|LED 4 is on<br />
|-<br />
<br />
|rowspan="2"|v<address+3>.1<br />
|0<br />
|RW<br />
|LED 5 is off<br />
|-<br />
|1<br />
|RW<br />
|LED 5 is on<br />
|-<br />
<br />
|rowspan="2"|v<address+3>.2<br />
|0<br />
|RW<br />
|LED 6 is off<br />
|-<br />
|1<br />
|RW<br />
|LED 6 is on<br />
|-<br />
<br />
|rowspan="2"|v<address+3>.3<br />
|0<br />
|RW<br />
|LED 7 is off<br />
|-<br />
|1<br />
|RW<br />
|LED 7 is on<br />
|-<br />
<br />
|rowspan="2"|v<address+3>.4<br />
|0<br />
|RW<br />
|LED 8 is off<br />
|-<br />
|1<br />
|RW<br />
|LED 8 is on<br />
|-<br />
<br />
|}<br />
<br />
You can also set the value to “on” or “off”, that is equivalent to 1 and 0.<br />
<br />
{{tip|Note that the first two output addresses are reserved and should not be used. Use address + 2 and address + 3 to control the LEDs.}}<br />
<br />
----<br />
<br />
=== DFIGLASS ===<br />
The DFIGLASS is an input/output module with 6 touch buttons with addressable LEDs and a buzzer for audio feedback.<br />
<br />
It uses 1 input and 1 output addresses in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|button 1 off<br />
|-<br />
|1<br />
|R<br />
|button 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|button 2 off<br />
|-<br />
|1<br />
|R<br />
|button 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|button 3 off<br />
|-<br />
|1<br />
|R<br />
|button 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|button 4 off<br />
|-<br />
|1<br />
|R<br />
|button 4 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.5<br />
|0<br />
|R<br />
|button 5 off<br />
|-<br />
|1<br />
|R<br />
|button 5 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.6<br />
|0<br />
|R<br />
|button 6 off<br />
|-<br />
|1<br />
|R<br />
|button 6 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.fault<br />
|0<br />
|R<br />
|no fault<br />
|-<br />
|1<br />
|R<br />
|touch keypad fault<br />
|-<br />
<br />
|rowspan="2"|i<address>.led.1<br />
|0<br />
|RW<br />
|led 1 off<br />
|-<br />
|1<br />
|RW<br />
|led 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.led.2<br />
|0<br />
|RW<br />
|led 2 off<br />
|-<br />
|1<br />
|RW<br />
|led 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.led.3<br />
|0<br />
|RW<br />
|led 3 off<br />
|-<br />
|1<br />
|RW<br />
|led 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.led.4<br />
|0<br />
|RW<br />
|led 4 off<br />
|-<br />
|1<br />
|RW<br />
|led 4 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.led.5<br />
|0<br />
|RW<br />
|led 5 off<br />
|-<br />
|1<br />
|RW<br />
|led 5 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.led.6<br />
|0<br />
|RW<br />
|led 6 off<br />
|-<br />
|1<br />
|RW<br />
|led 6 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.backlight<br />
|0<br />
|RW<br />
|backlight off<br />
|-<br />
|1<br />
|RW<br />
|backlight on<br />
|-<br />
<br />
|rowspan="2"|i<address>.buzzer<br />
|0<br />
|RW<br />
|buzzer disabled<br />
|-<br />
|1<br />
|RW<br />
|buzzer enabled<br />
|-<br />
<br />
|}<br />
<br />
You can also set the value to “on” or “off”, that is equivalent to 1 and 0.<br />
<br />
----<br />
<br />
=== DF4I/V ===<br />
The DF4I/V is an input/output module with 4 digital inputs and 12 digital virtual outputs.<br />
<br />
It uses four consecutive addresses in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.1<br />
|0<br />
|R<br />
|input pin 1 off<br />
|-<br />
|1<br />
|R<br />
|input pin 1 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.2<br />
|0<br />
|R<br />
|input pin 2 off<br />
|-<br />
|1<br />
|R<br />
|input pin 2 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.3<br />
|0<br />
|R<br />
|input pin 3 off<br />
|-<br />
|1<br />
|R<br />
|input pin 3 on<br />
|-<br />
<br />
|rowspan="2"|i<address>.4<br />
|0<br />
|R<br />
|input pin 4 off<br />
|-<br />
|1<br />
|R<br />
|input pin 4 on<br />
|-<br />
<br />
|rowspan="2"|v<address+1>.1<br />
|0<br />
|RW<br />
|virtual pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|virtual pin 1 on<br />
|-<br />
<br />
|rowspan="2"|v<address+1>.2<br />
|0<br />
|RW<br />
|virtual pin 2 off<br />
|-<br />
|1<br />
|RW<br />
|virtual pin 2 on<br />
|-<br />
<br />
|rowspan="2"|v<address+1>.3<br />
|0<br />
|RW<br />
|virtual pin 3 off<br />
|-<br />
|1<br />
|RW<br />
|virtual pin 3 on<br />
|-<br />
<br />
|rowspan="2"|v<address+1>.4<br />
|0<br />
|RW<br />
|virtual pin 4 off<br />
|-<br />
|1<br />
|RW<br />
|virtual pin 4 on<br />
|-<br />
<br />
|rowspan="2"|v<address+2>.1<br />
|0<br />
|RW<br />
|virtual pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|virtual pin 1 on<br />
|-<br />
<br />
|rowspan="2"|v<address+2>.2<br />
|0<br />
|RW<br />
|virtual pin 2 off<br />
|-<br />
|1<br />
|RW<br />
|virtual pin 2 on<br />
|-<br />
<br />
|rowspan="2"|v<address+2>.3<br />
|0<br />
|RW<br />
|virtual pin 3 off<br />
|-<br />
|1<br />
|RW<br />
|virtual pin 3 on<br />
|-<br />
<br />
|rowspan="2"|v<address+2>.4<br />
|0<br />
|RW<br />
|virtual pin 4 off<br />
|-<br />
|1<br />
|RW<br />
|virtual pin 4 on<br />
|-<br />
<br />
|rowspan="2"|v<address+3>.1<br />
|0<br />
|RW<br />
|virtual pin 1 off<br />
|-<br />
|1<br />
|RW<br />
|virtual pin 1 on<br />
|-<br />
<br />
|rowspan="2"|v<address+3>.2<br />
|0<br />
|RW<br />
|virtual pin 2 off<br />
|-<br />
|1<br />
|RW<br />
|virtual pin 2 on<br />
|-<br />
<br />
|rowspan="2"|v<address+3>.3<br />
|0<br />
|RW<br />
|virtual pin 3 off<br />
|-<br />
|1<br />
|RW<br />
|virtual pin 3 on<br />
|-<br />
<br />
|rowspan="2"|v<address+3>.4<br />
|0<br />
|RW<br />
|virtual pin 4 off<br />
|-<br />
|1<br />
|RW<br />
|virtual pin 4 on<br />
|-<br />
|}<br />
<br />
You can also set the value to “on” or “off”, that is equivalent to 1 and 0.<br />
<br />
----<br />
<br />
=== DFAI ===<br />
The DFAI is an input module (0-10V) with 2 analog inputs.<br />
<br />
It uses two consecutive input addresses in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address><br />
|0...1000<br />
|R<br />
|input voltage in Volt/100<br />
|-<br />
<br />
|i<address+1><br />
|0...1000<br />
|R<br />
|input voltage in Volt/100<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== DFLUX, DFSUN ===<br />
The DFLUX and DFSUN are input modules with 1 analog light sensor.<br />
<br />
They use one input address in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address><br />
|0...1023<br />
|R<br />
|lux level (raw level, not translated to the lux range)<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== DFCT ===<br />
The DFCT is an input/output temperature sensor module.<br />
<br />
It uses two consecutive input addresses and five consecutive output addresses in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.mode<br />
|winter<br />
|R<br />
|winter mode<br />
|-<br />
|summer<br />
|R<br />
|summer mode<br />
|-<br />
<br />
|rowspan="4"|i<address>.fan<br />
|min<br />
|R<br />
|min fan speed<br />
|-<br />
|med<br />
|R<br />
|medium fan speed<br />
|-<br />
|max<br />
|R<br />
|max fan speed<br />
|-<br />
|off<br />
|R<br />
|fan off<br />
|-<br />
<br />
|rowspan="2"|i<address>.fan.mode<br />
|man<br />
|R<br />
|manual fan mode<br />
|-<br />
|auto<br />
|R<br />
|auto fan mode<br />
|-<br />
<br />
|rowspan="5"|i<address>.setpoint<br />
|1<br />
|R<br />
|setpoint 1<br />
|-<br />
|2<br />
|R<br />
|setpoint 2<br />
|-<br />
|3<br />
|R<br />
|setpoint 3<br />
|-<br />
|off<br />
|R<br />
|off<br />
|-<br />
|man<br />
|R<br />
|manual setpoint<br />
|-<br />
<br />
|rowspan="2"|i<address>.setpoint.mode<br />
|man<br />
|R<br />
|manual setpoint mode<br />
|-<br />
|auto<br />
|R<br />
|auto setpoint mode<br />
|-<br />
<br />
|rowspan="2"|i<address>.temp<br />
|<temp><br />
|R<br />
|temperature value (in C/10)<br />
|-<br />
|fault<br />
|R<br />
|temperature sensor fault<br />
|-<br />
<br />
|rowspan="3"|i<address>.status<br />
|off<br />
|R<br />
|off<br />
|-<br />
|cooling<br />
|R<br />
|cooling status mode<br />
|-<br />
|heating<br />
|R<br />
|heating status mode<br />
|-<br />
<br />
|rowspan="2"|o<address>.mode<br />
|winter<br />
|RW<br />
|winter mode<br />
|-<br />
|summer<br />
|RW<br />
|summer mode<br />
|-<br />
<br />
|rowspan="4"|o<address>.fan<br />
|min<br />
|RW<br />
|min fan speed<br />
|-<br />
|med<br />
|RW<br />
|medium fan speed<br />
|-<br />
|max<br />
|RW<br />
|max fan speed<br />
|-<br />
|off<br />
|RW<br />
|fan off<br />
|-<br />
<br />
|rowspan="2"|o<address>.fan.mode<br />
|man<br />
|RW<br />
|manual fan mode<br />
|-<br />
|auto<br />
|RW<br />
|auto fan mode<br />
|-<br />
<br />
|rowspan="5"|o<address>.setpoint<br />
|1<br />
|RW<br />
|setpoint 1<br />
|-<br />
|2<br />
|RW<br />
|setpoint 2<br />
|-<br />
|3<br />
|RW<br />
|setpoint 3<br />
|-<br />
|0<br />
|RW<br />
|setpoint off<br />
|-<br />
|man<br />
|RW<br />
|manual setpoint<br />
|-<br />
<br />
|o<address>.setpoint.temp.1<br />
|<temp><br />
|RW<br />
|temperature setpoint 1 value (in C/10)<br />
|-<br />
<br />
|o<address>.setpoint.temp.2<br />
|<temp><br />
|RW<br />
|temperature setpoint 2 value (in C/10)<br />
|-<br />
<br />
|o<address>.setpoint.temp.3<br />
|<temp><br />
|RW<br />
|temperature setpoint 3 value (in C/10)<br />
|-<br />
<br />
|o<address>.setpoint.temp.man<br />
|<temp><br />
|RW<br />
|temperature manual setpoint 1 value (in C/10)<br />
|-<br />
<br />
|o<address>.program.summer<br/>o<address>.program.winter<br />
|refresh<br />
|RW<br />
|forces to daily summer/winter program for all days of the week<br />
|-<br />
<br />
|rowspan="2"|o<address>.program.summer.<day><br/>o<address>.program.winter.<day><br />
|refresh<br />
|RW<br />
|forces to daily summer/winter program for the reported day (mon:1, sun:7)<br />
|-<br />
|<s0>...<s47><br />
|RW<br />
|48 character represents the daily setpoint program divided in time slots of 30 minutes<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== DFTZ ===<br />
The DFTZ is an input/output temperature sensor module.<br />
<br />
It uses 3 consecutive input addresses and 4 consecutive output addresses in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.mode<br />
|winter<br />
|R<br />
|winter mode<br />
|-<br />
|summer<br />
|R<br />
|summer mode<br />
|-<br />
<br />
|rowspan="3"|i<address>.setpoint<br />
|comfort<br />
|R<br />
|comfort setpoint<br />
|-<br />
|eco<br />
|R<br />
|eco setpoint<br />
|-<br />
|off<br />
|R<br />
|off<br />
|-<br />
<br />
|rowspan="2"|i<address>.temp<br />
|<temp><br />
|R<br />
|temperature value (in C/10)<br />
|-<br />
|fault<br />
|R<br />
|temperature sensor fault<br />
|-<br />
<br />
|rowspan="3"|i<address>.status<br />
|off<br />
|R<br />
|off<br />
|-<br />
|cooling<br />
|R<br />
|cooling status mode<br />
|-<br />
|heating<br />
|R<br />
|heating status mode<br />
|-<br />
<br />
|rowspan="2"|o<address>.mode<br />
|winter<br />
|RW<br />
|winter mode<br />
|-<br />
|summer<br />
|RW<br />
|summer mode<br />
|-<br />
<br />
|rowspan="3"|o<address>.setpoint<br />
|comfort<br />
|RW<br />
|comfort setpoint<br />
|-<br />
|eco<br />
|RW<br />
|eco setpoint<br />
|-<br />
|0<br />
|RW<br />
|off<br />
|-<br />
<br />
|o<address>.setpoint.temp.comfort<br />
|<temp><br />
|RW<br />
|comfort setpoint value (in C/10)<br />
|-<br />
<br />
|o<address>.setpoint.temp.eco<br />
|<temp><br />
|RW<br />
|eco setpoint value (in C/10)<br />
|-<br />
<br />
|o<address>.setpoint.temp.limit<br />
|<temp><br />
|RW<br />
|summer/winter setpoint temperature limit (in C/10)<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== DFRHT ===<br />
The DFRHT is a temperature and humidity sensor.<br />
<br />
It uses four consecutive input addresses and two consecutive output addresses in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.humidity<br />
|0...100<br />
|R<br />
|relative percent umidity<br />
|-<br />
<br />
|i<address>.temp<br />
|<temp><br />
|R<br />
|temperature value<br />
|-<br />
<br />
|i<address>.dewpoint<br />
|<temp><br />
|R<br />
|dew point value<br />
|-<br />
<br />
|rowspan="4"|i<address>.dewpoint.limit.1<br />
|0<br />
|R<br />
|dew point is lower than limit 1<br />
|-<br />
|1<br />
|R<br />
|dew point is higher than limit 1<br />
|-<br />
|<temp><br />
|RW<br />
|dew point limit 1<br />
|-<br />
|off<br />
|RW<br />
|limit 1 not set<br />
|-<br />
<br />
|rowspan="4"|i<address>.dewpoint.limit.2<br />
|0<br />
|R<br />
|dew point is lower than limit 2<br />
|-<br />
|1<br />
|R<br />
|dew point is higher than limit 2<br />
|-<br />
|<temp><br />
|RW<br />
|dew point limit 2<br />
|-<br />
|off<br />
|RW<br />
|limit 2 not set<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== DFMETEO ===<br />
The DFMETEO is the weather sensor module.<br />
<br />
It uses four consecutive input addresses and three consecutive output addresses in the DOMINO bus.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|i<address>.temp<br />
|<temp><br />
|RW<br />
|temperature value (in C/10)<br />
|-<br />
|off<br />
|RW<br />
|limit not set<br />
|-<br />
<br />
|rowspan="3"|i<address>.lux<br />
|<lux*10><br />
|R<br />
|lux level according to the DFLUX range<br />
|-<br />
|<lux><br />
|RW<br />
|lux limit<br />
|-<br />
|0<br />
|RW<br />
|limit not set<br />
|-<br />
<br />
|rowspan="3"|i<address>.wind<br />
|1 m/s /10<br />
|R<br />
|wind value<br />
|-<br />
|m/s<br />
|RW<br />
|wind limit<br />
|-<br />
|0<br />
|RW<br />
|limit not set<br />
|-<br />
<br />
|rowspan="2"|i<address>.rain<br />
|0<br />
|R<br />
|no rain<br />
|-<br />
|1<br />
|R<br />
|rain<br />
|-<br />
<br />
|rowspan="2"|i<address>.night<br />
|0<br />
|R<br />
|day<br />
|-<br />
|1<br />
|R<br />
|night<br />
|-<br />
<br />
|rowspan="2"|i<address>.temp.limit<br />
|0<br />
|R<br />
|measured temp is less than limit<br />
|-<br />
|1<br />
|R<br />
|measured temp is greater than limit<br />
|-<br />
<br />
|rowspan="2"|i<address>.lux.limit<br />
|0<br />
|R<br />
|measured lux is less than limit<br />
|-<br />
|1<br />
|R<br />
|measured lux is greater than limit<br />
|-<br />
<br />
|rowspan="2"|i<address>.wind.limit<br />
|0<br />
|R<br />
|measured wind is less than limit<br />
|-<br />
|1<br />
|R<br />
|measured wind is greater than limit<br />
|-<br />
<br />
|rowspan="2"|i<address>.light.south<br />
|0<br />
|R<br />
|light is not coming from south<br />
|-<br />
|1<br />
|R<br />
|light is coming from south<br />
|-<br />
<br />
|rowspan="2"|i<address>.light.west<br />
|0<br />
|R<br />
|light is not coming from west<br />
|-<br />
|1<br />
|R<br />
|light is coming from west<br />
|-<br />
<br />
|rowspan="2"|i<address>.light.east<br />
|0<br />
|R<br />
|light is not coming from east<br />
|-<br />
|1<br />
|R<br />
|light is coming from east<br />
|-<br />
<br />
|rowspan="2"|i<address>.fault<br />
|0<br />
|R<br />
|sensor not fault<br />
|-<br />
|1<br />
|R<br />
|sensor fault<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== DFCC ===<br />
The DFCC is an energy meter and load manager module.<br />
<br />
In the following table, <N> is the sequential index (1 to 3) of the DFCC module.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|energy.<n>.power.real<br />
|0...65535<br />
|R<br />
|real power (Watt)<br />
|-<br />
<br />
|energy.<n>.power.reactive<br />
| -32768...+32767 <br />
|R<br />
|reactive power (var)<br />
|-<br />
<br />
|energy.<n>.power.apparent<br />
| -32768...+32767 <br />
|R<br />
|apparent power (VA)<br />
|-<br />
<br />
|energy.<n>.power.realavg<br />
|0...65535 <br />
|R<br />
|average real power (Watt)<br />
|-<br />
<br />
|energy.<n>.power.reactiveavg<br />
| -32768...+32767 <br />
|R<br />
|average reactive power (var)<br />
|-<br />
<br />
|energy.<n>.cos<br />
| -1000...+1000 <br />
|R<br />
|cos(φ) * 1000<br />
|-<br />
<br />
|rowspan="2"|energy.<n>.load.1<br />
|0<br />
|R<br />
|load 1 disabled<br />
|-<br />
|1<br />
|R<br />
|load 1 enabled<br />
|-<br />
<br />
|rowspan="2"|energy.<n>.load.2<br />
|0<br />
|R<br />
|load 2 disabled<br />
|-<br />
|1<br />
|R<br />
|load 2 enabled<br />
|-<br />
<br />
|rowspan="2"|energy.<n>.load.3<br />
|0<br />
|R<br />
|load 3 disabled<br />
|-<br />
|1<br />
|R<br />
|load 3 enabled<br />
|-<br />
<br />
|rowspan="2"|energy.<n>.load.4<br />
|0<br />
|R<br />
|load 4 disabled<br />
|-<br />
|1<br />
|R<br />
|load 4 enabled<br />
|-<br />
<br />
|rowspan="2"|energy.<n>.load.5<br />
|0<br />
|R<br />
|load 5 disabled<br />
|-<br />
|1<br />
|R<br />
|load 5 enabled<br />
|-<br />
<br />
|rowspan="2"|energy.<n>.load.6<br />
|0<br />
|R<br />
|load 6 disabled<br />
|-<br />
|1<br />
|R<br />
|load 6 enabled<br />
|-<br />
<br />
|rowspan="2"|energy.<n>.load.7<br />
|0<br />
|R<br />
|load 7 disabled<br />
|-<br />
|1<br />
|R<br />
|load 7 enabled<br />
|-<br />
<br />
|rowspan="2"|energy.<n>.load.8<br />
|0<br />
|R<br />
|load 8 disabled<br />
|-<br />
|1<br />
|R<br />
|load 8 enabled<br />
|-<br />
<br />
|}<br />
<br />
----<br />
<br />
=== DFANA ===<br />
Network analyzer module for Domino bus.<br />
<br />
Uses up to 20 consecutive input addresses and, if enabled, 1 output address equal to the base input address.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|i<address>.v12<br />
|[V]<br />
|R<br />
|chained voltage phase 1-2<br />
|-<br />
<br />
|i<address>.v23<br />
|[V]<br />
|R<br />
|chained voltage phase 2-3<br />
|-<br />
<br />
|i<address>.v31<br />
|[V]<br />
|R<br />
|chained voltage phase 3-1<br />
|-<br />
<br />
|i<address>.vtm<br />
|[V]<br />
|R<br />
|average chained voltage<br />
|-<br />
<br />
|i<address>.i1<br />
|[A]<br />
|R<br />
|current phase 1<br />
|-<br />
<br />
|i<address>.i2<br />
|[A]<br />
|R<br />
|current phase 2<br />
|-<br />
<br />
|i<address>.i3<br />
|[A]<br />
|R<br />
|current phase 3<br />
|-<br />
<br />
|i<address>.itm<br />
|[A]<br />
|R<br />
|average current<br />
|-<br />
<br />
|i<address>.ptot<br />
|[W]<br />
|R<br />
|total active power<br />
|-<br />
<br />
|i<address>.ptotk<br />
|[kW]<br />
|R<br />
|total active power<br />
|-<br />
<br />
|i<address>.qtot<br />
|[W]<br />
|R<br />
|total reactive power<br />
|-<br />
<br />
|i<address>.qtotk<br />
|[kW]<br />
|R<br />
|total reactive power<br />
|-<br />
<br />
|i<address>.pf<br />
|[pf]<br />
|R<br />
|total power factor<br />
|-<br />
<br />
|i<address>.frequency<br />
|[Hz]<br />
|R<br />
|frequency<br />
|-<br />
<br />
|i<address>.v1n<br />
|[V]<br />
|R<br />
|voltage phase 1<br />
|-<br />
<br />
|i<address>.v2n<br />
|[V]<br />
|R<br />
|voltage phase 2<br />
|-<br />
<br />
|i<address>.v3n<br />
|[V]<br />
|R<br />
|voltage phase 3<br />
|-<br />
<br />
|i<address>.p1<br />
|[W]<br />
|R<br />
|active power phase 1<br />
|-<br />
<br />
|i<address>.p1k<br />
|[kW]<br />
|R<br />
|active power phase 1<br />
|-<br />
<br />
|i<address>.p2<br />
|[W]<br />
|R<br />
|active power phase 2<br />
|-<br />
<br />
|i<address>.p2k<br />
|[kW]<br />
|R<br />
|active power phase 2<br />
|-<br />
<br />
|i<address>.p3<br />
|[W]<br />
|R<br />
|active power phase 3<br />
|-<br />
<br />
|i<address>.p3k<br />
|[kW]<br />
|R<br />
|active power phase 3<br />
|-<br />
<br />
|}<br />
<br />
== User Interface ==<br />
<br />
All DOMINO devices data points that have been defined in the systemtopo.txt database are automatically listed in the Project Editor. <br />
<br />
Adding a button to control a device output point requires just a few clicks and no additional EVENTS logic.<br />
<br />
<br />
[[File:IO Servers Domino Project Editor.png]]<br />
<br />
<br />
Besides the direct association of control buttons and data points, the DOMINO driver also automatically updates graphical objects that represent values or states of complex devices, like the DFCT temperature control unit. It will also automatically intercept buttons to manually set operation modes and temperature set-points.<br />
<br />
----<br />
<br />
=== DFDMX ===<br />
<br />
You can define a standard HSYCO DMX server for each DFDMX module, then use the [[dmx]] and [[dmxrgb]] objects to control channels 1-64 of the DMX bus connected to the DFDMX module. <br />
<br />
For example:<br />
<br />
<pre><br />
dmxServers = dmx<br />
dmxServersId.dmx = domino.o8<br />
</pre><br />
<br />
{{tip|Note that, instead of defining the dmxServersIP parameter, the dmxServersId is used to associate the DMX server with the id of the DFDMX module.}}<br />
<br />
----<br />
<br />
=== DFCC ===<br />
Setting the ''powerdisplay'' option to true in '''Settings''' enables the automatic display in the GUI of the total real power measured by all DFCC modules connected to this DFCP. <br />
<br />
{{tip|Note that, if you have more than one DFCP gateway, you should enable this option for one gateway only.}}<br />
<br />
==== UISET Actions ====<br />
<br />
You can use any object that accepts a text attribute, usually [[text]] but also [[marquee]] and others, to automatically display the average real power measured by all DFCC modules connected to the DOMINO bus. These objects are updated even when the ''powerdisplay'' option is false.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|energy.<n>.power<br />
|value<br />
|real power, followed by “ W”. <n> is the sequential index (1 to 3) of the DFCC module.<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== DFCT ===<br />
You can use the [[temp]] and [[tempmini]] objects to control DFCT devices.<br />
<br />
<br />
[[File:IO Servers Domino DFCT.png]]<br />
<br />
<br />
==== UISET Actions ====<br />
You can use any object that accepts a text attribute, usually [[text]] but also [[marquee]] and others, like images, to automatically display the relevant information of all DFCT modules.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|rowspan="2"|<address>.mode<br />
|summer<br />
|summer mode (cooling)<br />
|-<br />
|winter<br />
|winter mode (heating)<br />
|-<br />
<br />
|<address>.mode.label.summer<br />
|visible<br />
|the DFCT is in summer mode<br />
|-<br />
<br />
|<address>.mode.label.winter<br />
|visible<br />
|the DFCT is in winter mode<br />
|-<br />
<br />
|rowspan="2"|<address>.status<br />
|off<br />
|zone off<br />
|-<br />
|on<br />
|zone on<br />
|-<br />
<br />
|<address>.status.label.cooling<br />
|visible<br />
|if the zone is cooling<br />
|-<br />
<br />
|<address>.status.label.heating<br />
|visible<br />
|if the zone is heating<br />
|-<br />
<br />
|rowspan="4"|<address>.fan<br />
|off<br />
|fan off<br />
|-<br />
|min<br />
|minimum fan speed<br />
|-<br />
|med<br />
|medium fan speed<br />
|-<br />
|max<br />
|maximum fan speed<br />
|-<br />
<br />
|<address>.fan.label.min<br />
|visible<br />
|the fan speed is min<br />
|-<br />
<br />
|<address>.fan.label.med<br />
|visible<br />
|the fan speed is med<br />
|-<br />
<br />
|<address>.fan.label.max<br />
|visible<br />
|the fan speed is max<br />
|-<br />
<br />
|rowspan="2"|<address>.fan.mode<br />
|man<br />
|manual fan mode<br />
|-<br />
|auto<br />
|auto fan mode<br />
|-<br />
<br />
|rowspan="3"|<address>.setpoint<br />
|1,2,3<br />
|active setpoint<br />
|-<br />
|man<br />
|manual setpoint<br />
|-<br />
|off<br />
|zone off<br />
|-<br />
<br />
|<address>.setpoint.label.1<br />
|visible<br />
|setpoint 1 is active<br />
|-<br />
<br />
|<address>.setpoint.label.2<br />
|visible<br />
|setpoint 2 is active<br />
|-<br />
<br />
|<address>.setpoint.label.3<br />
|visible<br />
|setpoint 3 is active<br />
|-<br />
<br />
|<address>.setpoint.label.man<br />
|visible<br />
|manual setpoint is active<br />
|-<br />
<br />
|<address>.setpoint.label.off<br />
|visible<br />
|zone is off<br />
|-<br />
<br />
|rowspan="2"|<address>.setpoint.mode<br />
|man<br />
|manual setpoint mode<br />
|-<br />
|auto<br />
|auto setpoint mode<br />
|-<br />
<br />
|<address>.setpoint.temp<br />
|<value><br />
|the active setpoint temperature, in Celsius degrees with one decimal digit, followed by " &deg;C"<br />
|-<br />
<br />
|<address>.setpoint.temp.1<br />
|<value><br />
|the active setpoint 1 temperature, in Celsius degrees with one decimal digit, followed by " &deg;C"<br />
|-<br />
<br />
|<address>.setpoint.temp.2<br />
|<value><br />
|the active setpoint 2 temperature, in Celsius degrees with one decimal digit, followed by " &deg;C"<br />
|-<br />
<br />
|<address>.setpoint.temp.3<br />
|<value><br />
|the active setpoint 3 temperature, in Celsius degrees with one decimal digit, followed by " &deg;C"<br />
|-<br />
<br />
|<address>.setpoint.temp.man<br />
|<value><br />
|the manual setpoint temperature, in Celsius degrees with one decimal digit, followed by " &deg;C"<br />
|-<br />
<br />
|rowspan="2"|<address>.temp<br />
|<temp><br />
|the manual setpoint temperature, in Celsius degrees with one decimal digit, followed by " &deg;C"<br />
|-<br />
|fault<br />
|fault/error condition<br />
|-<br />
|}<br />
<br />
==== USER Commands ====<br />
There are several predefined buttons. Use any ordinary [[user]] object, setting the ''name'' and ''param'' fields based on this table.<br />
<br />
{| class="wikitable"<br />
!Name<br />
!Param<br />
!Action<br />
|-<br />
<br />
|rowspan="4"|<address><br />
|mode<br />
|cycle through summer and winter mode<br />
|-<br />
|mode.summer<br />
|set summer mode (cooling)<br />
|-<br />
|mode.winter<br />
|set winter mode (heating)<br />
|-<br />
|fan<br />
|cycle through fan speeds and modes (auto, off, man/min, man/med, man/max, auto)<br />
|-<br />
<br />
|rowspan="16"|<address>.setpoint<br />
|mode<br />
|cycle through the manual, automatic and off operation modes<br />
|-<br />
|mode.man<br />
|set manual operation mode<br />
|-<br />
|mode.auto<br />
|set automatic operation mode<br />
|-<br />
|mode.off<br />
|off mode<br />
|-<br />
|temp.1.up<br />
|increase setpoint 1 temperature in 0.5C steps<br />
|-<br />
|temp.1.down<br />
|decrease setpoint 1 temperature in 0.5C steps<br />
|-<br />
|temp.1.<t><br />
|setpoint 1 set to temperature t, in C/10 (0 <= t <= 355)<br />
|-<br />
|temp.2.up<br />
|increase setpoint 2 temperature in 0.5C steps<br />
|-<br />
|temp.2.down<br />
|decrease setpoint 2 temperature in 0.5C steps<br />
|-<br />
|temp.2.<t><br />
|setpoint 2 set to temperature t, in C/10 (0 <= t <= 355)<br />
|-<br />
|temp.3.up<br />
|increase setpoint 3 temperature in 0.5C steps<br />
|-<br />
|temp.3.down<br />
|decrease setpoint 3 temperature in 0.5C steps<br />
|-<br />
|temp.3.<t><br />
|setpoint 3 set to temperature t, in C/10 (0 <= t <= 355)<br />
|-<br />
|temp.man.up<br />
|increase manual setpoint temperature in 0.5C steps<br />
|-<br />
|temp.man.down<br />
|decrease manual setpoint temperature in 0.5C steps<br />
|-<br />
|temp.man.<t><br />
|manual setpoint set to temperature t, in C/10 (0 <= t <= 355)<br />
|-<br />
<br />
|rowspan="9"|<address>.fan<br />
|mode<br />
|cycle through the manual and automatic fan speed modes<br />
|-<br />
|mode.man<br />
|set manual fan speed mode<br />
|-<br />
|mode.auto<br />
|set automatic fan speed mode<br />
|-<br />
|up<br />
|increase fan speed<br />
|-<br />
|down<br />
|decrease fan speed<br />
|-<br />
|min<br />
|set min fan speed<br />
|-<br />
|med<br />
|set med fan speed<br />
|-<br />
|max<br />
|set max fan speed<br />
|-<br />
|off<br />
|fan off<br />
|-<br />
|}<br />
<br />
----<br />
<br />
=== DFTZ ===<br />
You can use the [[tempmini]] object to control DFTZ devices.<br />
<br />
You could also use the larger [[temp]] object, but some of its controls are not used with the DFTZ module.<br />
<br />
[[File:IO Servers Domino DFTZ.png]]<br />
<br />
==== UISET Actions ====<br />
<br />
You can use any object that accepts a text attribute, usually [[text]] but also [[marquee]] and others, like images, to automatically display the relevant information of all DFTZ modules.<br />
<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|rowspan="2"|<address>.mode<br />
|summer<br />
|summer mode (cooling)<br />
|-<br />
|winter<br />
|winter mode (heating)<br />
|-<br />
<br />
|<address>.mode.label.summer<br />
|visible<br />
|the DFTZ is in summer mode<br />
|-<br />
<br />
|<address>.mode.label.winter<br />
|visible<br />
|the DFTZ is in winter mode<br />
|-<br />
<br />
|rowspan="2"|<address>.status<br />
|off<br />
|zone off<br />
|-<br />
|on<br />
|zone on<br />
|-<br />
<br />
|<address>.status.label.off<br />
|visible<br />
|if the zone is not cooling or heating<br />
|-<br />
<br />
|<address>.status.label.cooling<br />
|visible<br />
|if the zone is cooling<br />
|-<br />
<br />
|<address>.status.label.heating<br />
|visible<br />
|if the zone is heating<br />
|-<br />
<br />
|rowspan="3"|<address>.setpoint<br />
|com<br />
|comfort setpoint<br />
|-<br />
|man<br />
|manual setpoint<br />
|-<br />
|off<br />
|zone off<br />
|-<br />
<br />
|<address>.setpoint.label.1<br />
|visible<br />
|comfort setpoint is active<br />
|-<br />
<br />
|<address>.setpoint.label.2<br />
|visible<br />
|eco setpoint is active<br />
|-<br />
<br />
|<address>.setpoint.label.off<br />
|visible<br />
|zone is off<br />
|-<br />
<br />
|<address>.setpoint.temp<br />
|<value><br />
|the active setpoint temperature, in Celsius degrees with one decimal digit, followed by " &deg;C"<br />
|-<br />
<br />
|<address>.setpoint.temp.1<br />
|<value><br />
|the comfort setpoint temperature, in Celsius degrees with one decimal digit, followed by " &deg;C"<br />
|-<br />
<br />
|<address>.setpoint.temp.2<br />
|<value><br />
|the eco setpoint temperature, in Celsius degrees with one decimal digit, followed by " &deg;C"<br />
|-<br />
<br />
|<address>.setpoint.temp.man<br />
|<value><br />
|the summer or winter setpoint temperature limit, in Celsius degrees with one decimal digit, followed by " &deg;C"<br />
|-<br />
<br />
|rowspan="2"|<address>.temp<br />
|<temp><br />
|the manual setpoint temperature, in Celsius degrees with one decimal digit, followed by " &deg;C"<br />
|-<br />
|fault<br />
|fault/error condition<br />
|-<br />
|}<br />
<br />
==== USER Commands ====<br />
<br />
There are several predefined buttons. Use any ordinary [[user]] object, setting the ''name'' and ''param'' fields based on this table.<br />
<br />
{| class="wikitable"<br />
!Name<br />
!Param<br />
!Action<br />
|-<br />
<br />
|rowspan="3"|<address><br />
|mode<br />
|cycle through summer and winter mode<br />
|-<br />
|mode.summer<br />
|set summer mode (cooling)<br />
|-<br />
|mode.winter<br />
|set winter mode (heating)<br />
|-<br />
<br />
|rowspan="16"|<address>.setpoint<br />
|mode<br />
|cycle through the manual, automatic and off operation modes<br />
|-<br />
|mode.comfort<br />
|set comfort operation mode<br />
|-<br />
|mode.eco<br />
|set eco operation mode<br />
|-<br />
|mode.off<br />
|off mode<br />
|-<br />
|temp.up<br />
|increase the active setpoint temperature in 0.5C steps<br />
|-<br />
|temp.down<br />
|ddecrease the active setpoint temperature in 0.5C steps<br />
|-<br />
|temp.<t><br />
|active setpoint set to temperature t, in C/10 (0 <= t <= 355)<br />
|-<br />
|temp.1.up<br />
|increase comfort setpoint temperature in 0.5C steps<br />
|-<br />
|temp.1.down<br />
|decrease comfort setpoint temperature in 0.5C steps<br />
|-<br />
|temp.1.<t><br />
|comfort setpoint set to temperature t, in C/10 (0 <= t <= 355)<br />
|-<br />
|temp.2.up<br />
|increase eco setpoint temperature in 0.5C steps<br />
|-<br />
|temp.2.down<br />
|decrease eco setpoint temperature in 0.5C steps<br />
|-<br />
|temp.2.<t><br />
|eco setpoint set to temperature t, in C/10 (0 <= t <= 355)<br />
|-<br />
<br />
|temp.man.up<br />
|increase setpoint temperature limit in 0.5C steps<br />
|-<br />
|temp.man.down<br />
|decrease setpoint temperature limit in 0.5C steps<br />
|-<br />
|temp.man.<t><br />
|set-point temperature limit set to temperature t, in C/10 (0 <= t <= 355)<br />
|-<br />
<br />
|}<br />
<br />
== Release Notes ==<br />
<br />
=== 3.4.0 ===<br />
*improved communication error logging<br />
*improved support of tools remote access<br />
*DFH module support<br />
*fix: DFTZ user commands mode.comfort, mode.eco, mode.off not working<br />
<br />
=== 3.2.2 ===<br />
bug fixes:<br />
*the toolspassword optional parameter was incorrectly converted to lower case<br />
*fixed a bug that prevented reading the input pins of DF4RP/I and DF4RPR/I<br />
=== 3.2.1 ===<br />
*support for DFTZ<br />
=== 3.2.0 ===<br />
*support for DFIGLASS<br />
*new "detectevents" option, generates forced events when a device is detected at start-up<br />
*support for the toolspassword option, to allow DFCP-IDE and other tools secure remote access to the DFCP via HSYCO<br />
*new clock datapoint to read the DFCP internal clock and set it to HSYCO's time<br />
=== 3.1.2 ===<br />
bug fixes:<br />
*the (temp) object's DFCT configuration function was broken in HSYCO 3.1.0<br />
*energy metering data point were not updated<br />
=== 3.1.1 ===<br />
*added support for DF4RP/I and DFDT<br />
=== 3.1.0 ===<br />
*added support for DFANA energy meter module<br />
=== 3.0.3 ===<br />
*optimized performance of DFCP’s registers status polling<br />
=== 3.0.1 ===<br />
*you can now limit the number of virtual points and registers read and written by HSYCO, and have access to all of the 1024 registers; defaults are unchanged<br />
*added support for DF8IL, DFDI2B and DFRHT modules<br />
=== 3.0.0 ===<br />
*update DFDMX state at startup<br />
*support for failover mode<br />
=== 1.2.0 ===<br />
*fixed bugs related to the DFDM and DFDI modules<br />
*integration with the DMX server engine<br />
*enhanced GUI support for DFCC and DFCT<br />
=== 1.1.0 ===<br />
*automatic generation of the device map in systemtopo.txt<br />
*Web Editor support<br />
*support for DFCP’s virtual data points and registers<br />
*support for serial connection to the DFCP through the serial ports of HWg PortBox and ERxx network devices<br />
=== 1.0.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''HSYCO and Home Systems Consulting are registered trademarks of Home Systems Consulting SpA. Java and JavaScript are registered trademarks of Oracle and/or its affiliates. DOMINO and DUEMMEGI are registered trademarks of DUEMMEGI SRL. Other products or company names can be trademarks or registered trademarks of other companies and are used for demonstrative purposes only, with no violation intent.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Ats&diff=5252Ats2014-10-24T10:29:58Z<p>Manuela: </p>
<hr />
<div>Aritech ATS panels are multi-area intrusion detection systems. The integration with HSYCO can be accomplished via direct control through the RS-232 port on the serial module. The ATS I/O Server supports the integration of more than one unit within the same HSYCO interface.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
Employ an RS-232 cable to connect the panel directly to HSYCO or to an Ethernet/RS-232 gateway.<br />
<br />
The cable must follow this pinout diagram:<br />
<br />
<br />
[[File:Ats_RS232_cable.png|400px|border]]<br />
<br />
<br />
RS-232 parameters:<br />
{| class="wikitable"<br />
| '''Baud rate'''<br />
| same as panel settings (default 4800)<br />
|-<br />
| '''Data bits'''<br />
| 8<br />
|-<br />
| '''Stop bit'''<br />
| 1<br />
|-<br />
| '''Parity'''<br />
| none<br />
|-<br />
| '''Flow control'''<br />
| RTS/CTS<br />
|}<br />
<br />
== HSYCO Configuration ==<br />
Add an ATS I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''Comm ID''': select the comm port connected to the panel.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2"|gui<br />
|rowspan="2"|true<br />
|true<br />
|enable support for the UI object, UISET actions and USER commands<br />
|-<br />
|false<br />
|disable UI support<br />
<br />
|-<br />
<br />
|rowspan="2"|startupevents<br />
|rowspan="2"|false<br />
|true<br />
|generate IO events also during the driver’s start-up phase<br />
|-<br />
|false<br />
|start generating events only after HSYCO is aligned with the current status of the system<br />
|-<br />
<br />
|pollinterval<br />
|5<br />
|n > 0<br />
|the data acquisition interval, in seconds<br />
|-<br />
<br />
|logsize<br />
|20<br />
|n &ge; 0<br />
|the number of log lines to display in the UI object<br />
|-<br />
<br />
|maxzone<br />
|256<br />
|0 ... 256<br />
|highest zone index set on the panel. This option is recommended to improve the I/O Server's performances<br />
|-<br />
<br />
|maxoutput<br />
|256<br />
|0 ... 256<br />
|highest output index set on the panel. This option is recommended to improve the I/O Server's performances<br />
|-<br />
<br />
|maxras<br />
|16<br />
|0 ... 16<br />
|highest RAS (Remote Arming Station) index set on the panel. This option is recommended to improve the I/O Server's performances<br />
|-<br />
|}<br />
<br />
=== ats.ini ===<br />
<br />
The ats.ini file is a specific configuration file located in the root directory.<br />
Here you can define the names of zones and areas so that they will be automatically added to the user interface. <br />
<br />
Add a new line for each name using this format:<br />
<br />
<pre><br />
<io_server_id>.zone.<n> = <name><br />
<io_server_id>.area.<n> = <name><br />
</pre><br />
<br />
For instance:<br />
<br />
<pre><br />
ats.zone.1 = Kitchen<br />
ats.zone.2 = Corridor<br />
ats.area.1 = Floor 1<br />
</pre><br />
<br />
== Datapoints ==<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|connection established<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can't connect to the panel<br />
<br />
|-<br />
<br />
|rowspan="4" |armed<br />
|rowspan="2" |1<br />
|R<br />
|at least one area is armed<br />
|-<br />
|W<br />
|arm all active areas<br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|no area is armed<br />
|-<br />
|W<br />
|disarm all active areas<br />
<br />
|-<br />
<br />
|rowspan="3" |alarm<br />
|1<br />
|R<br />
|at least one area is in alarm<br />
|-<br />
|0<br />
|R<br />
|no area is in alarm<br />
|-<br />
|reset<br />
|W<br />
|reset system alarms<br />
<br />
|-<br />
<br />
|rowspan="2" |clock<br />
|read<br />
|W<br />
|request the reading of the panel’s clock value<br />
|-<br />
|<date_time><br />
|R<br />
|the panel’s clock is set to <date_time>. The value has the format "yyyy-mm-dd hh:mm:ss" (e.g. "2012-12-30 16:59:23").<br />
This event is only triggered after a request.<br />
<br />
|-<br />
<br />
|a<n>.name<br />
|<text><br />
|R<br />
|area <n> has been assigned the name <text><br />
<br />
|-<br />
<br />
|z<n>.name<br />
|<text><br />
|R<br />
|zone <n> has been assigned the name <text><br />
<br />
|-<br />
<br />
|rowspan="5" |a<n>.armed<br />
|rowspan="2" |1<br />
|R<br />
|area <n> is armed<br />
|-<br />
|W<br />
|arm area <n><br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|area <n> is disarmed<br />
|-<br />
|W<br />
|disarm area <n><br />
|-<br />
|force<br />
|W<br />
|force arm area <n><br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.alarm<br />
|1<br />
|R<br />
|area <n> is in alarm<br />
|-<br />
|0<br />
|R<br />
|area <n> is not in alarm<br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.open<br />
|1<br />
|R<br />
|area <n> has open zones<br />
|-<br />
|0<br />
|R<br />
|area <n> has no open zones<br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.isolated<br />
|1<br />
|R<br />
|area <n> has isolated zones<br />
|-<br />
|0<br />
|R<br />
|area <n> has no isolated zones<br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.exit<br />
|1<br />
|R<br />
|exit time is active on area <n><br />
|-<br />
|0<br />
|R<br />
|exit time is not active on area <n><br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.entry<br />
|1<br />
|R<br />
|entry time is active on area <n><br />
|-<br />
|0<br />
|R<br />
|entry time is not active on area <n><br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.alarm.local<br />
|1<br />
|R<br />
|local alarms are active on area <n><br />
|-<br />
|0<br />
|R<br />
|no local alarm is active on area <n><br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.warning<br />
|1<br />
|R<br />
|console warning is active on area <n><br />
|-<br />
|0<br />
|R<br />
|console warning is not active on area <n><br />
<br />
|-<br />
<br />
|rowspan="6" |z<n>.state1<sup>[[#note|[Note]]]</sup><br />
|tamper<br />
|R<br />
|tamper active on zone <n><br />
|-<br />
|alarm<br />
|R<br />
|alarm active on zone <n><br />
|-<br />
|closed<br />
|R<br />
|zone <n> closed<br />
|-<br />
|night<br />
|R<br />
|night holdup active on zone <n><br />
|-<br />
|local<br />
|R<br />
|local alarm active on zone <n><br />
|-<br />
|isolated<br />
|R<br />
|zone <n> isolated<br />
<br />
|-<br />
<br />
|rowspan="5" |z<n>.state2<sup>[[#note|[Note]]]</sup><br />
|short<br />
|R<br />
|zone <n> in short circuit<br />
|-<br />
|open<br />
|R<br />
|zone <n> open<br />
|-<br />
|closed<br />
|R<br />
|zone <n> closed<br />
|-<br />
|active<br />
|R<br />
|zone <n> active<br />
|-<br />
|masked<br />
|R<br />
|zone <n> masked<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.isolated<br />
|1<br />
|W<br />
|isolate zone <n><br />
|-<br />
|0<br />
|W<br />
|de-isolate zone <n><br />
<br />
|-<br />
<br />
|z<n>.alarm<br />
|reset<br />
|W<br />
|reset alarms on zone <n><br />
<br />
|-<br />
<br />
|rowspan="4" |o<n>.active<br />
|rowspan="2" |1<br />
|R<br />
|output <n> is active<br />
|-<br />
|W<br />
|activate output <n><br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|output <n> is not active<br />
|-<br />
|W<br />
|deactivate output <n><br />
<br />
|-<br />
<br />
|rowspan="2" |o<n>.inverted<br />
|1<br />
|R<br />
|output <n> is inverted<br />
|-<br />
|0<br />
|R<br />
|output <n> is not inverted<br />
<br />
|-<br />
<br />
|rowspan="2" |ras<n>.offline<br />
|1<br />
|R<br />
|RAS <n> is offline<br />
|-<br />
|0<br />
|R<br />
|RAS <n> is online<br />
<br />
|-<br />
<br />
|rowspan="2" |ras<n>.tamper<br />
|1<br />
|R<br />
|RAS <n> is tampered<br />
|-<br />
|0<br />
|R<br />
|RAS <n> is not tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |ras<n>.isolated<br />
|1<br />
|R<br />
|RAS <n> is isolated<br />
|-<br />
|0<br />
|R<br />
|RAS <n> is not isolated<br />
<br />
|-<br />
<br />
|rowspan="2" |ras<n>.inhibited<br />
|1<br />
|R<br />
|RAS <n> is inhibited<br />
|-<br />
|0<br />
|R<br />
|RAS <n> is not inhibited<br />
<br />
|-<br />
<br />
|rowspan="2" |dgp<n>.offline<br />
|1<br />
|R<br />
|DGP <n> is offline<br />
|-<br />
|0<br />
|R<br />
|DGP <n> is online<br />
<br />
|-<br />
<br />
|rowspan="2" |dgp<n>.isolated<br />
|1<br />
|R<br />
|DGP <n> is isolated<br />
|-<br />
|0<br />
|R<br />
|DGP <n> is not isolated<br />
<br />
|-<br />
<br />
|rowspan="2" |dgp<n>.inhibited<br />
|1<br />
|R<br />
|DGP <n> is inhibited<br />
|-<br />
|0<br />
|R<br />
|DGP <n> is not inhibited<br />
<br />
|-<br />
<br />
|rowspan="2" |dgp<n>.battery.missing<br />
|1<br />
|R<br />
|battery missing on DGP <n><br />
|-<br />
|0<br />
|R<br />
|battery ok on DGP <n><br />
<br />
|-<br />
<br />
|rowspan="2" |dgp<n>.battery.low<br />
|1<br />
|R<br />
|battery low on DGP <n><br />
|-<br />
|0<br />
|R<br />
|battery ok on DGP <n><br />
<br />
|-<br />
<br />
|rowspan="2" |dgp<n>.battery.test<br />
|1<br />
|R<br />
|battery test active on DGP <n><br />
|-<br />
|0<br />
|R<br />
|no battery test active on DGP <n><br />
<br />
|-<br />
<br />
|rowspan="2" |dgp<n>.battery.test.fail<br />
|1<br />
|R<br />
|battery test failed on DGP <n><br />
|-<br />
|0<br />
|R<br />
|battery test ok on DGP <n><br />
<br />
|-<br />
<br />
|rowspan="2" |dgp<n>.mains.fail<br />
|1<br />
|R<br />
|mains failure on DGP <n><br />
|-<br />
|0<br />
|R<br />
|mains ok on DGP <n><br />
<br />
|-<br />
<br />
|rowspan="2" |dgp<n>.fuse.fail<br />
|1<br />
|R<br />
|fuse failure on DGP <n><br />
|-<br />
|0<br />
|R<br />
|fuses ok on DGP <n><br />
<br />
|-<br />
<br />
|rowspan="2" |dgp<n>.siren.fail<br />
|1<br />
|R<br />
|siren failure on DGP <n><br />
|-<br />
|0<br />
|R<br />
|siren ok on DGP <n><br />
<br />
|-<br />
<br />
|rowspan="2" |dgp<n>.tamper<br />
|1<br />
|R<br />
|DGP <n> is tampered<br />
|-<br />
|0<br />
|R<br />
|DGP <n> is not tampered<br />
|}<br />
<br />
<span id="note"><br />
;Note: The value of a zone status (datapoints z<n>.state1 and z<n>.state2) depends on the configuration of the zone typology.<br />
</span><br />
<br />
== User Interface ==<br />
<br />
=== Ats Object ===<br />
<br />
{{:Ats_(UI Object)}}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|log<n><br />
|value<br />
|the line <n> of the log list (<n> from 1 to 20, <n> = 1 : latest entry)<br />
|-<br />
<br />
|log0<br />
|value<br />
|the latest line of the log for a short period<br />
|-<br />
<br />
|a<n>.name<br />
|value<br />
|the name assigned to area <n> <br />
|-<br />
<br />
|z<n>.name <br />
|value<br />
|the name assigned to zone <n><br />
|-<br />
<br />
|connection.label <br />
|visible <br />
|true when the system is not connected to HSYCO, false otherwise<br />
|-<br />
<br />
|armed.label.1 <br />
|visible <br />
|true when at least one area is armed, not visible otherwise<br />
|-<br />
<br />
|armed.label.0 <br />
|visible <br />
|true when no area is armed, not visible otherwise<br />
|-<br />
<br />
|alarm.label.1 <br />
|visible <br />
|true when at least one area is in alarm, not visible otherwise<br />
|-<br />
<br />
|alarm.label.0 <br />
|visible <br />
|true when no area is in alarm, not visible otherwise<br />
|-<br />
<br />
|a<n>.armed.label.1 <br />
|visible <br />
|true when area <n> is armed, not visible otherwise<br />
|-<br />
<br />
|a<n>.armed.label.0 <br />
|visible <br />
|true when area <n> is not armed, not visible otherwise<br />
|-<br />
<br />
|a<n>.alarm.label.1 <br />
|visible <br />
|true when area <n> is in alarm, not visible otherwise<br />
|-<br />
<br />
|a<n>.alarm.label.0 <br />
|visible <br />
|true when area <n> is not in alarm, not visible otherwise<br />
|-<br />
<br />
|a<n>.open.label.1 <br />
|visible <br />
|true when area <n> has open zones, not visible otherwise<br />
|-<br />
<br />
|a<n>.open.label.0 <br />
|visible <br />
|true when area <n> has no open zone, not visible otherwise<br />
|-<br />
<br />
|a<n>.isolated.label.1 <br />
|visible <br />
|true when area <n> has isolated zones, not visible otherwise<br />
|-<br />
<br />
|a<n>.isolated.label.0 <br />
|visible <br />
|true when area <n> has no isolated zone, not visible otherwise<br />
|-<br />
<br />
|a<n>.exit.label.1 <br />
|visible <br />
|true when the exit time is active on area <n>, not visible otherwise<br />
|-<br />
<br />
|a<n>.exit.label.0 <br />
|visible<br />
|true when the exit time is not active on area <n>, not visible otherwise<br />
|-<br />
<br />
|a<n>.entry.label.1 <br />
|visible <br />
|true when the entry time is active on area <n>, not visible otherwise<br />
|-<br />
<br />
|a<n>.entry.label.0 <br />
|visible <br />
|true when the entry time is not active on area <n>, not visible otherwise<br />
|-<br />
<br />
|a<n>.alarm.local.label.1 <br />
|visible <br />
|true when local alarms are active on area <n>, not visible otherwise<br />
|-<br />
<br />
|a<n>.alarm.local.label.0 <br />
|visible<br />
|true when no local alarm is active on area <n>, not visible otherwise<br />
|-<br />
<br />
|a<n>.warning.label.1 <br />
|visible <br />
|true when the console warning is active on area <n>, not visible otherwise<br />
|-<br />
<br />
|a<n>.warning.label.0 <br />
|visible <br />
|true when the console warning is not active on area <n>, not visible otherwise<br />
|-<br />
<br />
|o<n>.active.label.1 <br />
|visible <br />
|true when output <n> is active, not visible otherwise<br />
|-<br />
<br />
|o<n>.active.label.0 <br />
|visible <br />
|true when output <n> is inactive, not visible otherwise<br />
|-<br />
<br />
|o<n>.inverted.label.1 <br />
|visible <br />
|true if output <n> is inverted, not visible otherwise<br />
|-<br />
<br />
|o<n>.inverted.label.0 <br />
|visible <br />
|true if output <n> is not inverted, not visible otherwise<br />
|-<br />
<br />
|ras<n>.offline.label.1 <br />
|visible <br />
|true if RAS <n> is offline, not visible otherwise<br />
|-<br />
<br />
|ras<n>.offline.label.0 <br />
|visible <br />
|true if RAS <n> is online, not visible otherwise<br />
|-<br />
<br />
|ras<n>.tamper.label.1 <br />
|visible <br />
|true when RAS <n> is tampered, not visible otherwise<br />
|-<br />
<br />
|ras<n>.tamper.label.0 <br />
|visible <br />
|true when RAS <n> is not tampered, not visible otherwise<br />
|-<br />
<br />
|ras<n>.isolated.label.1 <br />
|visible <br />
|true if RAS <n> is isolated, not visible otherwise<br />
|-<br />
<br />
|ras<n>.isolated.label.0 <br />
|visible <br />
|true if RAS <n> is not isolated, not visible otherwise<br />
|-<br />
<br />
|ras<n>.inhibited.label.1 <br />
|visible <br />
|true if RAS <n> is inhibited, not visible otherwise<br />
|-<br />
<br />
|ras<n>.inhibited.label.0 <br />
|visible <br />
|true if RAS <n> is not inhibited, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.offline.label.1 <br />
|visible <br />
|true if DGP <n> is offline, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.offline.label.0 <br />
|visible <br />
|true if DGP <n> is online, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.isolated.label.1 <br />
|visible <br />
|true if DGP <n> is isolated, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.isolated.label.0 <br />
|visible <br />
|true if DGP <n> is not isolated, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.inhibited.label.1 <br />
|visible <br />
|true if DGP <n> is inhibited, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.inhibited.label.0 <br />
|visible <br />
|true if DGP <n> is not inhibited, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.battery.missing.label.1 <br />
|visible <br />
|true if the battery of DGP <n> is missing, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.battery.missing.label.0 <br />
|visible <br />
|true if the battery of DGP <n> is ok, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.battery.test.label.1 <br />
|visible <br />
|true if the battery test is active on DGP <n>, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.battery.test.label.0 <br />
|visible <br />
|true if the battery test is not active on DGP <n>, not visible otherwise<br />
|-<br />
|dgp<n>.battery.low.label.1 <br />
|visible <br />
|true if the battery of DGP <n> is low, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.battery.low.label.0 <br />
|visible <br />
|true if the battery of DGP <n> is ok, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.mains.fail.label.1 <br />
|visible <br />
|true if a mains failure is active on DGP <n>, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.mains.fail.label.0 <br />
|visible<br />
|true if no mains failure is active on DGP <n>, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.battery.test.fail.label.1 <br />
|visible <br />
|true if the battery test failed on DGP <n>, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.battery.test.fail.label.0 <br />
|visible <br />
|true if the battery test succeeded on DGP <n>, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.fuse.fail.label.1 <br />
|visible <br />
|true if a fuse failed on DGP <n>, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.fuse.fail.label.0 <br />
|visible <br />
|true if no fuse failed on DGP <n>, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.siren.fail.label.1 <br />
|visible <br />
|true if a siren failed on DGP <n>, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.siren.fail.label.0 <br />
|visible <br />
|true if no siren failed on DGP <n>, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.tamper.label.1 <br />
|visible <br />
|true when DGP <n> is tampered, not visible otherwise<br />
|-<br />
<br />
|dgp<n>.tamper.label.0 <br />
|visible <br />
|true when DGP <n> is not tampered, not visible otherwise<br />
|-<br />
|}<br />
<br />
=== USER Commands ===<br />
<br />
{| class="wikitable"<br />
!Name<br />
!Param<br />
!Action<br />
<br />
|-<br />
<br />
|rowspan="2" |armed<br />
|1<br />
|arm all active areas<br />
|-<br />
|0<br />
|disarm all active areas<br />
<br />
|-<br />
<br />
|alarm<br />
|reset<br />
|reset system alarms<br />
<br />
|-<br />
<br />
|rowspan="3" |a<n>.armed<br />
|1<br />
|arm area <n><br />
|-<br />
|0<br />
|disarm area <n><br />
|-<br />
|force<br />
|force arm area <n><br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.isolated<br />
|1<br />
|isolate zone <n><br />
|-<br />
|0<br />
|de-isolate zone <n><br />
<br />
|-<br />
<br />
|z<n>.alarm<br />
|reset<br />
|reset alarms on zone <n><br />
<br />
|-<br />
<br />
|rowspan="2" |o<n>.active<br />
|1<br />
|activate output <n><br />
|-<br />
|0<br />
|deactivate output <n><br />
|}<br />
<br />
== Release Notes ==<br />
=== 3.4.0 ===<br />
*bug fix: polling failure occurring for a high number of zones<br />
<br />
=== 3.2.0 ===<br />
*added event “ID.clock”<br />
*removed I/O Server option “maxdgp”<br />
<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''ATS and Aritech are registered trademarks of UTC Fire & Security.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Inim&diff=5251Inim2014-10-24T10:29:37Z<p>Manuela: </p>
<hr />
<div>Inim SmartLiving panels are multi-area intrusion detection systems. <br />
<br />
The integration with HSYCO can be accomplished via direct control through the RS-232 port on the board.<br />
<br />
The INIM I/O Server in HSYCO supports the integration of more than one unit within the same HSYCO interface.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
Employ a female-female RS-232 crossed cable to connect the panel directly to HSYCO or to an Ethernet/RS-232 gateway.<br />
<br />
RS-232 parameters:<br />
{| class="wikitable"<br />
| '''Baud rate'''<br />
| 57600<br />
|-<br />
| '''Data bits'''<br />
| 8<br />
|-<br />
| '''Stop bit'''<br />
| 1<br />
|-<br />
| '''Parity'''<br />
| even<br />
|-<br />
| '''Flow control'''<br />
| none<br />
|}<br />
<br />
== HSYCO Configuration ==<br />
Add an INIM I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''Comm ID''': select the comm port the device is connected to.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2"|gui<br />
|rowspan="2"|true<br />
|true<br />
|enable support for the UI object, UISET actions and USER commands<br />
|-<br />
|false<br />
|disable UI support<br />
<br />
|-<br />
<br />
|rowspan="2"|startupevents<br />
|rowspan="2"|false<br />
|true<br />
|generate IO events also during the driver’s start-up phase<br />
|-<br />
|false<br />
|start generating events only after HSYCO is aligned with the current status of the system<br />
<br />
|-<br />
<br />
|logsize<br />
|50<br />
|n &ge; 0<br />
|the number of log lines to display in the UI object<br />
<br />
|-<br />
<br />
|pollinterval<br />
|4<br />
|n > 0<br />
|the data acquisition interval, in seconds<br />
<br />
|-<br />
<br />
|rowspan="3"|mod<br />
|rowspan="3"|<br />
|515<br />
|rowspan="3"|the panel model to control. This option is required<br />
|-<br />
|1050<br />
|-<br />
|10100<br />
<br />
|-<br />
<br />
|pin<br />
|<br />
|<nowiki><code></nowiki><br />
|use the specified user code to perform operations that require user authentication. If this option is not specified it will be required to manually insert the pin every time such operations are performed<br />
<br />
|-<br />
<br />
|pintimeout<br />
|10<br />
|n > 0<br />
|expiration time (in seconds) of pin entered from the GUI object<br />
<br />
|-<br />
<br />
|rowspan="2"|multicommand<br />
|rowspan="2"|false<br />
|true<br />
|allow for multiple commands from the GUI object during pin validity time<br />
|-<br />
|false<br />
|require to enter the pin code for each operation from the GUI object<br />
<br />
|}<br />
<br />
=== inim.ini ===<br />
<br />
The inim.ini file is a specific configuration file located in the root directory.<br />
<br />
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.<br />
<br />
The default configuration for the SmartLiving 515 is shown in the following diagram:<br />
<br />
[[File:Inim_Default_515.png|500px|border]]<br />
<br />
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):<br />
<br />
[[File:Inim_Default_1050.png|500px|border]]<br />
<br />
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.<br />
<br />
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.<br />
<br />
For instance, consider the following configuration on a SmartLiving1050:<br />
<br />
[[File:Inim_Custom_1050.png|500px|border]]<br />
<br />
The corresponding configuration in inim.ini, assuming that the ID of the I/O Server is "inm", would be the following:<br />
<br />
<pre><br />
inm.t1 = z1<br />
inm.t2 = z2<br />
inm.t3 = z3<br />
inm.t4 = z4<br />
inm.t5 = z5<br />
inm.t6 = z6,o6<br />
inm.t7 = z7d<br />
inm.t8 = z8d<br />
inm.t9 = z9d<br />
<br />
inm.e1.t1 = o10<br />
inm.e1.t2 = z11d<br />
inm.e1.t3 = o12<br />
<br />
inm.k1.t1 = z13<br />
</pre><br />
<br />
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.<br />
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,<br />
the syntax “<ioserver_id>.k<m>.t<n>” is used to identify terminals on keyboards.<br />
<br />
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>").<br />
<br />
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.<br />
<br />
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>").<br />
<br />
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:<br />
<br />
<pre><br />
inm.t4 = z4 = door<br />
inm.t5 = z5 = corridor<br />
inm.t6 = z6, o6 = alarm point<br />
inm.e1.t2 = z11d = room 1, room 2<br />
</pre><br />
<br />
As you can see from the last line, when referring to a double zone you can specify two different names separated by a comma.<br />
<br />
'''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.<br />
<br />
== Datapoints ==<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|connection established<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can't connect to the panel<br />
<br />
|-<br />
<br />
|rowspan="2" |armed<br />
|0<br />
|R<br />
|all areas are disarmed<br />
|-<br />
|1<br />
|R<br />
|at least one area is armed<br />
<br />
<br />
|-<br />
<br />
|rowspan="8" |a<n>.armed<br />
|rowspan="2" |0<br />
|R<br />
|area <n> is disarmed<br />
|-<br />
|W<br />
|disarm area <n><br />
|-<br />
|rowspan="2" |away<br />
|R<br />
|area <n> is armed in “away” mode<br />
|-<br />
|W<br />
|arm area <n> in “away” mode<br />
|-<br />
|rowspan="2" |stay<br />
|R<br />
|area <n> is armed in “stay” mode<br />
|-<br />
|W<br />
|arm area <n> in “stay” mode<br />
|-<br />
|rowspan="2" |inst<br />
|R<br />
|area <n> is armed in “instantaneous” mode<br />
|-<br />
|W<br />
|arm area <n> in “instantaneous” mode<br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.alarm<br />
|0<br />
|R<br />
|no active alarm on area <n><br />
|-<br />
|1<br />
|R<br />
|alarm on area <n><br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.tamper<br />
|0<br />
|R<br />
|no tamper alarm on area <n><br />
|-<br />
|1<br />
|R<br />
|tamper alarm on area <n><br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.alarm.mem<br />
|0<br />
|R<br />
|no alarm in memory for area <n><br />
|-<br />
|1<br />
|R<br />
|alarm in memory for area <n><br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.tamper.mem<br />
|0<br />
|R<br />
|no tamper alarm in memory for area <n><br />
|-<br />
|1<br />
|R<br />
|tamper alarm in memory for area <n><br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.auto<br />
|0<br />
|R<br />
|auto-arming disabled on area <n><br />
|-<br />
|1<br />
|R<br />
|auto-arming enabled on area <n><br />
<br />
|-<br />
<br />
|a<n>.reset<br />
|1<br />
|W<br />
|reset alarms on area <n><br />
<br />
|-<br />
<br />
|rowspan="4" |z<n>.state<br />z<n>d.state<br />
|closed<br />
|R<br />
|zone <n> (base or double) is closed<br />
|-<br />
|open<br />
|R<br />
|zone <n> (base or double) is open<br />
|-<br />
|tamper<br />
|R<br />
|zone <n> (base or double) is tampered<br />
|-<br />
|short<br />
|R<br />
|zone <n> (base or double) is in short circuit<br />
<br />
|-<br />
<br />
|rowspan="4" |z<n>.bypassed<br />z<n>d.bypassed<br />
|rowspan="2" |0<br />
|R<br />
|zone <n> is not bypassed<br />
|-<br />
|W<br />
|unbypass zone <n><br />
|-<br />
|rowspan="2" |1<br />
|R<br />
|zone <n> is bypassed<br />
|-<br />
|W<br />
|bypass zone <n><br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.test<br />z<n>d.test<br />
|0<br />
|R<br />
|zone <n> is not in test<br />
|-<br />
|1<br />
|R<br />
|zone <n> is being tested<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.alarm.mem<br />z<n>d.alarm.mem<br />
|0<br />
|R<br />
|no alarm in memory for zone <n><br />
|-<br />
|1<br />
|R<br />
|alarm in memory for zone <n><br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.tamper.mem<br />z<n>d.tamper.mem<br />
|0<br />
|R<br />
|no terminal tamper alarm in memory for zone <n><br />
|-<br />
|1<br />
|R<br />
|terminal tamper alarm in memory for zone <n><br />
<br />
|-<br />
<br />
|rowspan="4" |or<br />
|rowspan="2" |0<br />
|R<br />
|the relay output on the panel is not active<br />
|-<br />
|W<br />
|deactivate the relay output on the panel<br />
|-<br />
|rowspan="2" |1<br />
|R<br />
|the relay output on the panel is active<br />
|-<br />
|W<br />
|activate the relay output on the panel<br />
<br />
|-<br />
<br />
|rowspan="4" |oc1<br />
|rowspan="2" |0<br />
|R<br />
|the open collector 1 on the panel is not active<br />
|-<br />
|W<br />
|deactivate the open collector 1 on the panel<br />
|-<br />
|rowspan="2" |1<br />
|R<br />
|the open collector 1 on the panel is active<br />
|-<br />
|W<br />
|activate the open collector 1 on the panel<br />
<br />
|-<br />
<br />
|rowspan="4" |oc2<br />
|rowspan="2" |0<br />
|R<br />
|the open collector 2 on the panel is not active<br />
|-<br />
|W<br />
|deactivate the open collector 2 on the panel<br />
|-<br />
|rowspan="2" |1<br />
|R<br />
|the open collector 2 on the panel is active<br />
|-<br />
|W<br />
|activate the open collector 2 on the panel<br />
<br />
|-<br />
<br />
|rowspan="4" |o<n><br />(if defined in inim.ini)<br />
|rowspan="2" |0<br />
|R<br />
|output <n> is not active<br />
|-<br />
|W<br />
|deactivate output <n><br />
|-<br />
|rowspan="2" |1<br />
|R<br />
|output <n> is active<br />
|-<br />
|W<br />
|activate output <n><br />
<br />
|-<br />
<br />
|rowspan="2" |fault.fuse.zones<br />
|0<br />
|R<br />
|zones fuse OK<br />
|-<br />
|1<br />
|R<br />
|fault on zones fuse<br />
<br />
|-<br />
<br />
|rowspan="2" |fault.fuse.ibus<br />
|0<br />
|R<br />
|IBUS fuse OK<br />
|-<br />
|1<br />
|R<br />
|fault on IBUS fuse<br />
<br />
|-<br />
<br />
|rowspan="2" |fault.battery<br />
|0<br />
|R<br />
|battery OK<br />
|-<br />
|1<br />
|R<br />
|fault on battery<br />
<br />
|-<br />
<br />
|rowspan="2" |fault.mains<br />
|0<br />
|R<br />
|mains OK<br />
|-<br />
|1<br />
|R<br />
|panel mains fault<br />
<br />
|-<br />
<br />
|rowspan="2" |fault.phone<br />
|0<br />
|R<br />
|phone line OK<br />
|-<br />
|1<br />
|R<br />
|fault on phone line<br />
<br />
|-<br />
<br />
|rowspan="2" |fault.jamming<br />
|0<br />
|R<br />
|no jamming<br />
|-<br />
|1<br />
|R<br />
|radio jamming<br />
<br />
|-<br />
<br />
|rowspan="2" |fault.radio.battery<br />
|0<br />
|R<br />
|radio zones battery OK<br />
|-<br />
|1<br />
|R<br />
|low battery on radio zone(s)<br />
<br />
|-<br />
<br />
|rowspan="2" |fault.radio.loss<br />
|0<br />
|R<br />
|radio zones OK<br />
|-<br />
|1<br />
|R<br />
|loss of radio zone(s)<br />
<br />
|-<br />
<br />
|battery.volts<br />
|<val><br />
|R<br />
|the voltage value of the battery is <val> Volts<br />
<br />
|-<br />
<br />
|rowspan="2" |tamper.panel<br />
|0<br />
|R<br />
|panel OK<br />
|-<br />
|1<br />
|R<br />
|panel tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |tamper.cover<br />
|0<br />
|R<br />
|panel cover OK<br />
|-<br />
|1<br />
|R<br />
|panel cover tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |tamper.reader<br />
|0<br />
|R<br />
|readers OK<br />
|-<br />
|1<br />
|R<br />
|reader(s) tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |tamper.keypad<br />
|0<br />
|R<br />
|keypads OK<br />
|-<br />
|1<br />
|R<br />
|keypad(s) tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |tamper.expander<br />
|0<br />
|R<br />
|FLEX5 expanders OK<br />
|-<br />
|1<br />
|R<br />
|FLEX5 expander(s) tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |reset<br />
|0<br />
|R<br />
|communication BUS ready<br />
|-<br />
|1<br />
|R<br />
|ongoing reset procedure on communication BUS<br />
<br />
|-<br />
<br />
|rowspan="2" |internet<br />
|0<br />
|R<br />
|“internet access” option disabled<br />
|-<br />
|1<br />
|R<br />
|“internet access” option enabled<br />
<br />
|-<br />
<br />
|rowspan="2" |service<br />
|0<br />
|R<br />
|service jumper in “RUN” position<br />
|-<br />
|1<br />
|R<br />
|service jumper in “SERV” position (maintenance)<br />
<br />
|-<br />
<br />
|rowspan="2" |program<br />
|0<br />
|R<br />
|panel not in programming mode<br />
|-<br />
|1<br />
|R<br />
|ongoing programming via keyboard<br />
<br />
|-<br />
<br />
|rowspan="2" |voice<br />
|0<br />
|R<br />
|no SmartLogos30M voice card detected<br />
|-<br />
|1<br />
|R<br />
|SmartLogos30M voice card detected<br />
<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== Inim Object ===<br />
<br />
{{:Inim_(UI Object)}}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
<br />
|-<br />
<br />
|log<br />
|value<br />
|colspan="2"|latest security log lines (as many as specified by the 'logsize' option)<br />
<br />
|-<br />
<br />
|log0<br />
|value<br />
|colspan="2"|latest line of the security log when a new entry is added, set back to blank after a short period<br />
<br />
|-<br />
<br />
|z<n>.name<br />z<n>d.name<br />
|value<br />
|colspan="2"|name assigned to zone <n> (base or double) or its number if no name is defined<br />
<br />
|-<br />
<br />
|rowspan="2"|connection.label<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint connection = offline<br />
|-<br />
|false<br />
|when datapoint connection = online<br />
<br />
|-<br />
<br />
|rowspan="2"|a<n>.armed.label.0<br />
|rowspan="2"|visible<br />
|true<br />
|when area <n> is disarmed<br />
|-<br />
|false<br />
|when area <n> is armed<br />
<br />
|-<br />
<br />
|rowspan="2"|a<n>.armed.label.away<br />
|rowspan="2"|visible<br />
|true<br />
|when area <n> is armed in "away" mode<br />
|-<br />
|false<br />
|when area <n> is not armed in "away" mode<br />
<br />
|-<br />
<br />
|rowspan="2"|a<n>.armed.label.stay<br />
|rowspan="2"|visible<br />
|true<br />
|when area <n> is armed in "stay" mode<br />
|-<br />
|false<br />
|when area <n> is not armed in "stay" mode<br />
<br />
|-<br />
<br />
|rowspan="2"|a<n>.armed.label.inst<br />
|rowspan="2"|visible<br />
|true<br />
|when area <n> is armed in "instantaneous" mode<br />
|-<br />
|false<br />
|when area <n> is not armed in "instantaneous" mode<br />
<br />
|-<br />
<br />
|rowspan="2"|a<n>.armed.label.1<br />
|rowspan="2"|visible<br />
|true<br />
|when area <n> is armed in any mode<br />
|-<br />
|false<br />
|when area <n> is not armed<br />
<br />
|-<br />
<br />
|rowspan="2"|z<n>.state.label.closed<br />z<n>d.state.label.closed<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint 'z<n>.state' has value 'closed'<br />
|-<br />
|false<br />
|when datapoint 'z<n>.state' has not value 'closed'<br />
<br />
|-<br />
<br />
|rowspan="2"|z<n>.state.label.open<br />z<n>d.state.label.open<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint 'z<n>.state' has value 'open'<br />
|-<br />
|false<br />
|when datapoint 'z<n>.state' has not value 'open'<br />
<br />
|-<br />
<br />
|rowspan="2"|z<n>.state.label.tamper<br />z<n>d.state.label.tamper<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint 'z<n>.state' has value 'tamper'<br />
|-<br />
|false<br />
|when datapoint 'z<n>.state' has not value 'tamper'<br />
<br />
|-<br />
<br />
|rowspan="2"|z<n>.state.label.short<br />z<n>d.state.label.short<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint 'z<n>.state' has value 'short'<br />
|-<br />
|false<br />
|when datapoint 'z<n>.state' has not value 'short'<br />
<br />
|-<br />
<br />
|rowspan="2"|<datapoint_id>.label.1<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint with ID <datapoint_id> has value '1'<br />
|-<br />
|false<br />
|when datapoint with ID <datapoint_id> has value '0'<br />
<br />
|-<br />
<br />
|rowspan="2"|<datapoint_id>.label.0<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint with ID <datapoint_id> has value '0'<br />
|-<br />
|false<br />
|when datapoint with ID <datapoint_id> has value '1'<br />
|}<br />
<br />
=== USER Commands ===<br />
<br />
{| class="wikitable"<br />
!Name<br />
!Param<br />
!Action<br />
<br />
|-<br />
<br />
|rowspan="4" |a<n>.armed<br />
|0<br />
|disarm area <n><br />
|-<br />
|stay<br />
|arm area <n> in "stay" mode<br />
|-<br />
|away<br />
|arm area <n> in "away" mode<br />
|-<br />
|inst<br />
|arm area <n> in "instantaneous" mode<br />
<br />
|-<br />
<br />
|a<n>.reset<br />
|1<br />
|reset alarms on area <n><br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.bypassed<br />z<n>d.bypassed<br />
|0<br />
|unbypass zone <n> (base or double)<br />
|-<br />
|1<br />
|bypass zone <n> (base or double)<br />
<br />
|-<br />
<br />
|rowspan="2" |or<br />
|0<br />
|deactivate the relay output on the panel<br />
|-<br />
|1<br />
|activate the relay output on the panel<br />
<br />
|-<br />
<br />
|rowspan="2" |oc1<br />
|0<br />
|deactivate the open collector 1 on the panel<br />
|-<br />
|1<br />
|activate the open collector 1 on the panel<br />
<br />
|-<br />
<br />
|rowspan="2" |oc2<br />
|0<br />
|deactivate the open collector 2 on the panel<br />
|-<br />
|1<br />
|activate the open collector 2 on the panel<br />
<br />
|-<br />
<br />
|rowspan="2" |o<n><br />
|0<br />
|deactivate output <n><br />
|-<br />
|1<br />
|activate output <n><br />
<br />
|}<br />
<br />
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:<br />
<br />
{| class="wikitable"<br />
!Name<br />
!Param<br />
!Action<br />
|-<br />
|rowspan="2"|digit<br />
|{0 ... 9}<br />
|append the specified digit to the entered user code<br />
|-<br />
|c<br />
|delete the last entered digit<br />
|}<br />
<br />
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:<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Description<br />
|-<br />
|pin.<n><br />(0 &le; <n> &le; 5)<br />
|shows the character '*' when the corresponding digit has been entered, shows '_' otherwise<br />
<br />
|}<br />
<br />
The entered code will be cleared after a short period of inactivity.<br />
<br />
== Log Files ==<br />
A permanent detailed record of all the INIM log messages is saved in a file called security.log in the logs/YYYY directory for the current year. This file is never overwritten or deleted by HSYCO. <br />
<br />
Other information related to the INIM I/O Server are saved in the daily message.log files.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.4.0 ===<br />
*added option "pintimeout"<br />
*added option "multicommand"<br />
*fixed bug in GUI object: bypassed status was inverted<br />
*fixed bug that prevented bypassing a zone if pin not set in the options<br />
<br />
=== 3.2.0 ===<br />
*initial version release<br />
<br />
----<br />
<br />
<br />
''Inim and SmartLiving are registered trademarks of Inim Electronics s.r.l.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=GSM&diff=5250GSM2014-10-24T10:29:03Z<p>Manuela: </p>
<hr />
<div>This I/O Server provides services for sending and receiving SMSs and events generation for incoming calls via serial GSM modem.<br />
<br />
The employed protocol complies with the AT commands set specified by the GSM standard set. It has been tested on the GenPro 16e and GenPro 18e modems by Erco&Gener and on the AirLink FXT009 modem by Sierra Wireless.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
Employ a RS-232 straight cable to connect the modem directly to HSYCO or to an Ethernet/RS-232 gateway.<br />
<br />
RS-232 parameters:<br />
{| class="wikitable"<br />
| rowspan="3" |'''Baud rate'''<br />
| 9600 (GenPro modems)<br />
|-<br />
| 115200 (default on AirLink FXT009 modems)<br />
|-<br />
| 115200 (default on Teleorigin modem)<br />
|-<br />
| '''Data bits'''<br />
| 8<br />
|-<br />
| '''Stop bit'''<br />
| 1<br />
|-<br />
| '''Parity'''<br />
| none<br />
|-<br />
| '''Flow control'''<br />
| RTS/CTS<br />
|}<br />
<br />
== HSYCO Configuration ==<br />
Add a GSM I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''Comm ID''': select the comm port the device is connected to.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|pin<br />
|<br />
|<nowiki><code></nowiki><br />
|4-digits PIN code of the SIM card (if used)<br />
<br />
|-<br />
<br />
|rowspan="2"|gui<br />
|rowspan="2"|true<br />
|true<br />
|enable support for the UI object, UISET actions and USER commands<br />
|-<br />
|false<br />
|disable UI support<br />
<br />
|-<br />
<br />
|inboxsize<br />
|10<br />
|n &ge; 0<br />
|the number of incoming messages to display in the UI object<br />
<br />
|-<br />
<br />
|countrycode<br />
|<br />
|<nowiki><code></nowiki><br />
|the default country code (e.g. “39”, for Italy) to be used when not otherwise specified. If omitted all provided numbers shall include the country code<br />
<br />
<br />
|-<br />
<br />
|srvc<br />
|<br />
|<number><br />
|phone number of the SMS service center (use the international format, e.g. +393492000200). If not specified, the default number saved on the SIM card will be used. If not available, the driver will not be able to send SMS messages<br />
<br />
|-<br />
<br />
|resend<br />
|4<br />
|n &ge; 0<br />
|number of sending attempts on an outgoing SMS in case of error<br />
<br />
|}<br />
<br />
== Datapoints ==<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|connection established<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can't connect to the modem<br />
<br />
|-<br />
<br />
|rowspan="2"|sms.<num><br />
|rowspan="2"|<text><br />
|R<br />
|an SMS message has been received form the number <num><sup>[[#note2|[Note 2]]]</sup> with <text> as body<br />
|-<br />
|W<br />
|send an SMS message to the number <num><sup>[[#note1|[Note 1]]]</sup> with <text> as body<br />
<br />
|-<br />
<br />
|rowspan="2"|call<br />
|<num><br />
|R<br />
|incoming call from number <num><sup>[[#note2|[Note 2]]]</sup> in progress. An event is generated for each “ring” during the call<br />
|-<br />
|unknown<br />
|R<br />
|incoming call from an unknown number in progress<br />
<br />
|-<br />
<br />
|style="white-space:nowrap" |sms.<num>.sent<br />
|<mr><br />
|R<br />
|a message has been successfully sent to the number <num> and the message reference number is <mr><br />
<br />
|-<br />
<br />
|style="white-space:nowrap" | sms.<num>.errors<br />
|<val><br />
|R<br />
|an error occurred while sending a message to number <num>. The value <val> is an increasing counter of the occurred errors since the I/O Server started<br />
<br />
|-<br />
<br />
|rowspan="2"|signal<br />
|{0 ... 31}<br />
|R<br />
|the GSM signal level has the reported value (ranging from 0 to 31)<br />
|-<br />
|unknown<br />
|R<br />
|the GSM signal level is unknown<br />
<br />
|-<br />
<br />
|}<br />
<br />
<span id="note1"><br />
;Note 1 : If the option 'countrycode' is used, then the country code will be automatically added to the specified numbers, unless the latter begins with a '+' character. For instance, assuming the option 'countrycode' is set to “39”, the addressee number “3480077000” will be automatically changed to “+393480077000”, while the number “+46765007700” will remain unchanged. If, on the other hand, no default country code has been specified, then the addressee numbers must always be provided prepending the country code.<br />
</span><br />
<br />
<span id="note2"><br />
;Note 2 : The numbers are reported as sent from the modem and the format may vary depending on the number itself and the modem settings. If the reported number is an international number, then a '+' will be prepended to it, unless the country code is equal to the value of the 'countrycode' option. In the last case the country code will be omitted. In some cases, the sender number field might also be replaced by an alphanumeric string.<br />
</span><br />
<br />
== User Interface ==<br />
<br />
=== SMS Object ===<br />
<br />
{{:SMS_(UI Object)}}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|inbox<br />
|value<br />
|colspan="2"|latest incoming SMS messages (as many as specified by the 'inboxsize' option)<br />
<br />
|-<br />
<br />
|rowspan="2"|connection.label.online<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint connection = online<br />
|-<br />
|false<br />
|when datapoint connection = offline<br />
<br />
|-<br />
<br />
|rowspan="2"|connection.label.offline<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint connection = offline<br />
|-<br />
|false<br />
|when datapoint connection = online<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.0<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is equal to 0<br />
|-<br />
|false<br />
|when the GSM signal level is not 0<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.1<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is between 1 and 8<br />
|-<br />
|false<br />
|when the GSM signal level is not between 1 and 8<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.2<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is between 9 and 16<br />
|-<br />
|false<br />
|when the GSM signal level is not between 9 and 16<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.3<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is between 17 and 24<br />
|-<br />
|false<br />
|when the GSM signal level is not between 17 and 24<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.4<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is above 24<br />
|-<br />
|false<br />
|when the GSM signal level is below 25<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.unknown<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is unknown<br />
|-<br />
|false<br />
|when the GSM signal level is known<br />
<br />
|-<br />
<br />
|rowspan="2"|sending.label<br />
|rowspan="2"|visible<br />
|true<br />
|when the modem is sending a message<br />
|-<br />
|false<br />
|when the modem is not sending a message<br />
<br />
|-<br />
<br />
|rowspan="2"|error.label<br />
|rowspan="2"|visible<br />blink<br />
|true<br />
|for 5 seconds after there’s been an error sending a message<br />
|-<br />
|false<br />
|default value<br />
|}<br />
<br />
=== USER Commands ===<br />
<br />
{| class="wikitable"<br />
!UI Object<br />
!ID<br />
|-<br />
|[[input]]<br />
|<ioserver_id>.sms.number<br />
|-<br />
|[[input]]<br />
|<ioserver_id>.sms.text<br />
|-<br />
|[[submit]]<br />
|<ioserver_id>.sms.send<br />
|}<br />
<br />
From the resulting interface, digit the addressee number (or comma-separated list of numbers) in the input field with ID “<ioserver_id>.sms.number” and the body text in the input field “<ioserver_id>.sms.text”, then press the submit button.<br />
<br />
N.B. If the option 'countrycode' is used, then the country code will be automatically added to the numbers, unless the latter begins with a '+'.<br />
For instance, assuming the value of the option 'countrycode' is set to “39”, the addressee number “3480077000” will be automatically changed to “+393480077000”, while the number “+46765007700” will remain unchanged.<br />
If, on the other hand, no default country code has been specified, then the addressee numbers must always be provided prepending the country code.<br />
<br />
== PUK-locked SIM ==<br />
In case the SIM card used for the GSM modem is PUK-locked, it is required to provide the PUK code and a new PIN to set on the SIM card. To this end, create in the root folder of HSYCO a file named “<ioserver_id>.puk”, where <ioserver_id> is the ID of the corresponding I/O Server (e.g. “gsm.puk”). In this file add a single line containing the PUK code and the new PIN code separated by a comma, for instance:<br />
<pre><br />
12345678,1234<br />
</pre><br />
The file will be automatically deleted after it has been used by the I/O Server.<br />
<br />
== Examples ==<br />
=== Sending an SMS ===<br />
Assuming that we are sending an SMS at 12 o' clock to number 777123456 located in Italy (International prefix code: +39) and the option "countrycode" of the GSM IO server is not specified, this is the corresponding EVENTS programming declaration:<br />
<br />
time = 1200 : io gsm.sms.+39777123456 = "I'm sending and sms to the world"<br />
<br />
You can send multiple SMSs to different numbers using this syntax:<br />
<br />
time = 1200 : io gsm.sms.+39777123456 gsm.sms.+39777654321 = "I'm sending an sms to the world"<br />
<br />
=== Receiving an SMS ===<br />
Hsyco can receive SMSs through the GSM IO server and perform actions according to the text contained in the SMS.<br />
<br />
io gsm.sms.777123456 = "Help" : io gsm.sms.777123456 = "I accept the following commands: Open, Status"<br />
io gsm.sms.777123456 = "Open" : io knx.1/1/2 = 1, wait = 1, io knx.1/1/2 = 0<br />
<br />
== Release Notes ==<br />
=== 3.4.0 ===<br />
*fixed bug occurring when sending messages containing the '=' character<br />
*minor fixes to the sms UI object<br />
=== 3.3.0 ===<br />
*added “resend” server option<br />
*improved AT commands compatibility<br />
*added PUK-unlock functionality<br />
=== 3.2.1 ===<br />
*added “srvc” server option<br />
*bug fix: user.IOStartupEvent() was not called at startup<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''GenPro 16e, GenPro 18e, and Erco&Gener are registered trademarks of Erco&Gener.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=GSM&diff=5249GSM2014-10-24T10:28:34Z<p>Manuela: Reverted edits by Manuela (talk) to last revision by Ulde</p>
<hr />
<div>This I/O Server provides services for sending and receiving SMSs and events generation for incoming calls via serial GSM modem.<br />
<br />
The employed protocol complies with the AT commands set specified by the GSM standard set. It has been tested on the GenPro 16e and GenPro 18e modems by Erco&Gener and on the AirLink FXT009 modem by Sierra Wireless.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
Employ a RS-232 straight cable to connect the modem directly to HSYCO or to an Ethernet/RS-232 gateway.<br />
<br />
RS-232 parameters:<br />
{| class="wikitable"<br />
| rowspan="3" |'''Baud rate'''<br />
| 9600 (GenPro modems)<br />
|-<br />
| 115200 (default on AirLink FXT009 modems)<br />
|-<br />
| 115200 (default on Teleorigin modem)<br />
|-<br />
| '''Data bits'''<br />
| 8<br />
|-<br />
| '''Stop bit'''<br />
| 1<br />
|-<br />
| '''Parity'''<br />
| none<br />
|-<br />
| '''Flow control'''<br />
| RTS/CTS<br />
|}<br />
<br />
== HSYCO Configuration ==<br />
Add a GSM I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''Comm ID''': select the comm port the device is connected to.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|pin<br />
|<br />
|<nowiki><code></nowiki><br />
|4-digits PIN code of the SIM card (if used)<br />
<br />
|-<br />
<br />
|rowspan="2"|gui<br />
|rowspan="2"|true<br />
|true<br />
|enable support for the UI object, UISET actions and USER commands<br />
|-<br />
|false<br />
|disable UI support<br />
<br />
|-<br />
<br />
|inboxsize<br />
|10<br />
|n &ge; 0<br />
|the number of incoming messages to display in the UI object<br />
<br />
|-<br />
<br />
|countrycode<br />
|<br />
|<nowiki><code></nowiki><br />
|the default country code (e.g. “39”, for Italy) to be used when not otherwise specified. If omitted all provided numbers shall include the country code<br />
<br />
<br />
|-<br />
<br />
|srvc<br />
|<br />
|<number><br />
|phone number of the SMS service center (use the international format, e.g. +393492000200). If not specified, the default number saved on the SIM card will be used. If not available, the driver will not be able to send SMS messages<br />
<br />
|-<br />
<br />
|resend<br />
|4<br />
|n &ge; 0<br />
|number of sending attempts on an outgoing SMS in case of error<br />
<br />
|}<br />
<br />
== Datapoints ==<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|connection established<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can't connect to the modem<br />
<br />
|-<br />
<br />
|rowspan="2"|sms.<num><br />
|rowspan="2"|<text><br />
|R<br />
|an SMS message has been received form the number <num><sup>[[#note2|[Note 2]]]</sup> with <text> as body<br />
|-<br />
|W<br />
|send an SMS message to the number <num><sup>[[#note1|[Note 1]]]</sup> with <text> as body<br />
<br />
|-<br />
<br />
|rowspan="2"|call<br />
|<num><br />
|R<br />
|incoming call from number <num><sup>[[#note2|[Note 2]]]</sup> in progress. An event is generated for each “ring” during the call<br />
|-<br />
|unknown<br />
|R<br />
|incoming call from an unknown number in progress<br />
<br />
|-<br />
<br />
|style="white-space:nowrap" |sms.<num>.sent<br />
|<mr><br />
|R<br />
|a message has been successfully sent to the number <num> and the message reference number is <mr><br />
<br />
|-<br />
<br />
|style="white-space:nowrap" | sms.<num>.errors<br />
|<val><br />
|R<br />
|an error occurred while sending a message to number <num>. The value <val> is an increasing counter of the occurred errors since the I/O Server started<br />
<br />
|-<br />
<br />
|rowspan="2"|signal<br />
|{0 ... 31}<br />
|R<br />
|the GSM signal level has the reported value (ranging from 0 to 31)<br />
|-<br />
|unknown<br />
|R<br />
|the GSM signal level is unknown<br />
<br />
|-<br />
<br />
|}<br />
<br />
<span id="note1"><br />
;Note 1 : If the option 'countrycode' is used, then the country code will be automatically added to the specified numbers, unless the latter begins with a '+' character. For instance, assuming the option 'countrycode' is set to “39”, the addressee number “3480077000” will be automatically changed to “+393480077000”, while the number “+46765007700” will remain unchanged. If, on the other hand, no default country code has been specified, then the addressee numbers must always be provided prepending the country code.<br />
</span><br />
<br />
<span id="note2"><br />
;Note 2 : The numbers are reported as sent from the modem and the format may vary depending on the number itself and the modem settings. If the reported number is an international number, then a '+' will be prepended to it, unless the country code is equal to the value of the 'countrycode' option. In the last case the country code will be omitted. In some cases, the sender number field might also be replaced by an alphanumeric string.<br />
</span><br />
<br />
== User Interface ==<br />
<br />
=== SMS Object ===<br />
<br />
{{:SMS_(UI Object)}}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|inbox<br />
|value<br />
|colspan="2"|latest incoming SMS messages (as many as specified by the 'inboxsize' option)<br />
<br />
|-<br />
<br />
|rowspan="2"|connection.label.online<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint connection = online<br />
|-<br />
|false<br />
|when datapoint connection = offline<br />
<br />
|-<br />
<br />
|rowspan="2"|connection.label.offline<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint connection = offline<br />
|-<br />
|false<br />
|when datapoint connection = online<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.0<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is equal to 0<br />
|-<br />
|false<br />
|when the GSM signal level is not 0<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.1<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is between 1 and 8<br />
|-<br />
|false<br />
|when the GSM signal level is not between 1 and 8<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.2<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is between 9 and 16<br />
|-<br />
|false<br />
|when the GSM signal level is not between 9 and 16<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.3<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is between 17 and 24<br />
|-<br />
|false<br />
|when the GSM signal level is not between 17 and 24<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.4<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is above 24<br />
|-<br />
|false<br />
|when the GSM signal level is below 25<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.unknown<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is unknown<br />
|-<br />
|false<br />
|when the GSM signal level is known<br />
<br />
|-<br />
<br />
|rowspan="2"|sending.label<br />
|rowspan="2"|visible<br />
|true<br />
|when the modem is sending a message<br />
|-<br />
|false<br />
|when the modem is not sending a message<br />
<br />
|-<br />
<br />
|rowspan="2"|error.label<br />
|rowspan="2"|visible<br />blink<br />
|true<br />
|for 5 seconds after there’s been an error sending a message<br />
|-<br />
|false<br />
|default value<br />
|}<br />
<br />
=== USER Commands ===<br />
<br />
{| class="wikitable"<br />
!UI Object<br />
!ID<br />
|-<br />
|[[input]]<br />
|<ioserver_id>.sms.number<br />
|-<br />
|[[input]]<br />
|<ioserver_id>.sms.text<br />
|-<br />
|[[submit]]<br />
|<ioserver_id>.sms.send<br />
|}<br />
<br />
From the resulting interface, digit the addressee number (or comma-separated list of numbers) in the input field with ID “<ioserver_id>.sms.number” and the body text in the input field “<ioserver_id>.sms.text”, then press the submit button.<br />
<br />
N.B. If the option 'countrycode' is used, then the country code will be automatically added to the numbers, unless the latter begins with a '+'.<br />
For instance, assuming the value of the option 'countrycode' is set to “39”, the addressee number “3480077000” will be automatically changed to “+393480077000”, while the number “+46765007700” will remain unchanged.<br />
If, on the other hand, no default country code has been specified, then the addressee numbers must always be provided prepending the country code.<br />
<br />
== PUK-locked SIM ==<br />
In case the SIM card used for the GSM modem is PUK-locked, it is required to provide the PUK code and a new PIN to set on the SIM card. To this end, create in the root folder of HSYCO a file named “<ioserver_id>.puk”, where <ioserver_id> is the ID of the corresponding I/O Server (e.g. “gsm.puk”). In this file add a single line containing the PUK code and the new PIN code separated by a comma, for instance:<br />
<pre><br />
12345678,1234<br />
</pre><br />
The file will be automatically deleted after it has been used by the I/O Server.<br />
<br />
== Examples ==<br />
=== Sending an SMS ===<br />
Assuming that we are sending an SMS at 12 o' clock to number 777123456 located in Italy (International prefix code: +39) and the option "countrycode" of the GSM IO server is not specified, this is the corresponding EVENTS programming declaration:<br />
<br />
time = 1200 : io gsm.sms.+39777123456 = "I'm sending and sms to the world"<br />
<br />
You can send multiple SMSs to different numbers using this syntax:<br />
<br />
time = 1200 : io gsm.sms.+39777123456 gsm.sms.+39777654321 = "I'm sending an sms to the world"<br />
<br />
=== Receiving an SMS ===<br />
Hsyco can receive SMSs through the GSM IO server and perform actions according to the text contained in the SMS.<br />
<br />
io gsm.sms.777123456 = "Help" : io gsm.sms.777123456 = "I accept the following commands: Open, Status"<br />
io gsm.sms.777123456 = "Open" : io knx.1/1/2 = 1, wait = 1, io knx.1/1/2 = 0<br />
<br />
== Release Notes ==<br />
=== 3.3.1 ===<br />
*fixed bug occurring when sending messages containing the '=' character<br />
*minor fixes to the sms UI object<br />
<br />
=== 3.3.0 ===<br />
*added “resend” server option<br />
*improved AT commands compatibility<br />
*added PUK-unlock functionality<br />
=== 3.2.1 ===<br />
*added “srvc” server option<br />
*bug fix: user.IOStartupEvent() was not called at startup<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''GenPro 16e, GenPro 18e, and Erco&Gener are registered trademarks of Erco&Gener.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=GSM&diff=5248GSM2014-10-24T10:28:15Z<p>Manuela: </p>
<hr />
<div>This I/O Server provides services for sending and receiving SMSs and events generation for incoming calls via serial GSM modem.<br />
<br />
The employed protocol complies with the AT commands set specified by the GSM standard set. It has been tested on the GenPro 16e and GenPro 18e modems by Erco&Gener and on the AirLink FXT009 modem by Sierra Wireless.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
Employ a RS-232 straight cable to connect the modem directly to HSYCO or to an Ethernet/RS-232 gateway.<br />
<br />
RS-232 parameters:<br />
{| class="wikitable"<br />
| rowspan="3" |'''Baud rate'''<br />
| 9600 (GenPro modems)<br />
|-<br />
| 115200 (default on AirLink FXT009 modems)<br />
|-<br />
| 115200 (default on Teleorigin modem)<br />
|-<br />
| '''Data bits'''<br />
| 8<br />
|-<br />
| '''Stop bit'''<br />
| 1<br />
|-<br />
| '''Parity'''<br />
| none<br />
|-<br />
| '''Flow control'''<br />
| RTS/CTS<br />
|}<br />
<br />
== HSYCO Configuration ==<br />
Add a GSM I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''Comm ID''': select the comm port the device is connected to.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|pin<br />
|<br />
|<nowiki><code></nowiki><br />
|4-digits PIN code of the SIM card (if used)<br />
<br />
|-<br />
<br />
|rowspan="2"|gui<br />
|rowspan="2"|true<br />
|true<br />
|enable support for the UI object, UISET actions and USER commands<br />
|-<br />
|false<br />
|disable UI support<br />
<br />
|-<br />
<br />
|inboxsize<br />
|10<br />
|n &ge; 0<br />
|the number of incoming messages to display in the UI object<br />
<br />
|-<br />
<br />
|countrycode<br />
|<br />
|<nowiki><code></nowiki><br />
|the default country code (e.g. “39”, for Italy) to be used when not otherwise specified. If omitted all provided numbers shall include the country code<br />
<br />
<br />
|-<br />
<br />
|srvc<br />
|<br />
|<number><br />
|phone number of the SMS service center (use the international format, e.g. +393492000200). If not specified, the default number saved on the SIM card will be used. If not available, the driver will not be able to send SMS messages<br />
<br />
|-<br />
<br />
|resend<br />
|4<br />
|n &ge; 0<br />
|number of sending attempts on an outgoing SMS in case of error<br />
<br />
|}<br />
<br />
== Datapoints ==<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|connection established<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can't connect to the modem<br />
<br />
|-<br />
<br />
|rowspan="2"|sms.<num><br />
|rowspan="2"|<text><br />
|R<br />
|an SMS message has been received form the number <num><sup>[[#note2|[Note 2]]]</sup> with <text> as body<br />
|-<br />
|W<br />
|send an SMS message to the number <num><sup>[[#note1|[Note 1]]]</sup> with <text> as body<br />
<br />
|-<br />
<br />
|rowspan="2"|call<br />
|<num><br />
|R<br />
|incoming call from number <num><sup>[[#note2|[Note 2]]]</sup> in progress. An event is generated for each “ring” during the call<br />
|-<br />
|unknown<br />
|R<br />
|incoming call from an unknown number in progress<br />
<br />
|-<br />
<br />
|style="white-space:nowrap" |sms.<num>.sent<br />
|<mr><br />
|R<br />
|a message has been successfully sent to the number <num> and the message reference number is <mr><br />
<br />
|-<br />
<br />
|style="white-space:nowrap" | sms.<num>.errors<br />
|<val><br />
|R<br />
|an error occurred while sending a message to number <num>. The value <val> is an increasing counter of the occurred errors since the I/O Server started<br />
<br />
|-<br />
<br />
|rowspan="2"|signal<br />
|{0 ... 31}<br />
|R<br />
|the GSM signal level has the reported value (ranging from 0 to 31)<br />
|-<br />
|unknown<br />
|R<br />
|the GSM signal level is unknown<br />
<br />
|-<br />
<br />
|}<br />
<br />
<span id="note1"><br />
;Note 1 : If the option 'countrycode' is used, then the country code will be automatically added to the specified numbers, unless the latter begins with a '+' character. For instance, assuming the option 'countrycode' is set to “39”, the addressee number “3480077000” will be automatically changed to “+393480077000”, while the number “+46765007700” will remain unchanged. If, on the other hand, no default country code has been specified, then the addressee numbers must always be provided prepending the country code.<br />
</span><br />
<br />
<span id="note2"><br />
;Note 2 : The numbers are reported as sent from the modem and the format may vary depending on the number itself and the modem settings. If the reported number is an international number, then a '+' will be prepended to it, unless the country code is equal to the value of the 'countrycode' option. In the last case the country code will be omitted. In some cases, the sender number field might also be replaced by an alphanumeric string.<br />
</span><br />
<br />
== User Interface ==<br />
<br />
=== SMS Object ===<br />
<br />
{{:SMS_(UI Object)}}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|inbox<br />
|value<br />
|colspan="2"|latest incoming SMS messages (as many as specified by the 'inboxsize' option)<br />
<br />
|-<br />
<br />
|rowspan="2"|connection.label.online<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint connection = online<br />
|-<br />
|false<br />
|when datapoint connection = offline<br />
<br />
|-<br />
<br />
|rowspan="2"|connection.label.offline<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint connection = offline<br />
|-<br />
|false<br />
|when datapoint connection = online<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.0<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is equal to 0<br />
|-<br />
|false<br />
|when the GSM signal level is not 0<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.1<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is between 1 and 8<br />
|-<br />
|false<br />
|when the GSM signal level is not between 1 and 8<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.2<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is between 9 and 16<br />
|-<br />
|false<br />
|when the GSM signal level is not between 9 and 16<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.3<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is between 17 and 24<br />
|-<br />
|false<br />
|when the GSM signal level is not between 17 and 24<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.4<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is above 24<br />
|-<br />
|false<br />
|when the GSM signal level is below 25<br />
<br />
|-<br />
<br />
|rowspan="2"|signal.label.unknown<br />
|rowspan="2"|visible<br />
|true<br />
|when the GSM signal level is unknown<br />
|-<br />
|false<br />
|when the GSM signal level is known<br />
<br />
|-<br />
<br />
|rowspan="2"|sending.label<br />
|rowspan="2"|visible<br />
|true<br />
|when the modem is sending a message<br />
|-<br />
|false<br />
|when the modem is not sending a message<br />
<br />
|-<br />
<br />
|rowspan="2"|error.label<br />
|rowspan="2"|visible<br />blink<br />
|true<br />
|for 5 seconds after there’s been an error sending a message<br />
|-<br />
|false<br />
|default value<br />
|}<br />
<br />
=== USER Commands ===<br />
<br />
{| class="wikitable"<br />
!UI Object<br />
!ID<br />
|-<br />
|[[input]]<br />
|<ioserver_id>.sms.number<br />
|-<br />
|[[input]]<br />
|<ioserver_id>.sms.text<br />
|-<br />
|[[submit]]<br />
|<ioserver_id>.sms.send<br />
|}<br />
<br />
From the resulting interface, digit the addressee number (or comma-separated list of numbers) in the input field with ID “<ioserver_id>.sms.number” and the body text in the input field “<ioserver_id>.sms.text”, then press the submit button.<br />
<br />
N.B. If the option 'countrycode' is used, then the country code will be automatically added to the numbers, unless the latter begins with a '+'.<br />
For instance, assuming the value of the option 'countrycode' is set to “39”, the addressee number “3480077000” will be automatically changed to “+393480077000”, while the number “+46765007700” will remain unchanged.<br />
If, on the other hand, no default country code has been specified, then the addressee numbers must always be provided prepending the country code.<br />
<br />
== PUK-locked SIM ==<br />
In case the SIM card used for the GSM modem is PUK-locked, it is required to provide the PUK code and a new PIN to set on the SIM card. To this end, create in the root folder of HSYCO a file named “<ioserver_id>.puk”, where <ioserver_id> is the ID of the corresponding I/O Server (e.g. “gsm.puk”). In this file add a single line containing the PUK code and the new PIN code separated by a comma, for instance:<br />
<pre><br />
12345678,1234<br />
</pre><br />
The file will be automatically deleted after it has been used by the I/O Server.<br />
<br />
== Examples ==<br />
=== Sending an SMS ===<br />
Assuming that we are sending an SMS at 12 o' clock to number 777123456 located in Italy (International prefix code: +39) and the option "countrycode" of the GSM IO server is not specified, this is the corresponding EVENTS programming declaration:<br />
<br />
time = 1200 : io gsm.sms.+39777123456 = "I'm sending and sms to the world"<br />
<br />
You can send multiple SMSs to different numbers using this syntax:<br />
<br />
time = 1200 : io gsm.sms.+39777123456 gsm.sms.+39777654321 = "I'm sending an sms to the world"<br />
<br />
=== Receiving an SMS ===<br />
Hsyco can receive SMSs through the GSM IO server and perform actions according to the text contained in the SMS.<br />
<br />
io gsm.sms.777123456 = "Help" : io gsm.sms.777123456 = "I accept the following commands: Open, Status"<br />
io gsm.sms.777123456 = "Open" : io knx.1/1/2 = 1, wait = 1, io knx.1/1/2 = 0<br />
<br />
== Release Notes ==<br />
=== 3.3.1 ===<br />
*fixed bug occurring when sending messages containing the '=' character<br />
*minor fixes to the sms UI object<br />
<br />
=== 3.4.0 ===<br />
*added “resend” server option<br />
*improved AT commands compatibility<br />
*added PUK-unlock functionality<br />
=== 3.2.1 ===<br />
*added “srvc” server option<br />
*bug fix: user.IOStartupEvent() was not called at startup<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''GenPro 16e, GenPro 18e, and Erco&Gener are registered trademarks of Erco&Gener.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Hidedgesolo&diff=5247Hidedgesolo2014-10-24T10:27:48Z<p>Manuela: </p>
<hr />
<div>The [http://www.hidglobal.com HID Edge Solo] '''ESR40, ESRP40, ES400''' are single-door IP access control solutions. <br />
<br />
This I/O Server allows the integration of HID Edge Solo devices by using a TCP/IP connection. <br />
<br />
More than one device can be controlled at the same time.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== HID Edge Solo Configuration ==<br />
<br />
The HID Edge Solo can be connected to a POE switch or to a normal ethernet switch. In this case the power supply must be provided with an external adapter.<br />
First of all, assign a static IP address to the Edge Solo, then it’s mandatory to disable the SSL/TLS encryption in the installer settings interface.<br />
<br />
[[File:hidedgesolo1.png]]<br />
<br />
== HSYCO Configuration ==<br />
Add an HIDEDGESOLO I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address configured on the device<br />
*'''IP Port''': TCP/IP port to use, leave blank for default port 80.<br />
<br />
=== Authentication ===<br />
*'''User''': username set in the installer settings<br />
*'''Password''': password set in the installer settings.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true.<br />
<br />
== Datapoints ==<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|connection established<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can't connect to the panel<br />
|-<br />
|card.notfound<br />
|<nowiki><code></nowiki><br />
|R<br />
|badge <nowiki><code></nowiki> not found<br />
|-<br />
|pin.notfound<br />
|<pin><br />
|R<br />
|<pin> not found<br />
|-<br />
|access.granted<br />
|<surname><br />
|R<br />
|access granted to the user with surname <surname><br />
|-<br />
|access.granted.extended<br />
|<surname><br />
|R<br />
|access granted extended to the user with surname <surname><br />
|-<br />
|access.denied.schedule<br />
|<surname><br />
|R<br />
|access denied because badge/pin of the user <surname> was used outside scheduled time interval<br />
|-<br />
|access.denied.expired<br />
|<surname><br />
|R<br />
|access denied because badge/pin of the user <surname> is expired<br />
|-<br />
|card.notassigned<br />
|<nowiki><code></nowiki><br />
|R<br />
|access denied because the badge <nowiki><code></nowiki> is not assigned to an user. <br />
|-<br />
|access.denied.pin.expired<br />
|<surname><br />
|R<br />
|access denied because the pin assigned to the user <surname> is expired<br />
|-<br />
|rowspan="2" |alarm.acknowledged<br />
|0<br />
|R<br />
|alarms reset<br />
|-<br />
|1<br />
|R<br />
|normal conditions<br />
|-<br />
|rowspan="2" |door.lock.schedule<br />
|false<br />
|R<br />
|normal conditions<br />
|-<br />
|true<br />
|R<br />
|door locked with a scheduled command<br />
|-<br />
|rowspan="2" |door.unlock.schedule<br />
|false<br />
|R<br />
|normal conditions<br />
|-<br />
|true<br />
|R<br />
|door unlocked with a scheduled command<br />
|-<br />
|rowspan="2" |alarm.door.forced<br />
|unset<br />
|R<br />
|normal conditions<br />
|-<br />
|set<br />
|R<br />
|door forced alarm<br />
|-<br />
|rowspan="2" |alarm.tamper<br />
|unset<br />
|R<br />
|normal conditions<br />
|-<br />
|set<br />
|R<br />
|tamper alarm<br />
|-<br />
|rowspan="2" |access.granted.manual<br />
|false<br />
|R<br />
|normal conditions<br />
|-<br />
|true<br />
|R<br />
|manual access granted<br />
|-<br />
|rowspan="2" |door.unlock<br />
|false<br />
|R<br />
|normal conditions<br />
|-<br />
|true<br />
|R<br />
|door unlocked<br />
|-<br />
|rowspan="2" |state.alarm.tamper<br />
|unset<br />
|R<br />
|normal conditions<br />
|-<br />
|set<br />
|R<br />
|tamper alarm<br />
|-<br />
|rowspan="2" |state.alarm.ac<br />
|unset<br />
|R<br />
|normal conditions<br />
|-<br />
|set<br />
|R<br />
|power supply failure<br />
|-<br />
|rowspan="2" |state.alarm.battery<br />
|unset<br />
|R<br />
|normal conditions<br />
|-<br />
|set<br />
|R<br />
|battery failure<br />
|-<br />
|rowspan="2" |state.alarm.door.held<br />
|unset<br />
|R<br />
|normal conditions<br />
|-<br />
|set<br />
|R<br />
|door held<br />
|-<br />
|rowspan="2" |state.alarm.door.held<br />
|unset<br />
|R<br />
|normal conditions<br />
|-<br />
|set<br />
|R<br />
|door held<br />
|-<br />
|rowspan="2" |state.alarm.door.forced<br />
|unset<br />
|R<br />
|normal conditions<br />
|-<br />
|set<br />
|R<br />
|door forced<br />
|-<br />
|state.name<br />
|<name><br />
|R<br />
|the door's name<br />
|-<br />
|rowspan="2" |state.relay<br />
|unset<br />
|R<br />
|door relay closed<br />
|-<br />
|set<br />
|R<br />
|door relay open<br />
|-<br />
|rowspan="2" |state.relay.alert<br />
|unset<br />
|R<br />
|alert relay not active<br />
|-<br />
|set<br />
|R<br />
|alert relay active<br />
|-<br />
|rowspan="2" |state.relay.aux<br />
|unset<br />
|R<br />
|aux relay not active<br />
|-<br />
|set<br />
|R<br />
|aux relay active<br />
|-<br />
|command.access<br />
|grant<br />
|W<br />
|grant the access<br />
|-<br />
|rowspan="2" |command.door<br />
|lock<br />
|W<br />
|lock the door<br />
|-<br />
|unlock<br />
|W<br />
|unlock the door<br />
|-<br />
|command.alarm<br />
|stop<br />
|W<br />
|alarms reset<br />
|}<br />
<br />
== Release Notes ==<br />
=== 3.4.0 ===<br />
*added support for two readers door controller<br />
<br />
=== 3.0.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''HID is a registered trademark of HID Global.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Bentel&diff=5246Bentel2014-10-24T10:27:26Z<p>Manuela: </p>
<hr />
<div>The Bentel KYO320 is an advanced, multi-area security system integrated HSYCO.<br />
<br />
The KYO320 driver in HSYCO supports the integration of more than one KYO320 unit on the same HSYCO SERVER.<br />
<br />
The integration with HSYCO can be accomplished through the standard RS-232 port on the KYO320’s motherboard.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
Employ a DE-9 (often called DB-9) female-female RS-232 crossed cable to connect the RS-232 KYO port to the serial port on HSYCO SERVER. The cable must follow this pinout diagram:<br />
<br />
2 &harr; 3<br />
3 &harr; 2<br />
5 &harr; 5<br />
<br />
RS-232 parameters:<br />
{| class="wikitable"<br />
| '''Baud rate'''<br />
| same as defined on the KYO320 (usually 9600, 38400 or 57600)<br />
|-<br />
| '''Data bits'''<br />
| 8<br />
|-<br />
| '''Stop bit'''<br />
| 1<br />
|-<br />
| '''Parity'''<br />
| even<br />
|-<br />
| '''Flow control'''<br />
| none<br />
|}<br />
<br />
== HSYCO Configuration ==<br />
Add a BENTEL I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''Comm ID''': select the comm port connected to the panel.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|gui<br />
|rowspan="2"|true<br />
|true<br />
|enable support for the UI object, UISET actions and USER commands<br />
|-<br />
|false<br />
|disable UI support<br />
|-<br />
<br />
|rowspan="2"|language<br />
|rowspan="2"|system language<br />
|en<br />
|rowspan="2"|language of log and display messages. Supported values are it and en<br />
|-<br />
|it<br />
|-<br />
<br />
|rowspan="2"|zoneactivitylog<br />
|rowspan="2"|false<br />
|true<br />
|logs the open/close status of zones in the log page and security.log files<br />
|-<br />
|false<br />
|disable zone status log<br />
|-<br />
<br />
|code<br />
|<br />
|<code><br />
|the user code to be used when sending IO commands to the KYO, if code is not explicitly set in the command<br />
|-<br />
<br />
|logsize<br />
|50<br />
|n &ge; 0<br />
|the number of log lines to display in the UI object<br />
|-<br />
<br />
|polltime<br />
|1000<br />
|n &ge; 0<br />
|the data polling interval, in milliseconds. Shorter time improve the response of the system, but increase the load on the CPU of both HSYCO and the KYO system<br />
|-<br />
|}<br />
<br />
=== bentel.ini ===<br />
<br />
The bentel.ini file is an optional configuration file located in the main directory (same directory as hsyco.ini or hsyco.jar) and used to define zones and partitions names. If defined, these names will be used instead of the original numbers in the log files and the bentel GUI object. <br />
<br />
The bentel.ini is automatically detected at start-up. Changes to this file become effective when the I/O Server is restarted.<br />
<br />
For each zone or partition, enter a line formatted as:<br />
<br />
<pre><br />
<io_server_id>.zone.<n> = <name><br />
<io_server_id>.area.<n> = <name><br />
</pre><br />
<br />
For instance:<br />
<br />
<pre><br />
kyo.zone.1 = kitchen<br />
kyo.zone.2 = garage<br />
kyo.area.1 = basement<br />
kyo.area.2 = second floor<br />
</pre><br />
<br />
== Datapoints ==<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|connection established<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can't connect to the panel<br />
|-<br />
<br />
|rowspan="2" |system.fault<br />
|1<br />
|R<br />
|general system fault<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |system.batteryfault<br />
|1<br />
|R<br />
|general battery fault<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |system.lowbattery<br />
|1<br />
|R<br />
|low battery<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |system.nobattery<br />
|1<br />
|R<br />
|low battery<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |system.nopower<br />
|1<br />
|R<br />
|general no AC power fault<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |system.tamper<br />
|1<br />
|R<br />
|general tamper condition (central unit, zones, modules)<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |system.radiofault<br />
|1<br />
|R<br />
|general radio modules fault<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |system.radiolowbattery<br />
|1<br />
|R<br />
|radio modules low battery<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |system.duress<br />
|1<br />
|R<br />
|duress status<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |system.maintenance<br />
|1<br />
|R<br />
|maintenance mode<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |zone.<n>.disabled<br />
|1<br />
|R<br />
|zone <n> disabled<br />
|-<br />
|0<br />
|R<br />
|zone <n> enabled<br />
|-<br />
<br />
|rowspan="2" |zone.<n>.alarm<br />
|1<br />
|R<br />
|zone <n> alarm<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |zone.<n>.tamper<br />
|1<br />
|R<br />
|zone <n> tamper alarm<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="4" |zone.<n><br />
|enable<br />
|W<br />
|enable zone <n> using default code<br />
|-<br />
|disable<br />
|W<br />
|disable zone <n> using default code<br />
|-<br />
|enable.<c><br />
|W<br />
|enable zone <n> using code <c><br />
|-<br />
|disable.<c><br />
|W<br />
|disable zone <n> using code <c><br />
|-<br />
<br />
|rowspan="2" |partition.<n>.armed<br />
|1<br />
|R<br />
|area <n> is armed (any mode)<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |partition.<n>.disarmed<br />
|1<br />
|R<br />
|area <n> is not armed<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |partition.<n>.away<br />
|1<br />
|R<br />
|area <n> away mode<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |partition.<n>.stay<br />
|1<br />
|R<br />
|area <n> stay mode<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |partition.<n>.staynodelay<br />
|1<br />
|R<br />
|area <n> stay no delay mode<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2" |partition.<n>.alarm<br />
|1<br />
|R<br />
|area <n> alarm memory<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="8" |partition.<n><br />
|away<br />
|W<br />
|arm area <n> using default code<br />
|-<br />
|disarm<br />
|W<br />
|disarm area <n> using default code<br />
|-<br />
|stay<br />
|W<br />
|stay arm area <n> using default code<br />
|-<br />
|staynodelay<br />
|W<br />
|instant stay arm area <n> using default code<br />
|-<br />
|away.<c><br />
|W<br />
|arm area <n> using code <c><br />
|-<br />
|disarm.<c><br />
|W<br />
|disarm area <n> using code <c><br />
|-<br />
|stay.<c><br />
|W<br />
|stay arm area <n> using code <c><br />
|-<br />
|staynodelay.<c><br />
|W<br />
|instant stay arm area <n> using code <c><br />
|-<br />
<br />
|rowspan="4" |out.<n><br />
|off<br />
|W<br />
|turn off output <n> using default code<br />
|-<br />
|on<br />
|W<br />
|turn on output <n> using default code<br />
|-<br />
|off.<c><br />
|W<br />
|turn off output <n> using code <c><br />
|-<br />
|on.<c><br />
|W<br />
|turn on output <n> using code <c><br />
|-<br />
<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== Bentel Object ===<br />
<br />
{{:Bentel_(UI Object)}}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|areas <br />
|value<br />
|the status of all partitions<br />
|-<br />
<br />
|log0 <br />
|value<br />
|the latest entry of the security log for a short period<br />
|-<br />
<br />
|logs<br />
|value<br />
|the latest entries of the security log (as many as specified in hsyco.ini)<br />
|-<br />
<br />
|zones<br />
|value<br />
|the status of all known zones (zones are added to this list as soon as an event is detected on a zone)<br />
|-<br />
<br />
|connection.label.online <br />
|visible <br />
|true when the panel is connected to HSYCO, false otherwise<br />
|-<br />
<br />
|connection.label.offline <br />
|visible <br />
|true when the panel is not connected to HSYCO, false otherwise<br />
|-<br />
<br />
|partition.<n>.label.alarm <br />
|visible <br />
|true when partition <n> alarm is active, false otherwise<br />
|-<br />
<br />
|partition.<n>.label.armed <br />
|visible <br />
|true when partition <n> is armed, false otherwise<br />
|-<br />
<br />
|partition.<n>.label.disarmed <br />
|visible <br />
|true when partition <n> is disarmed, false otherwise<br />
|-<br />
<br />
|partition.<n>.label.away <br />
|visible <br />
|true when partition <n> is armed in away mode, false otherwise<br />
|-<br />
<br />
|partition.<n>.label.stay<br />
|visible <br />
|true when partition <n> is armed in stay mode, false otherwise<br />
|-<br />
<br />
|partition.<n>.label.staynodelay <br />
|visible <br />
|true when partition <n> is armed in stay no delay mode, false otherwise<br />
|-<br />
<br />
|zone.<n>.label.alarm<br />
|visible <br />
|true when zone <n> alarm is active<br />
|-<br />
<br />
|zone.<n>.label.tamper<br />
|visible<br />
|true when zone <n> tamper alarm is active<br />
|-<br />
<br />
|zone.<n>.label.disabled <br />
|visible <br />
|true when zone <n> is disabled <br />
|-<br />
|}<br />
<br />
== Log Files ==<br />
<br />
A permanent record of all the events shown in the log page is saved in a file called security.log in the logs/YYYY directory for the current year.<br />
<br />
This file is never overwritten or deleted by HSYCO.<br />
<pre><br />
2014.07.30 20:09:21.760 - SECOND FLOOR - ARMED<br />
2014.07.30 20:09:21.763 - SECOND FLOOR - AWAY<br />
2014.07.30 20:10:02.364 - [2] GARAGE - OPEN<br />
2014.07.30 20:10:04.779 - [2] GARAGE - OK<br />
2014.07.30 20:10:06.167 - BASEMENT - ALARM<br />
2014.07.30 20:10:48.477 - BASEMENT - DISARMED<br />
2014.07.30 20:10:48.481 - SECOND FLOOR - DISARMED<br />
2014.07.30 20:39:31.326 - ZONE 281 - OPEN<br />
2014.07.30 20:39:36.708 - ZONE 281 - OK<br />
2014.07.30 20:40:41.571 - AC POWER - FAULT<br />
2014.07.30 20:49:58.945 - ZONE 281 - OPEN<br />
2014.07.30 20:50:04.181 - ZONE 281 - OK<br />
2014.07.30 20:50:11.559 - AC POWER - OK<br />
</pre><br />
<br />
Other information related to the Bentel KYO driver are saved in the daily message.log files.<br />
<br />
== Release Notes ==<br />
=== 3.4.0 ===<br />
*partition buttons (P1-P12) are now automatically highlighted on armed areas<br />
*fixes to the (bentel) object<br />
<br />
=== 3.3.0 ===<br />
*Bentel KYO driver converted to I/O Server<br />
*Java API write command methods are now obsolete and deprecated, replaced by IO write commands<br />
*new (bentel) object<br />
=== 2.0.0 ===<br />
*full integration within HSYCO 2.9.0<br />
=== 1.1.0 ===<br />
*change to the status polling thread to improve recovery time after transient communication problems<br />
<br />
----<br />
<br />
<br />
''Bentel, KYO and KYO320 are registered trademarks of BENTEL SECURITY SRL.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Guardall&diff=5245Guardall2014-10-24T10:27:00Z<p>Manuela: </p>
<hr />
<div>Guardall QX32i, PX80 and PX500 are multi-area security systems. The integration with HSYCO can be accomplished via direct control through the RS-232 port on the panel.<br />
The I/O Server supports QX32i, PX80 and PX500 Guardall units with software version 4.33.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
Employ a female-female RS-232 crossed cable to connect the panel directly to HSYCO or to an Ethernet/RS-232 gateway.<br />
The cable must follow this pinout diagram:<br />
<br />
2 &harr; 3<br />
3 &harr; 2<br />
5 &harr; 5<br />
7 &harr; 8<br />
8 &harr; 7<br />
<br />
RS-232 parameters:<br />
{| class="wikitable"<br />
| '''Baud rate'''<br />
| 9600<br />
|-<br />
| '''Data bits'''<br />
| 8<br />
|-<br />
| '''Stop bit'''<br />
| 1<br />
|-<br />
| '''Parity'''<br />
| none<br />
|-<br />
| '''Flow control'''<br />
| none<br />
|}<br />
<br />
== Guardall Configuration ==<br />
<br />
You must configure the unit to enable serial communication even if the system is armed. Digit the technician code on the keypad and select menu entry "99" (Total Configuration), then select entry “10” (Communication) and make sure that the serial connection is enabled when the system is armed (on).<br />
<br />
Moreover, it is necessary to enable the required features to be available remotely. To this end, from the technician’s menu, select again menu entry “99”, then “12”. Here enter the number 1 and modify the settings accordingly to your requirements.<br />
<br />
== HSYCO Configuration ==<br />
Add a Guardall I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''Comm ID''': select the comm port connected to the panel.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2"|gui<br />
|rowspan="2"|true<br />
|true<br />
|enable support for the UI object, UISET actions and USER commands<br />
|-<br />
|false<br />
|disable UI support<br />
<br />
|-<br />
<br />
|rowspan="2"|startupevents<br />
|rowspan="2"|false<br />
|true<br />
|generate IO events also during the driver’s start-up phase<br />
|-<br />
|false<br />
|start generating events only after HSYCO is aligned with the current status of the system<br />
<br />
|-<br />
<br />
|logsize<br />
|20<br />
|n &ge; 0<br />
|the number of log lines to display in the UI object<br />
<br />
|-<br />
<br />
|rowspan="2"|arm<br />
|rowspan="2"|true<br />
|true<br />
|allow groups arming<br />
|-<br />
|false<br />
|deny groups arming<br />
<br />
|-<br />
<br />
|rowspan="2"|disarm<br />
|rowspan="2"|true<br />
|true<br />
|allow groups disarming<br />
|-<br />
|false<br />
|deny groups disarming<br />
<br />
|-<br />
<br />
|rowspan="2"|fastpolling<br />
|rowspan="2"|false<br />
|true<br />
|perform a faster polling, required for big installations<br />
|-<br />
|false<br />
|normal polling performed<br />
<br />
|}<br />
<br />
=== guardall.ini ===<br />
<br />
The guardall.ini file is a specific configuration file located in the root directory.<br />
Here you can define the names of the groups so that they will be automatically added to the user interface. Add a new line for each group using this format:<br />
<br />
<pre><br />
<io_server_id>.group.<n> = <name><br />
</pre><br />
<br />
For instance:<br />
<br />
<pre><br />
guard.group.1 = Kitchen<br />
guard.group.2 = Living room<br />
</pre><br />
<br />
== Datapoints ==<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |connection<br />
|online<br />
|R<br />
|connection established<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can't connect to the panel<br />
<br />
|-<br />
<br />
|rowspan="4" |armed<br />
|rowspan="2" |0<br />
|R<br />
|all groups are disarmed<br />
|-<br />
|W<br />
|disarm all groups<br />
|-<br />
|rowspan="2" |1<br />
|R<br />
|the system is (partially) armed<br />
|-<br />
|W<br />
|arm all groups<br />
<br />
|-<br />
<br />
|rowspan="2" |alarm<br />
|0<br />
|R<br />
|the system is not in a alarm state<br />
|-<br />
|1<br />
|R<br />
|the system is in a alarm state<br />
<br />
|-<br />
<br />
|rowspan="2" |tamper<br />
|0<br />
|R<br />
|the system is not in a tamper state<br />
|-<br />
|1<br />
|R<br />
|the system is in a tamper state<br />
<br />
|-<br />
<br />
|rowspan="2" |panel.tamper<br />
|0<br />
|R<br />
|the panel is not tampered<br />
|-<br />
|1<br />
|R<br />
|the panel is tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |bell.tamper<br />
|0<br />
|R<br />
|the bell is not tampered<br />
|-<br />
|1<br />
|R<br />
|the bell is tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |low.volts<br />
|0<br />
|R<br />
|voltage ok<br />
|-<br />
|1<br />
|R<br />
|low voltage detected<br />
<br />
|-<br />
<br />
|rowspan="2" |sounder<br />
|0<br />
|R<br />
|the sounder is inactive<br />
|-<br />
|1<br />
|R<br />
|the sounder is active<br />
<br />
|-<br />
<br />
|rowspan="2" |audio<br />
|0<br />
|R<br />
|the audio signal of the panel is inactive<br />
|-<br />
|1<br />
|R<br />
|the audio signal of the panel is active<br />
<br />
|-<br />
<br />
|rowspan="2" |strobe<br />
|0<br />
|R<br />
|the strobe is inactive<br />
|-<br />
|1<br />
|R<br />
|the strobe is active<br />
<br />
|-<br />
<br />
|rowspan="2" |mains.fail<br />
|0<br />
|R<br />
|no mains fail<br />
|-<br />
|1<br />
|R<br />
|mains fail<br />
<br />
|-<br />
<br />
|rowspan="2" |power.fail<br />
|0<br />
|R<br />
|no power fail<br />
|-<br />
|1<br />
|R<br />
|power fail<br />
<br />
|-<br />
<br />
|rowspan="2" |battery.fail<br />
|0<br />
|R<br />
|no battery fail<br />
|-<br />
|1<br />
|R<br />
|battery fail<br />
<br />
|-<br />
<br />
|rowspan="2" |fuse.1.fault<br />
|0<br />
|R<br />
|fuse 1 is working<br />
|-<br />
|1<br />
|R<br />
|fuse 1 in fault<br />
<br />
|-<br />
<br />
|rowspan="2" |fuse.2.fault<br />
|0<br />
|R<br />
|fuse 2 is working<br />
|-<br />
|1<br />
|R<br />
|fuse 2 in fault<br />
<br />
|-<br />
<br />
|rowspan="2" |fuse.3.fault<br />
|0<br />
|R<br />
|fuse 3 is working<br />
|-<br />
|1<br />
|R<br />
|fuse 3 in fault<br />
<br />
|-<br />
<br />
|rowspan="2" |line.fault<br />
|0<br />
|R<br />
|communication line is working<br />
|-<br />
|1<br />
|R<br />
|communication line in fault<br />
<br />
|-<br />
<br />
|c<n>.name<br />
|<text><br />
|R<br />
|the name of circuit <n> is set to <text><br />
<br />
|-<br />
<br />
|g<n>.name<br />
|<text><br />
|R<br />
|the name of group <n> is set to <text><br />
<br />
|-<br />
<br />
|rowspan="4" |g<n>.armed<br />
|rowspan="2" |0<br />
|R<br />
|group <n> is disarmed<br />
|-<br />
|W<br />
|disarm group <n><br />
|-<br />
|rowspan="2" |1<br />
|R<br />
|group <n> is armed<br />
|-<br />
|W<br />
|arm group <n><br />
<br />
|-<br />
<br />
|rowspan="2" |c<n>.alarm<br />
|0<br />
|R<br />
|circuit <n> is not in alarm state<br />
|-<br />
|1<br />
|R<br />
|circuit <n> is in alarm state<br />
<br />
|-<br />
<br />
|rowspan="2" |c<n>.tamper.alarm<br />
|0<br />
|R<br />
|circuit <n> is not in tamper alarm<br />
|-<br />
|1<br />
|R<br />
|circuit <n> is in tamper alarm<br />
<br />
|-<br />
<br />
|rowspan="2" |c<n>.open<br />
|0<br />
|R<br />
|circuit <n> is closed<br />
|-<br />
|1<br />
|R<br />
|circuit <n> is open<br />
<br />
|-<br />
<br />
|rowspan="2" |c<n>.tamper<br />
|0<br />
|R<br />
|circuit <n> is not tampered<br />
|-<br />
|1<br />
|R<br />
|circuit <n> is tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |c<n>.fault<br />
|0<br />
|R<br />
|circuit <n> is working properly<br />
|-<br />
|1<br />
|R<br />
|circuit <n> is faulty<br />
<br />
|-<br />
<br />
|rowspan="4" |c<n>.bypassed<br />
|rowspan="2" |0<br />
|R<br />
|circuit <n> is not bypassed<br />
|-<br />
|W<br />
|unbypass circuit <n><br />
|-<br />
|rowspan="2" |1<br />
|R<br />
|circuit <n> is bypassed<br />
|-<br />
|W<br />
|bypass circuit <n><br />
<br />
|-<br />
<br />
|rowspan="4" |c<n>.isolated<br />
|rowspan="2" |0<br />
|R<br />
|circuit <n> is not isolated<br />
|-<br />
|W<br />
|un-isolate circuit <n><br />
|-<br />
|rowspan="2" |1<br />
|R<br />
|circuit <n> is isolated<br />
|-<br />
|W<br />
|isolate circuit <n><br />
<br />
|-<br />
<br />
|rowspan="4" |c<n>.soaked<br />
|rowspan="2" |0<br />
|R<br />
|circuit <n> is not soaked<br />
|-<br />
|W<br />
|un-soak circuit <n><br />
|-<br />
|rowspan="2" |1<br />
|R<br />
|circuit <n> is soaked<br />
|-<br />
|W<br />
|soak circuit <n><br />
<br />
|-<br />
<br />
|c<n>.status<sup>[[#note1|[Note 1]]]</sup><br />
|[[#circuit_status_values|<status_values>]]<br />
|R<br />
|the status of circuit <n> is set to the reported values<br />
<br />
|-<br />
<br />
|c<n>.attributes<sup>[[#note1|[Note 1]]]</sup><br />
|[[#circuit_attributes_values|<attributes_values>]]<br />
|R<br />
|the attributes of circuit <n> are set to the reported values<br />
<br />
|-<br />
<br />
|rowspan="2" |c<n>.resistance<sup>[[#note1|[Note 1]]]</sup><br />
|<value><br />
|R<br />
|the measured resistance on circuit <n> is <value> ohm<br />
|-<br />
|>20k<br />
|R<br />
|the measured resistance on circuit <n> is greater than 20 K-ohm<br />
<br />
|-<br />
<br />
|rowspan="2" |k<n>.tamper<br />
|0<br />
|R<br />
|keypad <n> is not tampered<br />
|-<br />
|1<br />
|R<br />
|keypad <n> is tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |k<n>.fault<br />
|0<br />
|R<br />
|keypad <n> is working properly<br />
|-<br />
|1<br />
|R<br />
|keypad <n> is faulty<br />
<br />
|-<br />
<br />
|rowspan="2" |logon.<n><br />
|<user_num><br />
|R<br />
|user with number <user_num> logged in from keypad <n><br />
|-<br />
|error<br />
|R<br />
|wrong pin entered in keypad <n><br />
<br />
|-<br />
<br />
|system<br />
|reset<br />
|W<br />
|reset alarms<br />
<br />
|}<br />
<br />
<span id="note1"><br />
;Note 1 : These datapoint are available if the option fastpolling is not set to true<br />
</span><br />
<br />
{| class="wikitable" id="circuit_status_values"<br />
!colspan="2"|Circuit status values<br />
|-<br />
!Value<br />
!Description<br />
|-<br />
|A<br />
|alarm/open<br />
|-<br />
|B<br />
|alarm/open and tamper<br />
|-<br />
|E<br />
|latched alarm and tamper<br />
|-<br />
|M<br />
|marginal clear<br />
|-<br />
|m<br />
|marginal alarm<br />
|-<br />
|N<br />
|normal<br />
|-<br />
|T<br />
|tamper<br />
|-<br />
|L<br />
|latched alarm<br />
|-<br />
|F<br />
|fault/no answer<br />
|-<br />
|X<br />
|Auxiliary alarm<br />
|}<br />
<br />
{| class="wikitable" id="circuit_attributes_values"<br />
!colspan="2"|Circuit attributes values<br />
|-<br />
!Value<br />
!Description<br />
|-<br />
|B<br />
|bypassed circuit<br />
|-<br />
|I<br />
|isolated circuit<br />
|-<br />
|S<br />
|soak failed<br />
|-<br />
|T<br />
|soaked circuit<br />
|-<br />
|Y<br />
|temporarily bypassed circuit<br />
|-<br />
|Q<br />
|temporarily isolated circuit<br />
|-<br />
|H<br />
|circuit in shunt<br />
|-<br />
|A<br />
|existing circuit<br />
|-<br />
|M<br />
|multi-alarm<br />
|-<br />
|F<br />
|bank reset failed/door forced<br />
|-<br />
|L<br />
|locked<br />
|-<br />
|O<br />
|open<br />
|}<br />
<br />
Attributes can be combined together, for instance if a circuit is both isolated and bypassed, the attribute value will be “BI”.<br />
<br />
== User Interface ==<br />
<br />
=== Guardall Object ===<br />
<br />
{{:Guardall_(UI Object)}}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
|log<br />
|value<br />
|colspan="2"|latest security log lines (as many as specified by the 'logsize' option)<br />
|-<br />
|log0<br />
|value<br />
|colspan="2"|latest line of the security log when a new entry is added, set back to blank after a short period<br />
|-<br />
|c<n>.name<br />
|value<br />
|colspan="2"|name assigned to circuit <n> or its number if no name is defined<br />
|-<br />
|rowspan="2"|connection.label<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint connection = offline<br />
|-<br />
|false<br />
|when datapoint connection = online<br />
|-<br />
|rowspan="2"|<datapoint_id>.label.1<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint with ID <datapoint_id> has value '1'<br />
|-<br />
|false<br />
|when datapoint with ID <datapoint_id> has value '0'<br />
|-<br />
|rowspan="2"|<datapoint_id>.label.0<br />
|rowspan="2"|visible<br />
|true<br />
|when datapoint with ID <datapoint_id> has value '0'<br />
|-<br />
|false<br />
|when datapoint with ID <datapoint_id> has value '1'<br />
|}<br />
<br />
=== USER Commands ===<br />
<br />
{| class="wikitable"<br />
!Name<br />
!Param<br />
!Action<br />
<br />
|-<br />
<br />
|rowspan="2" |armed<br />
|0<br />
|disarm all groups<br />
|-<br />
|1<br />
|arm all groups<br />
<br />
|-<br />
<br />
|rowspan="2" |g<n>.armed<br />
|0<br />
|disarm group <n><br />
|-<br />
|1<br />
|arm group <n><br />
<br />
|-<br />
<br />
|rowspan="2" |c<n>.bypassed<br />
|0<br />
|unbypass zone <n><br />
|-<br />
|1<br />
|bypass zone <n><br />
<br />
|-<br />
<br />
|rowspan="2" |c<n>.isolated<br />
|0<br />
|un-isolate zone <n><br />
|-<br />
|1<br />
|isolate zone <n><br />
<br />
|-<br />
<br />
|rowspan="2" |c<n>.soaked<br />
|0<br />
|un-soak zone <n><br />
|-<br />
|1<br />
|soak zone <n><br />
<br />
|-<br />
<br />
|system<br />
|reset<br />
|reset alarms<br />
|-<br />
<br />
|rowspan="2" |input.bypassed<br />
|0<br />
|unbypass circuit<br />
|-<br />
|1<br />
|bypass circuit<br />
|-<br />
<br />
|rowspan="2" |input.isolated<br />
|0<br />
|un-isolate circuit<br />
|-<br />
|1<br />
|isolate circuit<br />
|-<br />
<br />
|rowspan="2" |input.soaked<br />
|0<br />
|un-soak circuit<br />
|-<br />
|1<br />
|soak circuit<br />
|-<br />
<br />
|}<br />
<br />
== Log Files ==<br />
If a Guardall anti-intrusion unit is connected to HSYCO, the security.log file will be written in the same directories as the daily log files.<br />
<br />
This file is never overwritten or deleted from HSYCO SERVER.<br />
<br />
<pre><br />
2014.02.22 11:23:08.118 - guard - 2116 2000.1.4 22:50:16 Area disinserita - Utente: 0, Area: 1<br />
2014.02.22 11:23:08.120 - guard - 2117 2000.1.4 22:50:16 Area disinserita - Utente: 0, Area: 2<br />
2014.02.22 11:23:13.204 - guard - 2118 2000.1.4 22:50:22 Gruppo inserito - Utente: 0, Gruppo: 2<br />
2014.02.22 11:23:13.205 - guard - 2119 2000.1.4 22:50:22 Area inserita - Utente: 0, Area: 1<br />
2014.02.22 11:23:13.222 - guard - 2120 2000.1.4 22:50:22 Area inserita - Utente: 0, Area: 2<br />
2014.02.22 11:23:16.449 - guard - 2121 2000.1.4 22:50:24 Gruppo disinserito - Utente: 0, Gruppo: 2<br />
2014.02.22 11:23:16.450 - guard - 2122 2000.1.4 22:50:24 Area disinserita - Utente: 0, Area: 1<br />
2014.02.22 11:23:16.451 - guard - 2123 2000.1.4 22:50:24 Area disinserita - Utente: 0, Area: 2<br />
</pre><br />
<br />
Other information about the Guardall driver are stored in the message.log daily file.<br />
<br />
== Release Notes ==<br />
=== 3.4.0 ===<br />
*fixed a timeout issue that could prevent proper startup with very large number of zones<br />
*added "fastpolling" server option<br />
=== 3.3.0 ===<br />
*added “logsize” server option<br />
*object modified<br />
*added guardall.ini configuration file<br />
=== 3.1.0 ===<br />
*added support for the PX80 panel<br />
*modified log messages<br />
=== 3.0.3 ===<br />
*added the “ID.logon.N = error” event<br />
=== 3.0.2 ===<br />
*initial version release<br />
<br />
----<br />
<br />
<br />
''Guardall is a registered trademark of UTC Fire & Security.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Tecnoalarm&diff=5244Tecnoalarm2014-10-24T10:26:35Z<p>Manuela: </p>
<hr />
<div>The [http://www.tecnoalarm.com Tecnoalarm] TP16-256, TP8-64BUS, TP8-96VIDEO, TP8-96GSM, TP16-512GSM and TP8-88 are advanced, multi-area security systems integrated with a variety of wired and wireless sensors.<br />
<br />
The TECNO OUT driver in HSYCO supports the integration of more than one TP unit within the same HSYCO interface.<br />
<br />
The integration with HSYCO can be accomplished with a TCP/IP network connection.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== HSYCO Configuration ==<br />
Add a TECNOALARM I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': the Tecnoalarm panel address<br />
*'''IP Port''': TCP/IP port enabled on the TECNO OUT.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to true.<br />
<br />
<br />
{{tip|The code and model parameters in Options are actually mandatory. The I/O Server cannot start without these parameters.}}<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
|-<br />
<br />
|code<br />
|<br />
|code<br />
|the user code that the driver uses when sending commands to the Tecnoalarm system. It must be a valid user code, or the MASTER code when using the TP8-64BUS<br />
|-<br />
<br />
|model<br />
|<br />
|string<br />
|the system’s model. Use one of the following values: TP16-256, TP8-64BUS, TP8-96VIDEO, TP8-96GSM, TP16-512GSM, TP8-88<br />
|-<br />
<br />
|rowspan="2"|startupevents<br />
|rowspan="2"|false<br />
|true<br />
|generate IO events also during the driver’s start-up phase<br />
|-<br />
|false<br />
|start generating events only after HSYCO is aligned with the current status of the system<br />
|-<br />
<br />
|rowspan="2"|gui<br />
|rowspan="2"|true<br />
|true<br />
|enable support of the tecnoalarm Web interface object<br />
|-<br />
|false<br />
|disable support of the tecnoalarm Web interface object<br />
|-<br />
<br />
|logsize<br />
|50<br />
|n &ge; 0<br />
|the number of log events shown in the tecnoalarm Web object. Set to 0 to hide the log in the tecnoalarm object<br />
|-<br />
<br />
|pass<br />
|<br />
|string<br />
|the passphrase used to encrypt the TCP/IP traffic. If the Tecnoalarm system doesn’t support the passphrase, you should omit this parameter<br />
|-<br />
<br />
|polltime<br />
|1000<br />
|n &ge; 0<br />
|the data polling interval, in milliseconds. Shorter time improve the response of the system, but increase the load on the CPU of both HSYCO and the Tecnoalarm system<br />
|-<br />
<br />
<br />
|}<br />
<br />
== Datapoints ==<br />
<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|connection<br />
|online<br />
|R<br />
|connection established<br />
|-<br />
|offline<br />
|R<br />
|connection failed<br />
|-<br />
<br />
|rowspan="2"|system.standby<br />
|1<br />
|R<br />
|general system stand-by status<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|system.fault<br />
|1<br />
|R<br />
|general system fault (low battery or no AC power)<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|system.lowbattery<br />
|1<br />
|R<br />
|general low battery fault<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|system.nopower<br />
|1<br />
|R<br />
|general no AC power fault<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|system.tamper<br />
|1<br />
|R<br />
|general tamper condition (central unit, zones, modules, modules loss of connection)<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|system.radiofault<br />
|1<br />
|R<br />
|general radio modules fault<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|system.duress<br />
|1<br />
|R<br />
|duress status<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|system.techzone<br />
|1<br />
|R<br />
|general technical zones open status<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|system.normal<br />
|1<br />
|R<br />
|normal status (AC power ok, battery ok, all zones closed, no tamper)<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|system.maintenance<br />
|1<br />
|R<br />
|maintenance mode<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|system.panic<br />
|1<br />
|R<br />
|panic alarm<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|system.indoorsiren<br />
|1<br />
|R<br />
|general status of indoor sirens<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|system.outdoorsiren<br />
|1<br />
|R<br />
|general status of outdoor sirens<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|zone.<n>.excluded<br />
|1<br />
|R<br />
|zone <n> disabled<br />
|-<br />
|0<br />
|R<br />
|zone <n> enabled<br />
|-<br />
<br />
|rowspan="2"|zone.<n>.alarm<br />
|1<br />
|R<br />
|zone <n> alarm<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|zone.<n>.cablecutstatus<br />
|1<br />
|R<br />
|zone <n> cable cut<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|zone.<n>.cablecutalarm<br />
|1<br />
|R<br />
|zone <n> cable cut alarm<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|zone.<n>.lowbattery<br />
|1<br />
|R<br />
|zone <n> low battery<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|zone.<n>.noradio<br />
|1<br />
|R<br />
|zone <n> radio supervision lost<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|zone.<n>.active<br />
|1<br />
|R<br />
|zone <n> active<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|zone.<n>.radiolearned<br />
|1<br />
|R<br />
|zone <n> radio learned<br />
|-<br />
|0<br />
|R<br />
|zone <n> radio not learned<br />
|-<br />
<br />
|rowspan="4"|zone.<n><br />
|enable<br />
|W<br />
|sends a zone <n> enable command using default code<br />
|-<br />
|disable<br />
|W<br />
|sends a zone <n> disable command using default code<br />
|-<br />
|enable.C<br />
|W<br />
|sends a zone <n> enable command using code C<br />
|-<br />
|disable.C<br />
|W<br />
|sends a zone <n> disable command using code C<br />
|-<br />
<br />
|rowspan="7"|program.<n>.status<br />
|off<br />
|R<br />
|program <n> reset<br />
|-<br />
|preout<br />
|R<br />
|program <n> pre out status<br />
|-<br />
|out<br />
|R<br />
|program <n> out status<br />
|-<br />
|armed<br />
|R<br />
|program <n> armed<br />
|-<br />
|outpartial<br />
|R<br />
|program <n> out partial status<br />
|-<br />
|armedpartial<br />
|R<br />
|program <n> armed partial<br />
|-<br />
|endpartial<br />
|R<br />
|program <n> end of partial<br />
|-<br />
<br />
|rowspan="2"|program.<n>.prealarm<br />
|1<br />
|R<br />
|program <n> pre-alarm<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|program.<n>.alarm<br />
|1<br />
|R<br />
|program <n> alarm<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="2"|program.<n>.alarmmemory<br />
|1<br />
|R<br />
|program <n> alarm memory<br />
|-<br />
|0<br />
|R<br />
|reset<br />
|-<br />
<br />
|rowspan="8"|program.<n><br />
|arm<br />
|W<br />
|sends a program <n> arm command using default code<br />
|-<br />
|disarm<br />
|W<br />
|sends a program <n> disarm command using default code<br />
|-<br />
|partial<br />
|W<br />
|sends a program <n> partial arm command using default code<br />
|-<br />
|full<br />
|W<br />
|sends a program <n> full arm command using default code<br />
|-<br />
|arm.<C><br />
|W<br />
|sends a program <n> arm command using code <C><br />
|-<br />
|disarm.<C><br />
|W<br />
|sends a program <n> disarm command using code <C><br />
|-<br />
|partial.<C><br />
|W<br />
|sends a program <n> partial arm command using code <C><br />
|-<br />
|full.<C><br />
|W<br />
|sends a program <n> full arm command using code <C><br />
|-<br />
<br />
|rowspan="2"|output.<n>.status<br />
|1<br />
|R<br />
|output line <n> on<br />
|-<br />
|0<br />
|R<br />
|output line <n> off<br />
|-<br />
<br />
|rowspan="8"|output.<n><br />
|1<br />
|rowspan="2"|W <br />
|rowspan="2" |sends an output <n> on command using default code<br />
|-<br />
|on<br />
|-<br />
|0<br />
|rowspan="2"|W <br />
|rowspan="2" |sends an output <n> off command using default code<br />
|-<br />
|off<br />
|-<br />
|1.<C><br />
|rowspan="2"|W <br />
|rowspan="2" |sends an output <n> on command using code <C><br />
|-<br />
|on.<C><br />
|-<br />
|0.<C><br />
|rowspan="2"|W <br />
|rowspan="2" |sends an output <n> off command using code <C><br />
|-<br />
|off.<C><br />
|-<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== Tecnoalarm Object ===<br />
<br />
<br />
{{:Tecnoalarm (UI Object)}}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
|-<br />
<br />
|connection.label.online <br />
|visible <br />
|true when the panel is connected to HSYCO, false otherwise<br />
|-<br />
|connection.label.offline <br />
|visible <br />
|true when the panel is not connected, false otherwise<br />
|-<br />
|program.<n>.status.label.off <br />
|visible <br />
|true when program <n> is off<br />
|-<br />
|program.<n>.status.label.preout<br />
|visible <br />
|true when program <n> is in pre out status, false otherwise<br />
|-<br />
|program.<n>.status.label.out <br />
|visible <br />
|true when program <n> is in out status, false otherwise<br />
|-<br />
|program.<n>.status.label.armed <br />
|visible <br />
|true when program <n> is armed, false otherwise<br />
|-<br />
|program.<n>.status.label.outpartial <br />
|visible <br />
|true when program <n> is in out partial status, false otherwise<br />
|-<br />
|program.<n>.status.label.armedpartial<br />
|visible <br />
|true when program <n> is partial armed, false otherwise<br />
|-<br />
|program.<n>.alarm.label <br />
|visible <br />
|true when program <n> alarm is active, false otherwise<br />
|-<br />
|zone.<n>.excluded.label <br />
|visible <br />
|true when zone <n> excluded, false otherwise<br />
|-<br />
|zone.<n>.alarm.label <br />
|visible <br />
|true when zone <n> alarm is active, false otherwise<br />
|-<br />
|zone.<n>.cablecut.label <br />
|visible <br />
|true when zone <n> cable cut detected (status or alarm), false otherwise<br />
|-<br />
|zone.<n>.lowbattery.label <br />
|visible <br />
|true when zone <n> has low battery, false otherwise<br />
|-<br />
|zone.<n>.noradio.label <br />
|visible <br />
|true when zone <n> radio supervision lost, false otherwise<br />
|-<br />
|zone.<n>.active.label <br />
|visible <br />
|true when zone <n> is active, false otherwise<br />
|-<br />
|lock.label <br />
|visible <br />
|true when the system is armed, false otherwise<br />
|-<br />
|alarm.label <br />
|visible <br />
|true when the alarm is active, false otherwise<br />
|-<br />
|tamper.label <br />
|visible <br />
|true when a tamper alarm is active, false otherwise<br />
|-<br />
|}<br />
<br />
== Log Files ==<br />
A permanent record of all the events shown in the log page is saved in a file called security.log in the logs/YYYY directory for the current year.<br />
<br />
This file is never overwritten or deleted by HSYCO.<br />
<pre><br />
2014.07.02 17:56:19.188 - tecno - 02/07/10 17:57:29 Activate Remote 6 Monitor<br />
2014.07.02 17:56:22.211 - tecno - 02/07/10 17:57:32 Deactivate Remote 6 Monitor<br />
2014.07.02 17:56:48.174 - tecno - 02/07/10 17:57:58 Access Remote Master Keyboard<br />
2014.07.02 19:00:06.825 - tecno - 02/07/10 19:01:16 Access Remote Master Keyboardd<br />
2014.07.07 17:07:41.871 - tecno - 07/07/10 17:09:31 Activate Remote 6 Monitor<br />
2014.07.07 17:07:43.669 - tecno - 07/07/10 17:09:32 Deactivate Remote 6 Monitor<br />
</pre><br />
<br />
Other information related to the Tecnoalarm Tecno Out driver are saved in the daily message.log files.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.4.0 ===<br />
*output.N command data point not working<br />
*fixed a bug that caused HSYCO to crash when the code and/or model mandatory parameters were not defined<br />
*user codes starting with one or more zeroes didn't work<br />
<br />
=== 3.3.0 ===<br />
* added support for TP8-88<br />
*Tecnoalarm Tecno Out driver converted to I/O Server<br />
*Java API write command methods are now obsolete and deprecated, replaced by IO write commands<br />
*new (tecnoalarm) object<br />
*new option persistentconnection = <true|false>. If true (default is false) the I/O Server will not periodically disconnect and reconnect (periodic disconnection is used to avoid performance degradation on some firmware versions)<br />
<br />
=== 3.2.1 ===<br />
*Tecno Out: workaround to address a performance issue on Tecno Out introduced with firmware 1.2.07<br />
=== 2.0.0 ===<br />
*full integration within HSYCO 2.9.0<br />
=== 1.1.4 ===<br />
*fixed a bug affecting the TCP/IP communication when using a passphrase</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=KNX&diff=5243KNX2014-10-24T10:25:02Z<p>Manuela: </p>
<hr />
<div>The KNX I/O Server provides for the control of a [http://www.knx.org/ KNX] installation compliant with the KNX Standard version 2.0.<br />
<br />
The communication between HSYCO and the KNX network must employ a KNXnet/IP gateway supporting the Tunneling service.<br />
<br />
The KNX framework must be programmed to work properly using the [http://www.knx.org/knx-tools/ets4/description/ ETS] tool.<br />
<br />
Each defined KNX group is seen as a datapoint whose value is formatted with respect to its DPT type. Supported DPT types range from DPT 1 to DPT 18. Moreover, it is possible to have virtual datapoints that link a set of datapoints used for the control of devices such as lights, dimmers, automations and thermostats which require several KNX groups for commands and feedback.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== HSYCO Configuration ==<br />
Add a KNX I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the KNX/IP gateway<br />
*'''IP Port''': TCP/IP port to use, leave blank to use default port 3671.<br />
<br />
=== High Availability ===<br />
*'''Shutdown when inactive''': defaults to false.<br />
<br />
=== Options ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Default<br />
!Values<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2"|startupevents<br />
|rowspan="2"|false<br />
|true<br />
|generate IO events also during the driver’s start-up phase<br />
|-<br />
|false<br />
|start generating events only after HSYCO is aligned with the current status of the system<br />
<br />
|-<br />
<br />
|rowspan="2"|discovery<br />
|rowspan="2"|true<br />
|true<br />
|automatically create the list of all detected datapoints with type DPT 1 and the defined virtual datapoints in the systemtopo.txt file. Should be enabled to allow the automatic update of (button) objects' states<br />
|-<br />
|false<br />
|auto-detect for devices is disabled<br />
<br />
|-<br />
<br />
|rowspan="2"|fromevents<br />
|rowspan="2"|false<br />
|true<br />
|generate events for commands sent on the KNX BUS reporting the source address and the value of the command<br />
|-<br />
|false<br />
|disable command events<br />
<br />
|-<br />
<br />
|rowspan="2"|readaftercommand<br />
|rowspan="2"|false<br />
|true<br />
|force the driver to read the value of a datapoint after a command is sent to it<br />
|-<br />
|false<br />
|the driver will assume that commands detected on the BUS are always successful, thus no re-reading is performed to set the value of a datapoint<br />
<br />
|-<br />
<br />
|localport<br />
|<br />
|<port_number><br />
|the port number used locally by HSYCO to communicate with the KNXnet/IP gateway. This option might be necessary when employing network address translation (NAT)<br />
<br />
|}<br />
<br />
=== Datapoints Declaration ===<br />
It is required to provide the I/O Server with the KNX framework configuration. To this end, the [[KNX Utility]] provides a graphical interface to import ETS4 project files and to configure the datapoints.<br />
<br />
It is also possible to manually define the datapoints in the [[knxtopo.txt]] file.<br />
<br />
== Datapoints ==<br />
<br />
{| class="wikitable"<br />
!colspan="2"|ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" colspan="2"|connection<br />
|online<br />
|R<br />
|connection established to the gateway and initial reading executed<br />
|-<br />
|offline<br />
|R<br />
|HSYCO can't connect to the gateway<br />
<br />
|-<br />
<br />
|rowspan="2" colspan="2"|<datapoint_id><br />
|rowspan="2"|[[#Datapoint types and values|<value>]]<br />
|R<br />
|this datapoint has value [[#Datapoint types and values|<value>]]<br />
|-<br />
|W<br />
|set this datapont to value [[#Datapoint types and values|<value>]]<br />
<br />
|-<br />
<br />
|style="white-space:nowrap" colspan="2"|<nowiki><datapoint_id>.from.<source></nowiki><br />
|[[#Datapoint types and values|<value>]]<br />
|R<br />
|a command with value [[#Datapoint types and values|<value>]] from the device with individual address <nowiki><source></nowiki> has been sent to the addressed datapoint. The source address has the format “x.y.z” (e.g. 1.2.87)<br />
<br />
|-<br />
<br />
|rowspan="6" colspan="2"|light.<n><br />
|rowspan="2"|0<br />
|R<br />
|the light is off<br />
|-<br />
|W<br />
|turn off the light<br />
|-<br />
|rowspan="2"|1<br />
|R<br />
|the light is on<br />
|-<br />
|W<br />
|turn on the light<br />
|-<br />
|flip<br />
|W<br />
|invert the state of the light<br />
|-<br />
|unknown<br />
|R<br />
|the state of the light is unknown<br />
<br />
|-<br />
<br />
|rowspan="6" colspan="2"|dimmer.<n><br />
|rowspan="2"|off<br />
|R<br />
|the dimmer is off<br />
|-<br />
|W<br />
|turn off the dimmer<br />
|-<br />
|on<br />
|W<br />
|turn on the dimmer<br />
|-<br />
|style="white-space:nowrap"|1% ... 100%<br />
|R<br />
|the dimming level is set to the reported level<br />
|-<br />
|style="white-space:nowrap"|0% ... 100%<br />
|W<br />
|set the dimming level to the specified value<br />
|-<br />
|unknown<br />
|R<br />
|the state of the dimmer is unknown<br />
<br />
|-<br />
<br />
|rowspan="12" style="white-space:nowrap"|autom.<n><br />
|rowspan="4" style="white-space:nowrap"| if use position = false<br />
|up<br />
|R<br />
|the automation is moving upwards<br />
|-<br />
|down<br />
|R<br />
|the automation is moving downwards<br />
|-<br />
|offup<br />
|R<br />
|the automation is stopped in a open position<br />
|-<br />
|offdown<br />
|R<br />
|the automation is stopped in the closed position<br />
|-<br />
|rowspan="3" style="white-space:nowrap"| if use position = true<br />
|0% ... 100%<br />
|R<br />
|the automation is stopped at the reported position<br />
|-<br />
|style="white-space:nowrap"|0%+ ... 100%+<br />
|R<br />
|the automation is at the reported position and is closing<br />
|-<br />
|0%- ... 100%-<br />
|R<br />
|the automation is at the reported position and is opening<br />
|-<br />
|rowspan="5"|<br />
|up<br />
|W<br />
|move the automation upwards<br />
|-<br />
|down<br />
|W<br />
|move the automation downwards<br />
|-<br />
|0% ... 100%<br />
|W<br />
|move the automation to the specified position<br />
|-<br />
|stop<br />
|W<br />
|stop the automation<br />
|-<br />
|unknown<br />
|R<br />
|the state of the automation is unknown<br />
<br />
|-<br />
<br />
|rowspan="3" colspan="2"|thermo.<n>.setpoint.temp<br />
|<float_value><br />
|W<br />
|set the setpoint to the specified value<br />
|-<br />
|up<br />
|W<br />
|increase the setpoint by 0.5<br />
|-<br />
|down<br />
|W<br />
|decrease the setpoint by 0.5<br />
<br />
|-<br />
<br />
|colspan="2"|thermo.<n>.setpoint<br />
|mode<br />
|W<br />
|switch to the next setpoint mode<br />
<br />
|-<br />
<br />
|rowspan="4" colspan="2"|thermo.<n>.setpoint.mode<br />
|comf<br />
|R<br />
||the setpoint mode of the thermostat is set to "comfort"<br />
|-<br />
|night<br />
|R<br />
||the setpoint mode of the thermostat is set to "night"<br />
|-<br />
|stb<br />
|R<br />
|the setpoint mode of the thermostat is set to "stand-by"<br />
|-<br />
|unknown<br />
|R<br />
|the setpoint mode of the thermostat is unknown<br />
<br />
|-<br />
<br />
|rowspan="3" colspan="2"|gateway<br />
|next<br />
|W<br />
|kill and restart the I/O Server and switch to the next gateway as listed in the IP settings<br />
|-<br />
|rowspan="2" |<n><br />
|R<br />
|the I/O Server is using the gateway with index <n> with respect to the list of addresses in the IP settings, starting from 0<br />
|-<br />
|W<br />
|kill and restart the I/O Server and switch to the gateway with index <n><br />
<br />
|}<br />
<br />
<br />
=== Datapoint types and values ===<br />
<br />
----<br />
<br />
The KNX I/O Server supports all datapoint types (DPTs) with main number ranging from 1 to 18.<br />
<br />
The value of a datapoint is formatted with respect to its DPT main number. The actual behavior of the datapoint is anyhow dependent on its complete type (i.e. main number and sub number).<br />
Examples for the most common cases will be provided, but for a complete reference of all available datapoint types and allowed values we strongly advice to refer to chapter 3/7/2 of the KNX Standard v2.0.<br />
<br />
The following paragraphs will show the KNX data format for each DPT as described in the protocol as well as the allowed datapoint values and the corresponding conversion.<br />
<br />
==== Datapoint Type 1 (1 bit, Boolean) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''':<br />
{| class="wikitable" width="200" <br />
|+ 8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | b<br />
|}<br />
<br />
b = {0, 1}<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| 0<br />
| b = 0<br />
|-<br />
| 1<br />
| b = 1<br />
|}<br />
<br />
'''Example''':<br />
<br />
For a datapoint with DPT 1.001 (e.g. a switch) a value of '0' corresponds to the 'off' state, while for a datapoint with DPT 1.007 (e.g. a step indicator for a dimmer) it would correspond to the state 'decrease'.<br />
<br />
==== Datapoint Type 2 (2 bits, Control) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''': <br />
{| class="wikitable" width="200" <br />
|+ 8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | c<br />
| width="12.5%" align="center" | v<br />
|}<br />
<br />
c = {0, 1}, v = {0, 1}<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| disabled<br />
| c = 0, v = 0<br />
|-<br />
| 0<br />
| c = 1, v = 0<br />
|-<br />
| 1<br />
| c = 1, v = 1<br />
|}<br />
<br />
==== Datapoint Type 3 (4 bits, Dimming, Blinds) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''': <br />
{| class="wikitable" width="200" <br />
|+ 8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | <br />
| width="12.5%" align="center" | c<br />
| align="center" | step<br />
|}<br />
<br />
c = {0, 1}, step = [000b ... 111b]<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| -7 &le; v < 0<br />
| c = 0, step = <nowiki>|</nowiki>v<nowiki>|</nowiki><br />
|-<br />
| 0 &le; v &le; 7<br />
| c = 1, step = v<br />
|}<br />
<br />
'''Example''':<br />
<br />
For a datapoint with DPT 3.007 (control dimming) a value of '3' corresponds to a 3-steps light increase. The same value for a DPT 3.008 (control blinds) datapoint corresponds to a 3-steps downwards movement. <br />
In both cases a value of '0' indicates the 'break' state.<br />
<br />
==== Datapoint Type 4 (8 bit, Character set) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''': <br />
{| class="wikitable" width="200" <br />
|+ 8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| align="center" | char<br />
|}<br />
<br />
char = [0 ... 255] (ISO 8859-1 encoding of a character)<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| 0 &le; v &le; 255<br />
| char = v<br />
|}<br />
<br />
A DPT 4.001 datapoint will only support the values corresponding to ASCII characters (a subset of the ISO 8859-1 standard values), thus only values ranging from 0 to 127 are allowed.<br />
<br />
==== Datapoint Type 5 (8 bits, Unsigned Value) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''': <br />
{| class="wikitable" width="200" <br />
|+ 8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| align="center" | val<br />
|}<br />
<br />
val = [0 ... 255]<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| 0 &le; v &le; 255<br />
| val = v<br />
|}<br />
<br />
'''Example''':<br />
<br />
For a datapoint with DPT 5.001 (scaling) a value of '255' corresponds to '100%'. For a datapoint with DPT 5.003 (angle) the same value corresponds to '360°'.<br />
<br />
==== Datapoint Type 6 (8 bits, Signed Value) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''': <br />
{| class="wikitable" width="200" <br />
|+ 8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| align="center" | val<br />
|}<br />
<br />
val = [-128 ... 127] (two’s complement notation)<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| -128 &le; v &le; 127<br />
| val = v<br />
|}<br />
<br />
==== Datapoint Type 7 (2 Bytes, Unsigned Value) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''': <br />
<br />
{| class="wikitable" width="400" <br />
|+ 16<span style="padding-right: 11px"></span>15<span style="padding-right: 11px"></span>14<span style="padding-right: 11px"></span>13<span style="padding-right: 11px"></span>12<span style="padding-right: 11px"></span>11<span style="padding-right: 11px"></span>10<span style="padding-right: 11px"></span>9<span style="padding-right: 18px"></span>8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| align="center" | val<br />
|}<br />
<br />
val = [0 ... 65535]<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| 0 &le; v &le; 65535<br />
| val = v<br />
|}<br />
<br />
==== Datapoint Type 8 (2 Bytes, Signed Value) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''':<br />
<br />
{| class="wikitable" width="400" <br />
|+ 16<span style="padding-right: 11px"></span>15<span style="padding-right: 11px"></span>14<span style="padding-right: 11px"></span>13<span style="padding-right: 11px"></span>12<span style="padding-right: 11px"></span>11<span style="padding-right: 11px"></span>10<span style="padding-right: 11px"></span>9<span style="padding-right: 18px"></span>8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| align="center" | val<br />
|}<br />
<br />
val = [-32768 ... 32767] (two’s complement notation)<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| -32768 &le; v &le; 32767<br />
| val = v<br />
|}<br />
<br />
==== Datapoint Type 9 (2 Bytes, Float Value) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''':<br />
<br />
{| class="wikitable" width="400" <br />
|+ 16<span style="padding-right: 11px"></span>15<span style="padding-right: 11px"></span>14<span style="padding-right: 11px"></span>13<span style="padding-right: 11px"></span>12<span style="padding-right: 11px"></span>11<span style="padding-right: 11px"></span>10<span style="padding-right: 11px"></span>9<span style="padding-right: 18px"></span>8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| width="6.25%" align="center" | m<br />
| width="25%" align="center" | e<br />
| align="center" | m<br />
|}<br />
<br />
e = [0 ... 15], m = [-2048 ... 2047] (two’s complement notation)<br />
<br />
float value = (0.01 * m) * 2^e = [-671088.64 ... 670760.96]<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| -671088.64 &le; v &le; 670760.96<br />
| float value = v<br />
|}<br />
<br />
==== Datapoint Type 10 (3 Bytes, Time) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''':<br />
<br />
{| class="wikitable" width="600" <br />
|+ 24<span style="padding-right: 11px"></span>23<span style="padding-right: 11px"></span>22<span style="padding-right: 11px"></span>21<span style="padding-right: 11px"></span>20<span style="padding-right: 11px"></span>19<span style="padding-right: 11px"></span>18<span style="padding-right: 11px"></span>17<span style="padding-right: 11px"></span>16<span style="padding-right: 11px"></span>15<span style="padding-right: 11px"></span>14<span style="padding-right: 11px"></span>13<span style="padding-right: 11px"></span>12<span style="padding-right: 11px"></span>11<span style="padding-right: 11px"></span>10<span style="padding-right: 11px"></span>9<span style="padding-right: 18px"></span>8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| width="12.5%" align="center" | day<br />
| width="20.83%" align="center" | hour<br />
| width="4.17%" align="center" | 0<br />
| width="4.17%" align="center" | 0<br />
| width="25%" align="center" | min<br />
| width="4.17%" align="center" | 0<br />
| width="4.17%" align="center" | 0<br />
| width="25%" align="center" | sec<br />
|}<br />
<br />
day = [0 ... 7] (0 = no day, 1 = Monday, ..., 7 = Sunday)<br />
<br />
hour = [0 ... 23]<br />
<br />
min = [0 ... 59]<br />
<br />
sec = [0 ... 59]<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| <day>.<hour>.<minutes>.<seconds><br />
| day = <day>, hour = <hour>, min = <min>, sec = <sec><br />
|}<br />
<br />
'''Example''':<br />
<br />
A vale of '2.12.46.23' corresponds to 'Tuesday 12:46:23'.<br />
<br />
==== Datapoint Type 11 (3 Bytes, Date) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''':<br />
<br />
{| class="wikitable" width="600" <br />
|+ 24<span style="padding-right: 11px"></span>23<span style="padding-right: 11px"></span>22<span style="padding-right: 11px"></span>21<span style="padding-right: 11px"></span>20<span style="padding-right: 11px"></span>19<span style="padding-right: 11px"></span>18<span style="padding-right: 11px"></span>17<span style="padding-right: 11px"></span>16<span style="padding-right: 11px"></span>15<span style="padding-right: 11px"></span>14<span style="padding-right: 11px"></span>13<span style="padding-right: 11px"></span>12<span style="padding-right: 11px"></span>11<span style="padding-right: 11px"></span>10<span style="padding-right: 11px"></span>9<span style="padding-right: 18px"></span>8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| width="4.175%" align="center" | 0<br />
| width="4.175%" align="center" | 0<br />
| width="4.175%" align="center" | 0<br />
| width="20.9%" align="center" | day<br />
| width="4.175%" align="center" | 0<br />
| width="4.175%" align="center" | 0<br />
| width="4.175%" align="center" | 0<br />
| width="4.175%" align="center" | 0<br />
| width="16.8%" align="center" | month<br />
| width="4.175%" align="center" | 0<br />
| align="center" | year<br />
|}<br />
<br />
day = [1 ... 31]<br />
<br />
month = [1 ... 12]<br />
<br />
year = [0 ... 99] (if &ge; 90 interpret as 20th century, otherwise interpret as 21st century)<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| <year>/<month>/<day><br />
<br />
(1990 &le; <year> &le; 2089)<br />
| year = last two digits of <year>, month = <month>, day = <day><br />
|}<br />
<br />
'''Example''':<br />
<br />
A vale of '2011/2/8' corresponds to 'February 8th 2011'.<br />
<br />
==== Datapoint Type 12 (4 Bytes, Unsigned Value) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''':<br />
<br />
{| class="wikitable" width="800" <br />
|+ 32<span style="padding-right: 11px"></span>31<span style="padding-right: 11px"></span>30<span style="padding-right: 11px"></span>29<span style="padding-right: 11px"></span>28<span style="padding-right: 11px"></span>27<span style="padding-right: 11px"></span>26<span style="padding-right: 11px"></span>25<span style="padding-right: 11px"></span>24<span style="padding-right: 11px"></span>23<span style="padding-right: 11px"></span>22<span style="padding-right: 11px"></span>21<span style="padding-right: 11px"></span>20<span style="padding-right: 11px"></span>19<span style="padding-right: 11px"></span>18<span style="padding-right: 11px"></span>17<span style="padding-right: 11px"></span>16<span style="padding-right: 11px"></span>15<span style="padding-right: 11px"></span>14<span style="padding-right: 11px"></span>13<span style="padding-right: 11px"></span>12<span style="padding-right: 11px"></span>11<span style="padding-right: 11px"></span>10<span style="padding-right: 11px"></span>9<span style="padding-right: 18px"></span>8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| align="center" | val<br />
|}<br />
<br />
val = [0 ... 4294967295]<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| 0 &le; v &le; 4294967295<br />
| val = v<br />
|}<br />
<br />
==== Datapoint Type 13 (4 Bytes, Signed Value) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''':<br />
<br />
{| class="wikitable" width="800" <br />
|+ 32<span style="padding-right: 11px"></span>31<span style="padding-right: 11px"></span>30<span style="padding-right: 11px"></span>29<span style="padding-right: 11px"></span>28<span style="padding-right: 11px"></span>27<span style="padding-right: 11px"></span>26<span style="padding-right: 11px"></span>25<span style="padding-right: 11px"></span>24<span style="padding-right: 11px"></span>23<span style="padding-right: 11px"></span>22<span style="padding-right: 11px"></span>21<span style="padding-right: 11px"></span>20<span style="padding-right: 11px"></span>19<span style="padding-right: 11px"></span>18<span style="padding-right: 11px"></span>17<span style="padding-right: 11px"></span>16<span style="padding-right: 11px"></span>15<span style="padding-right: 11px"></span>14<span style="padding-right: 11px"></span>13<span style="padding-right: 11px"></span>12<span style="padding-right: 11px"></span>11<span style="padding-right: 11px"></span>10<span style="padding-right: 11px"></span>9<span style="padding-right: 18px"></span>8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| align="center" | val<br />
|}<br />
<br />
val = [-2147483648 ... 2147483647] (two’s complement notation)<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| -2147483648 &le; v &le; 2147483647<br />
| val = v<br />
|}<br />
<br />
==== Datapoint Type 14 (4 Bytes, Float Value) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''':<br />
<br />
{| class="wikitable" width="800" <br />
|+ 32<span style="padding-right: 11px"></span>31<span style="padding-right: 11px"></span>30<span style="padding-right: 11px"></span>29<span style="padding-right: 11px"></span>28<span style="padding-right: 11px"></span>27<span style="padding-right: 11px"></span>26<span style="padding-right: 11px"></span>25<span style="padding-right: 11px"></span>24<span style="padding-right: 11px"></span>23<span style="padding-right: 11px"></span>22<span style="padding-right: 11px"></span>21<span style="padding-right: 11px"></span>20<span style="padding-right: 11px"></span>19<span style="padding-right: 11px"></span>18<span style="padding-right: 11px"></span>17<span style="padding-right: 11px"></span>16<span style="padding-right: 11px"></span>15<span style="padding-right: 11px"></span>14<span style="padding-right: 11px"></span>13<span style="padding-right: 11px"></span>12<span style="padding-right: 11px"></span>11<span style="padding-right: 11px"></span>10<span style="padding-right: 11px"></span>9<span style="padding-right: 18px"></span>8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| width="3.2%" align="center" | s<br />
| width="25.5%" align="center" | e<br />
| align="center" | f<br />
|}<br />
<br />
s = {0, 1}, e = [0 .. 255], f = [0 ... 8388607]<br />
<br />
float value = 0, [1.40129846432481707E-45, 3.40282346638528860E+38] (IEEE 754 floating point format)<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| v = 0 <nowiki>|</nowiki> 1.40129846432481707E-45 &le; v &le; 3.40282346638528860E+38<br />
| float value = v<br />
|}<br />
<br />
==== Datapoint Type 15 (4 Bytes, Access) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''':<br />
<br />
{| class="wikitable" width="800" <br />
|+ 32<span style="padding-right: 11px"></span>31<span style="padding-right: 11px"></span>30<span style="padding-right: 11px"></span>29<span style="padding-right: 11px"></span>28<span style="padding-right: 11px"></span>27<span style="padding-right: 11px"></span>26<span style="padding-right: 11px"></span>25<span style="padding-right: 11px"></span>24<span style="padding-right: 11px"></span>23<span style="padding-right: 11px"></span>22<span style="padding-right: 11px"></span>21<span style="padding-right: 11px"></span>20<span style="padding-right: 11px"></span>19<span style="padding-right: 11px"></span>18<span style="padding-right: 11px"></span>17<span style="padding-right: 11px"></span>16<span style="padding-right: 11px"></span>15<span style="padding-right: 11px"></span>14<span style="padding-right: 11px"></span>13<span style="padding-right: 11px"></span>12<span style="padding-right: 11px"></span>11<span style="padding-right: 11px"></span>10<span style="padding-right: 11px"></span>9<span style="padding-right: 18px"></span>8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| width="12.5%" align="center" | d6<br />
| width="12.5%" align="center" | d5<br />
| width="12.5%" align="center" | d4<br />
| width="12.5%" align="center" | d3<br />
| width="12.5%" align="center" | d2<br />
| width="12.5%" align="center" | d1<br />
| width="3.125%" align="center" | e<br />
| width="3.125%" align="center" | p<br />
| width="3.125%" align="center" | d<br />
| width="3.125%" align="center" | c<br />
| width="12.5%" align="center" | index<br />
|}<br />
<br />
d1, d2, d3, d4, d5, d6 = [0 ... 9]<br />
<br />
index = [0 ... 15]<br />
<br />
e = {0, 1} (0 = no error, 1 = reading of access information was not successful)<br />
<br />
p = {0, 1} (0 = not accepted, 1 = accepted)<br />
<br />
d = {0, 1} (0 = left to right, 1 = right to left)<br />
<br />
c = {0, 1} (0 = no encryption, 1 = access information encrypted)<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| <nowiki><d6>.<d5>.<d4>.<d3>.<d2>.<d1>.<e>.<p>.<d>.<c>.<index></nowiki><br />
| <nowiki>d6 = <d6>, d5 = <d5>, d4 = <d4>, d3 = <d3>, d2 = <d2>, d1 = <d1>, e = <e>, p = <p>, d = <d>, c = <c>, index = <index></nowiki><br />
|}<br />
<br />
'''Example''':<br />
<br />
A valid value would be: '1.2.3.4.5.7.0.1.0.0.13'<br />
<br />
==== Datapoint Type 16 (14 Bytes, String) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''':<br />
<br />
{| class="wikitable" width="500" <br />
|+ 112 111 110 109 108 107 106 105<span style="padding-right: 50px"></span>...<span style="padding-right: 50px"></span>8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| width="40%" align="center" | char1<br />
| width="20%" align="center" style="background-color:#ffffff" | ...<br />
| width="40%" align="center" | char14<br />
|}<br />
<br />
These Datapoint Types are used to transmit strings of textual characters. The length is fixed to 14 octets. The contents are filled starting from the most significant octet. Each octet shall be encoded as specified for the chosen character set. If the string to be transmitted is smaller than 14 octets, unused trailing octets in the character string shall be set to NULL (00H).<br />
<br />
Example: “KNX is OK” is encoded as follows: 4B 4E 58 20 60 73 20 4F 4B 00 00 00 00 00<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| <string><br />
<br />
(max 14 bytes)<br />
| ISO 8859-1 encoded bytes padded with trailing NULL bytes<br />
|}<br />
<br />
'''Example''':<br />
<br />
A valid value would be: 'Hello world'<br />
<br />
==== Datapoint Type 17 (1 Byte, Scene Number) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''':<br />
<br />
{| class="wikitable" width="200" <br />
|+ 8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| width="12.5%" align="center" | 0<br />
| width="12.5%" align="center" | 0<br />
| align="center" | sn<br />
|}<br />
<br />
sn = [0 ... 63]<br />
<br />
'''Datapoint values''':<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| 0 &le; v &le; 63<br />
| sn = v<br />
|}<br />
<br />
==== Datapoint Type 18 (1 Byte, Scene Control) ====<br />
<br />
----<br />
<br />
'''KNX bit-level format''':<br />
<br />
{| class="wikitable" width="200" <br />
|+ 8<span style="padding-right: 18px"></span>7<span style="padding-right: 18px"></span>6<span style="padding-right: 18px"></span>5<span style="padding-right: 18px"></span>4<span style="padding-right: 18px"></span>3<span style="padding-right: 18px"></span>2<span style="padding-right: 18px"></span>1<br />
|-<br />
| width="12.5%" align="center" | c<br />
| width="12.5%" align="center" | 0<br />
| align="center" | sn<br />
|}<br />
<br />
c = {0, 1} (0 = activate the scene, 1 = learn the scene)<br />
<br />
sn = [0 ... 63]<br />
<br />
'''Datapoint values''':<br />
<br />
For this case the datapoint syntax is slightly different. The scene number (sn) must be suffixed to the datapoint ID as follows: <datapoint_id>.<scene_number>.<br />
<br />
{| class="wikitable"<br />
! Value<br />
! Converts to<br />
|-<br />
| record<br />
| c = 1<br />
|-<br />
| 1<br />
| c = 0<br />
|}<br />
<br />
'''Example''':<br />
<br />
The activation of scenario 12 on a datapoint would correspond to: <datapoint_id>.12 = 1<br />
<br />
== User Interface ==<br />
<br />
All the DPT 1 datapoints and virtual datapoints that have been defined are automatically listed in the [[Project Editor]]. DPT 1 datapoints and lights can be directly linked to a "button" object, dimmers to a "button" or a "dimmer" object, automations to "button" or "3button" objects and thermostats can be controlled though a "tempmini" object.<br />
<br />
[[File:KNX_Project_Editor_Light.png|400px|border]]<br />
[[File:KNX_Project_Editor_Dimmer.png|400px|border]]<br />
[[File:KNX_Project_Editor_Automation.png|400px|border]]<br />
[[File:KNX_Project_Editor_Thermostat.png|400px|border]]<br />
<br />
== Release Notes ==<br />
<br />
=== 3.4.0 ===<br />
*fixed value encoding error for DPT 16 datapoints<br />
*removed framedelay option<br />
*improved frames confirmation handling<br />
*improved configuration files loading<br />
<br />
=== 3.3.0 ===<br />
*added support for light virtual datapoints<br />
=== 3.2.1 ===<br />
*fixed bug on auto-discovery of AUTOM datapoints<br />
*fixed bug on loading of datapoints’ thumbnails<br />
=== 3.2.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''KNX is a registered trademark of KNX Association.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Release_Notes_3.4.0&diff=5239Release Notes 3.4.02014-10-24T10:10:05Z<p>Manuela: Manuela moved page Release Notes 3.3.1 to Release Notes 3.4.0</p>
<hr />
<div>[[Category: Release Notes]]<br />
<br />
== Server Updates ==<br />
<br />
*the loop-back IP address (127.0.0.1) is now considered part of the trusted network only when the trustedNet option is set to "local", or when explicitly listed<br />
*new BOSCHFPA I/O Server adds support of the BOSCH FPA-5000 modular fire panel system<br />
*new BOSCHMPA I/O Server adds support of the BOSCH MPA-5000 modular security panel system<br />
*new Cradlepoint I/O Server adds support of the Cradlepoint IBR6xx routers<br />
*new VEDIRECT I/O Server adds support of the Victron VE.Direct protocol for the BMV7xx battery monitors<br />
*Contatto I/O Server:<br />
**improved communication error logging<br />
**improved support of tools remote access<br />
**MODDI support<br />
*Domino I/O Server:<br />
**improved communication error logging<br />
**improved support of tools remote access<br />
**DFH compatibility<br />
*Modbus Server I/O Server:<br />
**added support for function 0x17 read/write multiple registers<br />
**new option forcedevents, set to false to generate events only on registers' data changes. Default is true<br />
**new option connectionslog, set to true to log all connections. Default is false<br />
**new option maxconnections, sets the maximum number of concurrent connection. Default is 128<br />
*HID Edge Solo I/O Server: added support for two readers door controller<br />
*Bentel KIO 320 I/O Server: partition buttons (P1-P12) are now automatically highlighted on armed areas<br />
*SSH I/O Server: added support for the "keyboard-interactive" authentication method<br />
*BACnet I/O Server: added support for segmented messages, limited to Read-Property-Response<br />
*Knx I/O Server:<br />
**removed framedelay option<br />
**improved frames confirmation handling<br />
**improved configuration files loading<br />
*INIM I/O Server:<br />
**added option "pintimeout": expiration time of pin entered from gui<br />
**added option "multicommand": allows for multiple commands during pin validity time<br />
*WXONLINE I/O Server: pressure datapoint added<br />
*HWGMONITOR I/O Server:<br />
**new poll interval option<br />
**new command read=all to read the device status<br />
*improved compatibility of SSL certificates with iOS<br />
*High Availability:<br />
**new option haActiveIP: an IP address that is assigned as an alias to the eth0 Ethernet port on the active server<br />
**new option haClientSessionsFailover: when true the slave server will mirror the master's authentication keys, allowing a clean transition of authenticated sessions from master to slave (defaults to false)<br />
*Data logger: <br />
**new options (DaysBeforeDelete, DaysBeforeMonthConsolidation, DaysBeforeDayConsolidation, DaysBeforeHourConsolidation) for data consolidation and deletion<br />
**new data recovery tool in Manager/Settings<br />
*HTTP Server: all files saved under any subdirectory named "nocache" will not be listed in the persistent cache's manifest file<br />
*HSQLDB core SQL engine upgraded to 2.3.2; database lock file is now disabled<br />
*new database restore function: on start-up, if the data_restore_now directory is present, the original data directory is renamed to data_backup_before_restore and replaced by data_restore_now<br />
*new email option SmtpDebug: when true the SMTP session information is written to console.log<br />
*new log option persistentLog: when set to false, message and error logs are not written to files, and are only visible in the Manager's Log Viewer (defaults to true)<br />
*text-to-speech: on Mac OS X the voice name can be prefixed with the OS user id that is authorized to execute the "say" command and accessibility features. Required starting with Mac OS X 10.9<br />
<br />
== EVENTS ==<br />
*new Modbus JavaScript command method modbusReadWriteMultipleRegisters()<br />
*new SysLogEvent(host, log) JavaScript callback<br />
<br />
== Java API ==<br />
*new Modbus command method modbusReadWriteMultipleRegisters()<br />
*urlGet() and urlPost() time-out now set to 30 seconds<br />
*new isVerboseLog() method in the custom drivers command and utility API: returns true when verbose log is enabled<br />
*new urlGet() and urlPost() methods in the custom drivers command and utility API<br />
*new SysLogEvent(String host, String log) callback method<br />
<br />
== GUI Updates ==<br />
*new charcoal and bright skins<br />
*added range and spring attributes to sliderh and sliderv objects<br />
*userimage object with coordinates and repeat mode now supports moving the pointer in the object's area<br />
*scheduler object: allow end time to be less than start time (for schedules that cross midnight)<br />
*checkbox object: the value attribute set with uiSet is now case-insensitive and also accepts 0 or 1<br />
*German and Polish languages support<br />
*SSL certificate download link added to logout pop-up<br />
*new "notouch" URL keyword, disables touch events, enabling standard mouse events. Used for touch devices that don't recognize touch events<br />
*style attribute added to link, user buttons (color attribute is still available for compatibility)<br />
<br />
== Manager ==<br />
*files and directories starting with the "~" character are skipped in zip downloads (root backup and directories downloads)<br />
<br />
== Bug Fixes ==<br />
*MNET I/O Server: inlet temperature not working with decimal values<br />
*HSYCO I/O Server: fixed issue with remote (user) button commands having special parameters with special characters<br />
*TecnoAlarm I/O Server:<br />
**output.N command data point not working<br />
**not defined code and/or model mandatory parameters crashed HSYCO server at startup<br />
**user codes starting with one or more zeroes didn't work<br />
*Guardall I/O Server: fixed a timeout issue that could prevent proper startup with very large number of zones<br />
*GSM I/O Server:<br />
**fixed bug occurring when sending messages containing the '=' character<br />
**minor fixes to the sms UI object<br />
*BACnet I/O Server: fixes to the BACnet Browser utility<br />
*Tridonic I/O Server: fixed a bug in the devices discovery procedure<br />
*MyHome I/O Server: when using the L4686SDK interface, added a small delay when sending commands, to ensure that feedback is properly received by the L4686SDK<br />
*Domino I/O Server: DFTZ user commands mode.comfort, mode.eco, mode.off not working<br />
*INIM I/O Server:<br />
**fixed bug in object: bypassed status was inverted<br />
**fixed bug that prevented bypassing a zone if pin not set in hsyco.ini<br />
*Aritech Master ATS I/O Server: polling failure occurring for a high number of zones<br />
*Bentel KYO320 I/O Server: fixes to the (bentel) object<br />
*sms object prevented popups from opening<br />
*Manager Settings:<br />
**support for alternate comm port for Domino and Contatto I/O Servers<br />
**missing optional parameters for the Modbus Server I/O Server: connectionslog, forcedevents, maxconnections<br />
**missing ATS I/O Server option: logsize<br />
*Project Editor:<br />
**position wasn't updated correctly when moving with keyboard arrows<br />
**fixed compatibility problems with latest versions of Chrome browser<br />
*Modbus TCP Server I/O Server: fixed data length error in return PDU<br />
*Modbus JavaScript API: passed and returned numeric arrays should have elements with unsigned decimal values<br />
*JavaScript callback functions: varGet() and other functions of type String returned a "null" text instead of null in case of errors<br />
*readComm() and readCommBytes() methods: calling the methods with len=0, the input buffer was only partially emptied<br />
*input object: pressing the eraseicon failed to send the empty value if in autosend mode<br />
*datalogger object:<br />
**thresholds, thresholdscolor attributes not working<br />
**minor graphic fixes<br />
**dataloggers could sometime fail to load on very slow browsers<br />
*LogMaxAge configuration parameter: not loaded correctly at start-up<br />
*cameras configuration: a malformed URL in hsyco.ini could cause an unrecoverable startup error<br />
*plugin's projects were not shown in the Admin/Users projects selection fields<br />
*minor fixes to the Project Editor: include sections could be moved and deleted<br />
*minor fixes to scheduler object: one touch scroll of detail panel<br />
*minor fixes to datalogger object: failed to update in some configurations<br />
*minor fixes to GUI:<br />
**a userlist item sometimes wouldn't open a popup<br />
**draw uisets wouldn't work on userimage objects if on a currently invisible page<br />
**sliders not restoring the correct value when the "enable" attribute's value changes</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Release_Notes_3.3.1&diff=5240Release Notes 3.3.12014-10-24T10:10:05Z<p>Manuela: Manuela moved page Release Notes 3.3.1 to Release Notes 3.4.0</p>
<hr />
<div>#REDIRECT [[Release Notes 3.4.0]]</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Settings&diff=5222Settings2014-10-14T14:01:56Z<p>Manuela: /* Grids */</p>
<hr />
<div>[[Category:Manager]]<br />
[[File:Manager Settings Icon.png|class=appIcon|The '''Settings''' icon]]<br />
HSYCO can be configured using the Settings application in the Manager.<br />
<br />
Settings stores all configuration parameters in the hsyco.ini file.<br />
<br />
<br />
{{tip|You can copy this file to save the current configuration, or manually change it. In this case, be sure to reopen the Settings application after the changes have been saved.}}<br />
<br />
<br />
The configuration is read at start-up, so any changes become effective only after restarting the HSYCO process.<br />
<br />
HSYCO is factory configured to automatically restart when hsyco.ini is saved.<br />
<br />
<br />
[[File:Manager_settings_menu.png|border|center|600px]]<br />
<br />
<br />
When you make changes using Settings, the hsyco.ini file will be overwritten when you press the Save button.<br />
<br />
You can’t return to the previous configuration once it is saved.<br />
<br />
The Revert button allows you to reload the current configuration if you have made changes in Setting that have not yet been saved.<br />
<br />
Settings parameters are grouped in several sections.<br />
<br />
You can make changes to any parameter, even in different sections, and then save all changes together.<br />
<br />
== System ==<br />
<br />
The Systems section contains all general configuration parameters, including vital parameters affecting system’s security and reliability.<br />
<br />
These parameters are further split in several sub-sections.<br />
<br />
=== General ===<br />
<br />
<br />
[[File:Manager settings general.png|border|center|600px]]<br />
<br />
<br />
'''URLKey'''<br />
<br />
'''Default:''' hsycoserver<br />
<br />
'''Format:''' string of at least 8 characters<br />
<br />
<br />
To protect against malicious service discovery robots, HSYCO does not answer to Web requests where only the server address is defined, for example https://192.168.0.50, but requires an extended URL, which must include an access key, called URLKey.<br />
<br />
{{tip|The URLKey must be at least 8 characters long.}}<br />
<br />
It is possible to specify more than one URLKEY, separated by a comma; in this case all the specified URLKEYs will be valid for the web access to HSYCO.<br />
<br />
The factory default URLKey is hsycoserver.<br />
<br />
The URLKey is not a secret password, but only an additional protection feature.<br />
<br />
<br />
'''Language'''<br />
<br />
'''Default:''' en<br />
<br />
'''Format:''' cn | en | fr | it<br />
<br />
<br />
Some I/O Servers and other core services use localized text messages. This parameter defines the default system language for these services.<br />
<br />
<br />
'''AutoKillFiles'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' list of file names separated by commas<br />
<br />
<br />
This parameter is usually set as: "hsyco.ini,hsyco.jar,com/hsyco/user.class" forcing the automatic restart after the changes of the three files listed.<br />
<br />
<br />
'''DatabaseBackup'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
When set to true, a hot backup of the core database is automatically executed on a daily basis, saving data in the data_backup directory, and overwriting the previous backup files.<br />
<br />
The data_backup directory can be used to restore the database. The [[Database Maintenance]] document explains how to safely perform the database restore procedure.<br />
<br />
{{note|Only one process can access the database files at any time. If you need to access these files using other applications or SQL utilities, you should stop the HSYCO process, otherwise all data could be lost.}}<br />
<br />
<br />
'''StartupDelay'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' 0 or positive integer number of seconds<br />
<br />
<br />
When set to a positive number, the HSYCO server will wait for the specified number of seconds at start-up before becoming active.<br />
<br />
This start-up delay could be useful to prevent HSYCO from starting before other peripherals or devices, like external storage systems, are completely initialized.<br />
<br />
<br />
'''ExceptionWatchdog'''<br />
<br />
'''Default:''' 5<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
After N uncaught Java execution exceptions, the HSYCO server will be killed and restarted.<br />
<br />
Set to 0 to disable the exception watchdog.<br />
<br />
<br />
'''EventsLoadTimeout'''<br />
<br />
'''Default:''' 20<br />
<br />
'''Format:''' positive integer number of seconds<br />
<br />
<br />
When events.txt is saved, If any code section takes more than the specified amount of time to execute during the test run and INIT events sections, HSYCO will abort the JavaScript engine, rename events.txt to events_unsafe.txt and, a few seconds later, will restart the whole HSYCO server engine to protect the integrity of the system.<br />
<br />
If you have code in events.txt that requires more than the default 20 seconds to run, you should set a larger value for EventsLoadTimeout.<br />
<br />
<br />
'''userLog'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Set to true to enable the log of the Java methods called in user.java or of the commands defined in the EVENTS programming environment.<br />
<br />
<br />
'''eventsLog'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
If true, the log of events received from field devices is enabled, for example the events related to the IO Servers.<br />
<br />
<br />
'''verboseLog'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
If true, the extended log is enabled.<br />
<br />
It is useful for debugging, or during the advanced customization phase or the development of Java code.<br />
<br />
<br />
'''persistentLog'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
When set to false, message and error logs are not written to files, and are only visible in the Manager's Log Viewer.<br />
<br />
You may want to avoid writing log files when using servers with limited disk space or when the mass storage device is an SSD with limited write cycles.<br />
<br />
<br />
'''securityLogDailyFiles'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
When set to true, the security logs are written in daily files named MMDD-security.log.<br />
<br />
<br />
'''LogMaxAge'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' 0, or positive integer number<br />
<br />
<br />
Log files are automatically deleted when older than the number of days defined with this parameter.<br />
<br />
When set to 0 or not defined, log files are not deleted automatically.<br />
<br />
=== Access Control ===<br />
<br />
<br />
<br />
[[File:Configuration Access Control.png|border|center|600px]]<br />
<br />
<br />
'''trustedNet'''<br />
<br />
'''Default:''' local<br />
<br />
'''Format:''' local, or nn.nn.nn.nn-nn.nn.nn.nn<br />
<br />
<br />
IP addresses that define the group of network addresses belonging to the secure local network.<br />
<br />
It is possible to enter multiple, comma-separated IP ranges or individual IP addresses, or simply enter “local”, so that HSYCO will assume all IP addresses in the LAN as trusted.<br />
<br />
The loop-back IP address (127.0.0.1) is considered part of the trusted network only when the trustedNet option is set to "local", or when explicitly listed.<br />
<br />
The Web clients connecting to HSYCO from these addresses are subject to the time-out defined in KeysTrustedValidityHours, which is usually longer than the one used for all the other IP addresses, defined in KeysNotTrustedValidityHours.<br />
<br />
<br />
'''KeysTrustedValidityHours'''<br />
<br />
'''Default:''' 24<br />
<br />
'''Format:''' integer > 0 or hh:mm<br />
<br />
<br />
Login time-out in hours for the connections from trusted IP addresses.<br />
<br />
Set on a very high value, e.g. 100000, to practically avoid the time-out of sessions.<br />
<br />
It can also be set using the hh:mm hours and minutes format.<br />
<br />
<br />
'''KeysNotTrustedValidityHours'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' integer > 0 or hh:mm<br />
<br />
<br />
Login time-out in hours for not trusted IP addresses.<br />
<br />
It can also be set using the hh:mm hours and minutes format.<br />
<br />
<br />
'''KeysInactivityHours'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' integer > 0 or hh:mm<br />
<br />
<br />
Inactivity time-out in hours.<br />
<br />
This is an optional parameter; if not set there will be no inactivity time-out and the user session will be automatically logged out based on the login time-out only.<br />
<br />
It can also be set using the hh:mm hours and minutes format.<br />
<br />
<br />
'''KeysInactivityMode'''<br />
<br />
'''Default:''' browser<br />
<br />
'''Format:''' browser | cameras | commands<br />
<br />
<br />
Inactivity time-out mode.<br />
<br />
This is an optional parameter.<br />
<br />
It is significant only when KeysInactivityHours is also defined.<br />
<br />
In browser mode, having the Web browser open on the HSYCO page will keep the session alive.<br />
<br />
In cameras mode the session will remain alive only when sending commands or watching cameras.<br />
<br />
In commands mode the session will stay alive only if commands are sent before the inactivity timer expires.<br />
<br />
<br />
'''HTTPServerPublicDirectory'''<br />
<br />
'''Default:''' browser<br />
<br />
'''Format:''' directory name<br />
<br />
<br />
If defined, enables a simple Web server that serves files, without any parsing, via HTTP and HTTPS, only to clients in the trusted range of IP addresses.<br />
<br />
This parameter sets the name of the directory, under the www root Web directory, used for the public files.<br />
<br />
If, for example, you have HTTPServerPublicDirectory=public, and an HTML file named home.html in the public directory, then the <nowiki>https://192.168.0.50/public/home.html</nowiki> URL will point to that file.<br />
<br />
As you see, you shouldn’t add the URLKey in public URLs.<br />
<br />
<br />
'''HTTPServerLowSecurityEnabled'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
<br />
Usually, the HTTP server is only active to let cameras and PBX systems send motion detection and calls notifications.<br />
<br />
To avoid the authentication keys, PIN and PUK codes and all traffic to be transmitted in the clear, the HTTP protocol is not normally used for Web access to HSYCO.<br />
<br />
Set the parameter to true only when you want to enable the not-secure HTTP protocol for Web access to HSYCO.<br />
<br />
<br />
'''WebAdminNetConfigLock'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
<br />
If true, the Web network settings functions are disabled.<br />
<br />
This parameter should be set to true once you expect no changes in the network configuration of HSYCO Server.<br />
<br />
=== Network ===<br />
<br />
<br />
[[File:Configuration Network.png|border|center|600px]]<br />
<br />
<br />
'''HTTPServerPort'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number < 65535<br />
<br />
<br />
TCP/IP port of HSYCO HTTP Web Server. If not defined, the HTTP server is not enabled.<br />
<br />
Normally set to 80.<br />
<br />
<br />
'''HTTPSSLServerPort'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number < 65535<br />
<br />
<br />
TCP/IP port of HSYCO HTTPS Web Server.<br />
<br />
If not defined, the HTTPS server is not enabled.<br />
<br />
Normally set to 443.<br />
<br />
<br />
'''SysLogServerPort'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number < 65535<br />
<br />
<br />
TCP/IP port of HSYCO SYSLOG Web server.<br />
<br />
The SYSLOG server is used to receive from the Access Points (AP) the information to determine which AP every user in the Wi-Fi LAN is using to connect.<br />
<br />
If not defined, the SYSLOG server is not enabled.<br />
<br />
It is usually set to 514.<br />
<br />
<br />
'''ServerName'''<br />
<br />
'''Default:''' hsyco<br />
<br />
'''Format:''' domain name<br />
<br />
<br />
Name used to generate the SSL certificate.<br />
<br />
It is necessary for the cryptography of the HTTPS Web traffic and should correspond to the domain name through which the HSYCO server is accessed via the Internet.<br />
<br />
The certificate is saved in the hsyco.keys file.<br />
<br />
When HSYCO is started, if this file is not available or its name doesn’t match the ServerName parameter in hsyco.ini, a new SSL certificate is automatically generated according to the name defined in ServerName.<br />
<br />
<br />
'''OffLineCache'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
HSYCO implements the off-line cache feature of the Web browsers that support the HTML 5.0 standard.<br />
<br />
To enable the off-line storage on the Web browser of all HSYCO HTML static content, set this parameter to true.<br />
<br />
{{tip|Note that all files saved under any subdirectory named "nocache" will not be listed in the persistent cache's manifest file.}}<br />
<br />
<br />
'''HTTPServerThreads'''<br />
<br />
'''Default:''' 256<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
Sets the total number of processing threads for the HTTP and HTTPS internal web servers.<br />
<br />
You should change this parameter only when you have a very large number of active web clients.<br />
<br />
Web browsers normally use only a few (up to about 6) concurrent connections for each session, and the default should be fine to support up to at least 40 active clients.<br />
<br />
When the HTTP and HTTPS servers run low of threads, some clients could see their requests rejected, causing page load errors or becoming unresponsive.<br />
<br />
In this case you should see “too many connections” error messages in HSYCO’s log files.<br />
<br />
{{tip|Increasing this parameter also increases memory and I/O resources requirements to the underlying operating system.}}<br />
<br />
=== Clock ===<br />
<br />
<br />
[[File:Configuration Clock.png|border|center|600px]]<br />
<br />
<br />
'''TimeAutoUpdate'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' false | true | NTP server name/address<br />
<br />
<br />
HSYCO automatically sets the local date and time by polling Network Time Protocol (NTP) servers.<br />
<br />
To disable this feature, set this parameter to false.<br />
<br />
To use a specific NTP server, set this parameter to the name or IP address of the NTP server.<br />
<br />
<br />
'''TimeZone'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' the time zone id<br />
<br />
<br />
Set the current time zone.<br />
<br />
The time zone information is used to obtain the correct local time and automatically adjust for daylight saving time.<br />
<br />
If this parameter is not set, HSYCO will use the operating system’s time zone settings.<br />
<br />
The time zone id is either in the form “Area/Location”, or a generic “GMT+NN”, “GMT-NN” format that simply defines the hours offset from UTC time.<br />
<br />
When the “Area/Location” format is used, the clock is automatically adjusted for daylight saving time.<br />
<br />
The TimeZone value should have no spaces; replace spaces in area or location names with underscores, for example “America/New_York”.<br />
<br />
When HSYCO starts, you can check the message.log file to see the actual time zone and DST setting, just after the start-up message, for example:<br />
<br />
2013.07.10 15:28:30.113 - HSYCO Ver. 3.3.0 Build 0112 (USER Ver. No User Code) started<br />
2013.07.10 15:28:30.425 - Time zone is: Europe/Rome (Central European Summer Time)<br />
<br />
<br />
'''Latitude'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive or negative numerical value, decimals separated by “.”<br />
<br />
<br />
Latitude in decimal degrees (positive for the Northern Hemisphere), to calculate the sun position and sunrise/sunset time.<br />
<br />
<br />
'''Longitude'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive or negative numerical value, decimals separated by “.”<br />
<br />
<br />
Longitude in decimal degrees (positive for the Eastern Hemisphere), to calculate the sun position and sunrise/sunset time.<br />
<br />
<br />
'''SunriseOffsetMinutes'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive or negative integer number<br />
<br />
<br />
Deviation in minutes from the astronomical sunrise time (in advance if negative, delayed if positive).<br />
<br />
<br />
'''SunsetOffsetMinutes'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive or negative integer number<br />
<br />
<br />
Deviation in minutes from the astronomical sunset time (in advance if negative, delayed if positive).<br />
<br />
=== High Availability ===<br />
<br />
<br />
[[File:Configuration High Availability.png|border|center|600px]]<br />
<br />
<br />
'''haMode'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' master | slave<br />
<br />
<br />
Enables the high availability configuration of HSYCO.<br />
<br />
The high availability configuration uses two different HSYCO systems, one is configured as the master system, the other as slave.<br />
<br />
<br />
'''haMasterIP'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' IP address: nnn.nnn.nnn.nnn<br />
<br />
<br />
Mandatory parameter for the high availability configuration.<br />
<br />
It specifies the IP address of the HSYCO master system.<br />
<br />
<br />
'''haSlaveIP'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' IP address: nnn.nnn.nnn.nnn<br />
<br />
<br />
Mandatory parameter for the high availability configuration.<br />
<br />
It specifies the IP address of the HSYCO slave system.<br />
<br />
<br />
'''haActiveIP'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' IP address: nnn.nnn.nnn.nnn<br />
<br />
<br />
Optional parameter for the high availability configuration.<br />
<br />
Defines an IP address that the active server, master or slave, will assign as an IP alias to its main Ethernet port.<br />
Using this IP address, clients will be able to access the active server with the same address, regardless of the active server being the master or the slave.<br />
<br />
<br />
'''haDisableCommandEvents'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Optional parameter for the high availability configuration.<br />
<br />
If true, command methods and actions in Java and EVENTS are automatically disabled on the HSYCO Server that is not active (for example the system defined as slave is not active when the master system works properly) for the following systems: Audio, Cameras, Comm ports, DMX, I/O Servers, IRTrans, Modbus (write command are disabled) Squeezebox, URL.<br />
<br />
<br />
'''haDisableFilesSync'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Optional parameter for the high availability configuration.<br />
<br />
If true, files changes on the master will not be synched to the slave server (changes to access.ini, scheduler.ini and timers.data will not be synched too).<br />
<br />
<br />
'''haClientSessionsFailover'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Optional parameter for the high availability configuration.<br />
<br />
When true the slave server will mirror the master's authentication keys, allowing a clean transition of authenticated sessions from master to slave.<br />
<br />
{{tip|To ensure a proper transition of the client sessions from master to slave, the ServerName option and the hsyco.keys file of the slave server must also be the same as on the master.}}<br />
<br />
=== Remote HSYCO Servers ===<br />
<br />
The HSYCO Remote I/O Server is a powerful and secure server-to-server communication system that allows an HSYCO server read and write access to all the I/O data points and GUI variables of other remote HSYCO servers. The remote HSYCO Servers settings are used to enable remote HSYCO servers access to this server.<br />
<br />
The HSYCO Remote I/O Server uses a secure HTTPS API based on the REST (Representational state transfer) model and the JSON data format. A subset of this API can be used by third-party HTTP client applications. Read the [[HSYCO Remote API]] specification for additional details.<br />
<br />
<br />
[[File:Configuration Remote HSYCO Servers.png|border|center|600px]]<br />
<br />
<br />
'''RemoteServerPassword'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string (letters and numbers), 8 characters or longer<br />
<br />
<br />
Set this password to enable this HSYCO server to be accessed by another HSYCO server via the HSYCO Remote I/O Server (see the HSYCO Remote I/O Server Application Note for further information).<br />
<br />
{{note|The password must be at least 8 characters long. You should use a very long and randomly generated string to reduce the risk of unauthorized access.}}<br />
<br />
<br />
'''RemoteServerAddress'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' comma separated list of IP addresses, or *<br />
<br />
<br />
Set to the IP addresses of the remote HSYCO servers that should be allowed to access this HSYCO server.<br />
<br />
Set to * to allow any remote IP address.<br />
<br />
<br />
'''RemoteServerControl'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Set to true to allow the remote server to modify the data points values of this HSYCO server.<br />
<br />
<br />
'''RemoteServerIOFilter'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' comma separated list of I/O Servers IDs<br />
<br />
<br />
If you want to limit remote access and control to just some of the I/O Servers defined in this HSYCO, use this parameter to list the I/O Servers that should be available to the remote HSYCO system.<br />
<br />
Filtering out I/O Servers that are not used remotely could have a positive impact on performance and network traffic.<br />
<br />
<br />
'''RemoteServerUIFilter'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' comma separated list of I/O Servers IDs<br />
<br />
<br />
If you want to limit remote access and control to just some of the user interface objects defined in this HSYCO, use this parameter to list the objects’ IDs prefixes (a prefix is the first part of the ID, before the first dot character, if you are using a dot-separated notation; use the full ID if not using the dot notation) that should be available to the remote HSYCO system.<br />
<br />
Filtering out UI objects that are not used remotely could have a positive impact on performance and network traffic.<br />
<br />
=== Email ===<br />
<br />
<br />
[[File:Configuration Email.png|border|center|600px]]<br />
<br />
<br />
'''SmtpName'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' SMTP server name or IP address<br />
<br />
<br />
SMTP server name or numeric IP address.<br />
<br />
This parameter is used by the MAIL action and sendMail() method to send email messages through a specific authenticated and secured SMTP account rather than directly to the recipient’s SMTP server.<br />
<br />
<br />
'''SmtpPort'''<br />
<br />
'''Default:''' 25, 465 or 587<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
SMTP server’s port number, if different from the default port.<br />
<br />
The default port is:<br />
* 25 for not encrypted traffic<br />
* 465 for SMTP over SSL<br />
* 587 for ESMTP.<br />
<br />
<br />
'''SmtpUser'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string<br />
<br />
<br />
Account’s username to authenticate the connection to the SMTP server.<br />
<br />
<br />
'''SmtpPassword'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string<br />
<br />
<br />
Account’s password to authenticate the connection to the SMTP server.<br />
<br />
<br />
'''SmtpSSL'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true | esmtp<br />
<br />
<br />
Set to “true” for SMTP server that support SMTP over SSL (default port is 465).<br />
<br />
Set to “esmtp” for SMTP server that support ESMTP (default port is 587).<br />
<br />
Set to “false” for SMTP servers that don’t support traffic encryption.<br />
<br />
<br />
'''SmtpDebug'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Set to “true” to dump all SMTP sessions data to the console log file. This option is for debugging purposes only, and should not be left set to true when not needed.<br />
<br />
=== Audio Server ===<br />
<br />
<br />
[[File:Configuration Audio Server.png|border|center|600px]]<br />
<br />
<br />
'''AudioServerTTS'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string<br />
<br />
<br />
This parameter is only needed if you are using a text-to-speech engine that is not the default one for the operating system.<br />
<br />
See the [[Audio and Public Announcement]] section for additional information.<br />
<br />
<br />
'''AudioServerVolume'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
Change the default output volume for pre-recorded audio files and the text-to-speech engine.<br />
<br />
<br />
'''AudioServerQuality'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
Change the default quality for the text-to-speech engine.<br />
<br />
<br />
'''AudioServerSpeed'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
Change the default speed for pre-recorded audio files and the text-to-speech engine.<br />
<br />
=== Extras ===<br />
<br />
<br />
[[File:Configuration Extras.png|border|center|600px]]<br />
<br />
<br />
This section is used to set other not standard parameters that should be saved in hsyco.ini, like application-specific parameters.<br />
<br />
== I/O Servers ==<br />
<br />
HSYCO Server interfaces to several field sub-systems, including lighting and automation systems, video cameras, HVAC controllers, security systems, and other special-purpose devices. HSYCO supports several standard protocols, like BACnet, DALI, DMX, KNX, Modbus, as well as quite a few proprietary protocols.<br />
<br />
Most of these field systems are represented inside HSYCO as “I/O servers”. An I/O server is a software module that offers a standardized abstraction layer so that even very different systems can be interfaced using a consistent naming convention and programming model.<br />
<br />
<br />
[[File:Configuration IO Servers.png|border|center|600px]]<br />
<br />
<br />
Each I/O server must have a unique ID. You can add a new I/O server pressing the + button.<br />
<br />
<br />
[[File:Configuration IO Servers New IO.png|border|center]]<br />
<br />
<br />
Select the type and enter the server’s unique ID.<br />
<br />
Already defined I/O servers could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
Each server type may require different configuration parameters, like IP address and port, serial port id, or authentication information.<br />
<br />
Refer to the Application Notes documentation for detailed configuration and interfacing information for I/O servers.<br />
<br />
The “Shutdown when inactive” parameter, that is available for all I/O server types, is only used in high availability configurations. <br />
<br />
Set it to true to automatically stop the I/O server when the HSYCO server (master or slave) is not the active system. Set to false to keep the I/O server running even when the HSYCO server is not the active system.<br />
<br />
[[File:ToDo]] LINK ALL'ELENCO DEGLI I/O SERVERS<br />
<br />
<br />
== Communication Ports ==<br />
<br />
<br />
[[File:Configuration Communication Ports.png|border|center|600px]]<br />
<br />
<br />
The Comm Ports section is used to define all serial ports and their configuration parameters.<br />
<br />
Each port must have a unique ID. You can add a new ports pressing the + button.<br />
<br />
<br />
[[File:Configuration Communication Ports New Comm.png|border|center]]<br />
<br />
<br />
Select the type and enter the port’s unique ID.<br />
<br />
Already defined ports could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
The different types of comm ports have different configuration parameters.<br />
<br />
The CommPortsList is an optional parameter, and should not be required unless the operating system fails to automatically detect the local serial ports. In this case, list all local serial ports using the full operating system port names, for example: /dev/ttyS0,/dev/ttyS1.<br />
<br />
=== Serial ports ===<br />
<br />
<br />
[[File:Configuration Serial ports.png|border|center|600px]]<br />
<br />
<br />
To configure one of the real serial ports of the server, or a USB serial adapter, create a port of type “serial”.<br />
<br />
'''Port'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
Complete or partial system name of the associated communication port. In the Linux based architecture of the HSYCO servers this is the naming convention:<br />
<br />
* COM1: ttyS0 or /dev/ttyS0<br />
* COM2: ttyS1 or /dev/ttyS1<br />
* COM3: ttyS2 or /dev/ttyS2<br />
* COM4: ttyS3 or /dev/ttyS3<br />
<br />
For USB connected devices:<br />
<br />
* 1st USB device: ttyUSB0 or /dev/ttyUSB0<br />
* 2nd USB device: ttyUSB1 or /dev/ttyUSB1<br />
* ...etc etc<br />
<br />
<br />
'''Baud rate'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
Port speed.<br />
<br />
<br />
'''Data bits'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
The number of bits can be 8, 7, 6 or 5. It should be set to 8 in most cases.<br />
<br />
<br />
<br />
'''Stop bits'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
The number of stop bits can be 1, 1.5 or 2.<br />
<br />
<br />
'''Parity'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
Parity can be none, odd, even, mark or space.<br />
<br />
<br />
'''Flow control'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
Flow control can be none, XON/XOFF or RTS/CTS.<br />
<br />
<br />
'''Timeout'''<br />
<br />
'''Default:''' 2000<br />
<br />
'''Format:'''<br />
<br />
<br />
The timeout parameter is optional and could be omitted. It defines the serial port receive timeout, in milliseconds. Defaults to 2 seconds if not defined.<br />
<br />
=== Serial Gateways ===<br />
<br />
Generic serial gateways that provide bi-directional serial port communication via a TCP connection are supported by HSYCO. <br />
<br />
[[File:Configuration Server ports.png|border|center|600px]]<br />
<br />
To configure a comm port to send data to the serial port of a serial gateway, you should set the comm port type to “server”, and set the gateway’s IP address and TCP port number.<br />
<br />
The serial port handshake parameters must be set on the gateway using its configuration utilities.<br />
<br />
HSYCO supports a high-availability, failover configuration for serial gateways.<br />
<br />
HSYCO supports a high-availability, failover configuration for serial gateways. You enable failover by adding a second IP address to the IP parameter.<br />
<br />
HSYCO will try to establish a connection using the first IP address, automatically switching to the failover address if a communication error occurs.<br />
<br />
In this configuration, the JavaScript or Java closeComm() function can be used to force a reconnect on the next call to readComm() or writeComm(), so that a switch between the fail-over IPs would happen if the current IP is not responding.<br />
<br />
=== HWG I/O Server ports ===<br />
<br />
Some network I/O controllers produced by HWG have a serial port, that could be used as fully functional serial port by HSYCO. To configure these ports, select type “io”, then select the I/O server id of the HWG controller and enter the normal serial port configuration parameters.<br />
<br />
<br />
[[File:Configuration HWG Server ports.png|border|center|600px]]<br />
<br />
<br />
=== IRTrans ports ===<br />
<br />
Some IRTrans network IR controllers have a local serial port. HSYCO can use this port as an output-only serial port.<br />
<br />
To configure an IRTrans serial port, select type “irtrans”, and select the id of the IRTrans device. The serial port communication parameters, like speed, flow control etc., should be configured on the IRTrans.<br />
<br />
<br />
[[File:Configuration IRTrans ports.png|border|center|600px]]<br />
<br />
<br />
== IRTrans Servers ==<br />
<br />
The IRTrans Servers section is used to define the IRTrans network infrared devices.<br />
<br />
<br />
[[File:Configuration IRTrans Servers1.png|border|center|600px]]<br />
<br />
<br />
Each IRTrans must have a unique ID. You can add a new devices pressing the + button.<br />
<br />
<br />
[[File:Configuration IRTrans Servers2.png|border|center]]<br />
<br />
<br />
Already defined devices could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
<br />
[[File:Configuration IRTrans Servers3.png|border|center|600px]]<br />
<br />
<br />
The only configuration parameter is the IRTrans IP address.<br />
<br />
<br />
== Cameras == <br />
<br />
This section is used to define individual IP cameras, to set general configuration parameters for video processing, and to define camera grids for the user interface.<br />
<br />
<br />
[[File:Configuration Cameras1.png|border|center|600px]]<br />
<br />
<br />
=== General parameters ===<br />
<br />
'''CamerasRecordingMotionTriggerSeconds'''<br />
<br />
'''Default:''' 5<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
Number of seconds during which HSYCO keeps on recording from a camera after a recording trigger event for that camera. It is possible to set this parameter at 0, disabling the triggered recording of events; this can be useful in case it is preferred to control recording only through the Java user code or EVENTS.<br />
<br />
<br />
'''CamerasRefreshMillis'''<br />
<br />
'''Default:''' 1000<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
Camera frames acquisition interval, in milliseconds. For example, for a frequency of 4 frames a second, set the value to 250. A low value corresponds to a higher number of frames acquired and recorded in the time unit, with a heavier load in terms of CPU resources and disk space.<br />
<br />
<br />
'''CamerasResizedQuality'''<br />
<br />
'''Default:''' 0.7<br />
<br />
'''Format:''' decimal number between 0 and 1 (decimals separated by “.”)<br />
<br />
<br />
Image quality for images processing and resizing. Numbers close to 1 produce a better quality, but heavier load and larger size for each frame.<br />
<br />
<br />
=== Cameras parameters ===<br />
<br />
Each camera must have a unique ID. You can add a new cameras pressing the + button in the cameras list panel.<br />
<br />
<br />
[[File:Configuration Cameras2.png|border|center]]<br />
<br />
<br />
Already defined cameras could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
<br />
[[File:Configuration Cameras3.png|border|center|600px]]<br />
<br />
<br />
'''URL'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:''' complete URL<br />
<br />
<br />
Complete URL to acquire single frames in JPEG format, or MJPEG streams, in the desired resolution. Mandatory for each camera.<br />
Recording is based on frames acquired with this URL.<br />
<br />
When using MJPEG streams, it is advisable to configure the number of frames per second the camera streams to a value that is very close to HSYCO’s frame rate as set with CamerasRefreshMillis.<br />
<br />
<br />
'''URL Small'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' complete URL<br />
<br />
In order to optimize camera processing performance, set this optional parameter. The URL fetches frames at a lower resolution. When serving frames to the Web interface, HSYCO will automatically choose the most appropriate frame resolution to use, based on the size of the frame in the Web interface.<br />
<br />
Small frames are also normally used to create grids, improving processing performance.<br />
<br />
<br />
{{note|For a list of supported URLs check here: [[Camera URLs]] and here: [[Encoder URLs]].}}<br />
<br />
<br />
'''PTZ'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' name of the PTZ driver<br />
<br />
<br />
Defines the PTZ features of a camera and family of PTZ driver. The PTZ control of a camera is automatically added to the Web interface. <br />
<br />
You can click on the edges of the camera image to control the camera: up, down, right, left, zoom and focus.<br />
<br />
Supported types are:<br />
<br />
Camera.''id''.PTZ = axis (AXIS PTZ cameras)<br />
Camera.''id''.PTZ = axis-vptz (AXIS fixed cameras with virtual PTZ support)<br />
Camera.''id''.PTZ = panasonic (Panasonic BB and BL Series cameras)<br />
Camera.''id''.PTZ = panasonic-wv (Panasonic WV Series cameras)<br />
Camera.''id''.PTZ = mobotix (Mobotix cameras)<br />
Camera.''id''.PTZ = rovio (the WowWee Rovio camera)<br />
Camera.''id''.PTZ = SNV-3120, SNP-3120, SNP-3120V, SNP-3120H (Samsung cameras)<br />
Camera.''id''.PTZ = vptz (fixed cameras with virtual PTZ support implemented by HSYCO)<br />
Camera.''id''.PTZ = user (to associate custom Java code to the control areas of the image).<br />
<br />
<br />
'''Type'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
Defines the camera model type for cameras that support this option. For example, ''Camera.samsung.Type = SND-5080''.<br />
<br />
<br />
'''IO'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' ''enabled''<br />
<br />
<br />
For some camera models, you can enable I/O and VA (Visual Analysis) option for a camera. For example, Camera.<camid>.IO=enabled. If you want to enable I/O only, set it to “enabled:io”, or to “enabled:va” to enable VA only.<br />
<br />
<br />
'''User'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
When this parameter is defined, the access requests to the frames and the commands for PTZ control of the camera are sent with user and password authentication.<br />
<br />
<br />
'''Password'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
When this parameter is defined, the access requests to the frames and the commands for PTZ control of the camera are sent with user and password authentication.<br />
<br />
<br />
'''Dropped Frames'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' integer number &ge; 0<br />
<br />
<br />
This parameter specifies the number of frames that should be discarded during recording. <br />
<br />
For example, setting the value to 1, half of the frames will be recorded out of those normally acquired from the camera; setting the value to 3, 3 frames will be discarded for each frame acquired, thus recording only 1/4 of the acquired frames. Dropping frames reduces space used to store frames on disk, and causes accelerated playback of recorded video.<br />
<br />
<br />
'''Max Age'''<br />
<br />
'''Default:''' 30d<br />
<br />
'''Format:''' positive integer number followed by “''d''” character, for days, “''h''” for hours or “''m''” for minutes<br />
<br />
<br />
Period of time, from when each frame acquired by the camera corresponding is recorded, during which the frames remain on HSYCO’s hard disk. <br />
<br />
When this time expires the frames are automatically deleted from the HSYCO motion directory. The older frames can be automatically erased even before their expiration time, in case the space available on disk drops below a safe margin.<br />
<br />
<br />
'''Motion Buffer'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive integer number <br />
<br />
<br />
Recording normally starts exactly when a recording trigger or command is issued. Using this parameter you can have HSYCO start recording some time ahead of the recording command. This is particularly important to capture video a few seconds before an event happens.<br />
<br />
When this parameter is set, HSYCO constantly acquires images from the camera, not only when necessary to display or record video. Moreover, the temporary recording of this buffer requires memory resources, and it is therefore convenient not to use high values (values included between 10 and 20, with an acquisition rate of about 400 milliseconds, can be considered normal).<br />
<br />
Enable motion buffering only when actually needed.<br />
<br />
<br />
'''Remote Password'''<br />
<br />
'''Default:''' <br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
HSYCO can optionally serve live images of its cameras through a password protected HTTP request, for example:<br />
<br />
<nowiki>https://<hsycoserver>/x/camera/<cameraid>?password=<password>&size=<width>x<height></nowiki><br />
<br />
(size is optional) for single frames or: <br />
<br />
<nowiki>https://<hsycoserver>/x/camerastream/<cameraid>?size=<width>x<height>&password=<pwd>[&period=<millis>]</nowiki><br />
<br />
to retrieve a MJPEG stream.<br />
<br />
It is also possible to define different passwords for clients inside the trusted range of IP addresses and outside.<br />
<br />
<br />
'''Trusted Password'''<br />
<br />
'''Default:''' <br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
Similar to RemoteRequestPassword, you can use this optional parameter to set remote passwords for clients inside the trusted range of IO addresses.<br />
<br />
Note that requests with the TrustedRequestPassword value will be also served via HTTP, without SSL.<br />
<br />
<br />
'''Rotate'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
Allows the rotation of the images acquired by a camera. Set to the number of decimal degrees of rotation. A positive number causes a clockwise rotation. Because of the rotation, the images could be cut or have bars at their edges to adapt the rotated picture to the frame size. Setting this parameter could cause a noticeable impact of performance, especially when processing high resolution images.<br />
<br />
=== Grids ===<br />
<br />
You can define up to 99 different combinations of cameras to create matrix displays of multiple cameras. The id is automatically generated when the + button is pressed, starting from 1 and up to 99 with consecutive numbers.<br />
<br />
Grids could be deleted using the - button.<br />
<br />
<br />
[[File:Configuration Grids.png|border|center|600px]]<br />
<br />
<br />
Select an item in the grids list to define the grid’s number of rows and columns and select the cameras for each position. You can leave some positions empty.<br />
You should also define the other grid parameters.<br />
<br />
'''Resolution'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' <width> x <height> in pixels<br />
<br />
<br />
This optional parameter is used to optimize grid processing performance, especially on large grids when using large size skins for the Web interface.<br />
<br />
You can define a maximum resolution for the grid. HSYCO will always deliver this grid with a resolution that is never larger than the width and height defined with this parameter. <br />
<br />
The effect is to reduce the byte size of the resulting image, improving performance on remote connections, and to offload the CPU processing required to generate the grid, having a potential benefit on frame rate.<br />
<br />
<br />
'''Remote Password'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
HSYCO can optionally serve live images of its grids through a password protected HTTP request, for example:<br />
<br />
<nowiki>https://<hsycoserver>/x/camera/grid<N>?password=<password>&size=<width>x<height></nowiki><br />
<br />
(size is optional) for single frames or: <br />
<br />
<nowiki>https://<hsycoserver>/x/camerastream/grid<N>?size=<width>x<height>&password=<pwd>[&period=<millis>]</nowiki><br />
<br />
to retrieve a MJPEG stream.<br />
<br />
It is also possible to define different passwords for clients inside the trusted range of IP addresses and outside.<br />
<br />
<br />
'''Trusted Password'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
Similar to RemoteRequestPassword, you can use this optional parameter to set remote access passwords for clients inside the trusted range of IP addresses.<br />
<br />
Note that requests with the TrustedRequestPassword value will be also served via HTTP, without SSL.<br />
<br />
== Data Loggers ==<br />
<br />
The Data Loggers section is used to define HSYCO’s data loggers and their configuration parameters.<br />
<br />
<br />
[[File:Configuration Data Loggers1.png|border|center|600px]]<br />
<br />
<br />
There is one general configuration parameter:<br />
<br />
'''CSV Separator'''<br />
<br />
'''Default:''' comma<br />
<br />
'''Format:''' tab | comma | semicolon<br />
<br />
<br />
This parameter defines the field separator character for CSV files generated by the data loggers.<br />
<br />
<br />
Each data logger must have a unique ID. You can add a new data loggers pressing the + button.<br />
<br />
<br />
[[File:Configuration Data Loggers2.png|border|center]]<br />
<br />
<br />
Select the type, range or counter, and enter the data logger unique ID.<br />
<br />
Already defined data loggers could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
Counter and range data loggers have different configuration parameters.<br />
<br />
<br />
=== Counter Data Loggers ===<br />
<br />
<br />
[[File:Configuration Data Loggers Counter.png|border|center|600px]]<br />
<br />
<br />
'''Decimals'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
The number of decimal digits to be used for the input data.<br />
<br />
<br />
'''Resolution'''<br />
<br />
'''Default:''' hour<br />
<br />
'''Format:''' minute | hour | day | month<br />
<br />
<br />
Data aggregation maximum resolution.<br />
<br />
<br />
'''Hour Interval'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' divisor of 24<br />
<br />
<br />
Specifies the number of hours to be grouped into a single interval. For example, if set to 6, the day will be divided in groups of 6 hours: 1-6, 7-12, 13-18, and 19-24.<br />
<br />
<br />
'''Set Variables'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
If set to true (checked), the following variables will be generated:<br />
*<code>$dlog.<datalogger_id>.hour.tot</code>: its value is updated to the total value of the current hour<br />
*<code>$dlog.<datalogger_id>.hour.past.tot</code>: its value is updated to the total value of the past hour<br />
*<code>$dlog.<datalogger_id>.day.tot</code>: its value is updated to the total value of today<br />
*<code>$dlog.<datalogger_id>.day.past.tot</code>: its value is updated to the total value of yesteday<br />
*<code>$dlog.<datalogger_id>.month.tot</code>: its value is updated to the total value of the current month<br />
*<code>$dlog.<datalogger_id>.month.past.tot</code>: its value is updated to the total value of the past month<br />
*<code>$dlog.<datalogger_id>.year.tot</code>: its value is updated to the total value of the current year<br />
*<code>$dlog.<datalogger_id>.year.past.tot</code>: its value is updated to the total value of the past year<br />
<br />
If slots are used, the following variables will be generated for each slot:<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.hour.tot</code>: its value is updated to the total value of the current hour for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.hour.past.tot</code>: its value is updated to the total value of the past hour for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.day.tot</code>: its value is updated to the total value of today for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.day.past.tot</code>: its value is updated to the total value of yesteday for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.month.tot</code>: its value is updated to the total value of the current month for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.month.past.tot</code>: its value is updated to the total value of the past month for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.year.tot</code>: its value is updated to the total value of the current year for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.year.past.tot</code>: its value is updated to the total value of the past year for this slot<br />
<br />
<br />
'''Delete data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, data older than the specified amount of days will be deleted.<br />
<br />
<br />
'''Consolidate months data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one month.<br />
<br />
<br />
'''Consolidate days data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one day.<br />
<br />
<br />
'''Consolidate hours data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one hour.<br />
<br />
<br />
'''Max Delta'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' positive float number<br />
<br />
<br />
Sets the maximum valid delta between consecutive readings. If the calculated delta exceed such value, the read value is ignored. If not specified, all values are accepted.<br />
<br />
{{tip|It is highly recommended to set the delta limit in order to prevent the data series from being corrupted in case of false readings.}}<br />
<br />
<br />
'''Upper Limit'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive float number<br />
<br />
<br />
Specifies the maximum value that can be reached by the input value. This value will be used in case of counter roll-over. A value of 0 indicates that no upper limit is specified.<br />
<br />
<br />
'''Separate Slot Charts'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
<br />
Option for counter data loggers using time slots. Specifies wether or not to use different monthly and yearly charts for each defined time slot.<br />
<br />
<br />
'''Align Slots'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' true | false<br />
<br />
<br />
Option for counter data loggers using time slots with separate charts. Specifies wether or not to align the scale of the slot charts belonging to the same period.<br />
<br />
<br />
<br />
'''Rates Log File'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' file path. e.g.: ''hsyco/rates.csv''<br />
<br />
<br />
Option for counter data loggers using time slots. Specifies the path of the file where the processed data will be logged. If omitted, no log file will be created.<br />
<br />
If the path includes the strings “%Y”, “%M”, or “%D” they will be replaced respectively by the current year, month, or day.<br />
<br />
=== Range Data Loggers ===<br />
<br />
<br />
[[File:Configuration Data Loggers Range.png|border|center|600px]]<br />
<br />
<br />
'''Decimals'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
The number of decimal digits to be used for the input data.<br />
<br />
<br />
'''Resolution'''<br />
<br />
'''Default:''' hour<br />
<br />
'''Format:''' minute | hour | day | month<br />
<br />
<br />
Data aggregation maximum resolution.<br />
<br />
<br />
'''Hour Interval'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' divisor of 24<br />
<br />
<br />
Specifies the number of hours to be grouped into a single interval. For example, if set to 6, the day will be divided in groups of 6 hours: 1-6, 7-12, 13-18, and 19-24.<br />
<br />
<br />
'''Set Variables'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
If set to true (checked), the following variables will be generated:<br />
*<code>$dlog.<datalogger_id>.hour.min.tot</code>: its value is updated to the minimum value of the current hour<br />
*<code>$dlog.<datalogger_id>.hour.max.tot</code>: its value is updated to the maximum value of the current hour<br />
*<code>$dlog.<datalogger_id>.hour.avg.tot</code>: its value is updated to the average value of the current hour<br />
*<code>$dlog.<datalogger_id>.hour.past.min.tot</code>: its value is updated to the minimum value of the past hour<br />
*<code>$dlog.<datalogger_id>.hour.past.max.tot</code>: its value is updated to the maximum value of the past hour<br />
*<code>$dlog.<datalogger_id>.hour.past.avg.tot</code>: its value is updated to the average value of the past hour<br />
<br />
*<code>$dlog.<datalogger_id>.day.min.tot</code>: its value is updated to the minimum value of today<br />
*<code>$dlog.<datalogger_id>.day.max.tot</code>: its value is updated to the maximum value of today<br />
*<code>$dlog.<datalogger_id>.day.avg.tot</code>: its value is updated to the average value of today<br />
*<code>$dlog.<datalogger_id>.day.past.min.tot</code>: its value is updated to the minimum value of yesterday<br />
*<code>$dlog.<datalogger_id>.day.past.max.tot</code>: its value is updated to the maximum value of yesterday<br />
*<code>$dlog.<datalogger_id>.day.past.avg.tot</code>: its value is updated to the average value of yesterday<br />
<br />
*<code>$dlog.<datalogger_id>.month.min.tot</code>: its value is updated to the minimum value of the current month<br />
*<code>$dlog.<datalogger_id>.month.max.tot</code>: its value is updated to the maximum value of the current month<br />
*<code>$dlog.<datalogger_id>.month.avg.tot</code>: its value is updated to the average value of the current month<br />
*<code>$dlog.<datalogger_id>.month.past.min.tot</code>: its value is updated to the minimum value of the past month<br />
*<code>$dlog.<datalogger_id>.month.past.max.tot</code>: its value is updated to the maximum value of the past month<br />
*<code>$dlog.<datalogger_id>.month.past.avg.tot</code>: its value is updated to the average value of the past month<br />
<br />
*<code>$dlog.<datalogger_id>.year.min.tot</code>: its value is updated to the minimum value of the current year<br />
*<code>$dlog.<datalogger_id>.year.max.tot</code>: its value is updated to the maximum value of the current year<br />
*<code>$dlog.<datalogger_id>.year.avg.tot</code>: its value is updated to the average value of the current year<br />
*<code>$dlog.<datalogger_id>.year.past.min.tot</code>: its value is updated to the minimum value of the past year<br />
*<code>$dlog.<datalogger_id>.year.past.max.tot</code>: its value is updated to the maximum value of the past year<br />
*<code>$dlog.<datalogger_id>.year.past.avg.tot</code>: its value is updated to the average value of the past year<br />
<br />
<br />
'''Delete data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, data older than the specified amount of days will be deleted.<br />
<br />
<br />
'''Consolidate months data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one month.<br />
<br />
<br />
'''Consolidate days data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one day.<br />
<br />
<br />
'''Consolidate hours data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one hour.<br />
<br />
<br />
'''Origin'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' float number<br />
<br />
<br />
Specifies the origin of the charts.<br />
<br />
<br />
<br />
'''Range'''<br />
<br />
'''Default:''' <br />
<br />
'''Format:''' range: low:up<br />
<br />
<br />
Specifies the range of the charts as “low:up”, where “low” indicates the lower limit and “up” the upper one. The lower and upper limits can be specified as rigid or flexible: if the value of a limit is followed by a “!” (e.g. 0!:20!) then it is rigid, meaning it will not change even if the data logger has processed a value exceeding the range. On the contrary, flexible ranges (e.g. 0:20) will be modified whenever a value exceed it. <br />
<br />
If the parameter is omitted, the charts will range from the lowest processed value to the highest one.<br />
<br />
<br />
'''Out of Range Mode'''<br />
<br />
'''Default:''' cut<br />
<br />
'''Format:''' cut | ignore<br />
<br />
<br />
Option for range data loggers with a predefined range. Specifies the behavior of the data logger when updated with a value which exceed the set value range: if “cut” is specified then the value is adjusted to the limits, else, if this parameter is set to “ignore”, the passed value is not taken into account. In both cases, an error message is reported for out of range values.<br />
<br />
=== Tools ===<br />
<br />
By clicking on the tools icon it is possible to access the data recovery functionality.<br />
<br />
This tool allows to import data loggers' data from an old backup of the "data" folder. It can be used in case of database corruption or hard disk failure.<br />
<br />
[[File:Configuration Data Loggers Recovery.png|border|center]]<br />
<br />
Enter the name of the folder containing the backup (default: "data_backup", must be located in HSYCO's root folder) and specify whether or not to overwrite existing data. This option specifies how to handle data which are stored both in the backup database and in the current database and relative to the same time. If the checkbox is set the data in the backup will overwrite the current data, otherwise the current data will be preserved.<br />
<br />
When clicking on "Restore" all the data of the currently defined and enabled data loggers available in the backup will be imported.<br />
<br />
== DMX ==<br />
<br />
The DMX section is used to define the DMX-512 gateways.<br />
<br />
<br />
[[File:Configuration DMX1.png|border|center|600px]]<br />
<br />
<br />
Each DMX gateway must have a unique ID. You can add a new devices pressing the + button.<br />
<br />
<br />
[[File:Configuration DMX2.png|border|center]]<br />
<br />
<br />
Already defined devices could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
HSYCO supports three different DMX solutions, using different configuration parameters.<br />
<br />
=== KissBox DMX Network Gateways ===<br />
<br />
For KissBox network gateways, check IP and enter the IP address and port number.<br />
<br />
<br />
[[File:Configuration DMX KissBox.png|border|center]]<br />
<br />
<br />
=== ENTTEC DMX USB PRO DMX Gateways ===<br />
<br />
For the ENTTEC DMX USB PRO DMX gateways, check Comm and enter the virtual serial port name assigned to the USB port. See the [[Enttec|ENTTEC DMX USB PRO]] application note for additional information.<br />
<br />
<br />
[[File:Configuration DMX Enttec.png|border|center]]<br />
<br />
=== Domino and Contatto DMX devices ===<br />
<br />
When using Doemmegi’s Domino or Contatto systems DMX devices, check ID and enter the full device name, including the I/O server prefix. See the [[Domino]] or [[Contatto]] application notes for additional information.<br />
<br />
<br />
[[File:Configuration DMX Duemmegi.png|border|center]]<br />
<br />
== Location Services ==<br />
<br />
The Location Services section is used to define the WiFi access points used to locate the WiFi clients position.<br />
<br />
<br />
[[File:Configuration Location Services1.png|border|center|600px]]<br />
<br />
<br />
Each access point must have a unique ID. You can add a new devices pressing the + button.<br />
<br />
<br />
[[File:Configuration Location Services2.png|border|center]]<br />
<br />
<br />
Already defined devices could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
<br />
[[File:Configuration Location Services3.png|border|center|600px]]<br />
<br />
<br />
The only configuration parameter is the access point IP address.<br />
<br />
== Timers ==<br />
<br />
The Timers section is used to define user timers.<br />
<br />
<br />
[[File:Configuration Timers1.png|border|center|600px]]<br />
<br />
<br />
Each timer must have a unique ID. You can add a new timers pressing the + button.<br />
<br />
<br />
[[File:Configuration Timers2.png|border|center]]<br />
<br />
<br />
Already defined timers could be deleted with the - button or disabled by unchecking the Enabled checkbox.<br />
Timers don’t require any configuration parameter besides the id.<br />
<br />
== Squeezebox ==<br />
<br />
This section is used to define the Squeezebox server and music players.<br />
<br />
<br />
[[File:Configuration Squeezebox1.png|border|center|600px]]<br />
<br />
<br />
You should set the Squeezebox server’s IP address or network name and port number.<br />
<br />
Each player must have a unique ID. You can add a new devices pressing the + button.<br />
<br />
<br />
[[File:Configuration Squeezebox2.png|border|center]]<br />
<br />
<br />
Already defined devices could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
<br />
[[File:Configuration Squeezebox3.png|border|center|600px]]<br />
<br />
<br />
The only configuration parameter is the player id, usually its MAC address.</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Settings&diff=5221Settings2014-10-14T14:00:37Z<p>Manuela: /* Cameras parameters */</p>
<hr />
<div>[[Category:Manager]]<br />
[[File:Manager Settings Icon.png|class=appIcon|The '''Settings''' icon]]<br />
HSYCO can be configured using the Settings application in the Manager.<br />
<br />
Settings stores all configuration parameters in the hsyco.ini file.<br />
<br />
<br />
{{tip|You can copy this file to save the current configuration, or manually change it. In this case, be sure to reopen the Settings application after the changes have been saved.}}<br />
<br />
<br />
The configuration is read at start-up, so any changes become effective only after restarting the HSYCO process.<br />
<br />
HSYCO is factory configured to automatically restart when hsyco.ini is saved.<br />
<br />
<br />
[[File:Manager_settings_menu.png|border|center|600px]]<br />
<br />
<br />
When you make changes using Settings, the hsyco.ini file will be overwritten when you press the Save button.<br />
<br />
You can’t return to the previous configuration once it is saved.<br />
<br />
The Revert button allows you to reload the current configuration if you have made changes in Setting that have not yet been saved.<br />
<br />
Settings parameters are grouped in several sections.<br />
<br />
You can make changes to any parameter, even in different sections, and then save all changes together.<br />
<br />
== System ==<br />
<br />
The Systems section contains all general configuration parameters, including vital parameters affecting system’s security and reliability.<br />
<br />
These parameters are further split in several sub-sections.<br />
<br />
=== General ===<br />
<br />
<br />
[[File:Manager settings general.png|border|center|600px]]<br />
<br />
<br />
'''URLKey'''<br />
<br />
'''Default:''' hsycoserver<br />
<br />
'''Format:''' string of at least 8 characters<br />
<br />
<br />
To protect against malicious service discovery robots, HSYCO does not answer to Web requests where only the server address is defined, for example https://192.168.0.50, but requires an extended URL, which must include an access key, called URLKey.<br />
<br />
{{tip|The URLKey must be at least 8 characters long.}}<br />
<br />
It is possible to specify more than one URLKEY, separated by a comma; in this case all the specified URLKEYs will be valid for the web access to HSYCO.<br />
<br />
The factory default URLKey is hsycoserver.<br />
<br />
The URLKey is not a secret password, but only an additional protection feature.<br />
<br />
<br />
'''Language'''<br />
<br />
'''Default:''' en<br />
<br />
'''Format:''' cn | en | fr | it<br />
<br />
<br />
Some I/O Servers and other core services use localized text messages. This parameter defines the default system language for these services.<br />
<br />
<br />
'''AutoKillFiles'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' list of file names separated by commas<br />
<br />
<br />
This parameter is usually set as: "hsyco.ini,hsyco.jar,com/hsyco/user.class" forcing the automatic restart after the changes of the three files listed.<br />
<br />
<br />
'''DatabaseBackup'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
When set to true, a hot backup of the core database is automatically executed on a daily basis, saving data in the data_backup directory, and overwriting the previous backup files.<br />
<br />
The data_backup directory can be used to restore the database. The [[Database Maintenance]] document explains how to safely perform the database restore procedure.<br />
<br />
{{note|Only one process can access the database files at any time. If you need to access these files using other applications or SQL utilities, you should stop the HSYCO process, otherwise all data could be lost.}}<br />
<br />
<br />
'''StartupDelay'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' 0 or positive integer number of seconds<br />
<br />
<br />
When set to a positive number, the HSYCO server will wait for the specified number of seconds at start-up before becoming active.<br />
<br />
This start-up delay could be useful to prevent HSYCO from starting before other peripherals or devices, like external storage systems, are completely initialized.<br />
<br />
<br />
'''ExceptionWatchdog'''<br />
<br />
'''Default:''' 5<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
After N uncaught Java execution exceptions, the HSYCO server will be killed and restarted.<br />
<br />
Set to 0 to disable the exception watchdog.<br />
<br />
<br />
'''EventsLoadTimeout'''<br />
<br />
'''Default:''' 20<br />
<br />
'''Format:''' positive integer number of seconds<br />
<br />
<br />
When events.txt is saved, If any code section takes more than the specified amount of time to execute during the test run and INIT events sections, HSYCO will abort the JavaScript engine, rename events.txt to events_unsafe.txt and, a few seconds later, will restart the whole HSYCO server engine to protect the integrity of the system.<br />
<br />
If you have code in events.txt that requires more than the default 20 seconds to run, you should set a larger value for EventsLoadTimeout.<br />
<br />
<br />
'''userLog'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Set to true to enable the log of the Java methods called in user.java or of the commands defined in the EVENTS programming environment.<br />
<br />
<br />
'''eventsLog'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
If true, the log of events received from field devices is enabled, for example the events related to the IO Servers.<br />
<br />
<br />
'''verboseLog'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
If true, the extended log is enabled.<br />
<br />
It is useful for debugging, or during the advanced customization phase or the development of Java code.<br />
<br />
<br />
'''persistentLog'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
When set to false, message and error logs are not written to files, and are only visible in the Manager's Log Viewer.<br />
<br />
You may want to avoid writing log files when using servers with limited disk space or when the mass storage device is an SSD with limited write cycles.<br />
<br />
<br />
'''securityLogDailyFiles'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
When set to true, the security logs are written in daily files named MMDD-security.log.<br />
<br />
<br />
'''LogMaxAge'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' 0, or positive integer number<br />
<br />
<br />
Log files are automatically deleted when older than the number of days defined with this parameter.<br />
<br />
When set to 0 or not defined, log files are not deleted automatically.<br />
<br />
=== Access Control ===<br />
<br />
<br />
<br />
[[File:Configuration Access Control.png|border|center|600px]]<br />
<br />
<br />
'''trustedNet'''<br />
<br />
'''Default:''' local<br />
<br />
'''Format:''' local, or nn.nn.nn.nn-nn.nn.nn.nn<br />
<br />
<br />
IP addresses that define the group of network addresses belonging to the secure local network.<br />
<br />
It is possible to enter multiple, comma-separated IP ranges or individual IP addresses, or simply enter “local”, so that HSYCO will assume all IP addresses in the LAN as trusted.<br />
<br />
The loop-back IP address (127.0.0.1) is considered part of the trusted network only when the trustedNet option is set to "local", or when explicitly listed.<br />
<br />
The Web clients connecting to HSYCO from these addresses are subject to the time-out defined in KeysTrustedValidityHours, which is usually longer than the one used for all the other IP addresses, defined in KeysNotTrustedValidityHours.<br />
<br />
<br />
'''KeysTrustedValidityHours'''<br />
<br />
'''Default:''' 24<br />
<br />
'''Format:''' integer > 0 or hh:mm<br />
<br />
<br />
Login time-out in hours for the connections from trusted IP addresses.<br />
<br />
Set on a very high value, e.g. 100000, to practically avoid the time-out of sessions.<br />
<br />
It can also be set using the hh:mm hours and minutes format.<br />
<br />
<br />
'''KeysNotTrustedValidityHours'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' integer > 0 or hh:mm<br />
<br />
<br />
Login time-out in hours for not trusted IP addresses.<br />
<br />
It can also be set using the hh:mm hours and minutes format.<br />
<br />
<br />
'''KeysInactivityHours'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' integer > 0 or hh:mm<br />
<br />
<br />
Inactivity time-out in hours.<br />
<br />
This is an optional parameter; if not set there will be no inactivity time-out and the user session will be automatically logged out based on the login time-out only.<br />
<br />
It can also be set using the hh:mm hours and minutes format.<br />
<br />
<br />
'''KeysInactivityMode'''<br />
<br />
'''Default:''' browser<br />
<br />
'''Format:''' browser | cameras | commands<br />
<br />
<br />
Inactivity time-out mode.<br />
<br />
This is an optional parameter.<br />
<br />
It is significant only when KeysInactivityHours is also defined.<br />
<br />
In browser mode, having the Web browser open on the HSYCO page will keep the session alive.<br />
<br />
In cameras mode the session will remain alive only when sending commands or watching cameras.<br />
<br />
In commands mode the session will stay alive only if commands are sent before the inactivity timer expires.<br />
<br />
<br />
'''HTTPServerPublicDirectory'''<br />
<br />
'''Default:''' browser<br />
<br />
'''Format:''' directory name<br />
<br />
<br />
If defined, enables a simple Web server that serves files, without any parsing, via HTTP and HTTPS, only to clients in the trusted range of IP addresses.<br />
<br />
This parameter sets the name of the directory, under the www root Web directory, used for the public files.<br />
<br />
If, for example, you have HTTPServerPublicDirectory=public, and an HTML file named home.html in the public directory, then the <nowiki>https://192.168.0.50/public/home.html</nowiki> URL will point to that file.<br />
<br />
As you see, you shouldn’t add the URLKey in public URLs.<br />
<br />
<br />
'''HTTPServerLowSecurityEnabled'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
<br />
Usually, the HTTP server is only active to let cameras and PBX systems send motion detection and calls notifications.<br />
<br />
To avoid the authentication keys, PIN and PUK codes and all traffic to be transmitted in the clear, the HTTP protocol is not normally used for Web access to HSYCO.<br />
<br />
Set the parameter to true only when you want to enable the not-secure HTTP protocol for Web access to HSYCO.<br />
<br />
<br />
'''WebAdminNetConfigLock'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
<br />
If true, the Web network settings functions are disabled.<br />
<br />
This parameter should be set to true once you expect no changes in the network configuration of HSYCO Server.<br />
<br />
=== Network ===<br />
<br />
<br />
[[File:Configuration Network.png|border|center|600px]]<br />
<br />
<br />
'''HTTPServerPort'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number < 65535<br />
<br />
<br />
TCP/IP port of HSYCO HTTP Web Server. If not defined, the HTTP server is not enabled.<br />
<br />
Normally set to 80.<br />
<br />
<br />
'''HTTPSSLServerPort'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number < 65535<br />
<br />
<br />
TCP/IP port of HSYCO HTTPS Web Server.<br />
<br />
If not defined, the HTTPS server is not enabled.<br />
<br />
Normally set to 443.<br />
<br />
<br />
'''SysLogServerPort'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number < 65535<br />
<br />
<br />
TCP/IP port of HSYCO SYSLOG Web server.<br />
<br />
The SYSLOG server is used to receive from the Access Points (AP) the information to determine which AP every user in the Wi-Fi LAN is using to connect.<br />
<br />
If not defined, the SYSLOG server is not enabled.<br />
<br />
It is usually set to 514.<br />
<br />
<br />
'''ServerName'''<br />
<br />
'''Default:''' hsyco<br />
<br />
'''Format:''' domain name<br />
<br />
<br />
Name used to generate the SSL certificate.<br />
<br />
It is necessary for the cryptography of the HTTPS Web traffic and should correspond to the domain name through which the HSYCO server is accessed via the Internet.<br />
<br />
The certificate is saved in the hsyco.keys file.<br />
<br />
When HSYCO is started, if this file is not available or its name doesn’t match the ServerName parameter in hsyco.ini, a new SSL certificate is automatically generated according to the name defined in ServerName.<br />
<br />
<br />
'''OffLineCache'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
HSYCO implements the off-line cache feature of the Web browsers that support the HTML 5.0 standard.<br />
<br />
To enable the off-line storage on the Web browser of all HSYCO HTML static content, set this parameter to true.<br />
<br />
{{tip|Note that all files saved under any subdirectory named "nocache" will not be listed in the persistent cache's manifest file.}}<br />
<br />
<br />
'''HTTPServerThreads'''<br />
<br />
'''Default:''' 256<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
Sets the total number of processing threads for the HTTP and HTTPS internal web servers.<br />
<br />
You should change this parameter only when you have a very large number of active web clients.<br />
<br />
Web browsers normally use only a few (up to about 6) concurrent connections for each session, and the default should be fine to support up to at least 40 active clients.<br />
<br />
When the HTTP and HTTPS servers run low of threads, some clients could see their requests rejected, causing page load errors or becoming unresponsive.<br />
<br />
In this case you should see “too many connections” error messages in HSYCO’s log files.<br />
<br />
{{tip|Increasing this parameter also increases memory and I/O resources requirements to the underlying operating system.}}<br />
<br />
=== Clock ===<br />
<br />
<br />
[[File:Configuration Clock.png|border|center|600px]]<br />
<br />
<br />
'''TimeAutoUpdate'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' false | true | NTP server name/address<br />
<br />
<br />
HSYCO automatically sets the local date and time by polling Network Time Protocol (NTP) servers.<br />
<br />
To disable this feature, set this parameter to false.<br />
<br />
To use a specific NTP server, set this parameter to the name or IP address of the NTP server.<br />
<br />
<br />
'''TimeZone'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' the time zone id<br />
<br />
<br />
Set the current time zone.<br />
<br />
The time zone information is used to obtain the correct local time and automatically adjust for daylight saving time.<br />
<br />
If this parameter is not set, HSYCO will use the operating system’s time zone settings.<br />
<br />
The time zone id is either in the form “Area/Location”, or a generic “GMT+NN”, “GMT-NN” format that simply defines the hours offset from UTC time.<br />
<br />
When the “Area/Location” format is used, the clock is automatically adjusted for daylight saving time.<br />
<br />
The TimeZone value should have no spaces; replace spaces in area or location names with underscores, for example “America/New_York”.<br />
<br />
When HSYCO starts, you can check the message.log file to see the actual time zone and DST setting, just after the start-up message, for example:<br />
<br />
2013.07.10 15:28:30.113 - HSYCO Ver. 3.3.0 Build 0112 (USER Ver. No User Code) started<br />
2013.07.10 15:28:30.425 - Time zone is: Europe/Rome (Central European Summer Time)<br />
<br />
<br />
'''Latitude'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive or negative numerical value, decimals separated by “.”<br />
<br />
<br />
Latitude in decimal degrees (positive for the Northern Hemisphere), to calculate the sun position and sunrise/sunset time.<br />
<br />
<br />
'''Longitude'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive or negative numerical value, decimals separated by “.”<br />
<br />
<br />
Longitude in decimal degrees (positive for the Eastern Hemisphere), to calculate the sun position and sunrise/sunset time.<br />
<br />
<br />
'''SunriseOffsetMinutes'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive or negative integer number<br />
<br />
<br />
Deviation in minutes from the astronomical sunrise time (in advance if negative, delayed if positive).<br />
<br />
<br />
'''SunsetOffsetMinutes'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive or negative integer number<br />
<br />
<br />
Deviation in minutes from the astronomical sunset time (in advance if negative, delayed if positive).<br />
<br />
=== High Availability ===<br />
<br />
<br />
[[File:Configuration High Availability.png|border|center|600px]]<br />
<br />
<br />
'''haMode'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' master | slave<br />
<br />
<br />
Enables the high availability configuration of HSYCO.<br />
<br />
The high availability configuration uses two different HSYCO systems, one is configured as the master system, the other as slave.<br />
<br />
<br />
'''haMasterIP'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' IP address: nnn.nnn.nnn.nnn<br />
<br />
<br />
Mandatory parameter for the high availability configuration.<br />
<br />
It specifies the IP address of the HSYCO master system.<br />
<br />
<br />
'''haSlaveIP'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' IP address: nnn.nnn.nnn.nnn<br />
<br />
<br />
Mandatory parameter for the high availability configuration.<br />
<br />
It specifies the IP address of the HSYCO slave system.<br />
<br />
<br />
'''haActiveIP'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' IP address: nnn.nnn.nnn.nnn<br />
<br />
<br />
Optional parameter for the high availability configuration.<br />
<br />
Defines an IP address that the active server, master or slave, will assign as an IP alias to its main Ethernet port.<br />
Using this IP address, clients will be able to access the active server with the same address, regardless of the active server being the master or the slave.<br />
<br />
<br />
'''haDisableCommandEvents'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Optional parameter for the high availability configuration.<br />
<br />
If true, command methods and actions in Java and EVENTS are automatically disabled on the HSYCO Server that is not active (for example the system defined as slave is not active when the master system works properly) for the following systems: Audio, Cameras, Comm ports, DMX, I/O Servers, IRTrans, Modbus (write command are disabled) Squeezebox, URL.<br />
<br />
<br />
'''haDisableFilesSync'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Optional parameter for the high availability configuration.<br />
<br />
If true, files changes on the master will not be synched to the slave server (changes to access.ini, scheduler.ini and timers.data will not be synched too).<br />
<br />
<br />
'''haClientSessionsFailover'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Optional parameter for the high availability configuration.<br />
<br />
When true the slave server will mirror the master's authentication keys, allowing a clean transition of authenticated sessions from master to slave.<br />
<br />
{{tip|To ensure a proper transition of the client sessions from master to slave, the ServerName option and the hsyco.keys file of the slave server must also be the same as on the master.}}<br />
<br />
=== Remote HSYCO Servers ===<br />
<br />
The HSYCO Remote I/O Server is a powerful and secure server-to-server communication system that allows an HSYCO server read and write access to all the I/O data points and GUI variables of other remote HSYCO servers. The remote HSYCO Servers settings are used to enable remote HSYCO servers access to this server.<br />
<br />
The HSYCO Remote I/O Server uses a secure HTTPS API based on the REST (Representational state transfer) model and the JSON data format. A subset of this API can be used by third-party HTTP client applications. Read the [[HSYCO Remote API]] specification for additional details.<br />
<br />
<br />
[[File:Configuration Remote HSYCO Servers.png|border|center|600px]]<br />
<br />
<br />
'''RemoteServerPassword'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string (letters and numbers), 8 characters or longer<br />
<br />
<br />
Set this password to enable this HSYCO server to be accessed by another HSYCO server via the HSYCO Remote I/O Server (see the HSYCO Remote I/O Server Application Note for further information).<br />
<br />
{{note|The password must be at least 8 characters long. You should use a very long and randomly generated string to reduce the risk of unauthorized access.}}<br />
<br />
<br />
'''RemoteServerAddress'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' comma separated list of IP addresses, or *<br />
<br />
<br />
Set to the IP addresses of the remote HSYCO servers that should be allowed to access this HSYCO server.<br />
<br />
Set to * to allow any remote IP address.<br />
<br />
<br />
'''RemoteServerControl'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Set to true to allow the remote server to modify the data points values of this HSYCO server.<br />
<br />
<br />
'''RemoteServerIOFilter'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' comma separated list of I/O Servers IDs<br />
<br />
<br />
If you want to limit remote access and control to just some of the I/O Servers defined in this HSYCO, use this parameter to list the I/O Servers that should be available to the remote HSYCO system.<br />
<br />
Filtering out I/O Servers that are not used remotely could have a positive impact on performance and network traffic.<br />
<br />
<br />
'''RemoteServerUIFilter'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' comma separated list of I/O Servers IDs<br />
<br />
<br />
If you want to limit remote access and control to just some of the user interface objects defined in this HSYCO, use this parameter to list the objects’ IDs prefixes (a prefix is the first part of the ID, before the first dot character, if you are using a dot-separated notation; use the full ID if not using the dot notation) that should be available to the remote HSYCO system.<br />
<br />
Filtering out UI objects that are not used remotely could have a positive impact on performance and network traffic.<br />
<br />
=== Email ===<br />
<br />
<br />
[[File:Configuration Email.png|border|center|600px]]<br />
<br />
<br />
'''SmtpName'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' SMTP server name or IP address<br />
<br />
<br />
SMTP server name or numeric IP address.<br />
<br />
This parameter is used by the MAIL action and sendMail() method to send email messages through a specific authenticated and secured SMTP account rather than directly to the recipient’s SMTP server.<br />
<br />
<br />
'''SmtpPort'''<br />
<br />
'''Default:''' 25, 465 or 587<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
SMTP server’s port number, if different from the default port.<br />
<br />
The default port is:<br />
* 25 for not encrypted traffic<br />
* 465 for SMTP over SSL<br />
* 587 for ESMTP.<br />
<br />
<br />
'''SmtpUser'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string<br />
<br />
<br />
Account’s username to authenticate the connection to the SMTP server.<br />
<br />
<br />
'''SmtpPassword'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string<br />
<br />
<br />
Account’s password to authenticate the connection to the SMTP server.<br />
<br />
<br />
'''SmtpSSL'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true | esmtp<br />
<br />
<br />
Set to “true” for SMTP server that support SMTP over SSL (default port is 465).<br />
<br />
Set to “esmtp” for SMTP server that support ESMTP (default port is 587).<br />
<br />
Set to “false” for SMTP servers that don’t support traffic encryption.<br />
<br />
<br />
'''SmtpDebug'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Set to “true” to dump all SMTP sessions data to the console log file. This option is for debugging purposes only, and should not be left set to true when not needed.<br />
<br />
=== Audio Server ===<br />
<br />
<br />
[[File:Configuration Audio Server.png|border|center|600px]]<br />
<br />
<br />
'''AudioServerTTS'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string<br />
<br />
<br />
This parameter is only needed if you are using a text-to-speech engine that is not the default one for the operating system.<br />
<br />
See the [[Audio and Public Announcement]] section for additional information.<br />
<br />
<br />
'''AudioServerVolume'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
Change the default output volume for pre-recorded audio files and the text-to-speech engine.<br />
<br />
<br />
'''AudioServerQuality'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
Change the default quality for the text-to-speech engine.<br />
<br />
<br />
'''AudioServerSpeed'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
Change the default speed for pre-recorded audio files and the text-to-speech engine.<br />
<br />
=== Extras ===<br />
<br />
<br />
[[File:Configuration Extras.png|border|center|600px]]<br />
<br />
<br />
This section is used to set other not standard parameters that should be saved in hsyco.ini, like application-specific parameters.<br />
<br />
== I/O Servers ==<br />
<br />
HSYCO Server interfaces to several field sub-systems, including lighting and automation systems, video cameras, HVAC controllers, security systems, and other special-purpose devices. HSYCO supports several standard protocols, like BACnet, DALI, DMX, KNX, Modbus, as well as quite a few proprietary protocols.<br />
<br />
Most of these field systems are represented inside HSYCO as “I/O servers”. An I/O server is a software module that offers a standardized abstraction layer so that even very different systems can be interfaced using a consistent naming convention and programming model.<br />
<br />
<br />
[[File:Configuration IO Servers.png|border|center|600px]]<br />
<br />
<br />
Each I/O server must have a unique ID. You can add a new I/O server pressing the + button.<br />
<br />
<br />
[[File:Configuration IO Servers New IO.png|border|center]]<br />
<br />
<br />
Select the type and enter the server’s unique ID.<br />
<br />
Already defined I/O servers could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
Each server type may require different configuration parameters, like IP address and port, serial port id, or authentication information.<br />
<br />
Refer to the Application Notes documentation for detailed configuration and interfacing information for I/O servers.<br />
<br />
The “Shutdown when inactive” parameter, that is available for all I/O server types, is only used in high availability configurations. <br />
<br />
Set it to true to automatically stop the I/O server when the HSYCO server (master or slave) is not the active system. Set to false to keep the I/O server running even when the HSYCO server is not the active system.<br />
<br />
[[File:ToDo]] LINK ALL'ELENCO DEGLI I/O SERVERS<br />
<br />
<br />
== Communication Ports ==<br />
<br />
<br />
[[File:Configuration Communication Ports.png|border|center|600px]]<br />
<br />
<br />
The Comm Ports section is used to define all serial ports and their configuration parameters.<br />
<br />
Each port must have a unique ID. You can add a new ports pressing the + button.<br />
<br />
<br />
[[File:Configuration Communication Ports New Comm.png|border|center]]<br />
<br />
<br />
Select the type and enter the port’s unique ID.<br />
<br />
Already defined ports could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
The different types of comm ports have different configuration parameters.<br />
<br />
The CommPortsList is an optional parameter, and should not be required unless the operating system fails to automatically detect the local serial ports. In this case, list all local serial ports using the full operating system port names, for example: /dev/ttyS0,/dev/ttyS1.<br />
<br />
=== Serial ports ===<br />
<br />
<br />
[[File:Configuration Serial ports.png|border|center|600px]]<br />
<br />
<br />
To configure one of the real serial ports of the server, or a USB serial adapter, create a port of type “serial”.<br />
<br />
'''Port'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
Complete or partial system name of the associated communication port. In the Linux based architecture of the HSYCO servers this is the naming convention:<br />
<br />
* COM1: ttyS0 or /dev/ttyS0<br />
* COM2: ttyS1 or /dev/ttyS1<br />
* COM3: ttyS2 or /dev/ttyS2<br />
* COM4: ttyS3 or /dev/ttyS3<br />
<br />
For USB connected devices:<br />
<br />
* 1st USB device: ttyUSB0 or /dev/ttyUSB0<br />
* 2nd USB device: ttyUSB1 or /dev/ttyUSB1<br />
* ...etc etc<br />
<br />
<br />
'''Baud rate'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
Port speed.<br />
<br />
<br />
'''Data bits'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
The number of bits can be 8, 7, 6 or 5. It should be set to 8 in most cases.<br />
<br />
<br />
<br />
'''Stop bits'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
The number of stop bits can be 1, 1.5 or 2.<br />
<br />
<br />
'''Parity'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
Parity can be none, odd, even, mark or space.<br />
<br />
<br />
'''Flow control'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
Flow control can be none, XON/XOFF or RTS/CTS.<br />
<br />
<br />
'''Timeout'''<br />
<br />
'''Default:''' 2000<br />
<br />
'''Format:'''<br />
<br />
<br />
The timeout parameter is optional and could be omitted. It defines the serial port receive timeout, in milliseconds. Defaults to 2 seconds if not defined.<br />
<br />
=== Serial Gateways ===<br />
<br />
Generic serial gateways that provide bi-directional serial port communication via a TCP connection are supported by HSYCO. <br />
<br />
[[File:Configuration Server ports.png|border|center|600px]]<br />
<br />
To configure a comm port to send data to the serial port of a serial gateway, you should set the comm port type to “server”, and set the gateway’s IP address and TCP port number.<br />
<br />
The serial port handshake parameters must be set on the gateway using its configuration utilities.<br />
<br />
HSYCO supports a high-availability, failover configuration for serial gateways.<br />
<br />
HSYCO supports a high-availability, failover configuration for serial gateways. You enable failover by adding a second IP address to the IP parameter.<br />
<br />
HSYCO will try to establish a connection using the first IP address, automatically switching to the failover address if a communication error occurs.<br />
<br />
In this configuration, the JavaScript or Java closeComm() function can be used to force a reconnect on the next call to readComm() or writeComm(), so that a switch between the fail-over IPs would happen if the current IP is not responding.<br />
<br />
=== HWG I/O Server ports ===<br />
<br />
Some network I/O controllers produced by HWG have a serial port, that could be used as fully functional serial port by HSYCO. To configure these ports, select type “io”, then select the I/O server id of the HWG controller and enter the normal serial port configuration parameters.<br />
<br />
<br />
[[File:Configuration HWG Server ports.png|border|center|600px]]<br />
<br />
<br />
=== IRTrans ports ===<br />
<br />
Some IRTrans network IR controllers have a local serial port. HSYCO can use this port as an output-only serial port.<br />
<br />
To configure an IRTrans serial port, select type “irtrans”, and select the id of the IRTrans device. The serial port communication parameters, like speed, flow control etc., should be configured on the IRTrans.<br />
<br />
<br />
[[File:Configuration IRTrans ports.png|border|center|600px]]<br />
<br />
<br />
== IRTrans Servers ==<br />
<br />
The IRTrans Servers section is used to define the IRTrans network infrared devices.<br />
<br />
<br />
[[File:Configuration IRTrans Servers1.png|border|center|600px]]<br />
<br />
<br />
Each IRTrans must have a unique ID. You can add a new devices pressing the + button.<br />
<br />
<br />
[[File:Configuration IRTrans Servers2.png|border|center]]<br />
<br />
<br />
Already defined devices could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
<br />
[[File:Configuration IRTrans Servers3.png|border|center|600px]]<br />
<br />
<br />
The only configuration parameter is the IRTrans IP address.<br />
<br />
<br />
== Cameras == <br />
<br />
This section is used to define individual IP cameras, to set general configuration parameters for video processing, and to define camera grids for the user interface.<br />
<br />
<br />
[[File:Configuration Cameras1.png|border|center|600px]]<br />
<br />
<br />
=== General parameters ===<br />
<br />
'''CamerasRecordingMotionTriggerSeconds'''<br />
<br />
'''Default:''' 5<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
Number of seconds during which HSYCO keeps on recording from a camera after a recording trigger event for that camera. It is possible to set this parameter at 0, disabling the triggered recording of events; this can be useful in case it is preferred to control recording only through the Java user code or EVENTS.<br />
<br />
<br />
'''CamerasRefreshMillis'''<br />
<br />
'''Default:''' 1000<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
Camera frames acquisition interval, in milliseconds. For example, for a frequency of 4 frames a second, set the value to 250. A low value corresponds to a higher number of frames acquired and recorded in the time unit, with a heavier load in terms of CPU resources and disk space.<br />
<br />
<br />
'''CamerasResizedQuality'''<br />
<br />
'''Default:''' 0.7<br />
<br />
'''Format:''' decimal number between 0 and 1 (decimals separated by “.”)<br />
<br />
<br />
Image quality for images processing and resizing. Numbers close to 1 produce a better quality, but heavier load and larger size for each frame.<br />
<br />
<br />
=== Cameras parameters ===<br />
<br />
Each camera must have a unique ID. You can add a new cameras pressing the + button in the cameras list panel.<br />
<br />
<br />
[[File:Configuration Cameras2.png|border|center]]<br />
<br />
<br />
Already defined cameras could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
<br />
[[File:Configuration Cameras3.png|border|center|600px]]<br />
<br />
<br />
'''URL'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:''' complete URL<br />
<br />
<br />
Complete URL to acquire single frames in JPEG format, or MJPEG streams, in the desired resolution. Mandatory for each camera.<br />
Recording is based on frames acquired with this URL.<br />
<br />
When using MJPEG streams, it is advisable to configure the number of frames per second the camera streams to a value that is very close to HSYCO’s frame rate as set with CamerasRefreshMillis.<br />
<br />
<br />
'''URL Small'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' complete URL<br />
<br />
In order to optimize camera processing performance, set this optional parameter. The URL fetches frames at a lower resolution. When serving frames to the Web interface, HSYCO will automatically choose the most appropriate frame resolution to use, based on the size of the frame in the Web interface.<br />
<br />
Small frames are also normally used to create grids, improving processing performance.<br />
<br />
<br />
{{note|For a list of supported URLs check here: [[Camera URLs]] and here: [[Encoder URLs]].}}<br />
<br />
<br />
'''PTZ'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' name of the PTZ driver<br />
<br />
<br />
Defines the PTZ features of a camera and family of PTZ driver. The PTZ control of a camera is automatically added to the Web interface. <br />
<br />
You can click on the edges of the camera image to control the camera: up, down, right, left, zoom and focus.<br />
<br />
Supported types are:<br />
<br />
Camera.''id''.PTZ = axis (AXIS PTZ cameras)<br />
Camera.''id''.PTZ = axis-vptz (AXIS fixed cameras with virtual PTZ support)<br />
Camera.''id''.PTZ = panasonic (Panasonic BB and BL Series cameras)<br />
Camera.''id''.PTZ = panasonic-wv (Panasonic WV Series cameras)<br />
Camera.''id''.PTZ = mobotix (Mobotix cameras)<br />
Camera.''id''.PTZ = rovio (the WowWee Rovio camera)<br />
Camera.''id''.PTZ = SNV-3120, SNP-3120, SNP-3120V, SNP-3120H (Samsung cameras)<br />
Camera.''id''.PTZ = vptz (fixed cameras with virtual PTZ support implemented by HSYCO)<br />
Camera.''id''.PTZ = user (to associate custom Java code to the control areas of the image).<br />
<br />
<br />
'''Type'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
Defines the camera model type for cameras that support this option. For example, ''Camera.samsung.Type = SND-5080''.<br />
<br />
<br />
'''IO'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' ''enabled''<br />
<br />
<br />
For some camera models, you can enable I/O and VA (Visual Analysis) option for a camera. For example, Camera.<camid>.IO=enabled. If you want to enable I/O only, set it to “enabled:io”, or to “enabled:va” to enable VA only.<br />
<br />
<br />
'''User'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
When this parameter is defined, the access requests to the frames and the commands for PTZ control of the camera are sent with user and password authentication.<br />
<br />
<br />
'''Password'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
When this parameter is defined, the access requests to the frames and the commands for PTZ control of the camera are sent with user and password authentication.<br />
<br />
<br />
'''Dropped Frames'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' integer number &ge; 0<br />
<br />
<br />
This parameter specifies the number of frames that should be discarded during recording. <br />
<br />
For example, setting the value to 1, half of the frames will be recorded out of those normally acquired from the camera; setting the value to 3, 3 frames will be discarded for each frame acquired, thus recording only 1/4 of the acquired frames. Dropping frames reduces space used to store frames on disk, and causes accelerated playback of recorded video.<br />
<br />
<br />
'''Max Age'''<br />
<br />
'''Default:''' 30d<br />
<br />
'''Format:''' positive integer number followed by “''d''” character, for days, “''h''” for hours or “''m''” for minutes<br />
<br />
<br />
Period of time, from when each frame acquired by the camera corresponding is recorded, during which the frames remain on HSYCO’s hard disk. <br />
<br />
When this time expires the frames are automatically deleted from the HSYCO motion directory. The older frames can be automatically erased even before their expiration time, in case the space available on disk drops below a safe margin.<br />
<br />
<br />
'''Motion Buffer'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive integer number <br />
<br />
<br />
Recording normally starts exactly when a recording trigger or command is issued. Using this parameter you can have HSYCO start recording some time ahead of the recording command. This is particularly important to capture video a few seconds before an event happens.<br />
<br />
When this parameter is set, HSYCO constantly acquires images from the camera, not only when necessary to display or record video. Moreover, the temporary recording of this buffer requires memory resources, and it is therefore convenient not to use high values (values included between 10 and 20, with an acquisition rate of about 400 milliseconds, can be considered normal).<br />
<br />
Enable motion buffering only when actually needed.<br />
<br />
<br />
'''Remote Password'''<br />
<br />
'''Default:''' <br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
HSYCO can optionally serve live images of its cameras through a password protected HTTP request, for example:<br />
<br />
<nowiki>https://<hsycoserver>/x/camera/<cameraid>?password=<password>&size=<width>x<height></nowiki><br />
<br />
(size is optional) for single frames or: <br />
<br />
<nowiki>https://<hsycoserver>/x/camerastream/<cameraid>?size=<width>x<height>&password=<pwd>[&period=<millis>]</nowiki><br />
<br />
to retrieve a MJPEG stream.<br />
<br />
It is also possible to define different passwords for clients inside the trusted range of IP addresses and outside.<br />
<br />
<br />
'''Trusted Password'''<br />
<br />
'''Default:''' <br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
Similar to RemoteRequestPassword, you can use this optional parameter to set remote passwords for clients inside the trusted range of IO addresses.<br />
<br />
Note that requests with the TrustedRequestPassword value will be also served via HTTP, without SSL.<br />
<br />
<br />
'''Rotate'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
Allows the rotation of the images acquired by a camera. Set to the number of decimal degrees of rotation. A positive number causes a clockwise rotation. Because of the rotation, the images could be cut or have bars at their edges to adapt the rotated picture to the frame size. Setting this parameter could cause a noticeable impact of performance, especially when processing high resolution images.<br />
<br />
=== Grids ===<br />
<br />
You can define up to 99 different combinations of cameras to create matrix displays of multiple cameras. The id is automatically generated when the + button is pressed, starting from 1 and up to 99 with consecutive numbers.<br />
<br />
Grids could be deleted using the - button.<br />
<br />
<br />
[[File:Configuration Grids.png|border|center|600px]]<br />
<br />
<br />
Select an item in the grids list to define the grid’s number of rows and columns and select the cameras for each position. You can leave some positions empty.<br />
You should also define the other grid parameters.<br />
<br />
'''Resolution'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' <width> x <height> in pixels<br />
<br />
<br />
This optional parameter is used to optimize grid processing performance, especially on large grids when using large size skins for the Web interface.<br />
<br />
You can define a maximum resolution for the grid. HSYCO will always deliver this grid with a resolution that is never larger than the width and height defined with this parameter. <br />
<br />
The effect is to reduce the byte size of the resulting image, improving performance on remote connections, and to offload the CPU processing required to generate the grid, having a potential benefit on frame rate.<br />
<br />
<br />
'''Remote Password'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
HSYCO can optionally serve live images of its grids through a password protected HTTP request, for example:<br />
<br />
https://<hsycoserver>/x/camera/grid<N>?password=<password>&size=<width>x<height> <br />
<br />
(size is optional) for single frames or: <br />
<br />
https://<hsycoserver>/x/camerastream/grid<N>?size=<width>x<height>&password=<pwd>[&period=<millis>] <br />
<br />
to retrieve a MJPEG stream.<br />
<br />
It is also possible to define different passwords for clients inside the trusted range of IP addresses and outside.<br />
<br />
<br />
'''Trusted Password'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
Similar to RemoteRequestPassword, you can use this optional parameter to set remote access passwords for clients inside the trusted range of IP addresses.<br />
<br />
Note that requests with the TrustedRequestPassword value will be also served via HTTP, without SSL.<br />
<br />
== Data Loggers ==<br />
<br />
The Data Loggers section is used to define HSYCO’s data loggers and their configuration parameters.<br />
<br />
<br />
[[File:Configuration Data Loggers1.png|border|center|600px]]<br />
<br />
<br />
There is one general configuration parameter:<br />
<br />
'''CSV Separator'''<br />
<br />
'''Default:''' comma<br />
<br />
'''Format:''' tab | comma | semicolon<br />
<br />
<br />
This parameter defines the field separator character for CSV files generated by the data loggers.<br />
<br />
<br />
Each data logger must have a unique ID. You can add a new data loggers pressing the + button.<br />
<br />
<br />
[[File:Configuration Data Loggers2.png|border|center]]<br />
<br />
<br />
Select the type, range or counter, and enter the data logger unique ID.<br />
<br />
Already defined data loggers could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
Counter and range data loggers have different configuration parameters.<br />
<br />
<br />
=== Counter Data Loggers ===<br />
<br />
<br />
[[File:Configuration Data Loggers Counter.png|border|center|600px]]<br />
<br />
<br />
'''Decimals'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
The number of decimal digits to be used for the input data.<br />
<br />
<br />
'''Resolution'''<br />
<br />
'''Default:''' hour<br />
<br />
'''Format:''' minute | hour | day | month<br />
<br />
<br />
Data aggregation maximum resolution.<br />
<br />
<br />
'''Hour Interval'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' divisor of 24<br />
<br />
<br />
Specifies the number of hours to be grouped into a single interval. For example, if set to 6, the day will be divided in groups of 6 hours: 1-6, 7-12, 13-18, and 19-24.<br />
<br />
<br />
'''Set Variables'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
If set to true (checked), the following variables will be generated:<br />
*<code>$dlog.<datalogger_id>.hour.tot</code>: its value is updated to the total value of the current hour<br />
*<code>$dlog.<datalogger_id>.hour.past.tot</code>: its value is updated to the total value of the past hour<br />
*<code>$dlog.<datalogger_id>.day.tot</code>: its value is updated to the total value of today<br />
*<code>$dlog.<datalogger_id>.day.past.tot</code>: its value is updated to the total value of yesteday<br />
*<code>$dlog.<datalogger_id>.month.tot</code>: its value is updated to the total value of the current month<br />
*<code>$dlog.<datalogger_id>.month.past.tot</code>: its value is updated to the total value of the past month<br />
*<code>$dlog.<datalogger_id>.year.tot</code>: its value is updated to the total value of the current year<br />
*<code>$dlog.<datalogger_id>.year.past.tot</code>: its value is updated to the total value of the past year<br />
<br />
If slots are used, the following variables will be generated for each slot:<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.hour.tot</code>: its value is updated to the total value of the current hour for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.hour.past.tot</code>: its value is updated to the total value of the past hour for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.day.tot</code>: its value is updated to the total value of today for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.day.past.tot</code>: its value is updated to the total value of yesteday for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.month.tot</code>: its value is updated to the total value of the current month for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.month.past.tot</code>: its value is updated to the total value of the past month for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.year.tot</code>: its value is updated to the total value of the current year for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.year.past.tot</code>: its value is updated to the total value of the past year for this slot<br />
<br />
<br />
'''Delete data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, data older than the specified amount of days will be deleted.<br />
<br />
<br />
'''Consolidate months data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one month.<br />
<br />
<br />
'''Consolidate days data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one day.<br />
<br />
<br />
'''Consolidate hours data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one hour.<br />
<br />
<br />
'''Max Delta'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' positive float number<br />
<br />
<br />
Sets the maximum valid delta between consecutive readings. If the calculated delta exceed such value, the read value is ignored. If not specified, all values are accepted.<br />
<br />
{{tip|It is highly recommended to set the delta limit in order to prevent the data series from being corrupted in case of false readings.}}<br />
<br />
<br />
'''Upper Limit'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive float number<br />
<br />
<br />
Specifies the maximum value that can be reached by the input value. This value will be used in case of counter roll-over. A value of 0 indicates that no upper limit is specified.<br />
<br />
<br />
'''Separate Slot Charts'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
<br />
Option for counter data loggers using time slots. Specifies wether or not to use different monthly and yearly charts for each defined time slot.<br />
<br />
<br />
'''Align Slots'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' true | false<br />
<br />
<br />
Option for counter data loggers using time slots with separate charts. Specifies wether or not to align the scale of the slot charts belonging to the same period.<br />
<br />
<br />
<br />
'''Rates Log File'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' file path. e.g.: ''hsyco/rates.csv''<br />
<br />
<br />
Option for counter data loggers using time slots. Specifies the path of the file where the processed data will be logged. If omitted, no log file will be created.<br />
<br />
If the path includes the strings “%Y”, “%M”, or “%D” they will be replaced respectively by the current year, month, or day.<br />
<br />
=== Range Data Loggers ===<br />
<br />
<br />
[[File:Configuration Data Loggers Range.png|border|center|600px]]<br />
<br />
<br />
'''Decimals'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
The number of decimal digits to be used for the input data.<br />
<br />
<br />
'''Resolution'''<br />
<br />
'''Default:''' hour<br />
<br />
'''Format:''' minute | hour | day | month<br />
<br />
<br />
Data aggregation maximum resolution.<br />
<br />
<br />
'''Hour Interval'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' divisor of 24<br />
<br />
<br />
Specifies the number of hours to be grouped into a single interval. For example, if set to 6, the day will be divided in groups of 6 hours: 1-6, 7-12, 13-18, and 19-24.<br />
<br />
<br />
'''Set Variables'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
If set to true (checked), the following variables will be generated:<br />
*<code>$dlog.<datalogger_id>.hour.min.tot</code>: its value is updated to the minimum value of the current hour<br />
*<code>$dlog.<datalogger_id>.hour.max.tot</code>: its value is updated to the maximum value of the current hour<br />
*<code>$dlog.<datalogger_id>.hour.avg.tot</code>: its value is updated to the average value of the current hour<br />
*<code>$dlog.<datalogger_id>.hour.past.min.tot</code>: its value is updated to the minimum value of the past hour<br />
*<code>$dlog.<datalogger_id>.hour.past.max.tot</code>: its value is updated to the maximum value of the past hour<br />
*<code>$dlog.<datalogger_id>.hour.past.avg.tot</code>: its value is updated to the average value of the past hour<br />
<br />
*<code>$dlog.<datalogger_id>.day.min.tot</code>: its value is updated to the minimum value of today<br />
*<code>$dlog.<datalogger_id>.day.max.tot</code>: its value is updated to the maximum value of today<br />
*<code>$dlog.<datalogger_id>.day.avg.tot</code>: its value is updated to the average value of today<br />
*<code>$dlog.<datalogger_id>.day.past.min.tot</code>: its value is updated to the minimum value of yesterday<br />
*<code>$dlog.<datalogger_id>.day.past.max.tot</code>: its value is updated to the maximum value of yesterday<br />
*<code>$dlog.<datalogger_id>.day.past.avg.tot</code>: its value is updated to the average value of yesterday<br />
<br />
*<code>$dlog.<datalogger_id>.month.min.tot</code>: its value is updated to the minimum value of the current month<br />
*<code>$dlog.<datalogger_id>.month.max.tot</code>: its value is updated to the maximum value of the current month<br />
*<code>$dlog.<datalogger_id>.month.avg.tot</code>: its value is updated to the average value of the current month<br />
*<code>$dlog.<datalogger_id>.month.past.min.tot</code>: its value is updated to the minimum value of the past month<br />
*<code>$dlog.<datalogger_id>.month.past.max.tot</code>: its value is updated to the maximum value of the past month<br />
*<code>$dlog.<datalogger_id>.month.past.avg.tot</code>: its value is updated to the average value of the past month<br />
<br />
*<code>$dlog.<datalogger_id>.year.min.tot</code>: its value is updated to the minimum value of the current year<br />
*<code>$dlog.<datalogger_id>.year.max.tot</code>: its value is updated to the maximum value of the current year<br />
*<code>$dlog.<datalogger_id>.year.avg.tot</code>: its value is updated to the average value of the current year<br />
*<code>$dlog.<datalogger_id>.year.past.min.tot</code>: its value is updated to the minimum value of the past year<br />
*<code>$dlog.<datalogger_id>.year.past.max.tot</code>: its value is updated to the maximum value of the past year<br />
*<code>$dlog.<datalogger_id>.year.past.avg.tot</code>: its value is updated to the average value of the past year<br />
<br />
<br />
'''Delete data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, data older than the specified amount of days will be deleted.<br />
<br />
<br />
'''Consolidate months data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one month.<br />
<br />
<br />
'''Consolidate days data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one day.<br />
<br />
<br />
'''Consolidate hours data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one hour.<br />
<br />
<br />
'''Origin'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' float number<br />
<br />
<br />
Specifies the origin of the charts.<br />
<br />
<br />
<br />
'''Range'''<br />
<br />
'''Default:''' <br />
<br />
'''Format:''' range: low:up<br />
<br />
<br />
Specifies the range of the charts as “low:up”, where “low” indicates the lower limit and “up” the upper one. The lower and upper limits can be specified as rigid or flexible: if the value of a limit is followed by a “!” (e.g. 0!:20!) then it is rigid, meaning it will not change even if the data logger has processed a value exceeding the range. On the contrary, flexible ranges (e.g. 0:20) will be modified whenever a value exceed it. <br />
<br />
If the parameter is omitted, the charts will range from the lowest processed value to the highest one.<br />
<br />
<br />
'''Out of Range Mode'''<br />
<br />
'''Default:''' cut<br />
<br />
'''Format:''' cut | ignore<br />
<br />
<br />
Option for range data loggers with a predefined range. Specifies the behavior of the data logger when updated with a value which exceed the set value range: if “cut” is specified then the value is adjusted to the limits, else, if this parameter is set to “ignore”, the passed value is not taken into account. In both cases, an error message is reported for out of range values.<br />
<br />
=== Tools ===<br />
<br />
By clicking on the tools icon it is possible to access the data recovery functionality.<br />
<br />
This tool allows to import data loggers' data from an old backup of the "data" folder. It can be used in case of database corruption or hard disk failure.<br />
<br />
[[File:Configuration Data Loggers Recovery.png|border|center]]<br />
<br />
Enter the name of the folder containing the backup (default: "data_backup", must be located in HSYCO's root folder) and specify whether or not to overwrite existing data. This option specifies how to handle data which are stored both in the backup database and in the current database and relative to the same time. If the checkbox is set the data in the backup will overwrite the current data, otherwise the current data will be preserved.<br />
<br />
When clicking on "Restore" all the data of the currently defined and enabled data loggers available in the backup will be imported.<br />
<br />
== DMX ==<br />
<br />
The DMX section is used to define the DMX-512 gateways.<br />
<br />
<br />
[[File:Configuration DMX1.png|border|center|600px]]<br />
<br />
<br />
Each DMX gateway must have a unique ID. You can add a new devices pressing the + button.<br />
<br />
<br />
[[File:Configuration DMX2.png|border|center]]<br />
<br />
<br />
Already defined devices could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
HSYCO supports three different DMX solutions, using different configuration parameters.<br />
<br />
=== KissBox DMX Network Gateways ===<br />
<br />
For KissBox network gateways, check IP and enter the IP address and port number.<br />
<br />
<br />
[[File:Configuration DMX KissBox.png|border|center]]<br />
<br />
<br />
=== ENTTEC DMX USB PRO DMX Gateways ===<br />
<br />
For the ENTTEC DMX USB PRO DMX gateways, check Comm and enter the virtual serial port name assigned to the USB port. See the [[Enttec|ENTTEC DMX USB PRO]] application note for additional information.<br />
<br />
<br />
[[File:Configuration DMX Enttec.png|border|center]]<br />
<br />
=== Domino and Contatto DMX devices ===<br />
<br />
When using Doemmegi’s Domino or Contatto systems DMX devices, check ID and enter the full device name, including the I/O server prefix. See the [[Domino]] or [[Contatto]] application notes for additional information.<br />
<br />
<br />
[[File:Configuration DMX Duemmegi.png|border|center]]<br />
<br />
== Location Services ==<br />
<br />
The Location Services section is used to define the WiFi access points used to locate the WiFi clients position.<br />
<br />
<br />
[[File:Configuration Location Services1.png|border|center|600px]]<br />
<br />
<br />
Each access point must have a unique ID. You can add a new devices pressing the + button.<br />
<br />
<br />
[[File:Configuration Location Services2.png|border|center]]<br />
<br />
<br />
Already defined devices could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
<br />
[[File:Configuration Location Services3.png|border|center|600px]]<br />
<br />
<br />
The only configuration parameter is the access point IP address.<br />
<br />
== Timers ==<br />
<br />
The Timers section is used to define user timers.<br />
<br />
<br />
[[File:Configuration Timers1.png|border|center|600px]]<br />
<br />
<br />
Each timer must have a unique ID. You can add a new timers pressing the + button.<br />
<br />
<br />
[[File:Configuration Timers2.png|border|center]]<br />
<br />
<br />
Already defined timers could be deleted with the - button or disabled by unchecking the Enabled checkbox.<br />
Timers don’t require any configuration parameter besides the id.<br />
<br />
== Squeezebox ==<br />
<br />
This section is used to define the Squeezebox server and music players.<br />
<br />
<br />
[[File:Configuration Squeezebox1.png|border|center|600px]]<br />
<br />
<br />
You should set the Squeezebox server’s IP address or network name and port number.<br />
<br />
Each player must have a unique ID. You can add a new devices pressing the + button.<br />
<br />
<br />
[[File:Configuration Squeezebox2.png|border|center]]<br />
<br />
<br />
Already defined devices could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
<br />
[[File:Configuration Squeezebox3.png|border|center|600px]]<br />
<br />
<br />
The only configuration parameter is the player id, usually its MAC address.</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Settings&diff=5220Settings2014-10-14T13:59:54Z<p>Manuela: /* Cameras parameters */</p>
<hr />
<div>[[Category:Manager]]<br />
[[File:Manager Settings Icon.png|class=appIcon|The '''Settings''' icon]]<br />
HSYCO can be configured using the Settings application in the Manager.<br />
<br />
Settings stores all configuration parameters in the hsyco.ini file.<br />
<br />
<br />
{{tip|You can copy this file to save the current configuration, or manually change it. In this case, be sure to reopen the Settings application after the changes have been saved.}}<br />
<br />
<br />
The configuration is read at start-up, so any changes become effective only after restarting the HSYCO process.<br />
<br />
HSYCO is factory configured to automatically restart when hsyco.ini is saved.<br />
<br />
<br />
[[File:Manager_settings_menu.png|border|center|600px]]<br />
<br />
<br />
When you make changes using Settings, the hsyco.ini file will be overwritten when you press the Save button.<br />
<br />
You can’t return to the previous configuration once it is saved.<br />
<br />
The Revert button allows you to reload the current configuration if you have made changes in Setting that have not yet been saved.<br />
<br />
Settings parameters are grouped in several sections.<br />
<br />
You can make changes to any parameter, even in different sections, and then save all changes together.<br />
<br />
== System ==<br />
<br />
The Systems section contains all general configuration parameters, including vital parameters affecting system’s security and reliability.<br />
<br />
These parameters are further split in several sub-sections.<br />
<br />
=== General ===<br />
<br />
<br />
[[File:Manager settings general.png|border|center|600px]]<br />
<br />
<br />
'''URLKey'''<br />
<br />
'''Default:''' hsycoserver<br />
<br />
'''Format:''' string of at least 8 characters<br />
<br />
<br />
To protect against malicious service discovery robots, HSYCO does not answer to Web requests where only the server address is defined, for example https://192.168.0.50, but requires an extended URL, which must include an access key, called URLKey.<br />
<br />
{{tip|The URLKey must be at least 8 characters long.}}<br />
<br />
It is possible to specify more than one URLKEY, separated by a comma; in this case all the specified URLKEYs will be valid for the web access to HSYCO.<br />
<br />
The factory default URLKey is hsycoserver.<br />
<br />
The URLKey is not a secret password, but only an additional protection feature.<br />
<br />
<br />
'''Language'''<br />
<br />
'''Default:''' en<br />
<br />
'''Format:''' cn | en | fr | it<br />
<br />
<br />
Some I/O Servers and other core services use localized text messages. This parameter defines the default system language for these services.<br />
<br />
<br />
'''AutoKillFiles'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' list of file names separated by commas<br />
<br />
<br />
This parameter is usually set as: "hsyco.ini,hsyco.jar,com/hsyco/user.class" forcing the automatic restart after the changes of the three files listed.<br />
<br />
<br />
'''DatabaseBackup'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
When set to true, a hot backup of the core database is automatically executed on a daily basis, saving data in the data_backup directory, and overwriting the previous backup files.<br />
<br />
The data_backup directory can be used to restore the database. The [[Database Maintenance]] document explains how to safely perform the database restore procedure.<br />
<br />
{{note|Only one process can access the database files at any time. If you need to access these files using other applications or SQL utilities, you should stop the HSYCO process, otherwise all data could be lost.}}<br />
<br />
<br />
'''StartupDelay'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' 0 or positive integer number of seconds<br />
<br />
<br />
When set to a positive number, the HSYCO server will wait for the specified number of seconds at start-up before becoming active.<br />
<br />
This start-up delay could be useful to prevent HSYCO from starting before other peripherals or devices, like external storage systems, are completely initialized.<br />
<br />
<br />
'''ExceptionWatchdog'''<br />
<br />
'''Default:''' 5<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
After N uncaught Java execution exceptions, the HSYCO server will be killed and restarted.<br />
<br />
Set to 0 to disable the exception watchdog.<br />
<br />
<br />
'''EventsLoadTimeout'''<br />
<br />
'''Default:''' 20<br />
<br />
'''Format:''' positive integer number of seconds<br />
<br />
<br />
When events.txt is saved, If any code section takes more than the specified amount of time to execute during the test run and INIT events sections, HSYCO will abort the JavaScript engine, rename events.txt to events_unsafe.txt and, a few seconds later, will restart the whole HSYCO server engine to protect the integrity of the system.<br />
<br />
If you have code in events.txt that requires more than the default 20 seconds to run, you should set a larger value for EventsLoadTimeout.<br />
<br />
<br />
'''userLog'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Set to true to enable the log of the Java methods called in user.java or of the commands defined in the EVENTS programming environment.<br />
<br />
<br />
'''eventsLog'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
If true, the log of events received from field devices is enabled, for example the events related to the IO Servers.<br />
<br />
<br />
'''verboseLog'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
If true, the extended log is enabled.<br />
<br />
It is useful for debugging, or during the advanced customization phase or the development of Java code.<br />
<br />
<br />
'''persistentLog'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
When set to false, message and error logs are not written to files, and are only visible in the Manager's Log Viewer.<br />
<br />
You may want to avoid writing log files when using servers with limited disk space or when the mass storage device is an SSD with limited write cycles.<br />
<br />
<br />
'''securityLogDailyFiles'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
When set to true, the security logs are written in daily files named MMDD-security.log.<br />
<br />
<br />
'''LogMaxAge'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' 0, or positive integer number<br />
<br />
<br />
Log files are automatically deleted when older than the number of days defined with this parameter.<br />
<br />
When set to 0 or not defined, log files are not deleted automatically.<br />
<br />
=== Access Control ===<br />
<br />
<br />
<br />
[[File:Configuration Access Control.png|border|center|600px]]<br />
<br />
<br />
'''trustedNet'''<br />
<br />
'''Default:''' local<br />
<br />
'''Format:''' local, or nn.nn.nn.nn-nn.nn.nn.nn<br />
<br />
<br />
IP addresses that define the group of network addresses belonging to the secure local network.<br />
<br />
It is possible to enter multiple, comma-separated IP ranges or individual IP addresses, or simply enter “local”, so that HSYCO will assume all IP addresses in the LAN as trusted.<br />
<br />
The loop-back IP address (127.0.0.1) is considered part of the trusted network only when the trustedNet option is set to "local", or when explicitly listed.<br />
<br />
The Web clients connecting to HSYCO from these addresses are subject to the time-out defined in KeysTrustedValidityHours, which is usually longer than the one used for all the other IP addresses, defined in KeysNotTrustedValidityHours.<br />
<br />
<br />
'''KeysTrustedValidityHours'''<br />
<br />
'''Default:''' 24<br />
<br />
'''Format:''' integer > 0 or hh:mm<br />
<br />
<br />
Login time-out in hours for the connections from trusted IP addresses.<br />
<br />
Set on a very high value, e.g. 100000, to practically avoid the time-out of sessions.<br />
<br />
It can also be set using the hh:mm hours and minutes format.<br />
<br />
<br />
'''KeysNotTrustedValidityHours'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' integer > 0 or hh:mm<br />
<br />
<br />
Login time-out in hours for not trusted IP addresses.<br />
<br />
It can also be set using the hh:mm hours and minutes format.<br />
<br />
<br />
'''KeysInactivityHours'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' integer > 0 or hh:mm<br />
<br />
<br />
Inactivity time-out in hours.<br />
<br />
This is an optional parameter; if not set there will be no inactivity time-out and the user session will be automatically logged out based on the login time-out only.<br />
<br />
It can also be set using the hh:mm hours and minutes format.<br />
<br />
<br />
'''KeysInactivityMode'''<br />
<br />
'''Default:''' browser<br />
<br />
'''Format:''' browser | cameras | commands<br />
<br />
<br />
Inactivity time-out mode.<br />
<br />
This is an optional parameter.<br />
<br />
It is significant only when KeysInactivityHours is also defined.<br />
<br />
In browser mode, having the Web browser open on the HSYCO page will keep the session alive.<br />
<br />
In cameras mode the session will remain alive only when sending commands or watching cameras.<br />
<br />
In commands mode the session will stay alive only if commands are sent before the inactivity timer expires.<br />
<br />
<br />
'''HTTPServerPublicDirectory'''<br />
<br />
'''Default:''' browser<br />
<br />
'''Format:''' directory name<br />
<br />
<br />
If defined, enables a simple Web server that serves files, without any parsing, via HTTP and HTTPS, only to clients in the trusted range of IP addresses.<br />
<br />
This parameter sets the name of the directory, under the www root Web directory, used for the public files.<br />
<br />
If, for example, you have HTTPServerPublicDirectory=public, and an HTML file named home.html in the public directory, then the <nowiki>https://192.168.0.50/public/home.html</nowiki> URL will point to that file.<br />
<br />
As you see, you shouldn’t add the URLKey in public URLs.<br />
<br />
<br />
'''HTTPServerLowSecurityEnabled'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
<br />
Usually, the HTTP server is only active to let cameras and PBX systems send motion detection and calls notifications.<br />
<br />
To avoid the authentication keys, PIN and PUK codes and all traffic to be transmitted in the clear, the HTTP protocol is not normally used for Web access to HSYCO.<br />
<br />
Set the parameter to true only when you want to enable the not-secure HTTP protocol for Web access to HSYCO.<br />
<br />
<br />
'''WebAdminNetConfigLock'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
<br />
If true, the Web network settings functions are disabled.<br />
<br />
This parameter should be set to true once you expect no changes in the network configuration of HSYCO Server.<br />
<br />
=== Network ===<br />
<br />
<br />
[[File:Configuration Network.png|border|center|600px]]<br />
<br />
<br />
'''HTTPServerPort'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number < 65535<br />
<br />
<br />
TCP/IP port of HSYCO HTTP Web Server. If not defined, the HTTP server is not enabled.<br />
<br />
Normally set to 80.<br />
<br />
<br />
'''HTTPSSLServerPort'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number < 65535<br />
<br />
<br />
TCP/IP port of HSYCO HTTPS Web Server.<br />
<br />
If not defined, the HTTPS server is not enabled.<br />
<br />
Normally set to 443.<br />
<br />
<br />
'''SysLogServerPort'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number < 65535<br />
<br />
<br />
TCP/IP port of HSYCO SYSLOG Web server.<br />
<br />
The SYSLOG server is used to receive from the Access Points (AP) the information to determine which AP every user in the Wi-Fi LAN is using to connect.<br />
<br />
If not defined, the SYSLOG server is not enabled.<br />
<br />
It is usually set to 514.<br />
<br />
<br />
'''ServerName'''<br />
<br />
'''Default:''' hsyco<br />
<br />
'''Format:''' domain name<br />
<br />
<br />
Name used to generate the SSL certificate.<br />
<br />
It is necessary for the cryptography of the HTTPS Web traffic and should correspond to the domain name through which the HSYCO server is accessed via the Internet.<br />
<br />
The certificate is saved in the hsyco.keys file.<br />
<br />
When HSYCO is started, if this file is not available or its name doesn’t match the ServerName parameter in hsyco.ini, a new SSL certificate is automatically generated according to the name defined in ServerName.<br />
<br />
<br />
'''OffLineCache'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
HSYCO implements the off-line cache feature of the Web browsers that support the HTML 5.0 standard.<br />
<br />
To enable the off-line storage on the Web browser of all HSYCO HTML static content, set this parameter to true.<br />
<br />
{{tip|Note that all files saved under any subdirectory named "nocache" will not be listed in the persistent cache's manifest file.}}<br />
<br />
<br />
'''HTTPServerThreads'''<br />
<br />
'''Default:''' 256<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
Sets the total number of processing threads for the HTTP and HTTPS internal web servers.<br />
<br />
You should change this parameter only when you have a very large number of active web clients.<br />
<br />
Web browsers normally use only a few (up to about 6) concurrent connections for each session, and the default should be fine to support up to at least 40 active clients.<br />
<br />
When the HTTP and HTTPS servers run low of threads, some clients could see their requests rejected, causing page load errors or becoming unresponsive.<br />
<br />
In this case you should see “too many connections” error messages in HSYCO’s log files.<br />
<br />
{{tip|Increasing this parameter also increases memory and I/O resources requirements to the underlying operating system.}}<br />
<br />
=== Clock ===<br />
<br />
<br />
[[File:Configuration Clock.png|border|center|600px]]<br />
<br />
<br />
'''TimeAutoUpdate'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' false | true | NTP server name/address<br />
<br />
<br />
HSYCO automatically sets the local date and time by polling Network Time Protocol (NTP) servers.<br />
<br />
To disable this feature, set this parameter to false.<br />
<br />
To use a specific NTP server, set this parameter to the name or IP address of the NTP server.<br />
<br />
<br />
'''TimeZone'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' the time zone id<br />
<br />
<br />
Set the current time zone.<br />
<br />
The time zone information is used to obtain the correct local time and automatically adjust for daylight saving time.<br />
<br />
If this parameter is not set, HSYCO will use the operating system’s time zone settings.<br />
<br />
The time zone id is either in the form “Area/Location”, or a generic “GMT+NN”, “GMT-NN” format that simply defines the hours offset from UTC time.<br />
<br />
When the “Area/Location” format is used, the clock is automatically adjusted for daylight saving time.<br />
<br />
The TimeZone value should have no spaces; replace spaces in area or location names with underscores, for example “America/New_York”.<br />
<br />
When HSYCO starts, you can check the message.log file to see the actual time zone and DST setting, just after the start-up message, for example:<br />
<br />
2013.07.10 15:28:30.113 - HSYCO Ver. 3.3.0 Build 0112 (USER Ver. No User Code) started<br />
2013.07.10 15:28:30.425 - Time zone is: Europe/Rome (Central European Summer Time)<br />
<br />
<br />
'''Latitude'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive or negative numerical value, decimals separated by “.”<br />
<br />
<br />
Latitude in decimal degrees (positive for the Northern Hemisphere), to calculate the sun position and sunrise/sunset time.<br />
<br />
<br />
'''Longitude'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive or negative numerical value, decimals separated by “.”<br />
<br />
<br />
Longitude in decimal degrees (positive for the Eastern Hemisphere), to calculate the sun position and sunrise/sunset time.<br />
<br />
<br />
'''SunriseOffsetMinutes'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive or negative integer number<br />
<br />
<br />
Deviation in minutes from the astronomical sunrise time (in advance if negative, delayed if positive).<br />
<br />
<br />
'''SunsetOffsetMinutes'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive or negative integer number<br />
<br />
<br />
Deviation in minutes from the astronomical sunset time (in advance if negative, delayed if positive).<br />
<br />
=== High Availability ===<br />
<br />
<br />
[[File:Configuration High Availability.png|border|center|600px]]<br />
<br />
<br />
'''haMode'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' master | slave<br />
<br />
<br />
Enables the high availability configuration of HSYCO.<br />
<br />
The high availability configuration uses two different HSYCO systems, one is configured as the master system, the other as slave.<br />
<br />
<br />
'''haMasterIP'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' IP address: nnn.nnn.nnn.nnn<br />
<br />
<br />
Mandatory parameter for the high availability configuration.<br />
<br />
It specifies the IP address of the HSYCO master system.<br />
<br />
<br />
'''haSlaveIP'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' IP address: nnn.nnn.nnn.nnn<br />
<br />
<br />
Mandatory parameter for the high availability configuration.<br />
<br />
It specifies the IP address of the HSYCO slave system.<br />
<br />
<br />
'''haActiveIP'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' IP address: nnn.nnn.nnn.nnn<br />
<br />
<br />
Optional parameter for the high availability configuration.<br />
<br />
Defines an IP address that the active server, master or slave, will assign as an IP alias to its main Ethernet port.<br />
Using this IP address, clients will be able to access the active server with the same address, regardless of the active server being the master or the slave.<br />
<br />
<br />
'''haDisableCommandEvents'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Optional parameter for the high availability configuration.<br />
<br />
If true, command methods and actions in Java and EVENTS are automatically disabled on the HSYCO Server that is not active (for example the system defined as slave is not active when the master system works properly) for the following systems: Audio, Cameras, Comm ports, DMX, I/O Servers, IRTrans, Modbus (write command are disabled) Squeezebox, URL.<br />
<br />
<br />
'''haDisableFilesSync'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Optional parameter for the high availability configuration.<br />
<br />
If true, files changes on the master will not be synched to the slave server (changes to access.ini, scheduler.ini and timers.data will not be synched too).<br />
<br />
<br />
'''haClientSessionsFailover'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Optional parameter for the high availability configuration.<br />
<br />
When true the slave server will mirror the master's authentication keys, allowing a clean transition of authenticated sessions from master to slave.<br />
<br />
{{tip|To ensure a proper transition of the client sessions from master to slave, the ServerName option and the hsyco.keys file of the slave server must also be the same as on the master.}}<br />
<br />
=== Remote HSYCO Servers ===<br />
<br />
The HSYCO Remote I/O Server is a powerful and secure server-to-server communication system that allows an HSYCO server read and write access to all the I/O data points and GUI variables of other remote HSYCO servers. The remote HSYCO Servers settings are used to enable remote HSYCO servers access to this server.<br />
<br />
The HSYCO Remote I/O Server uses a secure HTTPS API based on the REST (Representational state transfer) model and the JSON data format. A subset of this API can be used by third-party HTTP client applications. Read the [[HSYCO Remote API]] specification for additional details.<br />
<br />
<br />
[[File:Configuration Remote HSYCO Servers.png|border|center|600px]]<br />
<br />
<br />
'''RemoteServerPassword'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string (letters and numbers), 8 characters or longer<br />
<br />
<br />
Set this password to enable this HSYCO server to be accessed by another HSYCO server via the HSYCO Remote I/O Server (see the HSYCO Remote I/O Server Application Note for further information).<br />
<br />
{{note|The password must be at least 8 characters long. You should use a very long and randomly generated string to reduce the risk of unauthorized access.}}<br />
<br />
<br />
'''RemoteServerAddress'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' comma separated list of IP addresses, or *<br />
<br />
<br />
Set to the IP addresses of the remote HSYCO servers that should be allowed to access this HSYCO server.<br />
<br />
Set to * to allow any remote IP address.<br />
<br />
<br />
'''RemoteServerControl'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Set to true to allow the remote server to modify the data points values of this HSYCO server.<br />
<br />
<br />
'''RemoteServerIOFilter'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' comma separated list of I/O Servers IDs<br />
<br />
<br />
If you want to limit remote access and control to just some of the I/O Servers defined in this HSYCO, use this parameter to list the I/O Servers that should be available to the remote HSYCO system.<br />
<br />
Filtering out I/O Servers that are not used remotely could have a positive impact on performance and network traffic.<br />
<br />
<br />
'''RemoteServerUIFilter'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' comma separated list of I/O Servers IDs<br />
<br />
<br />
If you want to limit remote access and control to just some of the user interface objects defined in this HSYCO, use this parameter to list the objects’ IDs prefixes (a prefix is the first part of the ID, before the first dot character, if you are using a dot-separated notation; use the full ID if not using the dot notation) that should be available to the remote HSYCO system.<br />
<br />
Filtering out UI objects that are not used remotely could have a positive impact on performance and network traffic.<br />
<br />
=== Email ===<br />
<br />
<br />
[[File:Configuration Email.png|border|center|600px]]<br />
<br />
<br />
'''SmtpName'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' SMTP server name or IP address<br />
<br />
<br />
SMTP server name or numeric IP address.<br />
<br />
This parameter is used by the MAIL action and sendMail() method to send email messages through a specific authenticated and secured SMTP account rather than directly to the recipient’s SMTP server.<br />
<br />
<br />
'''SmtpPort'''<br />
<br />
'''Default:''' 25, 465 or 587<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
SMTP server’s port number, if different from the default port.<br />
<br />
The default port is:<br />
* 25 for not encrypted traffic<br />
* 465 for SMTP over SSL<br />
* 587 for ESMTP.<br />
<br />
<br />
'''SmtpUser'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string<br />
<br />
<br />
Account’s username to authenticate the connection to the SMTP server.<br />
<br />
<br />
'''SmtpPassword'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string<br />
<br />
<br />
Account’s password to authenticate the connection to the SMTP server.<br />
<br />
<br />
'''SmtpSSL'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true | esmtp<br />
<br />
<br />
Set to “true” for SMTP server that support SMTP over SSL (default port is 465).<br />
<br />
Set to “esmtp” for SMTP server that support ESMTP (default port is 587).<br />
<br />
Set to “false” for SMTP servers that don’t support traffic encryption.<br />
<br />
<br />
'''SmtpDebug'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' false | true<br />
<br />
<br />
Set to “true” to dump all SMTP sessions data to the console log file. This option is for debugging purposes only, and should not be left set to true when not needed.<br />
<br />
=== Audio Server ===<br />
<br />
<br />
[[File:Configuration Audio Server.png|border|center|600px]]<br />
<br />
<br />
'''AudioServerTTS'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string<br />
<br />
<br />
This parameter is only needed if you are using a text-to-speech engine that is not the default one for the operating system.<br />
<br />
See the [[Audio and Public Announcement]] section for additional information.<br />
<br />
<br />
'''AudioServerVolume'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
Change the default output volume for pre-recorded audio files and the text-to-speech engine.<br />
<br />
<br />
'''AudioServerQuality'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
Change the default quality for the text-to-speech engine.<br />
<br />
<br />
'''AudioServerSpeed'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
Change the default speed for pre-recorded audio files and the text-to-speech engine.<br />
<br />
=== Extras ===<br />
<br />
<br />
[[File:Configuration Extras.png|border|center|600px]]<br />
<br />
<br />
This section is used to set other not standard parameters that should be saved in hsyco.ini, like application-specific parameters.<br />
<br />
== I/O Servers ==<br />
<br />
HSYCO Server interfaces to several field sub-systems, including lighting and automation systems, video cameras, HVAC controllers, security systems, and other special-purpose devices. HSYCO supports several standard protocols, like BACnet, DALI, DMX, KNX, Modbus, as well as quite a few proprietary protocols.<br />
<br />
Most of these field systems are represented inside HSYCO as “I/O servers”. An I/O server is a software module that offers a standardized abstraction layer so that even very different systems can be interfaced using a consistent naming convention and programming model.<br />
<br />
<br />
[[File:Configuration IO Servers.png|border|center|600px]]<br />
<br />
<br />
Each I/O server must have a unique ID. You can add a new I/O server pressing the + button.<br />
<br />
<br />
[[File:Configuration IO Servers New IO.png|border|center]]<br />
<br />
<br />
Select the type and enter the server’s unique ID.<br />
<br />
Already defined I/O servers could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
Each server type may require different configuration parameters, like IP address and port, serial port id, or authentication information.<br />
<br />
Refer to the Application Notes documentation for detailed configuration and interfacing information for I/O servers.<br />
<br />
The “Shutdown when inactive” parameter, that is available for all I/O server types, is only used in high availability configurations. <br />
<br />
Set it to true to automatically stop the I/O server when the HSYCO server (master or slave) is not the active system. Set to false to keep the I/O server running even when the HSYCO server is not the active system.<br />
<br />
[[File:ToDo]] LINK ALL'ELENCO DEGLI I/O SERVERS<br />
<br />
<br />
== Communication Ports ==<br />
<br />
<br />
[[File:Configuration Communication Ports.png|border|center|600px]]<br />
<br />
<br />
The Comm Ports section is used to define all serial ports and their configuration parameters.<br />
<br />
Each port must have a unique ID. You can add a new ports pressing the + button.<br />
<br />
<br />
[[File:Configuration Communication Ports New Comm.png|border|center]]<br />
<br />
<br />
Select the type and enter the port’s unique ID.<br />
<br />
Already defined ports could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
The different types of comm ports have different configuration parameters.<br />
<br />
The CommPortsList is an optional parameter, and should not be required unless the operating system fails to automatically detect the local serial ports. In this case, list all local serial ports using the full operating system port names, for example: /dev/ttyS0,/dev/ttyS1.<br />
<br />
=== Serial ports ===<br />
<br />
<br />
[[File:Configuration Serial ports.png|border|center|600px]]<br />
<br />
<br />
To configure one of the real serial ports of the server, or a USB serial adapter, create a port of type “serial”.<br />
<br />
'''Port'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
Complete or partial system name of the associated communication port. In the Linux based architecture of the HSYCO servers this is the naming convention:<br />
<br />
* COM1: ttyS0 or /dev/ttyS0<br />
* COM2: ttyS1 or /dev/ttyS1<br />
* COM3: ttyS2 or /dev/ttyS2<br />
* COM4: ttyS3 or /dev/ttyS3<br />
<br />
For USB connected devices:<br />
<br />
* 1st USB device: ttyUSB0 or /dev/ttyUSB0<br />
* 2nd USB device: ttyUSB1 or /dev/ttyUSB1<br />
* ...etc etc<br />
<br />
<br />
'''Baud rate'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
Port speed.<br />
<br />
<br />
'''Data bits'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
The number of bits can be 8, 7, 6 or 5. It should be set to 8 in most cases.<br />
<br />
<br />
<br />
'''Stop bits'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
The number of stop bits can be 1, 1.5 or 2.<br />
<br />
<br />
'''Parity'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
Parity can be none, odd, even, mark or space.<br />
<br />
<br />
'''Flow control'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:'''<br />
<br />
<br />
Flow control can be none, XON/XOFF or RTS/CTS.<br />
<br />
<br />
'''Timeout'''<br />
<br />
'''Default:''' 2000<br />
<br />
'''Format:'''<br />
<br />
<br />
The timeout parameter is optional and could be omitted. It defines the serial port receive timeout, in milliseconds. Defaults to 2 seconds if not defined.<br />
<br />
=== Serial Gateways ===<br />
<br />
Generic serial gateways that provide bi-directional serial port communication via a TCP connection are supported by HSYCO. <br />
<br />
[[File:Configuration Server ports.png|border|center|600px]]<br />
<br />
To configure a comm port to send data to the serial port of a serial gateway, you should set the comm port type to “server”, and set the gateway’s IP address and TCP port number.<br />
<br />
The serial port handshake parameters must be set on the gateway using its configuration utilities.<br />
<br />
HSYCO supports a high-availability, failover configuration for serial gateways.<br />
<br />
HSYCO supports a high-availability, failover configuration for serial gateways. You enable failover by adding a second IP address to the IP parameter.<br />
<br />
HSYCO will try to establish a connection using the first IP address, automatically switching to the failover address if a communication error occurs.<br />
<br />
In this configuration, the JavaScript or Java closeComm() function can be used to force a reconnect on the next call to readComm() or writeComm(), so that a switch between the fail-over IPs would happen if the current IP is not responding.<br />
<br />
=== HWG I/O Server ports ===<br />
<br />
Some network I/O controllers produced by HWG have a serial port, that could be used as fully functional serial port by HSYCO. To configure these ports, select type “io”, then select the I/O server id of the HWG controller and enter the normal serial port configuration parameters.<br />
<br />
<br />
[[File:Configuration HWG Server ports.png|border|center|600px]]<br />
<br />
<br />
=== IRTrans ports ===<br />
<br />
Some IRTrans network IR controllers have a local serial port. HSYCO can use this port as an output-only serial port.<br />
<br />
To configure an IRTrans serial port, select type “irtrans”, and select the id of the IRTrans device. The serial port communication parameters, like speed, flow control etc., should be configured on the IRTrans.<br />
<br />
<br />
[[File:Configuration IRTrans ports.png|border|center|600px]]<br />
<br />
<br />
== IRTrans Servers ==<br />
<br />
The IRTrans Servers section is used to define the IRTrans network infrared devices.<br />
<br />
<br />
[[File:Configuration IRTrans Servers1.png|border|center|600px]]<br />
<br />
<br />
Each IRTrans must have a unique ID. You can add a new devices pressing the + button.<br />
<br />
<br />
[[File:Configuration IRTrans Servers2.png|border|center]]<br />
<br />
<br />
Already defined devices could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
<br />
[[File:Configuration IRTrans Servers3.png|border|center|600px]]<br />
<br />
<br />
The only configuration parameter is the IRTrans IP address.<br />
<br />
<br />
== Cameras == <br />
<br />
This section is used to define individual IP cameras, to set general configuration parameters for video processing, and to define camera grids for the user interface.<br />
<br />
<br />
[[File:Configuration Cameras1.png|border|center|600px]]<br />
<br />
<br />
=== General parameters ===<br />
<br />
'''CamerasRecordingMotionTriggerSeconds'''<br />
<br />
'''Default:''' 5<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
Number of seconds during which HSYCO keeps on recording from a camera after a recording trigger event for that camera. It is possible to set this parameter at 0, disabling the triggered recording of events; this can be useful in case it is preferred to control recording only through the Java user code or EVENTS.<br />
<br />
<br />
'''CamerasRefreshMillis'''<br />
<br />
'''Default:''' 1000<br />
<br />
'''Format:''' positive integer number<br />
<br />
<br />
Camera frames acquisition interval, in milliseconds. For example, for a frequency of 4 frames a second, set the value to 250. A low value corresponds to a higher number of frames acquired and recorded in the time unit, with a heavier load in terms of CPU resources and disk space.<br />
<br />
<br />
'''CamerasResizedQuality'''<br />
<br />
'''Default:''' 0.7<br />
<br />
'''Format:''' decimal number between 0 and 1 (decimals separated by “.”)<br />
<br />
<br />
Image quality for images processing and resizing. Numbers close to 1 produce a better quality, but heavier load and larger size for each frame.<br />
<br />
<br />
=== Cameras parameters ===<br />
<br />
Each camera must have a unique ID. You can add a new cameras pressing the + button in the cameras list panel.<br />
<br />
<br />
[[File:Configuration Cameras2.png|border|center]]<br />
<br />
<br />
Already defined cameras could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
<br />
[[File:Configuration Cameras3.png|border|center|600px]]<br />
<br />
<br />
'''URL'''<br />
<br />
'''Default:''' mandatory<br />
<br />
'''Format:''' complete URL<br />
<br />
<br />
Complete URL to acquire single frames in JPEG format, or MJPEG streams, in the desired resolution. Mandatory for each camera.<br />
Recording is based on frames acquired with this URL.<br />
<br />
When using MJPEG streams, it is advisable to configure the number of frames per second the camera streams to a value that is very close to HSYCO’s frame rate as set with CamerasRefreshMillis.<br />
<br />
<br />
'''URL Small'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' complete URL<br />
<br />
In order to optimize camera processing performance, set this optional parameter. The URL fetches frames at a lower resolution. When serving frames to the Web interface, HSYCO will automatically choose the most appropriate frame resolution to use, based on the size of the frame in the Web interface.<br />
<br />
Small frames are also normally used to create grids, improving processing performance.<br />
<br />
<br />
{{note|For a list of supported URLs check here: [[Camera URLs]] and here: [[Encoder URLs]].}}<br />
<br />
<br />
'''PTZ'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' name of the PTZ driver<br />
<br />
<br />
Defines the PTZ features of a camera and family of PTZ driver. The PTZ control of a camera is automatically added to the Web interface. <br />
<br />
You can click on the edges of the camera image to control the camera: up, down, right, left, zoom and focus.<br />
<br />
Supported types are:<br />
<br />
Camera.''id''.PTZ = axis (AXIS PTZ cameras)<br />
Camera.''id''.PTZ = axis-vptz (AXIS fixed cameras with virtual PTZ support)<br />
Camera.''id''.PTZ = panasonic (Panasonic BB and BL Series cameras)<br />
Camera.''id''.PTZ = panasonic-wv (Panasonic WV Series cameras)<br />
Camera.''id''.PTZ = mobotix (Mobotix cameras)<br />
Camera.''id''.PTZ = rovio (the WowWee Rovio camera)<br />
Camera.''id''.PTZ = SNV-3120, SNP-3120, SNP-3120V, SNP-3120H (Samsung cameras)<br />
Camera.''id''.PTZ = vptz (fixed cameras with virtual PTZ support implemented by HSYCO)<br />
Camera.''id''.PTZ = user (to associate custom Java code to the control areas of the image).<br />
<br />
<br />
'''Type'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
Defines the camera model type for cameras that support this option. For example, ''Camera.samsung.Type = SND-5080''.<br />
<br />
<br />
'''IO'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' ''enabled''<br />
<br />
<br />
For some camera models, you can enable I/O and VA (Visual Analysis) option for a camera. For example, Camera.<camid>.IO=enabled. If you want to enable I/O only, set it to “enabled:io”, or to “enabled:va” to enable VA only.<br />
<br />
<br />
'''User'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
When this parameter is defined, the access requests to the frames and the commands for PTZ control of the camera are sent with user and password authentication.<br />
<br />
<br />
'''Password'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
When this parameter is defined, the access requests to the frames and the commands for PTZ control of the camera are sent with user and password authentication.<br />
<br />
<br />
'''Dropped Frames'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' integer number &ge; 0<br />
<br />
<br />
This parameter specifies the number of frames that should be discarded during recording. <br />
<br />
For example, setting the value to 1, half of the frames will be recorded out of those normally acquired from the camera; setting the value to 3, 3 frames will be discarded for each frame acquired, thus recording only 1/4 of the acquired frames. Dropping frames reduces space used to store frames on disk, and causes accelerated playback of recorded video.<br />
<br />
<br />
'''Max Age'''<br />
<br />
'''Default:''' 30d<br />
<br />
'''Format:''' positive integer number followed by “''d''” character, for days, “''h''” for hours or “''m''” for minutes<br />
<br />
<br />
Period of time, from when each frame acquired by the camera corresponding is recorded, during which the frames remain on HSYCO’s hard disk. <br />
<br />
When this time expires the frames are automatically deleted from the HSYCO motion directory. The older frames can be automatically erased even before their expiration time, in case the space available on disk drops below a safe margin.<br />
<br />
<br />
'''Motion Buffer'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive integer number <br />
<br />
<br />
Recording normally starts exactly when a recording trigger or command is issued. Using this parameter you can have HSYCO start recording some time ahead of the recording command. This is particularly important to capture video a few seconds before an event happens.<br />
<br />
When this parameter is set, HSYCO constantly acquires images from the camera, not only when necessary to display or record video. Moreover, the temporary recording of this buffer requires memory resources, and it is therefore convenient not to use high values (values included between 10 and 20, with an acquisition rate of about 400 milliseconds, can be considered normal).<br />
<br />
Enable motion buffering only when actually needed.<br />
<br />
<br />
'''Remote Password'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
HSYCO can optionally serve live images of its cameras through a password protected HTTP request, for example:<br />
<br />
<nowiki>https://<hsycoserver>/x/camera/<cameraid>?password=<password>&size=<width>x<height></nowiki><br />
<br />
(size is optional) for single frames or: <br />
<br />
<nowiki>https://<hsycoserver>/x/camerastream/<cameraid>?size=<width>x<height>&password=<pwd>[&period=<millis>]</nowiki><br />
<br />
to retrieve a MJPEG stream.<br />
<br />
It is also possible to define different passwords for clients inside the trusted range of IP addresses and outside.<br />
<br />
<br />
'''Trusted Password'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
Similar to RemoteRequestPassword, you can use this optional parameter to set remote passwords for clients inside the trusted range of IO addresses.<br />
<br />
Note that requests with the TrustedRequestPassword value will be also served via HTTP, without SSL.<br />
<br />
<br />
'''Rotate'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
Allows the rotation of the images acquired by a camera. Set to the number of decimal degrees of rotation. A positive number causes a clockwise rotation. Because of the rotation, the images could be cut or have bars at their edges to adapt the rotated picture to the frame size. Setting this parameter could cause a noticeable impact of performance, especially when processing high resolution images.<br />
<br />
=== Grids ===<br />
<br />
You can define up to 99 different combinations of cameras to create matrix displays of multiple cameras. The id is automatically generated when the + button is pressed, starting from 1 and up to 99 with consecutive numbers.<br />
<br />
Grids could be deleted using the - button.<br />
<br />
<br />
[[File:Configuration Grids.png|border|center|600px]]<br />
<br />
<br />
Select an item in the grids list to define the grid’s number of rows and columns and select the cameras for each position. You can leave some positions empty.<br />
You should also define the other grid parameters.<br />
<br />
'''Resolution'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' <width> x <height> in pixels<br />
<br />
<br />
This optional parameter is used to optimize grid processing performance, especially on large grids when using large size skins for the Web interface.<br />
<br />
You can define a maximum resolution for the grid. HSYCO will always deliver this grid with a resolution that is never larger than the width and height defined with this parameter. <br />
<br />
The effect is to reduce the byte size of the resulting image, improving performance on remote connections, and to offload the CPU processing required to generate the grid, having a potential benefit on frame rate.<br />
<br />
<br />
'''Remote Password'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
HSYCO can optionally serve live images of its grids through a password protected HTTP request, for example:<br />
<br />
https://<hsycoserver>/x/camera/grid<N>?password=<password>&size=<width>x<height> <br />
<br />
(size is optional) for single frames or: <br />
<br />
https://<hsycoserver>/x/camerastream/grid<N>?size=<width>x<height>&password=<pwd>[&period=<millis>] <br />
<br />
to retrieve a MJPEG stream.<br />
<br />
It is also possible to define different passwords for clients inside the trusted range of IP addresses and outside.<br />
<br />
<br />
'''Trusted Password'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' string (letters and numbers)<br />
<br />
<br />
Similar to RemoteRequestPassword, you can use this optional parameter to set remote access passwords for clients inside the trusted range of IP addresses.<br />
<br />
Note that requests with the TrustedRequestPassword value will be also served via HTTP, without SSL.<br />
<br />
== Data Loggers ==<br />
<br />
The Data Loggers section is used to define HSYCO’s data loggers and their configuration parameters.<br />
<br />
<br />
[[File:Configuration Data Loggers1.png|border|center|600px]]<br />
<br />
<br />
There is one general configuration parameter:<br />
<br />
'''CSV Separator'''<br />
<br />
'''Default:''' comma<br />
<br />
'''Format:''' tab | comma | semicolon<br />
<br />
<br />
This parameter defines the field separator character for CSV files generated by the data loggers.<br />
<br />
<br />
Each data logger must have a unique ID. You can add a new data loggers pressing the + button.<br />
<br />
<br />
[[File:Configuration Data Loggers2.png|border|center]]<br />
<br />
<br />
Select the type, range or counter, and enter the data logger unique ID.<br />
<br />
Already defined data loggers could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
Counter and range data loggers have different configuration parameters.<br />
<br />
<br />
=== Counter Data Loggers ===<br />
<br />
<br />
[[File:Configuration Data Loggers Counter.png|border|center|600px]]<br />
<br />
<br />
'''Decimals'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
The number of decimal digits to be used for the input data.<br />
<br />
<br />
'''Resolution'''<br />
<br />
'''Default:''' hour<br />
<br />
'''Format:''' minute | hour | day | month<br />
<br />
<br />
Data aggregation maximum resolution.<br />
<br />
<br />
'''Hour Interval'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' divisor of 24<br />
<br />
<br />
Specifies the number of hours to be grouped into a single interval. For example, if set to 6, the day will be divided in groups of 6 hours: 1-6, 7-12, 13-18, and 19-24.<br />
<br />
<br />
'''Set Variables'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
If set to true (checked), the following variables will be generated:<br />
*<code>$dlog.<datalogger_id>.hour.tot</code>: its value is updated to the total value of the current hour<br />
*<code>$dlog.<datalogger_id>.hour.past.tot</code>: its value is updated to the total value of the past hour<br />
*<code>$dlog.<datalogger_id>.day.tot</code>: its value is updated to the total value of today<br />
*<code>$dlog.<datalogger_id>.day.past.tot</code>: its value is updated to the total value of yesteday<br />
*<code>$dlog.<datalogger_id>.month.tot</code>: its value is updated to the total value of the current month<br />
*<code>$dlog.<datalogger_id>.month.past.tot</code>: its value is updated to the total value of the past month<br />
*<code>$dlog.<datalogger_id>.year.tot</code>: its value is updated to the total value of the current year<br />
*<code>$dlog.<datalogger_id>.year.past.tot</code>: its value is updated to the total value of the past year<br />
<br />
If slots are used, the following variables will be generated for each slot:<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.hour.tot</code>: its value is updated to the total value of the current hour for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.hour.past.tot</code>: its value is updated to the total value of the past hour for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.day.tot</code>: its value is updated to the total value of today for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.day.past.tot</code>: its value is updated to the total value of yesteday for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.month.tot</code>: its value is updated to the total value of the current month for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.month.past.tot</code>: its value is updated to the total value of the past month for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.year.tot</code>: its value is updated to the total value of the current year for this slot<br />
*<code>$dlog.<datalogger_id>.s<slot_id>.year.past.tot</code>: its value is updated to the total value of the past year for this slot<br />
<br />
<br />
'''Delete data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, data older than the specified amount of days will be deleted.<br />
<br />
<br />
'''Consolidate months data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one month.<br />
<br />
<br />
'''Consolidate days data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one day.<br />
<br />
<br />
'''Consolidate hours data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one hour.<br />
<br />
<br />
'''Max Delta'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' positive float number<br />
<br />
<br />
Sets the maximum valid delta between consecutive readings. If the calculated delta exceed such value, the read value is ignored. If not specified, all values are accepted.<br />
<br />
{{tip|It is highly recommended to set the delta limit in order to prevent the data series from being corrupted in case of false readings.}}<br />
<br />
<br />
'''Upper Limit'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' positive float number<br />
<br />
<br />
Specifies the maximum value that can be reached by the input value. This value will be used in case of counter roll-over. A value of 0 indicates that no upper limit is specified.<br />
<br />
<br />
'''Separate Slot Charts'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
<br />
Option for counter data loggers using time slots. Specifies wether or not to use different monthly and yearly charts for each defined time slot.<br />
<br />
<br />
'''Align Slots'''<br />
<br />
'''Default:''' true<br />
<br />
'''Format:''' true | false<br />
<br />
<br />
Option for counter data loggers using time slots with separate charts. Specifies wether or not to align the scale of the slot charts belonging to the same period.<br />
<br />
<br />
<br />
'''Rates Log File'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' file path. e.g.: ''hsyco/rates.csv''<br />
<br />
<br />
Option for counter data loggers using time slots. Specifies the path of the file where the processed data will be logged. If omitted, no log file will be created.<br />
<br />
If the path includes the strings “%Y”, “%M”, or “%D” they will be replaced respectively by the current year, month, or day.<br />
<br />
=== Range Data Loggers ===<br />
<br />
<br />
[[File:Configuration Data Loggers Range.png|border|center|600px]]<br />
<br />
<br />
'''Decimals'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' integer number<br />
<br />
<br />
The number of decimal digits to be used for the input data.<br />
<br />
<br />
'''Resolution'''<br />
<br />
'''Default:''' hour<br />
<br />
'''Format:''' minute | hour | day | month<br />
<br />
<br />
Data aggregation maximum resolution.<br />
<br />
<br />
'''Hour Interval'''<br />
<br />
'''Default:''' 1<br />
<br />
'''Format:''' divisor of 24<br />
<br />
<br />
Specifies the number of hours to be grouped into a single interval. For example, if set to 6, the day will be divided in groups of 6 hours: 1-6, 7-12, 13-18, and 19-24.<br />
<br />
<br />
'''Set Variables'''<br />
<br />
'''Default:''' false<br />
<br />
'''Format:''' true | false<br />
<br />
If set to true (checked), the following variables will be generated:<br />
*<code>$dlog.<datalogger_id>.hour.min.tot</code>: its value is updated to the minimum value of the current hour<br />
*<code>$dlog.<datalogger_id>.hour.max.tot</code>: its value is updated to the maximum value of the current hour<br />
*<code>$dlog.<datalogger_id>.hour.avg.tot</code>: its value is updated to the average value of the current hour<br />
*<code>$dlog.<datalogger_id>.hour.past.min.tot</code>: its value is updated to the minimum value of the past hour<br />
*<code>$dlog.<datalogger_id>.hour.past.max.tot</code>: its value is updated to the maximum value of the past hour<br />
*<code>$dlog.<datalogger_id>.hour.past.avg.tot</code>: its value is updated to the average value of the past hour<br />
<br />
*<code>$dlog.<datalogger_id>.day.min.tot</code>: its value is updated to the minimum value of today<br />
*<code>$dlog.<datalogger_id>.day.max.tot</code>: its value is updated to the maximum value of today<br />
*<code>$dlog.<datalogger_id>.day.avg.tot</code>: its value is updated to the average value of today<br />
*<code>$dlog.<datalogger_id>.day.past.min.tot</code>: its value is updated to the minimum value of yesterday<br />
*<code>$dlog.<datalogger_id>.day.past.max.tot</code>: its value is updated to the maximum value of yesterday<br />
*<code>$dlog.<datalogger_id>.day.past.avg.tot</code>: its value is updated to the average value of yesterday<br />
<br />
*<code>$dlog.<datalogger_id>.month.min.tot</code>: its value is updated to the minimum value of the current month<br />
*<code>$dlog.<datalogger_id>.month.max.tot</code>: its value is updated to the maximum value of the current month<br />
*<code>$dlog.<datalogger_id>.month.avg.tot</code>: its value is updated to the average value of the current month<br />
*<code>$dlog.<datalogger_id>.month.past.min.tot</code>: its value is updated to the minimum value of the past month<br />
*<code>$dlog.<datalogger_id>.month.past.max.tot</code>: its value is updated to the maximum value of the past month<br />
*<code>$dlog.<datalogger_id>.month.past.avg.tot</code>: its value is updated to the average value of the past month<br />
<br />
*<code>$dlog.<datalogger_id>.year.min.tot</code>: its value is updated to the minimum value of the current year<br />
*<code>$dlog.<datalogger_id>.year.max.tot</code>: its value is updated to the maximum value of the current year<br />
*<code>$dlog.<datalogger_id>.year.avg.tot</code>: its value is updated to the average value of the current year<br />
*<code>$dlog.<datalogger_id>.year.past.min.tot</code>: its value is updated to the minimum value of the past year<br />
*<code>$dlog.<datalogger_id>.year.past.max.tot</code>: its value is updated to the maximum value of the past year<br />
*<code>$dlog.<datalogger_id>.year.past.avg.tot</code>: its value is updated to the average value of the past year<br />
<br />
<br />
'''Delete data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, data older than the specified amount of days will be deleted.<br />
<br />
<br />
'''Consolidate months data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one month.<br />
<br />
<br />
'''Consolidate days data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one day.<br />
<br />
<br />
'''Consolidate hours data after'''<br />
<br />
'''Default:'''<br />
<br />
'''Format:''' non-negative integer number<br />
<br />
<br />
If set to a value greater than zero, the resolution of data older than the specified amount of days will be reduced to one hour.<br />
<br />
<br />
'''Origin'''<br />
<br />
'''Default:''' 0<br />
<br />
'''Format:''' float number<br />
<br />
<br />
Specifies the origin of the charts.<br />
<br />
<br />
<br />
'''Range'''<br />
<br />
'''Default:''' <br />
<br />
'''Format:''' range: low:up<br />
<br />
<br />
Specifies the range of the charts as “low:up”, where “low” indicates the lower limit and “up” the upper one. The lower and upper limits can be specified as rigid or flexible: if the value of a limit is followed by a “!” (e.g. 0!:20!) then it is rigid, meaning it will not change even if the data logger has processed a value exceeding the range. On the contrary, flexible ranges (e.g. 0:20) will be modified whenever a value exceed it. <br />
<br />
If the parameter is omitted, the charts will range from the lowest processed value to the highest one.<br />
<br />
<br />
'''Out of Range Mode'''<br />
<br />
'''Default:''' cut<br />
<br />
'''Format:''' cut | ignore<br />
<br />
<br />
Option for range data loggers with a predefined range. Specifies the behavior of the data logger when updated with a value which exceed the set value range: if “cut” is specified then the value is adjusted to the limits, else, if this parameter is set to “ignore”, the passed value is not taken into account. In both cases, an error message is reported for out of range values.<br />
<br />
=== Tools ===<br />
<br />
By clicking on the tools icon it is possible to access the data recovery functionality.<br />
<br />
This tool allows to import data loggers' data from an old backup of the "data" folder. It can be used in case of database corruption or hard disk failure.<br />
<br />
[[File:Configuration Data Loggers Recovery.png|border|center]]<br />
<br />
Enter the name of the folder containing the backup (default: "data_backup", must be located in HSYCO's root folder) and specify whether or not to overwrite existing data. This option specifies how to handle data which are stored both in the backup database and in the current database and relative to the same time. If the checkbox is set the data in the backup will overwrite the current data, otherwise the current data will be preserved.<br />
<br />
When clicking on "Restore" all the data of the currently defined and enabled data loggers available in the backup will be imported.<br />
<br />
== DMX ==<br />
<br />
The DMX section is used to define the DMX-512 gateways.<br />
<br />
<br />
[[File:Configuration DMX1.png|border|center|600px]]<br />
<br />
<br />
Each DMX gateway must have a unique ID. You can add a new devices pressing the + button.<br />
<br />
<br />
[[File:Configuration DMX2.png|border|center]]<br />
<br />
<br />
Already defined devices could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
HSYCO supports three different DMX solutions, using different configuration parameters.<br />
<br />
=== KissBox DMX Network Gateways ===<br />
<br />
For KissBox network gateways, check IP and enter the IP address and port number.<br />
<br />
<br />
[[File:Configuration DMX KissBox.png|border|center]]<br />
<br />
<br />
=== ENTTEC DMX USB PRO DMX Gateways ===<br />
<br />
For the ENTTEC DMX USB PRO DMX gateways, check Comm and enter the virtual serial port name assigned to the USB port. See the [[Enttec|ENTTEC DMX USB PRO]] application note for additional information.<br />
<br />
<br />
[[File:Configuration DMX Enttec.png|border|center]]<br />
<br />
=== Domino and Contatto DMX devices ===<br />
<br />
When using Doemmegi’s Domino or Contatto systems DMX devices, check ID and enter the full device name, including the I/O server prefix. See the [[Domino]] or [[Contatto]] application notes for additional information.<br />
<br />
<br />
[[File:Configuration DMX Duemmegi.png|border|center]]<br />
<br />
== Location Services ==<br />
<br />
The Location Services section is used to define the WiFi access points used to locate the WiFi clients position.<br />
<br />
<br />
[[File:Configuration Location Services1.png|border|center|600px]]<br />
<br />
<br />
Each access point must have a unique ID. You can add a new devices pressing the + button.<br />
<br />
<br />
[[File:Configuration Location Services2.png|border|center]]<br />
<br />
<br />
Already defined devices could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
<br />
[[File:Configuration Location Services3.png|border|center|600px]]<br />
<br />
<br />
The only configuration parameter is the access point IP address.<br />
<br />
== Timers ==<br />
<br />
The Timers section is used to define user timers.<br />
<br />
<br />
[[File:Configuration Timers1.png|border|center|600px]]<br />
<br />
<br />
Each timer must have a unique ID. You can add a new timers pressing the + button.<br />
<br />
<br />
[[File:Configuration Timers2.png|border|center]]<br />
<br />
<br />
Already defined timers could be deleted with the - button or disabled by unchecking the Enabled checkbox.<br />
Timers don’t require any configuration parameter besides the id.<br />
<br />
== Squeezebox ==<br />
<br />
This section is used to define the Squeezebox server and music players.<br />
<br />
<br />
[[File:Configuration Squeezebox1.png|border|center|600px]]<br />
<br />
<br />
You should set the Squeezebox server’s IP address or network name and port number.<br />
<br />
Each player must have a unique ID. You can add a new devices pressing the + button.<br />
<br />
<br />
[[File:Configuration Squeezebox2.png|border|center]]<br />
<br />
<br />
Already defined devices could be deleted with the - button or disabled without removing their configuration parameters by unchecking the Enabled checkbox.<br />
<br />
<br />
[[File:Configuration Squeezebox3.png|border|center|600px]]<br />
<br />
<br />
The only configuration parameter is the player id, usually its MAC address.</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Kissbox&diff=5188Kissbox2014-09-26T13:26:25Z<p>Manuela: </p>
<hr />
<div>[http://www.kissbox.nl/products_new.html#dmx KissBox] DMX-512 is a Ethernet DMX adapter that allows HSYCO to control any DMX-512 standard bus. <br />
<br />
Multiple Transceivers can be set up to work together and distribute up to 64 universes of DMX across the network. <br />
The DMX-512 Transceiver can be set to use the Artnet protocol.<br />
<br />
[[File:IO Server Kissbox Module.jpg|center]]<br />
<br />
Check the KissBox site for additional information.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Connections ==<br />
<br />
The KissBox DMX-512 connects to an Ethernet port on HSYCO Server, and is powered through the Ethernet, so there is no need for an external power supply.<br />
<br />
You can connect multiple KissBox DMX-512 devices or other DMX controllers to an HSYCO Server.<br />
<br />
== HSYCO Configuration ==<br />
Add a DMX Gateway in the [[Settings#DMX| DMX Gateway section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the KissBox DMX-512<br />
*'''IP Port''': TCP/IP port to use.<br />
<br />
Once the KissBox is configured in the DMX Gateway of System Settings, you will be able to control the DMX-512 bus as with any other supported DMX controller on HSYCO.<br />
<br />
== Release Notes ==<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''KissBox DMX-512 is a registered trademark of Kissbox.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Kissbox&diff=5187Kissbox2014-09-26T13:20:57Z<p>Manuela: </p>
<hr />
<div>[http://www.kissbox.nl/products_new.html#dmx KissBox] DMX-512 is a Ethernet DMX adapter that allows HSYCO to control any DMX-512 standard bus. <br />
<br />
Multiple Transceivers can be set up to work together and distribute up to 64 universes of DMX across the network. <br />
The DMX-512 Transceiver can be set to use the Artnet protocol.<br />
<br />
[[File:IO Server Kissbox Module.jpg|center]]<br />
<br />
Check the KissBox site for additional information.<br />
<br />
<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Connections ==<br />
<br />
The KissBox DMX-512 connects to an Ethernet port on HSYCO Server, and is powered through the Ethernet, so there is no need for an external power supply.<br />
<br />
You can connect multiple KissBox DMX-512 devices or other DMX controllers to an HSYCO Server.<br />
<br />
== HSYCO Configuration ==<br />
Add a DMX Gateway in the [[Settings#DMX| DMX Gateway section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the KissBox DMX-512<br />
*'''IP Port''': TCP/IP port to use.<br />
<br />
Once the KissBox is configured in the DMX Gateway of System Settings, you will be able to control the DMX-512 bus as with any other supported DMX controller on HSYCO.<br />
<br />
== Release Notes ==<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''KissBox DMX-512 is a registered trademark of Kissbox.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Kissbox&diff=5186Kissbox2014-09-26T13:20:39Z<p>Manuela: </p>
<hr />
<div>[http://www.kissbox.nl/products_new.html#dmx KissBox] DMX-512 is a Ethernet DMX adapter that allows HSYCO to control any DMX-512 standard bus. <br />
<br />
Multiple Transceivers can be set up to work together and distribute up to 64 universes of DMX across the network. <br />
The DMX-512 Transceiver can be set to use the Artnet protocol.<br />
<br />
[[File:IO Server Kissbox Module.jpg|center]]<br />
<br />
Check the KissBox site for additional information.<br />
<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Connections ==<br />
<br />
The KissBox DMX-512 connects to an Ethernet port on HSYCO Server, and is powered through the Ethernet, so there is no need for an external power supply.<br />
<br />
You can connect multiple KissBox DMX-512 devices or other DMX controllers to an HSYCO Server.<br />
<br />
== HSYCO Configuration ==<br />
Add a DMX Gateway in the [[Settings#DMX| DMX Gateway section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the KissBox DMX-512<br />
*'''IP Port''': TCP/IP port to use.<br />
<br />
Once the KissBox is configured in the DMX Gateway of System Settings, you will be able to control the DMX-512 bus as with any other supported DMX controller on HSYCO.<br />
<br />
== Release Notes ==<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''KissBox DMX-512 is a registered trademark of Kissbox.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Kissbox&diff=5185Kissbox2014-09-26T13:20:27Z<p>Manuela: /* Communication */</p>
<hr />
<div>[http://www.kissbox.nl/products_new.html#dmx KissBox] DMX-512 is a Ethernet DMX adapter that allows HSYCO to control any DMX-512 standard bus. <br />
<br />
Multiple Transceivers can be set up to work together and distribute up to 64 universes of DMX across the network. <br />
The DMX-512 Transceiver can be set to use the Artnet protocol.<br />
<br />
[[File:IO Server Kissbox Module.jpg|center]]<br />
<br />
Check the KissBox site for additional information.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Connections ==<br />
<br />
The KissBox DMX-512 connects to an Ethernet port on HSYCO Server, and is powered through the Ethernet, so there is no need for an external power supply.<br />
<br />
You can connect multiple KissBox DMX-512 devices or other DMX controllers to an HSYCO Server.<br />
<br />
== HSYCO Configuration ==<br />
Add a DMX Gateway in the [[Settings#DMX| DMX Gateway section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the KissBox DMX-512<br />
*'''IP Port''': TCP/IP port to use.<br />
<br />
Once the KissBox is configured in the DMX Gateway of System Settings, you will be able to control the DMX-512 bus as with any other supported DMX controller on HSYCO.<br />
<br />
== Release Notes ==<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''KissBox DMX-512 is a registered trademark of Kissbox.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Kissbox&diff=5184Kissbox2014-09-26T13:18:37Z<p>Manuela: </p>
<hr />
<div>[http://www.kissbox.nl/products_new.html#dmx KissBox] DMX-512 is a Ethernet DMX adapter that allows HSYCO to control any DMX-512 standard bus. <br />
<br />
Multiple Transceivers can be set up to work together and distribute up to 64 universes of DMX across the network. <br />
The DMX-512 Transceiver can be set to use the Artnet protocol.<br />
<br />
[[File:IO Server Kissbox Module.jpg|center]]<br />
<br />
Check the KissBox site for additional information.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Connections ==<br />
<br />
The KissBox DMX-512 connects to an Ethernet port on HSYCO Server, and is powered through the Ethernet, so there is no need for an external power supply.<br />
<br />
You can connect multiple KissBox DMX-512 devices or other DMX controllers to an HSYCO Server.<br />
<br />
== HSYCO Configuration ==<br />
Add a DMX Gateway in the [[Settings#DMX| DMX Gateway section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the KissBox DMX-512<br />
*'''IP Port''': TCP/IP port to use.<br />
<br />
Once the KissBox is configured in DMX Gateway of System Settings, you will be able to control the DMX-512 bus as with any other supported DMX controller on HSYCO.<br />
<br />
== Release Notes ==<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''KissBox DMX-512 is a registered trademark of Kissbox.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Kissbox&diff=5183Kissbox2014-09-26T13:18:18Z<p>Manuela: </p>
<hr />
<div>[http://www.kissbox.nl/products_new.html#dmx KissBox] DMX-512 is a Ethernet DMX adapter that allows HSYCO to control any DMX-512 standard bus. Multiple Transceivers can be set up to work together and distribute up to 64 universes of DMX across the network. The DMX-512 Transceiver can be set to use the Artnet protocol.<br />
<br />
[[File:IO Server Kissbox Module.jpg|center]]<br />
<br />
Check the KissBox site for additional information.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Connections ==<br />
<br />
The KissBox DMX-512 connects to an Ethernet port on HSYCO Server, and is powered through the Ethernet, so there is no need for an external power supply.<br />
<br />
You can connect multiple KissBox DMX-512 devices or other DMX controllers to an HSYCO Server.<br />
<br />
== HSYCO Configuration ==<br />
Add a DMX Gateway in the [[Settings#DMX| DMX Gateway section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the KissBox DMX-512<br />
*'''IP Port''': TCP/IP port to use.<br />
<br />
Once the KissBox is configured in DMX Gateway of System Settings, you will be able to control the DMX-512 bus as with any other supported DMX controller on HSYCO.<br />
<br />
== Release Notes ==<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''KissBox DMX-512 is a registered trademark of Kissbox.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Kissbox&diff=5182Kissbox2014-09-26T13:18:05Z<p>Manuela: </p>
<hr />
<div>[http://www.kissbox.nl/products_new.html#dmx KissBox] DMX-512 is a Ethernet DMX adapter that allows HSYCO to control any DMX-512 standard bus. Multiple Transceivers can be set up to work together and distribute up to 64 universes of DMX across the network. The DMX-512 Transceiver can be set to use the Artnet protocol.<br />
<br />
[[File:IO Server Kissbox Module.jpg|left]]<br />
<br />
Check the KissBox site for additional information.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Connections ==<br />
<br />
The KissBox DMX-512 connects to an Ethernet port on HSYCO Server, and is powered through the Ethernet, so there is no need for an external power supply.<br />
<br />
You can connect multiple KissBox DMX-512 devices or other DMX controllers to an HSYCO Server.<br />
<br />
== HSYCO Configuration ==<br />
Add a DMX Gateway in the [[Settings#DMX| DMX Gateway section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the KissBox DMX-512<br />
*'''IP Port''': TCP/IP port to use.<br />
<br />
Once the KissBox is configured in DMX Gateway of System Settings, you will be able to control the DMX-512 bus as with any other supported DMX controller on HSYCO.<br />
<br />
== Release Notes ==<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''KissBox DMX-512 is a registered trademark of Kissbox.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Kissbox&diff=5181Kissbox2014-09-26T13:16:10Z<p>Manuela: /* HSYCO Configuration */</p>
<hr />
<div>[http://www.kissbox.nl/products_new.html#dmx KissBox] DMX-512 is a Ethernet DMX adapter that allows HSYCO to control any DMX-512 standard bus. Multiple Transceivers can be set up to work together and distribute up to 64 universes of DMX across the network. The DMX-512 Transceiver can be set to use the Artnet protocol.<br />
<br />
[[File:IO Server Kissbox Module.jpg|center]]<br />
<br />
Check the KissBox site for additional information.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Connections ==<br />
<br />
The KissBox DMX-512 connects to an Ethernet port on HSYCO Server, and is powered through the Ethernet, so there is no need for an external power supply.<br />
<br />
You can connect multiple KissBox DMX-512 devices or other DMX controllers to an HSYCO Server.<br />
<br />
== HSYCO Configuration ==<br />
Add a DMX Gateway in the [[Settings#DMX| DMX Gateway section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the KissBox DMX-512<br />
*'''IP Port''': TCP/IP port to use.<br />
<br />
Once the KissBox is configured in DMX Gateway of System Settings, you will be able to control the DMX-512 bus as with any other supported DMX controller on HSYCO.<br />
<br />
== Release Notes ==<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''KissBox DMX-512 is a registered trademark of Kissbox.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Kissbox&diff=5180Kissbox2014-09-26T13:15:50Z<p>Manuela: </p>
<hr />
<div>[http://www.kissbox.nl/products_new.html#dmx KissBox] DMX-512 is a Ethernet DMX adapter that allows HSYCO to control any DMX-512 standard bus. Multiple Transceivers can be set up to work together and distribute up to 64 universes of DMX across the network. The DMX-512 Transceiver can be set to use the Artnet protocol.<br />
<br />
[[File:IO Server Kissbox Module.jpg|center]]<br />
<br />
Check the KissBox site for additional information.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Connections ==<br />
<br />
The KissBox DMX-512 connects to an Ethernet port on HSYCO Server, and is powered through the Ethernet, so there is no need for an external power supply.<br />
<br />
You can connect multiple KissBox DMX-512 devices or other DMX controllers to an HSYCO Server.<br />
<br />
== HSYCO Configuration ==<br />
Add a DMX Gateway in the [[Settings#DMX| Gateway section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the KissBox DMX-512<br />
*'''IP Port''': TCP/IP port to use.<br />
<br />
Once the KissBox is configured in DMX Gateway of System Settings, you will be able to control the DMX-512 bus as with any other supported DMX controller on HSYCO.<br />
<br />
== Release Notes ==<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''KissBox DMX-512 is a registered trademark of Kissbox.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Kissbox&diff=5179Kissbox2014-09-26T13:14:18Z<p>Manuela: </p>
<hr />
<div>[http://www.kissbox.nl/products_new.html#dmx KissBox] DMX-512 is a Ethernet DMX adapter that allows HSYCO to control any DMX-512 standard bus. Multiple Transceivers can be set up to work together and distribute up to 64 universes of DMX across the network. The DMX-512 Transceiver can be set to use the Artnet protocol.<br />
<br />
[[File:IO Server Kissbox Module.jpg|center]]<br />
<br />
Check the KissBox site for additional information.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Connections ==<br />
<br />
The KissBox DMX-512 connects to an Ethernet port on HSYCO Server, and is powered through the Ethernet, so there is no need for an external power supply.<br />
<br />
You can connect multiple KissBox DMX-512 devices or other DMX controllers to an HSYCO Server.<br />
<br />
== HSYCO Configuration ==<br />
Add a DMX Gateway in the [[Settings#DMX Gateway| section of the Settings]] and set its parameters:<br />
<br />
=== Communication ===<br />
*'''IP Address''': IP address of the KissBox DMX-512<br />
*'''IP Port''': TCP/IP port to use.<br />
<br />
Once the KissBox is configured in DMX Gateway of System Settings, you will be able to control the DMX-512 bus as with any other supported DMX controller on HSYCO.<br />
<br />
== Release Notes ==<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''KissBox DMX-512 is a registered trademark of Kissbox.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Kissbox&diff=5178Kissbox2014-09-26T13:10:00Z<p>Manuela: /* Connections */</p>
<hr />
<div>[http://www.kissbox.nl/products_new.html#dmx KissBox] DMX-512 is a Ethernet DMX adapter that allows HSYCO to control any DMX-512 standard bus. Multiple Transceivers can be set up to work together and distribute up to 64 universes of DMX across the network. The DMX-512 Transceiver can be set to use the Artnet protocol.<br />
<br />
[[File:IO Server Kissbox Module.jpg|center]]<br />
<br />
Check the KissBox site for additional information.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Connections ==<br />
<br />
The KissBox DMX-512 connects to an Ethernet port on HSYCO Server, and is powered through the Ethernet, so there is no need for an external power supply.<br />
<br />
You can connect multiple KissBox DMX-512 devices or other DMX controllers to an HSYCO Server.<br />
<br />
== HSYCO Configuration ==<br />
Once the KissBox is configured in DMX of System Settings, you will be able to control the DMX-512 bus as with any other supported DMX controller on HSYCO.<br />
<br />
== Release Notes ==<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''KissBox DMX-512 is a registered trademark of Kissbox.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=File:IO_Server_Kissbox_Module.jpg&diff=5177File:IO Server Kissbox Module.jpg2014-09-26T13:07:50Z<p>Manuela: </p>
<hr />
<div></div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=Kissbox&diff=5176Kissbox2014-09-26T13:05:42Z<p>Manuela: Created page with "[http://www.kissbox.nl/products_new.html#dmx KissBox] DMX-512 is a Ethernet DMX adapter that allows HSYCO to control any DMX-512 standard bus. Multiple Transceivers can be set..."</p>
<hr />
<div>[http://www.kissbox.nl/products_new.html#dmx KissBox] DMX-512 is a Ethernet DMX adapter that allows HSYCO to control any DMX-512 standard bus. Multiple Transceivers can be set up to work together and distribute up to 64 universes of DMX across the network. The DMX-512 Transceiver can be set to use the Artnet protocol.<br />
<br />
[[File:IO Server Kissbox Module.jpg|center]]<br />
<br />
Check the KissBox site for additional information.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Connections ==<br />
<br />
The KissBox DMX-512 connects to an Ethernet port on HSYCO Server, and is powered through the Ethernet, so there is no need for an external power supply.<br />
<br />
You can connect multiple KissBox DMX-512 devices or other DMX controllers to an HSYCO Server.<br />
<br />
<br />
== HSYCO Configuration ==<br />
Once the KissBox is configured in DMX of System Settings, you will be able to control the DMX-512 bus as with any other supported DMX controller on HSYCO.<br />
<br />
== Release Notes ==<br />
=== 3.1.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''KissBox DMX-512 is a registered trademark of Kissbox.''</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=I/O_Servers&diff=5175I/O Servers2014-09-26T12:35:34Z<p>Manuela: </p>
<hr />
<div>This page lists all the available I/O Servers provided by HSYCO and links to their application note.<br />
<br />
For an introduction on I/O Servers and how to use the application notes refer to [[Introduction to I/O Servers]].<br />
<br /><br />
<br /><br />
<br />
{|<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Airzone Logo.png|100x40px|link=Airzone]]<br />
|[[Airzone]]<br />
|Airzone HVAC control system <br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Arduino Logo.png|100x40px|link=Arduino]]<br />
|[[Arduino]]<br />
|Arduino Uno, Arduino Ethernet, Arduino Due and other compatible boards<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Arteco Logo.png|100x40px|link=Arteco]]<br />
|[[Arteco]]<br />
|Arteco Everywhere general-purpose digital input-output Ethernet controller<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Aton Logo.png|100x40px|link=Aton]]<br />
|[[Aton]]<br />
|Aton AH66T multi-room audio system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Ats Logo.png|100x40px|link=Ats]]<br />
|[[Ats]]<br />
|Aritech Master ATS security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Axis Logo.png|100x40px|link=AxisDecoder]]<br />
|[[AxisDecoder]]<br />
|Control and streaming to the AXIS Video Decoder<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server BACnet Logo.png|100x40px|link=BACnet]]<br />
|[[BACnet]]<br />
|BACnet/IP client<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Bentel Logo.png|100x40px|link=Bentel]]<br />
|[[Bentel]]<br />
|Bentel KYO 320 security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Bosch Logo.jpeg|100x40px|link=Boschfpa]]<br />
|[[Boschfpa]]<br />
|Bosch FPA-5000 modular fire panel system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Bosch Logo.jpeg|100x40px|link=Boschmpa]]<br />
|[[Boschmpa]]<br />
|Bosch MPA security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Cradlepoint Logo.png|100x40px|link=Cradlepoint]]<br />
|[[Cradlepoint]]<br />
|Cradlepoint IBR6xx routers<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server CSx75 Logo.png|100x40px|link=CSx75]]<br />
|[[CSx75]]<br />
|Aritech Comfort CSx75 security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Contatto Logo.png|100x40px|link=Contatto]]<br />
|[[Contatto]]<br />
|Duemmegi Contatto proprietary bus building automation system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Daikin Logo.jpeg|100x40px|link=Daikin]]<br />
|[[Daikin]]<br />
|Daikin’s VRF systems with Intelligent Controller<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Domino Logo.png|100x40px|link=Domino]]<br />
|[[Domino]]<br />
|Duemmegi Domino proprietary bus building automation system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Dummy Logo.png|100x40px|link=Dummy]]<br />
|[[Dummy]]<br />
|a special I/O Server that simulates lighting and automation devices and can be used for demonstrations, prototyping and as a virtual I/O Server to implement complex control logic<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Elmo Logo.png|100x40px|link=Elmo]]<br />
|[[Elmo]]<br />
|EL.MO. ETR security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Elsner Logo.jpeg|100x40px|link=Elsner]]<br />
|[[Elsner]]<br />
|Elsner’s Modbus version of the P03/3 weather station<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Enttec Logo.png|100x40px|link=Enttec]]<br />
|[[Enttec]]<br />
|Enttec DMX USB PRO adapter that allows to control any DMX-512 standard bus.<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server ESCVP Logo.png|100x40px|link=ESC/VP]]<br />
|[[ESC/VP]]<br />
|Epson’s Networked projectors that support the ESC/VP control protocol<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Fp2000 Logo.png|100x40px|link=Fp2000]]<br />
|[[Fp2000]]<br />
|GE UTC Interlogix fire panels based on the FP2000 protocol<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Giacomini Logo.gif|100x40px|link=Giacomini]]<br />
|[[Giacomini]]<br />
|GKBUS GiakoClima HVAC system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server GSM Logo.png|100x40px|link=GSM]]<br />
|[[GSM]]<br />
|standard GSM modems for SMS messages and voice call events<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Galaxy Logo.png|100x40px|link=Galaxy]]<br />
|[[Galaxy]]<br />
|Honeywell Galaxy Dimension security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Guardall Logo.png|100x40px|link=Guardall]]<br />
|[[Guardall]]<br />
|Guardall QX32i, PX80 and PX500 security panels<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Hephais Logo.png|100x40px|link=Hephais]]<br />
|[[Hephais]]<br />
|Hephais 1600 fire panel with Modbus interface<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Hidedgesolo Logo.png|100x40px|link=Hidedgesolo]]<br />
|[[Hidedgesolo]]<br />
|HID’s Edge Solo stand-alone networked EdgeReader access control solution<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Remote Logo.png|100x40px|link=HSYCO Remote]]<br />
|[[HSYCO Remote|HSYCO]]<br />
|Access remote HSYCO servers data-points<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:HWgroup Logo.png|100x40px|link=HwgIO]]<br />
|[[HwgIO]]<br />
|HW group I/O Controller<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:HWgroup Logo.png|100x40px|link=HwgMonitor]]<br />
|[[HwgMonitor]]<br />
|HW group monitoring devices<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Inim Logo.png|100x40px|link=Inim]]<br />
|[[Inim]]<br />
|Inim SmartLiving 515, 1050 and 10100 security panels<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Kissbox Logo.png|100x40px|link=Kissbox]]<br />
|[[Kissbox]]<br />
|Kissbox DMX-512 adapter that allows to control any DMX-512 standard bus<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server KNX Logo.png|100x40px|link=KNX]]<br />
|[[KNX]]<br />
|KNX/EIB protocol via standard KNXnet/IP gateways<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Mitsubishi Logo.jpeg|100x40px|link=Mitsubishi]]<br />
|[[Mitsubishi]]<br />
|Mitsubishi’s VRV systems that support the M-NET proprietary protocol (G-50, GB-50, AG-150)<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Modbus Logo.jpg|100x40px|link=Modbus]]<br />
|[[Modbus]]<br />
|HSYCO acts as a Modbus TCP client or Modbus RTU master<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Modbus Logo.jpg|100x40px|link=Modbus_Server]]<br />
|[[Modbus Server]]<br />
|a Modbus TCP/IP server, allowing external Modbus clients to connect to HSYCO and perform any standard Modbus function<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server MyHome Logo.png|100x40px|link=MyHome]]<br />
|[[MyHome]]<br />
|BTicino/Legrand My Home proprietary bus home automation system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Notifier Logo.jpg|100x40px|link=Notifier]]<br />
|[[Notifier]]<br />
|AM-2000 AM-4000 AM-6000 fire panels with Modbus interface<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:Nuvo.png|100x40px|link=Nuvo]]<br />
|[[Nuvo]]<br />
|NuVo multi-room audio<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Paradox Logo.png|100x40px|link=Paradox]]<br />
|[[Paradox]]<br />
|Paradox EVO 48/192 security panels<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server PowerOne Logo.png|100x40px|link=PowerOne]]<br />
|[[PowerOne]]<br />
|Aurora’s PowerOne inverters with support for Aurora proprietary communication protocol<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server RayCONTROL.png|100x40px|link=RayCONTROL]]<br />
|[[RayCONTROL]]<br />
|HVAC control system by FCC Planterm<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server SamsungTV Logo.jpg|100x40px|link=SamsungTV]]<br />
|[[SamsungTV]]<br />
|Samsung Smart TV<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server SIP Logo.png|100x40px|link=Sip]]<br />
|[[Sip]]<br />
|SIP VoIP Client<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server SSH Logo.png|100x40px|link=SSH]]<br />
|[[SSH]]<br />
|SSH Client for remote shell and secure file copy<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server System Logo.png|100x40px|link=System]]<br />
|[[System]]<br />
|HSYCO Server performance and system monitor<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Tecnoalarm Logo.png|100x40px|link=Tecnoalarm]]<br />
|[[Tecnoalarm]]<br />
|Tecnoalarm Tecno-Out security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Tridonic Logo.png|100x40px|link=Tridonic]]<br />
|[[Tridonic]]<br />
|Dali protocol via the Tridonic SCI2 interface module<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server WXonline Logo.png|100x40px|link=WXonline]]<br />
|[[WXonline]]<br />
|Internet-based weather conditions and forecast data acquisition using Yahoo!’s data<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Wyrestorm Logo.png|100x40px|link=Wyrestorm]]<br />
|[[Wyrestorm]]<br />
|Wyrestorm MX-0808-PP, MX-0606-PP and MX-0404-PP HDMI matrix<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Yamaha RX-V Logo.png|100x40px|link=Yamaha RX-V]]<br />
|style="white-space:nowrap"|[[Yamaha RX-V]]<br />
|Yamaha’s RX-Vx067 family of networked A/V receivers<br />
|-<br />
|}</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=I/O_Servers&diff=5174I/O Servers2014-09-26T12:34:59Z<p>Manuela: </p>
<hr />
<div>This page lists all the available I/O Servers provided by HSYCO and links to their application note.<br />
<br />
For an introduction on I/O Servers and how to use the application notes refer to [[Introduction to I/O Servers]].<br />
<br /><br />
<br /><br />
<br />
{|<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Airzone Logo.png|100x40px|link=Airzone]]<br />
|[[Airzone]]<br />
|Airzone HVAC control system <br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Arduino Logo.png|100x40px|link=Arduino]]<br />
|[[Arduino]]<br />
|Arduino Uno, Arduino Ethernet, Arduino Due and other compatible boards<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Arteco Logo.png|100x40px|link=Arteco]]<br />
|[[Arteco]]<br />
|Arteco Everywhere general-purpose digital input-output Ethernet controller<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Aton Logo.png|100x40px|link=Aton]]<br />
|[[Aton]]<br />
|Aton AH66T multi-room audio system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Ats Logo.png|100x40px|link=Ats]]<br />
|[[Ats]]<br />
|Aritech Master ATS security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Axis Logo.png|100x40px|link=AxisDecoder]]<br />
|[[AxisDecoder]]<br />
|Control and streaming to the AXIS Video Decoder<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server BACnet Logo.png|100x40px|link=BACnet]]<br />
|[[BACnet]]<br />
|BACnet/IP client<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Bentel Logo.png|100x40px|link=Bentel]]<br />
|[[Bentel]]<br />
|Bentel KYO 320 security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Bosch Logo.jpeg|100x40px|link=Boschfpa]]<br />
|[[Boschfpa]]<br />
|Bosch FPA-5000 modular fire panel system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Bosch Logo.jpeg|100x40px|link=Boschmpa]]<br />
|[[Boschmpa]]<br />
|Bosch MPA security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Cradlepoint Logo.png|100x40px|link=Cradlepoint]]<br />
|[[Cradlepoint]]<br />
|Cradlepoint IBR6xx routers<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server CSx75 Logo.png|100x40px|link=CSx75]]<br />
|[[CSx75]]<br />
|Aritech Comfort CSx75 security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Contatto Logo.png|100x40px|link=Contatto]]<br />
|[[Contatto]]<br />
|Duemmegi Contatto proprietary bus building automation system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Daikin Logo.jpeg|100x40px|link=Daikin]]<br />
|[[Daikin]]<br />
|Daikin’s VRF systems with Intelligent Controller<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Domino Logo.png|100x40px|link=Domino]]<br />
|[[Domino]]<br />
|Duemmegi Domino proprietary bus building automation system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Dummy Logo.png|100x40px|link=Dummy]]<br />
|[[Dummy]]<br />
|a special I/O Server that simulates lighting and automation devices and can be used for demonstrations, prototyping and as a virtual I/O Server to implement complex control logic<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Elmo Logo.png|100x40px|link=Elmo]]<br />
|[[Elmo]]<br />
|EL.MO. ETR security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Elsner Logo.jpeg|100x40px|link=Elsner]]<br />
|[[Elsner]]<br />
|Elsner’s Modbus version of the P03/3 weather station<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Enttec Logo.png|100x40px|link=Enttec]]<br />
|[[Enttec]]<br />
|Enttec DMX USB PRO adapter that allows to control any DMX-512 standard bus.<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server ESCVP Logo.png|100x40px|link=ESC/VP]]<br />
|[[ESC/VP]]<br />
|Epson’s Networked projectors that support the ESC/VP control protocol<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Fp2000 Logo.png|100x40px|link=Fp2000]]<br />
|[[Fp2000]]<br />
|GE UTC Interlogix fire panels based on the FP2000 protocol<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Giacomini Logo.gif|100x40px|link=Giacomini]]<br />
|[[Giacomini]]<br />
|GKBUS GiakoClima HVAC system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server GSM Logo.png|100x40px|link=GSM]]<br />
|[[GSM]]<br />
|standard GSM modems for SMS messages and voice call events<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Galaxy Logo.png|100x40px|link=Galaxy]]<br />
|[[Galaxy]]<br />
|Honeywell Galaxy Dimension security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Guardall Logo.png|100x40px|link=Guardall]]<br />
|[[Guardall]]<br />
|Guardall QX32i, PX80 and PX500 security panels<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Hephais Logo.png|100x40px|link=Hephais]]<br />
|[[Hephais]]<br />
|Hephais 1600 fire panel with Modbus interface<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Hidedgesolo Logo.png|100x40px|link=Hidedgesolo]]<br />
|[[Hidedgesolo]]<br />
|HID’s Edge Solo stand-alone networked EdgeReader access control solution<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Remote Logo.png|100x40px|link=HSYCO Remote]]<br />
|[[HSYCO Remote|HSYCO]]<br />
|Access remote HSYCO servers data-points<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:HWgroup Logo.png|100x40px|link=HwgIO]]<br />
|[[HwgIO]]<br />
|HW group I/O Controller<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:HWgroup Logo.png|100x40px|link=HwgMonitor]]<br />
|[[HwgMonitor]]<br />
|HW group monitoring devices<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Inim Logo.png|100x40px|link=Inim]]<br />
|[[Inim]]<br />
|Inim SmartLiving 515, 1050 and 10100 security panels<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Kissbox Logo.png|100x40px|link=Kissbox]]<br />
|[[Kissbox]]<br />
|Kissbox DMX-512 adapter that allows to control any DMX-512 standard bus.<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server KNX Logo.png|100x40px|link=KNX]]<br />
|[[KNX]]<br />
|KNX/EIB protocol via standard KNXnet/IP gateways<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Mitsubishi Logo.jpeg|100x40px|link=Mitsubishi]]<br />
|[[Mitsubishi]]<br />
|Mitsubishi’s VRV systems that support the M-NET proprietary protocol (G-50, GB-50, AG-150)<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Modbus Logo.jpg|100x40px|link=Modbus]]<br />
|[[Modbus]]<br />
|HSYCO acts as a Modbus TCP client or Modbus RTU master<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Modbus Logo.jpg|100x40px|link=Modbus_Server]]<br />
|[[Modbus Server]]<br />
|a Modbus TCP/IP server, allowing external Modbus clients to connect to HSYCO and perform any standard Modbus function<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server MyHome Logo.png|100x40px|link=MyHome]]<br />
|[[MyHome]]<br />
|BTicino/Legrand My Home proprietary bus home automation system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Notifier Logo.jpg|100x40px|link=Notifier]]<br />
|[[Notifier]]<br />
|AM-2000 AM-4000 AM-6000 fire panels with Modbus interface<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:Nuvo.png|100x40px|link=Nuvo]]<br />
|[[Nuvo]]<br />
|NuVo multi-room audio<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Paradox Logo.png|100x40px|link=Paradox]]<br />
|[[Paradox]]<br />
|Paradox EVO 48/192 security panels<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server PowerOne Logo.png|100x40px|link=PowerOne]]<br />
|[[PowerOne]]<br />
|Aurora’s PowerOne inverters with support for Aurora proprietary communication protocol<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server RayCONTROL.png|100x40px|link=RayCONTROL]]<br />
|[[RayCONTROL]]<br />
|HVAC control system by FCC Planterm<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server SamsungTV Logo.jpg|100x40px|link=SamsungTV]]<br />
|[[SamsungTV]]<br />
|Samsung Smart TV<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server SIP Logo.png|100x40px|link=Sip]]<br />
|[[Sip]]<br />
|SIP VoIP Client<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server SSH Logo.png|100x40px|link=SSH]]<br />
|[[SSH]]<br />
|SSH Client for remote shell and secure file copy<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server System Logo.png|100x40px|link=System]]<br />
|[[System]]<br />
|HSYCO Server performance and system monitor<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Tecnoalarm Logo.png|100x40px|link=Tecnoalarm]]<br />
|[[Tecnoalarm]]<br />
|Tecnoalarm Tecno-Out security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Tridonic Logo.png|100x40px|link=Tridonic]]<br />
|[[Tridonic]]<br />
|Dali protocol via the Tridonic SCI2 interface module<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server WXonline Logo.png|100x40px|link=WXonline]]<br />
|[[WXonline]]<br />
|Internet-based weather conditions and forecast data acquisition using Yahoo!’s data<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Wyrestorm Logo.png|100x40px|link=Wyrestorm]]<br />
|[[Wyrestorm]]<br />
|Wyrestorm MX-0808-PP, MX-0606-PP and MX-0404-PP HDMI matrix<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Yamaha RX-V Logo.png|100x40px|link=Yamaha RX-V]]<br />
|style="white-space:nowrap"|[[Yamaha RX-V]]<br />
|Yamaha’s RX-Vx067 family of networked A/V receivers<br />
|-<br />
|}</div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=File:IO_Server_Kissbox_Logo.png&diff=5173File:IO Server Kissbox Logo.png2014-09-26T12:34:32Z<p>Manuela: </p>
<hr />
<div></div>Manuelahttps://wiki.hsyco.com/3.7/index.php?title=I/O_Servers&diff=5172I/O Servers2014-09-26T12:33:13Z<p>Manuela: </p>
<hr />
<div>This page lists all the available I/O Servers provided by HSYCO and links to their application note.<br />
<br />
For an introduction on I/O Servers and how to use the application notes refer to [[Introduction to I/O Servers]].<br />
<br /><br />
<br /><br />
<br />
{|<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Airzone Logo.png|100x40px|link=Airzone]]<br />
|[[Airzone]]<br />
|Airzone HVAC control system <br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Arduino Logo.png|100x40px|link=Arduino]]<br />
|[[Arduino]]<br />
|Arduino Uno, Arduino Ethernet, Arduino Due and other compatible boards<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Arteco Logo.png|100x40px|link=Arteco]]<br />
|[[Arteco]]<br />
|Arteco Everywhere general-purpose digital input-output Ethernet controller<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Aton Logo.png|100x40px|link=Aton]]<br />
|[[Aton]]<br />
|Aton AH66T multi-room audio system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Ats Logo.png|100x40px|link=Ats]]<br />
|[[Ats]]<br />
|Aritech Master ATS security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Axis Logo.png|100x40px|link=AxisDecoder]]<br />
|[[AxisDecoder]]<br />
|Control and streaming to the AXIS Video Decoder<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server BACnet Logo.png|100x40px|link=BACnet]]<br />
|[[BACnet]]<br />
|BACnet/IP client<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Bentel Logo.png|100x40px|link=Bentel]]<br />
|[[Bentel]]<br />
|Bentel KYO 320 security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Bosch Logo.jpeg|100x40px|link=Boschfpa]]<br />
|[[Boschfpa]]<br />
|Bosch FPA-5000 modular fire panel system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Bosch Logo.jpeg|100x40px|link=Boschmpa]]<br />
|[[Boschmpa]]<br />
|Bosch MPA security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Cradlepoint Logo.png|100x40px|link=Cradlepoint]]<br />
|[[Cradlepoint]]<br />
|Cradlepoint IBR6xx routers<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server CSx75 Logo.png|100x40px|link=CSx75]]<br />
|[[CSx75]]<br />
|Aritech Comfort CSx75 security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Contatto Logo.png|100x40px|link=Contatto]]<br />
|[[Contatto]]<br />
|Duemmegi Contatto proprietary bus building automation system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Daikin Logo.jpeg|100x40px|link=Daikin]]<br />
|[[Daikin]]<br />
|Daikin’s VRF systems with Intelligent Controller<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Domino Logo.png|100x40px|link=Domino]]<br />
|[[Domino]]<br />
|Duemmegi Domino proprietary bus building automation system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Dummy Logo.png|100x40px|link=Dummy]]<br />
|[[Dummy]]<br />
|a special I/O Server that simulates lighting and automation devices and can be used for demonstrations, prototyping and as a virtual I/O Server to implement complex control logic<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Elmo Logo.png|100x40px|link=Elmo]]<br />
|[[Elmo]]<br />
|EL.MO. ETR security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Elsner Logo.jpeg|100x40px|link=Elsner]]<br />
|[[Elsner]]<br />
|Elsner’s Modbus version of the P03/3 weather station<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Enttec Logo.png|100x40px|link=Enttec]]<br />
|[[Enttec]]<br />
|Enttec DMX USB PRO adapter that allows to control any DMX-512 standard bus.<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server ESCVP Logo.png|100x40px|link=ESC/VP]]<br />
|[[ESC/VP]]<br />
|Epson’s Networked projectors that support the ESC/VP control protocol<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Fp2000 Logo.png|100x40px|link=Fp2000]]<br />
|[[Fp2000]]<br />
|GE UTC Interlogix fire panels based on the FP2000 protocol<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Giacomini Logo.gif|100x40px|link=Giacomini]]<br />
|[[Giacomini]]<br />
|GKBUS GiakoClima HVAC system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server GSM Logo.png|100x40px|link=GSM]]<br />
|[[GSM]]<br />
|standard GSM modems for SMS messages and voice call events<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Galaxy Logo.png|100x40px|link=Galaxy]]<br />
|[[Galaxy]]<br />
|Honeywell Galaxy Dimension security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Guardall Logo.png|100x40px|link=Guardall]]<br />
|[[Guardall]]<br />
|Guardall QX32i, PX80 and PX500 security panels<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Hephais Logo.png|100x40px|link=Hephais]]<br />
|[[Hephais]]<br />
|Hephais 1600 fire panel with Modbus interface<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Hidedgesolo Logo.png|100x40px|link=Hidedgesolo]]<br />
|[[Hidedgesolo]]<br />
|HID’s Edge Solo stand-alone networked EdgeReader access control solution<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Remote Logo.png|100x40px|link=HSYCO Remote]]<br />
|[[HSYCO Remote|HSYCO]]<br />
|Access remote HSYCO servers data-points<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:HWgroup Logo.png|100x40px|link=HwgIO]]<br />
|[[HwgIO]]<br />
|HW group I/O Controller<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:HWgroup Logo.png|100x40px|link=HwgMonitor]]<br />
|[[HwgMonitor]]<br />
|HW group monitoring devices<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Inim Logo.png|100x40px|link=Inim]]<br />
|[[Inim]]<br />
|Inim SmartLiving 515, 1050 and 10100 security panels<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Kissbox Logo.jpg|100x40px|link=Kissbox]]<br />
|[[Kissbox]]<br />
|Kissbox DMX-512 adapter that allows to control any DMX-512 standard bus.<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server KNX Logo.png|100x40px|link=KNX]]<br />
|[[KNX]]<br />
|KNX/EIB protocol via standard KNXnet/IP gateways<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Mitsubishi Logo.jpeg|100x40px|link=Mitsubishi]]<br />
|[[Mitsubishi]]<br />
|Mitsubishi’s VRV systems that support the M-NET proprietary protocol (G-50, GB-50, AG-150)<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Modbus Logo.jpg|100x40px|link=Modbus]]<br />
|[[Modbus]]<br />
|HSYCO acts as a Modbus TCP client or Modbus RTU master<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Modbus Logo.jpg|100x40px|link=Modbus_Server]]<br />
|[[Modbus Server]]<br />
|a Modbus TCP/IP server, allowing external Modbus clients to connect to HSYCO and perform any standard Modbus function<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server MyHome Logo.png|100x40px|link=MyHome]]<br />
|[[MyHome]]<br />
|BTicino/Legrand My Home proprietary bus home automation system<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Notifier Logo.jpg|100x40px|link=Notifier]]<br />
|[[Notifier]]<br />
|AM-2000 AM-4000 AM-6000 fire panels with Modbus interface<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:Nuvo.png|100x40px|link=Nuvo]]<br />
|[[Nuvo]]<br />
|NuVo multi-room audio<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Paradox Logo.png|100x40px|link=Paradox]]<br />
|[[Paradox]]<br />
|Paradox EVO 48/192 security panels<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server PowerOne Logo.png|100x40px|link=PowerOne]]<br />
|[[PowerOne]]<br />
|Aurora’s PowerOne inverters with support for Aurora proprietary communication protocol<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server RayCONTROL.png|100x40px|link=RayCONTROL]]<br />
|[[RayCONTROL]]<br />
|HVAC control system by FCC Planterm<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server SamsungTV Logo.jpg|100x40px|link=SamsungTV]]<br />
|[[SamsungTV]]<br />
|Samsung Smart TV<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server SIP Logo.png|100x40px|link=Sip]]<br />
|[[Sip]]<br />
|SIP VoIP Client<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server SSH Logo.png|100x40px|link=SSH]]<br />
|[[SSH]]<br />
|SSH Client for remote shell and secure file copy<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server System Logo.png|100x40px|link=System]]<br />
|[[System]]<br />
|HSYCO Server performance and system monitor<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Tecnoalarm Logo.png|100x40px|link=Tecnoalarm]]<br />
|[[Tecnoalarm]]<br />
|Tecnoalarm Tecno-Out security panel<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Tridonic Logo.png|100x40px|link=Tridonic]]<br />
|[[Tridonic]]<br />
|Dali protocol via the Tridonic SCI2 interface module<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server WXonline Logo.png|100x40px|link=WXonline]]<br />
|[[WXonline]]<br />
|Internet-based weather conditions and forecast data acquisition using Yahoo!’s data<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Wyrestorm Logo.png|100x40px|link=Wyrestorm]]<br />
|[[Wyrestorm]]<br />
|Wyrestorm MX-0808-PP, MX-0606-PP and MX-0404-PP HDMI matrix<br />
|-<br />
|style="text-align:center; padding-right:20px; padding-left:20px; padding-bottom:10px; padding-top:10px"|[[File:IO Server Yamaha RX-V Logo.png|100x40px|link=Yamaha RX-V]]<br />
|style="white-space:nowrap"|[[Yamaha RX-V]]<br />
|Yamaha’s RX-Vx067 family of networked A/V receivers<br />
|-<br />
|}</div>Manuela