Visonic Powermax and Powermaster Component

@davesmeghead I have a small “problem” with this component.
When I shut down home assistant for various reasons (updating stuff, changing config etc) my powermaster panel starts to beep with a regular interval. It continues to beep forever until I start home assistant again and the connection is established.
I guess it beeps because it looses “powerlink” but no error is showed on the panel.
Is it possible to somehow disable this behavior?

My wife went crazy a few days ago when my NAS where HA is installed crashed, the panel beeped for the entire day until I got the NAS replaced.

I’ve looked through my logs and the state values are quite different, and as time goes on, the “Before” states change over longer intervals. I’ve seen 9 different values over an interval of 24 hours, and that’s on a single senor. I’m guessing these changes could be some sort of PRN sequence to thwart spoofing (playback of data).

I suppose you could make a specific log type to keep track and see how the states evolve over time and if they survive power resets. Even if you could figure out the sequence and the expected “After” state, it could be of limited value unless you have the crown jewels in the closet. Of course, I could be wrong about all this.

Yes, I think so.

I’m not sure as mine doesn’t beep, it comes up with “BAA Comms Failure” on the panel.
If you enter and then exit installer mode it might clear the failure.

1 Like

Yes you need to find the setting in the panel called ‘trouble beeps’ then set that to disable.

I was currently testing with the Powermax Pro and some PIR NEXT K9-85 MCW.
These PIR go to sleep for 2 mn after a detection, which may be not optimal when used for home automation.
I am also not that satisfied by detection (one is working correctly, the others are only detecting me when my nose is on the detector).
May I ask which PIR are you using and if you are satisfied with the result ? And especially if they go to sleep after a trigger ?

In fact, this is even worse than I thought.
During the 2 min sleep time after a detection, if some movement is detected, it won’t triggered again.
Only after 2 min with no movement in front, will the sensor trigger again.
Which probably means that I cannot use the sensor to trigger lights for instance.

Does someone have experience with a motion sensor which can also be used to trigger lights ?
The requirements are simple:

  • if there is someone, there must be light
  • light should be maintained 1-2mn after the people left the area

Do you think I can achieve that with my Powermax Pro ? if yes, with which sensor ?

Thanks a lot in advance

I think the sleep after motion is a good thing. Lights should be turned on for 5-10 minutes after motion. How wants a blinking house?
I have had to reconfigure all my zwave motion sensors to have a motion timeout. If not they draw way to much battery. I think thats the main issue here.
If you need fast motion detection, buy cheap zigbee xiaomi motion sensors from bangood or some other china site.

Hum yes i haven’t thought of that. You are probably right.
However then we have the potential issue that there can be someone and the lights are off.
Indeed after the initial detection, as long as the sensor detects movement, it will not trigger again.
So after a while, the lights will turn off and no amount of movements will switch them on again (except if I keep perfectly still for 2mn and then move).

Yeah thas weird, my zwaves give new motion after timeout so i can reinitiate the lights, or cancel the lights out.

Perhaps with another motion sensor, I won’t have this “limitation”.
It seems that the MCPIR-3000 can deactivate the timeout function through a jumpter. I’ll look into this direction.
Am I the only one who is trying to switch on/off light based on the Visonic sensors ?

I finally managed to put everything together (Powermax Pro + USR-TCP232-E2 + Home Assistant).
It works the first time out of the box ! I am really impressed…
The only issue I got is that it keeps going to Download mode without going to Powerlink mode.

I have attached the log file here:

I would really appreciate if @davesmeghead could have a look to help me overcome the final step.
Thanks a lot in advance !


Few things you could check on your panel:

  • check if your panel needs to enroll powerlink : install mode > 7. Def powerlink
  • check panel’s DL code : installer mode > 5 . Com settings > 28. install code DL that the download code. Should be set to 5650

For more help you’ll need to enable debug log level for your inegration. Search this topic for debug you’ll find the few lines to put in your HA config file

That was it, thanks !
I am now in Powerlink mode and it seems to work correctly.
I suppose that I only need to enroll Powerlink once ?

Thanks a lot

Looks like olijouve beat me to it :smile:

The Component will keep retrying, waiting to either auto enroll or for the user to do what you did. Your log file did highlight a minor bug in the auto enroll sequence that I’ve fixed and I’ll upload with the next set of changes (it’s minor so not urgent).

