Visonic Powermax and Powermaster Component

I wanted to use the Arming Instant option and I was a bit confused about what is written in the wiki:

Note 5: Arming Instant has an exit delay as normal but does not have an entry delay. Once armed, any detection will trigger an immediate alarm. Arm home instant is the most useful for me when setting an alarm overnight.

I would have expected the reverse: arming instant means that there is no exit delay (the arming is instant) but the entry delay remains.

I see what you mean but it’s not me that defines this functionality, it is visonic. Give it a try on your panel, let’s see if it is the same as mine :wink:

Aaah got it. This is doing the reverse of what I thought. Good thing I didn’t test it tonight with the whole family asleep. :wink:

Hi!
Im trying to get this to work with my PM10 central but cant get the connection to work.
Is it possible to get the Visonic programmer software to try the connection with? I have download it from visonic site but it have a rar password, do anyone know it? I have done my best to google it but cant find it.

Im trying with the usb method.

Is it possible to grab picture from PIR with cameras built in sensors via this component as well, or there are any plans/chances to get it, or it works only via GPRS as it states in camera description?

The password was in a post earlier in this thread

Give it a try but it is old software and I’m not sure how well it works with a PowerMaster panel. Remember also that the software only works on MS Windows.

No sorry, I have a PowerMax panel so it’s not something I could set up to experiment with.

I have an issue with the Powerlink mode since I tried to update to the latest version today (0.6).

I was previously on the version from end of june and I tried today to updated everything (Host, home assistant, HACS and the Visonic Integration).

It seems that Powerlink mode cannot be established anymore:

I have tried getting into the panel install mode and out (as recommended in the wiki) and letting it a few hours but no luck.

However I see that I sensors trigger are still logged. So the communication is still occurring.

I was wondering if I missed anything in the wiki to update to 0.6 ?
Did I forgot to do something ?

I haven’t tried yet to remove the powerlink setting in the Visonic panel and to add it again: I will wait for davesmeghead feedback in case my failed update attempt could be useful to try to solve this without going this way.

@davesmeghead : anything I could do to better debug this ?

Thanks in advance

Hi,

Can you try these logger settings and upload the log file again please

logger:
  default: critical
  logs:
    custom_components.visonic: debug
    pyvisonic: debug
    custom_components.visonic.alarm_control_panel: debug
    custom_components.visonic.binary_sensor: debug
    custom_components.visonic.switch: debug
    custom_components.visonic.client: debug
    custom_components.visonic.config_flow: debug
    custom_components.visonic.create_schema: debug
    custom_components.visonic.__init__: debug

It’s my fault and I’ve updated the wiki accordingly. Version 0.6.0.0 uses a pypi library and so the pyvisonic line for the logger setting has changed.
:slight_smile:

Indeed I was wondering why I didn’t see more logs.
Here are the updated logs:

Thanks

@davesmeghead

Thanks for all your work on this truly awesome integration. I´ve had my Powermaster 10 integrated in Home Assistant since early 2019. However, for the last couple of months, possibly as early as july, I´ve had an issue with delayed state updates from the alarm panel. Example: Door is opened -> magnetic contact change immediately detected by the Visonic Panel (I´ve checked, many many times) -> up to one minute later state is updated in Home Assistant (when a Powerlink keep alive message is received?). Before july this issue was never present.

Other notes of interest(?):

  • Current version 0.6000 (have occasionally updated component to newer versions). From what I can recall, the issue was not related to a component update. Nor Home Assistant update or any other noteworthy change (network etc). Nor have I made any changes to the Visonic system or the Panel itself.
  • Home Assistant Supervised running in docker on Ubuntu 18.04 laptop.
  • Hardware USR-TCP232-E2 ethernet. Have also tried esp-link NodeMCU with exactly the same results.
  • Arm / Disarm from Home Assistant is instantly recognized by the Panel. There is no delayed communication in this direction.
  • I´ve tried running the integration in “Force standard mode” on a couple of occasions, same problem with delayed behaviour.
  • I´ve had occasional problems with component disconnecting from Visonic Panel. Enter / exit installer mode on panel have always solved this issue. After a restart sequence Panel states usually update instantly for a short while (some minutes), then it falls back to delayed behaviour.

