Visonic Powermax and Powermaster Integration

I’d appreciate it if you could capture a log file from 0.8.5.2 on your return. I might then be able to spot what that does and replicate it.

@davesmeghead :

Hi Dave, i have a question about your marvelous integration.
I have a powermax pro and if i have a door open, it’s impossible to arm it. Is there a way when i click arm with a door open to have/to know the impossible state of powermax and so after that i can know the door open…
2nd question : is it possible to do a sensor inibition ?

Hi,
Before you try to arm the panel, the “ready” attribute of the alarm entity in HA will tell you if it would succeed.

To give you an example I have opened my front door Z29, so “ready” is False

When you try to arm your panel then an HA Event is sent in HA

event_type: visonic_alarm_command_to_panel
data:
  panel: 0
  action: armdisarm
  panel_id: alarm_control_panel.visonic_alarm
  open:
    - binary_sensor.visonic_z29
  bypass: []
  tamper: []
  zonetamper: []
  command: Arm_Away
  reason: 0
  reason_str: Success
  message: Request Arm/Disarm Success, sent Command to Panel
origin: LOCAL

This lists the zones that are open, but they could have been bypassed. The event shows success as the command was sent to the panel, but the panel has ignored it as the panel is not “ready”.

For every sensor entity that I create in HA, I also create a “select” entity to allow you to Arm or Bypass individual sensors. If you Bypass an open sensor entity then it would be listed in the HA Event in the “bypass” list. In the above example, if I Bypass Z29 and Arm the panel, I get this Event

event_type: visonic_alarm_command_to_panel
data:
  panel: 0
  action: armdisarm
  panel_id: alarm_control_panel.visonic_alarm
  open:
    - binary_sensor.visonic_z29
  bypass:
    - binary_sensor.visonic_z29
  tamper: []
  zonetamper: []
  command: Arm_Away
  reason: 0
  reason_str: Success
  message: Request Arm/Disarm Success, sent Command to Panel
origin: LOCAL

The panel is now Armed Away.
When I disarm the panel, Z29 is magically Armed again and not Bypassed.

Does this help?
Dave

1 Like

Hi @davesmeghead , thanks for explanation.
Sorry i’m a Little newbee :slight_smile:

Is it possible to know witch zone are not ok ?
Is it possible to catch the not ready when i click on visonic remote?

Last question i can see by pass or not on the sensor but same question.

Sorry but do you have a example please ?

Many thanks

Hi,

Yes, the zone state will be open/on/true

No. The visonic remote interact directly with the alarm panel.

Each sensor has an attribute called “device_armed”
Alternatively, use the state of the select entity for the associated sensor

I’m not sure what you are trying to achieve. As said above, your remote interacts directly with the panel so nothing can be done here. The only thing you could do is create a script in HA to bypass any open panels when you arm the panel from within HA itself. But that could be dangerous, you could accidentally bypass all or most sensors and arm the panel, thinking that your house is secure when it isn’t.

1 Like

I was away as well. Will share the logs again when I can. Thanks again.

Announcing a new development release 0.11.0.0
visonic dev release

Major update to include:

  • New action visonic.alarm_panel_zoneinfo to retrieve sensor and x10 information, the action does not actually do anything to the panel. Note that the command action visonic.alarm_panel_command also returns this information (see screen grab below). These actions take advantage of the new capability in HA to return values from actions.
  • Modified Integration reload and reconnect operation:
    • There is a reconnect action visonic.alarm_panel_reconnect, this only operates once and simply tries to reconnect the comms i.e. the comms manager tries to reconnect. It does not disturb sensors or panel state in HA (unless the reconnection fails of course). You could use this action early morning in an automation to simply remake the connection to the panel.
    • If there is a disconnection then the integration uses the 2 user config settings (reload count and reload time interval) to determine what to do:
      • reload count = 0 then do not automatically do anything. You need to write your own automations. If there’s a disconnection the integration will stop (after sending an HA Event that you can use).
      • reload count > 0 then it first of all tries a simple reconnection (as per the action description above). If that fails then reload “count” times with a time interval in between. Note that reload count has a maximum of 1000000 e.g. if set to 1000000 with an interval of 60 seconds then it will try to reload for 1000000 minutes (approx 694 days).
  • PowerMaster panel wireless sensors may be able to get additional attributes to provide sensor: missing, wireless one-way or inactive indications.
  • Code Restructure for Strings to Enumerations: Code changes to be more explicit about what code does for each functionality e.g. EPROM enumeration for all EPROM related data.
  • Separated library and comms: The pyvisonic library does not manage the comms (data to/from the panel). There is a separate comms manager that passes data.

Here’s a screengrab example of the new Action, remember that it does not do anything other than return this information.

  • valid - please check that this is true before using the following data
  • sensors: a list of the sensors
  • x10: a list of the x10 devices
  • battery: a list of sensors that have low battery
  • open: a list of sensors that are open
  • bypass: a list of sensors that are currently bypassed

This was obtained by (using “Go to YAML Mode” in the above screengrab)

action: visonic.alarm_panel_zoneinfo
data:
  entity_id: alarm_control_panel.visonic_alarm

As usual, let me know of general issues here in the forum or for specific issues then create an issue on github.

EDIT: For all the people doing testing and investigating issues, I’d appreciate it if you could use this dev release please. This not only means that you’re using the latest code but it also means I can do any needed changes straight in to the next dev update.

1 Like

Hello,

I captured the log after I installed 0.8.5.2:

Let me know how I can help to debug this further.
I can install the dev version if that can help.

Thanks

Hi, yes please thanks for the offer.

First of all, can you do the same again, capture a log with 0.8.5.2 please. From the last log it looks like it gets to powerlink emulation mode almost by accident and I’d like to check that this happens every time :slight_smile:

[Controller] ****************************** During Powerlink Attempts - Response Timer Expired ********************************
[_processReceivedPacket] Had a response timeout PROBLEM but received a data packet and entering Standard Plus Mode
[handle_msgtypeAB]  data 03 00 1e 00 35 30 30 39 00 00 43 
[handle_msgtypeAB] ***************************** Got PowerLink Keep-Alive ****************************
[handle_msgtypeAB]         Got alive message while Powerlink mode pending, going to full powerlink and calling Restore

Secondly, yes please can you install the latest dev release and capture a log from that, then I can do a comparison of logs from your specific panel.

Thanks

Ok I restarted Home Assistant here (with version 0.8.5.2):

I’ll look into installing the dev version this week-end.

Thanks

Just to be sure: the best way to work with the dev version is to uninstall the current version with HACS and to install directly in custom_components/visonic (by checking out the dev branch in Github) ?

Just for you and anyone else wondering, this is how you can try the dev (my development) release and then put the existing version back that you currently use.

You do not need to uninstall from HACS.

To use the latest dev (development) release:

  • Move the existing visonic directory (from custom_components) to somewhere else as a backup (so you can put it back when you want to).
  • Download the zip file of the dev release from Github here
    • Click on the green “Code” button and then select “Download Zip”
    • You will get a “visonic-dev.zip” file downloaded
    • This will always get you the latest dev release
  • From the zip file move/copy the visonic directory across to custom_components
  • Restart Home Assistant

To put it back to how it was:

  • Delete the visonic directory in custom_components (this removes the dev release)
  • Copy/Move back the original visonic directory from where you put it
  • Restart Home Assistant

HACS might get confused with versions but just ignore it, when you put the original visonic directory back it will be OK.