Paradox Alarm System Binding This binding is intended to provide basic support for Paradox Alarm system.
With the power of openHAB this binding can be used for complex decision rules combining motion/magnetic sensor or whole partitions states with different scenarios.
Examples:
All partitions are armed, therefore there is no one at home. Window is opened for more than 10 minutes and temperature outside is below XXX degrees, send mail/any other supported notification to particular people. Supported Paradox panels/systems Currently binding supports the following panels: EVO192, EVO48 (not tested), EVO96 (not tested)
Supported Things Thing Thing Type Description ip150 Bridge The bridge is used to communicate with the IP150 ethernet module attached to the Paradox security system. panel Thing This is the representation of the Paradox panel. Has the general information about the main panel module, such as serial number, firmware/hardware/software versions, panel type, etc. partition Thing The partition is a grouped aggregation of multiple zones. It's also referred to in Paradox Babyware as "Area". zone Thing Paradox zone. Can be anything - magnetic, motion, or any other opened/closed sensor. State channel is contact, "low battery" and "is tampered" channels are switch, label is String.
Things configuration IP150 Bridge Parameters Parameter Description refresh Value is in seconds. Defines the refresh interval when the binding polls from the Paradox system. Optional parameter. Default 5 seconds. ip150Password The password to your IP150 (not your panel PIN). Mandatory parameter. pcPassword The panel programming code 3012 setting. Optional parameter. Default value is 0000. ipAddress IP address or hostname of your IP150. If hostname is used, it must be resolvable by openHAB. Mandatory parameter. port The port used for data communication. Optional parameter. Default value is 10000. panelType If parameter is passed, auto-discovery of panel type will be skipped. Provide string - EVO48, EVO96, EVO192, etc. Optional parameter. reconnectWaitTime Value is in seconds. The time to wait before a reconnect occurs after socket timeout. Optional parameter. Default value is 30 seconds. maxPartitions Sets maximum partitions to use during refresh. If not set, the maximum allowed amount from panelType will be used. Optional parameter. maxZones Sets maximum zones to use during refresh. If not set, the maximum allowed amount from panelType will be used. Optional parameter. encrypt Sets if encryption has to be used. Optional parameter. Default value is false.
IP150 Bridge Channels Channel Description communicationCommand Possible values [LOGOUT, LOGIN, RESET] communicationState Shows the communication status to Paradox (may differ from Bridge status). Values: [Offline, Online].
Communication Command Values Value Description LOGOUT Logs out and disconnects from Paradox alarm system. LOGIN Creates socket if necessary, connects to Paradox system, and uses the logon data from the Thing parameters to connect. RESET Does logout and then login with recreation of communicator objects inside the code.
Entities (zones, partitions) Configuration Value Description id The numeric ID of the zone/partition. disarmEnabled Optional boolean. When set to true, enables DISARM command for the partition. CAUTION: Enabling this can be dangerous if openHAB access is compromised, allowing attackers to disarm your armed partition.
Panel Channels Channel Type Description state String Overall panel state inputVoltage Number:ElectricPotential Supply Voltage boardVoltage Number:ElectricPotential Board DC Voltage batteryVoltage Number:ElectricPotential Battery Voltage panelTime DateTime Panel internal time (Timezone is set to the default zone of the Java virtual machine).
Partition Channels Channel Type Description partitionLabel String Label of partition inside Paradox configuration state String Calculated overall state of the partition (Armed, Disarmed, In Alarm) detailedState String Calculated detailed state of the partition based on partition state bits (see below table for possible values). additionalState String Deprecated. Previously consolidated multiple states as semi-colon separated string; use individual state channels instead. readyToArm Switch Partition is Ready to arm inExitDelay Switch Partition is in Exit delay inEntryDelay Switch Partition in Entry Delay inTrouble Switch Partition has trouble alarmInMemory Switch Partition has alarm in memory zoneBypass Switch Partition is in Zone Bypass zoneInTamperTrouble Switch Partition is in Tamper Trouble zoneInLowBatteryTrouble Switch Partition has zone in Low Battery Trouble zoneInFireLoopTrouble Switch Partition has zone in Fire Loop Trouble zoneInSupervisionTrouble Switch Partition has zone in Supervision Trouble stayInstantReady Switch Partition is in state Stay Instant Ready forceReady Switch Partition is in state Force Ready bypassReady Switch Partition is in state Bypass Ready inhibitReady Switch Partition is in state Inhibit Ready allZonesClosed Contact All zones in partition are currently closed. command String Command to be sent to partition. Can be (ARM, DISARM, FORCE_ARM, INSTANT_ARM, STAY_ARM, BEEP).
Partition Detailed State Values Overall state value Detailed state value (depending on the sub-state) InAlarm Silent Alarm, Audible Alarm, Fire Alarm, In Alarm (if none of the first three) Armed Away Armed, Stay Armed, No Entry Armed, Armed (if none of the first three) Disarmed Disarmed
Zone Channels Channel Type Description zoneLabel String Label of zone inside Paradox configuration openedState Contact Zone opened / closed tamperedState Switch Zone is tampered supervisionTrouble Switch Zone is in supervision trouble inTxDelay Switch Zone is in TX delay shutdown Switch Zone is shutdown bypassed Switch Zone is bypassed hasActivatedIntellizoneDelay Switch Zone has an activated Intellizone delay hasActivatedEntryDelay Switch Zone has an activated entry delay presentlyInAlarm Switch Zone is currently in alarm generatedAlarm Switch Zone has generated an alarm command String Command for zone. Can be (BYPASS, CLEAR_BYPASS).
Example Things Configuration Example Items Configuration Example Sitemap Configuration Acknowledgements This binding would not be possible without the reverse engineering of the byte level protocol and the development by other authors in python, C# and other languages. Many thanks to the following authors and their respective GitHub repositories for their development that helped in creating this binding:
João Paulo Barraca - https://github.com/ParadoxAlarmInterface/pai (opens new window)
Jean Henning - repository not available
Tertuish - https://github.com/Tertiush/ParadoxIP150v2 (opens new window) / https://github.com/Tertiush/ParadoxIP150 (opens new window)