Two days ago I completely removed the component from Home Assistant, unplugged Visonic Panel and left it 20-something hours without power. Restarted and reinstalled component yesterday. First attempt to connect in Powerlink Mode failed with access denied from panel (all faults had been cleared from Visonic Panel before). Checked download code in Panel settings, it was indeed default “AAAA”. So I set up the integration again, this time entering download code “AAAA” instead of leaving it blank (as I have always done). Success. Got to Powerlink Mode within a couple of minutes. I even got instant sensor updates from the panel repeatedly, me opening and closing doors, see log file timestamp 18:30:24 and onwards.

This morning delayed sensor behaviour was back:
Garage door opened, half a minute later state updated in Home Assistant, see log file timestamp 07:21:58. Garage door closed, me trying to arm system, not possible due to panel not ready 07:22:54. Waiting for door closed reported to Home Assistant. State changed 07:23:08. Me arming system, 07:23:21

Link to log file: https://drive.google.com/file/d/1NLOckDaxfkiCgkIGSdNMiZxqQlHZFHQ5/view?usp=sharing

Sorry for long post. Very much appreciated if you have time to look at the logs and give me some hints on what to do.

Hello,

I have a visonic + alarm on which I connect a wemos d1 r2 assembly (esp-link) and an arduino nano as explained in some tutorials.
the esp-link receives the alarm data well but I do not understand when to do the manual enrollment.
Home assistant is unable to connect to the alarm and shows me a config error.
I have been blocking for several days could you help me please ?

Thanks,
Loïc

Right, i’ve got it kind of working with PM10 and NodeMCU.
I can see status of the alarm in HA - armed/arming/disarmed, but i can’t do anything from HA side to alarm - it’s not sending arm/disarm commands (i’ve turned it on in the settings of integration), also i can see only Z02 in integration>visonic>devices, i cannot see other sensors/zones. I’ve tried to delete it and add again - no success.
Any clues?

Also, where do i find codes for communication in the alarm panel? I think i’ve checked all of possible options and there is nothing regarding serial/service/programming/etc. port

Apparently my issue with the link mode was just due to an attribute name change. The Panel Mode attribute is now name “Panel Mode” instead of just “Mode”.

I’ve taken a look through your log file and you are correct, Z09 is showing open at 07:21:58

The first thing to think about is have you changed the settings on your sensors to send updates out straight away. I know of this setting in a PowerMaster panel but I don’t know exactly what to do. I believe that it is in the menu somewhere on the panel itself.

The second thing to try is what I call the experimental B0 processing. As I do not have a PowerMaster panel myself this is not something I can easily test. Edit the integration “Configuration”, “Integrations” and find the Visonic and select Options. Enable the B0 processing and see if that makes a difference.

I noticed in your log file that you have a sensor that I do not know about. It is your fire sensors that are Zone 7, Zone 8 and Zones 12 to 15. Could you give me their Model number please.

I’m glad that you got to the bottom of it so all good :slight_smile: .

From your description I’m not sure what is wrong. You ask about manual enrollment of powerlink but then you imply that the communication is not working.

Again I’m not sure what is happening from your descriptions.

Have you both read the wiki here.
The best way that I can help you is if you change your logger settings like this and upload a log file to pastebin or dropbox and post a link to it on this forum please. I can then look at the interaction to the panel and see what is happening.

I’m not sure which codes that you are referring to.

Yes the communication is not working.
After add the integration, I have this error :

  • Visonic Panel Setup
    Failed to connect into Visonic Alarm. Check Settings.

and in the logs this other error :

  • Logger: homeassistant
