Visonic Powermax and Powermaster Component

Yes, my panel is the original Visonic Powermax panel, and we think Visonic changed the Protocol for the following versions of the Powermax, Dave is trying to make is Home Assistant integration work with these old panels.

Hi David,

It’s bad news I’m afraid.

From what I’ve seen in your uploads to pastebin and through the internet research I’ve done I’m convinced that your panel does not support the necessary messages in the protocol for this to work.

This is the last successful transaction with your panel.

0:00:47.039681 < 1544>    DEBUG   [pmSendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response []
0:00:47.040817 < 1546>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 1.5
0:00:47.062618 < 2365>    DEBUG   [handle_msgtype02] Ack Received  data =

When we ask it for its status we get nothing back, your panel does not recognise this as a valid message:

0:01:11.088471 < 1544>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:01:21.086816 < 1216>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:01:21.088595 < 1619>    DEBUG   [ClearList] Setting queue empty

Your panel also doesn’t support the powerlink initialisation protocols (remember that I asked you to comment out this line)

self.sendInitCommand()

All these messages that we’ve been discussing are all based on the “Visonic Powerlink Module” that can be plugged in to the panel. This is a piece of hardware that fits to the panel, either inside or outside the panel. After reading up on this, your panel doesn’t support the powerlink module and that implies that it doesn’t support the powerlink protocol. The HA Component relies on pretending to be a Powerlink module, the panel believes that it has a Powerlink module attached when in reality it doesn’t, it has the HA Component.

The Original Powerlink users guide is here. In this document it states “The Visonic PowerLink enables you to view and control the Visonic PowerMax+ / PowerMax PRO Security System over the Internet.”
This implies that your original Powermax panel is not supported, only the Powermax+ and Pro are.

The Powerlink and PowerLink 2 are discontinued products and they are replaced with Powerlink 3.

Again from the internet, PowerLink 2 and 3 Highlights:

Powerlink 2
    Offered as an internal module for:
        PowerMaxPro version 5.2.50 or later
        PowerMaxExpress version 1.0.50 or later
        PowerMaxComplete version 2.050 or later
Powerlink 3
    PowerMaster-10 G2 – version 17 and higher
    PowerMaster-30 G2 – version 17 and higher
    PowerMaster-33 G2 – version 18 and higher
    PowerMaxPro / PowerMaxComplete / PowerMaxExpress – versions 13, 15 and 17

Again these do not mention your panel.

From my use of the Visonic PRP, I think that it is a simple application to upload / download the EPROM so a professional installer can change the settings quickly in a panel without having to go through all the menu systems on the panel itself. This makes sense really. The only successful transactions we’ve had with your panel is to do with upload and download.

From what we’ve done using your panel and from what I’ve read on the internet I’m convinced that we cannot get your panel to work. Unless someone else can provide new information then I’m stuck, I don’t know what to do next.
I would like to send a big thankyou to you and Rob for your help and patience with this, we did give it our best shot.

I’ll back out some of the changes I made to the code and add the following at the start of the description on Github

Please note that after extensive work, the original PowerMax Panel is not able to be used as it does not support the Powerlink protocol that this component relies on.

Dave and David, you’re both most welcome. I’m very impressed with your persistence – both of you.

Dave: You did the heavy lifting, and it was above and beyond the call of duty. I hope those using the Visonic integration recognize that.

1 Like

So, unfortunately we were not successful in our efftorts.

I would like to a give a BIg, BIg thank you to both Dave and Rob for their enormous patience and knowledge, their efforts are a testimony of the altruism these types of forums are made of, helping others with no return back, you are brilliant!

I would also like to thank everybody else that contributed with their inputs.

I completely agree!

Hello ! :slightly_smiling_face:

I’m looking for an alarm that will be fully integrated in Hass. I mean that I would like to be able to use all physical alarm sensors status from Hass and not to duplicate sensors (one for the alarm and another one for Hass) ==> WAF = 0 !
Visonic looks promising.

I haven’t read this whole subject, but I probably will !

Could you confirm me that this custom component can be used with the newer Visonic PowerMaster 33 ?
And very important : which latency do you usually observe on sensor status ? Is it close to 0sec, closer to 1-2sec, or more than 5sec ?

Thanks,
David

Hello David,

On my PowerMax Pro, with a small kind of NUC computer, latency is about 1s or less for state updates to be shown in the UI. So HA event might have more velocity.

Only PIRs doesn’t not report end of move, so when triggered they stay on a that On state during a few delay.

The panel you’ll choose have to be compatible with Powerlink module/protocol.

PowerMaster 10 and 30 have been reported here by some users to be fully functionnal in Powerlink mode. This is thanks to Dave’s hard work to update continuously this integration and great support from him and other members like Rob, to mention only them.

PowerMaster 33 is compatible with the same Powerlink3 module so it could work.
But i think you would be the first user of this thread with a 33 model…

My PowerMax Pro panel is a third hand, maybe 10 years old, just like many wireless sensors i’ve bought in second hand plateforms. I had to hard reset it(thankfully it’s possible on my panel) cause all codes were modified and forgot by previous owners.
Everythings works like a charm and seem undyable, this integration is the most valuable one of my HA.

Many people just want to upgrade their alarm systems with expensive hightech new ones and often sells their old ones.
So with a bit of patience you can find very good deals at cheap prices for compatible models and get one of the most awesome connected alarm system we could dream of, just by addind a single piece of hardware on the serial port…

Hi David,

I don’t really have much more to add than what’s already been said by olijouve.

As far as I’m aware there isn’t a current user of the PowerMaster 33 model but it should work, I’d be 99% certain. The Visonic publicity material states that it will work with the Powerlink module so I see no reason why it wouldn’t work as my HA Component pretends to be a Powerlink. I don’t insist that all users tell me about their hardware :slight_smile: so there could be someone with a 33 that I don’t know about and they’re happily using it :smile:

Have you looked at the wiki here, it’s in Github where the source code is (and I make the code publicly available and usable by anyone in part or in whole by an Apache licence by the way). There’s also an HA utility that supports custom components like this one and tells you when a new version is uploaded, you could use this and it would be pretty easy to upgrade through versions.

I have a PowerMax Pro and the latency I get is certainly less than a second.

I know it’s on the Wiki but just to note that:

  • At the moment it only supports a single partition from the panel
  • It doesn’t have any information about the siren itself. It is the panel that tells me that the alarm is sounding and not the siren itself. I can’t do anything about this.
  • You’ll need to buy a piece of hardware to connect the panels RS232 port to whatever hardware you are hosting your HA. The hardware could be a NUC, a raspberry Pi, Windows PC, a NAS using Docker etc etc, there are lots of options. The connection itself could be via USB or an Etherenet network that is wired or wireless.

I don’t use HASS but others on here do so you’ll get lots of support.

I can’t think of anything else, I suggest you read the Wiki and if you have any questions then post them here and we’ll all try to answer :smile:

D

Thank you very much both of you.

My choice of Alarm System is not made yet and I won’t have my new house before 4 or 5 months. Visonic was not my first choice, a little bit expensive and little bit old-fashionned look from my point of view, but they look very very reliable and integration in Home Assistant looks almost perfect (thanks to your work!). And that’s 2 very good points !

I will take time to read this thread and also continue to look at the other alarms systems to see if they are as well integrated than Visonic.

Thanks,
David

Yeah that’s no problem, take your time and pick what suits you best and fits in with your budget.
The only final piece of advice I would give you is to pick a standalone alarm that links to HA. More secure, more reliable and battery backed.
Good Luck with the new house
D

!!! WARNING !!!

Fresh new 0.103.0 HA release seems to break Visonic alarm_control_panel integration.
Sensors are still functionnals but the panel is totally broken so you’ll not be able to have your card to arm/disarm…

Here is the stack trace:

2019-12-11 23:23:13 ERROR (MainThread) [homeassistant.components.alarm_control_panel] Error while setting up platform visonic
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 150, in _async_setup_platform
    await asyncio.wait_for(asyncio.shield(task), SLOW_SETUP_MAX_WAIT)
  File "/usr/local/lib/python3.7/asyncio/tasks.py", line 442, in wait_for
    return fut.result()
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/visonic/alarm_control_panel.py", line 57, in setup_platform
    va = VisonicAlarm(hass, 1, queue, uawc, fnc)
TypeError: Can't instantiate abstract class VisonicAlarm with abstract methods supported_features

I’ve rolled back to a 0.102.3 snapshot, every thing ok.

So do not blindy upgrade your HA if you don’t have hassio that permit you to snapshot and roll back easily.
For ones of you that can revert, i would be interressed to know if it’s global or just isolate to my own integration.

I’m running 0.3.3.4 version of component.

No breaking change announce on this part, but it could it be a side effect of those changes:
Add supported_features to Alarm Control Panel to limit device_actions (@SukramJ - #29065)
Add device trigger for alarm_control_panel (@springstan - #29068) (alarm_control_panel docs)

So i’ve opened an issue in HA bug tracker to know if visonic integration must be updated to those new changes.

Can confirm that 103.0 also broke my alarm component, I’m on HA via docker, so just rolled back the image, all working.

I believe I got the same errors as well.
Plus could see all of the sensors as normal.

It’s confirmed, alarm_control_panel integration is broken after they merge this PR:
https://github.com/home-assistant/home-assistant/pull/29065/files/0aa46aa40d4473e2d9ed21dbd59fdb9e3156a193#diff-fb6f4f6b0a5670a75529a7e7cd0047e9

The Fix was easy, i’ve just done it in my alarm_control_panel.py and upgrade HA to 0.103.0
It’s all ok for me, i’m making a pull request on Daves repository.

1 Like

I’ve just reviewed and merged in the pull request :slight_smile:

Can confirm this now works & 100.3 is now showing alarm panel

Hi Dave,
Thanks a lot for all your hard work on this. I just started with using Hass.IO and I have the Visonic Alarm Panel and sensors already available. Really easy.
Now I am trying to create an automation with the sensor but I am not sure how this should work. I created the following:
id: ‘1576244104570’
alias: Test1
description: ‘’
trigger:

  • entity_id: binary_sensor.visonic_z15
    from: off
    platform: state
    to: on
    condition: []
    action:
  • alias: ‘’
    data: {}
    entity_id: media_player.kantoor_bart
    service: media_player.media_play

But the media player never starts playing and I also notice in the automtion tab the automation never ran.
I tried it with single quotes, no quotes, true, True etc but no idea what I am doing wrong
Any help is much appreciated
Regards
Bart

Hello,

Try something more like this, without condition:

- id: ‘1576244104570’
  alias: test1
  trigger:
  - platform: state
    entity_id: binary_sensor.visonic_z15
    from: 'off'
    to: 'on'
  action:
  ...

Thanks a lot! It is working now :slight_smile:

1 Like

Hi Dave and thanks a lot for this awesome component!

I’ve used it for three-four months now and it has worked flawlessly!

However, I have recently started to see some annoying delays when reporting state changes. When I open a door with a magnetic sensor it can take 10-20 seconds before it is reflected by a state change in Home Assistant. Previously I got almost no delays at all.

I don’t know really what can have caused this, I have updated Home Assistant to the latest version and I’m running the master branch of the Visonic app.

Is there anything in the logs that can be useful to look for when looking into this issue?

This is what I got in the log when I opened my front door, it was logged about 20 seconds after the door was opened:

Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeB0] Received PowerMaster10 message 3/36 (len = 26)    full data = 03 24 1a ff 08 ff 15 00 00 00 00 00 00 00 00 0d 2a 15 10 0c 13 14 02 01 00 80 00 00 35 43
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeAB]  data 03 00 1e 00 31 2e 34 30 00 00 43
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeAB] ***************************** Got PowerLink Keep-Alive ****************************
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic] =============================================== Display Status ===============================================
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]      key 0  Sensor id=1  dname=Z01  stype=Magnet   zname=Front door     ztypeName=Delay 1    ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]      key 1  Sensor id=2  dname=Z02  stype=Motion   zname=Hall           ztypeName=Interior-Follow ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]      key 2  Sensor id=3  dname=Z03  stype=Motion   zname=Bedroom        ztypeName=Interior   ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]      key 3  Sensor id=4  dname=Z04  stype=Motion   zname=Living room    ztypeName=Interior   ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]      key 4  Sensor id=5  dname=Z05  stype=Motion   zname=Downstairs     ztypeName=Interior   ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]      key 5  Sensor id=6  dname=Z06  stype=Motion   zname=Garage         ztypeName=Interior-Follow ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]      key 6  Sensor id=7  dname=Z07  stype=Magnet   zname=Bathroom       ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]      key 7  Sensor id=8  dname=Z08  stype=Magnet   zname=Garage door    ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]      key 8  Sensor id=9  dname=Z09  stype=Magnet   zname=Garage door    ztypeName=Delay 1    ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]      key 9  Sensor id=10 dname=Z10  stype=Magnet   zname=Back door      ztypeName=Perimeter  ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]      key 10 Sensor id=11 dname=Z11  stype=UNKNOWN 21 zname=Fire           ztypeName=Fire       ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]      key 11 Sensor id=12 dname=Z12  stype=UNKNOWN 21 zname=Fire           ztypeName=Fire       ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]    Model PowerMaster10          PowerMaster Yes                    LastEvent Disarm / Unknown       Ready   Yes
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic]    Mode  Powerlink              Status      Disarmed               Armed     No                     Trouble None              AlarmStatus None
Dec 16 19:40:04 homeassistant hass[14391]: 2019-12-16 19:40:04 INFO (MainThread) [custom_components.visonic.pyvisonic] ==============================================================================================================
Dec 16 19:40:07 homeassistant hass[14391]: 2019-12-16 19:40:07 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeB0] Received PowerMaster10 message 3/57 (len = 8)    full data = 03 39 08 ff 08 ff 03 18 24 4b 37 43
Dec 16 19:40:07 homeassistant hass[14391]: 2019-12-16 19:40:07 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA5] Parsing A5 packet 00 02 01 00 00 00 00 00 00 00 43
Dec 16 19:40:07 homeassistant hass[14391]: 2019-12-16 19:40:07 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeB0] Received PowerMaster10 message 3/4 (len = 35)    full data = 03 04 23 ff 08 03 1e 15 08 11 15 15 04 15 08 08 08 04 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 38 43
Dec 16 19:40:07 homeassistant hass[14391]: 2019-12-16 19:40:07 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA5] Parsing A5 packet 00 04 00 20 01 03 00 00 00 00 43
Dec 16 19:40:07 homeassistant hass[14391]: 2019-12-16 19:40:07 INFO (MainThread) [custom_components.visonic] Exclude sensor list = []     Exclude x10 list = []
Dec 16 19:40:07 homeassistant hass[14391]: 2019-12-16 19:40:07 INFO (MainThread) [custom_components.visonic] Visonic update event 1
Dec 16 19:40:07 homeassistant hass[14391]: 2019-12-16 19:40:07 INFO (SyncWorker_2) [custom_components.visonic.alarm_control_panel] alarm control panel received update event

