Senstar Symphony 8 Hardware Interface SDK Developer Guide en-US
Senstar Symphony 8 Hardware Interface SDK Developer Guide en-US
8.x
Developer Guide
Contents
Contents
Introduction......................................................................................................................................3
Getting started.......................................................................................................................3
Sample.................................................................................................................................. 3
Interfaces.........................................................................................................................................4
IHardwareSystem.................................................................................................................. 4
IHardwareSystemFactory...................................................................................................... 5
IStatePersister....................................................................................................................... 6
Classes............................................................................................................................................7
HardwareSystemType........................................................................................................... 7
HardwareSystemConfiguration..............................................................................................7
HardwareSystemConfigurationField......................................................................................8
HardwareNode...................................................................................................................... 9
HardwareNodeType............................................................................................................ 10
LRangeDescription.............................................................................................................. 11
HardwareCommand............................................................................................................ 11
HardwareEventType............................................................................................................11
HardwareState.....................................................................................................................12
LocationDetails.................................................................................................................... 12
HardwareEventArgs............................................................................................................ 13
HardwareStateEventArgs.................................................................................................... 14
HardwareStatusEventArgs.................................................................................................. 14
Enumerations................................................................................................................................ 15
HardwareSystemStatus.......................................................................................................15
HardwareStateType.............................................................................................................15
HardwareEventTypeCategory............................................................................................. 15
Delegates...................................................................................................................................... 17
HardwareEventReceivedHandler........................................................................................ 17
HardwareStateChangedHandler......................................................................................... 17
HardwareStatusChangedHandler........................................................................................17
Trobleshooting...............................................................................................................................19
Legal information.......................................................................................................................... 20
Introduction
The Senstar Symphony Hardware Interface SDK is a collection of .NET interfaces that can integrate
hardware systems (for example, access control systems, I/O devices, and intrusion detection systems) with
the Senstar Symphony Server.
Using the Senstar Symphony Hardware Interface SDK to integrate a hardware system with the Senstar
Symphony Server enables the following functionality:
• System configuration
• Device status
• Alarms
• Commands
Getting started
1. Create a new .NET assembly DLL that includes an implementation of the IHardwareSystem and
IHardwareSystemFactory interfaces in Core.Interface.HardwareSystemFactory.dll.
2. Put the new Core.Interface.HardwareSystemFactory.dll in the Senstar Symphony Server
installation folder.
The Senstar Symphony Server automatically loads the DLL and the functionality is available on the
Integrations page in the Senstar Symphony Server configuration interface.
Related reference
Basic system initialization flow on page 18
Sample
The HardwareSystemSample project is a sample of a hardware system integration.
The sample project consists of an implementation of the IHardwareSystem interface. The sample project can
help you become familiar with the interface and you can use it as a template to for a new hardware system
project.
Interfaces
IHardwareSystem
This interface defines the properties and methods that the Hardware System needs to implement to fully
integrate with the Senstar Symphony Server.
Namespace
Core.Interface.HardwarePack.System
Properties
Name Type Description
Id string • The unique identifier of the system
instance
• Set by the IHardwareSytemFactory from
Senstar Symphony Server
Events
Name Type Description
EventsReceived HardwareEventReceivedHandler • Notification that an event has occurred
(node and system level)
Methods
Name Description Parameters Returns
Connect • The Senstar NA NA
Symphony Server
calls Connect after
creating the hardware
system instance
• The command
to send
Extension methods
Name Description Parameters Returns
GetAllNodes • Returns all nodes in NA IEnumerable<HardwareNode>
the system as a flat
list
IHardwareSystemFactory
This interface defines the properties and methods that the Hardware System Factory needs to implement
to fully integrate with the Senstar Symphony Server.
Namespace
Core.Interface.HardwarePack.System
Properties
Name Type Description
Type HardwareSystemType • The hardware system type
that this factory creates
Methods
Name Description Parameters Returns
Create • Creates a new string systemId NA
hardware system
• The unique ID that the Senstar
instance
Symphony Server allocates to the
system
• The IHardwareSystem on page
4.Id property for the created
system instance has this value
string settingsXml
• An instance of IStatePersister
that can save data to and load
data from the Senstar Symphony
Database
IStatePersister
This interface defines the methods that a hardware system can use to persist data in the Senstar
Symphony Database. The data is saved even after the system is disposed, and can be loaded when the
system is initialized.
Namespace
Core.Interface.HardwarePack.Data
Methods
Name Description Parameters Returns
Load • Load the data that NA string
was saved in the
Senstar Symphony
Database
Classes
HardwareSystemType
This class represent the data of a system type that is used for enumerating system types and defining the
configuration fields. This class is a property of IHardwareSystem on page 4 and IHardwareSystemFactory
on page 5 interfaces.
Namespace
Core.Interface.HardwarePack.System
Properties
Name Type Description
Id string • The identifier of the hardware
system type
HardwareSystemConfiguration
This class defines the configuration details used to generate the user interfaces for editing the settings
XML of a hardware system.
Namespace
Core.Interface.HardwarePack.System
Properties
Name Type Description
TemplateXml string • A settings XML with no values
or with default values
HardwareSystemConfigurationField
This class defines the configuration fields used in HardwareSystemConfiguration on page 7.
Namespace
Core.Interface.HardwarePack.System
Properties
Name Type Description
Id string • The identifier for the field
HardwareNode
This class represents a hardware node in the system. A hardware node can represent a device, controller,
input/output point, sensor, etc. The hardware node can have events triggered on, report its status, and
send commands.
Namespace
Core.Interface.HardwarePack.Node
Properties
Name Type Description
Id string • The unique identifier of the
node
• Used in all node related
operations (for example, send
command, trigger event)
Methods
Name Description Parameters Returns
AddChild • Adds a child node HardwareNode child none
• Updates Parent
property of the child
and Children property
of the current node
HardwareNodeType
This class represents a Hardware Node type. It defines the states/events/commands that the nodes from
this type supports.
Namespace
Core.Interface.HardwarePack.Node
Properties
Name Type Description
Id string • The unique identifier of the
Node Type
LRangeDescription
This class defines properties and methods that the hardware system needs to implement to fully integrate
with the Senstar Symphony Server.
Namespace
Core.Interface.HardwarePack.Node
Properties
Name Type Description
Start uint • The start of the range
HardwareCommand
This class represents the hardware command data.
Namespace
Core.Interface.HardwarePack.Data
Properties
Name Type Description
Id string • The unique identifier of the
command
• Used when sending
commands)
HardwareEventType
This class represents the hardware event type data.
Namespace
Core.Interface.HardwarePack.Data
Properties
Name Type Description
Id string • A unique Identifier of the event
HardwareState
This class represents the hardware state data.
Namespace
Core.Interface.HardwarePack.Data
Properties
Name Type Description
Id string • A unique Identifier of the state
LocationDetails
This class represents a location where there is currently an alarm (recently inactive or currently active).
Namespace
Core.Interface.HardwarePack.Data
Properties
Name Type
DistancFromStartPoint float? • Distance from the start of the
range
• Null if not available
Name Type
Longitude float? • Absolute longitudinal position
• Null if not available
HardwareEventArgs
This class defines the arguments that are sent on a hardware system event when triggered.
Namespace
Core.Interface.HardwarePack.Event
Properties
Name Type Description
NodeId string • Node identifier the event is
triggered on
HardwareStateEventArgs
This class defines the arguments that are sent on a hardware system state change when a node state
changes.
Namespace
Core.Interface.HardwarePack.Event
Properties
Name Type Description
NodeId string • The identifier of the node for
which the state changes
HardwareStatusEventArgs
This class defines the arguments that are sent when the status of the hardware system changes.
Namespace
Core.Interface.HardwarePack.Event
Properties
Name Type Description
Status HardwareSystemStatus on page • The new status of the
15 hardware system
Enumerations
HardwareSystemStatus
This enumeration defines the possible statuses of the hardware system.
Namespace
Core.Interface.HardwarePack.System
Values
Name Description
Error • The hardware system is in an unrecoverable
error state
• The Senstar Symphony Server disposes and
recreates the system
HardwareStateType
This enumeration defines the possible state types of the hardware node.
Namespace
Core.Interface.HardwarePack.Data
Values
Name Description
Normal • The state is the normal state
HardwareEventTypeCategory
This enumeration defines properties and methods that a hardware system needs to implement to fully
integrate with the Senstar Symphony Server.
Namespace
Core.Interface.HardwarePack.Data
Values
Name Description
Default • The default category
Delegates
HardwareEventReceivedHandler
This delegate represents the method that handles an event received from a hardware system.
Namespace
Core.Interface.HardwarePack.Event
Parameters
Name Type Description
e HardwareEventArgs • An object that contains the
arguments of the event
HardwareStateChangedHandler
This delegate represents the method that handles a node state change event received from a hardware
system.
Namespace
Core.Interface.HardwarePack.Event
Parameters
Name Type Description
e HardwareStateEventArgs • An object that contains the
arguments of the node state
change event
HardwareStatusChangedHandler
This delegate represents the method that handles a system status event received from a hardware system.
Namespace
Core.Interface.HardwarePack.Event
Parameters
Name Type Description
e HardwareStatusEventArgs • An object that contains the
arguments of the system
status event
Related tasks
Getting started on page 3
Trobleshooting
Log files
The log files for the library can be found in the configured log folder. The file format for the log files is
is-yymmdd_n.txt.
Legal information
Copyright © 2021 Senstar Corporation and/or its Licensor(s). All rights reserved.
This material is for informational purposes only. Senstar makes no warranties, express, implied or
statutory, as to the information in this document.
Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights
under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval
system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or
otherwise), or for any purpose, without the express written permission of Senstar Corporation
Senstar may have patents, patent applications, trademarks, copyrights, or other intellectual property rights
covering subject matter in this document. Except as expressly provided in any written license agreement
from Senstar, the furnishing of this document does not give you any license to these patents, trademarks,
copyrights, or other intellectual property.
Senstar and the Senstar logo are registered trademarks of Senstar Corporation.
All other trademarks are the property of their respective owners.