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 bellow 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)
| ip150 | Bridge | The bridge is used to communicate with IP150 ethernet module attached to Paradox security system.|
| panel | Thing | This is representation of Paradox panel. Has the general information about the main panel module, i.e. serial number, firmware/hardware/software versions, panel type, etc...|
| partition | Thing | The partition is grouped aggregation of multiple zones. It's also referred 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 |
| refresh | Value is in seconds. Defines the refresh interval when the binding polls from 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 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, maximum allowed amount from panelType will be used. Optional parameter. |
| maxZones | Sets maximum zones to use during refresh. If not set, maximum allowed amount from panelType will be used. Optional parameter.|
| encrypt | Sets if encryption has to be used. Optional parameter. Default value is false |
|communicationCommand | Possible values [LOGOUT, LOGIN, RESET] |
|communicationState | Shows the communication status to Paradox. Different from Bridge status. Bridge may be online and able to receive commands but communication may be offline due to various reasons. Possible values [Offline, Online] |
| disarmEnabled | Optional boolean flag. Valid for partitions. When set to true the command DISARM will be allowed for the partition where the flag is enabled. CAUTION: Enabling DISARM command can be dangerous. If attacker can gain access to your openHAB (via API or UI), this command can be used to disarm your armed partition (area) |
| state | String |State of partition (armed, disarmed, in alarm) |
| additionalState | String | This used to be a channel where all different states were consolidated as semi-colon separated string. With implementation of each state as channel additional states should be no longer used. (deprecated channel) |
| 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 send to partition. Can be (ARM, DISARM, FORCE_ARM, INSTANT_ARM, STAY_ARM, BEEP) |
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