Visonic produces the Powermax alarm panel series (PowerMax, PowerMax+, PowerMaxExpress, PowerMaxPro and PowerMaxComplete) and the Powermaster alarm series (PowerMaster 10 and PowerMaster 30).
This binding allows you to control the alarm panel (arm/disarm) and allows you to use the Visonic sensors (movement, door contact, ...) within openHAB.
The PowerMax provides support for a serial interface.
This serial interface is not installed by default but can be ordered from any PowerMax vendor (called the Visonic RS-232 Adaptor Kit).
In case your alarm panel is directly connected to a serial port of your openHAB server (or to an USB port through a serial to USB converter), you must setup a serial connection thing type in openHAB.
But you even don't need to have your alarm panel directly connected to your openHAB server.
You can connect it for example to a Raspberry Pi and use [ser2net Linux tool](https://sourceforge.net/projects/ser2net/) to make the serial connection available on LAN (serial over IP).
In this case, you must setup an IP connection thing type in openHAB.
Here is an example of ser2net.conf you can use to share your serial port /dev/ttyUSB0 on IP port 4444:
Visonic does not provide a specification of the RS232 protocol and, thus, the binding uses the available protocol specification given at the [domoticaforum](https://www.domoticaforum.eu/viewtopic.php?f=68&t=6581).
The binding implemntation of this protocol is largely inspired by the [Vera plugin](http://code.mios.com/trac/mios_visonic-powermax).
| IP address | ip | The IP address / The IP address to use for connecting to the Ethernet interface of the alarm system. | true | |
| TCP port | tcpPort | The TCP port to use for connecting to the Ethernet interface of the alarm system. | true | |
| Motion reset delay | motionOffDelay | The delay in minutes to reset a motion detection. | false | 3 |
| Allow arming | allowArming | Enable or disable arming the alarm system from openHAB. | false | false |
| Allow disarming | allowDisarming | Enable or disable disarming the alarm system from openHAB. | false | false |
| PIN code | pinCode | The PIN code to use for arming/disarming the alarm system from openHAB. Not required except when Powerlink mode cannot be used. | false | |
| Force standard mode | forceStandardMode | Force the standard mode rather than trying using the Powerlink mode.| false | false |
| Panel type | panelType | Define the panel type. Only required when forcing the standard mode.| false | PowerMaxPro |
| Sync time | autoSyncTime | Automatic sync time at openHAB startup. | false | true |
### Serial connection
The serial bridge thing requires the following configuration parameters:
| Serial port | serialPort | The serial port to use for connecting to the serial interface of the alarm system e.g. COM1 for Windows and /dev/ttyS0 or /dev/ttyUSB0 for Linux. | true | |
| Motion reset delay | motionOffDelay | The delay in minutes to reset a motion detection. | false | 3 |
| Allow arming | allowArming | Enable or disable arming the alarm system from openHAB. | false | false |
| Allow disarming | allowDisarming | Enable or disable disarming the alarm system from openHAB. | false | false |
| PIN code | pinCode | The PIN code to use for arming/disarming the alarm system from openHAB. Not required except when Powerlink mode cannot be used. | false | |
| Force standard mode | forceStandardMode | Force the standard mode rather than trying using the Powerlink mode.| false | false |
| Panel type | panelType | Define the panel type. Only required when forcing the standard mode.| false | PowerMaxPro |
| Sync time | autoSyncTime | Automatic sync time at openHAB startup. | false | true |
If you don't enroll the Powerlink on the PowerMax the binding will operate in Standard mode, and if enrolled in Powerlink mode.
On the newer software versions of the PowerMax the Powerlink enrollment is automatic, and the binding should only operate in 'Powerlink' mode (if enrollment is successful).
When openHAB is starting, unfortunately this download is often failing on a Raspberry Pi for an unclear reason (maybe too many things running at the same time).
A retry mechanism is implemented in the binding to retry until 3 times with a delay of 1 minute between each try.
My experience is that the download finally succeeds.
In case it fails after all the retries, you still have the option to later trigger the download either by using the channel `download_setup` or the appropriate console command.