Difference between revisions of "Inim"

From HSYCO
Jump to navigation Jump to search
(Created page with "Guardall QX32i, PX80 and PX500 are multi-area security systems. The integration with HSYCO can be accomplished via direct control through the RS-232 port on the panel. Th I/O ...")
 
 
(23 intermediate revisions by 5 users not shown)
Line 1: Line 1:
Guardall QX32i, PX80 and PX500 are multi-area security systems. The integration with HSYCO can be accomplished via direct control through the RS-232 port on the panel.
+
Inim SmartLiving panels are multi-area intrusion detection systems.  
Th I/O Server supports QX32i, PX80 and PX500 Guardall units with software version 4.33.
+
 
 +
The integration with HSYCO can be accomplished via direct control through the RS-232 port on the board.
 +
 
 +
The INIM I/O Server in HSYCO supports the integration of more than one unit within the same HSYCO interface.
  
 
[[Category:I/O Server]]
 
[[Category:I/O Server]]
Line 7: Line 10:
  
 
Employ a female-female RS-232 crossed cable to connect the panel directly to HSYCO or to an Ethernet/RS-232 gateway.
 
Employ a female-female RS-232 crossed cable to connect the panel directly to HSYCO or to an Ethernet/RS-232 gateway.
The cable must follow this pinout diagram:
 
 
2 ↔ 3
 
3 ↔ 2
 
5 ↔ 5
 
7 ↔ 8
 
8 ↔ 7
 
  
 
RS-232 parameters:
 
RS-232 parameters:
 
{| class="wikitable"
 
{| class="wikitable"
 
| '''Baud rate'''
 
| '''Baud rate'''
| 9600
+
| 57600
 
|-
 
|-
 
| '''Data bits'''
 
| '''Data bits'''
Line 27: Line 23:
 
|-
 
|-
 
| '''Parity'''
 
| '''Parity'''
| none
+
| even
 
|-
 
|-
 
| '''Flow control'''
 
| '''Flow control'''
Line 33: Line 29:
 
|}
 
|}
  
== Guardall Configuration ==
+
== HSYCO Configuration ==
 
+
Add an INIM I/O Server in the [[Settings#I/O Servers|I/O Servers section of the Settings]] and set its parameters:
You must configure the unit to enable serial communication even if the system is armed. Digit the technician code on the keypad and select menu entry "99" (Total Configuration), then select entry “10” (Communication) and make sure that the serial connection is enabled when the system is armed (on).
 
  
Moreover, it is necessary to enable the required features to be available remotely. To this end, from the technician’s menu, select again menu entry “99”, then “12”. Here enter the number 1 and modify the settings accordingly to your requirements.
+
=== Communication ===
 +
*'''Comm ID''': select the comm port the device is connected to.
  
== HSYCO Configuration ==
+
=== High Availability ===
 +
*'''Shutdown when inactive''': defaults to true.
  
 
=== Options ===
 
=== Options ===
Line 72: Line 69:
  
 
|logsize
 
|logsize
|20
+
|50
 
|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 78: Line 75:
 
|-
 
|-
  
|rowspan="2"|arm
+
|pollinterval
|rowspan="2"|true
+
|4
|true
+
|n > 0
|allow groups arming
+
|the data acquisition interval, in seconds
 +
 
 +
|-
 +
 
 +
|rowspan="3"|mod
 +
|rowspan="3"|
 +
|515
 +
|rowspan="3"|the panel model to control. This option is required
 +
|-
 +
|1050
 +
|-
 +
|10100
 +
 
 +
|-
 +
 
 +
|pin
 +
|
 +
|<nowiki><code></nowiki>
 +
|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
 +
 
 
|-
 
|-
|false
+
 
|deny groups arming
+
|pintimeout
 +
|10
 +
|n > 0
 +
|expiration time (in seconds) of pin entered from the GUI object
  
 
|-
 
|-
  
|rowspan="2"|disarm
+
|rowspan="2"|multicommand
|rowspan="2"|true
+
|rowspan="2"|false
 
|true
 
|true
|allow groups disarming
+
|allow for multiple commands from the GUI object during pin validity time
 
|-
 
|-
 
|false
 
|false
|deny groups disarming
+
|require to enter the pin code for each operation from the GUI object
  
 
|}
 
|}
  
=== guardall.ini ===
+
=== inim.ini ===
 +
 
 +
The inim.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 SmartLiving 515 is shown in the following diagram:
 +
 
 +
