Difference between revisions of "Hesa"
(3 intermediate revisions by one other user not shown) | |||
Line 72: | Line 72: | ||
|logsize | |logsize | ||
− | | | + | |20 |
|n ≥ 0 | |n ≥ 0 | ||
|the number of log lines to display in the UI object | |the number of log lines to display in the UI object | ||
Line 588: | Line 588: | ||
|0 | |0 | ||
|R | |R | ||
− | | | + | |HQESP expanders OK |
|- | |- | ||
|1 | |1 | ||
|R | |R | ||
− | | | + | |HQESP expander(s) tampered |
|- | |- | ||
Line 643: | Line 643: | ||
|0 | |0 | ||
|R | |R | ||
− | |no | + | |no HQVOX voice card detected |
|- | |- | ||
|1 | |1 | ||
|R | |R | ||
− | | | + | |HQVOX voice card detected |
+ | |||
+ | |- | ||
+ | |||
+ | |log0 | ||
+ | |<text> | ||
+ | |R | ||
+ | |reports the latest line of the security log when a new entry is added | ||
|} | |} | ||
Line 912: | Line 919: | ||
== Release Notes == | == Release Notes == | ||
+ | |||
+ | === 3.6.0 === | ||
+ | *added datapoint "log0" | ||
=== 3.5.1 === | === 3.5.1 === |
Latest revision as of 07:45, 19 July 2019
Hesa Quaranta panels are multi-area intrusion detection systems.
The integration with HSYCO can be accomplished via direct control through the RS-232 port on the board.
The HESA I/O Server in HSYCO supports the integration of more than one unit within the same HSYCO interface.
Contents
Communication
Employ a female-female RS-232 crossed cable to connect the panel directly to HSYCO or to an Ethernet/RS-232 gateway.
RS-232 parameters:
Baud rate | 115200 (newer models) |
57600 (older models) | |
Data bits | 8 |
Stop bit | 1 |
Parity | even |
Flow control | none |
HSYCO Configuration
Add a HESA I/O Server in the I/O Servers section of the Settings and set its parameters:
Communication
- Comm ID: select the comm port the device is connected to.
High Availability
- Shutdown when inactive: defaults to true.
Options
ID | Default | Values | Description |
---|---|---|---|
gui | true | true | enable support for the UI object, UISET actions and USER commands |
false | disable UI support | ||
startupevents | false | true | generate IO events also during the driver’s start-up phase |
false | start generating events only after HSYCO is aligned with the current status of the system | ||
logsize | 20 | n ≥ 0 | the number of log lines to display in the UI object |
pollinterval | 4 | n > 0 | the data acquisition interval, in seconds |
mod | Q15 | the panel model to control. This option is required | |
Q50 | |||
Q100 | |||
pin | <code> | use the specified user code to perform operations that require user authentication. If this option is not specified it will be required to manually insert the pin every time such operations are performed | |
pintimeout | 10 | n > 0 | expiration time (in seconds) of pin entered from the GUI object |
multicommand | false | true | allow for multiple commands from the GUI object during pin validity time |
false | require to enter the pin code for each operation from the GUI object |
hesa.ini
The hesa.ini file is a specific configuration file located in the root directory.
This file is required to provide the I/O Server with the mapping between the board terminals and the respective zones or outputs when a configuration different from the default one is used.
The default configuration for the Hesa Q15 is shown in the following diagram:
And here is the default configuration for Hesa Q50 and Q100 (for the Q100 model this diagram must be extended to 100 terminals and 40 expanders):
If the hesa.ini file is not created or it does not contain specifications for our I/O server, then the above configurations are used.
If, on the other hand, you are using a custom configuration, then, for each used terminal of the panel, expanders, and keypads you must specify its configuration.
For instance, consider the following configuration on a Q50:
The corresponding configuration in hesa.ini, assuming that the ID of the I/O Server is "hsa", would be the following:
hsa.t1 = z1 hsa.t2 = z2 hsa.t3 = z3 hsa.t4 = z4 hsa.t5 = z5 hsa.t6 = z6,o6 hsa.t7 = z7d hsa.t8 = z8d hsa.t9 = z9d hsa.e1.t1 = o10 hsa.e1.t2 = z11d hsa.e1.t3 = o12 hsa.k1.t1 = z13
Terminals on the panel itself are referred to using the notation “<ioserver_id>.t<n>” where <n> is the number of the board terminal from left to right. Terminals on expanders are identified by the string “<ioserver_id>.e<m>.t<n>” where <m> is the expander number and <n> the terminal number on the expander board. Finally, the syntax “<ioserver_id>.k<m>.t<n>” is used to identify terminals on keyboards.
When a terminal is configured as a simple zone (), it should be assigned the corresponding zone number (e.g. "= z1
").
If the terminal is configured as double zone () then append “d” to the zone id (e.g. "= z7d
"). This configuration allows to have two zones connected to the same terminal, thus the I/O Server will handle these two zones independently: the notation "z<n>" will identify datapoints related to base zones, while "z<n>d" identifies double zones.
If the terminal correspond to an output () specify the corresponding output number (e.g. "= o10
"), while if the terminal is configured as an IO () then it will be seen as a zone as well as an output, so specify both of them (e.g. "= z6,o6
").
Further, it is possible to assign a name to a zone terminal to be displayed in the user interface by adding it at the end of the line after an additional “=”. For instance:
hsa.t4 = z4 = door hsa.t5 = z5 = corridor hsa.t6 = z6, o6 = alarm point hsa.e1.t2 = z11d = room 1, room 2
As you can see from the last line, when referring to a double zone you can specify two different names separated by a comma.
Datapoints
ID | Value | R/W | Description |
---|---|---|---|
connection | online | R | connection established |
offline | R | HSYCO can't connect to the panel | |
armed | 0 | R | all areas are disarmed |
1 | R | at least one area is armed
| |
a<n>.armed | 0 | R | area <n> is disarmed |
W | disarm area <n> | ||
away | R | area <n> is armed in “away” mode | |
W | arm area <n> in “away” mode | ||
stay | R | area <n> is armed in “stay” mode | |
W | arm area <n> in “stay” mode | ||
inst | R | area <n> is armed in “instantaneous” mode | |
W | arm area <n> in “instantaneous” mode | ||
a<n>.alarm | 0 | R | no active alarm on area <n> |
1 | R | alarm on area <n> | |
a<n>.tamper | 0 | R | no tamper alarm on area <n> |
1 | R | tamper alarm on area <n> | |
a<n>.alarm.mem | 0 | R | no alarm in memory for area <n> |
1 | R | alarm in memory for area <n> | |
a<n>.tamper.mem | 0 | R | no tamper alarm in memory for area <n> |
1 | R | tamper alarm in memory for area <n> | |
a<n>.auto | 0 | R | auto-arming disabled on area <n> |
1 | R | auto-arming enabled on area <n> | |
a<n>.reset | 1 | W | reset alarms on area <n> |
z<n>.state z<n>d.state |
closed | R | zone <n> (base or double) is closed |
open | R | zone <n> (base or double) is open | |
tamper | R | zone <n> (base or double) is tampered | |
short | R | zone <n> (base or double) is in short circuit | |
z<n>.bypassed z<n>d.bypassed |
0 | R | zone <n> is not bypassed |
W | unbypass zone <n> | ||
1 | R | zone <n> is bypassed | |
W | bypass zone <n> | ||
z<n>.test z<n>d.test |
0 | R | zone <n> is not in test |
1 | R | zone <n> is being tested | |
z<n>.alarm.mem z<n>d.alarm.mem |
0 | R | no alarm in memory for zone <n> |
1 | R | alarm in memory for zone <n> | |
z<n>.tamper.mem z<n>d.tamper.mem |
0 | R | no terminal tamper alarm in memory for zone <n> |
1 | R | terminal tamper alarm in memory for zone <n> | |
or | 0 | R | the relay output on the panel is not active |
W | deactivate the relay output on the panel | ||
1 | R | the relay output on the panel is active | |
W | activate the relay output on the panel | ||
oc1 | 0 | R | the open collector 1 on the panel is not active |
W | deactivate the open collector 1 on the panel | ||
1 | R | the open collector 1 on the panel is active | |
W | activate the open collector 1 on the panel | ||
oc2 | 0 | R | the open collector 2 on the panel is not active |
W | deactivate the open collector 2 on the panel | ||
1 | R | the open collector 2 on the panel is active | |
W | activate the open collector 2 on the panel | ||
o<n> (if defined in hesa.ini) |
0 | R | output <n> is not active |
W | deactivate output <n> | ||
1 | R | output <n> is active | |
W | activate output <n> | ||
fault.fuse.zones | 0 | R | zones fuse OK |
1 | R | fault on zones fuse | |
fault.fuse.ibus | 0 | R | IBUS fuse OK |
1 | R | fault on IBUS fuse | |
fault.battery | 0 | R | battery OK |
1 | R | fault on battery | |
fault.mains | 0 | R | mains OK |
1 | R | panel mains fault | |
fault.phone | 0 | R | phone line OK |
1 | R | fault on phone line | |
fault.jamming | 0 | R | no jamming |
1 | R | radio jamming | |
fault.radio.battery | 0 | R | radio zones battery OK |
1 | R | low battery on radio zone(s) | |
fault.radio.loss | 0 | R | radio zones OK |
1 | R | loss of radio zone(s) | |
battery.volts | <val> | R | the voltage value of the battery is <val> Volts |
tamper.panel | 0 | R | panel OK |
1 | R | panel tampered | |
tamper.cover | 0 | R | panel cover OK |
1 | R | panel cover tampered | |
tamper.reader | 0 | R | readers OK |
1 | R | reader(s) tampered | |
tamper.keypad | 0 | R | keypads OK |
1 | R | keypad(s) tampered | |
tamper.expander | 0 | R | HQESP expanders OK |
1 | R | HQESP expander(s) tampered | |
reset | 0 | R | communication BUS ready |
1 | R | ongoing reset procedure on communication BUS | |
internet | 0 | R | “internet access” option disabled |
1 | R | “internet access” option enabled | |
service | 0 | R | service jumper in “RUN” position |
1 | R | service jumper in “SERV” position (maintenance) | |
program | 0 | R | panel not in programming mode |
1 | R | ongoing programming via keyboard | |
voice | 0 | R | no HQVOX voice card detected |
1 | R | HQVOX voice card detected | |
log0 | <text> | R | reports the latest line of the security log when a new entry is added |
User Interface
Hesa Object
The user interface for the control and supervision of one area of the system, the zones and the visualization of the security log:
The Hesa object is listed in the Project Editor’s new object list only when at least one HESA I/O Server is defined.
Parameters
- id - the id assigned to the HESA I/O Server in hsyco.ini. Supports Redirect variables
- area - the number of the area to be addressed. Supports Redirect variables
- pos - the object’s position. Use the pixels or rows and columns coordinates format.
Syntax
(hesa <server id>; <area>; <position>)
E.g.
(hesa serverid; area; x10y20)
UISET Actions
ID | Attribute | Set to | |
---|---|---|---|
log | value | latest security log lines (as many as specified by the 'logsize' option) | |
log0 | value | latest line of the security log when a new entry is added, set back to blank after a short period | |
z<n>.name z<n>d.name |
value | name assigned to zone <n> (base or double) or its number if no name is defined | |
connection.label | visible | true | when datapoint connection = offline |
false | when datapoint connection = online | ||
a<n>.armed.label.0 | visible | true | when area <n> is disarmed |
false | when area <n> is armed | ||
a<n>.armed.label.away | visible | true | when area <n> is armed in "away" mode |
false | when area <n> is not armed in "away" mode | ||
a<n>.armed.label.stay | visible | true | when area <n> is armed in "stay" mode |
false | when area <n> is not armed in "stay" mode | ||
a<n>.armed.label.inst | visible | true | when area <n> is armed in "instantaneous" mode |
false | when area <n> is not armed in "instantaneous" mode | ||
a<n>.armed.label.1 | visible | true | when area <n> is armed in any mode |
false | when area <n> is not armed | ||
z<n>.state.label.closed z<n>d.state.label.closed |
visible | true | when datapoint 'z<n>.state' has value 'closed' |
false | when datapoint 'z<n>.state' has not value 'closed' | ||
z<n>.state.label.open z<n>d.state.label.open |
visible | true | when datapoint 'z<n>.state' has value 'open' |
false | when datapoint 'z<n>.state' has not value 'open' | ||
z<n>.state.label.tamper z<n>d.state.label.tamper |
visible | true | when datapoint 'z<n>.state' has value 'tamper' |
false | when datapoint 'z<n>.state' has not value 'tamper' | ||
z<n>.state.label.short z<n>d.state.label.short |
visible | true | when datapoint 'z<n>.state' has value 'short' |
false | when datapoint 'z<n>.state' has not value 'short' | ||
<datapoint_id>.label.1 | visible | true | when datapoint with ID <datapoint_id> has value '1' |
false | when datapoint with ID <datapoint_id> has value '0' | ||
<datapoint_id>.label.0 | visible | true | when datapoint with ID <datapoint_id> has value '0' |
false | when datapoint with ID <datapoint_id> has value '1' |
USER Commands
Name | Param | Action |
---|---|---|
a<n>.armed | 0 | disarm area <n> |
stay | arm area <n> in "stay" mode | |
away | arm area <n> in "away" mode | |
inst | arm area <n> in "instantaneous" mode | |
a<n>.reset | 1 | reset alarms on area <n> |
z<n>.bypassed z<n>d.bypassed |
0 | unbypass zone <n> (base or double) |
1 | bypass zone <n> (base or double) | |
or | 0 | deactivate the relay output on the panel |
1 | activate the relay output on the panel | |
oc1 | 0 | deactivate the open collector 1 on the panel |
1 | activate the open collector 1 on the panel | |
oc2 | 0 | deactivate the open collector 2 on the panel |
1 | activate the open collector 2 on the panel | |
o<n> | 0 | deactivate output <n> |
1 | activate output <n> |
To perform any of the above operations it is necessary to enter the user code first. To enter the user code through the user interface use user buttons to create a virtual keypad and assign them name and param values according to this table:
Name | Param | Action |
---|---|---|
digit | {0 ... 9} | append the specified digit to the entered user code |
c | delete the last entered digit |
To visualize the number of entered digits use up to 6 text objects (depending on the number of digits used for user codes) and set their IDs to:
ID | Description |
---|---|
pin.<n> (0 ≤ <n> ≤ 5) |
shows the character '*' when the corresponding digit has been entered, shows '_' otherwise |
The entered code will be cleared after a short period of inactivity.
Log Files
A permanent detailed record of all the Hesa 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.
Other information related to the HESA I/O Server are saved in the daily message.log files.
Release Notes
3.6.0
- added datapoint "log0"
3.5.1
- added possibility to specify pin code with commands
- bug fix: hesa object not visible in project editor dictionary
3.5.0
- initial release
Hesa is a registered trademarks of Hesa S.p.A.