Visonic Powermax and Powermaster Integration

After another quick look, there are 2 PIR detections in the log file, 1 at 14:14:48.496 for Z05 and 1 at 14:15:03.790 for Z04. This log file looks OK, both should have triggered the sensor in HA.

If you see the sensor detection on the panels display then I assume it also outputs it to HA so changing the battery won’t make any difference (I assume).

I assume you mean Powermaster? Your log file says you have a Powermaster 10.

Then post part of it and tell me the approximate times that you see the PIR Zone detections on the panel.
If you put your panel in to walk test mode does it register the PIR detections?

Hi,
If you get this in your log file (which should also be seen in the HA log view as it’s an Error).

[custom_components.visonic.pyvisonic] ERROR Connection Lost : disconnected because the Ethernet/USB connection was externally terminated.

then something is disconnecting the connection between HA and the Panel itself and there’s not much I can suggest other than here on the wiki and/or read the first post of this thread.

You either work out what is causing the disconnection, change the way you connect (wired for example) or you react to the disconnection by automating the restart of the integration (you should not need to restart all of HA).
Good luck :slight_smile:

Hello all,

I am trying to make this work with an Powermax Express pannel.

I dont have a Wemos D1 R2, but I have tried with a Esp32 wroom and a Lolin Esp8266 devkit (both clones).

I could compile and flash both boards with success.
The units start fine and connect to wifi.
I can use the HA add-on to see the logs wirelessly.

I connect RX, TX and GND to the pannel but I have no new data in the log… it seems that they are not communicating on serial.

I notice that the pannel 10 pins connector is upside down.

In the esphome add-on it allways says offline in the upper right corner, but the logs works wirelessly.

Its driving me nuts…

Any tips?
Thank you in advance!

Screenshot_20230318_091215_Home Assistant|230x500

SOLVED!
Only took me 2 days :stuck_out_tongue:

Powermax express vA17.108

With a nodemcu Esp8266 connected and powered by the visonic panel.

Baud rate 9600
Pin layout is upside down!

If someone needs help let me know.

Thank you for a great work @davesmeghead !

Hi,
I have a powermax plus alarm panel (the 14 pins layout)
I bought the USR-WIFI232-D2 module and I’m trying to understand how to connect the it to a power source. Has anyone had a suucess with that?

Thanks,
Ron

Hi all,
after updating my D1 mini to ESPHome 2023.4 i’ve experienced issues - the panel won’t connect no matter what.

I opened an issue with some details.
if anyone else has this issue and can provide some info, it would be awesome!

Same here, updated the ESPHome (D1Mini) this morning and lost connection between powermaster 30 and D1Mini.
The D1Mini is not recognized as powerlink so the issue must be ESPHome. Connection with hassio is working well.

Thanks for opening an issue.

It’s really been nice to see the integration mature during the last two years. It sets a standard of excellence others should emulate.

I just loaded the latest (0.8.4.1). The panel didn’t initially establish communication. After enabling logging using both the UI and YAML, this was all I saw (unique ID redacted):

2023-04-30 20:43:40.217 DEBUG (SyncWorker_1) [homeassistant.util.yaml.loader] Loading /config/secrets.yaml
2023-04-30 20:43:40.225 DEBUG (SyncWorker_1) [homeassistant.util.yaml.loader] Secret homeassistant_latitude retrieved from secrets.yaml in folder /config
2023-04-30 20:43:40.225 DEBUG (SyncWorker_1) [homeassistant.util.yaml.loader] Secret homeassistant_longitude retrieved from secrets.yaml in folder /config
2023-04-30 20:43:41.271 DEBUG (MainThread) [custom_components.visonic.pyvisonic] Initialising Protocol - Protocol Version 1.0.19.0
2023-04-30 20:43:41.274 DEBUG (MainThread) [custom_components.visonic.client] Initialising Client - Version 0.8.4.1
2023-04-30 20:43:41.276 INFO (MainThread) [custom_components.visonic] Starting Visonic Component
2023-04-30 20:43:41.342 DEBUG (MainThread) [custom_components.visonic] ************* create connection here **************
2023-04-30 20:43:41.342 INFO (MainThread) [custom_components.visonic] Starting Visonic with entry id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx configured panels=1
2023-04-30 20:43:41.342 DEBUG (MainThread) [custom_components.visonic] Panel Ident set up: panelident = 0   next auto panelident = 1
2023-04-30 20:43:41.342 INFO (MainThread) [custom_components.visonic.client] Exclude sensor list = []     Exclude x10 list = []
2023-04-30 20:43:41.343 DEBUG (MainThread) [custom_components.visonic] Setting client ID for entry id xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