[[File:Inim_Default_515.png|500px|border]]
 +
 
 +
And here is the default configuration for SmartLiving 1050 and 10100 (for the 10100 model this diagram must be extended to 100 terminals and 40 expanders):
 +
 
 +
[[File:Inim_Default_1050.png|500px|border]]
 +
 
 +
If the inim.ini file is not created or it does not contain specifications for our I/O server, then the above configurations are used.
 +
 
 +
If, on the other hand, you are using a custom configuration, then, for each used terminal of the panel, expanders, and keypads you must specify its configuration.
 +
 
 +
For instance, consider the following configuration on a SmartLiving1050:
  
The guardall.ini file is a specific configuration file located in the root directory.
+
[[File:Inim_Custom_1050.png|500px|border]]
Here you can define the names of the groups so that they will be automatically added to the user interface. Add a new line for each group using this format:
+
 
 +
The corresponding configuration in inim.ini, assuming that the ID of the I/O Server is "inm", would be the following:
  
 
<pre>
 
<pre>
<io_server_id>.group.<n> = <name>
+
inm.t1 = z1
 +
inm.t2 = z2
 +
inm.t3 = z3
 +
inm.t4 = z4
 +
inm.t5 = z5
 +
inm.t6 = z6,o6
 +
inm.t7 = z7d
 +
inm.t8 = z8d
 +
inm.t9 = z9d
 +
 
 +
inm.e1.t1 = o10
 +
inm.e1.t2 = z11d
 +
inm.e1.t3 = o12
 +
 
 +
inm.k1.t1 = z13
 
</pre>
 
</pre>
  
For instance:
+
Terminals on the panel itself are referred to using the notation “<ioserver_id>.t<n>” where <n> is the number of the board terminal from left to right.
 +
Terminals on expanders are identified by the string “<ioserver_id>.e<m>.t<n>” where <m> is the expander number and <n> the terminal number on the expander board. Finally,
 +
the syntax “<ioserver_id>.k<m>.t<n>” is used to identify terminals on keyboards.
 +
 
 +
When a terminal is configured as a simple zone ([[File:Inim_Zone.png|x20px]]), it should be assigned the corresponding zone number (e.g. "<code>= z1</code>").
 +
 
 +
If the terminal is configured as double zone ([[File:Inim_Double_Zone.png|x20px]]) then append “d” to the zone id (e.g. "<code>= z7d</code>"). This configuration allows to have two zones connected to the same terminal, thus the I/O Server will handle these two zones independently: the notation "z<n>" will identify datapoints related to base zones, while "z<n>d" identifies double zones.
 +
 
 +
If the terminal correspond to an output ([[File:Inim_Output.png|x20px]]) specify the corresponding output number (e.g. "<code>= o10</code>"), while if the terminal is configured as an IO ([[File:Inim_IO.png|x20px]]) then it will be seen as a zone as well as an output, so specify both of them (e.g. "<code>= z6,o6</code>").
 +
 
 +
Further, it is possible to assign a name to a zone terminal to be displayed in the user interface by adding it at the end of the line after an additional “=”. For instance:
  
 
<pre>
 
<pre>
guard.group.1 = Kitchen
+
inm.t4 = z4 = door
guard.group.2 = Living room
+
inm.t5 = z5 = corridor
 +
inm.t6 = z6, o6 = alarm point
 +
inm.e1.t2 = z11d = room 1, room 2
 
</pre>
 
</pre>
 +
 +
As you can see from the last line, when referring to a double zone you can specify two different names separated by a comma.
 +
 +
'''N.B.''' SmartLiving 515 panels have only 5 terminals on the board and the indexing of zones and outputs skips the numbers from 6 to 10 as we can see from the image above. But, from tests conducted on different configurations, sometimes these indexes are actually used, thus refinements on the configuration in inim.ini must be applied to map the terminals with the correct zone or output number.
  
 
== Datapoints ==
 
== Datapoints ==
Line 135: Line 203:
 
|-
 
|-
  
|rowspan="4" |armed
+
|rowspan="2" |armed
 +
|0
 +
|R
 +
|all areas are disarmed
 +
|-
 +
|1
 +
|R
 +
|at least one area is armed
 +
 
 +
 
 +
|-
 +
 
 +
|rowspan="8" |a<n>.armed
 
|rowspan="2" |0
 
|rowspan="2" |0
 
|R
 
|R
|all groups are disarmed
+
|area <n> is disarmed
 
|-
 
|-
 
|W
 
|W
|disarm all groups
+
|disarm area <n>
 