Hi, I’m not sure if I can be any help but here goes. I guess that if it did work well and doesn’t now then there’s 3 possible reasons:

  • There’s a problem with the Component itself and something has changed
  • Something in Home Assistant itself has changed and had some kind of impact
  • Something in your environment has changed, for example do you use a wifi connection and have you more wifi gadgets now? have you introduced something new on the device where you run HA that uses lots of processing? Do you get the idea? Can you think of anything?

For the first one, you could try installing an older version of this Component on to HA. This could be tricky as the latest HA release means a change to the Component so you would need to go to an older HA release as well.

A general shout out, is anyone else with a PowerMaster having any sensor reporting problems?

To make the log file useful I would need the debug log level turning on and also much more of a complete file. Starting before you trigger a sensor, until it appears in HA frontend with the time you triggered it. A Magnet sensor would be best, then we can clearly see it being triggered. You would then need to upload the file to pastebin please and I’ll take a look.

As a bit of an aside, in your log file snippet you have a sensor type that I don’t know about. What is the Visonic model number of your Z11 and Z12 devices, they seem to be fire sensors?

And lastly…
For the last few releases of this Component there has been some very experimental code to decode the “B0” messages from the PowerMaster panel. This didn’t get very far and as I don’t have a PowerMaster panel it’s difficult to get anywhere. You enable this experimental code by adding this to the visonic section of your configuration.yaml file

  b0_enable_motion_processing: 'yes'
  b0_min_time_between_triggers: 30
  b0_max_time_for_trigger_event: 5

I would prefer a log file without this but you can try it and let me know if it helps :slight_smile:

Does the size of the history database have any effect on CPU loading?