Correct, you only need to do it once on your panel and as long as the download code doesn’t change you should be OK. You can restart your HA when you want to and it should now achieve powerlink every time, if not then upload a log file again and I’ll take a look.

All right, everything’s look fine based on the log.
Now I have to experiment with the PIR to see if they could be used to control light in the stairs, but it doesn’t look promising (because of the 2mn without movement delay).
I really have to find some MCPIR-3000 to test if those can work with the jumper set on walk-test.

Thanks a lot for this component, it is really useful.

Hi Dave,

I noticed something at the log of HA and I was wondering if it is something that needs to be addressed.

/config/custom_components/visonic/ RuntimeWarning: coroutine ‘wait_for’ was never awaited
asyncio.wait_for(t, None)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
/config/custom_components/visonic/ RuntimeWarning: coroutine ‘wait_for’ was never awaited
asyncio.wait_for(t, None)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
/config/custom_components/visonic/ RuntimeWarning: coroutine ‘wait_for’ was never awaited
asyncio.wait_for(t, None)

I managed to get a notification in case the alarm is triggered. It is working very well.
However what would be the best solution to have the description of what type of alarm is triggered (Fire, Burglary, Panic, Tamper) and which sensor triggered the alarm ?
I found my similar requests but for different alarms in Home Assistant, and they do not seem that reliable.

Also it seems that in some case, a sensor can be tripped but without any alarm (flood for instance).
So we’ll have to remember setting up a notification for that sensors as well.

Thanks in advance,

I think I have found a bug.
When the alarm is armed and I trigger a Perimeter sensor, alarm_control_panel.visonic_alarm goes to state “Triggered” and I receive a notification:
When the alarm is armed and I open the “Delay 1” main door without providing any code, alarm_control_panel.visonic_alarm does not go to “Triggered” and I don’t receive any notification:

The alarm correctly detects both intrusion, and I can see in the logs, that the components also received the information. But somehow it seems that the status of the alarm is not updated ?

I assume that you are happy with the first log file and not with the second, is that correct?
From a quick look through your second log file, here is the key section

2020-01-28 21:09:39 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA7] Panel Status Change 02 00 01 03 01 13 00 00 00 00 43 
2020-01-28 21:09:39 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA7]      A7 message contains 2 messages
2020-01-28 21:09:39 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA7]         System message Alarme Différée / Zone 01  alarmStatus Intruder   troubleStatus None
2020-01-28 21:09:39 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA7] ******************** Alarm Active *******************
2020-01-28 21:09:39 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA7]           self.pmSirenActive=2020-01-28 21:09:39.754858   siren=True   eventType=0x3   self.pmSilentPanic=False   tamper=False
2020-01-28 21:09:39 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA7]         System message Rétablissement Alarme Différée / Zone 01  alarmStatus None   troubleStatus None
2020-01-28 21:09:39 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA7] ******************** Alarm Not Sounding ****************
2020-01-28 21:09:39 INFO (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA7]           self.pmSirenActive=None   siren=False   eventType=0x13   self.pmSilentPanic=False   tamper=False

The Panel sends a single A7 PDU with 2 pieces of information:

  1. The Alarm is Active
  2. “Rétablissement Alarme Différée” or in English “Delay Restore”

You are correct that the alarm status is not updated to triggered. I have assumed that “Delay Restore” is a reason that the alarm is not actually sounding i.e. making a noise. Is this not correct? Should I just ignore this information?

You do get this information. Look at the “Panel Last Event”, “Panel Alarm Status” and “Panel Trouble Status” Attributes
The “Panel Last Event” is The alarm event (e.g. “Alarme Périphérie”) followed by a forward slash “/” followed by the zone or user information.
In your first log file when the alarm sounding, these are set to:
“Panel Last Event”: Alarme Périphérie / Zone 04
“Panel Alarm Status”: Intruder
“Panel Trouble Status”: None

Hope this helps

EDIT: Perhaps I should be a little clearer. Go to “Developer Tools” and select “States”. Where it says “Filter entities” type “visonic”. It may be that like mine “alarm_control_panel.visonic_alarm” is at the top of the list. There you will find the 3 attributes.