|-
 
|-
|rowspan="2" |1
+
|rowspan="2" |away
 
|R
 
|R
|the system is (partially) armed
+
|area <n> is armed in “away” mode
 
|-
 
|-
 
|W
 
|W
|arm all groups
+
|arm area <n> in “away” mode
 
 
 
|-
 
|-
 
+
|rowspan="2" |stay
|rowspan="2" |alarm
 
|0
 
 
|R
 
|R
|the system is not in a alarm state
+
|area <n> is armed in “stay” mode
 +
|-
 +
|W
 +
|arm area <n> in “stay” mode
 
|-
 
|-
|1
+
|rowspan="2" |inst
 
|R
 
|R
|the system is in a alarm state
+
|area <n> is armed in “instantaneous” mode
 +
|-
 +
|W
 +
|arm area <n> in “instantaneous” mode
  
 
|-
 
|-
  
|rowspan="2" |tamper
+
|rowspan="2" |a<n>.alarm
 
|0
 
|0
 
|R
 
|R
|the system is not in a tamper state
+
|no active alarm on area <n>
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|the system is in a tamper state
+
|alarm on area <n>
  
 
|-
 
|-
  
|rowspan="2" |panel.tamper
+
|rowspan="2" |a<n>.tamper
 
|0
 
|0
 
|R
 
|R
|the panel is not tampered
+
|no tamper alarm on area <n>
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|the panel is tampered
+
|tamper alarm on area <n>
  
 
|-
 
|-
  
|rowspan="2" |bell.tamper
+
|rowspan="2" |a<n>.alarm.mem
 
|0
 
|0
 
|R
 
|R
|the bell is not tampered
+
|no alarm in memory for area <n>
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|the bell is tampered
+
|alarm in memory for area <n>
  
 
|-
 
|-
  
|rowspan="2" |low.volts
+
|rowspan="2" |a<n>.tamper.mem
 
|0
 
|0
 
|R
 
|R
|voltage ok
+
|no tamper alarm in memory for area <n>
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|low voltage detected
+
|tamper alarm in memory for area <n>
  
 
|-
 
|-
  
|rowspan="2" |sounder
+
|rowspan="2" |a<n>.auto
 
|0
 
|0
 
|R
 
|R
|the sounder is inactive
+
|auto-arming disabled on area <n>
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|the sounder is active
+
|auto-arming enabled on area <n>
  
 
|-
 
|-
  
|rowspan="2" |audio
+
|a<n>.reset
|0
 
|R
 
|the audio signal of the panel is inactive
 
|-
 
 
|1
 
|1
|R
+
|W
|the audio signal of the panel is active
+
|reset alarms on area <n>
  
 
|-
 
|-
  
|rowspan="2" |strobe
+
|rowspan="4" |z<n>.state<br />z<n>d.state
|0
+
|closed
 
|R
 
|R
|the strobe is inactive
+
|zone <n> (base or double) is closed
 
|-
 
|-
|1
+
|open
 
|R
 
|R
|the strobe is active
+
|zone <n> (base or double) is open
 
 
 
|-
 
|-
 
+
|tamper
|rowspan="2" |mains.fail
 
|0
 
 
|R
 
|R
|no mains fail
+
|zone <n> (base or double) is tampered
 
|-
 
|-
|1
+
|short
 
|R
 
|R
|mains fail
+
|zone <n> (base or double) is in short circuit
  
 
|-
 
|-
  
|rowspan="2" |power.fail
+
|rowspan="4" |z<n>.bypassed<br />z<n>d.bypassed
|0
+
|rowspan="2" |0
 
|R
 
|R
|no power fail
+
|zone <n> is not bypassed
 
|-
 
|-
|1
+
|W
 +
|unbypass zone <n>
 +
|-
 +
|rowspan="2" |1
 
|R
 
|R
|power fail
+
|zone <n> is bypassed
 +
|-
 +
|W
 +
|bypass zone <n>
  
 
|-
 
|-
  
|rowspan="2" |battery.fail
+
|rowspan="2" |z<n>.test<br />z<n>d.test
 
|0
 
|0
 
|R
 
|R
|no battery fail
+
|zone <n> is not in test
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|battery fail
+
|zone <n> is being tested
  
 
|-
 
|-
  
|rowspan="2" |fuse.1.fault
+
|rowspan="2" |z<n>.alarm.mem<br />z<n>d.alarm.mem
 
|0
 
|0
 
|R
 