Source: /srv/homeassistant/lib/python3.7/site-packages/homeassistant/runner.py:116
First occurred: 3 décembre 2020 à 23:25:52 (2 occurrences)
Last logged: 10:09:06

Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/usr/lib/python3.7/asyncio/base_events.py", line 986, in create_connection
    ssl_handshake_timeout=ssl_handshake_timeout)
  File "/usr/lib/python3.7/asyncio/base_events.py", line 1002, in _create_connection_transport
    protocol = protocol_factory()
  File "/srv/homeassistant/lib/python3.7/site-packages/pyvisonic/__init__.py", line 3696, in __init__
    super().__init__(*args, **kwargs)
  File "/srv/homeassistant/lib/python3.7/site-packages/pyvisonic/__init__.py", line 2100, in __init__
    asyncio.create_task(self.reset_triggered_state_timer(), name="Turn Sensor Off After Timeout") #, loop=self.loop)
TypeError: create_task() got an unexpected keyword argument 'name'

and this other error:

  • Logger: homeassistant.config_entries
Source: helpers/entity_component.py:172
First occurred: 10:08:39 (2 occurrences)
Last logged: 10:08:39

Error unloading entry Alarm Panel for binary_sensor
Error unloading entry Alarm Panel for switch
Traceback (most recent call last):
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/config_entries.py", line 321, in async_unload
    result = await component.async_unload_entry(hass, self)  # type: ignore
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/components/binary_sensor/__init__.py", line 144, in async_unload_entry
    return await hass.data[DOMAIN].async_unload_entry(entry)
  File "/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity_component.py", line 172, in async_unload_entry
    raise ValueError("Config entry was never loaded!")
ValueError: Config entry was never loaded!

What is the problem ?

Thank´s @davesmeghead . I´ll try out your suggestions with B0 and see if I can find any panel setting related to sensor updates. It feels as if I´ve looked everywhere though.

I just transfered my Home Assistant installation from Ubuntu 18.04 to Proxmox. If I´m lucky the problem might have been related to something on the host machine / environment.

The fire sensors are model SMD-426 PG2. It looks as these might have been replaced by SMD-429 PG2. I´m slightly confused by Visonic website: https://www.visonic.com/Products/PowerG-Wireless-Property-Protection/smd-426-pg2

I wanted to send a notification if some zone are opened when trying to arm the alarm.
However I don’t understand how to correctly detect the feedback.
As given in the wiki examples, I thought to use Event 11 and Reason 1,2,3,4 but Reason 0 is always returned even if zones are opened:

