https://wiki.hsyco.com/3.8/api.php?action=feedcontributions&user=Gianluca&feedformat=atomHSYCO - User contributions [en]2024-03-29T11:25:08ZUser contributionsMediaWiki 1.33.0https://wiki.hsyco.com/3.8/index.php?title=Alert5&diff=10470Alert52022-03-24T15:52:53Z<p>Gianluca: /* UISET Actions */</p>
<hr />
<div>Felma's Alert5 is a supervisor system that can control anti-intrusion, fire prevention, access control and TVCC systems. The communication with HSYCO is via HTTP protocol.<br />
<br />
== HSYCO Configuration ==<br />
Add the ALERT5 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''': host name or IP address of the supervisor<br />
*'''IP Port''': TCP/IP port assigned to the supervisor<br />
<br />
=== Authentication ===<br />
*'''User''': username to access the supervisor<br />
*'''Password''': password to access the supervisor<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 />
|pollinterval<br />
|1000<br />
|n > 1000<br />
|the data acquisition interval, in milliseconds<br />
<br />
|-<br />
<br />
|logsize<br />
|300<br />
|n &ge; 0<br />
|the number of log lines to display in the UI object<br />
<br />
|}<br />
<br />
<br />
<br />
== Datapoints ==<br />
<br />
The hierarchical structure is: System > Area > Device (every system can contain multiple areas and every area can contain multiple devices)<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 />
|the driver started correctly<br />
|-<br />
|offline<br />
|R<br />
|the driver didn't start correctly or loop cycle failed<br />
<br />
|-<br />
<br />
|global.error<br />
|<num><br />
|R<br />
|error code, 0 means no error<br />
<br />
|-<br />
<br />
|global.desc<br />
|<text><br />
|R<br />
|error description, OK means no error<br />
<br />
|-<br />
<br />
|global.api.name<br />
|<text><br />
|R<br />
|current API name<br />
<br />
|-<br />
<br />
|global.api.version<br />
|<val><br />
|R<br />
|current API version<br />
<br />
|-<br />
<br />
|sys.<sys_id>.desc<br />
|<text><br />
|R<br />
|description of sys_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.type<br />
|<text><br />
|R<br />
|type of sys_id<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.connection<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not online (logical state)<br />
|-<br />
|1<br />
|R<br />
|sys_id online (logical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.system<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not online (physical state)<br />
|-<br />
|1<br />
|R<br />
|sys_id online (physical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|sys_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id ok<br />
|-<br />
|1<br />
|R<br />
|sys_id fault<br />
<br />
|-<br />
<br />
|sys.<sys_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to sys_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.desc<br />
|<text><br />
|R<br />
|description of area_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.code<br />
|<num><br />
|R<br />
|code of area_id<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.connection<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id disarmed (logical state)<br />
|-<br />
|1<br />
|R<br />
|area_id armed (logical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.area<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id disarmed (physical state)<br />
|-<br />
|1<br />
|R<br />
|area_id armed (physical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|area_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id ok<br />
|-<br />
|1<br />
|R<br />
|area_id fault<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to area_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.dev.<dev_id>.desc<br />
|<text><br />
|R<br />
|description of dev_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.dev.<dev_id>.code<br />
|<num><br />
|R<br />
|code of dev_id<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.dev.<dev_id>.status.bypass<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id is bypassed<br />
|-<br />
|1<br />
|R<br />
|area_id armed<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.dev.<dev_id>.status.open<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id is closed (or is not active)<br />
|-<br />
|1<br />
|R<br />
|dev_id is open (or is active)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.dev.<dev_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|dev_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.dev.<dev_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id ok<br />
|-<br />
|1<br />
|R<br />
|dev_id fault<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to dev_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for sys_id<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for area_id<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for dev_id<br />
<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== Alert5 Object ===<br />
<br />
{{:Alert5_(I/O Server 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 security log (it will vanish after 5 seconds)<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.bypass<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id bypassed<br />
|-<br />
|false<br />
|dev_id not not bypassed<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.open<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id active<br />
|-<br />
|false<br />
|dev_id not not active<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.alarm<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id in alarm<br />
|-<br />
|false<br />
|dev_id not not in alarm<br />
<br />
|-<br />
<br />
|sys.<system_id>.desc<br />
|value<br />
|colspan="2"|description of system_id<br />
<br />
|-<br />
<br />
|sys.<system_id>.area.<area_id>.desc<br />
|value<br />
|colspan="2"|description of area_id included in system_id<br />
<br />
|-<br />
<br />
|sys.<system_id>.area.<area_id>.dev.<dev_id>.desc<br />
|value<br />
|colspan="2"|description of dev_id included in area_id included in system_id<br />
<br />
|-<br />
<br />
|sys.<system_id>.command.<command_id>.desc<br />
|value<br />
|colspan="2"|description of command_id of system_id<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id>.desc<br />
|value<br />
|colspan="2"|description of command_id of area_id<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id>.desc<br />
|value<br />
|colspan="2"|description of command_id of dev_id<br />
<br />
|}<br />
<br />
== Log Files ==<br />
If a ALERT5 I/O Server 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 />
2021.09.10 11:02:17.357 - alert5 - HSYCO ONLINE<br />
2021.09.10 11:44:08.740 - alert5 - 10-09-2021 11:44:07 | Evento: Transazione valida in ingresso, Apparato: GESTIONE ACCESSI CED, Area: RETRO FELMA, Dispositivo: RETRO FELMA, Anagrafica: FRIGERIO GIANNI<br />
2021.09.10 11:44:25.923 - alert5 - 10-09-2021 11:44:25 | Evento: Transazione valida in ingresso, Apparato: GESTIONE ACCESSI CED, Area: PORTONE SCORREVOLE, Dispositivo: PORTONE SCORREVOLE, Anagrafica: CIONI MATTEO<br />
</pre><br />
<br />
Other information about the ALERT5 driver are stored in the message.log daily file.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''Alert5 is a registered trademark of Felma S.r.l.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5&diff=10469Alert52022-03-24T15:51:25Z<p>Gianluca: /* UISET Actions */</p>
<hr />
<div>Felma's Alert5 is a supervisor system that can control anti-intrusion, fire prevention, access control and TVCC systems. The communication with HSYCO is via HTTP protocol.<br />
<br />
== HSYCO Configuration ==<br />
Add the ALERT5 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''': host name or IP address of the supervisor<br />
*'''IP Port''': TCP/IP port assigned to the supervisor<br />
<br />
=== Authentication ===<br />
*'''User''': username to access the supervisor<br />
*'''Password''': password to access the supervisor<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 />
|pollinterval<br />
|1000<br />
|n > 1000<br />
|the data acquisition interval, in milliseconds<br />
<br />
|-<br />
<br />
|logsize<br />
|300<br />
|n &ge; 0<br />
|the number of log lines to display in the UI object<br />
<br />
|}<br />
<br />
<br />
<br />
== Datapoints ==<br />
<br />
The hierarchical structure is: System > Area > Device (every system can contain multiple areas and every area can contain multiple devices)<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 />
|the driver started correctly<br />
|-<br />
|offline<br />
|R<br />
|the driver didn't start correctly or loop cycle failed<br />
<br />
|-<br />
<br />
|global.error<br />
|<num><br />
|R<br />
|error code, 0 means no error<br />
<br />
|-<br />
<br />
|global.desc<br />
|<text><br />
|R<br />
|error description, OK means no error<br />
<br />
|-<br />
<br />
|global.api.name<br />
|<text><br />
|R<br />
|current API name<br />
<br />
|-<br />
<br />
|global.api.version<br />
|<val><br />
|R<br />
|current API version<br />
<br />
|-<br />
<br />
|sys.<sys_id>.desc<br />
|<text><br />
|R<br />
|description of sys_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.type<br />
|<text><br />
|R<br />
|type of sys_id<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.connection<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not online (logical state)<br />
|-<br />
|1<br />
|R<br />
|sys_id online (logical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.system<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not online (physical state)<br />
|-<br />
|1<br />
|R<br />
|sys_id online (physical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|sys_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id ok<br />
|-<br />
|1<br />
|R<br />
|sys_id fault<br />
<br />
|-<br />
<br />
|sys.<sys_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to sys_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.desc<br />
|<text><br />
|R<br />
|description of area_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.code<br />
|<num><br />
|R<br />
|code of area_id<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.connection<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id disarmed (logical state)<br />
|-<br />
|1<br />
|R<br />
|area_id armed (logical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.area<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id disarmed (physical state)<br />
|-<br />
|1<br />
|R<br />
|area_id armed (physical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|area_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id ok<br />
|-<br />
|1<br />
|R<br />
|area_id fault<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to area_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.dev.<dev_id>.desc<br />
|<text><br />
|R<br />
|description of dev_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.dev.<dev_id>.code<br />
|<num><br />
|R<br />
|code of dev_id<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.dev.<dev_id>.status.bypass<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id is bypassed<br />
|-<br />
|1<br />
|R<br />
|area_id armed<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.dev.<dev_id>.status.open<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id is closed (or is not active)<br />
|-<br />
|1<br />
|R<br />
|dev_id is open (or is active)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.dev.<dev_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|dev_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.dev.<dev_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id ok<br />
|-<br />
|1<br />
|R<br />
|dev_id fault<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to dev_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for sys_id<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for area_id<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for dev_id<br />
<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== Alert5 Object ===<br />
<br />
{{:Alert5_(I/O Server 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 security log (it will vanish after 5 seconds)<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.bypass<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id bypassed<br />
|-<br />
|false<br />
|dev_id not not bypassed<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.open<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id active<br />
|-<br />
|false<br />
|dev_id not not active<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.alarm<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id in alarm<br />
|-<br />
|false<br />
|dev_id not not in alarm<br />
<br />
|-<br />
<br />
|sys.<system_id>.desc<br />
|value<br />
|description of system_id<br />
<br />
|-<br />
<br />
|sys.<system_id>.area.<area_id>.desc<br />
|value<br />
|description of area_id included in system_id<br />
<br />
|-<br />
<br />
|sys.<system_id>.area.<area_id>.dev.<dev_id>.desc<br />
|value<br />
|description of dev_id included in area_id included in system_id<br />
<br />
|-<br />
<br />
|sys.<system_id>.command.<command_id>.desc<br />
|value<br />
|description of command_id of system_id<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id>.desc<br />
|value<br />
|description of command_id of area_id<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id>.desc<br />
|value<br />
|description of command_id of dev_id<br />
<br />
|}<br />
<br />
== Log Files ==<br />
If a ALERT5 I/O Server 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 />
2021.09.10 11:02:17.357 - alert5 - HSYCO ONLINE<br />
2021.09.10 11:44:08.740 - alert5 - 10-09-2021 11:44:07 | Evento: Transazione valida in ingresso, Apparato: GESTIONE ACCESSI CED, Area: RETRO FELMA, Dispositivo: RETRO FELMA, Anagrafica: FRIGERIO GIANNI<br />
2021.09.10 11:44:25.923 - alert5 - 10-09-2021 11:44:25 | Evento: Transazione valida in ingresso, Apparato: GESTIONE ACCESSI CED, Area: PORTONE SCORREVOLE, Dispositivo: PORTONE SCORREVOLE, Anagrafica: CIONI MATTEO<br />
</pre><br />
<br />
Other information about the ALERT5 driver are stored in the message.log daily file.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''Alert5 is a registered trademark of Felma S.r.l.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5&diff=10468Alert52022-03-24T15:44:54Z<p>Gianluca: /* UISET Actions */</p>
<hr />
<div>Felma's Alert5 is a supervisor system that can control anti-intrusion, fire prevention, access control and TVCC systems. The communication with HSYCO is via HTTP protocol.<br />
<br />
== HSYCO Configuration ==<br />
Add the ALERT5 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''': host name or IP address of the supervisor<br />
*'''IP Port''': TCP/IP port assigned to the supervisor<br />
<br />
=== Authentication ===<br />
*'''User''': username to access the supervisor<br />
*'''Password''': password to access the supervisor<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 />
|pollinterval<br />
|1000<br />
|n > 1000<br />
|the data acquisition interval, in milliseconds<br />
<br />
|-<br />
<br />
|logsize<br />
|300<br />
|n &ge; 0<br />
|the number of log lines to display in the UI object<br />
<br />
|}<br />
<br />
<br />
<br />
== Datapoints ==<br />
<br />
The hierarchical structure is: System > Area > Device (every system can contain multiple areas and every area can contain multiple devices)<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 />
|the driver started correctly<br />
|-<br />
|offline<br />
|R<br />
|the driver didn't start correctly or loop cycle failed<br />
<br />
|-<br />
<br />
|global.error<br />
|<num><br />
|R<br />
|error code, 0 means no error<br />
<br />
|-<br />
<br />
|global.desc<br />
|<text><br />
|R<br />
|error description, OK means no error<br />
<br />
|-<br />
<br />
|global.api.name<br />
|<text><br />
|R<br />
|current API name<br />
<br />
|-<br />
<br />
|global.api.version<br />
|<val><br />
|R<br />
|current API version<br />
<br />
|-<br />
<br />
|sys.<sys_id>.desc<br />
|<text><br />
|R<br />
|description of sys_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.type<br />
|<text><br />
|R<br />
|type of sys_id<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.connection<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not online (logical state)<br />
|-<br />
|1<br />
|R<br />
|sys_id online (logical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.system<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not online (physical state)<br />
|-<br />
|1<br />
|R<br />
|sys_id online (physical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|sys_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id ok<br />
|-<br />
|1<br />
|R<br />
|sys_id fault<br />
<br />
|-<br />
<br />
|sys.<sys_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to sys_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.desc<br />
|<text><br />
|R<br />
|description of area_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.code<br />
|<num><br />
|R<br />
|code of area_id<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.connection<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id disarmed (logical state)<br />
|-<br />
|1<br />
|R<br />
|area_id armed (logical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.area<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id disarmed (physical state)<br />
|-<br />
|1<br />
|R<br />
|area_id armed (physical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|area_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id ok<br />
|-<br />
|1<br />
|R<br />
|area_id fault<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to area_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.dev.<dev_id>.desc<br />
|<text><br />
|R<br />
|description of dev_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.dev.<dev_id>.code<br />
|<num><br />
|R<br />
|code of dev_id<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.dev.<dev_id>.status.bypass<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id is bypassed<br />
|-<br />
|1<br />
|R<br />
|area_id armed<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.dev.<dev_id>.status.open<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id is closed (or is not active)<br />
|-<br />
|1<br />
|R<br />
|dev_id is open (or is active)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.dev.<dev_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|dev_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.dev.<dev_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id ok<br />
|-<br />
|1<br />
|R<br />
|dev_id fault<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to dev_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for sys_id<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for area_id<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for dev_id<br />
<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== Alert5 Object ===<br />
<br />
{{:Alert5_(I/O Server Object)}}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
<br />
|-<br />
<br />
|log<br />
|<text><br />
|colspan="2"|latest security log lines (as many as specified by the 'logsize' option)<br />
<br />
|-<br />
<br />
|log0<br />
|<text><br />
|colspan="2"|latest security log (it will vanish after 5 seconds)<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.bypass<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id bypassed<br />
|-<br />
|false<br />
|dev_id not not bypassed<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.open<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id active<br />
|-<br />
|false<br />
|dev_id not not active<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.alarm<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id in alarm<br />
|-<br />
|false<br />
|dev_id not not in alarm<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 />
== Log Files ==<br />
If a ALERT5 I/O Server 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 />
2021.09.10 11:02:17.357 - alert5 - HSYCO ONLINE<br />
2021.09.10 11:44:08.740 - alert5 - 10-09-2021 11:44:07 | Evento: Transazione valida in ingresso, Apparato: GESTIONE ACCESSI CED, Area: RETRO FELMA, Dispositivo: RETRO FELMA, Anagrafica: FRIGERIO GIANNI<br />
2021.09.10 11:44:25.923 - alert5 - 10-09-2021 11:44:25 | Evento: Transazione valida in ingresso, Apparato: GESTIONE ACCESSI CED, Area: PORTONE SCORREVOLE, Dispositivo: PORTONE SCORREVOLE, Anagrafica: CIONI MATTEO<br />
</pre><br />
<br />
Other information about the ALERT5 driver are stored in the message.log daily file.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''Alert5 is a registered trademark of Felma S.r.l.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=TLABQ&diff=10460TLABQ2022-03-10T07:11:40Z<p>Gianluca: /* Datapoints */</p>
<hr />
<div>The T-LAB Q is a multi-area security system with four different models; the model Quadrio supports only one area, the models Small, Medium, Large support four areas. Each area is divided into four groups (A,B,C,D). Number of zones and outputs is variable and depend on the model.<br />
<br />
== HSYCO Configuration ==<br />
Add the TLABQ 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''': host name or IP address of the panel<br />
*'''IP Port''': TCP/IP port assigned to the panel's web server<br />
<br />
=== Authentication ===<br />
*'''User''': username to access the web server<br />
*'''Password''': password to access the web server<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"|gui<br />
|rowspan="2"|true<br />
|true<br />
|enable the UISET "visible" field for all system zones<br />
|-<br />
|false<br />
|disable the UISET "visible" field for all system zones<br />
<br />
|-<br />
<br />
|pollinterval<br />
|1000<br />
|n > 1000<br />
|the data acquisition interval, in milliseconds<br />
<br />
|-<br />
<br />
|logsize<br />
|400<br />
|n &ge; 0<br />
|the number of log lines to display in the UI object<br />
<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 panel<br />
<br />
|-<br />
<br />
|id<br />
|Q<br />
|R<br />
|security panel series identification<br />
<br />
|-<br />
<br />
|rowspan="4" |model<br />
|Quadrio<br />
|rowspan="4" |R<br />
|rowspan="4" |security panel model<br />
|-<br />
|Small<br />
|-<br />
|Medium<br />
|-<br />
|Large<br />
<br />
|-<br />
<br />
|fw<br />
|<text><br />
|R<br />
|firmware version running on the security panel<br />
<br />
|-<br />
<br />
|dataconfig<br />
|0..999<br />
|R<br />
|data configuration version<br />
<br />
|-<br />
<br />
|rowspan="3" |accesstype<br />
|admin<br />
|R<br />
|the admin accessed the panel<br />
|-<br />
|no_valid_access<br />
|R<br />
|no valid access to the panel<br />
|-<br />
|<user_index><br />
|R<br />
|index of the user that accessed the panel<br />
<br />
|-<br />
<br />
|temp<br />
|<val><br />
|R<br />
|security panel temperature (C°)<br />
<br />
|-<br />
<br />
|credit<br />
|<val><br />
|R<br />
|SIM credit (€)<br />
<br />
|-<br />
<br />
|rowspan="2" |gsm.fault<br />
|1<br />
|R<br />
|gsm error detected<br />
|-<br />
|0<br />
|R<br />
|no gsm error<br />
<br />
|-<br />
<br />
|rowspan="6" |gsm.fault.cause<br />
|1<br />
|R<br />
|network registration error<br />
|-<br />
|2<br />
|R<br />
|no SIM<br />
|-<br />
|3<br />
|R<br />
|no service provider<br />
|-<br />
|4<br />
|R<br />
|low signal<br />
|-<br />
|5<br />
|R<br />
|no response to sent command<br />
|-<br />
|6<br />
|R<br />
|SIM pin block<br />
<br />
|-<br />
<br />
|rowspan="2" |pstn.fault<br />
|1<br />
|R<br />
|PSTN fault detected<br />
|-<br />
|0<br />
|R<br />
|no PSTN fault<br />
<br />
|-<br />
<br />
|rowspan="2" |nopower<br />
|1<br />
|R<br />
|no power supply<br />
|-<br />
|0<br />
|R<br />
|power supply in normal state<br />
<br />
|-<br />
<br />
|rowspan="2" |nopower.device<br />
|65534<br />
|R<br />
|system detected lack of power supply<br />
|-<br />
|<n><br />
|R<br />
|index of device that detected lack of power supply<br />
<br />
|-<br />
<br />
|rowspan="2" |batt.fault<br />
|1<br />
|R<br />
|battery fault detected<br />
|-<br />
|0<br />
|R<br />
|no battery fault<br />
<br />
|-<br />
<br />
|rowspan="2" |batt.fault.device<br />
|65534<br />
|R<br />
|system detected battery fault<br />
|-<br />
|<n><br />
|R<br />
|index of device that detected battery fault<br />
<br />
|-<br />
<br />
|rowspan="2" |tamper<br />
|1<br />
|R<br />
|tamper on a device detected<br />
|-<br />
|0<br />
|R<br />
|no tamper detected<br />
<br />
|-<br />
<br />
|rowspan="2" |tamper.device<br />
|65534<br />
|R<br />
|system in tampering<br />
|-<br />
|<n><br />
|R<br />
|index of device in tampering<br />
<br />
|-<br />
<br />
|rowspan="2" |coercion<br />
|1<br />
|R<br />
|user coercion detected<br />
|-<br />
|0<br />
|R<br />
|no user coercion detected<br />
<br />
|-<br />
<br />
|coercion.user<br />
|<n><br />
|R<br />
|index of user under duress<br />
<br />
|-<br />
<br />
|rowspan="2" |radiointerference<br />
|1<br />
|R<br />
|radiointerference detected<br />
|-<br />
|0<br />
|R<br />
|no radiointerference detected<br />
<br />
|-<br />
<br />
|rowspan="2" |radiozone.fault<br />
|1<br />
|R<br />
|radio zone fault detected<br />
|-<br />
|0<br />
|R<br />
|no radio zone fault detected<br />
<br />
|-<br />
<br />
|radiozone.fault.zone<br />
|<n><br />
|R<br />
|index of radio zone fault<br />
<br />
|-<br />
<br />
|rowspan="2" |theft<br />
|1<br />
|R<br />
|theft detected<br />
|-<br />
|0<br />
|R<br />
|no theft detected<br />
<br />
|-<br />
<br />
|theft.device<br />
|<n><br />
|R<br />
|index of device that detected theft<br />
<br />
|-<br />
<br />
|rowspan="2" |medemergency<br />
|1<br />
|R<br />
|medical emergency detected<br />
|-<br />
|0<br />
|R<br />
|no medical emergency detected<br />
<br />
|-<br />
<br />
|medemergency.device<br />
|<n><br />
|R<br />
|index of device that detected medical emergency<br />
<br />
|-<br />
<br />
|rowspan="2" |radiohooter.fault<br />
|1<br />
|R<br />
|radio hooter fault detected<br />
|-<br />
|0<br />
|R<br />
|no radio hooter fault detected<br />
<br />
|-<br />
<br />
|radiohooter.fault.device<br />
|<n><br />
|R<br />
|index of device that detected radio hooter fault<br />
<br />
|-<br />
<br />
|rowspan="2" |radiokeyboard.fault<br />
|1<br />
|R<br />
|radio keyboard fault detected<br />
|-<br />
|0<br />
|R<br />
|no radio keyboard fault detected<br />
<br />
|-<br />
<br />
|radiokeyboard.fault.device<br />
|<n><br />
|R<br />
|index of device that detected radio keyboard fault<br />
<br />
|-<br />
<br />
|radiohooter.ids<br />
|<text><br />
|R<br />
|list of radio hooter indexes in tampering<br />
<br />
|-<br />
<br />
|rowspan="2" |remoteaccess<br />
|1<br />
|R<br />
|remote access detected<br />
|-<br />
|0<br />
|R<br />
|no remote access detected<br />
<br />
|-<br />
<br />
|a<n>.name<br />
|<text><br />
|R/W<br />
|name of area <n> (max. 16 characters)<br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.ins<br />
|0<br />
|W<br />
|disarm all groups in area <n><br />
|-<br />
|1<br />
|W<br />
|arm all groups in area <n><br />
<br />
|-<br />
<br />
|a<n>.alarmgroups<br />
|<text><br />
|R<br />
|list of groups, in area <n>, in alarm state<br />
<br />
|-<br />
<br />
|a<n>.tampergroups<br />
|<text><br />
|R<br />
|list of groups, in area <n>, in tampering<br />
<br />
|-<br />
<br />
|a<n>.prealarmgroups<br />
|<text><br />
|R<br />
|list of groups, in area <n>, in pre-alarm state<br />
<br />
|-<br />
<br />
|a<n>.blindgroups<br />
|<text><br />
|R<br />
|list of groups, in area <n>, in blind state<br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.group.<a,b,c,d>.en<br />
|0<br />
|R<br />
|group <a,b,c,d> in area <n> is disabled<br />
|-<br />
|1<br />
|R<br />
|group <a,b,c,d> in area <n> is enabled<br />
<br />
|-<br />
<br />
|rowspan="2" |a<n>.group.<a,b,c,d>.ins<br />
|0<br />
|R/W<br />
|group <a,b,c,d> in area <n> is disarmed<br />
|-<br />
|1<br />
|R/W<br />
|group <a,b,c,d> in area <n> is armed<br />
<br />
|-<br />
<br />
|a<n>.group.<a,b,c,d>.name<br />
|<text><br />
|R/W<br />
|name of group <a,b,c,d> in area <n> (max. 16 characters)<br />
<br />
|-<br />
<br />
|totaloutputs<br />
|<n><br />
|R<br />
|total outputs number associated to the security panel<br />
<br />
|-<br />
<br />
|totalradiooutputs<br />
|<n><br />
|R<br />
|total radio outputs number associated to the security panel<br />
<br />
|-<br />
<br />
|rowspan="5" |o<n>.status<br />
|0<br />
|R<br />
|output n doesn't exist<br />
|-<br />
|1<br />
|R<br />
|output n not configured and disabled<br />
|-<br />
|2<br />
|R<br />
|output n not configured and enabled<br />
|-<br />
|11<br />
|R<br />
|output n configured and disabled<br />
|-<br />
|12<br />
|R<br />
|output n configured and enabled<br />
<br />
|-<br />
<br />
|rowspan="2" |o<n><br />
|0<br />
|W<br />
|disable output n<br />
|-<br />
|1<br />
|W<br />
|enable output n<br />
<br />
|-<br />
<br />
|o<n>.name<br />
|<text><br />
|W<br />
|change name of output n (max. 16 characters)<br />
<br />
|-<br />
<br />
|rowspan="2" |o<n>.sec<br />
|0<br />
|W<br />
|remove timing on output n<br />
|-<br />
|<k><br />
|W<br />
|output n will change status (enable/disable) after k seconds<br />
<br />
|-<br />
<br />
|totalwiredzones<br />
|<n><br />
|R<br />
|total wired zones number<br />
<br />
|-<br />
<br />
|totalradiozones<br />
|<n><br />
|R<br />
|total radio zones number<br />
<br />
|-<br />
<br />
|rowspan="15" |z<n>.status<br />
|0<br />
|R<br />
|zone n not configured<br />
|-<br />
|1<br />
|R<br />
|zone n excluded<br />
|-<br />
|2<br />
|R<br />
|zone n in normal state<br />
|-<br />
|3<br />
|R<br />
|zone n in tampering<br />
|-<br />
|11<br />
|R<br />
|zone n open internal contact<br />
|-<br />
|12<br />
|R<br />
|zone n open external contact<br />
|-<br />
|13<br />
|R<br />
|zone n open internal and external contacts<br />
|-<br />
|20<br />
|R<br />
|alarm memory in zone n and all contacts closed<br />
|-<br />
|21<br />
|R<br />
|alarm memory in zone n and internal contact open<br />
|-<br />
|22<br />
|R<br />
|alarm memory in zone n and external contact open<br />
|-<br />
|23<br />
|R<br />
|alarm memory in zone n and all contact open<br />
|-<br />
|40<br />
|R<br />
|zone n in alarm and all contacts closed<br />
|-<br />
|41<br />
|R<br />
|zone n in alarm and internal contact open<br />
|-<br />
|42<br />
|R<br />
|zone n in alarm and all external contact open<br />
|-<br />
|43<br />
|R<br />
|zone n in alarm and all contacts open<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 />
<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 security log (it will vanish after 5 seconds)<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.not.configured<br />
|rowspan="2" |visible<br />
|true<br />
|zone n is not configured<br />
|-<br />
|false<br />
|zone n is configured<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.excluded<br />
|rowspan="2" |visible<br />
|true<br />
|zone n is excluded<br />
|-<br />
|false<br />
|zone n is not excluded<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.normal<br />
|rowspan="2" |visible<br />
|true<br />
|zone n is in normal state<br />
|-<br />
|false<br />
|zone n is not in normal state<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.tamper<br />
|rowspan="2" |visible<br />
|true<br />
|zone n is in tampering<br />
|-<br />
|false<br />
|zone n is not in tampering<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.open.internal<br />
|rowspan="2" |visible<br />
|true<br />
|internal contact open in zone n<br />
|-<br />
|false<br />
|not internal contact open in zone n<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.open.external<br />
|rowspan="2" |visible<br />
|true<br />
|external contact open in zone n<br />
|-<br />
|false<br />
|not external contact open in zone n<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.open.both<br />
|rowspan="2" |visible<br />
|true<br />
|both contacts open in zone n<br />
|-<br />
|false<br />
|not both contacts open in zone n<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.alarm.memory.closed.both<br />
|rowspan="2" |visible<br />
|true<br />
|alarm memory in zone n and both contacts closed<br />
|-<br />
|false<br />
|not alarm memory in zone n and both contacts closed<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.alarm.memory.open.internal<br />
|rowspan="2" |visible<br />
|true<br />
|alarm memory in zone n and internal contact open<br />
|-<br />
|false<br />
|not alarm memory in zone n and internal contact open<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.alarm.memory.open.external<br />
|rowspan="2" |visible<br />
|true<br />
|alarm memory in zone n and external contact open<br />
|-<br />
|false<br />
|not alarm memory in zone n and external contact open<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.alarm.memory.open.both<br />
|rowspan="2" |visible<br />
|true<br />
|alarm memory in zone n and both contacts open<br />
|-<br />
|false<br />
|not alarm memory in zone n and both contacts open<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.alarm.closed.both<br />
|rowspan="2" |visible<br />
|true<br />
|alarm in zone n and both contacts closed<br />
|-<br />
|false<br />
|not alarm in zone n and both contacts closed<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.alarm.open.internal<br />
|rowspan="2" |visible<br />
|true<br />
|alarm in zone n and internal contact open<br />
|-<br />
|false<br />
|not alarm in zone n and internal contact open<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.alarm.open.external<br />
|rowspan="2" |visible<br />
|true<br />
|alarm in zone n and external contact open<br />
|-<br />
|false<br />
|not alarm in zone n and external contact open<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.alarm.open.both<br />
|rowspan="2" |visible<br />
|true<br />
|alarm in zone n and both contacts open<br />
|-<br />
|false<br />
|not alarm in zone n and both contacts open<br />
<br />
|}<br />
<br />
== Log Files ==<br />
If a TLABQ I/O Server 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 />
2021.03.02 10:55:28.470 - tlabq - 02/03/2021 10:50 - armed - remote user - area 1 - groups: A,B<br />
2021.03.02 10:55:28.534 - tlabq - 02/03/2021 10:51 - disarmed - remote user<br />
2021.03.02 10:55:28.555 - tlabq - 02/03/2021 10:51 - armed - remote user - area 1 - groups: A,B<br />
2021.03.02 10:55:28.561 - tlabq - 02/03/2021 10:52 - disarmed - remote user<br />
2021.03.02 10:55:28.568 - tlabq - 02/03/2021 10:52 - armed - remote user - area 1 - groups: A,B<br />
2021.03.02 10:55:28.570 - tlabq - 02/03/2021 10:52 - disarmed - remote user<br />
2021.03.02 10:55:29.504 - tlabq - HSYCO ONLINE<br />
2021.03.02 11:01:28.088 - tlabq - 02/03/2021 11:00 - remote access - 93.51.114.164<br />
2021.03.02 11:30:49.349 - tlabq - HSYCO OFFLINE<br />
</pre><br />
<br />
Other information about the TLABQ driver are stored in the message.log daily file.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''T-LAB is a registered trademarks of T-LAB SRL.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Lares4&diff=10454Lares42022-03-03T15:37:41Z<p>Gianluca: </p>
<hr />
<div>The KSENIA lares 4.0 is a multi-area security system. The I/O Server has been tested on unit with firmware version 1.72.2. Actually this driver runs only in HTTP mode (port 80 is set by default).<br />
<br />
<br />
== Configuration from Ksenia cloud ==<br />
You must firstly configure your panel in the web app at the following address ''https://<panel_ip_address>'' (the panel starts in DHCP mode so you have to find the relative IP address assigned). In the web app, select your panel and log into it with installer privileges, then go to settings. In network settings, disable DHCP mode and set a static ip address, then disable HTTPS connection (you must unflag protocol TLS in "Web Server" section and select port 80). When you have finished save your configuration. In alternative, you can configure your panel passing by Ksenia SecureWeb cloud.<br />
<br />
ATTENTION: this driver works only with Lares4 firmware version 1.72.2 or higher. You can download the latest firmware version from Kseniasecurity.com in the reserved area.<br />
<br />
== HSYCO Configuration ==<br />
Add a LARES4 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''': host name or IP address of the panel<br />
*'''IP Port''': leave it blank<br />
<br />
=== Authentication ===<br />
*'''Password''': pin to access the web server with user privileges (NOT installer!)<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 />
|pollinterval<br />
|1000<br />
|n > 1000<br />
|the data acquisition interval, in milliseconds<br />
<br />
|-<br />
<br />
|logsize<br />
|300<br />
|n &ge; 0<br />
|the number of log lines to display in the UI object<br />
<br />
|-<br />
<br />
|rowspan="2"|gui<br />
|rowspan="2"|true<br />
|true<br />
|enable the UISET "visible" field for all partition zones<br />
|-<br />
|false<br />
|disable the UISET "visible" field for all partition zones<br />
<br />
|-<br />
<br />
|maxpartitions<br />
|3<br />
|1≤n≤30<br />
|number of partitions that are configured in the security panel<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 panel<br />
<br />
|-<br />
<br />
|rowspan="2" |armed<br />
|1<br />
|W<br />
|arm all partitions in the system<br />
|-<br />
|0<br />
|W<br />
|disarm all partitions in the system<br />
<br />
|-<br />
<br />
|p<n>.desc<br />
|<text><br />
|R<br />
|description of partition <n><br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.armed<br />
|rowspan="2" |0<br />
|R<br />
|partition <n> is disarmed<br />
|-<br />
|W<br />
|disarm partition <n><br />
|-<br />
|rowspan="2" |1<br />
|R<br />
|partition <n> is armed<br />
|-<br />
|W<br />
|arm partition <n><br />
<br />
|-<br />
<br />
|rowspan="3"|p<n>.alarm<br />
|0<br />
|R<br />
|partition <n> not in alarm<br />
|-<br />
|1<br />
|R<br />
|partition <n> in alarm<br />
|-<br />
|mem<br />
|R<br />
|partition <n> in alarm memory state<br />
<br />
|-<br />
<br />
|rowspan="3"|p<n>.tamper<br />
|0<br />
|R<br />
|partition <n> not in tamper<br />
|-<br />
|1<br />
|R<br />
|partition <n> in tamper<br />
|-<br />
|mem<br />
|R<br />
|partition <n> in tamper memory state<br />
<br />
|-<br />
<br />
|z<n>.desc<br />
|<text><br />
|R<br />
|description of zone <n><br />
<br />
|-<br />
<br />
|rowspan="2"|z<n>.alarm<br />
|0<br />
|R<br />
|zone <n> not in alarm<br />
|-<br />
|1<br />
|R<br />
|zone <n> in alarm<br />
<br />
|-<br />
<br />
|rowspan="2"|z<n>.mask<br />
|0<br />
|R<br />
|zone <n> not masked<br />
|-<br />
|1<br />
|R<br />
|zone <n> masked<br />
<br />
|-<br />
<br />
|rowspan="2"|z<n>.tamper<br />
|0<br />
|R<br />
|zone <n> not in tamper<br />
|-<br />
|1<br />
|R<br />
|zone <n> in tamper<br />
<br />
|-<br />
<br />
|rowspan="2"|z<n>.error<br />
|0<br />
|R<br />
|zone <n> not in error<br />
|-<br />
|1<br />
|R<br />
|zone <n> in error<br />
<br />
|-<br />
<br />
|rowspan="4" |z<n>.bypass<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 />
|o<n>.desc<br />
|<text><br />
|R<br />
|description of output <n><br />
<br />
|-<br />
<br />
|rowspan="4" |o<n><br />
|rowspan="2" |0<br />
|R<br />
|output <n> is off<br />
|-<br />
|W<br />
|turn off output <n><br />
|-<br />
|rowspan="2" |1<br />
|R<br />
|output n <n> is on<br />
|-<br />
|W<br />
|turn on output <n><br />
<br />
|-<br />
<br />
|rowspan="2"|voltage.low<br />
|0<br />
|R<br />
|system voltage is ok<br />
|-<br />
|1<br />
|R<br />
|system voltage is low<br />
<br />
|-<br />
<br />
|rowspan="2"|batt.low<br />
|0<br />
|R<br />
|battery is ok<br />
|-<br />
|1<br />
|R<br />
|battery is low<br />
<br />
|-<br />
<br />
|rowspan="2"|batt.fault<br />
|0<br />
|R<br />
|battery is ok<br />
|-<br />
|1<br />
|R<br />
|battery fault<br />
<br />
|-<br />
<br />
|rowspan="2"|pstn.fault<br />
|0<br />
|R<br />
|pstn is ok<br />
|-<br />
|1<br />
|R<br />
|pstn fault<br />
<br />
|-<br />
<br />
|rowspan="2"|credit.low<br />
|0<br />
|R<br />
|credit is ok<br />
|-<br />
|1<br />
|R<br />
|credit is low<br />
<br />
|-<br />
<br />
|rowspan="2"|system.fault<br />
|0<br />
|R<br />
|system is ok<br />
|-<br />
|1<br />
|R<br />
|system fault<br />
<br />
|-<br />
<br />
|rowspan="2"|mobile.fault<br />
|0<br />
|R<br />
|mobile is ok<br />
|-<br />
|1<br />
|R<br />
|mobile fault<br />
<br />
|-<br />
<br />
|s<n>.desc<br />
|<text><br />
|R<br />
|description of scenario <n><br />
<br />
|-<br />
<br />
|s<n><br />
|1<br />
|W<br />
|trigger scenario <n><br />
<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== Lares4 Object ===<br />
<br />
{{:Lares4_(I/O Server 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 security log (it will vanish after 5 seconds)<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.tamper<br />
|rowspan="2" |visible<br />
|false<br />
|zone n not in tampering<br />
|-<br />
|true<br />
|zone n in tampering<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.bypass<br />
|rowspan="2" |visible<br />
|false<br />
|zone n not bypassed<br />
|-<br />
|true<br />
|zone n bypassed<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.alarm<br />
|rowspan="2" |visible<br />
|false<br />
|zone n not in alarm<br />
|-<br />
|true<br />
|zone n in alarm<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.error<br />
|rowspan="2" |visible<br />
|false<br />
|zone n not in error state<br />
|-<br />
|true<br />
|zone n in error state<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.mask<br />
|rowspan="2" |visible<br />
|false<br />
|zone n not masked<br />
|-<br />
|true<br />
|zone n masked<br />
<br />
|}<br />
<br />
== Log Files ==<br />
If a Ksenia 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 />
2018.02.20 16:59:28.516 - lares - 20/02/2018 16:56:36 - Disinserimento - Part 1 - U1<br />
2018.02.20 17:00:24.527 - lares - 20/02/2018 16:57:36 - Inserimento - Part 1 - U1<br />
2018.02.20 17:00:44.318 - lares - 20/02/2018 16:57:57 - Allarme - Zone 1<br />
2018.02.20 17:00:49.241 - lares - 20/02/2018 16:57:58 - Ripristino - Zone 1<br />
2018.02.20 17:00:54.043 - lares - 20/02/2018 16:58:06 - Disinserimento - Part 1 - U1<br />
2018.02.20 17:01:18.905 - lares - 20/02/2018 16:58:29 - Fallita Comunicazione - Leonardo - Vocale GSM<br />
2018.02.20 17:01:29.053 - lares - 20/02/2018 16:58:40 - Fallita Comunicazione - Leonardo - SMS<br />
</pre><br />
<br />
Other information about the Ksenia driver are stored in the message.log daily file.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial version release<br />
<br />
----<br />
<br />
<br />
''Ksenia is a registered trademark of Ksenia Security s.r.l.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=SIGFOX&diff=10453SIGFOX2022-03-03T11:27:07Z<p>Gianluca: /* AlarmHubStatus */</p>
<hr />
<div>Sigfox is a global network operator founded that builds wireless networks to connect low-power objects such as electricity meters and smartwatches, which need to be continuously on and emitting small amounts of data.<br />
This driver allows you to communicate with Sigfox Cloud in order to retrieve messages and status updates collected from devices.<br />
As reported in the Sigfox backend, each device is grouped into a device type.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== HSYCO Configuration ==<br />
Add the SIGFOX I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Authentication ===<br />
*'''User''': optional API username<br />
*'''Password''': optional API password<br />
<br />
==== Devices list file ====<br />
<br />
At the first run of SIGFOX driver a file named "sigfox-devices_&#60;I/O_Server_name&#62;.ini" will be created . This file can contain a series of line, each line represents informations of a single device and can have the following format:<br />
<br />
<pre><device_id>:name=<device_name>,model=<device_model></pre><br />
<pre><device_id>:model=<device_model>,name=<device_name></pre><br />
<pre><device_id>:name=<device_name></pre><br />
<pre><device_id>:model=<device_model></pre><br />
<pre><device_id></pre><br />
<br />
E.g. <br />
<br />
<pre>BE1234:name=homesensor,model=AlarmHubBase</pre><br />
<pre>BE1234:model=AlarmHubBase,name=homesensor</pre><br />
<pre>BE1234:name=homesensor</pre><br />
<pre>BE1234:model=AlarmHubBase</pre><br />
<pre>BE1234</pre><br />
<br />
<br />
Device id must be present in each line while name and model are optional. Device identifiers are considered as case insensitive by the SIGFOX I/O Server, so there can't be two identifiers with the same sequence of characters in upper/lower case, e.g. "BE1234" and "be1234" are considered the same.<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"|true<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"|acceptunknown<br />
|rowspan="2"|false<br />
|true<br />
|accept incoming messages from devices whose id isn't specified in sigfox-devices.ini<br />
|-<br />
|false<br />
|doesn't accept incoming messages from devices whose id isn't specified in sigfox-devices.ini<br />
<br />
|-<br />
<br />
|callbackport<br />
|4445<br />
|<portNumber><br />
|internal port used to receive incoming callback messages from Sigfox Cloud<br />
<br />
|-<br />
<br />
|callbackkey<br />
|<br />
|<text><br />
|key used in Sigfox URL callbacks to receive incoming callback messages<br />
<br />
|-<br />
<br />
|pollinterval<br />
|15000<br />
|1000<n<30000<br />
|interval (in milliseconds) between two consecutive HTTP calls to Sigfox Cloud (only for API)<br />
<br />
|}<br />
<br />
=== Device Messages ===<br />
To retrieve device messages from Sigfox Cloud you can use API and/or callbacks. API are easier to set up but they require to wait for an interval to expire (max 30 seconds) to get every new message sent by devices to Sigfox Cloud. Callbacks are a little bit tricky to set up but they allow to retrieve every new message sent by devices as soon as Sigfox Cloud receives it.<br />
<br />
==== API ====<br />
In order to use Sigfox API you have to create an API user in Sigfox backend (unless you already have an existing one), then use the newly API user credentials to set '''User''' and '''Password''' in SIGFOX I/O Server configuration.<br />
<br />
==== Callbacks ====<br />
In order to use Sigfox callback services you must have a public IP address and you need to configure your router ports to let outside traffic to get into your network to your Hsyco. You also have to set '''callbackkey''' option and '''callbackport''' option (if the default 4445 is already in use or if you are using more instances of SIGFOX driver) in SIGFOX I/O Server options. <br />
<br />
Every time Sigfox Cloud receive a message from a device it immediately propagates it to your SIGFOX driver, filling all message informations into an URL. Callback messages must be configured in Sigfox backend (you can configure callbacks for each device type associated to your account) choosing channel "URL" and composing the URL in the following format:<br />
<br />
<pre>http://<public_ip_address>:<port>/hsyco/sigfox/<I/O_server_name>?key=<callbackkey>&id={device}&field1={var1}&field2={var2}&field3={var3}...</pre><br />
<br />
<port> is the public port opened on your router, <callbackkey> corresponds to '''callbackkey''' option of SIGFOX I/O Server. The URL fields "key" and "id" must be always present. The URL fields "field1", "field2", "field3", etc.. are optionals and can be set accordingly to the type of callback you are configuring in Sigfox backend; fields order is irrelevant. URL fields must be separated with '&' character.<br />
<br />
E.g.<br />
<br />
<pre>http://93.45.12.54:7777/hsyco/sigfox/sgfx?key=Abc1234&id={device}&time={time}&data={data}&seqNumber={seqNumber}</pre><br />
<br />
Below are reported all URL fields that SIGFOX driver can process:<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Description<br />
<br />
|-<br />
<br />
|id<br />
|device ID<br />
<br />
|-<br />
<br />
|time<br />
|timestamp (in Epoch time) of the message<br />
<br />
|-<br />
<br />
|data<br />
|message content<br />
<br />
|-<br />
<br />
|seqNumber<br />
|sequential number of the message<br />
<br />
|-<br />
<br />
|batt<br />
|device battery voltage<br />
<br />
|-<br />
<br />
|temp<br />
|device temperature (C˚)<br />
<br />
|-<br />
<br />
|lqi<br />
|link quality indicator (as reported in Datapoints section)<br />
<br />
|-<br />
<br />
|deviceTypeId<br />
|the ID of the device type in which this device is grouped<br />
<br />
|}<br />
<br />
=== Device Models ===<br />
You can assign a model to each of your devices by modifying directly the file "sigfox-devices_&#60;I/O_Server_name&#62;.ini" (as described above) or using the [[SIGFOX Utility]]. By assigning a model to a device the SIGFOX driver can decode raw messages coming from that device accordingly to its communication protocol, this will generate more informations and relatives datapoints. <br />
<br />
Actually the only device model supported by SIGFOX driver is the sequent:<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Protocol<br />
<br />
|-<br />
<br />
|AlarmHubBase<br />
|Ecco Switch protocol firmware V2<br />
<br />
|-<br />
<br />
|AlarmHubStatus<br />
|Ecco Switch protocol firmware V3<br />
<br />
|}<br />
<br />
=== SIGFOX Utility ===<br />
<br />
Use the [[SIGFOX Utility]] to automatically discover new devices or configure existing ones.<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 />
|the driver is ready to accept incoming messages from Sigfox Cloud<br />
|-<br />
|offline<br />
|R<br />
|initialization of the driver failed or loop cycle failed<br />
<br />
|-<br />
<br />
|devicetype.<devicetypeId>.name<br />
|<text><br />
|R<br />
|the name of the device type corresponding to devicetypeId (only obtainable with API)<br />
<br />
|-<br />
<br />
|device.<deviceId>.devicetype<br />
|<text><br />
|R<br />
|the ID of the device type in which deviceId is grouped<br />
<br />
|-<br />
<br />
|device.<deviceId>.name<br />
|<text><br />
|R<br />
|the name of deviceId (only obtainable with API)<br />
<br />
|-<br />
<br />
|device.<deviceId>.lastseen<br />
|<ts><br />
|R<br />
|timestamp (in Epoch time) of the last message sent by deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.msg<br />
|<text><br />
|R<br />
|content of the last message sent by deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.token.end<br />
|<ts><br />
|R<br />
|deviceId token end date (in Epoch time) (only obtainable with API)<br />
<br />
|-<br />
<br />
|rowspan="5" |device.<deviceId>.lqi<br />
|0<br />
|R<br />
|rowspan="5" |link quality indicator (computed from the last message received by Sigfox Cloud). 0=limit, 1=average, 2=good, 3=excellent, 4=not available<br />
|-<br />
|1<br />
|R<br />
|-<br />
|2<br />
|R<br />
|-<br />
|3<br />
|R<br />
|-<br />
|4<br />
|R<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.tx<br />
|<val><br />
|R<br />
|battery voltage (during transmission) of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.idle<br />
|<val><br />
|R<br />
|battery voltage (in idle state) of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.temp<br />
|<val><br />
|R<br />
|internal temperature (C˚) of deviceId<br />
<br />
|}<br />
<br />
=== AlarmHubBase ===<br />
<br />
Below are reported all datapoints generated from incoming messages from '''AlarmHubBase''' model devices. Those datapoints are in addition to SIGFOX I/O Server standard datapoints.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.test<br />
|1<br />
|R<br />
|status change on button "test" of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on button "test" of deviceId<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.in.<n><br />
|1<br />
|R<br />
|status change on input <n> of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on input <n> of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.idle<br />
|<val><br />
|R<br />
|battery voltage (in idle state) of deviceId<br />
<br />
|}<br />
<br />
<br />
=== AlarmHubStatus ===<br />
<br />
Below are reported all datapoints generated from incoming messages from '''AlarmHubStatus''' model devices. Those datapoints are in addition to SIGFOX I/O Server standard datapoints.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.test<br />
|1<br />
|R<br />
|status change on button "test" of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on button "test" of deviceId<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.in.<n><br />
|1<br />
|R<br />
|status change on input <n> of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on input <n> of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.idle<br />
|<val><br />
|R<br />
|battery voltage (in idle state) of deviceId<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.in.<n>.status<br />
|1<br />
|R<br />
|input <n> of deviceId is active<br />
|-<br />
|0<br />
|R<br />
|input <n> of deviceId is not active<br />
<br />
|}<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
''Sigfox is a registered trademark of Sigfox S.A.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=SIGFOX&diff=10452SIGFOX2022-03-03T11:25:25Z<p>Gianluca: /* AlarmHubStatus */</p>
<hr />
<div>Sigfox is a global network operator founded that builds wireless networks to connect low-power objects such as electricity meters and smartwatches, which need to be continuously on and emitting small amounts of data.<br />
This driver allows you to communicate with Sigfox Cloud in order to retrieve messages and status updates collected from devices.<br />
As reported in the Sigfox backend, each device is grouped into a device type.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== HSYCO Configuration ==<br />
Add the SIGFOX I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Authentication ===<br />
*'''User''': optional API username<br />
*'''Password''': optional API password<br />
<br />
==== Devices list file ====<br />
<br />
At the first run of SIGFOX driver a file named "sigfox-devices_&#60;I/O_Server_name&#62;.ini" will be created . This file can contain a series of line, each line represents informations of a single device and can have the following format:<br />
<br />
<pre><device_id>:name=<device_name>,model=<device_model></pre><br />
<pre><device_id>:model=<device_model>,name=<device_name></pre><br />
<pre><device_id>:name=<device_name></pre><br />
<pre><device_id>:model=<device_model></pre><br />
<pre><device_id></pre><br />
<br />
E.g. <br />
<br />
<pre>BE1234:name=homesensor,model=AlarmHubBase</pre><br />
<pre>BE1234:model=AlarmHubBase,name=homesensor</pre><br />
<pre>BE1234:name=homesensor</pre><br />
<pre>BE1234:model=AlarmHubBase</pre><br />
<pre>BE1234</pre><br />
<br />
<br />
Device id must be present in each line while name and model are optional. Device identifiers are considered as case insensitive by the SIGFOX I/O Server, so there can't be two identifiers with the same sequence of characters in upper/lower case, e.g. "BE1234" and "be1234" are considered the same.<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"|true<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"|acceptunknown<br />
|rowspan="2"|false<br />
|true<br />
|accept incoming messages from devices whose id isn't specified in sigfox-devices.ini<br />
|-<br />
|false<br />
|doesn't accept incoming messages from devices whose id isn't specified in sigfox-devices.ini<br />
<br />
|-<br />
<br />
|callbackport<br />
|4445<br />
|<portNumber><br />
|internal port used to receive incoming callback messages from Sigfox Cloud<br />
<br />
|-<br />
<br />
|callbackkey<br />
|<br />
|<text><br />
|key used in Sigfox URL callbacks to receive incoming callback messages<br />
<br />
|-<br />
<br />
|pollinterval<br />
|15000<br />
|1000<n<30000<br />
|interval (in milliseconds) between two consecutive HTTP calls to Sigfox Cloud (only for API)<br />
<br />
|}<br />
<br />
=== Device Messages ===<br />
To retrieve device messages from Sigfox Cloud you can use API and/or callbacks. API are easier to set up but they require to wait for an interval to expire (max 30 seconds) to get every new message sent by devices to Sigfox Cloud. Callbacks are a little bit tricky to set up but they allow to retrieve every new message sent by devices as soon as Sigfox Cloud receives it.<br />
<br />
==== API ====<br />
In order to use Sigfox API you have to create an API user in Sigfox backend (unless you already have an existing one), then use the newly API user credentials to set '''User''' and '''Password''' in SIGFOX I/O Server configuration.<br />
<br />
==== Callbacks ====<br />
In order to use Sigfox callback services you must have a public IP address and you need to configure your router ports to let outside traffic to get into your network to your Hsyco. You also have to set '''callbackkey''' option and '''callbackport''' option (if the default 4445 is already in use or if you are using more instances of SIGFOX driver) in SIGFOX I/O Server options. <br />
<br />
Every time Sigfox Cloud receive a message from a device it immediately propagates it to your SIGFOX driver, filling all message informations into an URL. Callback messages must be configured in Sigfox backend (you can configure callbacks for each device type associated to your account) choosing channel "URL" and composing the URL in the following format:<br />
<br />
<pre>http://<public_ip_address>:<port>/hsyco/sigfox/<I/O_server_name>?key=<callbackkey>&id={device}&field1={var1}&field2={var2}&field3={var3}...</pre><br />
<br />
<port> is the public port opened on your router, <callbackkey> corresponds to '''callbackkey''' option of SIGFOX I/O Server. The URL fields "key" and "id" must be always present. The URL fields "field1", "field2", "field3", etc.. are optionals and can be set accordingly to the type of callback you are configuring in Sigfox backend; fields order is irrelevant. URL fields must be separated with '&' character.<br />
<br />
E.g.<br />
<br />
<pre>http://93.45.12.54:7777/hsyco/sigfox/sgfx?key=Abc1234&id={device}&time={time}&data={data}&seqNumber={seqNumber}</pre><br />
<br />
Below are reported all URL fields that SIGFOX driver can process:<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Description<br />
<br />
|-<br />
<br />
|id<br />
|device ID<br />
<br />
|-<br />
<br />
|time<br />
|timestamp (in Epoch time) of the message<br />
<br />
|-<br />
<br />
|data<br />
|message content<br />
<br />
|-<br />
<br />
|seqNumber<br />
|sequential number of the message<br />
<br />
|-<br />
<br />
|batt<br />
|device battery voltage<br />
<br />
|-<br />
<br />
|temp<br />
|device temperature (C˚)<br />
<br />
|-<br />
<br />
|lqi<br />
|link quality indicator (as reported in Datapoints section)<br />
<br />
|-<br />
<br />
|deviceTypeId<br />
|the ID of the device type in which this device is grouped<br />
<br />
|}<br />
<br />
=== Device Models ===<br />
You can assign a model to each of your devices by modifying directly the file "sigfox-devices_&#60;I/O_Server_name&#62;.ini" (as described above) or using the [[SIGFOX Utility]]. By assigning a model to a device the SIGFOX driver can decode raw messages coming from that device accordingly to its communication protocol, this will generate more informations and relatives datapoints. <br />
<br />
Actually the only device model supported by SIGFOX driver is the sequent:<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Protocol<br />
<br />
|-<br />
<br />
|AlarmHubBase<br />
|Ecco Switch protocol firmware V2<br />
<br />
|-<br />
<br />
|AlarmHubStatus<br />
|Ecco Switch protocol firmware V3<br />
<br />
|}<br />
<br />
=== SIGFOX Utility ===<br />
<br />
Use the [[SIGFOX Utility]] to automatically discover new devices or configure existing ones.<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 />
|the driver is ready to accept incoming messages from Sigfox Cloud<br />
|-<br />
|offline<br />
|R<br />
|initialization of the driver failed or loop cycle failed<br />
<br />
|-<br />
<br />
|devicetype.<devicetypeId>.name<br />
|<text><br />
|R<br />
|the name of the device type corresponding to devicetypeId (only obtainable with API)<br />
<br />
|-<br />
<br />
|device.<deviceId>.devicetype<br />
|<text><br />
|R<br />
|the ID of the device type in which deviceId is grouped<br />
<br />
|-<br />
<br />
|device.<deviceId>.name<br />
|<text><br />
|R<br />
|the name of deviceId (only obtainable with API)<br />
<br />
|-<br />
<br />
|device.<deviceId>.lastseen<br />
|<ts><br />
|R<br />
|timestamp (in Epoch time) of the last message sent by deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.msg<br />
|<text><br />
|R<br />
|content of the last message sent by deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.token.end<br />
|<ts><br />
|R<br />
|deviceId token end date (in Epoch time) (only obtainable with API)<br />
<br />
|-<br />
<br />
|rowspan="5" |device.<deviceId>.lqi<br />
|0<br />
|R<br />
|rowspan="5" |link quality indicator (computed from the last message received by Sigfox Cloud). 0=limit, 1=average, 2=good, 3=excellent, 4=not available<br />
|-<br />
|1<br />
|R<br />
|-<br />
|2<br />
|R<br />
|-<br />
|3<br />
|R<br />
|-<br />
|4<br />
|R<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.tx<br />
|<val><br />
|R<br />
|battery voltage (during transmission) of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.idle<br />
|<val><br />
|R<br />
|battery voltage (in idle state) of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.temp<br />
|<val><br />
|R<br />
|internal temperature (C˚) of deviceId<br />
<br />
|}<br />
<br />
=== AlarmHubBase ===<br />
<br />
Below are reported all datapoints generated from incoming messages from '''AlarmHubBase''' model devices. Those datapoints are in addition to SIGFOX I/O Server standard datapoints.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.test<br />
|1<br />
|R<br />
|status change on button "test" of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on button "test" of deviceId<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.in.<n><br />
|1<br />
|R<br />
|status change on input <n> of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on input <n> of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.idle<br />
|<val><br />
|R<br />
|battery voltage (in idle state) of deviceId<br />
<br />
|}<br />
<br />
<br />
=== AlarmHubStatus ===<br />
<br />
Below are reported all datapoints generated from incoming messages from '''AlarmHubStatus''' model devices. Those datapoints are in addition to SIGFOX I/O Server standard datapoints.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.test<br />
|1<br />
|R<br />
|status change on button "test" of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on button "test" of deviceId<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.in.<n><br />
|1<br />
|R<br />
|status change on input <n> of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on input <n> of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.idle<br />
|<val><br />
|R<br />
|battery voltage (in idle state) of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.in.<n>.status<br />
|1<br />
|R<br />
|input <n> of deviceId is active<br />
|-<br />
|0<br />
|R<br />
|input <n> of deviceId is not active<br />
<br />
|}<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
''Sigfox is a registered trademark of Sigfox S.A.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=SIGFOX&diff=10451SIGFOX2022-03-03T11:23:57Z<p>Gianluca: /* eccoswitch */</p>
<hr />
<div>Sigfox is a global network operator founded that builds wireless networks to connect low-power objects such as electricity meters and smartwatches, which need to be continuously on and emitting small amounts of data.<br />
This driver allows you to communicate with Sigfox Cloud in order to retrieve messages and status updates collected from devices.<br />
As reported in the Sigfox backend, each device is grouped into a device type.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== HSYCO Configuration ==<br />
Add the SIGFOX I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Authentication ===<br />
*'''User''': optional API username<br />
*'''Password''': optional API password<br />
<br />
==== Devices list file ====<br />
<br />
At the first run of SIGFOX driver a file named "sigfox-devices_&#60;I/O_Server_name&#62;.ini" will be created . This file can contain a series of line, each line represents informations of a single device and can have the following format:<br />
<br />
<pre><device_id>:name=<device_name>,model=<device_model></pre><br />
<pre><device_id>:model=<device_model>,name=<device_name></pre><br />
<pre><device_id>:name=<device_name></pre><br />
<pre><device_id>:model=<device_model></pre><br />
<pre><device_id></pre><br />
<br />
E.g. <br />
<br />
<pre>BE1234:name=homesensor,model=AlarmHubBase</pre><br />
<pre>BE1234:model=AlarmHubBase,name=homesensor</pre><br />
<pre>BE1234:name=homesensor</pre><br />
<pre>BE1234:model=AlarmHubBase</pre><br />
<pre>BE1234</pre><br />
<br />
<br />
Device id must be present in each line while name and model are optional. Device identifiers are considered as case insensitive by the SIGFOX I/O Server, so there can't be two identifiers with the same sequence of characters in upper/lower case, e.g. "BE1234" and "be1234" are considered the same.<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"|true<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"|acceptunknown<br />
|rowspan="2"|false<br />
|true<br />
|accept incoming messages from devices whose id isn't specified in sigfox-devices.ini<br />
|-<br />
|false<br />
|doesn't accept incoming messages from devices whose id isn't specified in sigfox-devices.ini<br />
<br />
|-<br />
<br />
|callbackport<br />
|4445<br />
|<portNumber><br />
|internal port used to receive incoming callback messages from Sigfox Cloud<br />
<br />
|-<br />
<br />
|callbackkey<br />
|<br />
|<text><br />
|key used in Sigfox URL callbacks to receive incoming callback messages<br />
<br />
|-<br />
<br />
|pollinterval<br />
|15000<br />
|1000<n<30000<br />
|interval (in milliseconds) between two consecutive HTTP calls to Sigfox Cloud (only for API)<br />
<br />
|}<br />
<br />
=== Device Messages ===<br />
To retrieve device messages from Sigfox Cloud you can use API and/or callbacks. API are easier to set up but they require to wait for an interval to expire (max 30 seconds) to get every new message sent by devices to Sigfox Cloud. Callbacks are a little bit tricky to set up but they allow to retrieve every new message sent by devices as soon as Sigfox Cloud receives it.<br />
<br />
==== API ====<br />
In order to use Sigfox API you have to create an API user in Sigfox backend (unless you already have an existing one), then use the newly API user credentials to set '''User''' and '''Password''' in SIGFOX I/O Server configuration.<br />
<br />
==== Callbacks ====<br />
In order to use Sigfox callback services you must have a public IP address and you need to configure your router ports to let outside traffic to get into your network to your Hsyco. You also have to set '''callbackkey''' option and '''callbackport''' option (if the default 4445 is already in use or if you are using more instances of SIGFOX driver) in SIGFOX I/O Server options. <br />
<br />
Every time Sigfox Cloud receive a message from a device it immediately propagates it to your SIGFOX driver, filling all message informations into an URL. Callback messages must be configured in Sigfox backend (you can configure callbacks for each device type associated to your account) choosing channel "URL" and composing the URL in the following format:<br />
<br />
<pre>http://<public_ip_address>:<port>/hsyco/sigfox/<I/O_server_name>?key=<callbackkey>&id={device}&field1={var1}&field2={var2}&field3={var3}...</pre><br />
<br />
<port> is the public port opened on your router, <callbackkey> corresponds to '''callbackkey''' option of SIGFOX I/O Server. The URL fields "key" and "id" must be always present. The URL fields "field1", "field2", "field3", etc.. are optionals and can be set accordingly to the type of callback you are configuring in Sigfox backend; fields order is irrelevant. URL fields must be separated with '&' character.<br />
<br />
E.g.<br />
<br />
<pre>http://93.45.12.54:7777/hsyco/sigfox/sgfx?key=Abc1234&id={device}&time={time}&data={data}&seqNumber={seqNumber}</pre><br />
<br />
Below are reported all URL fields that SIGFOX driver can process:<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Description<br />
<br />
|-<br />
<br />
|id<br />
|device ID<br />
<br />
|-<br />
<br />
|time<br />
|timestamp (in Epoch time) of the message<br />
<br />
|-<br />
<br />
|data<br />
|message content<br />
<br />
|-<br />
<br />
|seqNumber<br />
|sequential number of the message<br />
<br />
|-<br />
<br />
|batt<br />
|device battery voltage<br />
<br />
|-<br />
<br />
|temp<br />
|device temperature (C˚)<br />
<br />
|-<br />
<br />
|lqi<br />
|link quality indicator (as reported in Datapoints section)<br />
<br />
|-<br />
<br />
|deviceTypeId<br />
|the ID of the device type in which this device is grouped<br />
<br />
|}<br />
<br />
=== Device Models ===<br />
You can assign a model to each of your devices by modifying directly the file "sigfox-devices_&#60;I/O_Server_name&#62;.ini" (as described above) or using the [[SIGFOX Utility]]. By assigning a model to a device the SIGFOX driver can decode raw messages coming from that device accordingly to its communication protocol, this will generate more informations and relatives datapoints. <br />
<br />
Actually the only device model supported by SIGFOX driver is the sequent:<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Protocol<br />
<br />
|-<br />
<br />
|AlarmHubBase<br />
|Ecco Switch protocol firmware V2<br />
<br />
|-<br />
<br />
|AlarmHubStatus<br />
|Ecco Switch protocol firmware V3<br />
<br />
|}<br />
<br />
=== SIGFOX Utility ===<br />
<br />
Use the [[SIGFOX Utility]] to automatically discover new devices or configure existing ones.<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 />
|the driver is ready to accept incoming messages from Sigfox Cloud<br />
|-<br />
|offline<br />
|R<br />
|initialization of the driver failed or loop cycle failed<br />
<br />
|-<br />
<br />
|devicetype.<devicetypeId>.name<br />
|<text><br />
|R<br />
|the name of the device type corresponding to devicetypeId (only obtainable with API)<br />
<br />
|-<br />
<br />
|device.<deviceId>.devicetype<br />
|<text><br />
|R<br />
|the ID of the device type in which deviceId is grouped<br />
<br />
|-<br />
<br />
|device.<deviceId>.name<br />
|<text><br />
|R<br />
|the name of deviceId (only obtainable with API)<br />
<br />
|-<br />
<br />
|device.<deviceId>.lastseen<br />
|<ts><br />
|R<br />
|timestamp (in Epoch time) of the last message sent by deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.msg<br />
|<text><br />
|R<br />
|content of the last message sent by deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.token.end<br />
|<ts><br />
|R<br />
|deviceId token end date (in Epoch time) (only obtainable with API)<br />
<br />
|-<br />
<br />
|rowspan="5" |device.<deviceId>.lqi<br />
|0<br />
|R<br />
|rowspan="5" |link quality indicator (computed from the last message received by Sigfox Cloud). 0=limit, 1=average, 2=good, 3=excellent, 4=not available<br />
|-<br />
|1<br />
|R<br />
|-<br />
|2<br />
|R<br />
|-<br />
|3<br />
|R<br />
|-<br />
|4<br />
|R<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.tx<br />
|<val><br />
|R<br />
|battery voltage (during transmission) of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.idle<br />
|<val><br />
|R<br />
|battery voltage (in idle state) of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.temp<br />
|<val><br />
|R<br />
|internal temperature (C˚) of deviceId<br />
<br />
|}<br />
<br />
=== AlarmHubBase ===<br />
<br />
Below are reported all datapoints generated from incoming messages from '''AlarmHubBase''' model devices. Those datapoints are in addition to SIGFOX I/O Server standard datapoints.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.test<br />
|1<br />
|R<br />
|status change on button "test" of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on button "test" of deviceId<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.in.<n><br />
|1<br />
|R<br />
|status change on input <n> of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on input <n> of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.idle<br />
|<val><br />
|R<br />
|battery voltage (in idle state) of deviceId<br />
<br />
|}<br />
<br />
<br />
=== AlarmHubStatus ===<br />
<br />
Below are reported all datapoints generated from incoming messages from '''AlarmHubBase''' model devices. Those datapoints are in addition to SIGFOX I/O Server standard datapoints.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.test<br />
|1<br />
|R<br />
|status change on button "test" of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on button "test" of deviceId<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.in.<n><br />
|1<br />
|R<br />
|status change on input <n> of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on input <n> of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.idle<br />
|<val><br />
|R<br />
|battery voltage (in idle state) of deviceId<br />
<br />
|}<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
''Sigfox is a registered trademark of Sigfox S.A.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=SIGFOX&diff=10450SIGFOX2022-03-03T11:17:09Z<p>Gianluca: /* Device Models */</p>
<hr />
<div>Sigfox is a global network operator founded that builds wireless networks to connect low-power objects such as electricity meters and smartwatches, which need to be continuously on and emitting small amounts of data.<br />
This driver allows you to communicate with Sigfox Cloud in order to retrieve messages and status updates collected from devices.<br />
As reported in the Sigfox backend, each device is grouped into a device type.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== HSYCO Configuration ==<br />
Add the SIGFOX I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Authentication ===<br />
*'''User''': optional API username<br />
*'''Password''': optional API password<br />
<br />
==== Devices list file ====<br />
<br />
At the first run of SIGFOX driver a file named "sigfox-devices_&#60;I/O_Server_name&#62;.ini" will be created . This file can contain a series of line, each line represents informations of a single device and can have the following format:<br />
<br />
<pre><device_id>:name=<device_name>,model=<device_model></pre><br />
<pre><device_id>:model=<device_model>,name=<device_name></pre><br />
<pre><device_id>:name=<device_name></pre><br />
<pre><device_id>:model=<device_model></pre><br />
<pre><device_id></pre><br />
<br />
E.g. <br />
<br />
<pre>BE1234:name=homesensor,model=AlarmHubBase</pre><br />
<pre>BE1234:model=AlarmHubBase,name=homesensor</pre><br />
<pre>BE1234:name=homesensor</pre><br />
<pre>BE1234:model=AlarmHubBase</pre><br />
<pre>BE1234</pre><br />
<br />
<br />
Device id must be present in each line while name and model are optional. Device identifiers are considered as case insensitive by the SIGFOX I/O Server, so there can't be two identifiers with the same sequence of characters in upper/lower case, e.g. "BE1234" and "be1234" are considered the same.<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"|true<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"|acceptunknown<br />
|rowspan="2"|false<br />
|true<br />
|accept incoming messages from devices whose id isn't specified in sigfox-devices.ini<br />
|-<br />
|false<br />
|doesn't accept incoming messages from devices whose id isn't specified in sigfox-devices.ini<br />
<br />
|-<br />
<br />
|callbackport<br />
|4445<br />
|<portNumber><br />
|internal port used to receive incoming callback messages from Sigfox Cloud<br />
<br />
|-<br />
<br />
|callbackkey<br />
|<br />
|<text><br />
|key used in Sigfox URL callbacks to receive incoming callback messages<br />
<br />
|-<br />
<br />
|pollinterval<br />
|15000<br />
|1000<n<30000<br />
|interval (in milliseconds) between two consecutive HTTP calls to Sigfox Cloud (only for API)<br />
<br />
|}<br />
<br />
=== Device Messages ===<br />
To retrieve device messages from Sigfox Cloud you can use API and/or callbacks. API are easier to set up but they require to wait for an interval to expire (max 30 seconds) to get every new message sent by devices to Sigfox Cloud. Callbacks are a little bit tricky to set up but they allow to retrieve every new message sent by devices as soon as Sigfox Cloud receives it.<br />
<br />
==== API ====<br />
In order to use Sigfox API you have to create an API user in Sigfox backend (unless you already have an existing one), then use the newly API user credentials to set '''User''' and '''Password''' in SIGFOX I/O Server configuration.<br />
<br />
==== Callbacks ====<br />
In order to use Sigfox callback services you must have a public IP address and you need to configure your router ports to let outside traffic to get into your network to your Hsyco. You also have to set '''callbackkey''' option and '''callbackport''' option (if the default 4445 is already in use or if you are using more instances of SIGFOX driver) in SIGFOX I/O Server options. <br />
<br />
Every time Sigfox Cloud receive a message from a device it immediately propagates it to your SIGFOX driver, filling all message informations into an URL. Callback messages must be configured in Sigfox backend (you can configure callbacks for each device type associated to your account) choosing channel "URL" and composing the URL in the following format:<br />
<br />
<pre>http://<public_ip_address>:<port>/hsyco/sigfox/<I/O_server_name>?key=<callbackkey>&id={device}&field1={var1}&field2={var2}&field3={var3}...</pre><br />
<br />
<port> is the public port opened on your router, <callbackkey> corresponds to '''callbackkey''' option of SIGFOX I/O Server. The URL fields "key" and "id" must be always present. The URL fields "field1", "field2", "field3", etc.. are optionals and can be set accordingly to the type of callback you are configuring in Sigfox backend; fields order is irrelevant. URL fields must be separated with '&' character.<br />
<br />
E.g.<br />
<br />
<pre>http://93.45.12.54:7777/hsyco/sigfox/sgfx?key=Abc1234&id={device}&time={time}&data={data}&seqNumber={seqNumber}</pre><br />
<br />
Below are reported all URL fields that SIGFOX driver can process:<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Description<br />
<br />
|-<br />
<br />
|id<br />
|device ID<br />
<br />
|-<br />
<br />
|time<br />
|timestamp (in Epoch time) of the message<br />
<br />
|-<br />
<br />
|data<br />
|message content<br />
<br />
|-<br />
<br />
|seqNumber<br />
|sequential number of the message<br />
<br />
|-<br />
<br />
|batt<br />
|device battery voltage<br />
<br />
|-<br />
<br />
|temp<br />
|device temperature (C˚)<br />
<br />
|-<br />
<br />
|lqi<br />
|link quality indicator (as reported in Datapoints section)<br />
<br />
|-<br />
<br />
|deviceTypeId<br />
|the ID of the device type in which this device is grouped<br />
<br />
|}<br />
<br />
=== Device Models ===<br />
You can assign a model to each of your devices by modifying directly the file "sigfox-devices_&#60;I/O_Server_name&#62;.ini" (as described above) or using the [[SIGFOX Utility]]. By assigning a model to a device the SIGFOX driver can decode raw messages coming from that device accordingly to its communication protocol, this will generate more informations and relatives datapoints. <br />
<br />
Actually the only device model supported by SIGFOX driver is the sequent:<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Protocol<br />
<br />
|-<br />
<br />
|AlarmHubBase<br />
|Ecco Switch protocol firmware V2<br />
<br />
|-<br />
<br />
|AlarmHubStatus<br />
|Ecco Switch protocol firmware V3<br />
<br />
|}<br />
<br />
=== SIGFOX Utility ===<br />
<br />
Use the [[SIGFOX Utility]] to automatically discover new devices or configure existing ones.<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 />
|the driver is ready to accept incoming messages from Sigfox Cloud<br />
|-<br />
|offline<br />
|R<br />
|initialization of the driver failed or loop cycle failed<br />
<br />
|-<br />
<br />
|devicetype.<devicetypeId>.name<br />
|<text><br />
|R<br />
|the name of the device type corresponding to devicetypeId (only obtainable with API)<br />
<br />
|-<br />
<br />
|device.<deviceId>.devicetype<br />
|<text><br />
|R<br />
|the ID of the device type in which deviceId is grouped<br />
<br />
|-<br />
<br />
|device.<deviceId>.name<br />
|<text><br />
|R<br />
|the name of deviceId (only obtainable with API)<br />
<br />
|-<br />
<br />
|device.<deviceId>.lastseen<br />
|<ts><br />
|R<br />
|timestamp (in Epoch time) of the last message sent by deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.msg<br />
|<text><br />
|R<br />
|content of the last message sent by deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.token.end<br />
|<ts><br />
|R<br />
|deviceId token end date (in Epoch time) (only obtainable with API)<br />
<br />
|-<br />
<br />
|rowspan="5" |device.<deviceId>.lqi<br />
|0<br />
|R<br />
|rowspan="5" |link quality indicator (computed from the last message received by Sigfox Cloud). 0=limit, 1=average, 2=good, 3=excellent, 4=not available<br />
|-<br />
|1<br />
|R<br />
|-<br />
|2<br />
|R<br />
|-<br />
|3<br />
|R<br />
|-<br />
|4<br />
|R<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.tx<br />
|<val><br />
|R<br />
|battery voltage (during transmission) of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.idle<br />
|<val><br />
|R<br />
|battery voltage (in idle state) of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.temp<br />
|<val><br />
|R<br />
|internal temperature (C˚) of deviceId<br />
<br />
|}<br />
<br />
=== eccoswitch ===<br />
<br />
Below are reported all datapoints generated from incoming messages from '''eccoswitch''' model devices. Those datapoints are in addition to SIGFOX I/O Server standard datapoints.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.test<br />
|1<br />
|R<br />
|status change on button "test" of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on button "test" of deviceId<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.in.<n><br />
|1<br />
|R<br />
|status change on input <n> of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on input <n> of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.idle<br />
|<val><br />
|R<br />
|battery voltage (in idle state) of deviceId<br />
<br />
|}<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
''Sigfox is a registered trademark of Sigfox S.A.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=SIGFOX&diff=10449SIGFOX2022-03-03T11:14:51Z<p>Gianluca: </p>
<hr />
<div>Sigfox is a global network operator founded that builds wireless networks to connect low-power objects such as electricity meters and smartwatches, which need to be continuously on and emitting small amounts of data.<br />
This driver allows you to communicate with Sigfox Cloud in order to retrieve messages and status updates collected from devices.<br />
As reported in the Sigfox backend, each device is grouped into a device type.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== HSYCO Configuration ==<br />
Add the SIGFOX I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Authentication ===<br />
*'''User''': optional API username<br />
*'''Password''': optional API password<br />
<br />
==== Devices list file ====<br />
<br />
At the first run of SIGFOX driver a file named "sigfox-devices_&#60;I/O_Server_name&#62;.ini" will be created . This file can contain a series of line, each line represents informations of a single device and can have the following format:<br />
<br />
<pre><device_id>:name=<device_name>,model=<device_model></pre><br />
<pre><device_id>:model=<device_model>,name=<device_name></pre><br />
<pre><device_id>:name=<device_name></pre><br />
<pre><device_id>:model=<device_model></pre><br />
<pre><device_id></pre><br />
<br />
E.g. <br />
<br />
<pre>BE1234:name=homesensor,model=AlarmHubBase</pre><br />
<pre>BE1234:model=AlarmHubBase,name=homesensor</pre><br />
<pre>BE1234:name=homesensor</pre><br />
<pre>BE1234:model=AlarmHubBase</pre><br />
<pre>BE1234</pre><br />
<br />
<br />
Device id must be present in each line while name and model are optional. Device identifiers are considered as case insensitive by the SIGFOX I/O Server, so there can't be two identifiers with the same sequence of characters in upper/lower case, e.g. "BE1234" and "be1234" are considered the same.<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"|true<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"|acceptunknown<br />
|rowspan="2"|false<br />
|true<br />
|accept incoming messages from devices whose id isn't specified in sigfox-devices.ini<br />
|-<br />
|false<br />
|doesn't accept incoming messages from devices whose id isn't specified in sigfox-devices.ini<br />
<br />
|-<br />
<br />
|callbackport<br />
|4445<br />
|<portNumber><br />
|internal port used to receive incoming callback messages from Sigfox Cloud<br />
<br />
|-<br />
<br />
|callbackkey<br />
|<br />
|<text><br />
|key used in Sigfox URL callbacks to receive incoming callback messages<br />
<br />
|-<br />
<br />
|pollinterval<br />
|15000<br />
|1000<n<30000<br />
|interval (in milliseconds) between two consecutive HTTP calls to Sigfox Cloud (only for API)<br />
<br />
|}<br />
<br />
=== Device Messages ===<br />
To retrieve device messages from Sigfox Cloud you can use API and/or callbacks. API are easier to set up but they require to wait for an interval to expire (max 30 seconds) to get every new message sent by devices to Sigfox Cloud. Callbacks are a little bit tricky to set up but they allow to retrieve every new message sent by devices as soon as Sigfox Cloud receives it.<br />
<br />
==== API ====<br />
In order to use Sigfox API you have to create an API user in Sigfox backend (unless you already have an existing one), then use the newly API user credentials to set '''User''' and '''Password''' in SIGFOX I/O Server configuration.<br />
<br />
==== Callbacks ====<br />
In order to use Sigfox callback services you must have a public IP address and you need to configure your router ports to let outside traffic to get into your network to your Hsyco. You also have to set '''callbackkey''' option and '''callbackport''' option (if the default 4445 is already in use or if you are using more instances of SIGFOX driver) in SIGFOX I/O Server options. <br />
<br />
Every time Sigfox Cloud receive a message from a device it immediately propagates it to your SIGFOX driver, filling all message informations into an URL. Callback messages must be configured in Sigfox backend (you can configure callbacks for each device type associated to your account) choosing channel "URL" and composing the URL in the following format:<br />
<br />
<pre>http://<public_ip_address>:<port>/hsyco/sigfox/<I/O_server_name>?key=<callbackkey>&id={device}&field1={var1}&field2={var2}&field3={var3}...</pre><br />
<br />
<port> is the public port opened on your router, <callbackkey> corresponds to '''callbackkey''' option of SIGFOX I/O Server. The URL fields "key" and "id" must be always present. The URL fields "field1", "field2", "field3", etc.. are optionals and can be set accordingly to the type of callback you are configuring in Sigfox backend; fields order is irrelevant. URL fields must be separated with '&' character.<br />
<br />
E.g.<br />
<br />
<pre>http://93.45.12.54:7777/hsyco/sigfox/sgfx?key=Abc1234&id={device}&time={time}&data={data}&seqNumber={seqNumber}</pre><br />
<br />
Below are reported all URL fields that SIGFOX driver can process:<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Description<br />
<br />
|-<br />
<br />
|id<br />
|device ID<br />
<br />
|-<br />
<br />
|time<br />
|timestamp (in Epoch time) of the message<br />
<br />
|-<br />
<br />
|data<br />
|message content<br />
<br />
|-<br />
<br />
|seqNumber<br />
|sequential number of the message<br />
<br />
|-<br />
<br />
|batt<br />
|device battery voltage<br />
<br />
|-<br />
<br />
|temp<br />
|device temperature (C˚)<br />
<br />
|-<br />
<br />
|lqi<br />
|link quality indicator (as reported in Datapoints section)<br />
<br />
|-<br />
<br />
|deviceTypeId<br />
|the ID of the device type in which this device is grouped<br />
<br />
|}<br />
<br />
=== Device Models ===<br />
You can assign a model to each of your devices by modifying directly the file "sigfox-devices_&#60;I/O_Server_name&#62;.ini" (as described above) or using the [[SIGFOX Utility]]. By assigning a model to a device the SIGFOX driver can decode raw messages coming from that device accordingly to its communication protocol, this will generate more informations and relatives datapoints. <br />
<br />
Actually the only device model supported by SIGFOX driver is the sequent:<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Protocol<br />
<br />
|-<br />
<br />
|eccoswitch<br />
|Ecco Switch protocol firmware V2<br />
<br />
|}<br />
<br />
=== SIGFOX Utility ===<br />
<br />
Use the [[SIGFOX Utility]] to automatically discover new devices or configure existing ones.<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 />
|the driver is ready to accept incoming messages from Sigfox Cloud<br />
|-<br />
|offline<br />
|R<br />
|initialization of the driver failed or loop cycle failed<br />
<br />
|-<br />
<br />
|devicetype.<devicetypeId>.name<br />
|<text><br />
|R<br />
|the name of the device type corresponding to devicetypeId (only obtainable with API)<br />
<br />
|-<br />
<br />
|device.<deviceId>.devicetype<br />
|<text><br />
|R<br />
|the ID of the device type in which deviceId is grouped<br />
<br />
|-<br />
<br />
|device.<deviceId>.name<br />
|<text><br />
|R<br />
|the name of deviceId (only obtainable with API)<br />
<br />
|-<br />
<br />
|device.<deviceId>.lastseen<br />
|<ts><br />
|R<br />
|timestamp (in Epoch time) of the last message sent by deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.msg<br />
|<text><br />
|R<br />
|content of the last message sent by deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.token.end<br />
|<ts><br />
|R<br />
|deviceId token end date (in Epoch time) (only obtainable with API)<br />
<br />
|-<br />
<br />
|rowspan="5" |device.<deviceId>.lqi<br />
|0<br />
|R<br />
|rowspan="5" |link quality indicator (computed from the last message received by Sigfox Cloud). 0=limit, 1=average, 2=good, 3=excellent, 4=not available<br />
|-<br />
|1<br />
|R<br />
|-<br />
|2<br />
|R<br />
|-<br />
|3<br />
|R<br />
|-<br />
|4<br />
|R<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.tx<br />
|<val><br />
|R<br />
|battery voltage (during transmission) of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.idle<br />
|<val><br />
|R<br />
|battery voltage (in idle state) of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.temp<br />
|<val><br />
|R<br />
|internal temperature (C˚) of deviceId<br />
<br />
|}<br />
<br />
=== eccoswitch ===<br />
<br />
Below are reported all datapoints generated from incoming messages from '''eccoswitch''' model devices. Those datapoints are in addition to SIGFOX I/O Server standard datapoints.<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Value<br />
!R/W<br />
!Description<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.test<br />
|1<br />
|R<br />
|status change on button "test" of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on button "test" of deviceId<br />
<br />
|-<br />
<br />
|rowspan="2" |device.<deviceId>.msg.in.<n><br />
|1<br />
|R<br />
|status change on input <n> of deviceId<br />
|-<br />
|0<br />
|R<br />
|no status change on input <n> of deviceId<br />
<br />
|-<br />
<br />
|device.<deviceId>.batt.idle<br />
|<val><br />
|R<br />
|battery voltage (in idle state) of deviceId<br />
<br />
|}<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
''Sigfox is a registered trademark of Sigfox S.A.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=UserList&diff=10448UserList2022-02-18T08:39:29Z<p>Gianluca: /* UserList attributes */</p>
<hr />
<div>{{UI Object Header}}<br />
A panel with a list of items that work like [[user|user buttons]], used to execute customized Java code or generate events for the EVENTS interpreter.<br />
<br />
Pressing an item of the list, HSYCO calls the method:<br />
:userCommand(String name, String param)<br />
in the user.class class. HSYCO also executes all actions associated to the event:<br />
:USER name=param<br />
defined in EVENTS.<br />
<br />
If the repeat parameter is "true", a long press will repeat the request every second.<br />
<br />
For a tutorial on how to use this object see [[Working with User objects]].<br />
<br />
[[File:UI Object userlist.png]]<br />
<br />
== Parameters ==<br />
*'''id''': the object's ID, used by UISets<br />
*'''name''': name passed to the Java callback method and event in EVENTS<br />
*'''parameters''': comma-separated list of the parameters passed to the Java callback method and event in EVENTS<br />
*'''labels''': comma-separated list of labels corresponding to the parameters. If missing, parameters will be shown instead <br />
*'''position''': the object's position. Use the pixels or rows and columns coordinates format<br />
*'''size''': the panel's width and height <br />
*'''css''': optional. Defines the CSS style for the input field<br />
*'''repeat''': if "enabled", the command will be repeat every second<br />
*'''template''': optional, html template to be used for each item<br />
<br />
== Syntax ==<br />
(userlist!<id> <name>; <parameters>; <labels>; <position>; <width>; <height>; <css>; <repeat>; <template>)<br />
E.g.<br />
(userlist!myuserlist name; p1,p2,p3; user one,user two,user three; r1c1; 220; 224; font-size:16px; enabled;)<br />
<br />
{{UI Object Template}}<br />
<br />
== UI Attributes ==<br />
{{UI Object Attributes (Common)}}<br />
===UserList attributes===<br />
{| class="wikitable"<br />
!Name<br />
!Value<br />
!Description<br />
|-<br />
<br />
|rowspan="2"|enabled<br />
|true<br />
|Object is enabled<br />
|-<br />
|false<br />
|Object is disabled<br />
|-<br />
<br />
|rowspan="2"|focus<br />
|true<br />
|Focus the object. Only a single object should have this attribute at "true".<br />
|-<br />
|false<br />
|Reset focus<br />
|-<br />
<br />
|rowspan="2"|error<br />
|true<br />
|Manually shows an error feedback on the panel.<br />
|-<br />
|false<br />
|Hides the error visualization.<br />
|-<br />
<br />
|name<br />
|string<br />
|UserList name<br />
|-<br />
<br />
|parameters<br />
|comma-separated list of strings<br />
|Parameters<br />
|-<br />
<br />
|values<br />
|comma-separated list of strings<br />
|UserList values<br />
|-<br />
<br />
|labels<br />
|comma-separated list of strings<br />
|UserList labels<br />
|-<br />
<br />
|width<br />
|number of pixels<br />
|Set the object's width<br />
|-<br />
<br />
|height<br />
|number of pixels<br />
|Set the object's height<br />
|-<br />
<br />
|rowspan="2"|panel<br />
|true<br />
|Show background panel<br />
|-<br />
|false<br />
|Hide background panel<br />
|-<br />
<br />
|template<br />
|html code<br />
|Set the item's template<br />
|-<br />
<br />
|}</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5&diff=10426Alert52022-02-02T11:02:39Z<p>Gianluca: /* Datapoints */</p>
<hr />
<div>Felma's Alert5 is a supervisor system that can control anti-intrusion, fire prevention, access control and TVCC systems. The communication with HSYCO is via HTTP protocol.<br />
<br />
== HSYCO Configuration ==<br />
Add the ALERT5 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''': host name or IP address of the supervisor<br />
*'''IP Port''': TCP/IP port assigned to the supervisor<br />
<br />
=== Authentication ===<br />
*'''User''': username to access the supervisor<br />
*'''Password''': password to access the supervisor<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 />
|pollinterval<br />
|1000<br />
|n > 1000<br />
|the data acquisition interval, in milliseconds<br />
<br />
|-<br />
<br />
|logsize<br />
|300<br />
|n &ge; 0<br />
|the number of log lines to display in the UI object<br />
<br />
|}<br />
<br />
<br />
<br />
== Datapoints ==<br />
<br />
The hierarchical structure is: System > Area > Device (every system can contain multiple areas and every area can contain multiple devices)<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 />
|the driver started correctly<br />
|-<br />
|offline<br />
|R<br />
|the driver didn't start correctly or loop cycle failed<br />
<br />
|-<br />
<br />
|global.error<br />
|<num><br />
|R<br />
|error code, 0 means no error<br />
<br />
|-<br />
<br />
|global.desc<br />
|<text><br />
|R<br />
|error description, OK means no error<br />
<br />
|-<br />
<br />
|global.api.name<br />
|<text><br />
|R<br />
|current API name<br />
<br />
|-<br />
<br />
|global.api.version<br />
|<val><br />
|R<br />
|current API version<br />
<br />
|-<br />
<br />
|sys.<sys_id>.desc<br />
|<text><br />
|R<br />
|description of sys_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.type<br />
|<text><br />
|R<br />
|type of sys_id<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.connection<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not online (logical state)<br />
|-<br />
|1<br />
|R<br />
|sys_id online (logical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.system<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not online (physical state)<br />
|-<br />
|1<br />
|R<br />
|sys_id online (physical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|sys_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id ok<br />
|-<br />
|1<br />
|R<br />
|sys_id fault<br />
<br />
|-<br />
<br />
|sys.<sys_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to sys_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.desc<br />
|<text><br />
|R<br />
|description of area_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.code<br />
|<num><br />
|R<br />
|code of area_id<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.connection<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id disarmed (logical state)<br />
|-<br />
|1<br />
|R<br />
|area_id armed (logical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.area<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id disarmed (physical state)<br />
|-<br />
|1<br />
|R<br />
|area_id armed (physical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|area_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id ok<br />
|-<br />
|1<br />
|R<br />
|area_id fault<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to area_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.dev.<dev_id>.desc<br />
|<text><br />
|R<br />
|description of dev_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.dev.<dev_id>.code<br />
|<num><br />
|R<br />
|code of dev_id<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.dev.<dev_id>.status.bypass<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id is bypassed<br />
|-<br />
|1<br />
|R<br />
|area_id armed<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.dev.<dev_id>.status.open<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id is closed (or is not active)<br />
|-<br />
|1<br />
|R<br />
|dev_id is open (or is active)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.dev.<dev_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|dev_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.dev.<dev_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id ok<br />
|-<br />
|1<br />
|R<br />
|dev_id fault<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to dev_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for sys_id<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for area_id<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for dev_id<br />
<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== Alert5 Object ===<br />
<br />
{{:Alert5_(I/O Server Object)}}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
<br />
|-<br />
<br />
|log<br />
|<text><br />
|colspan="2"|latest security log lines (as many as specified by the 'logsize' option)<br />
<br />
|-<br />
<br />
|log0<br />
|<text><br />
|colspan="2"|latest security log (it will vanish after 5 seconds)<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.bypass<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id bypassed<br />
|-<br />
|false<br />
|dev_id not not bypassed<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.open<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id active<br />
|-<br />
|false<br />
|dev_id not not active<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.alarm<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id in alarm<br />
|-<br />
|false<br />
|dev_id not not in alarm<br />
<br />
|}<br />
<br />
== Log Files ==<br />
If a ALERT5 I/O Server 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 />
2021.09.10 11:02:17.357 - alert5 - HSYCO ONLINE<br />
2021.09.10 11:44:08.740 - alert5 - 10-09-2021 11:44:07 | Evento: Transazione valida in ingresso, Apparato: GESTIONE ACCESSI CED, Area: RETRO FELMA, Dispositivo: RETRO FELMA, Anagrafica: FRIGERIO GIANNI<br />
2021.09.10 11:44:25.923 - alert5 - 10-09-2021 11:44:25 | Evento: Transazione valida in ingresso, Apparato: GESTIONE ACCESSI CED, Area: PORTONE SCORREVOLE, Dispositivo: PORTONE SCORREVOLE, Anagrafica: CIONI MATTEO<br />
</pre><br />
<br />
Other information about the ALERT5 driver are stored in the message.log daily file.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''Alert5 is a registered trademark of Felma S.r.l.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access&diff=10387Wolf8Access2021-10-08T15:50:41Z<p>Gianluca: /* UISET Actions */</p>
<hr />
<div>HSYCO integrates the 8Access system by Wolf Safety through USB or Ethernet connection.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
=== W-LAN (or WP-LAN) module ===<br />
<br />
==== Protocol version 3.xx or lower ====<br />
<br />
If using the W-LAN Ethernet module, it must be configured using the '''Tibbo DS Manager''' tool.<br/><br />
You need to set its static IP address, port (default 1001) and serial communication parameters.<br/><br />
For the serial parameter, go to ''Settings > Channel1 tab'' and set the parameters as shown in the table below.<br />
<br />
==== Protocol version 4.xx or higher ====<br />
<br />
If using the WP-LAN Ethernet module the system works in DHCP mode, so you cannot set a static IP address. If you want a static IP address on your module please contact Wolf assistance before buying it.<br />
<br />
You have to set the serial number of the Wolf8Access MIND module in the I/O Server options.<br />
<br />
=== W-USB module ===<br />
<br />
If using the W-USB module, just configure HSYCO to use the following serial parameters:<br />
<br />
{| class="wikitable"<br />
| '''Baud rate'''<br />
| 115200<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 />
== HSYCO Configuration ==<br />
Add a WOLF8ACCESS 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 />
If using USB connection (W-USB module) crate a ''serial'' Comm port, otherwise, if using the Ethernet adapter (W-LAN module or WP-LAN), crate a ''server'' Comm port. For version 4.xx or higher, communication with the WP-LAN module implies TCP/IP protocol on port 8000.<br />
<br />
=== Authentication ===<br />
*'''Password''': wolf system 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 />
|serialnum<br />
|<br />
|<val><br />
|serial number of the Wolf8Access MIND board. Leave it empty for protocol 3.xx or lower<br />
<br />
|}<br />
<br />
<br />
=== Wolf8Access Utility ===<br />
<br />
Use the [[Wolf8Access Utility]] to automatically discover new keys or configure existing ones.<br />
<br />
== Datapoints ==<br />
<br />
Peripherals' numbers (p<n>) range from 0 to 7.<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 device<br />
<br />
|-<br />
<br />
|p<n>.key<br />
|<pos><br />
|R<br />
|peripheral <n> read the key saved in memory position <pos><br />
<br />
|-<br />
<br />
|rowspan="3" |p<n>.open<br />
|rowspan="2" |1<br />
|R<br />
|peripheral <n>'s door is open<br />
|-<br />
|W<br />
|open peripheral <n>'s relay<br />
|-<br />
|0<br />
|R<br />
|peripheral <n>'s door is closed<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.blocked<br />
|rowspan="2" |1<br />
|R<br />
|peripheral <n> is blocked (all non-manager keys disabled)<br />
|-<br />
|W<br />
|block peripheral <n> (disable all non-manager keys)<br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|peripheral <n> is un-blocked (all non-manager keys restored)<br />
|-<br />
|W<br />
|un-block peripheral <n> (restore all non-manager keys)<br />
<br />
|-<br />
<br />
|p<n>.k<m><br />
|erase<br />
|W<br />
|erase the key specified at position <m> from peripheral <n>'s memory<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.k<m>.blocked<br />
|rowspan="2" |1<br />
|R<br />
|key in memory position <m> of peripheral <n> is disabled<br />
|-<br />
|W<br />
|disable key in memory position <m> of peripheral <n><br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|key in memory position <m> of peripheral <n> is enabled<br />
|-<br />
|W<br />
|enable key in memory position <m> of peripheral <n><br />
<br />
|-<br />
<br />
|p<n>.k<m>.sn<br />
|<val><br />
|R<br />
|the serial number of the key in memory position <m> of peripheral <n> is <val>. Updated only at startup and after a call to p<n>.mem = read<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.k<m>.manager<br />
|1<br />
|R<br />
|the key in memory position <m> of peripheral <n> is a manager key. Updated only at startup and after a call to p<n>.mem = read<br />
|-<br />
|0<br />
|R<br />
|the key in memory position <m> of peripheral <n> is a regular key. Updated only at startup and after a call to p<n>.mem = read<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.mem<br />
|add<br />
|W<br />
|instruct peripheral <n> to add to memory the next read key<br />
|-<br />
|read<br />
|W<br />
|request to peripheral <n> the list of saved keys (see p<n>.k<m>.sn and p<n>.k<m>.manager datapoints)<br />
|-<br />
|clear<br />
|W<br />
|clear peripheral <n>'s memory<br />
|-<br />
|refresh<br />
|W<br />
|refresh peripheral <n>'s memory erasing all disabled keys<br />
<br />
|-<br />
<br />
|p<n>.mem.ok<br />
|<pos><br />
|R<br />
|the read key has been correctly saved in memory position <pos><br />
<br />
|-<br />
<br />
|p<n>.mem.err<br />
|<pos><br />
|R<br />
|the read key was already saved in memory position <pos><br />
<br />
|-<br />
<br />
|p<n>.mem.full<br />
|<val><br />
|R<br />
|the memory of peripheral <n> is full and it contains <val> keys<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.free<br />
|<val><br />
|R<br />
|peripheral <n> has <val> key slots available in its memory. Updated only after a "read" request<br />
|-<br />
|read<br />
|W<br />
|request the reading of available memory on peripheral <n><br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.clear<br />
|1<br />
|R<br />
|the memory of peripheral <n> has been cleared<br />
|-<br />
|0<br />
|R<br />
|error while clearing the memory of peripheral <n><br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.refresh<br />
|1<br />
|R<br />
|the memory of peripheral <n> has been refreshed<br />
|-<br />
|0<br />
|R<br />
|error while refreshing the memory of peripheral <n><br />
<br />
|-<br />
<br />
|p<n>.alarm.forced<br />
|1<br />
|R<br />
|door forced alarm<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.alarm.comm<br />
|1<br />
|R<br />
|communication error with peripheral <n><br />
|-<br />
|0<br />
|R<br />
|communication with peripheral <n> restored<br />
<br />
|-<br />
<br />
|p<n>.copy<br />
|<n1>:<from>:<to><br />
|W<br />
|copy to peripheral <n>'s memory all the keys in the specified range (<from> - <to>) of peripheral <n1>'s memory. (e.g. p1.copy = 0:10:20)<br />
<br />
|-<br />
<br />
|rowspan="3" |p<n>.reltime<br />
|rowspan="2" |<val><br />
|R<br />
|the relay time of peripheral <n> is set to <val>, in sec/10<br />
|-<br />
|W<br />
|set the relay time of peripheral <n> to <val>, in sec/10 (max 65535 = 109 min)<br />
|-<br />
|M<br />
|R<br />
|peripheral <n>'s relay is set as monostable<br />
<br />
|-<br />
<br />
|rowspan="3" |time<br />
|rowspan="2" |<val><br />
|R<br />
|time and date set on the module, value format: "yyyy-mm-dd hh:mm:ss". Updated only after a "read" request<br />
|-<br />
|W<br />
|set the module's time and date, value format: "yyyy-mm-dd hh:mm:ss"<br />
|-<br />
|read<br />
|W<br />
|request the module's time and date<br />
<br />
|}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
<br />
|-<br />
<br />
|log<br />
|<text><br />
|colspan="2"|latest access log lines (500)<br />
<br />
|-<br />
<br />
|log0<br />
|<text><br />
|colspan="2"|most recent log line<br />
<br />
|}<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*support for protocol versions 4.xx and 5.xx<br />
<br />
=== 3.7.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''WOLF SAFETY is a registered trade mark of ELP s.n.c.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access&diff=10386Wolf8Access2021-10-08T13:41:05Z<p>Gianluca: /* UISET Actions */</p>
<hr />
<div>HSYCO integrates the 8Access system by Wolf Safety through USB or Ethernet connection.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
=== W-LAN (or WP-LAN) module ===<br />
<br />
==== Protocol version 3.xx or lower ====<br />
<br />
If using the W-LAN Ethernet module, it must be configured using the '''Tibbo DS Manager''' tool.<br/><br />
You need to set its static IP address, port (default 1001) and serial communication parameters.<br/><br />
For the serial parameter, go to ''Settings > Channel1 tab'' and set the parameters as shown in the table below.<br />
<br />
==== Protocol version 4.xx or higher ====<br />
<br />
If using the WP-LAN Ethernet module the system works in DHCP mode, so you cannot set a static IP address. If you want a static IP address on your module please contact Wolf assistance before buying it.<br />
<br />
You have to set the serial number of the Wolf8Access MIND module in the I/O Server options.<br />
<br />
=== W-USB module ===<br />
<br />
If using the W-USB module, just configure HSYCO to use the following serial parameters:<br />
<br />
{| class="wikitable"<br />
| '''Baud rate'''<br />
| 115200<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 />
== HSYCO Configuration ==<br />
Add a WOLF8ACCESS 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 />
If using USB connection (W-USB module) crate a ''serial'' Comm port, otherwise, if using the Ethernet adapter (W-LAN module or WP-LAN), crate a ''server'' Comm port. For version 4.xx or higher, communication with the WP-LAN module implies TCP/IP protocol on port 8000.<br />
<br />
=== Authentication ===<br />
*'''Password''': wolf system 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 />
|serialnum<br />
|<br />
|<val><br />
|serial number of the Wolf8Access MIND board. Leave it empty for protocol 3.xx or lower<br />
<br />
|}<br />
<br />
<br />
=== Wolf8Access Utility ===<br />
<br />
Use the [[Wolf8Access Utility]] to automatically discover new keys or configure existing ones.<br />
<br />
== Datapoints ==<br />
<br />
Peripherals' numbers (p<n>) range from 0 to 7.<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 device<br />
<br />
|-<br />
<br />
|p<n>.key<br />
|<pos><br />
|R<br />
|peripheral <n> read the key saved in memory position <pos><br />
<br />
|-<br />
<br />
|rowspan="3" |p<n>.open<br />
|rowspan="2" |1<br />
|R<br />
|peripheral <n>'s door is open<br />
|-<br />
|W<br />
|open peripheral <n>'s relay<br />
|-<br />
|0<br />
|R<br />
|peripheral <n>'s door is closed<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.blocked<br />
|rowspan="2" |1<br />
|R<br />
|peripheral <n> is blocked (all non-manager keys disabled)<br />
|-<br />
|W<br />
|block peripheral <n> (disable all non-manager keys)<br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|peripheral <n> is un-blocked (all non-manager keys restored)<br />
|-<br />
|W<br />
|un-block peripheral <n> (restore all non-manager keys)<br />
<br />
|-<br />
<br />
|p<n>.k<m><br />
|erase<br />
|W<br />
|erase the key specified at position <m> from peripheral <n>'s memory<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.k<m>.blocked<br />
|rowspan="2" |1<br />
|R<br />
|key in memory position <m> of peripheral <n> is disabled<br />
|-<br />
|W<br />
|disable key in memory position <m> of peripheral <n><br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|key in memory position <m> of peripheral <n> is enabled<br />
|-<br />
|W<br />
|enable key in memory position <m> of peripheral <n><br />
<br />
|-<br />
<br />
|p<n>.k<m>.sn<br />
|<val><br />
|R<br />
|the serial number of the key in memory position <m> of peripheral <n> is <val>. Updated only at startup and after a call to p<n>.mem = read<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.k<m>.manager<br />
|1<br />
|R<br />
|the key in memory position <m> of peripheral <n> is a manager key. Updated only at startup and after a call to p<n>.mem = read<br />
|-<br />
|0<br />
|R<br />
|the key in memory position <m> of peripheral <n> is a regular key. Updated only at startup and after a call to p<n>.mem = read<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.mem<br />
|add<br />
|W<br />
|instruct peripheral <n> to add to memory the next read key<br />
|-<br />
|read<br />
|W<br />
|request to peripheral <n> the list of saved keys (see p<n>.k<m>.sn and p<n>.k<m>.manager datapoints)<br />
|-<br />
|clear<br />
|W<br />
|clear peripheral <n>'s memory<br />
|-<br />
|refresh<br />
|W<br />
|refresh peripheral <n>'s memory erasing all disabled keys<br />
<br />
|-<br />
<br />
|p<n>.mem.ok<br />
|<pos><br />
|R<br />
|the read key has been correctly saved in memory position <pos><br />
<br />
|-<br />
<br />
|p<n>.mem.err<br />
|<pos><br />
|R<br />
|the read key was already saved in memory position <pos><br />
<br />
|-<br />
<br />
|p<n>.mem.full<br />
|<val><br />
|R<br />
|the memory of peripheral <n> is full and it contains <val> keys<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.free<br />
|<val><br />
|R<br />
|peripheral <n> has <val> key slots available in its memory. Updated only after a "read" request<br />
|-<br />
|read<br />
|W<br />
|request the reading of available memory on peripheral <n><br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.clear<br />
|1<br />
|R<br />
|the memory of peripheral <n> has been cleared<br />
|-<br />
|0<br />
|R<br />
|error while clearing the memory of peripheral <n><br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.refresh<br />
|1<br />
|R<br />
|the memory of peripheral <n> has been refreshed<br />
|-<br />
|0<br />
|R<br />
|error while refreshing the memory of peripheral <n><br />
<br />
|-<br />
<br />
|p<n>.alarm.forced<br />
|1<br />
|R<br />
|door forced alarm<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.alarm.comm<br />
|1<br />
|R<br />
|communication error with peripheral <n><br />
|-<br />
|0<br />
|R<br />
|communication with peripheral <n> restored<br />
<br />
|-<br />
<br />
|p<n>.copy<br />
|<n1>:<from>:<to><br />
|W<br />
|copy to peripheral <n>'s memory all the keys in the specified range (<from> - <to>) of peripheral <n1>'s memory. (e.g. p1.copy = 0:10:20)<br />
<br />
|-<br />
<br />
|rowspan="3" |p<n>.reltime<br />
|rowspan="2" |<val><br />
|R<br />
|the relay time of peripheral <n> is set to <val>, in sec/10<br />
|-<br />
|W<br />
|set the relay time of peripheral <n> to <val>, in sec/10 (max 65535 = 109 min)<br />
|-<br />
|M<br />
|R<br />
|peripheral <n>'s relay is set as monostable<br />
<br />
|-<br />
<br />
|rowspan="3" |time<br />
|rowspan="2" |<val><br />
|R<br />
|time and date set on the module, value format: "yyyy-mm-dd hh:mm:ss". Updated only after a "read" request<br />
|-<br />
|W<br />
|set the module's time and date, value format: "yyyy-mm-dd hh:mm:ss"<br />
|-<br />
|read<br />
|W<br />
|request the module's time and date<br />
<br />
|}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
<br />
|-<br />
<br />
|<Wolf8Access IO Server name>.log<br />
|<text><br />
|colspan="2"|latest access log lines (500)<br />
<br />
|-<br />
<br />
|<Wolf8Access IO Server name>.log0<br />
|<text><br />
|colspan="2"|most recent log line<br />
<br />
|}<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*support for protocol versions 4.xx and 5.xx<br />
<br />
=== 3.7.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''WOLF SAFETY is a registered trade mark of ELP s.n.c.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Netatmo&diff=10385Netatmo2021-10-06T13:55:04Z<p>Gianluca: /* 3.8.0 */</p>
<hr />
<div>This driver can read status and control Netatmo smart radiator valves using HTTPS protocol.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Netatmo Configuration ==<br />
Firstly you have to sign up on https://www.netatmo.com/en-us and complete your profile.<br />
<br />
When you have created your account go to https://dev.netatmo.com and log in with your credentials, then go to section "My Apps" and create a new app (this procedure serves only for obtaining the two keys "client ID" and "client secret" that are necessary for the driver execution).<br />
<br />
If the App creation is successful you will receive the "client ID" and "client secret" keys from Netatmo, you can find them in your App section.<br />
<br />
== HSYCO Configuration ==<br />
Add the Netatmo I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Authentication ===<br />
*'''User''': your Netatmo account username<br />
*'''Password''': your Netatmo account password<br />
<br />
<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 />
|pollinterval<br />
|1000<br />
|n >= 100<br />
|data acquisition interval, in milliseconds, from the power socket<br />
<br />
|-<br />
<br />
|clientid<br />
|<br />
|<key><br />
|"client ID" key sent from Netatmo, you can find it on https://dev.netatmo.com in your App section. ATTENTION: this field is mandatory<br />
<br />
|-<br />
<br />
|clientsecret<br />
|<br />
|<key><br />
|"client secret" key sent from Netatmo, you can find it on https://dev.netatmo.com in your App section. ATTENTION: this field is mandatory<br />
<br />
|}<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 />
|the driver has started correctly and is communicating with Netatmo API<br />
|-<br />
|offline<br />
|R<br />
|initialization of the driver failed or loop cycle failed<br />
<br />
|-<br />
<br />
|home.<home_id>.name<br />
|<text><br />
|R<br />
|name of your Netatmo home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.status<br />
|<text><br />
|R<br />
|general status of home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.name<br />
|<text><br />
|R<br />
|name of room_id associated to home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.type<br />
|<text><br />
|R<br />
|type of room_id associated to home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.module.<module_id>.name<br />
|<text><br />
|R<br />
|name of module_id associated to home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.module.<module_id>.type<br />
|<text><br />
|R<br />
|type of module_id associated to home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.module.<module_id>.battery<br />
|<val><br />
|R<br />
|battery level (in milliampere) of module_id<br />
<br />
|-<br />
<br />
|home.<home_id>.schedule.<schedule_id>.name<br />
|<text><br />
|R<br />
|name of schedule_id associated to home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.schedule.<schedule_id>.hgtemp<br />
|<val><br />
|R<br />
|temperature (in celsius) relative to "frostguard" mode of schedule_id<br />
<br />
|-<br />
<br />
|home.<home_id>.schedule.<schedule_id>.awaytemp<br />
|<val><br />
|R<br />
|temperature (in celsius) relative to "away" mode of schedule_id<br />
<br />
|-<br />
<br />
|home.<home_id>.schedule.<schedule_id>.zone.<zone_id>.name<br />
|<text><br />
|R<br />
|name of zone_id associated to schedule_id<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.temp.measured<br />
|<val><br />
|R<br />
|actual temperature measured (in celsius) in room_id<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.temp.set<br />
|<val><br />
|R<br />
|temperature set by the system (manual or scheduled) (in celsius) in room_id<br />
<br />
|-<br />
<br />
|rowspan="2"|home.<home_id>.room.<room_id>.temp.mode<br />
|schedule<br />
|R<br />
|temperature in room_id follows schedule rules<br />
|-<br />
|manual<br />
|R<br />
|temperature in room_id is in manual mode<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.temp.setpoint.starttime<br />
|<timestamp><br />
|R<br />
|timestamp (epoch time in seconds) at which the current temperature set mode starts<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.temp.setpoint.endtime<br />
|<timestamp><br />
|R<br />
|timestamp (epoch time in seconds) at which the current temperature set mode ends<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.settemp.manual<br />
|<val>&#124;<n><br />
|W<br />
|set temperature in room_id at <val> (celsius) for <n> hours<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.settemp.max<br />
|<n><br />
|W<br />
|set temperature in room_id at max (30° celsius) for <n> hours<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.settemp<br />
|home<br />
|W<br />
|set temperature in room_id as set in schedule associated to room_id (exit manual mode)<br />
<br />
|-<br />
<br />
|home.<home_id>.setmode.schedule<br />
|<schedule_id><br />
|W<br />
|switch schedule mode associated to home_id to schedule_id<br />
<br />
|-<br />
<br />
|home.<home_id>.setmode.schedule.away<br />
|<n><br />
|W<br />
|switch schedule mode associated to home_id to "away" mode for <n> hours<br />
<br />
|-<br />
<br />
|home.<home_id>.setmode.schedule.hg<br />
|<n><br />
|W<br />
|switch schedule mode associated to home_id to "frostguard" mode for <n> hours<br />
<br />
|}<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''Netatmo is a registered trademark of Netatmo''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5_(I/O_Server_Object)&diff=10384Alert5 (I/O Server Object)2021-10-06T13:52:52Z<p>Gianluca: </p>
<hr />
<div><noinclude>{{UI Object Header}}</noinclude><br />
The user interface for the Alert5 system:<br />
<br />
[[File:Alert5_UI_Object_1.png|200px|border]]<br />
[[File:Alert5_UI_Object_2.png|200px|border]]<br />
[[File:Alert5_UI_Object_3.png|200px|border]]<br />
[[File:Alert5_UI_Object_4.png|200px|border]]<br />
<br />
The first image shows the list of configured systems, you can reset the alarm for every single system.<br />
<br />
The second image shows all areas associated to the selected system, you can arm/disarm every single area. You can also arm/disarm alla areas of the selected system together.<br />
<br />
The third image shows all devices associated to the selected system and area, you can activate or bypass/unbypass the device. The four icons inside device popup represents in order: state(open/closed or active/inactive), alarm, fault, bypass.<br />
<br />
The fourth image shows the most recent logs of Alert5 system.<br />
<br />
The icon on top of the page will turn white when an area is in alarm.<br />
<br />
The (alert5) object is listed in the Project Editor’s new object list only when at least one Alert5 I/O Server is defined<br />
<noinclude><br />
For further details refer to the [[Alert5 | Alert5 I/O Server Application Note]].<br />
</noinclude><br />
<includeonly>==</includeonly>== Parameters ==<includeonly>==</includeonly><br />
*'''server id''': the server ID. Supports [[Redirect variables]]<br />
*'''position''': the object's position. Use the pixels or rows and columns coordinates format<br />
<br />
<includeonly>==</includeonly>== Syntax ==<includeonly>==</includeonly><br />
(alert5 <server id>; <position>)<br />
E.g.<br />
(alert5 xgen; x10y20)</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5_(I/O_Server_Object)&diff=10383Alert5 (I/O Server Object)2021-10-06T13:51:57Z<p>Gianluca: </p>
<hr />
<div><noinclude>{{UI Object Header}}</noinclude><br />
The user interface for the Alert5 system:<br />
<br />
[[File:Alert5_UI_Object_1.png|200px|border]]<br />
[[File:Alert5_UI_Object_2.png|200px|border]]<br />
[[File:Alert5_UI_Object_3.png|200px|border]]<br />
[[File:Alert5_UI_Object_4.png|200px|border]]<br />
<br />
The first image shows the list of configured systems, you can reset the alarm for every single system.<br />
<br />
The second image shows all areas associated to the selected system, you can arm/disarm every single area. You can also arm/disarm alla areas of the selected system together.<br />
<br />
The third image shows all devices associated to the selected system and area, you can activate or bypass/unbypass the device. The four icons inside device popup represents in order: state(open/closed or active/inactive), alarm, fault, bypass.<br />
<br />
The fourth image shows the most recent logs of Alert5 system.<br />
<br />
The icon on top of the page will turn white when an area is in alarm.<br />
<br />
The (alert5) object is listed in the Project Editor’s new object list only when at least one Alert5 I/O Server is defined<br />
<noinclude><br />
For further details refer to the [[Alert5 | Alert5 I/O Server Application Note]].<br />
</noinclude><br />
<includeonly>==</includeonly>== Parameters ==<includeonly>==</includeonly><br />
*'''server id''': the server ID. Supports [[Redirect variables]]<br />
*'''position''': the object's position. Use the pixels or rows and columns coordinates format<br />
<br />
<includeonly>==</includeonly>== Syntax ==<includeonly>==</includeonly><br />
(xgenconnect <server id>; <position>)<br />
E.g.<br />
(xgenconnect xgen; x10y20)</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5_(I/O_Server_Object)&diff=10382Alert5 (I/O Server Object)2021-10-06T13:51:17Z<p>Gianluca: </p>
<hr />
<div><noinclude>{{UI Object Header}}</noinclude><br />
The user interface for the Alert5 system:<br />
<br />
[[File:Alert5_UI_Object_1.png|200px|border]]<br />
[[File:Alert5_UI_Object_2.png|200px|border]]<br />
[[File:Alert5_UI_Object_3.png|200px|border]]<br />
[[File:Alert5_UI_Object_4.png|200px|border]]<br />
<br />
The first image shows the list of configured systems, you can reset the alarm for every single system.<br />
<br />
The second image shows all areas associated to the selected system, you can arm/disarm every single area. You can also arm/disarm alla areas of the selected system together.<br />
<br />
The third image shows all devices associated to the selected system and area, you can bypass/unbypass or activate the device. The four icons inside device popup represents in order: state(open/closed or active/inactive), alarm, fault, bypass.<br />
<br />
The fourth image shows the most recent logs of Alert5 system.<br />
<br />
The icon on top of the page will turn white when an area is in alarm.<br />
<br />
The (alert5) object is listed in the Project Editor’s new object list only when at least one Alert5 I/O Server is defined<br />
<noinclude><br />
For further details refer to the [[Alert5 | Alert5 I/O Server Application Note]].<br />
</noinclude><br />
<includeonly>==</includeonly>== Parameters ==<includeonly>==</includeonly><br />
*'''server id''': the server ID. Supports [[Redirect variables]]<br />
*'''position''': the object's position. Use the pixels or rows and columns coordinates format<br />
<br />
<includeonly>==</includeonly>== Syntax ==<includeonly>==</includeonly><br />
(xgenconnect <server id>; <position>)<br />
E.g.<br />
(xgenconnect xgen; x10y20)</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access_Utility&diff=10380Wolf8Access Utility2021-10-01T15:05:08Z<p>Gianluca: </p>
<hr />
<div>[[Category:Manager]]<br />
The Wolf8Access Utility application provides a user interface to configure all the keys associated to all Wolf8Access EVO modules. You can associate a name to all Wolf8Access keys. When a Wolf8Access I/O Server is defined in HSYCO, the Wolf8Access Utility will appear among the applications of the manager.<br />
<br />
To automatically discover all the keys associated to all Wolf8Access EVO modules, enable auto-discovery ("Auto-discovery" checkbox).<br />
All discovered keys will appear in the list:<br />
<br />
<br />
[[File:Wolf8Access_Utility_menu.png|border|600px|center|Clients discovery]]<br />
<br />
<br />
From the list, click on each voice to edit, save or delete relative key configuration.<br />
<br />
[[File:Wolf8Access_Utility_config.png|thumb|400px|Client configuration]]<br />
<br />
'''Parameters''':<br />
<br />
*'''Serial''': the serial number associated to that key. It's automatically generated by the corresponding Wolf8Access EVO module<br />
*'''Name''': name associated to that key<br />
<br />
<br />
To manually add a key click on the "+" button at the bottom-left corner of the page.<br />
<br />
To remove a key, click on it from the list, click on "Delete" and confirm. If the auto-discovery is enabled, the key will reappear upon the next access attempt from it.<br />
<br />
Disable the auto-discovery when all the required keys have been configured.<br />
<br />
== Committing the configuration ==<br />
When all keys are configured, click on the "Commit" button on the top-right corner of the main page. The configuration will be persisted and the Wolf8Access I/O Server will restart with the new configuration.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access_Utility&diff=10379Wolf8Access Utility2021-10-01T15:03:39Z<p>Gianluca: /* Committing the configuration */</p>
<hr />
<div>[[Category:Manager]]<br />
The Wolf8Access Utility application provides a user interface to configure all the keys associated to all Wolf8Access EVO modules. You can associate a name to all Wolf8Access keys. When a Wolf8Access I/O Server is defined in HSYCO, the Wolf8Access Utility will appear among the applications of the manager.<br />
<br />
To automatically discover all the keys associated to all Wolf8Access EVO modules, enable auto-discovery ("Auto-discovery" checkbox).<br />
All discovered keys will appear in the list:<br />
<br />
<br />
[[File:Wolf8Access_Utility_menu.png|border|600px|center|Clients discovery]]<br />
<br />
<br />
From the list, click on each voice to edit, save or delete relative key configuration.<br />
<br />
[[File:Wolf8Access_Utility_config.png|thumb|400px|Client configuration]]<br />
<br />
'''Parameters''':<br />
<br />
*'''Serial''': the serial number associated to that key. It's automatically generated by the corresponding Wolf8Access EVO module<br />
*'''Name''': name associated to that key<br />
<br />
<br />
To manually add a device click on the "+" button at the bottom-left corner of the page.<br />
<br />
To remove a device, click on it from the list, click on "Delete" and confirm. If the auto-discovery is enabled, the device will reappear upon the next received frame from it.<br />
<br />
Disable the auto-discovery when all the required devices have been configured.<br />
<br />
The devices list shows the following fields:<br />
* '''ID''': ID of the device<br />
* '''Online''': connection status of the client with the MQTT broker<br />
* '''Last seen''': date and time of the last received valid frame<br />
<br />
== Committing the configuration ==<br />
When all keys are configured, click on the "Commit" button on the top-right corner of the main page. The configuration will be persisted and the Wolf8Access I/O Server will restart with the new configuration.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access_Utility&diff=10378Wolf8Access Utility2021-10-01T15:02:54Z<p>Gianluca: </p>
<hr />
<div>[[Category:Manager]]<br />
The Wolf8Access Utility application provides a user interface to configure all the keys associated to all Wolf8Access EVO modules. You can associate a name to all Wolf8Access keys. When a Wolf8Access I/O Server is defined in HSYCO, the Wolf8Access Utility will appear among the applications of the manager.<br />
<br />
To automatically discover all the keys associated to all Wolf8Access EVO modules, enable auto-discovery ("Auto-discovery" checkbox).<br />
All discovered keys will appear in the list:<br />
<br />
<br />
[[File:Wolf8Access_Utility_menu.png|border|600px|center|Clients discovery]]<br />
<br />
<br />
From the list, click on each voice to edit, save or delete relative key configuration.<br />
<br />
[[File:Wolf8Access_Utility_config.png|thumb|400px|Client configuration]]<br />
<br />
'''Parameters''':<br />
<br />
*'''Serial''': the serial number associated to that key. It's automatically generated by the corresponding Wolf8Access EVO module<br />
*'''Name''': name associated to that key<br />
<br />
<br />
To manually add a device click on the "+" button at the bottom-left corner of the page.<br />
<br />
To remove a device, click on it from the list, click on "Delete" and confirm. If the auto-discovery is enabled, the device will reappear upon the next received frame from it.<br />
<br />
Disable the auto-discovery when all the required devices have been configured.<br />
<br />
The devices list shows the following fields:<br />
* '''ID''': ID of the device<br />
* '''Online''': connection status of the client with the MQTT broker<br />
* '''Last seen''': date and time of the last received valid frame<br />
<br />
== Committing the configuration ==<br />
When all clients are configured, click on the "Commit" button on the top-right corner of the main page. The configuration will be persisted and the MQTTBroker I/O Server will restart with the new configuration.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access_Utility&diff=10377Wolf8Access Utility2021-10-01T15:01:29Z<p>Gianluca: </p>
<hr />
<div>[[Category:Manager]]<br />
The Wolf8Access Utility application provides a user interface to configure all the keys associated to all Wolf8Access EVO modules. You can associate a name to all Wolf8Access keys. When a Wolf8Access I/O Server is defined in HSYCO, the Wolf8Access Utility will appear among the applications of the manager.<br />
<br />
To automatically discover all the keys associated to all Wolf8Access EVO modules, enable auto-discovery ("Auto-discovery" checkbox).<br />
All discovered keys will appear in the list:<br />
<br />
<br />
[[File:Wolf8Access_Utility_menu.png|border|600px|center|Clients discovery]]<br />
<br />
<br />
From the list, click on each voice to edit, save or delete relative key configuration.<br />
<br />
[[File:Wolf8Access_Utility_config.png|thumb|400px|Client configuration]]<br />
<br />
'''Parameters''':<br />
<br />
*'''ID''': the ID to assign to the client. It cannot be empty. The default value corresponds to the IP address of the client<br />
*'''Username''': client's username<br />
*'''Password''': client's password<br />
<br />
<br />
To manually add a device click on the "+" button at the bottom-left corner of the page.<br />
<br />
To remove a device, click on it from the list, click on "Delete" and confirm. If the auto-discovery is enabled, the device will reappear upon the next received frame from it.<br />
<br />
Disable the auto-discovery when all the required devices have been configured.<br />
<br />
The devices list shows the following fields:<br />
* '''ID''': ID of the device<br />
* '''Online''': connection status of the client with the MQTT broker<br />
* '''Last seen''': date and time of the last received valid frame<br />
<br />
== Committing the configuration ==<br />
When all clients are configured, click on the "Commit" button on the top-right corner of the main page. The configuration will be persisted and the MQTTBroker I/O Server will restart with the new configuration.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access_Utility&diff=10376Wolf8Access Utility2021-10-01T14:50:28Z<p>Gianluca: </p>
<hr />
<div>[[Category:Manager]]<br />
The Wolf8Access Utility application provides a user interface to configure all the keys associated to all Wolf8Access EVO modules. When a Wolf8Access I/O Server is defined in HSYCO, the Wolf8Access Utility will appear among the applications of the manager.<br />
<br />
To automatically discover all the keys associated to all Wolf8Access EVO modules, enable auto-discovery ("Auto-discovery" checkbox).<br />
All discovered keys will appear in the list:<br />
<br />
<br />
[[File:Wolf8Access_Utility_menu.png|border|600px|center|Clients discovery]]<br />
<br />
<br />
From the list, click on each client to add, edit and save its configuration.<br />
<br />
[[File:Wolf8Access_Utility_config.png|thumb|400px|Client configuration]]<br />
<br />
'''Parameters''':<br />
<br />
*'''ID''': the ID to assign to the client. It cannot be empty. The default value corresponds to the IP address of the client<br />
*'''Username''': client's username<br />
*'''Password''': client's password<br />
<br />
<br />
To manually add a device click on the "+" button at the bottom-left corner of the page.<br />
<br />
To remove a device, click on it from the list, click on "Delete" and confirm. If the auto-discovery is enabled, the device will reappear upon the next received frame from it.<br />
<br />
Disable the auto-discovery when all the required devices have been configured.<br />
<br />
The devices list shows the following fields:<br />
* '''ID''': ID of the device<br />
* '''Online''': connection status of the client with the MQTT broker<br />
* '''Last seen''': date and time of the last received valid frame<br />
<br />
== Committing the configuration ==<br />
When all clients are configured, click on the "Commit" button on the top-right corner of the main page. The configuration will be persisted and the MQTTBroker I/O Server will restart with the new configuration.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access_Utility&diff=10375Wolf8Access Utility2021-10-01T14:50:11Z<p>Gianluca: </p>
<hr />
<div>[[Category:Manager]]<br />
The Wolf8Access Utility application provides a user interface to configure all the keys associated to all Wolf8Access EVO modules. When a Wolf8Access I/O Server is defined in HSYCO, the Wolf8Access Utility will appear among the applications of the manager.<br />
<br />
To automatically discover all the keys associated to the Wolf8Access MIND module, enable auto-discovery ("Auto-discovery" checkbox).<br />
All discovered keys will appear in the list:<br />
<br />
<br />
[[File:Wolf8Access_Utility_menu.png|border|600px|center|Clients discovery]]<br />
<br />
<br />
From the list, click on each client to add, edit and save its configuration.<br />
<br />
[[File:Wolf8Access_Utility_config.png|thumb|400px|Client configuration]]<br />
<br />
'''Parameters''':<br />
<br />
*'''ID''': the ID to assign to the client. It cannot be empty. The default value corresponds to the IP address of the client<br />
*'''Username''': client's username<br />
*'''Password''': client's password<br />
<br />
<br />
To manually add a device click on the "+" button at the bottom-left corner of the page.<br />
<br />
To remove a device, click on it from the list, click on "Delete" and confirm. If the auto-discovery is enabled, the device will reappear upon the next received frame from it.<br />
<br />
Disable the auto-discovery when all the required devices have been configured.<br />
<br />
The devices list shows the following fields:<br />
* '''ID''': ID of the device<br />
* '''Online''': connection status of the client with the MQTT broker<br />
* '''Last seen''': date and time of the last received valid frame<br />
<br />
== Committing the configuration ==<br />
When all clients are configured, click on the "Commit" button on the top-right corner of the main page. The configuration will be persisted and the MQTTBroker I/O Server will restart with the new configuration.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access_Utility&diff=10374Wolf8Access Utility2021-10-01T14:49:06Z<p>Gianluca: </p>
<hr />
<div>[[Category:Manager]]<br />
The Wolf8Access Utility application provides a user interface to configure all the keys associated to all Wolf8Access EVO modules. When a Wolf8Access I/O Server is defined in HSYCO, the Wolf8Access Utility will appear among the applications of the manager.<br />
<br />
To configure MQTT clients to be used with HSYCO, enable auto-discovery ("Auto-discovery" checkbox).<br />
MQTT clients transmitting will appear in the list:<br />
<br />
<br />
[[File:Wolf8Access_Utility_menu.png|border|600px|center|Clients discovery]]<br />
<br />
<br />
From the list, click on each client to add, edit and save its configuration.<br />
<br />
[[File:Wolf8Access_Utility_config.png|thumb|400px|Client configuration]]<br />
<br />
'''Parameters''':<br />
<br />
*'''ID''': the ID to assign to the client. It cannot be empty. The default value corresponds to the IP address of the client<br />
*'''Username''': client's username<br />
*'''Password''': client's password<br />
<br />
<br />
To manually add a device click on the "+" button at the bottom-left corner of the page.<br />
<br />
To remove a device, click on it from the list, click on "Delete" and confirm. If the auto-discovery is enabled, the device will reappear upon the next received frame from it.<br />
<br />
Disable the auto-discovery when all the required devices have been configured.<br />
<br />
The devices list shows the following fields:<br />
* '''ID''': ID of the device<br />
* '''Online''': connection status of the client with the MQTT broker<br />
* '''Last seen''': date and time of the last received valid frame<br />
<br />
== Committing the configuration ==<br />
When all clients are configured, click on the "Commit" button on the top-right corner of the main page. The configuration will be persisted and the MQTTBroker I/O Server will restart with the new configuration.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=MQTTBroker_Utility&diff=10373MQTTBroker Utility2021-10-01T14:47:26Z<p>Gianluca: </p>
<hr />
<div>[[Category:Manager]]<br />
The MQTTBroker Utility application provides a user interface to configure a [[MQTTBROKER | MQTTBROKER I/O Server]]. When a MQTTBROKER I/O Server is defined in HSYCO, the MQTTBroker Utility will appear among the applications of the manager.<br />
<br />
To configure MQTT clients to be used with HSYCO, enable auto-discovery ("Auto-discovery" checkbox).<br />
MQTT clients transmitting will appear in the list:<br />
<br />
<br />
[[File:MQTTBROKER_Util_discovery.png|border|600px|center|Clients discovery]]<br />
<br />
<br />
From the list, click on each client to add, edit and save its configuration.<br />
<br />
[[File:MQTTBROKER_Util_config.png|thumb|400px|Client configuration]]<br />
<br />
'''Parameters''':<br />
<br />
*'''ID''': the ID to assign to the client. It cannot be empty. The default value corresponds to the IP address of the client<br />
*'''Username''': client's username<br />
*'''Password''': client's password<br />
<br />
<br />
To manually add a device click on the "+" button at the bottom-left corner of the page.<br />
<br />
To remove a device, click on it from the list, click on "Delete" and confirm. If the auto-discovery is enabled, the device will reappear upon the next received frame from it.<br />
<br />
Disable the auto-discovery when all the required devices have been configured.<br />
<br />
The devices list shows the following fields:<br />
* '''ID''': ID of the device<br />
* '''Online''': connection status of the client with the MQTT broker<br />
* '''Last seen''': date and time of the last received valid frame<br />
<br />
== Committing the configuration ==<br />
When all clients are configured, click on the "Commit" button on the top-right corner of the main page. The configuration will be persisted and the MQTTBroker I/O Server will restart with the new configuration.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access_Utility&diff=10372Wolf8Access Utility2021-10-01T14:46:58Z<p>Gianluca: </p>
<hr />
<div>[[Category:Manager]]<br />
The MQTTBroker Utility application provides a graphical interface to configure a [[Wolf8Access | Wolf8Access I/O Server]]. When a MQTTBROKER I/O Server is defined in HSYCO, the MQTTBroker Utility will appear among the applications of the manager.<br />
<br />
To configure MQTT clients to be used with HSYCO, enable auto-discovery ("Auto-discovery" checkbox).<br />
MQTT clients transmitting will appear in the list:<br />
<br />
<br />
[[File:Wolf8Access_Utility_menu.png|border|600px|center|Clients discovery]]<br />
<br />
<br />
From the list, click on each client to add, edit and save its configuration.<br />
<br />
[[File:Wolf8Access_Utility_config.png|thumb|400px|Client configuration]]<br />
<br />
'''Parameters''':<br />
<br />
*'''ID''': the ID to assign to the client. It cannot be empty. The default value corresponds to the IP address of the client<br />
*'''Username''': client's username<br />
*'''Password''': client's password<br />
<br />
<br />
To manually add a device click on the "+" button at the bottom-left corner of the page.<br />
<br />
To remove a device, click on it from the list, click on "Delete" and confirm. If the auto-discovery is enabled, the device will reappear upon the next received frame from it.<br />
<br />
Disable the auto-discovery when all the required devices have been configured.<br />
<br />
The devices list shows the following fields:<br />
* '''ID''': ID of the device<br />
* '''Online''': connection status of the client with the MQTT broker<br />
* '''Last seen''': date and time of the last received valid frame<br />
<br />
== Committing the configuration ==<br />
When all clients are configured, click on the "Commit" button on the top-right corner of the main page. The configuration will be persisted and the MQTTBroker I/O Server will restart with the new configuration.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access_Utility&diff=10371Wolf8Access Utility2021-10-01T14:40:32Z<p>Gianluca: </p>
<hr />
<div>[[Category:Manager]]<br />
The MQTTBroker Utility application provides a graphical interface to configure a [[MQTTBROKER | MQTTBROKER I/O Server]]. When a MQTTBROKER I/O Server is defined in HSYCO, the MQTTBroker Utility will appear among the applications of the manager.<br />
<br />
To configure MQTT clients to be used with HSYCO, enable auto-discovery ("Auto-discovery" checkbox).<br />
MQTT clients transmitting will appear in the list:<br />
<br />
<br />
[[File:Wolf8Access_Utility_menu.png|border|600px|center|Clients discovery]]<br />
<br />
<br />
From the list, click on each client to add, edit and save its configuration.<br />
<br />
[[File:Wolf8Access_Utility_config.png|thumb|400px|Client configuration]]<br />
<br />
'''Parameters''':<br />
<br />
*'''ID''': the ID to assign to the client. It cannot be empty. The default value corresponds to the IP address of the client<br />
*'''Username''': client's username<br />
*'''Password''': client's password<br />
<br />
<br />
To manually add a device click on the "+" button at the bottom-left corner of the page.<br />
<br />
To remove a device, click on it from the list, click on "Delete" and confirm. If the auto-discovery is enabled, the device will reappear upon the next received frame from it.<br />
<br />
Disable the auto-discovery when all the required devices have been configured.<br />
<br />
The devices list shows the following fields:<br />
* '''ID''': ID of the device<br />
* '''Online''': connection status of the client with the MQTT broker<br />
* '''Last seen''': date and time of the last received valid frame<br />
<br />
== Committing the configuration ==<br />
When all clients are configured, click on the "Commit" button on the top-right corner of the main page. The configuration will be persisted and the MQTTBroker I/O Server will restart with the new configuration.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access_Utility&diff=10370Wolf8Access Utility2021-10-01T14:39:22Z<p>Gianluca: </p>
<hr />
<div>[[Category:Manager]]<br />
The MQTTBroker Utility application provides a graphical interface to configure a [[MQTTBROKER | MQTTBROKER I/O Server]]. When a MQTTBROKER I/O Server is defined in HSYCO, the MQTTBroker Utility will appear among the applications of the manager.<br />
<br />
To configure MQTT clients to be used with HSYCO, enable auto-discovery ("Auto-discovery" checkbox).<br />
MQTT clients transmitting will appear in the list:<br />
<br />
<br />
[[File:Wolf8Access_menu.png|border|600px|center|Clients discovery]]<br />
<br />
<br />
From the list, click on each client to add, edit and save its configuration.<br />
<br />
[[File:Wolf8Access_config.png|thumb|400px|Client configuration]]<br />
<br />
'''Parameters''':<br />
<br />
*'''ID''': the ID to assign to the client. It cannot be empty. The default value corresponds to the IP address of the client<br />
*'''Username''': client's username<br />
*'''Password''': client's password<br />
<br />
<br />
To manually add a device click on the "+" button at the bottom-left corner of the page.<br />
<br />
To remove a device, click on it from the list, click on "Delete" and confirm. If the auto-discovery is enabled, the device will reappear upon the next received frame from it.<br />
<br />
Disable the auto-discovery when all the required devices have been configured.<br />
<br />
The devices list shows the following fields:<br />
* '''ID''': ID of the device<br />
* '''Online''': connection status of the client with the MQTT broker<br />
* '''Last seen''': date and time of the last received valid frame<br />
<br />
== Committing the configuration ==<br />
When all clients are configured, click on the "Commit" button on the top-right corner of the main page. The configuration will be persisted and the MQTTBroker I/O Server will restart with the new configuration.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=File:Wolf8Access_Utility_config.png&diff=10369File:Wolf8Access Utility config.png2021-10-01T14:38:26Z<p>Gianluca: </p>
<hr />
<div></div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=File:Wolf8Access_Utility_menu.png&diff=10368File:Wolf8Access Utility menu.png2021-10-01T14:38:14Z<p>Gianluca: </p>
<hr />
<div></div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access&diff=10367Wolf8Access2021-10-01T14:22:09Z<p>Gianluca: /* Wolf 8 Access Utility */</p>
<hr />
<div>HSYCO integrates the 8Access system by Wolf Safety through USB or Ethernet connection.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
=== W-LAN (or WP-LAN) module ===<br />
<br />
==== Protocol version 3.xx or lower ====<br />
<br />
If using the W-LAN Ethernet module, it must be configured using the '''Tibbo DS Manager''' tool.<br/><br />
You need to set its static IP address, port (default 1001) and serial communication parameters.<br/><br />
For the serial parameter, go to ''Settings > Channel1 tab'' and set the parameters as shown in the table below.<br />
<br />
==== Protocol version 4.xx or higher ====<br />
<br />
If using the WP-LAN Ethernet module the system works in DHCP mode, so you cannot set a static IP address. If you want a static IP address on your module please contact Wolf assistance before buying it.<br />
<br />
You have to set the serial number of the Wolf8Access MIND module in the I/O Server options.<br />
<br />
=== W-USB module ===<br />
<br />
If using the W-USB module, just configure HSYCO to use the following serial parameters:<br />
<br />
{| class="wikitable"<br />
| '''Baud rate'''<br />
| 115200<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 />
== HSYCO Configuration ==<br />
Add a WOLF8ACCESS 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 />
If using USB connection (W-USB module) crate a ''serial'' Comm port, otherwise, if using the Ethernet adapter (W-LAN module or WP-LAN), crate a ''server'' Comm port. For version 4.xx or higher, communication with the WP-LAN module implies TCP/IP protocol on port 8000.<br />
<br />
=== Authentication ===<br />
*'''Password''': wolf system 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 />
|serialnum<br />
|<br />
|<val><br />
|serial number of the Wolf8Access MIND board. Leave it empty for protocol 3.xx or lower<br />
<br />
|}<br />
<br />
<br />
=== Wolf8Access Utility ===<br />
<br />
Use the [[Wolf8Access Utility]] to automatically discover new keys or configure existing ones.<br />
<br />
== Datapoints ==<br />
<br />
Peripherals' numbers (p<n>) range from 0 to 7.<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 device<br />
<br />
|-<br />
<br />
|p<n>.key<br />
|<pos><br />
|R<br />
|peripheral <n> read the key saved in memory position <pos><br />
<br />
|-<br />
<br />
|rowspan="3" |p<n>.open<br />
|rowspan="2" |1<br />
|R<br />
|peripheral <n>'s door is open<br />
|-<br />
|W<br />
|open peripheral <n>'s relay<br />
|-<br />
|0<br />
|R<br />
|peripheral <n>'s door is closed<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.blocked<br />
|rowspan="2" |1<br />
|R<br />
|peripheral <n> is blocked (all non-manager keys disabled)<br />
|-<br />
|W<br />
|block peripheral <n> (disable all non-manager keys)<br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|peripheral <n> is un-blocked (all non-manager keys restored)<br />
|-<br />
|W<br />
|un-block peripheral <n> (restore all non-manager keys)<br />
<br />
|-<br />
<br />
|p<n>.k<m><br />
|erase<br />
|W<br />
|erase the key specified at position <m> from peripheral <n>'s memory<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.k<m>.blocked<br />
|rowspan="2" |1<br />
|R<br />
|key in memory position <m> of peripheral <n> is disabled<br />
|-<br />
|W<br />
|disable key in memory position <m> of peripheral <n><br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|key in memory position <m> of peripheral <n> is enabled<br />
|-<br />
|W<br />
|enable key in memory position <m> of peripheral <n><br />
<br />
|-<br />
<br />
|p<n>.k<m>.sn<br />
|<val><br />
|R<br />
|the serial number of the key in memory position <m> of peripheral <n> is <val>. Updated only at startup and after a call to p<n>.mem = read<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.k<m>.manager<br />
|1<br />
|R<br />
|the key in memory position <m> of peripheral <n> is a manager key. Updated only at startup and after a call to p<n>.mem = read<br />
|-<br />
|0<br />
|R<br />
|the key in memory position <m> of peripheral <n> is a regular key. Updated only at startup and after a call to p<n>.mem = read<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.mem<br />
|add<br />
|W<br />
|instruct peripheral <n> to add to memory the next read key<br />
|-<br />
|read<br />
|W<br />
|request to peripheral <n> the list of saved keys (see p<n>.k<m>.sn and p<n>.k<m>.manager datapoints)<br />
|-<br />
|clear<br />
|W<br />
|clear peripheral <n>'s memory<br />
|-<br />
|refresh<br />
|W<br />
|refresh peripheral <n>'s memory erasing all disabled keys<br />
<br />
|-<br />
<br />
|p<n>.mem.ok<br />
|<pos><br />
|R<br />
|the read key has been correctly saved in memory position <pos><br />
<br />
|-<br />
<br />
|p<n>.mem.err<br />
|<pos><br />
|R<br />
|the read key was already saved in memory position <pos><br />
<br />
|-<br />
<br />
|p<n>.mem.full<br />
|<val><br />
|R<br />
|the memory of peripheral <n> is full and it contains <val> keys<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.free<br />
|<val><br />
|R<br />
|peripheral <n> has <val> key slots available in its memory. Updated only after a "read" request<br />
|-<br />
|read<br />
|W<br />
|request the reading of available memory on peripheral <n><br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.clear<br />
|1<br />
|R<br />
|the memory of peripheral <n> has been cleared<br />
|-<br />
|0<br />
|R<br />
|error while clearing the memory of peripheral <n><br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.refresh<br />
|1<br />
|R<br />
|the memory of peripheral <n> has been refreshed<br />
|-<br />
|0<br />
|R<br />
|error while refreshing the memory of peripheral <n><br />
<br />
|-<br />
<br />
|p<n>.alarm.forced<br />
|1<br />
|R<br />
|door forced alarm<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.alarm.comm<br />
|1<br />
|R<br />
|communication error with peripheral <n><br />
|-<br />
|0<br />
|R<br />
|communication with peripheral <n> restored<br />
<br />
|-<br />
<br />
|p<n>.copy<br />
|<n1>:<from>:<to><br />
|W<br />
|copy to peripheral <n>'s memory all the keys in the specified range (<from> - <to>) of peripheral <n1>'s memory. (e.g. p1.copy = 0:10:20)<br />
<br />
|-<br />
<br />
|rowspan="3" |p<n>.reltime<br />
|rowspan="2" |<val><br />
|R<br />
|the relay time of peripheral <n> is set to <val>, in sec/10<br />
|-<br />
|W<br />
|set the relay time of peripheral <n> to <val>, in sec/10 (max 65535 = 109 min)<br />
|-<br />
|M<br />
|R<br />
|peripheral <n>'s relay is set as monostable<br />
<br />
|-<br />
<br />
|rowspan="3" |time<br />
|rowspan="2" |<val><br />
|R<br />
|time and date set on the module, value format: "yyyy-mm-dd hh:mm:ss". Updated only after a "read" request<br />
|-<br />
|W<br />
|set the module's time and date, value format: "yyyy-mm-dd hh:mm:ss"<br />
|-<br />
|read<br />
|W<br />
|request the module's time and date<br />
<br />
|}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
<br />
|-<br />
<br />
|log<br />
|<text><br />
|colspan="2"|latest access log lines (500)<br />
<br />
|-<br />
<br />
|log0<br />
|<text><br />
|colspan="2"|most recent log line<br />
<br />
|}<br />
<br />
<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*support for protocol versions 4.xx and 5.xx<br />
<br />
=== 3.7.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''WOLF SAFETY is a registered trade mark of ELP s.n.c.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access&diff=10366Wolf8Access2021-10-01T14:21:53Z<p>Gianluca: /* Options */</p>
<hr />
<div>HSYCO integrates the 8Access system by Wolf Safety through USB or Ethernet connection.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
=== W-LAN (or WP-LAN) module ===<br />
<br />
==== Protocol version 3.xx or lower ====<br />
<br />
If using the W-LAN Ethernet module, it must be configured using the '''Tibbo DS Manager''' tool.<br/><br />
You need to set its static IP address, port (default 1001) and serial communication parameters.<br/><br />
For the serial parameter, go to ''Settings > Channel1 tab'' and set the parameters as shown in the table below.<br />
<br />
==== Protocol version 4.xx or higher ====<br />
<br />
If using the WP-LAN Ethernet module the system works in DHCP mode, so you cannot set a static IP address. If you want a static IP address on your module please contact Wolf assistance before buying it.<br />
<br />
You have to set the serial number of the Wolf8Access MIND module in the I/O Server options.<br />
<br />
=== W-USB module ===<br />
<br />
If using the W-USB module, just configure HSYCO to use the following serial parameters:<br />
<br />
{| class="wikitable"<br />
| '''Baud rate'''<br />
| 115200<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 />
== HSYCO Configuration ==<br />
Add a WOLF8ACCESS 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 />
If using USB connection (W-USB module) crate a ''serial'' Comm port, otherwise, if using the Ethernet adapter (W-LAN module or WP-LAN), crate a ''server'' Comm port. For version 4.xx or higher, communication with the WP-LAN module implies TCP/IP protocol on port 8000.<br />
<br />
=== Authentication ===<br />
*'''Password''': wolf system 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 />
|serialnum<br />
|<br />
|<val><br />
|serial number of the Wolf8Access MIND board. Leave it empty for protocol 3.xx or lower<br />
<br />
|}<br />
<br />
<br />
=== Wolf 8 Access Utility ===<br />
<br />
Use the [[Wolf8Access Utility]] to automatically discover new keys or configure existing ones.<br />
<br />
== Datapoints ==<br />
<br />
Peripherals' numbers (p<n>) range from 0 to 7.<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 device<br />
<br />
|-<br />
<br />
|p<n>.key<br />
|<pos><br />
|R<br />
|peripheral <n> read the key saved in memory position <pos><br />
<br />
|-<br />
<br />
|rowspan="3" |p<n>.open<br />
|rowspan="2" |1<br />
|R<br />
|peripheral <n>'s door is open<br />
|-<br />
|W<br />
|open peripheral <n>'s relay<br />
|-<br />
|0<br />
|R<br />
|peripheral <n>'s door is closed<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.blocked<br />
|rowspan="2" |1<br />
|R<br />
|peripheral <n> is blocked (all non-manager keys disabled)<br />
|-<br />
|W<br />
|block peripheral <n> (disable all non-manager keys)<br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|peripheral <n> is un-blocked (all non-manager keys restored)<br />
|-<br />
|W<br />
|un-block peripheral <n> (restore all non-manager keys)<br />
<br />
|-<br />
<br />
|p<n>.k<m><br />
|erase<br />
|W<br />
|erase the key specified at position <m> from peripheral <n>'s memory<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.k<m>.blocked<br />
|rowspan="2" |1<br />
|R<br />
|key in memory position <m> of peripheral <n> is disabled<br />
|-<br />
|W<br />
|disable key in memory position <m> of peripheral <n><br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|key in memory position <m> of peripheral <n> is enabled<br />
|-<br />
|W<br />
|enable key in memory position <m> of peripheral <n><br />
<br />
|-<br />
<br />
|p<n>.k<m>.sn<br />
|<val><br />
|R<br />
|the serial number of the key in memory position <m> of peripheral <n> is <val>. Updated only at startup and after a call to p<n>.mem = read<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.k<m>.manager<br />
|1<br />
|R<br />
|the key in memory position <m> of peripheral <n> is a manager key. Updated only at startup and after a call to p<n>.mem = read<br />
|-<br />
|0<br />
|R<br />
|the key in memory position <m> of peripheral <n> is a regular key. Updated only at startup and after a call to p<n>.mem = read<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.mem<br />
|add<br />
|W<br />
|instruct peripheral <n> to add to memory the next read key<br />
|-<br />
|read<br />
|W<br />
|request to peripheral <n> the list of saved keys (see p<n>.k<m>.sn and p<n>.k<m>.manager datapoints)<br />
|-<br />
|clear<br />
|W<br />
|clear peripheral <n>'s memory<br />
|-<br />
|refresh<br />
|W<br />
|refresh peripheral <n>'s memory erasing all disabled keys<br />
<br />
|-<br />
<br />
|p<n>.mem.ok<br />
|<pos><br />
|R<br />
|the read key has been correctly saved in memory position <pos><br />
<br />
|-<br />
<br />
|p<n>.mem.err<br />
|<pos><br />
|R<br />
|the read key was already saved in memory position <pos><br />
<br />
|-<br />
<br />
|p<n>.mem.full<br />
|<val><br />
|R<br />
|the memory of peripheral <n> is full and it contains <val> keys<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.free<br />
|<val><br />
|R<br />
|peripheral <n> has <val> key slots available in its memory. Updated only after a "read" request<br />
|-<br />
|read<br />
|W<br />
|request the reading of available memory on peripheral <n><br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.clear<br />
|1<br />
|R<br />
|the memory of peripheral <n> has been cleared<br />
|-<br />
|0<br />
|R<br />
|error while clearing the memory of peripheral <n><br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.refresh<br />
|1<br />
|R<br />
|the memory of peripheral <n> has been refreshed<br />
|-<br />
|0<br />
|R<br />
|error while refreshing the memory of peripheral <n><br />
<br />
|-<br />
<br />
|p<n>.alarm.forced<br />
|1<br />
|R<br />
|door forced alarm<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.alarm.comm<br />
|1<br />
|R<br />
|communication error with peripheral <n><br />
|-<br />
|0<br />
|R<br />
|communication with peripheral <n> restored<br />
<br />
|-<br />
<br />
|p<n>.copy<br />
|<n1>:<from>:<to><br />
|W<br />
|copy to peripheral <n>'s memory all the keys in the specified range (<from> - <to>) of peripheral <n1>'s memory. (e.g. p1.copy = 0:10:20)<br />
<br />
|-<br />
<br />
|rowspan="3" |p<n>.reltime<br />
|rowspan="2" |<val><br />
|R<br />
|the relay time of peripheral <n> is set to <val>, in sec/10<br />
|-<br />
|W<br />
|set the relay time of peripheral <n> to <val>, in sec/10 (max 65535 = 109 min)<br />
|-<br />
|M<br />
|R<br />
|peripheral <n>'s relay is set as monostable<br />
<br />
|-<br />
<br />
|rowspan="3" |time<br />
|rowspan="2" |<val><br />
|R<br />
|time and date set on the module, value format: "yyyy-mm-dd hh:mm:ss". Updated only after a "read" request<br />
|-<br />
|W<br />
|set the module's time and date, value format: "yyyy-mm-dd hh:mm:ss"<br />
|-<br />
|read<br />
|W<br />
|request the module's time and date<br />
<br />
|}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
<br />
|-<br />
<br />
|log<br />
|<text><br />
|colspan="2"|latest access log lines (500)<br />
<br />
|-<br />
<br />
|log0<br />
|<text><br />
|colspan="2"|most recent log line<br />
<br />
|}<br />
<br />
<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*support for protocol versions 4.xx and 5.xx<br />
<br />
=== 3.7.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''WOLF SAFETY is a registered trade mark of ELP s.n.c.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access_Utility&diff=10365Wolf8Access Utility2021-10-01T14:20:50Z<p>Gianluca: Created page with "Ciao"</p>
<hr />
<div>Ciao</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access&diff=10364Wolf8Access2021-10-01T14:19:25Z<p>Gianluca: /* Release Notes */</p>
<hr />
<div>HSYCO integrates the 8Access system by Wolf Safety through USB or Ethernet connection.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
=== W-LAN (or WP-LAN) module ===<br />
<br />
==== Protocol version 3.xx or lower ====<br />
<br />
If using the W-LAN Ethernet module, it must be configured using the '''Tibbo DS Manager''' tool.<br/><br />
You need to set its static IP address, port (default 1001) and serial communication parameters.<br/><br />
For the serial parameter, go to ''Settings > Channel1 tab'' and set the parameters as shown in the table below.<br />
<br />
==== Protocol version 4.xx or higher ====<br />
<br />
If using the WP-LAN Ethernet module the system works in DHCP mode, so you cannot set a static IP address. If you want a static IP address on your module please contact Wolf assistance before buying it.<br />
<br />
You have to set the serial number of the Wolf8Access MIND module in the I/O Server options.<br />
<br />
=== W-USB module ===<br />
<br />
If using the W-USB module, just configure HSYCO to use the following serial parameters:<br />
<br />
{| class="wikitable"<br />
| '''Baud rate'''<br />
| 115200<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 />
== HSYCO Configuration ==<br />
Add a WOLF8ACCESS 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 />
If using USB connection (W-USB module) crate a ''serial'' Comm port, otherwise, if using the Ethernet adapter (W-LAN module or WP-LAN), crate a ''server'' Comm port. For version 4.xx or higher, communication with the WP-LAN module implies TCP/IP protocol on port 8000.<br />
<br />
=== Authentication ===<br />
*'''Password''': wolf system 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 />
|serialnum<br />
|<br />
|<val><br />
|serial number of the Wolf8Access MIND board. Leave it empty for protocol 3.xx or lower<br />
<br />
|}<br />
<br />
== Datapoints ==<br />
<br />
Peripherals' numbers (p<n>) range from 0 to 7.<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 device<br />
<br />
|-<br />
<br />
|p<n>.key<br />
|<pos><br />
|R<br />
|peripheral <n> read the key saved in memory position <pos><br />
<br />
|-<br />
<br />
|rowspan="3" |p<n>.open<br />
|rowspan="2" |1<br />
|R<br />
|peripheral <n>'s door is open<br />
|-<br />
|W<br />
|open peripheral <n>'s relay<br />
|-<br />
|0<br />
|R<br />
|peripheral <n>'s door is closed<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.blocked<br />
|rowspan="2" |1<br />
|R<br />
|peripheral <n> is blocked (all non-manager keys disabled)<br />
|-<br />
|W<br />
|block peripheral <n> (disable all non-manager keys)<br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|peripheral <n> is un-blocked (all non-manager keys restored)<br />
|-<br />
|W<br />
|un-block peripheral <n> (restore all non-manager keys)<br />
<br />
|-<br />
<br />
|p<n>.k<m><br />
|erase<br />
|W<br />
|erase the key specified at position <m> from peripheral <n>'s memory<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.k<m>.blocked<br />
|rowspan="2" |1<br />
|R<br />
|key in memory position <m> of peripheral <n> is disabled<br />
|-<br />
|W<br />
|disable key in memory position <m> of peripheral <n><br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|key in memory position <m> of peripheral <n> is enabled<br />
|-<br />
|W<br />
|enable key in memory position <m> of peripheral <n><br />
<br />
|-<br />
<br />
|p<n>.k<m>.sn<br />
|<val><br />
|R<br />
|the serial number of the key in memory position <m> of peripheral <n> is <val>. Updated only at startup and after a call to p<n>.mem = read<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.k<m>.manager<br />
|1<br />
|R<br />
|the key in memory position <m> of peripheral <n> is a manager key. Updated only at startup and after a call to p<n>.mem = read<br />
|-<br />
|0<br />
|R<br />
|the key in memory position <m> of peripheral <n> is a regular key. Updated only at startup and after a call to p<n>.mem = read<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.mem<br />
|add<br />
|W<br />
|instruct peripheral <n> to add to memory the next read key<br />
|-<br />
|read<br />
|W<br />
|request to peripheral <n> the list of saved keys (see p<n>.k<m>.sn and p<n>.k<m>.manager datapoints)<br />
|-<br />
|clear<br />
|W<br />
|clear peripheral <n>'s memory<br />
|-<br />
|refresh<br />
|W<br />
|refresh peripheral <n>'s memory erasing all disabled keys<br />
<br />
|-<br />
<br />
|p<n>.mem.ok<br />
|<pos><br />
|R<br />
|the read key has been correctly saved in memory position <pos><br />
<br />
|-<br />
<br />
|p<n>.mem.err<br />
|<pos><br />
|R<br />
|the read key was already saved in memory position <pos><br />
<br />
|-<br />
<br />
|p<n>.mem.full<br />
|<val><br />
|R<br />
|the memory of peripheral <n> is full and it contains <val> keys<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.free<br />
|<val><br />
|R<br />
|peripheral <n> has <val> key slots available in its memory. Updated only after a "read" request<br />
|-<br />
|read<br />
|W<br />
|request the reading of available memory on peripheral <n><br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.clear<br />
|1<br />
|R<br />
|the memory of peripheral <n> has been cleared<br />
|-<br />
|0<br />
|R<br />
|error while clearing the memory of peripheral <n><br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.refresh<br />
|1<br />
|R<br />
|the memory of peripheral <n> has been refreshed<br />
|-<br />
|0<br />
|R<br />
|error while refreshing the memory of peripheral <n><br />
<br />
|-<br />
<br />
|p<n>.alarm.forced<br />
|1<br />
|R<br />
|door forced alarm<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.alarm.comm<br />
|1<br />
|R<br />
|communication error with peripheral <n><br />
|-<br />
|0<br />
|R<br />
|communication with peripheral <n> restored<br />
<br />
|-<br />
<br />
|p<n>.copy<br />
|<n1>:<from>:<to><br />
|W<br />
|copy to peripheral <n>'s memory all the keys in the specified range (<from> - <to>) of peripheral <n1>'s memory. (e.g. p1.copy = 0:10:20)<br />
<br />
|-<br />
<br />
|rowspan="3" |p<n>.reltime<br />
|rowspan="2" |<val><br />
|R<br />
|the relay time of peripheral <n> is set to <val>, in sec/10<br />
|-<br />
|W<br />
|set the relay time of peripheral <n> to <val>, in sec/10 (max 65535 = 109 min)<br />
|-<br />
|M<br />
|R<br />
|peripheral <n>'s relay is set as monostable<br />
<br />
|-<br />
<br />
|rowspan="3" |time<br />
|rowspan="2" |<val><br />
|R<br />
|time and date set on the module, value format: "yyyy-mm-dd hh:mm:ss". Updated only after a "read" request<br />
|-<br />
|W<br />
|set the module's time and date, value format: "yyyy-mm-dd hh:mm:ss"<br />
|-<br />
|read<br />
|W<br />
|request the module's time and date<br />
<br />
|}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
<br />
|-<br />
<br />
|log<br />
|<text><br />
|colspan="2"|latest access log lines (500)<br />
<br />
|-<br />
<br />
|log0<br />
|<text><br />
|colspan="2"|most recent log line<br />
<br />
|}<br />
<br />
<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*support for protocol versions 4.xx and 5.xx<br />
<br />
=== 3.7.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''WOLF SAFETY is a registered trade mark of ELP s.n.c.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Wolf8Access&diff=10363Wolf8Access2021-10-01T08:58:00Z<p>Gianluca: /* Authentication */</p>
<hr />
<div>HSYCO integrates the 8Access system by Wolf Safety through USB or Ethernet connection.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
=== W-LAN (or WP-LAN) module ===<br />
<br />
==== Protocol version 3.xx or lower ====<br />
<br />
If using the W-LAN Ethernet module, it must be configured using the '''Tibbo DS Manager''' tool.<br/><br />
You need to set its static IP address, port (default 1001) and serial communication parameters.<br/><br />
For the serial parameter, go to ''Settings > Channel1 tab'' and set the parameters as shown in the table below.<br />
<br />
==== Protocol version 4.xx or higher ====<br />
<br />
If using the WP-LAN Ethernet module the system works in DHCP mode, so you cannot set a static IP address. If you want a static IP address on your module please contact Wolf assistance before buying it.<br />
<br />
You have to set the serial number of the Wolf8Access MIND module in the I/O Server options.<br />
<br />
=== W-USB module ===<br />
<br />
If using the W-USB module, just configure HSYCO to use the following serial parameters:<br />
<br />
{| class="wikitable"<br />
| '''Baud rate'''<br />
| 115200<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 />
== HSYCO Configuration ==<br />
Add a WOLF8ACCESS 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 />
If using USB connection (W-USB module) crate a ''serial'' Comm port, otherwise, if using the Ethernet adapter (W-LAN module or WP-LAN), crate a ''server'' Comm port. For version 4.xx or higher, communication with the WP-LAN module implies TCP/IP protocol on port 8000.<br />
<br />
=== Authentication ===<br />
*'''Password''': wolf system 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 />
|serialnum<br />
|<br />
|<val><br />
|serial number of the Wolf8Access MIND board. Leave it empty for protocol 3.xx or lower<br />
<br />
|}<br />
<br />
== Datapoints ==<br />
<br />
Peripherals' numbers (p<n>) range from 0 to 7.<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 device<br />
<br />
|-<br />
<br />
|p<n>.key<br />
|<pos><br />
|R<br />
|peripheral <n> read the key saved in memory position <pos><br />
<br />
|-<br />
<br />
|rowspan="3" |p<n>.open<br />
|rowspan="2" |1<br />
|R<br />
|peripheral <n>'s door is open<br />
|-<br />
|W<br />
|open peripheral <n>'s relay<br />
|-<br />
|0<br />
|R<br />
|peripheral <n>'s door is closed<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.blocked<br />
|rowspan="2" |1<br />
|R<br />
|peripheral <n> is blocked (all non-manager keys disabled)<br />
|-<br />
|W<br />
|block peripheral <n> (disable all non-manager keys)<br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|peripheral <n> is un-blocked (all non-manager keys restored)<br />
|-<br />
|W<br />
|un-block peripheral <n> (restore all non-manager keys)<br />
<br />
|-<br />
<br />
|p<n>.k<m><br />
|erase<br />
|W<br />
|erase the key specified at position <m> from peripheral <n>'s memory<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.k<m>.blocked<br />
|rowspan="2" |1<br />
|R<br />
|key in memory position <m> of peripheral <n> is disabled<br />
|-<br />
|W<br />
|disable key in memory position <m> of peripheral <n><br />
|-<br />
|rowspan="2" |0<br />
|R<br />
|key in memory position <m> of peripheral <n> is enabled<br />
|-<br />
|W<br />
|enable key in memory position <m> of peripheral <n><br />
<br />
|-<br />
<br />
|p<n>.k<m>.sn<br />
|<val><br />
|R<br />
|the serial number of the key in memory position <m> of peripheral <n> is <val>. Updated only at startup and after a call to p<n>.mem = read<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.k<m>.manager<br />
|1<br />
|R<br />
|the key in memory position <m> of peripheral <n> is a manager key. Updated only at startup and after a call to p<n>.mem = read<br />
|-<br />
|0<br />
|R<br />
|the key in memory position <m> of peripheral <n> is a regular key. Updated only at startup and after a call to p<n>.mem = read<br />
<br />
|-<br />
<br />
|rowspan="4" |p<n>.mem<br />
|add<br />
|W<br />
|instruct peripheral <n> to add to memory the next read key<br />
|-<br />
|read<br />
|W<br />
|request to peripheral <n> the list of saved keys (see p<n>.k<m>.sn and p<n>.k<m>.manager datapoints)<br />
|-<br />
|clear<br />
|W<br />
|clear peripheral <n>'s memory<br />
|-<br />
|refresh<br />
|W<br />
|refresh peripheral <n>'s memory erasing all disabled keys<br />
<br />
|-<br />
<br />
|p<n>.mem.ok<br />
|<pos><br />
|R<br />
|the read key has been correctly saved in memory position <pos><br />
<br />
|-<br />
<br />
|p<n>.mem.err<br />
|<pos><br />
|R<br />
|the read key was already saved in memory position <pos><br />
<br />
|-<br />
<br />
|p<n>.mem.full<br />
|<val><br />
|R<br />
|the memory of peripheral <n> is full and it contains <val> keys<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.free<br />
|<val><br />
|R<br />
|peripheral <n> has <val> key slots available in its memory. Updated only after a "read" request<br />
|-<br />
|read<br />
|W<br />
|request the reading of available memory on peripheral <n><br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.clear<br />
|1<br />
|R<br />
|the memory of peripheral <n> has been cleared<br />
|-<br />
|0<br />
|R<br />
|error while clearing the memory of peripheral <n><br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.mem.refresh<br />
|1<br />
|R<br />
|the memory of peripheral <n> has been refreshed<br />
|-<br />
|0<br />
|R<br />
|error while refreshing the memory of peripheral <n><br />
<br />
|-<br />
<br />
|p<n>.alarm.forced<br />
|1<br />
|R<br />
|door forced alarm<br />
<br />
|-<br />
<br />
|rowspan="2" |p<n>.alarm.comm<br />
|1<br />
|R<br />
|communication error with peripheral <n><br />
|-<br />
|0<br />
|R<br />
|communication with peripheral <n> restored<br />
<br />
|-<br />
<br />
|p<n>.copy<br />
|<n1>:<from>:<to><br />
|W<br />
|copy to peripheral <n>'s memory all the keys in the specified range (<from> - <to>) of peripheral <n1>'s memory. (e.g. p1.copy = 0:10:20)<br />
<br />
|-<br />
<br />
|rowspan="3" |p<n>.reltime<br />
|rowspan="2" |<val><br />
|R<br />
|the relay time of peripheral <n> is set to <val>, in sec/10<br />
|-<br />
|W<br />
|set the relay time of peripheral <n> to <val>, in sec/10 (max 65535 = 109 min)<br />
|-<br />
|M<br />
|R<br />
|peripheral <n>'s relay is set as monostable<br />
<br />
|-<br />
<br />
|rowspan="3" |time<br />
|rowspan="2" |<val><br />
|R<br />
|time and date set on the module, value format: "yyyy-mm-dd hh:mm:ss". Updated only after a "read" request<br />
|-<br />
|W<br />
|set the module's time and date, value format: "yyyy-mm-dd hh:mm:ss"<br />
|-<br />
|read<br />
|W<br />
|request the module's time and date<br />
<br />
|}<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*support for protocol versions 4.xx and 5.xx<br />
<br />
=== 3.7.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''WOLF SAFETY is a registered trade mark of ELP s.n.c.</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Galaxy&diff=10360Galaxy2021-09-29T15:29:39Z<p>Gianluca: /* Release Notes */</p>
<hr />
<div>The Honeywell Galaxy Dimension panels are multi-area intrusion detection systems.<br />
<br />
The integration with HSYCO can be accomplished via RS-232 serial connection and has been tested with firmware version 6.80.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
Employ a RS-232 straight 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 />
| 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 />
== Galaxy Configuration ==<br />
<br />
It is required to configure the panel for HSYCO to be able to communicate with it. Follow these instructions:<br />
<br />
* Enable the engineer access<br />
*: Menu 48.1.1 - set to 1 (Enabled)<br />
* Enable engineer mode<br />
*: Enter engineer PIN, followed by ENT<br />
* Enable remote access and events reporting<br />
*: Menu 56.6.2 - set to 1 (SIA) <br />
*: Set SIA level to 4<br />
*: Enable (set to ON) all the events to be sent to HSYCO<br />
*: Menu 56.6.3 - set an account number (e.g. “0001”)<br />
<br />
== HSYCO Configuration ==<br />
Add a Galaxy 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 />
|pin<br />
|<br />
|<nowiki><code></nowiki><br />
|PIN code assigned to the “remote” user. This option is mandatory<br />
<br />
|-<br />
<br />
|maxzone<br />
|4158<br />
|0 ... 4158<br />
|highest zone number among the zones used on the panel. This option is recommended to improve the I/O Server's performances<br />
<br />
|-<br />
<br />
|maxgroup<br />
|32<br />
|0 ... 32<br />
|highest index among the groups used on the panel. This option is recommended to improve the I/O Server's performances<br />
<br />
|-<br />
<br />
|maxoutput<br />
|256<br />
|0 ... 256<br />
|highest index among the outputs used on the panel. This option is recommended to improve the I/O Server's performances<br />
<br />
|-<br />
<br />
|rowspan="2"|guiobject<br />
|rowspan="2"|true<br />
|true<br />
|enable support for the galaxy UI object<br />
|-<br />
|false<br />
|disable support for the galaxy UI object<br />
<br />
|-<br />
<br />
|rowspan="2"|guizones<br />
|rowspan="2"|false<br />
|true<br />
|enable the zones-related UISET actions<br />
|-<br />
|false<br />
|disable the zones-related UISET actions<br />
<br />
|-<br />
<br />
|rowspan="2"|guioutputs<br />
|rowspan="2"|false<br />
|true<br />
|enable the outputs-related UISET actions<br />
|-<br />
|false<br />
|disable the outputs-related UISET actions<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 />
|pollinterval<br />
|5<br />
|n > 0<br />
|the data acquisition interval, in seconds<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"|showall<br />
|rowspan="2"|false<br />
|true<br />
|in the zones list of the galaxy UI object show all the zones up to the number specified in the 'maxzone' option<br />
|-<br />
|false<br />
|in the zones list of the galaxy UI object show only the zones for which a name has been defined in galaxy.ini<br />
<br />
|-<br />
<br />
|rowspan="2"|dump<br />
|rowspan="2"|false<br />
|true<br />
|write in the logs the dump of the communication between the driver and the panel<br />
|-<br />
|false<br />
|the communication is not dumped in the logs<br />
<br />
|}<br />
<br />
=== galaxy.ini ===<br />
<br />
The galaxy.ini file is a specific configuration file located in the root directory.<br />
Here you can define the names of the zones so that they will be automatically added to the user interface. Add a new line for each zone using this format:<br />
<br />
<pre><br />
<io_server_id>.z<n> = <name><br />
</pre><br />
<br />
For instance:<br />
<br />
<pre><br />
gxy.z1001 = Entrance<br />
gxy.z1002 = Corridor<br />
gxy.z2001 = Room 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="8" |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" |tot<br />
|R<br />
|group <n> is armed in “away” mode<br />
|-<br />
|W<br />
|arm group <n> in “away” mode<br />
|-<br />
|rowspan="2" |part<br />
|R<br />
|group <n> is armed in “stay” mode<br />
|-<br />
|W<br />
|arm group <n> in “stay” mode<br />
|-<br />
|abort<br />
|W<br />
|abort group <n> arming<br />
|-<br />
|force<br />
|W<br />
|force group <n> arming<br />
<br />
|-<br />
<br />
|rowspan="3" |g<n>.alarm<br />
|0<br />
|R<br />
|no active alarm on group <n><br />
|-<br />
|1<br />
|R<br />
|alarm on group <n><br />
|-<br />
|reset<br />
|R<br />
|alarms reset required on group <n><br />
<br />
|-<br />
<br />
|rowspan="2" |g<n>.ready<br />
|0<br />
|R<br />
|group <n> is not ready to be armed<br />
|-<br />
|1<br />
|R<br />
|group <n> is ready to be armed<br />
<br />
|-<br />
<br />
|g<n>.reset<br />
|1<br />
|W<br />
|reset alarms on group <n><br />
<br />
|-<br />
<br />
|z<n>.name<br />
|<text><br />
|R<br />
|name/description of zone <n><br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.open<br />
|0<br />
|R<br />
|zone <n> is closed<br />
|-<br />
|1<br />
|R<br />
|zone <n> is open<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.alarm<br />
|0<br />
|R<br />
|zone <n> is not in alarm<br />
|-<br />
|1<br />
|R<br />
|zone <n> is in alarm<br />
<br />
|-<br />
<br />
|rowspan="4" |z<n>.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>.tamper<br />
|0<br />
|R<br />
|zone <n> is not tampered<br />
|-<br />
|1<br />
|R<br />
|zone <n> is tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.fault<br />
|0<br />
|R<br />
|zone <n> is not in fault<br />
|-<br />
|1<br />
|R<br />
|zone <n> is in fault<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.masked<br />
|0<br />
|R<br />
|zone <n> is not masked<br />
|-<br />
|1<br />
|R<br />
|zone <n> is masked<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.resistance<br />
|0<br />
|R<br />
|zone <n> has normal resistance status<br />
|-<br />
|1<br />
|R<br />
|zone <n> has high or low resistance<br />
<br />
|-<br />
<br />
|rowspan="2" |warning<br />
|0<br />
|R<br />
|all zones are working properly<br />
|-<br />
|1<br />
|R<br />
|at least one zone is in fault or is masked or has high or low resistance<br />
<br />
|-<br />
<br />
|rowspan="4" |o<n>.active<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 />
|log0<br />
|<text><br />
|R<br />
|latest line of the security log when a new entry is added, set back to blank after a short period<br />
<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== Galaxy Object ===<br />
<br />
{{:Galaxy_(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 />
|z<n>.name<br />
|value<br />
|colspan="2"|name assigned to zone <n> or its number if no name is defined<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 />
|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 />
|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="5" |g<n>.armed<br />
|0<br />
|disarm group <n><br />
|-<br />
|tot<br />
|arm group <n> in “away” mode<br />
|-<br />
|part<br />
|arm group <n> in “stay” mode<br />
|-<br />
|abort<br />
|abort group <n> arming<br />
|-<br />
|force<br />
|force group <n> arming<br />
<br />
|-<br />
<br />
|g<n>.reset<br />
|1<br />
|reset alarms on group <n><br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.bypassed<br />
|0<br />
|unbypass zone <n><br />
|-<br />
|1<br />
|bypass zone <n><br />
<br />
|-<br />
<br />
|rowspan="2" |o<n>.active<br />
|0<br />
|deactivate output <n><br />
|-<br />
|1<br />
|activate output <n><br />
<br />
|}<br />
<br />
== Log Files ==<br />
<br />
A permanent detailed record of all the Galaxy 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 Galaxy I/O Server are saved in the daily message.log files.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*added datapoints log0 and z<n>.name<br />
<br />
=== 3.5.1 === <br />
*minor fixes<br />
<br />
=== 3.5.0 === <br />
*added "dump" option<br />
<br />
=== 3.3.0 === <br />
*initial version release<br />
<br />
----<br />
<br />
<br />
''Honeywell and Galaxy Dimension are registered trademarks of Honeywell International Inc.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Galaxy&diff=10358Galaxy2021-09-28T10:56:38Z<p>Gianluca: /* Datapoints */</p>
<hr />
<div>The Honeywell Galaxy Dimension panels are multi-area intrusion detection systems.<br />
<br />
The integration with HSYCO can be accomplished via RS-232 serial connection and has been tested with firmware version 6.80.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
Employ a RS-232 straight 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 />
| 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 />
== Galaxy Configuration ==<br />
<br />
It is required to configure the panel for HSYCO to be able to communicate with it. Follow these instructions:<br />
<br />
* Enable the engineer access<br />
*: Menu 48.1.1 - set to 1 (Enabled)<br />
* Enable engineer mode<br />
*: Enter engineer PIN, followed by ENT<br />
* Enable remote access and events reporting<br />
*: Menu 56.6.2 - set to 1 (SIA) <br />
*: Set SIA level to 4<br />
*: Enable (set to ON) all the events to be sent to HSYCO<br />
*: Menu 56.6.3 - set an account number (e.g. “0001”)<br />
<br />
== HSYCO Configuration ==<br />
Add a Galaxy 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 />
|pin<br />
|<br />
|<nowiki><code></nowiki><br />
|PIN code assigned to the “remote” user. This option is mandatory<br />
<br />
|-<br />
<br />
|maxzone<br />
|4158<br />
|0 ... 4158<br />
|highest zone number among the zones used on the panel. This option is recommended to improve the I/O Server's performances<br />
<br />
|-<br />
<br />
|maxgroup<br />
|32<br />
|0 ... 32<br />
|highest index among the groups used on the panel. This option is recommended to improve the I/O Server's performances<br />
<br />
|-<br />
<br />
|maxoutput<br />
|256<br />
|0 ... 256<br />
|highest index among the outputs used on the panel. This option is recommended to improve the I/O Server's performances<br />
<br />
|-<br />
<br />
|rowspan="2"|guiobject<br />
|rowspan="2"|true<br />
|true<br />
|enable support for the galaxy UI object<br />
|-<br />
|false<br />
|disable support for the galaxy UI object<br />
<br />
|-<br />
<br />
|rowspan="2"|guizones<br />
|rowspan="2"|false<br />
|true<br />
|enable the zones-related UISET actions<br />
|-<br />
|false<br />
|disable the zones-related UISET actions<br />
<br />
|-<br />
<br />
|rowspan="2"|guioutputs<br />
|rowspan="2"|false<br />
|true<br />
|enable the outputs-related UISET actions<br />
|-<br />
|false<br />
|disable the outputs-related UISET actions<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 />
|pollinterval<br />
|5<br />
|n > 0<br />
|the data acquisition interval, in seconds<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"|showall<br />
|rowspan="2"|false<br />
|true<br />
|in the zones list of the galaxy UI object show all the zones up to the number specified in the 'maxzone' option<br />
|-<br />
|false<br />
|in the zones list of the galaxy UI object show only the zones for which a name has been defined in galaxy.ini<br />
<br />
|-<br />
<br />
|rowspan="2"|dump<br />
|rowspan="2"|false<br />
|true<br />
|write in the logs the dump of the communication between the driver and the panel<br />
|-<br />
|false<br />
|the communication is not dumped in the logs<br />
<br />
|}<br />
<br />
=== galaxy.ini ===<br />
<br />
The galaxy.ini file is a specific configuration file located in the root directory.<br />
Here you can define the names of the zones so that they will be automatically added to the user interface. Add a new line for each zone using this format:<br />
<br />
<pre><br />
<io_server_id>.z<n> = <name><br />
</pre><br />
<br />
For instance:<br />
<br />
<pre><br />
gxy.z1001 = Entrance<br />
gxy.z1002 = Corridor<br />
gxy.z2001 = Room 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="8" |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" |tot<br />
|R<br />
|group <n> is armed in “away” mode<br />
|-<br />
|W<br />
|arm group <n> in “away” mode<br />
|-<br />
|rowspan="2" |part<br />
|R<br />
|group <n> is armed in “stay” mode<br />
|-<br />
|W<br />
|arm group <n> in “stay” mode<br />
|-<br />
|abort<br />
|W<br />
|abort group <n> arming<br />
|-<br />
|force<br />
|W<br />
|force group <n> arming<br />
<br />
|-<br />
<br />
|rowspan="3" |g<n>.alarm<br />
|0<br />
|R<br />
|no active alarm on group <n><br />
|-<br />
|1<br />
|R<br />
|alarm on group <n><br />
|-<br />
|reset<br />
|R<br />
|alarms reset required on group <n><br />
<br />
|-<br />
<br />
|rowspan="2" |g<n>.ready<br />
|0<br />
|R<br />
|group <n> is not ready to be armed<br />
|-<br />
|1<br />
|R<br />
|group <n> is ready to be armed<br />
<br />
|-<br />
<br />
|g<n>.reset<br />
|1<br />
|W<br />
|reset alarms on group <n><br />
<br />
|-<br />
<br />
|z<n>.name<br />
|<text><br />
|R<br />
|name/description of zone <n><br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.open<br />
|0<br />
|R<br />
|zone <n> is closed<br />
|-<br />
|1<br />
|R<br />
|zone <n> is open<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.alarm<br />
|0<br />
|R<br />
|zone <n> is not in alarm<br />
|-<br />
|1<br />
|R<br />
|zone <n> is in alarm<br />
<br />
|-<br />
<br />
|rowspan="4" |z<n>.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>.tamper<br />
|0<br />
|R<br />
|zone <n> is not tampered<br />
|-<br />
|1<br />
|R<br />
|zone <n> is tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.fault<br />
|0<br />
|R<br />
|zone <n> is not in fault<br />
|-<br />
|1<br />
|R<br />
|zone <n> is in fault<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.masked<br />
|0<br />
|R<br />
|zone <n> is not masked<br />
|-<br />
|1<br />
|R<br />
|zone <n> is masked<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.resistance<br />
|0<br />
|R<br />
|zone <n> has normal resistance status<br />
|-<br />
|1<br />
|R<br />
|zone <n> has high or low resistance<br />
<br />
|-<br />
<br />
|rowspan="2" |warning<br />
|0<br />
|R<br />
|all zones are working properly<br />
|-<br />
|1<br />
|R<br />
|at least one zone is in fault or is masked or has high or low resistance<br />
<br />
|-<br />
<br />
|rowspan="4" |o<n>.active<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 />
|log0<br />
|<text><br />
|R<br />
|latest line of the security log when a new entry is added, set back to blank after a short period<br />
<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== Galaxy Object ===<br />
<br />
{{:Galaxy_(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 />
|z<n>.name<br />
|value<br />
|colspan="2"|name assigned to zone <n> or its number if no name is defined<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 />
|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 />
|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="5" |g<n>.armed<br />
|0<br />
|disarm group <n><br />
|-<br />
|tot<br />
|arm group <n> in “away” mode<br />
|-<br />
|part<br />
|arm group <n> in “stay” mode<br />
|-<br />
|abort<br />
|abort group <n> arming<br />
|-<br />
|force<br />
|force group <n> arming<br />
<br />
|-<br />
<br />
|g<n>.reset<br />
|1<br />
|reset alarms on group <n><br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.bypassed<br />
|0<br />
|unbypass zone <n><br />
|-<br />
|1<br />
|bypass zone <n><br />
<br />
|-<br />
<br />
|rowspan="2" |o<n>.active<br />
|0<br />
|deactivate output <n><br />
|-<br />
|1<br />
|activate output <n><br />
<br />
|}<br />
<br />
== Log Files ==<br />
<br />
A permanent detailed record of all the Galaxy 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 Galaxy I/O Server are saved in the daily message.log files.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.5.1 === <br />
*minor fixes<br />
<br />
=== 3.5.0 === <br />
*added "dump" option<br />
<br />
=== 3.3.0 === <br />
*initial version release<br />
<br />
----<br />
<br />
<br />
''Honeywell and Galaxy Dimension are registered trademarks of Honeywell International Inc.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Galaxy&diff=10357Galaxy2021-09-28T10:55:28Z<p>Gianluca: /* Datapoints */</p>
<hr />
<div>The Honeywell Galaxy Dimension panels are multi-area intrusion detection systems.<br />
<br />
The integration with HSYCO can be accomplished via RS-232 serial connection and has been tested with firmware version 6.80.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Communication ==<br />
<br />
Employ a RS-232 straight 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 />
| 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 />
== Galaxy Configuration ==<br />
<br />
It is required to configure the panel for HSYCO to be able to communicate with it. Follow these instructions:<br />
<br />
* Enable the engineer access<br />
*: Menu 48.1.1 - set to 1 (Enabled)<br />
* Enable engineer mode<br />
*: Enter engineer PIN, followed by ENT<br />
* Enable remote access and events reporting<br />
*: Menu 56.6.2 - set to 1 (SIA) <br />
*: Set SIA level to 4<br />
*: Enable (set to ON) all the events to be sent to HSYCO<br />
*: Menu 56.6.3 - set an account number (e.g. “0001”)<br />
<br />
== HSYCO Configuration ==<br />
Add a Galaxy 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 />
|pin<br />
|<br />
|<nowiki><code></nowiki><br />
|PIN code assigned to the “remote” user. This option is mandatory<br />
<br />
|-<br />
<br />
|maxzone<br />
|4158<br />
|0 ... 4158<br />
|highest zone number among the zones used on the panel. This option is recommended to improve the I/O Server's performances<br />
<br />
|-<br />
<br />
|maxgroup<br />
|32<br />
|0 ... 32<br />
|highest index among the groups used on the panel. This option is recommended to improve the I/O Server's performances<br />
<br />
|-<br />
<br />
|maxoutput<br />
|256<br />
|0 ... 256<br />
|highest index among the outputs used on the panel. This option is recommended to improve the I/O Server's performances<br />
<br />
|-<br />
<br />
|rowspan="2"|guiobject<br />
|rowspan="2"|true<br />
|true<br />
|enable support for the galaxy UI object<br />
|-<br />
|false<br />
|disable support for the galaxy UI object<br />
<br />
|-<br />
<br />
|rowspan="2"|guizones<br />
|rowspan="2"|false<br />
|true<br />
|enable the zones-related UISET actions<br />
|-<br />
|false<br />
|disable the zones-related UISET actions<br />
<br />
|-<br />
<br />
|rowspan="2"|guioutputs<br />
|rowspan="2"|false<br />
|true<br />
|enable the outputs-related UISET actions<br />
|-<br />
|false<br />
|disable the outputs-related UISET actions<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 />
|pollinterval<br />
|5<br />
|n > 0<br />
|the data acquisition interval, in seconds<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"|showall<br />
|rowspan="2"|false<br />
|true<br />
|in the zones list of the galaxy UI object show all the zones up to the number specified in the 'maxzone' option<br />
|-<br />
|false<br />
|in the zones list of the galaxy UI object show only the zones for which a name has been defined in galaxy.ini<br />
<br />
|-<br />
<br />
|rowspan="2"|dump<br />
|rowspan="2"|false<br />
|true<br />
|write in the logs the dump of the communication between the driver and the panel<br />
|-<br />
|false<br />
|the communication is not dumped in the logs<br />
<br />
|}<br />
<br />
=== galaxy.ini ===<br />
<br />
The galaxy.ini file is a specific configuration file located in the root directory.<br />
Here you can define the names of the zones so that they will be automatically added to the user interface. Add a new line for each zone using this format:<br />
<br />
<pre><br />
<io_server_id>.z<n> = <name><br />
</pre><br />
<br />
For instance:<br />
<br />
<pre><br />
gxy.z1001 = Entrance<br />
gxy.z1002 = Corridor<br />
gxy.z2001 = Room 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="8" |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" |tot<br />
|R<br />
|group <n> is armed in “away” mode<br />
|-<br />
|W<br />
|arm group <n> in “away” mode<br />
|-<br />
|rowspan="2" |part<br />
|R<br />
|group <n> is armed in “stay” mode<br />
|-<br />
|W<br />
|arm group <n> in “stay” mode<br />
|-<br />
|abort<br />
|W<br />
|abort group <n> arming<br />
|-<br />
|force<br />
|W<br />
|force group <n> arming<br />
<br />
|-<br />
<br />
|rowspan="3" |g<n>.alarm<br />
|0<br />
|R<br />
|no active alarm on group <n><br />
|-<br />
|1<br />
|R<br />
|alarm on group <n><br />
|-<br />
|reset<br />
|R<br />
|alarms reset required on group <n><br />
<br />
|-<br />
<br />
|rowspan="2" |g<n>.ready<br />
|0<br />
|R<br />
|group <n> is not ready to be armed<br />
|-<br />
|1<br />
|R<br />
|group <n> is ready to be armed<br />
<br />
|-<br />
<br />
|g<n>.reset<br />
|1<br />
|W<br />
|reset alarms on group <n><br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.open<br />
|0<br />
|R<br />
|zone <n> is closed<br />
|-<br />
|1<br />
|R<br />
|zone <n> is open<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.alarm<br />
|0<br />
|R<br />
|zone <n> is not in alarm<br />
|-<br />
|1<br />
|R<br />
|zone <n> is in alarm<br />
<br />
|-<br />
<br />
|rowspan="4" |z<n>.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>.tamper<br />
|0<br />
|R<br />
|zone <n> is not tampered<br />
|-<br />
|1<br />
|R<br />
|zone <n> is tampered<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.fault<br />
|0<br />
|R<br />
|zone <n> is not in fault<br />
|-<br />
|1<br />
|R<br />
|zone <n> is in fault<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.masked<br />
|0<br />
|R<br />
|zone <n> is not masked<br />
|-<br />
|1<br />
|R<br />
|zone <n> is masked<br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.resistance<br />
|0<br />
|R<br />
|zone <n> has normal resistance status<br />
|-<br />
|1<br />
|R<br />
|zone <n> has high or low resistance<br />
<br />
|-<br />
<br />
|rowspan="2" |warning<br />
|0<br />
|R<br />
|all zones are working properly<br />
|-<br />
|1<br />
|R<br />
|at least one zone is in fault or is masked or has high or low resistance<br />
<br />
|-<br />
<br />
|rowspan="4" |o<n>.active<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 />
|log0<br />
|<text><br />
|R<br />
|latest line of the security log when a new entry is added, set back to blank after a short period<br />
<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== Galaxy Object ===<br />
<br />
{{:Galaxy_(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 />
|z<n>.name<br />
|value<br />
|colspan="2"|name assigned to zone <n> or its number if no name is defined<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 />
|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 />
|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="5" |g<n>.armed<br />
|0<br />
|disarm group <n><br />
|-<br />
|tot<br />
|arm group <n> in “away” mode<br />
|-<br />
|part<br />
|arm group <n> in “stay” mode<br />
|-<br />
|abort<br />
|abort group <n> arming<br />
|-<br />
|force<br />
|force group <n> arming<br />
<br />
|-<br />
<br />
|g<n>.reset<br />
|1<br />
|reset alarms on group <n><br />
<br />
|-<br />
<br />
|rowspan="2" |z<n>.bypassed<br />
|0<br />
|unbypass zone <n><br />
|-<br />
|1<br />
|bypass zone <n><br />
<br />
|-<br />
<br />
|rowspan="2" |o<n>.active<br />
|0<br />
|deactivate output <n><br />
|-<br />
|1<br />
|activate output <n><br />
<br />
|}<br />
<br />
== Log Files ==<br />
<br />
A permanent detailed record of all the Galaxy 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 Galaxy I/O Server are saved in the daily message.log files.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.5.1 === <br />
*minor fixes<br />
<br />
=== 3.5.0 === <br />
*added "dump" option<br />
<br />
=== 3.3.0 === <br />
*initial version release<br />
<br />
----<br />
<br />
<br />
''Honeywell and Galaxy Dimension are registered trademarks of Honeywell International Inc.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Netatmo&diff=10353Netatmo2021-09-17T14:38:29Z<p>Gianluca: /* Datapoints */</p>
<hr />
<div>This driver can read status and control Netatmo smart radiator valves using HTTPS protocol.<br />
<br />
[[Category:I/O Server]]<br />
<br />
== Netatmo Configuration ==<br />
Firstly you have to sign up on https://www.netatmo.com/en-us and complete your profile.<br />
<br />
When you have created your account go to https://dev.netatmo.com and log in with your credentials, then go to section "My Apps" and create a new app (this procedure serves only for obtaining the two keys "client ID" and "client secret" that are necessary for the driver execution).<br />
<br />
If the App creation is successful you will receive the "client ID" and "client secret" keys from Netatmo, you can find them in your App section.<br />
<br />
== HSYCO Configuration ==<br />
Add the Netatmo I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:<br />
<br />
=== Authentication ===<br />
*'''User''': your Netatmo account username<br />
*'''Password''': your Netatmo account password<br />
<br />
<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 />
|pollinterval<br />
|1000<br />
|n >= 100<br />
|data acquisition interval, in milliseconds, from the power socket<br />
<br />
|-<br />
<br />
|clientid<br />
|<br />
|<key><br />
|"client ID" key sent from Netatmo, you can find it on https://dev.netatmo.com in your App section. ATTENTION: this field is mandatory<br />
<br />
|-<br />
<br />
|clientsecret<br />
|<br />
|<key><br />
|"client secret" key sent from Netatmo, you can find it on https://dev.netatmo.com in your App section. ATTENTION: this field is mandatory<br />
<br />
|}<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 />
|the driver has started correctly and is communicating with Netatmo API<br />
|-<br />
|offline<br />
|R<br />
|initialization of the driver failed or loop cycle failed<br />
<br />
|-<br />
<br />
|home.<home_id>.name<br />
|<text><br />
|R<br />
|name of your Netatmo home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.status<br />
|<text><br />
|R<br />
|general status of home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.name<br />
|<text><br />
|R<br />
|name of room_id associated to home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.type<br />
|<text><br />
|R<br />
|type of room_id associated to home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.module.<module_id>.name<br />
|<text><br />
|R<br />
|name of module_id associated to home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.module.<module_id>.type<br />
|<text><br />
|R<br />
|type of module_id associated to home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.module.<module_id>.battery<br />
|<val><br />
|R<br />
|battery level (in milliampere) of module_id<br />
<br />
|-<br />
<br />
|home.<home_id>.schedule.<schedule_id>.name<br />
|<text><br />
|R<br />
|name of schedule_id associated to home_id<br />
<br />
|-<br />
<br />
|home.<home_id>.schedule.<schedule_id>.hgtemp<br />
|<val><br />
|R<br />
|temperature (in celsius) relative to "frostguard" mode of schedule_id<br />
<br />
|-<br />
<br />
|home.<home_id>.schedule.<schedule_id>.awaytemp<br />
|<val><br />
|R<br />
|temperature (in celsius) relative to "away" mode of schedule_id<br />
<br />
|-<br />
<br />
|home.<home_id>.schedule.<schedule_id>.zone.<zone_id>.name<br />
|<text><br />
|R<br />
|name of zone_id associated to schedule_id<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.temp.measured<br />
|<val><br />
|R<br />
|actual temperature measured (in celsius) in room_id<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.temp.set<br />
|<val><br />
|R<br />
|temperature set by the system (manual or scheduled) (in celsius) in room_id<br />
<br />
|-<br />
<br />
|rowspan="2"|home.<home_id>.room.<room_id>.temp.mode<br />
|schedule<br />
|R<br />
|temperature in room_id follows schedule rules<br />
|-<br />
|manual<br />
|R<br />
|temperature in room_id is in manual mode<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.temp.setpoint.starttime<br />
|<timestamp><br />
|R<br />
|timestamp (epoch time in seconds) at which the current temperature set mode starts<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.temp.setpoint.endtime<br />
|<timestamp><br />
|R<br />
|timestamp (epoch time in seconds) at which the current temperature set mode ends<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.settemp.manual<br />
|<val>&#124;<n><br />
|W<br />
|set temperature in room_id at <val> (celsius) for <n> hours<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.settemp.max<br />
|<n><br />
|W<br />
|set temperature in room_id at max (30° celsius) for <n> hours<br />
<br />
|-<br />
<br />
|home.<home_id>.room.<room_id>.settemp<br />
|home<br />
|W<br />
|set temperature in room_id as set in schedule associated to room_id (exit manual mode)<br />
<br />
|-<br />
<br />
|home.<home_id>.setmode.schedule<br />
|<schedule_id><br />
|W<br />
|switch schedule mode associated to home_id to schedule_id<br />
<br />
|-<br />
<br />
|home.<home_id>.setmode.schedule.away<br />
|<n><br />
|W<br />
|switch schedule mode associated to home_id to "away" mode for <n> hours<br />
<br />
|-<br />
<br />
|home.<home_id>.setmode.schedule.hg<br />
|<n><br />
|W<br />
|switch schedule mode associated to home_id to "frostguard" mode for <n> hours<br />
<br />
|}<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''Netatmo is a registered trademarks of Netatmo''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Keypad&diff=10352Keypad2021-09-17T12:41:44Z<p>Gianluca: /* Keypad attributes */</p>
<hr />
<div>{{UI Object Header}}<br />
Keypad field that allows the user to input a numeric value.<br />
Clicking on the field will open a popup with a [[KeypadPanel|keypad panel]].<br />
Can be used with a [[submit]] button.<br />
<br />
The keypad performs range and number of digits validation of the input data.<br />
<br />
Requires an ID.<br />
<br />
For a tutorial on using this object, see [[Working with Forms]]<br />
<br />
[[File:UI Object keypad.png]]<br />
<br />
== Parameters ==<br />
*'''id''': the object's ID, used by UISets<br />
*'''position''': the object's position. Use the pixels or rows and columns coordinates format<br />
*'''min''': the smallest accepted value<br />
*'''max''': the largest accepted value<br />
*'''digits''': the number of required digits; leave empty to accept a variable number of digits<br />
*'''decimals''': the maximum number of decimal digits; leave blank for integer numbers<br />
*'''type''': set to "input" for ordinary data; set to "password" to hide the digits<br />
*'''label''': the label shown at the top of the keypad panel<br />
*'''css''': optional. Defines the CSS style for the keypad field<br />
<br />
== Syntax ==<br />
(keypad!id <pos>; <min>; <max>; <digits>; <decimals>; <type>; [<label>]; [<css>])<br />
E.g.<br />
(keypad!mykeypad x3y20; 0; 100; 2;; input; Label;)<br />
<br />
== UI Attributes ==<br />
{{UI Object Attributes (Common)}}<br />
{{UI Object Attributes (Field)}}<br />
===Keypad attributes===<br />
{| class="wikitable"<br />
!Name<br />
!Value<br />
!Description<br />
|-<br />
<br />
|value<br />
|number<br />
|Keypad value<br />
|-<br />
<br />
|min<br />
|number<br />
|The smallest accepted value<br />
|-<br />
<br />
|max<br />
|number<br />
|The largest accepted value<br />
|-<br />
<br />
|digits<br />
|number<br />
|The number of required digits; leave empty to accept a variable number of digits<br />
|-<br />
<br />
|decimals<br />
|number<br />
|The maximum number of decimal digits; leave blank for integer numbers<br />
|-<br />
<br />
|rowspan="2"|type<br />
|input<br />
|Show the digits<br />
|-<br />
|password<br />
|Hide the digit<br />
|-<br />
<br />
|label<br />
|string<br />
|The label shown at the top of the keypad panel<br />
|-<br />
|}</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5&diff=10342Alert52021-09-10T15:18:14Z<p>Gianluca: /* Datapoints */</p>
<hr />
<div>Felma's Alert5 is a supervisor system that can control anti-intrusion, fire prevention, access control and TVCC systems. The communication with Hsyco is via HTTP protocol.<br />
<br />
== HSYCO Configuration ==<br />
Add the ALERT5 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''': host name or IP address of the supervisor<br />
*'''IP Port''': TCP/IP port assigned to the supervisor<br />
<br />
=== Authentication ===<br />
*'''User''': username to access the supervisor<br />
*'''Password''': password to access the supervisor<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 />
|pollinterval<br />
|1000<br />
|n > 1000<br />
|the data acquisition interval, in milliseconds<br />
<br />
|-<br />
<br />
|logsize<br />
|300<br />
|n &ge; 0<br />
|the number of log lines to display in the UI object<br />
<br />
|}<br />
<br />
<br />
<br />
== Datapoints ==<br />
<br />
The hierarchical structure is: System > Area > Device (every system can contain multiple areas and every area can contain multiple devices)<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 />
|the driver started correctly<br />
|-<br />
|offline<br />
|R<br />
|the driver didn't start correctly or loop cycle failed<br />
<br />
|-<br />
<br />
|global.error<br />
|<num><br />
|R<br />
|error code, 0 means no error<br />
<br />
|-<br />
<br />
|global.desc<br />
|<text><br />
|R<br />
|error description, OK means no error<br />
<br />
|-<br />
<br />
|global.api.name<br />
|<text><br />
|R<br />
|current API name<br />
<br />
|-<br />
<br />
|global.api.version<br />
|<val><br />
|R<br />
|current API version<br />
<br />
|-<br />
<br />
|sys.<sys_id>.desc<br />
|<text><br />
|R<br />
|description of sys_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.type<br />
|<text><br />
|R<br />
|type of sys_id<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.connection<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not online (logical state)<br />
|-<br />
|1<br />
|R<br />
|sys_id online (logical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.system<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not online (physical state)<br />
|-<br />
|1<br />
|R<br />
|sys_id online (physical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|sys_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id ok<br />
|-<br />
|1<br />
|R<br />
|sys_id fault<br />
<br />
|-<br />
<br />
|sys.<sys_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to sys_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.desc<br />
|<text><br />
|R<br />
|description of area_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.code<br />
|<num><br />
|R<br />
|code of area_id<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.status.connection<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id disarmed (logical state)<br />
|-<br />
|1<br />
|R<br />
|area_id armed (logical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.status.area<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id disarmed (physical state)<br />
|-<br />
|1<br />
|R<br />
|area_id armed (physical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|area_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id ok<br />
|-<br />
|1<br />
|R<br />
|area_id fault<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to area_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.dev.<dev_id>.desc<br />
|<text><br />
|R<br />
|description of dev_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.dev.<dev_id>.code<br />
|<num><br />
|R<br />
|code of dev_id<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.dev.<dev_id>.status.bypass<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id is bypassed<br />
|-<br />
|1<br />
|R<br />
|area_id armed<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.dev.<dev_id>.status.open<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id is closed (or is not active)<br />
|-<br />
|1<br />
|R<br />
|dev_id is open (or is active)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.dev.<dev_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|dev_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.dev.<dev_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id ok<br />
|-<br />
|1<br />
|R<br />
|dev_id fault<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to dev_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for sys_id<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for area_id<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for dev_id<br />
<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== Alert5 Object ===<br />
<br />
{{:Alert5_(I/O Server Object)}}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
<br />
|-<br />
<br />
|log<br />
|<text><br />
|colspan="2"|latest security log lines (as many as specified by the 'logsize' option)<br />
<br />
|-<br />
<br />
|log0<br />
|<text><br />
|colspan="2"|latest security log (it will vanish after 5 seconds)<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.bypass<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id bypassed<br />
|-<br />
|false<br />
|dev_id not not bypassed<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.open<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id active<br />
|-<br />
|false<br />
|dev_id not not active<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.alarm<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id in alarm<br />
|-<br />
|false<br />
|dev_id not not in alarm<br />
<br />
|}<br />
<br />
== Log Files ==<br />
If a ALERT5 I/O Server 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 />
2021.09.10 11:02:17.357 - alert5 - HSYCO ONLINE<br />
2021.09.10 11:44:08.740 - alert5 - 10-09-2021 11:44:07 | Evento: Transazione valida in ingresso, Apparato: GESTIONE ACCESSI CED, Area: RETRO FELMA, Dispositivo: RETRO FELMA, Anagrafica: FRIGERIO GIANNI<br />
2021.09.10 11:44:25.923 - alert5 - 10-09-2021 11:44:25 | Evento: Transazione valida in ingresso, Apparato: GESTIONE ACCESSI CED, Area: PORTONE SCORREVOLE, Dispositivo: PORTONE SCORREVOLE, Anagrafica: CIONI MATTEO<br />
</pre><br />
<br />
Other information about the ALERT5 driver are stored in the message.log daily file.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''Alert5 is a registered trademarks of Felma S.r.l.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5_(I/O_Server_Object)&diff=10341Alert5 (I/O Server Object)2021-09-10T15:16:06Z<p>Gianluca: </p>
<hr />
<div><noinclude>{{UI Object Header}}</noinclude><br />
The user interface for the Alert5 system:<br />
<br />
[[File:Alert5_UI_Object_1.png|200px|border]]<br />
[[File:Alert5_UI_Object_2.png|200px|border]]<br />
[[File:Alert5_UI_Object_3.png|200px|border]]<br />
[[File:Alert5_UI_Object_4.png|200px|border]]<br />
<br />
The first image shows the list of configured systems, you can reset the alarm for every single system.<br />
<br />
The second image shows all areas associated to the selected system, you can arm/disarm every single area. You can also arm/disarm alla areas of the selected system together.<br />
<br />
The third image shows all devices associated to the selected system and area, you can bypass/unbypass every single device. The four icons inside device popup represents in order: state(open/closed or active/inactive), alarm, fault, bypass.<br />
<br />
The fourth image shows the most recent logs of Alert5 system.<br />
<br />
The icon on top of the page will turn white when an area is in alarm.<br />
<br />
The (alert5) object is listed in the Project Editor’s new object list only when at least one Alert5 I/O Server is defined<br />
<noinclude><br />
For further details refer to the [[Alert5 | Alert5 I/O Server Application Note]].<br />
</noinclude><br />
<includeonly>==</includeonly>== Parameters ==<includeonly>==</includeonly><br />
*'''server id''': the server ID. Supports [[Redirect variables]]<br />
*'''position''': the object's position. Use the pixels or rows and columns coordinates format<br />
<br />
<includeonly>==</includeonly>== Syntax ==<includeonly>==</includeonly><br />
(xgenconnect <server id>; <position>)<br />
E.g.<br />
(xgenconnect xgen; x10y20)</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5_(I/O_Server_Object)&diff=10340Alert5 (I/O Server Object)2021-09-10T15:15:22Z<p>Gianluca: </p>
<hr />
<div><noinclude>{{UI Object Header}}</noinclude><br />
The user interface for the Alert5 system:<br />
<br />
[[File:Alert5_UI_Object_1.png|200px|border]]<br />
[[File:Alert5_UI_Object_2.png|200px|border]]<br />
[[File:Alert5_UI_Object_3.png|200px|border]]<br />
[[File:Alert5_UI_Object_4.png|200px|border]]<br />
<br />
The first image shows the list of configured systems, you can reset the alarm for every single system.<br />
<br />
The second image shows all areas associated to the selected system, you can arm/disarm every single area. You can also arm/disarm alla areas of the selected system together.<br />
<br />
The third image shows all devices associated to the selected system and area, you can bypass/unbypass every single device. The four icons inside device popup represents in order: state(open/closed or active/inactive), alarm, fault, bypass.<br />
<br />
The fourth image shows the most recent logs of Alert5 system.<br />
<br />
The icon on top of the page will turn white when an area is in alarm.<br />
<br />
The (xgenconnect) object is listed in the Project Editor’s new object list only when at least one XGenConnect I/O Server is defined<br />
<noinclude><br />
For further details refer to the [[Alert5 | Alert5 I/O Server Application Note]].<br />
</noinclude><br />
<includeonly>==</includeonly>== Parameters ==<includeonly>==</includeonly><br />
*'''server id''': the server ID. Supports [[Redirect variables]]<br />
*'''position''': the object's position. Use the pixels or rows and columns coordinates format<br />
<br />
<includeonly>==</includeonly>== Syntax ==<includeonly>==</includeonly><br />
(xgenconnect <server id>; <position>)<br />
E.g.<br />
(xgenconnect xgen; x10y20)</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5_(I/O_Server_Object)&diff=10339Alert5 (I/O Server Object)2021-09-10T15:15:00Z<p>Gianluca: </p>
<hr />
<div><noinclude>{{UI Object Header}}</noinclude><br />
The user interface for the Alert5 system:<br />
<br />
[[File:Alert5_UI_Object_1.png|200px|border]]<br />
[[File:Alert5_UI_Object_2.png|200px|border]]<br />
[[File:Alert5_UI_Object_3.png|200px|border]]<br />
[[File:Alert5_UI_Object_4.png|200px|border]]<br />
<br />
The first image shows the list of configured systems, you can reset the alarm for every single system.<br />
<br />
The second image shows all areas associated to the selected system, you can arm/disarm every single area. You can also arm/disarm alla areas of the system together.<br />
<br />
The third image shows all devices associated to the selected system and area, you can bypass/unbypass every single device. The four icons inside device popup represents in order: state(open/closed or active/inactive), alarm, fault, bypass.<br />
<br />
The fourth image shows the most recent logs of Alert5 system.<br />
<br />
The icon on top of the page will turn white when an area is in alarm.<br />
<br />
The (xgenconnect) object is listed in the Project Editor’s new object list only when at least one XGenConnect I/O Server is defined<br />
<noinclude><br />
For further details refer to the [[Alert5 | Alert5 I/O Server Application Note]].<br />
</noinclude><br />
<includeonly>==</includeonly>== Parameters ==<includeonly>==</includeonly><br />
*'''server id''': the server ID. Supports [[Redirect variables]]<br />
*'''position''': the object's position. Use the pixels or rows and columns coordinates format<br />
<br />
<includeonly>==</includeonly>== Syntax ==<includeonly>==</includeonly><br />
(xgenconnect <server id>; <position>)<br />
E.g.<br />
(xgenconnect xgen; x10y20)</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5_(I/O_Server_Object)&diff=10338Alert5 (I/O Server Object)2021-09-10T15:14:35Z<p>Gianluca: </p>
<hr />
<div><noinclude>{{UI Object Header}}</noinclude><br />
The user interface for the Alert5 system:<br />
<br />
[[File:Alert5_UI_Object_1.png|200px|border]]<br />
[[File:Alert5_UI_Object_2.png|200px|border]]<br />
[[File:Alert5_UI_Object_3.png|200px|border]]<br />
[[File:Alert5_UI_Object_4.png|200px|border]]<br />
<br />
The first image shows the list of configured systems, you can reset the alarm for all configured systems.<br />
<br />
The second image shows all areas associated to the selected system, you can arm/disarm every single area. You can also arm/disarm alla areas of the system together.<br />
<br />
The third image shows all devices associated to the selected system and area, you can bypass/unbypass every single device. The four icons inside device popup represents in order: state(open/closed or active/inactive), alarm, fault, bypass.<br />
<br />
The fourth image shows the most recent logs of Alert5 system.<br />
<br />
The icon on top of the page will turn white when an area is in alarm.<br />
<br />
The (xgenconnect) object is listed in the Project Editor’s new object list only when at least one XGenConnect I/O Server is defined<br />
<noinclude><br />
For further details refer to the [[Alert5 | Alert5 I/O Server Application Note]].<br />
</noinclude><br />
<includeonly>==</includeonly>== Parameters ==<includeonly>==</includeonly><br />
*'''server id''': the server ID. Supports [[Redirect variables]]<br />
*'''position''': the object's position. Use the pixels or rows and columns coordinates format<br />
<br />
<includeonly>==</includeonly>== Syntax ==<includeonly>==</includeonly><br />
(xgenconnect <server id>; <position>)<br />
E.g.<br />
(xgenconnect xgen; x10y20)</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5_(I/O_Server_Object)&diff=10337Alert5 (I/O Server Object)2021-09-10T15:14:19Z<p>Gianluca: </p>
<hr />
<div><noinclude>{{UI Object Header}}</noinclude><br />
The user interface for the Alert5 system:<br />
<br />
[[File:Alert5_UI_Object_1.png|200px|border]]<br />
[[File:Alert5_UI_Object_2.png|200px|border]]<br />
[[File:Alert5_UI_Object_3.png|200px|border]]<br />
[[File:Alert5_UI_Object_4.png|200px|border]]<br />
<br />
The first image shows the list of configured systems, you can set reset the alarm for all configured systems.<br />
<br />
The second image shows all areas associated to the selected system, you can arm/disarm every single area. You can also arm/disarm alla areas of the system together.<br />
<br />
The third image shows all devices associated to the selected system and area, you can bypass/unbypass every single device. The four icons inside device popup represents in order: state(open/closed or active/inactive), alarm, fault, bypass.<br />
<br />
The fourth image shows the most recent logs of Alert5 system.<br />
<br />
The icon on top of the page will turn white when an area is in alarm.<br />
<br />
The (xgenconnect) object is listed in the Project Editor’s new object list only when at least one XGenConnect I/O Server is defined<br />
<noinclude><br />
For further details refer to the [[Alert5 | Alert5 I/O Server Application Note]].<br />
</noinclude><br />
<includeonly>==</includeonly>== Parameters ==<includeonly>==</includeonly><br />
*'''server id''': the server ID. Supports [[Redirect variables]]<br />
*'''position''': the object's position. Use the pixels or rows and columns coordinates format<br />
<br />
<includeonly>==</includeonly>== Syntax ==<includeonly>==</includeonly><br />
(xgenconnect <server id>; <position>)<br />
E.g.<br />
(xgenconnect xgen; x10y20)</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5&diff=10336Alert52021-09-10T14:52:37Z<p>Gianluca: /* XGenConnect Object */</p>
<hr />
<div>Felma's Alert5 is a supervisor system that can control anti-intrusion, fire prevention, access control and TVCC systems. The communication with Hsyco is via HTTP protocol.<br />
<br />
== HSYCO Configuration ==<br />
Add the ALERT5 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''': host name or IP address of the supervisor<br />
*'''IP Port''': TCP/IP port assigned to the supervisor<br />
<br />
=== Authentication ===<br />
*'''User''': username to access the supervisor<br />
*'''Password''': password to access the supervisor<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 />
|pollinterval<br />
|1000<br />
|n > 1000<br />
|the data acquisition interval, in milliseconds<br />
<br />
|-<br />
<br />
|logsize<br />
|300<br />
|n &ge; 0<br />
|the number of log lines to display in the UI object<br />
<br />
|}<br />
<br />
<br />
<br />
== Datapoints ==<br />
<br />
The hierarchical structure is: System > Area > Device (every system can contain multiple areas and every area can contain multiple devices)<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 />
|the driver started correctly<br />
|-<br />
|offline<br />
|R<br />
|the driver didn't start correctly or loop cycle failed<br />
<br />
|-<br />
<br />
|global.error<br />
|<num><br />
|R<br />
|error code, 0 means no error<br />
<br />
|-<br />
<br />
|global.desc<br />
|<text><br />
|R<br />
|error description, OK means no error<br />
<br />
|-<br />
<br />
|global.api.name<br />
|<text><br />
|R<br />
|current API name<br />
<br />
|-<br />
<br />
|global.api.version<br />
|<val><br />
|R<br />
|current API version<br />
<br />
|-<br />
<br />
|sys.<sys_id>.desc<br />
|<text><br />
|R<br />
|description of sys_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.type<br />
|<text><br />
|R<br />
|type of sys_id<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.connection<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not online (logical state)<br />
|-<br />
|1<br />
|R<br />
|sys_id online (logical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.system<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not online (physical state)<br />
|-<br />
|1<br />
|R<br />
|sys_id online (physical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|sys_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|sys_id ok<br />
|-<br />
|1<br />
|R<br />
|sys_id fault<br />
<br />
|-<br />
<br />
|sys.<sys_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to sys_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.desc<br />
|<text><br />
|R<br />
|description of area_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.code<br />
|<num><br />
|R<br />
|code of area_id<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.status.connection<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id disarmed (logical state)<br />
|-<br />
|1<br />
|R<br />
|area_id armed (logical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.status.area<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id disarmed (physical state)<br />
|-<br />
|1<br />
|R<br />
|area_id armed (physical state)<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|area_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|area_id ok<br />
|-<br />
|1<br />
|R<br />
|area_id fault<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to area_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.dev.<dev_id>.desc<br />
|<text><br />
|R<br />
|description of dev_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.area.<area_id>.dev.<dev_id>.code<br />
|<num><br />
|R<br />
|code of dev_id<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.dev.<dev_id>.status.bypass<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id is bypassed<br />
|-<br />
|1<br />
|R<br />
|area_id armed<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<areaId>.dev.<dev_id>.status.open<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id not active<br />
|-<br />
|1<br />
|R<br />
|dev_id active<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.dev.<dev_id>.status.alarm<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id not in alarm<br />
|-<br />
|1<br />
|R<br />
|dev_id in alarm<br />
<br />
|-<br />
<br />
|rowspan="3"|sys.<sys_id>.area.<area_id>.dev.<dev_id>.status.fault<br />
|&ndash;1<br />
|R<br />
|undefined state<br />
|-<br />
|0<br />
|R<br />
|dev_id ok<br />
|-<br />
|1<br />
|R<br />
|dev_id fault<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id>.desc<br />
|<text><br />
|R<br />
|description of command_id associated to dev_id<br />
<br />
|-<br />
<br />
|sys.<sys_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for sys_id<br />
<br />
|-<br />
<br />
|area.<area_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for area_id<br />
<br />
|-<br />
<br />
|dev.<dev_id>.command.<command_id><br />
|1<br />
|W<br />
|exec command_id for dev_id<br />
<br />
|}<br />
<br />
== User Interface ==<br />
<br />
=== Alert5 Object ===<br />
<br />
{{:Alert5_(I/O Server Object)}}<br />
<br />
=== UISET Actions ===<br />
<br />
{| class="wikitable"<br />
!ID<br />
!Attribute<br />
!colspan="2"|Set to<br />
<br />
|-<br />
<br />
|log<br />
|<text><br />
|colspan="2"|latest security log lines (as many as specified by the 'logsize' option)<br />
<br />
|-<br />
<br />
|log0<br />
|<text><br />
|colspan="2"|latest security log (it will vanish after 5 seconds)<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.bypass<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id bypassed<br />
|-<br />
|false<br />
|dev_id not not bypassed<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.open<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id active<br />
|-<br />
|false<br />
|dev_id not not active<br />
<br />
|-<br />
<br />
|rowspan="2"|dev.<dev_id>.status.alarm<br />
|rowspan="2"|visible<br />
|true<br />
|dev_id in alarm<br />
|-<br />
|false<br />
|dev_id not not in alarm<br />
<br />
|}<br />
<br />
== Log Files ==<br />
If a ALERT5 I/O Server 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 />
2021.09.10 11:02:17.357 - alert5 - HSYCO ONLINE<br />
2021.09.10 11:44:08.740 - alert5 - 10-09-2021 11:44:07 | Evento: Transazione valida in ingresso, Apparato: GESTIONE ACCESSI CED, Area: RETRO FELMA, Dispositivo: RETRO FELMA, Anagrafica: FRIGERIO GIANNI<br />
2021.09.10 11:44:25.923 - alert5 - 10-09-2021 11:44:25 | Evento: Transazione valida in ingresso, Apparato: GESTIONE ACCESSI CED, Area: PORTONE SCORREVOLE, Dispositivo: PORTONE SCORREVOLE, Anagrafica: CIONI MATTEO<br />
</pre><br />
<br />
Other information about the ALERT5 driver are stored in the message.log daily file.<br />
<br />
== Release Notes ==<br />
<br />
=== 3.8.0 ===<br />
*initial release<br />
<br />
----<br />
<br />
<br />
''Alert5 is a registered trademarks of Felma S.r.l.''</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5_(I/O_Server_Object)&diff=10335Alert5 (I/O Server Object)2021-09-10T14:52:11Z<p>Gianluca: </p>
<hr />
<div><noinclude>{{UI Object Header}}</noinclude><br />
The user interface for the Alert5 system:<br />
<br />
[[File:Alert5_UI_Object_1.png|200px|border]]<br />
[[File:Alert5_UI_Object_2.png|200px|border]]<br />
[[File:Alert5_UI_Object_3.png|200px|border]]<br />
[[File:Alert5_UI_Object_4.png|200px|border]]<br />
<br />
The first image shows the list of configured areas. You can set the alarm to partial level or away level for all the areas, otherwise you can open a popup on a dedicated area and set the alarm level only for that one. The two icons on the top of the page represent in order: area tamper (at least one area is in tamper state), area alarm (at least one area is in alarm state).<br />
<br />
The second image shows the popup associated to a zone; the five icons shown inside the popup represent in order: zone open, zone alarm, zone tamper, zone bypassed, zone chime. Inside the popup you can bypass/unbypass the selected zone and you can activate/deactivate the zone chime.<br />
<br />
The (xgenconnect) object is listed in the Project Editor’s new object list only when at least one XGenConnect I/O Server is defined<br />
<noinclude><br />
For further details refer to the [[Alert5 | Alert5 I/O Server Application Note]].<br />
</noinclude><br />
<includeonly>==</includeonly>== Parameters ==<includeonly>==</includeonly><br />
*'''server id''': the server ID. Supports [[Redirect variables]]<br />
*'''position''': the object's position. Use the pixels or rows and columns coordinates format<br />
<br />
<includeonly>==</includeonly>== Syntax ==<includeonly>==</includeonly><br />
(xgenconnect <server id>; <position>)<br />
E.g.<br />
(xgenconnect xgen; x10y20)</div>Gianlucahttps://wiki.hsyco.com/3.8/index.php?title=Alert5_(I/O_Server_Object)&diff=10334Alert5 (I/O Server Object)2021-09-10T14:51:46Z<p>Gianluca: </p>
<hr />
<div><noinclude>{{UI Object Header}}</noinclude><br />
The user interface for the Alert5 system:<br />
<br />
[[File:Alert5_UI_Object_1.png|200px|border]]<br />
[[File:Alert5_UI_Object_2.png|200px|border]]<br />
[[File:Alert5_UI_Object_3.png|200px|border]]<br />
[[File:Alert5_UI_Object_4.png|200px|border]]<br />
<br />
The first image shows the list of configured areas. You can set the alarm to partial level or away level for all the areas, otherwise you can open a popup on a dedicated area and set the alarm level only for that one. The two icons on the top of the page represent in order: area tamper (at least one area is in tamper state), area alarm (at least one area is in alarm state).<br />
<br />
The second image shows the popup associated to a zone; the five icons shown inside the popup represent in order: zone open, zone alarm, zone tamper, zone bypassed, zone chime. Inside the popup you can bypass/unbypass the selected zone and you can activate/deactivate the zone chime.<br />
<br />
The (xgenconnect) object is listed in the Project Editor’s new object list only when at least one XGenConnect I/O Server is defined<br />
<noinclude><br />
For further details refer to the [[XGenConnect | XGenConnect I/O Server Application Note]].<br />
</noinclude><br />
<includeonly>==</includeonly>== Parameters ==<includeonly>==</includeonly><br />
*'''server id''': the server ID. Supports [[Redirect variables]]<br />
*'''position''': the object's position. Use the pixels or rows and columns coordinates format<br />
<br />
<includeonly>==</includeonly>== Syntax ==<includeonly>==</includeonly><br />
(xgenconnect <server id>; <position>)<br />
E.g.<br />
(xgenconnect xgen; x10y20)</div>Gianluca