|R
|fuse 1 is working
+
|no alarm in memory for zone <n>
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|fuse 1 in fault
+
|alarm in memory for zone <n>
  
 
|-
 
|-
  
|rowspan="2" |fuse.2.fault
+
|rowspan="2" |z<n>.tamper.mem<br />z<n>d.tamper.mem
 
|0
 
|0
 
|R
 
|R
|fuse 2 is working
+
|no terminal tamper alarm in memory for zone <n>
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|fuse 2 in fault
+
|terminal tamper alarm in memory for zone <n>
  
 
|-
 
|-
  
|rowspan="2" |fuse.3.fault
+
|rowspan="4" |or
|0
+
|rowspan="2" |0
 
|R
 
|R
|fuse 3 is working
+
|the relay output on the panel is not active
 +
|-
 +
|W
 +
|deactivate the relay output on the panel
 
|-
 
|-
|1
+
|rowspan="2" |1
 
|R
 
|R
|fuse 3 in fault
+
|the relay output on the panel is active
 +
|-
 +
|W
 +
|activate the relay output on the panel
  
 
|-
 
|-
  
|rowspan="2" |line.fault
+
|rowspan="4" |oc1
|0
+
|rowspan="2" |0
 
|R
 
|R
|communication line is working
+
|the open collector 1 on the panel is not active
 +
|-
 +
|W
 +
|deactivate the open collector 1 on the panel
 
|-
 
|-
|1
+
|rowspan="2" |1
 
|R
 
|R
|communication line in fault
+
|the open collector 1 on the panel is active
 +
|-
 +
|W
 +
|activate the open collector 1 on the panel
  
 
|-
 
|-
  
|c<n>.name
+
|rowspan="4" |oc2
|<text>
+
|rowspan="2" |0
 
|R
 
|R
|the name of circuit <n> is set to <text>
+
|the open collector 2 on the panel is not active
 
+
|-
 +
|W
 +
|deactivate the open collector 2 on the panel
 
|-
 
|-
 
+
|rowspan="2" |1
|g<n>.name
 
|<text>
 
 
|R
 
|R
|the name of group <n> is set to <text>
+
|the open collector 2 on the panel is active
 +
|-
 +
|W
 +
|activate the open collector 2 on the panel
  
 
|-
 
|-
  
|rowspan="4" |g<n>.armed
+
|rowspan="4" |o<n><br />(if defined in inim.ini)
 
|rowspan="2" |0
 
|rowspan="2" |0
 
|R
 
|R
|group <n> is disarmed
+
|output <n> is not active
 
|-
 
|-
 
|W
 
|W
|disarm group <n>
+
|deactivate output <n>
 
|-
 
|-
 
|rowspan="2" |1
 
|rowspan="2" |1
 
|R
 
|R
|group <n> is armed
+
|output <n> is active
 
|-
 
|-
 
|W
 
|W
|arm group <n>
+
|activate output <n>
  
 
|-
 
|-
  
|rowspan="2" |c<n>.alarm
+
|rowspan="2" |fault.fuse.zones
 
|0
 
|0
 
|R
 
|R
|circuit <n> is not in alarm state
+
|zones fuse OK
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|circuit <n> is in alarm state
+
|fault on zones fuse
  
 
|-
 
|-
  
|rowspan="2" |c<n>.tamper.alarm
+
|rowspan="2" |fault.fuse.ibus
 
|0
 
|0
 
|R
 
|R
|circuit <n> is not in tamper alarm
+
|IBUS fuse OK
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|circuit <n> is in tamper alarm
+
|fault on IBUS fuse
  
 
|-
 
|-
  
|rowspan="2" |c<n>.open
+
|rowspan="2" |fault.battery
 
|0
 
|0
 
|R
 
|R
|circuit <n> is closed
+
|battery OK
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|circuit <n> is open
+
|fault on battery
  
 
|-
 
|-
  
|rowspan="2" |c<n>.tamper
+
|rowspan="2" |fault.mains
 
|0
 
|0
 
|R
 
|R
|circuit <n> is not tampered
+
|mains OK
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|circuit <n> is tampered
+
|panel mains fault
  
 
|-
 
|-
  
|rowspan="2" |c<n>.fault
+
|rowspan="2" |fault.phone
 
|0
 
|0
 
|R
 
|R
|circuit <n> is working properly
+
|phone line OK
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|circuit <n> is faulty
+
|fault on phone line
  
 
|-
 
|-
  