2020-12-04 12:29:50 DEBUG (MainThread) [pyvisonic] [handle_msgtypeA5] Parsing A5 packet 00 04 00 20 01 03 00 00 00 00 43 
2020-12-04 12:29:50 DEBUG (MainThread) [pyvisonic] [handle_msgtypeA5]      log: Disarmed(Désarmé), arm: Disarmed
2020-12-04 12:29:50 DEBUG (MainThread) [pyvisonic] [handle_msgtypeA5]      Zone Event
2020-12-04 12:29:50 DEBUG (MainThread) [pyvisonic] [handle_msgtypeA5]            Zone: 1    Type: 3, Ouvert
2020-12-04 12:29:50 DEBUG (MainThread) [custom_components.visonic.client] Visonic update event 1 {'Zone': 1, 'Event': 3, 'Description': 'Ouvert', 'condition': 1}
2020-12-04 12:29:50 DEBUG (MainThread) [custom_components.visonic.alarm_control_panel] code format none as powerlink or standard plus ********
2020-12-04 12:29:50 DEBUG (MainThread) [custom_components.visonic.alarm_control_panel] code format none as powerlink or standard plus ********
2020-12-04 12:29:50 DEBUG (MainThread) [custom_components.visonic.alarm_control_panel] code format none as powerlink or standard plus ********
2020-12-04 12:29:50 DEBUG (MainThread) [pyvisonic] [pmSendPdu] Sending Command (Ack Long)    raw data 0d 02 43 ba 0a    waiting for message response []
2020-12-04 12:29:56 DEBUG (SyncWorker_42) [pyvisonic] [RequestArm]  RequestArmMode stay
2020-12-04 12:29:56 DEBUG (SyncWorker_42) [custom_components.visonic.client] Visonic update event 11 {'Command': 'stay', 'PanelReady': False, 'OpenZones': ['binary_sensor.visonic_z01'], 'Bypass': [], 'Tamper': [], 'ZoneTamper': [], 'Reason': 0, 'condition': 11}
2020-12-04 12:29:56 DEBUG (MainThread) [pyvisonic] [pmSendPdu] Resetting expected response counter, it got to 6   Response list length before 0  after 1
2020-12-04 12:29:56 DEBUG (MainThread) [pyvisonic] [pmSendPdu] Sending Command ((Dis)Arming System)    raw data 0d a1 00 00 04 11 11 00 00 00 00 00 43 f4 0a    waiting for message response ['0X2']
2020-12-04 12:29:56 DEBUG (MainThread) [custom_components.visonic.alarm_control_panel] code format none as powerlink or standard plus ********
2020-12-04 12:29:56 DEBUG (MainThread) [custom_components.visonic.alarm_control_panel] code format none as powerlink or standard plus ********
2020-12-04 12:29:56 DEBUG (MainThread) [pyvisonic] [data receiver] msgType 0X2 got it so removed from list, list is now []
2020-12-04 12:29:56 DEBUG (MainThread) [pyvisonic] [data receiver] msgType 0X2 resetting expected response counter, it got up to 0
2020-12-04 12:29:56 DEBUG (MainThread) [pyvisonic] [handle_msgtype02] Ack Received  data = 43 
2020-12-04 12:29:56 DEBUG (MainThread) [pyvisonic] [Sending ack] PowerlinkMode=True    Is PM Ack Reqd=True    This is an Ack for message=0XA5
2020-12-04 12:29:56 DEBUG (MainThread) [pyvisonic] [handle_msgtypeA5] Parsing A5 packet 00 04 00 40 00 00 00 00 00 00 43 
2020-12-04 12:29:56 DEBUG (MainThread) [pyvisonic] [handle_msgtypeA5]      log: Disarmed(Désarmé), arm: Disarmed

How can I detect that the arming failed ?
Thanks

Event condition 11 Reason 0 means that the command has been sent to the panel. The panel may have a reason why it cannot arm and it doesn’t tell us why. It only indicates (as on the LCD display on the panel itself) that it is “Not Ready” and responds with an audio message (on my PowerMax Pro) “Not Ready To Arm”

You can’t directly

I can sort of help but there is a “gotcha” at the end, keep reading

When you get an Event condition 11 in Data Set C (see the wiki here) :

  • I would check for condition 11 Reason 0. You know that a command has been sent to the panel, and then
  • I would check the Command to be whaever you want out of the possible options. Or maybe just test for not equal to “Disarm”. You then know that an arm/disarm command has been sent, and then
  • I would probably check PanelReady, if it is False then the panel cannot be armed. This reflects the “Not Ready” in the LCD display.
  • You could then check the OpenZones array size being greater than 0, this will tell you the zones that may have a problem. As you can see it gives you the entity name that you can use to get the Home Assistant Friendly Name. See the example on the wiki.
  • Also the Bypass array will list the zones that are bypassed

So you could use a similar automation as on the wiki:

  • Trigger on alarm_panel_state_update event condition set to 11
  • Have 3 automation conditions
    • Reason being set to 0
    • Command not equal to “disarm”
    • PanelReady set False

Be careful about case sensitivity and it’s unfortunate that HA uses the term condition in automations and I use the same keyword inside the event itself. guess it’s too late to change that for everyone.

I did say about a Gotcha. You only get an Event condition 11 when you try to arm/disarm the panel via Home Assistant. If you use a Visonic Fob or the panels keypad then it is all in the alarm and does not tell Home Assistant until the panelchanges state (i.e it has been armed/disarmed).