After increasing the number of connection attempts to 2, it’s working and populating the log as expected. FYI, I’m using the Powermaster 10.

Just an update - my problem sort of fixed itself (all noted in the issue).

But another question - general one.
Sometimes when arming in various ways - the exit delay starts. Now I set it for 60 seconds on the panel - but is suddenly arms somewhere between 15-20 seconds. (Power master 10)

Generally I won’t mind​:hugs: but my automation closes the shutters during that time so the alarm triggers /:unamused:

has anyone experienced anything similar?

Hello,
How is exactly set the ‘Panel Armed’ attribute of the Alarm Panel Entity ?
Today the alarm was triggered (my bad…) and the alarm went from “armed present” to “waiting for the code” to “alarm triggered” to “deactivated” but at the same time the “Panel Armed” status went from “Yes” (armed present) to “No” (waiting for the code) and then to “Yes” (alarm triggered) and then to “No” (deactivated).
I would have expected the “Panel Armed” to remain at “Yes” until the alarm is deactivated ?

Hi, for this I’m going to need a log file, preferably the proper log file but you can create it from the Integrations page in HA now, like this…

  • I have enabled “download diagnostics” on the settings/configuration. Click the 3 vertical dots and you should see the menu item. After you select it, HA gives you a text file that I can use to help with simple problems. The diagnostics will give me the past 100 “things” that happened in the integration so I maye be able to help with simple problems.
  • For more difficult problem I’ll still need a log file. If you have “logger:” in your configuration.yaml you should also see a “Enable debug logging” on that same 3 dot menu. If you have problems and can repeat it then enable debug logging, create the problem and then disable logging. HA will then give you the log file as a text file.

These text files can help me to help you and they are really easy to create. They are fairly short files so you should be able to upload and post them here in this thread instead of pastebin/dropbox.

This week I updated ESPHome on the D1Mini to 2023.4.4 as well as HA to 2023.5.0 and experienced the same loss of connectivity. Based on notes from the issue raised I tried a combination of various restores to earlier versions and I could only get it working again with (HA) 2023.4.5 and (ESpHome) 2023.3.2. I did try just downgrading ESPHome, but that wasn’t sufficient and I did try full reboots between restores. So for me at least it seems to be a combination of HA and ESPHome causing the issue. I’ll post these notes on the issues also.