|rowspan="4" |c<n>.bypassed
+
|rowspan="2" |fault.jamming
|rowspan="2" |0
+
|0
 
|R
 
|R
|circuit <n> is not bypassed
+
|no jamming
 
|-
 
|-
|W
+
|1
|unbypass circuit <n>
 
|-
 
|rowspan="2" |1
 
 
|R
 
|R
|circuit <n> is bypassed
+
|radio jamming
|-
 
|W
 
|bypass circuit <n>
 
  
 
|-
 
|-
  
|rowspan="4" |c<n>.isolated
+
|rowspan="2" |fault.radio.battery
|rowspan="2" |0
+
|0
 
|R
 
|R
|circuit <n> is not isolated
+
|radio zones battery OK
 
|-
 
|-
|W
+
|1
|un-isolate circuit <n>
 
|-
 
|rowspan="2" |1
 
 
|R
 
|R
|circuit <n> is isolated
+
|low battery on radio zone(s)
|-
 
|W
 
|isolate circuit <n>
 
  
 
|-
 
|-
  
|rowspan="4" |c<n>.soaked
+
|rowspan="2" |fault.radio.loss
|rowspan="2" |0
+
|0
 
|R
 
|R
|circuit <n> is not soaked
+
|radio zones OK
 
|-
 
|-
|W
+
|1
|un-soak circuit <n>
 
|-
 
|rowspan="2" |1
 
 
|R
 
|R
|circuit <n> is soaked
+
|loss of radio zone(s)
|-
 
|W
 
|soak circuit <n>
 
  
 
|-
 
|-
  
