Visonic Powermax and Powermaster Component


Hi Dave,

Thanks for the comprehensive answer. I looked at the panel and tried to arm, but indeed it’s not possible. Strange, because 3 weeks ago I had no problem doing this in Vera. Did a software reset in the ‘Installer mode’, but still got ‘zone open’. I removed the door contact and still. Doesn’t make any difference.
The only thing I can think of is that I have two hardwired zones, which are not connected to anything. Probably they need a resistor to close the zone.

I don’t know why it is trying to use the ‘1111’ code, that should only be applicable in standard mode. Am I right.

Will have a further look into the open zone problem, however it does not indicate which zone.

I will update you later this week,


I have a regular PowerMax system, that I am trying to connect to HA using the Visonic component and the Ethernet USR-TCP232-E2. I think the issue is related to the RS-232 part, as the USR-TCP web UI displays the following a few seconds after restarting Home Assistant:

Module Name: USR-TCP232-E2
Firmware Revision: 3014
Current IP Address:
MAC Address: ****
Run Time: 0day: 0hour: 52min: 8
TX Count(ETH): 0/0 bytes
RX Count(ETH): 37/0 bytes
Conn Status(ETH)B: IDLE/IDLE

The TTL1 is configured like this:

Baud Rate: 9600 bps
Data Size: 8 bit
Parity: None
Stop Bits: 1 bit
Flow Control: None
UART Packet Time: 0 ms
UART Packet Length: 0 chars
Sync Baudrate(RF2217 Similar): checked
Enable Uart Heartbeat Packet: unchecked

Socket A Parameters
Work Mode: TCP Server | None
Local/Remote Port Number: 23 / 23
PRINT: unchecked

Socket B Parameters
Work Mode: NONE

and I have configured the component in configuration.yaml with:

#Visonic PowerMax
type: ethernet
host: ‘’
port: 23
motion_off: 120
language: ‘EN’
force_standard: ‘no’
sync_time: ‘yes’
allow_remote_arm: ‘yes’
allow_remote_disarm: ‘yes’

(there is indentation above)

I have connected to the control panel like this:

using pins 2…4 as RXD, TXD, GND. I’ve also tried swapping RXD and TXD with no luck.

The HA UI says

Visonic Alarm Panel
2 hours ago
visonic alarm panel
standby February 11, 2019, 6:00 PM February 11, 2019, 8:40 PM
Comm Exception Count 0
Mode Standard
Panel Last Event None
Panel Alarm Status None
Panel Trouble Status None
Panel Siren Active No
Panel Status Unknown
Panel Status Code -1
Panel Ready No

Any pointers are welcome!


I assume that 1111 is your normal arm/disarm code. My Component gets this by going in to Powerlink mode and downloading it from the panels EEPROM so I can use it without you entering it. I could output it to the log file but I don’t as it’s a security problem. I just didn’t know if you had it as an override in your configuration.yaml file.

OK, good luck. As you realise, until you can get the panel working and being able to directly arm and disarm then there’s no point in running my Component.


So, the regular Powermax is not one that I’m familiar with the wiring, perhaps someone else could help?

and I’m also not familiar with the settings in the new E2, again perhaps someone else could help?

It looks like your RS232 is set up correctly for baud rate etc. I think you’re correct with the Enable Uart Heartbeat Packet being disabled. I’m not sure what the Sync Baudrate setting does though, maybe try setting it to disabled.

On the Socket A Parameters. I suggest you don’t use port 23 as that’s the telnet port. Try setting the port to 10042, something higher than 10000 then it’s out the way. Also remember to change it in the configuration.yaml file. Also, what are the TCP Server Work Mode options and the TCP Server detail options. I have mine (with an earlier device) set to TCP in STA (station) mode as transparent.

Perhaps you could do as I suggest and set your logger to debug the pyvisonic file (see my post 157 how to do this). Have a look in the log file and unless you can see lines such as this:

[custom_components.pyvisonic] [data receiver] Received message …

then you are not receiving any data.

Let us know how you get on


That may be the case, true. It is more likely to be a timing issue with HA and the panel, it all depends on what other Components you have in your system. Have you tried stopping HA and using from a command line to see if that gets in to powerlink. If it does go in to powerlink then leave it for 5 minutes, stop it and then start HA again, see if it retains powerlink. Having said that, if you’re happy with standard mode then go for it.