Hi Dave,
I was wondering if there’s a way to disable sensors (which are not present at all after the first configuration?
Maybe by editing files?
Or the only way is to reinstall the integration?
Thanks in advance.

You can hide and disable any sensor within Home Assistant after the Integration is installed, is this what you’re looking for.
image

That doesn’t hide them completely, I tried.
I’m talking about having only 10 sensors total, but in the integration it shows 30 of them


I’d wish to only see the ones that are actually there. It’s nothing functional really, but aesthetic.
Thanks!

And when you click the 31 devices can you screengrab the device list please.

But to actually answer your question, you can only exclude the sensors and X10 devices when you first set up the Integration, so you would have to delete it and set it up again with comma separated lists for the excluded sensors and X10 devices.

i tried disabling the first 2, they are still there though.

i was wandering if there’s a file that contains that configuration and maybe possible to edit it after the configuration.
I tried backing up and removing + re-installing the integration, but it doesn’t connect for some reason. so i rolled back for now

You could edit the HA configuration files but it’s not recommended unless you really know what you’re doing. The 2 files are in the .storage directory called core.device_registry and core.entity_registry. If you do go ahead then I suggest that you delete the Visonic Integration and stop HA first (so it isn’t using these files) and then make a backup of the files before altering them.

1 Like

@davesmeghead
Hi Dave,
I have a Visonic Powermax alarm with a GSM module. 3 days ago, I received a low-bat text message on my phone. I was wondering if it would be possible to add a feature in the HA integration to report the battery status of each sensor?
In HA, when I browse the devices attached to the Visonic integration, I can see that a battery column already exists but it doesn’t seem to be used. In any case, it is not updated.
Out of curiosity, I went to see the log and the message broadcast by SMS is also visible in the HA log.

2023-05-19 12:40:16.655 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [data receiver] msgType 0X2 got it so removed from list, list is now []
2023-05-19 12:40:16.656 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [data receiver] msgType 0X2 resetting expected response counter, it got up to 0
2023-05-19 12:40:16.656 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype02] Ack Received  data = 43 
2023-05-19 12:40:40.805 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Resetting expected response counter, it got to 25   Response list is now 1
2023-05-19 12:40:40.806 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Get Bypass Status)    raw data 0d a2 00 00 20 00 00 00 00 00 00 00 43 f9 0a    waiting for message response ['0XA5']
2023-05-19 12:40:40.838 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype02] Ack Received  data = 43 
2023-05-19 12:40:40.858 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [data receiver] msgType 0XA5 got it so removed from list, list is now []
2023-05-19 12:40:40.858 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [data receiver] msgType 0XA5 resetting expected response counter, it got up to 0
2023-05-19 12:40:40.858 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA5] Parsing A5 packet 00 06 1f 00 00 00 00 00 00 00 43 
2023-05-19 12:40:40.858 DEBUG (MainThread) [custom_components.visonic.pyvisonic] ================================================== Display Status ==================================================
2023-05-19 12:40:40.859 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 0  Sensor id=1  dname=Z01  stype=Magnet   zname=Back door      ztypeName=Voie Périp ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:40:40.859 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 1  Sensor id=2  dname=Z02  stype=Magnet   zname=Front door     ztypeName=Voie Périp ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:40:40.859 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 2  Sensor id=3  dname=Z03  stype=Motion   zname=Custom 1       ztypeName=Intérieure ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:40:40.859 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 3  Sensor id=4  dname=Z04  stype=Motion   zname=Play room      ztypeName=Intérieure ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:40:40.859 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 4  Sensor id=5  dname=Z05  stype=Magnet   zname=Master bedroom ztypeName=Intérieure ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:40:40.859 DEBUG (MainThread) [custom_components.visonic.pyvisonic]    Model PowerMax Pro Part      PowerMaster No                     LastEvent None                   Ready   Yes          
2023-05-19 12:40:40.859 DEBUG (MainThread) [custom_components.visonic.pyvisonic]    Mode  Powerlink              Status      Désarmé                Armed     No                     Trouble None              AlarmStatus None        
2023-05-19 12:40:40.859 DEBUG (MainThread) [custom_components.visonic.pyvisonic] ====================================================================================================================
2023-05-19 12:40:40.957 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Ack)    raw data 0d 02 fd 0a    waiting for message response []
2023-05-19 12:40:46.472 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeAB]  data 03 00 1e 00 31 2e 30 38 00 00 43 
2023-05-19 12:40:46.473 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeAB] ***************************** Got PowerLink Keep-Alive ****************************
2023-05-19 12:40:46.473 DEBUG (MainThread) [custom_components.visonic.pyvisonic] ================================================== Display Status ==================================================
2023-05-19 12:40:46.473 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 0  Sensor id=1  dname=Z01  stype=Magnet   zname=Back door      ztypeName=Voie Périp ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:40:46.473 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 1  Sensor id=2  dname=Z02  stype=Magnet   zname=Front door     ztypeName=Voie Périp ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:40:46.473 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 2  Sensor id=3  dname=Z03  stype=Motion   zname=Custom 1       ztypeName=Intérieure ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:40:46.474 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 3  Sensor id=4  dname=Z04  stype=Motion   zname=Play room      ztypeName=Intérieure ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:40:46.474 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 4  Sensor id=5  dname=Z05  stype=Magnet   zname=Master bedroom ztypeName=Intérieure ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:40:46.474 DEBUG (MainThread) [custom_components.visonic.pyvisonic]    Model PowerMax Pro Part      PowerMaster No                     LastEvent None                   Ready   Yes          
2023-05-19 12:40:46.474 DEBUG (MainThread) [custom_components.visonic.pyvisonic]    Mode  Powerlink              Status      Désarmé                Armed     No                     Trouble None              AlarmStatus None        
2023-05-19 12:40:46.474 DEBUG (MainThread) [custom_components.visonic.pyvisonic] ====================================================================================================================
2023-05-19 12:40:46.475 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Ack Long)    raw data 0d 02 43 ba 0a    waiting for message response []
2023-05-19 12:40:46.476 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Resetting expected response counter, it got to 0   Response list is now 1
2023-05-19 12:40:46.627 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (I think this is an alive message to the panel)    raw data 0d ab 0e 00 17 1e 00 03 03 01 04 00 43 c2 0a    waiting for message response ['0X2']
2023-05-19 12:40:46.713 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [data receiver] msgType 0X2 got it so removed from list, list is now []
2023-05-19 12:40:46.713 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [data receiver] msgType 0X2 resetting expected response counter, it got up to 0
2023-05-19 12:40:46.713 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtype02] Ack Received  data = 43 
2023-05-19 12:40:56.494 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA5] Parsing A5 packet 00 02 00 00 00 00 04 00 00 00 43 
2023-05-19 12:40:56.494 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA5]      Battery Low Zones 32-01: 00000000000000000000000000000100
2023-05-19 12:40:56.496 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Ack)    raw data 0d 02 fd 0a    waiting for message response []
2023-05-19 12:40:56.529 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA5] Parsing A5 packet 00 04 00 05 00 00 00 00 00 00 43 
2023-05-19 12:40:56.529 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA5]      log: Disarmed(Désarmé), arm: Disarmed
2023-05-19 12:40:56.648 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Ack)    raw data 0d 02 fd 0a    waiting for message response []
2023-05-19 12:40:56.679 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA7] Panel Status Change 01 00 03 29 00 ff 00 00 00 00 43 
2023-05-19 12:40:56.680 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA7]      A7 message contains 1 messages
2023-05-19 12:40:56.680 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA7]         self.SirenTriggerList = ['intruder']
2023-05-19 12:40:56.680 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA7]         System message Batterie Faible / Zone 03  alarmStatus None   troubleStatus Battery
2023-05-19 12:40:56.680 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA7]           self.pmSirenActive=False   siren=False   eventType=0x29   self.pmPanicAlarmSilent=False   tamper=False
2023-05-19 12:40:56.680 DEBUG (MainThread) [custom_components.visonic.client] Firing HA event, panel=0  event=2 {'Zone': 3, 'Entity': 'binary_sensor.visonic_z03', 'Tamper': False, 'Siren': False, 'Reset': False, 'Time': datetime.datetime(2023, 5, 19, 12, 40, 56, 680067), 'Count': 1, 'Type': [41], 'Event': [3], 'Mode': ['Batterie Faible'], 'Name': ['Zone 03'], 'condition': 2, 'action': 'panelupdate'}
2023-05-19 12:40:56.800 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sending Command (Ack)    raw data 0d 02 fd 0a    waiting for message response []
2023-05-19 12:41:16.473 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeAB]  data 03 00 1e 00 31 2e 30 38 00 00 43 
2023-05-19 12:41:16.473 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeAB] ***************************** Got PowerLink Keep-Alive ****************************
2023-05-19 12:41:16.473 DEBUG (MainThread) [custom_components.visonic.pyvisonic] ================================================== Display Status ==================================================
2023-05-19 12:41:16.473 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 0  Sensor id=1  dname=Z01  stype=Magnet   zname=Back door      ztypeName=Voie Périp ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:41:16.474 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 1  Sensor id=2  dname=Z02  stype=Magnet   zname=Front door     ztypeName=Voie Périp ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:41:16.474 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 2  Sensor id=3  dname=Z03  stype=Motion   zname=Custom 1       ztypeName=Intérieure ztamper=0  ztrip=0  bypass=0  lowbatt=1  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:41:16.474 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 3  Sensor id=4  dname=Z04  stype=Motion   zname=Play room      ztypeName=Intérieure ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:41:16.474 DEBUG (MainThread) [custom_components.visonic.pyvisonic]      key 4  Sensor id=5  dname=Z05  stype=Magnet   zname=Master bedroom ztypeName=Intérieure ztamper=0  ztrip=0  bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2023-05-19 12:41:16.474 DEBUG (MainThread) [custom_components.visonic.pyvisonic]    Model PowerMax Pro Part      PowerMaster No                     LastEvent Batterie Faible / Zone 03     Ready   Yes          
2023-05-19 12:41:16.474 DEBUG (MainThread) [custom_components.visonic.pyvisonic]    Mode  Powerlink              Status      Désarmé                Armed     No                     Trouble Battery           AlarmStatus None        
2023-05-19 12:41:16.474 DEBUG (MainThread) [custom_components.visonic.pyvisonic] ====================================================================================================================

Hi,

“Battery level” is already an attribute of each sensor like this
image

As the Visonic Panel only gives me a “good” / “bad” indication then the value is 100 (percent) for good and 0 for bad. So please add an automation like this as triggers

alias: Alarm Sensor Battery Check
description: Check all alarm panel sensors battery level
trigger:
  - platform: state
    entity_id: binary_sensor.visonic_z01
    attribute: battery_level
    to: "0"
  - platform: state
    entity_id: binary_sensor.visonic_z02
    attribute: battery_level
    to: "0"

Add all your sensor like this and then an Action to do what you want, in my automation I send myself an email.

Note that wired sensors do not have the Battery Level attribute.