|c<n>.status
+
|battery.volts
|[[#circuit_status_values|<status_values>]]
+
|<val>
 
|R
 
|R
|the status of circuit <n> is set to the reported values
+
|the voltage value of the battery is <val> Volts
  
 
|-
 
|-
  
|c<n>.attributes
+
|rowspan="2" |tamper.panel
|[[#circuit_attributes_values|<attributes_values>]]
+
|0
 
|R
 
|R
|the attributes of circuit <n> are set to the reported values
+
|panel OK
 +
|-
 +
|1
 +
|R
 +
|panel tampered
  
 
|-
 
|-
  
|rowspan="2" |c<n>.resistance
+
|rowspan="2" |tamper.cover
|<value>
+
|0
 
|R
 
|R
|the measured resistance on circuit <n> is <value> ohm
+
|panel cover OK
 
|-
 
|-
|>20k
+
|1
 
|R
 
|R
|the measured resistance on circuit <n> is greater than 20 K-ohm
+
|panel cover tampered
  
 
|-
 
|-
  
|rowspan="2" |k<n>.tamper
+
|rowspan="2" |tamper.reader
 
|0
 
|0
 
|R
 
|R
|keypad <n> is not tampered
+
|readers OK
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|keypad <n> is tampered
+
|reader(s) tampered
  
 
|-
 
|-
  
|rowspan="2" |k<n>.fault
+
|rowspan="2" |tamper.keypad
 
|0
 
|0
 
|R
 
|R
|keypad <n> is working properly
+
|keypads OK
 
|-
 
|-
 
|1
 
|1
 
|R
 
|R
|keypad <n> is faulty
+
|keypad(s) tampered
  
 
|-
 
|-
  
|rowspan="2" |logon.<n>
+
|rowspan="2" |tamper.expander
|<user_num>
+
|0
 
|R
 
|R
|user with number <user_num> logged in from keypad <n>
+
|FLEX5 expanders OK
 
|-
 
|-
|error
+
|1
 
|R
 
|R
|wrong pin entered in keypad <n>
+
|FLEX5 expander(s) tampered
  
 
|-
 
|-
  
|system
+
|rowspan="2" |reset
|reset
+
|0
|W
+
|R
|reset alarms
+
|communication BUS ready
 +
|-
 +
|1
 +
|R
 +
|ongoing reset procedure on communication BUS
  
|}
+
|-
  
{| class="wikitable" id="circuit_status_values"
+
|rowspan="2" |internet
!colspan="2"|Circuit status values
+
|0
 +
|R
 +
|“internet access” option disabled
 
|-
 
|-
!Value
+
|1
!Description
+
|R
 +
|“internet access” option enabled
 +
 
 
|-
 
|-
|A
+
 
|alarm/open
+
|rowspan="2" |service
 +
|0
 +
|R
 +
|service jumper in “RUN” position
 
|-
 
|-
|B
+
|1
|alarm/open and tamper
+
|R
 +
|service jumper in “SERV” position (maintenance)
 +
 
 
|-
 
|-
|E
+
 
|latched alarm and tamper
+
|rowspan="2" |program
 +
|0
 +
|R
 +
|panel not in programming mode
 
|-
 
|-
|M
+
|1
|marginal clear
+
|R
 +
|ongoing programming via keyboard
 +
 
 
|-
 
|-
|m
+
 
|marginal alarm
+
|rowspan="2" |voice
 +
|0
 +
|R
 +
|no SmartLogos30M voice card detected
 
|-
 
|-
|N
+
|1
|normal
+
|R
 +
|SmartLogos30M voice card detected
 +
 
 
|-
 
|-
|T
 
|tamper
 
|-
 
|L
 
|latched alarm
 
|-
 
|F
 
|fault/no answer
 
|-
 
|X
 
|Auxiliary alarm
 
|}
 
  
{| class="wikitable" id="circuit_attributes_values"
+
|log0
!colspan="2"|Circuit attributes values
+
|<text>
|-
+
|R
!Value
+
|reports the latest line of the security log when a new entry is added
!Description
+
 
|-
 
|B
 
|bypassed circuit
 
|-
 
|I
 
|isolated circuit
 
|-
 
|S
 
|soak failed
 
|-
 
|T
 
|soaked circuit
 
|-
 
|Y
 
|temporarily bypassed circuit
 
|-
 
|Q
 
|temporarily isolated circuit
 
|-
 
|H
 
|circuit in shunt
 
|-
 
|A
 
|existing circuit
 
|-
 
|M
 
|multi-alarm
 
|-
 
|F
 
|bank reset failed/door forced
 
|-
 
|L
 
|locked
 
|-
 
|O
 
|open
 
 
|}
 
|}
 
Attributes can be combined together, for instance if a circuit is both isolated and bypassed, the attribute value will be “BI”.
 
  
 
== User Interface ==
 
== User Interface ==
  
=== Guardall Object ===
+
=== Inim Object ===
  
{{:Guardall_(UI Object)}}
+
{{:Inim_(UI Object)}}
  
 
=== UISET Actions ===
 
=== UISET Actions ===
Line 613: Line 669:
 
!Attribute
 
!Attribute
 
!colspan="2"|Set to
 
!colspan="2"|Set to
 +
 
|-
 
|-
 +
 
|log
 
|log
 
|value
 
|value
 
|colspan="2"|latest security log lines (as many as specified by the 'logsize' option)
 
|colspan="2"|latest security log lines (as many as specified by the 'logsize' option)
 +
 
|-
 
|-
 +
 
|log0
 
|log0
 
|value
 
|value
 
|colspan="2"|latest line of the security log when a new entry is added, set back to blank after a short period
 
|colspan="2"|latest line of the security log when a new entry is added, set back to blank after a short period
 +
 
|-
 
|-
|c<n>.name
+
 
 +
|z<n>.name<br />z<n>d.name
 
|value
 
|value
|colspan="2"|name assigned to circuit <n> or its number if no name is defined
+
|colspan="2"|name assigned to zone <n> (base or double) or its number if no name is defined
 +
 
 
|-
 
|-
 +
 
|rowspan="2"|connection.label
 
|rowspan="2"|connection.label
 
|rowspan="2"|visible
 
|rowspan="2"|visible
Line 633: Line 697:
 
|false
 
|false
 
|when datapoint connection = online
 
|when datapoint connection = online
 +
 +
|-
 +
 +
|rowspan="2"|a<n>.armed.label.0
 +
|rowspan="2"|visible
 +
|true
 +
|when area <n> is disarmed
 +
|-
 +
|false
 +
|when area <n> is armed
 +
 +
|-
 +
 +
|rowspan="2"|a<n>.armed.label.away
 +
|rowspan="2"|visible
 +
|true
 +
|when area <n> is armed in "away" mode
 +
|-
 +
|false
 +
|when area <n> is not armed in "away" mode
 +
 +
|-
 +
 +
|rowspan="2"|a<n>.armed.label.stay
 +
|rowspan="2"|visible
 +
|true
 +
|when area <n> is armed in "stay" mode
 +
|-
 +
|false
 +
|when area <n> is not armed in "stay" mode
 +
 +
|-
 +
 +
|rowspan="2"|a<n>.armed.label.inst
 +
|rowspan="2"|visible
 +
|true
 +
|when area <n> is armed in "instantaneous" mode
 +
|-
 +
|false
 +
|when area <n> is not armed in "instantaneous" mode
 +
 +
|-
 +
 +
|rowspan="2"|a<n>.armed.label.1
 +
|rowspan="2"|visible
 +
|true
 +
|when area <n> is armed in any mode
 +
|-
 +
|false
 +
|when area <n> is not armed
 +
 +
|-
 +
 +
|rowspan="2"|z<n>.state.label.closed<br />z<n>d.state.label.closed
 +
|rowspan="2"|visible
 +
|true
 +
|when datapoint 'z<n>.state' has value 'closed'
 +
|-
 +
|false
 +
|when datapoint 'z<n>.state' has not value 'closed'
 +
 
|-
 
|-
 +
 +
|rowspan="2"|z<n>.state.label.open<br />z<n>d.state.label.open
 +
|rowspan="2"|visible
 +
|true
 +
|when datapoint 'z<n>.state' has value 'open'
 +
|-
 +
|false
 +
|when datapoint 'z<n>.state' has not value 'open'
 +
 +
|-
 +
 +
|rowspan="2"|z<n>.state.label.tamper<br />z<n>d.state.label.tamper
 +
|rowspan="2"|visible
 +
|true
 +
|when datapoint 'z<n>.state' has value 'tamper'
 +
|-
 +
|false
 +
|when datapoint 'z<n>.state' has not value 'tamper'
 +
 +
|-
 +
 +
|rowspan="2"|z<n>.state.label.short<br />z<n>d.state.label.short
 +
|rowspan="2"|visible
 +
|true
 +
|when datapoint 'z<n>.state' has value 'short'
 +
|-
 +
|false
 +
|when datapoint 'z<n>.state' has not value 'short'
 +
 +
|-
 +
 
|rowspan="2"|<datapoint_id>.label.1
 
|rowspan="2"|<datapoint_id>.label.1
 
|rowspan="2"|visible
 
|rowspan="2"|visible
Line 641: Line 797:
 
|false
 
|false
 
|when datapoint with ID <datapoint_id> has value '0'
 
|when datapoint with ID <datapoint_id> has value '0'
 +
 
|-
 
|-
 +
 
|rowspan="2"|<datapoint_id>.label.0
 
|rowspan="2"|<datapoint_id>.label.0
 
|rowspan="2"|visible
 
|rowspan="2"|visible
Line 660: Line 818:
 
|-
 
|-
  
|rowspan="2" |armed
+
|rowspan="4" |a<n>.armed
 
|0
 
|0
|disarm all groups
+
|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
 
|1
|arm all groups
+
|reset alarms on area <n>
  
 
|-
 
|-
  
|rowspan="2" |g<n>.armed
+
|rowspan="2" |z<n>.bypassed<br />z<n>d.bypassed
 
|0
 
|0
|disarm group <n>
+
|unbypass zone <n> (base or double)
 
|-
 
|-
 
|1
 
|1
|arm group <n>
+
|bypass zone <n> (base or double)
  
 
|-
 
|-
  
|rowspan="2" |c<n>.bypassed
+
|rowspan="2" |or
 
|0
 
|0
|unbypass zone <n>
+
|deactivate the relay output on the panel
 
|-
 
|-
 
|1
 
|1
|bypass zone <n>
+
|activate the relay output on the panel
  
 
|-
 
|-
  
|rowspan="2" |c<n>.isolated
+
|rowspan="2" |oc1
 
|0
 
|0
|un-isolate zone <n>
+
|deactivate the open collector 1 on the panel
 
|-
 
|-
 
|1
 
|1
|isolate zone <n>
+
|activate the open collector 1 on the panel
  
 
|-
 
|-
  
|rowspan="2" |c<n>.soaked
+
|rowspan="2" |oc2
 
|0
 
|0
|un-soak zone <n>
+
|deactivate the open collector 2 on the panel
 
|-
 
|-
 
|1
 
|1
|soak zone <n>
+
|activate the open collector 2 on the panel
 +
 
 +
|-
  
 +
|rowspan="2" |o<n>
 +
|0
 +
|deactivate output <n>
 
|-
 
|-
 +
|1
 +
|activate output <n>
  
|system
+
|}
|reset
 
|reset alarms
 
  
 +
To perform any of the above operations it is necessary to enter the user code first. To enter the user code through the user interface use [[User|user buttons]] to create a virtual keypad and assign them name and param values according to this table:
 +
 +
{| class="wikitable"
 +
!Name
 +
!Param
 +
!Action
 +
|-
 +
|rowspan="2"|digit
 +
|{0 ... 9}
 +
|append the specified digit to the entered user code
 +
|-
 +
|c
 +
|delete the last entered digit
 
|}
 
|}
 +
 +