One question for my own peace of mind. I’m wiring my PowerMaster 10 this weekend following instructions here; we’ll see how it goes. Problem is, I’ll be using a USR-WIFI232A module, and voltage in is 3.3V. Voltage out in the PowerMaster is 3.7V, which is 12% higher. I’m assuming it will run hotter, but… will I fry it?


Hi and welcome. Although I don’t use the wifi module I do exactly that with the voltages and mine has been OK for several years with no problems. On my Github page, to quote “I connected the 3.75v pin on the panel to the Vcc (3.3v) on this device”. It is slightly outside the voltage range for the device but I figured that I would try it and see how it goes. For the low cost of the device, I decided that if it breaks I’d buy another and maybe put in a voltage regulator. The problem I had at the time was finding a voltage regulator that would take as low a voltage in as 3.75volts and still output 3.3volts

Let me know how it goes


Thanks, my module will probably have a shorter lifespan, but then again, as you said, it’s just a fews dollars. It doesn’t seem to get extremely hot. I’ll install during the weekend, PowerMaster 10, with 5 motion sensors (2 with snapshot cameras). I’ll let you know how it goes.

Great work!


Hi sosandstrom,

I can’t see on the picture where you are connecting th USR-TCP232 module on. Normally it’s at the connector used for the serial/PC connector board.
There is some useful information in here ( Hope this helps.
Regarding the settings of your E2; is an IP address from your local range? It seems one of the default IP;s from UST-IOT.
Work mode seems okay, put the local and remote port should not be the same. Change the remote port to some value >10000 (eg. 21011). Also change this in the HA configuration file.

Give it a try!


Hi Dave,

Connected another PowerMaster 10 panel, with another software version (v16 instead of v18 from the other on). It shows ‘trouble’ on the panel, but I can arm/disarm it, also in HA. Attached the log file (xml=zip)
The trouble seems to be caused by ‘not connecting’ the telephone line.
Unfortunately I can’t see the panel details when I click on the wrench in the HA Visonic panel. The information is avai
lable in the HA log though.

Is that a programmatic issue?
hass-newPM10-log.xml (48.6 KB)


Thanks for the tips, I changed port to 10042, but same status.

The exhaustive logs:

019-02-12 21:41:41 INFO (MainThread) [custom_components.pyvisonic] Initialising Protocol
2019-02-12 21:41:41 INFO (SyncWorker_7) [custom_components.pyvisonic] Setting key MotionOffDelay to value 120
2019-02-12 21:41:41 INFO (SyncWorker_7) [custom_components.pyvisonic] Setting key PluginLanguage to value EN
2019-02-12 21:41:41 INFO (SyncWorker_7) [custom_components.pyvisonic] Setting key ForceStandard to value False
2019-02-12 21:41:41 INFO (SyncWorker_7) [custom_components.pyvisonic] Setting key AutoSyncTime to value True
2019-02-12 21:41:41 INFO (SyncWorker_7) [custom_components.pyvisonic] Setting key EnableRemoteArm to value True
2019-02-12 21:41:41 INFO (SyncWorker_7) [custom_components.pyvisonic] Setting key EnableRemoteDisArm to value True
2019-02-12 21:41:41 INFO (SyncWorker_7) [custom_components.pyvisonic] Setting key OverrideCode to value ****
2019-02-12 21:41:41 INFO (SyncWorker_7) [custom_components.pyvisonic] Setting key ResetCounter to value 0
2019-02-12 21:41:41 INFO (SyncWorker_7) [custom_components.visonic] Visonic Connection Device Type is OrderedDict([(‘type’, ‘ethernet’), (‘host’, ‘’), (‘port’, 10042)])
2019-02-12 21:41:41 INFO (MainThread) [custom_components.pyvisonic] [Connection] Connected. Please wait up to 5 minutes for Sensors and X10 Devices to Appear
2019-02-12 21:41:41 INFO (MainThread) [custom_components.pyvisonic] [Startup] Trying to initialise panel
2019-02-12 21:41:41 DEBUG (MainThread) [custom_components.pyvisonic] [ClearList] Setting queue empty
2019-02-12 21:41:41 INFO (MainThread) [custom_components.pyvisonic] [QueueMessage] Exit
2019-02-12 21:41:41 INFO (MainThread) [custom_components.pyvisonic] [pmSendPdu] Sending Command (Exit) raw data 0d 0f f0 0a
2019-02-12 21:41:41 DEBUG (MainThread) [custom_components.pyvisonic] [pmSendPdu] waiting for message response []
2019-02-12 21:41:42 INFO (MainThread) [custom_components.pyvisonic] [QueueMessage] Stop
2019-02-12 21:41:42 INFO (MainThread) [custom_components.pyvisonic] [pmSendPdu] Sending Command (Stop) raw data 0d 0b f4 0a
2019-02-12 21:41:42 DEBUG (MainThread) [custom_components.pyvisonic] [pmSendPdu] waiting for message response []
2019-02-12 21:41:43 INFO (MainThread) [custom_components.pyvisonic] [QueueMessage] Initializing PowerMax/Master PowerLink Connection
2019-02-12 21:41:43 INFO (MainThread) [custom_components.pyvisonic] [pmSendPdu] Sending Command (Initializing PowerMax/Master PowerLink Connection) raw data 0d ab 0a 00 01 00 00 00 00 00 00 00 43 06 0a
2019-02-12 21:41:43 DEBUG (MainThread) [custom_components.pyvisonic] [pmSendPdu] waiting for message response [‘0X2’]
2019-02-12 21:41:48 DEBUG (MainThread) [custom_components.pyvisonic] [Startup] Success: Got only the required messages
2019-02-12 21:41:48 INFO (MainThread) [custom_components.pyvisonic] [Startup] count is 1
2019-02-12 21:41:48 DEBUG (MainThread) [custom_components.pyvisonic] [Startup] Sending Download Start
2019-02-12 21:41:48 INFO (MainThread) [custom_components.pyvisonic] [Start_Download] Starting download mode
2019-02-12 21:41:48 INFO (MainThread) [custom_components.pyvisonic] [QueueMessage] Start Download Mode
2019-02-12 21:41:48 INFO (MainThread) [custom_components.pyvisonic] [pmSendPdu] Sending Command (Start Download Mode) raw data 0d 24 00 00 56 50 00 00 00 00 00 00 35 0a
2019-02-12 21:41:48 DEBUG (MainThread) [custom_components.pyvisonic] [pmSendPdu] waiting for message response [‘0X2’]
2019-02-12 21:41:58 ERROR (MainThread) [frontend.js.latest.201902030] Uncaught TypeError: Cannot read property ‘isOff’ of undefined
2019-02-12 21:41:58 ERROR (MainThread) [frontend.js.latest.201902030] Uncaught TypeError: Cannot read property ‘isOff’ of undefined
2019-02-12 21:43:48 WARNING (MainThread) [custom_components.pyvisonic] ********************** Download Timer has Expired, Download has taken too long *********************
2019-02-12 21:43:48 DEBUG (MainThread) [custom_components.pyvisonic] [ClearList] Setting queue empty
2019-02-12 21:43:48 INFO (MainThread) [custom_components.pyvisonic] [QueueMessage] Exit
2019-02-12 21:43:48 INFO (MainThread) [custom_components.pyvisonic] [pmSendPdu] Sending Command (Exit) raw data 0d 0f f0 0a
2019-02-12 21:43:48 DEBUG (MainThread) [custom_components.pyvisonic] [pmSendPdu] waiting for message response []
2019-02-12 21:43:49 INFO (MainThread) [custom_components.pyvisonic] [QueueMessage] Stop
2019-02-12 21:43:49 INFO (MainThread) [custom_components.pyvisonic] [pmSendPdu] Sending Command (Stop) raw data 0d 0b f4 0a
2019-02-12 21:43:49 DEBUG (MainThread) [custom_components.pyvisonic] [pmSendPdu] waiting for message response []
2019-02-12 21:43:50 INFO (MainThread) [custom_components.pyvisonic] [QueueMessage] Initializing PowerMax/Master PowerLink Connection
2019-02-12 21:43:50 INFO (MainThread) [custom_components.pyvisonic] [pmSendPdu] Sending Command (Initializing PowerMax/Master PowerLink Connection) raw data 0d ab 0a 00 01 00 00 00 00 00 00 00 43 06 0a
2019-02-12 21:43:50 DEBUG (MainThread) [custom_components.pyvisonic] [pmSendPdu] waiting for message response [‘0X2’]
2019-02-12 21:43:51 INFO (MainThread) [custom_components.pyvisonic] [QueueMessage] Getting Status


You’re correct about the telephone line, it’s all through the log file.
As I’ve looked at your log file there’s a bug that I’ve fixed that seems to be specific to your panel so full marks for creating that one :slight_smile: I’ve squashed that bug and uploaded release to github. Apart from the exception it caused, it would mean that the messaging was out of sync for a while so ohter messages might be missed.
Also, in HA go to developer tools, look at the states and filter entities on visonic. Do you see all the panel attributes?


Hi, there’s no received data from the panel so the communication still isn’t working. Are you sure that you have the IP address right, it needs to be on the same network as your house and HA? Can you get a command prompt from where you run HA and ‘ping’ the device?


Pretty sure, as I can see on the device’s web UI that it is receiving ETH data (37 bytes) from HA:

[email protected] : ~ $ ping
PING ( 56(84) bytes of data.
64 bytes from icmp_seq=1 ttl=255 time=2.46 ms
64 bytes from icmp_seq=2 ttl=255 time=1.79 ms
64 bytes from icmp_seq=3 ttl=255 time=2.11 ms
64 bytes from icmp_seq=4 ttl=255 time=1.65 ms
64 bytes from icmp_seq=5 ttl=255 time=1.95 ms
— ping statistics —
5 packets transmitted, 5 received, 0% packet loss, time 4006ms
rtt min/avg/max/mdev = 1.652/1.996/2.464/0.281 ms
[email protected] : ~ $

I did find another regular PowerMax user post here:
which indicates what pins are what of the RS-232 connector.

Thanks for your response! In my picture the module is at the very top, connected with black and white wires to the 4 “RS-232” pins just below it.
I checked your linked article, but I am afraid that is about a PowerMax+ and not a “regular” :frowning:


Hi Dave,

Added a magnetic sensor to the panel. Works great, but not showing all information about the sensor details in de binary screen. Missing zone type, sensor type, zone type name, zone name and zone chime. Is this related to the panel being a PowerMaster or is it the same with the PowerMax?


It should work with the powermaster too. The only reason that it wouldn’t I think is that it is a zone number above 30. PowerMax series only have a max of 30 sensors numbered 1 to 30 and I only decode those. Powermaster, I think, has more than that so these must be in a different message that I don’t decode.

Whatever it is, if you turn debug on and send me the logs I’ll take a look. Zip the log file and rename it to a .xml extension to upload it here.


Does this help

Edit: sorry I’m repeating a link from another post, but this is about the original Powermax and not the pro

It looks like, counting left to right, the panel pins are: pin 2 is TX, pin 3 is RX, pin 4 is ground.
So, on the RS232 device you have, you connect pin 2 to RX, pin 3 to TX and pin 4 is ground.
You need to cross over RX and TX.


Hi Dave,

No, the zone number is 02, so that can not be the case.
Attached the log file.
Where do you get your knowledge on how to interpret the Visonic responses. Do you have a link where there information is shared?

hass-log-20190214.xml (1.1 MB)


I almost not dare to say this… since you’ve spent a lot of time on the serial thingie… but i’ve put together some code for a friends visonic powermax complete using a wemos and some arduino code.
It is based on some smartthings code that i altered to connect to mqtt instead.

If you want to have a go you can look at the code here:

It should probably be a matter of flashing your own wemos (d1r2) with this and connect it to your mqtt server.

My friend has been running this as daily driver with his alarm for quite some time now using HA mqtt-alarm and the built-in mqtt server in ha. It’s two-way integration enabling you to collect status from the sensors and arm/disarm using HA.

It’s not very well documented yet, but if anyone shows interest for this i can absolutely spend some minutes and plant a few instruction lines together with the code on git…

the guy that built the original code also added MQTT support in his code, find that project here, not sure if he has two-way support in his mqtt or if he just sends data out.


Has anything changed in the last 24 hours, code wise? I moved over to the binary_sensor coding and as of I think yesterday (approximately 19 hours ago) all of the binary_sensors appear to have disappeared or become undefined.