To visualize the number of entered digits use up to 6 [[Text|text objects]] (depending on the number of digits used for user codes) and set their IDs to:
 +
 +
{| class="wikitable"
 +
!ID
 +
!Description
 +
|-
 +
|pin.<n><br />(0 &le; <n> &le; 5)
 +
|shows the character '*' when the corresponding digit has been entered, shows '_' otherwise
 +
 +
|}
 +
 +
The entered code will be cleared after a short period of inactivity.
 +
 +
== Log Files ==
 +
A permanent detailed record of all the INIM log messages is saved in a file called security.log in the logs/YYYY directory for the current year. This file is never overwritten or deleted by HSYCO.
 +
 +
Other information related to the INIM 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
 +
 +
=== 3.4.0 ===
 +
*added option "pintimeout"
 +
*added option "multicommand"
 +
*fixed bug in GUI object: bypassed status was inverted
 +
*fixed bug that prevented bypassing a zone if pin not set in the options
 +
 +
=== 3.2.0 ===
 +
*initial version release
 +
 +
----
 +
 +
 +
''Inim and SmartLiving are registered trademarks of Inim Electronics s.r.l.''

Latest revision as of 10:52, 13 November 2017

Inim SmartLiving 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 INIM I/O Server in HSYCO supports the integration of more than one unit within the same HSYCO interface.

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 57600
Data bits 8
Stop bit 1
Parity even
Flow control none

HSYCO Configuration

Add an INIM 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 50 n ≥ 0 the number of log lines to display in the UI object
pollinterval 4 n > 0 the data acquisition interval, in seconds
mod 515 the panel model to control. This option is required
1050
10100
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

inim.ini

The inim.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 SmartLiving 515 is shown in the following diagram:

Inim Default 515.png

And here is the default configuration for SmartLiving 1050 and 10100 (for the 10100 model this diagram must be extended to 100 terminals and 40 expanders):

Inim Default 1050.png

If the inim.ini file is not created or it does not contain specifications for our I/O server, then the above configurations are used.

If, on the other hand, you are using a custom configuration, then, for each used terminal of the panel, expanders, and keypads you must specify its configuration.

For instance, consider the following configuration on a SmartLiving1050:

Inim Custom 1050.png

The corresponding configuration in inim.ini, assuming that the ID of the I/O Server is "inm", would be the following:

inm.t1 = z1
inm.t2 = z2
inm.t3 = z3
inm.t4 = z4
inm.t5 = z5
inm.t6 = z6,o6
inm.t7 = z7d
inm.t8 = z8d
inm.t9 = z9d

inm.e1.t1 = o10
inm.e1.t2 = z11d
inm.e1.t3 = o12

inm.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 (Inim Zone.png), it should be assigned the corresponding zone number (e.g. "= z1").

If the terminal is configured as double zone (Inim Double Zone.png) 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 (Inim Output.png) specify the corresponding output number (e.g. "= o10"), while if the terminal is configured as an IO (Inim IO.png) 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:

inm.t4 = z4 = door
inm.t5 = z5 = corridor
inm.t6 = z6, o6 = alarm point
inm.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.

N.B. SmartLiving 515 panels have only 5 terminals on the board and the indexing of zones and outputs skips the numbers from 6 to 10 as we can see from the image above. But, from tests conducted on different configurations, sometimes these indexes are actually used, thus refinements on the configuration in inim.ini must be applied to map the terminals with the correct zone or output number.

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 inim.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 FLEX5 expanders OK
1 R FLEX5 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 SmartLogos30M voice card detected
1 R SmartLogos30M voice card detected
log0 <text> R reports the latest line of the security log when a new entry is added

User Interface

Inim Object

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

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

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

Parameters

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

Syntax

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

E.g.

(inim serverid; area; x10y20)

UISET Actions

ID Attribute Set to
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 INIM log messages is saved in a file called security.log in the logs/YYYY directory for the current year. This file is never overwritten or deleted by HSYCO.

Other information related to the INIM 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

3.4.0

  • added option "pintimeout"
  • added option "multicommand"
  • fixed bug in GUI object: bypassed status was inverted
  • fixed bug that prevented bypassing a zone if pin not set in the options

3.2.0

  • initial version release


Inim and SmartLiving are registered trademarks of Inim Electronics s.r.l.