Visonic Powermax and Powermaster Integration

Hi, are you using the dev release or the main/master/HACS release?

When you set the zone to Gas this does not change the sensor device type itself, just the zone that it’s assigned to.

If you use the very latest dev release (I’ve just uploaded dev release 0.10.3.1 to Github) then grab the diagnostics file again and it should tell me the id of the unknown/incorrect sensor so I can check it.

If you’re using the main release then I’ll need a full debug Home Assistant log file with logger settings as defined on my wiki.

I downloaded the dev version. Im sending you the log file obtained under the sensor.

link to json file

Hi, I have a zwave movement sensor, I wanted to do an automation if the alarm was armed and a movment detected turn on the siren until do a disarm of the panel. I’m not being able to do it. I did and automation as following:

alias: Siren ouptut ON
description: " If movement detected sound siren on as intruder "
triggers:
  - type: motion
    device_id: 282f2b77e1e8f95caa7ab8b9cb09ce00
    entity_id: 0f0111607219ea3403a5b9c225f30d7e
    domain: binary_sensor
    trigger: device
conditions:
  - condition: state
    entity_id: alarm_control_panel.visonic_alarm
    state: armed_away
actions:
  - sequence:
      - action: siren.turn_on
        metadata: {}
        data: {}
mode: single

type or paste code here

type or paste code here

You are not able to do this and it does say this on the wiki and forum, only PowerMaster panels support siren trigger

Sorry and thank you for your time.

Having looked at your latest json diag file there’s nothing that I can do, the sensor in zone 5 is reporting its type (sid) as 106, the same as zones 1, 2 and 3. This sid=106 is the key piece of information. The sid is the same for all 4 sensors, it reports itself as a Flood Sensor.

I suggest that you override its device type in Home Assistant itself as there’s nothing that I can do.

Hi new here. I have a PowerMax Pro here in the US since 2011 and it is working fine using the local land line only. Been thinking of ways to access it thru wifi or buying a new PowerMaster 30 G2 but would need all new sensors. $$. Also I see it can be accessed thru my Hubitat but I want to try this way first.

Do I have to buy a Home Assistant Green hub to start with then install HACS?

You can set up and run Home Assistant on many different hardware and operating systems: Windows PC, Linux, docker containers etc. I run my main HA on a Synology server in a docker container for example, but I used to run it on a Raspberry Pi. Over the past year or so HA have created all-in-one setups such as the HA Green Hub, that simply helps users who are not technically able to do it themselves. So I can’t answer your question, use the hardware and OS that you are familiar with, you could install a test setup on your home PC/laptop/RasPi/Mac just to try it and then delete it. Just download the latest HA and install it, it’s that easy.

Once you get HA setup then you can install HACS as an Integration.

EDIT: Forgot to answer about the Visonic Panel stuff. I’m in the same situation, my main visonic is PowerMax and it works for me but I’ll eventually upgrade to PowerMaster … probably. You will need to buy a piece of hardware and fit it inside your panel to use my integration, please see the wiki page on it.

Hi I recently found this excellent integration. I used a NodeMCU to connect my Powermax Pro system. The integration works, but the best emulation I can achieve is Standard Plus. I did the Enroll Step but this does not result in successful enrollment of Powerlink. Please find a log attached. Any advise is welcome. Thanks. Link to debug log: log file - Pastebin.com

Hi and welcome.
First of all well done for getting it set up and all the way the Standard Plus Emulation Mode.
You have missed off the start of the log and I do not know what version of the integration you are using. I assume the Master and not the Dev release but if this is wrong then please tell me. If installing through HACS then it’s the Master release.
With a PowerMax Pro panel type you will need to manually enrol to get from Standard Plus to Powerlink Emulation, please see the wiki here and note 1 underneath the table.
If that doesn’t help then report back here please

Thanks. I am aware of that note and have tried this step (INSTALLER MODE → 7. ENROLL PWRLNK → 01: INSTALL) several times, at different moments in time. This always results in an error beep.

I am indeed using the HACS installed Master version.

The log I shared starts from the moment I started an already installed integration.

If I need to share a different log. Please let me know. Thanks for your support.

Hi,
A couple of things.

  • I need a debug log file from the point of restarting Home Assistant so I can see the sequence.
  • Also, in the log file you provided there is no evidence of you trying to manually enrol, would this be in the log file you provided?

Please provide a log file from the point of restarting Home Assistant and you also trying to manually enrol

EDIT: after a google search these may also be relevant
How to Enroll Visonic Powerlink to Powermax+ | Expert Q&A

Gsm Line Failure Reporting; Gsm Line Purpose; Defining Powerlink; Defining Output Parameters - Visonic POWERMAX+ Installer’s Manual [Page 19] | ManualsLib

Thanks I will create a log from a full restart. I am traveling and am not able to create the logs just now.

I indeed tried the manual enroll in the time window of that log.

Edit: I have tried the enrollment both from the installer menu as from the user menu. Followings these exact steps. It does not succeed somehow.

Thanks for your support will share logs later.

Hopefully this provides enough info to see what is going on. Thanks again for your great support!

Hi dave,
first, amazing integration. Im using it since we moved into a new flat where the previous owner fitted a Visonic PowerMax Pro Part.
I can get into Powerlink mode easily, and everything works like it should.
Unfortunately the previous owner didn’t give me any codes, just a fob to arm and disarm the system.

I read in the documentation, that the integration downloads the eeprom. This seems to work fine, as im in powerlink mode.
my Questions:

  • where does the Integration put the eeprom? And can i extract the user codes from it?
  • Where do i active the option “show eeprom data” I’m missing the option in the configuration of the integration.

A short debug example

2025-04-04 23:00:03.040 DEBUG (MainThread) [custom_components.visonic.pyhelper]  ================================================================================ Display Status ================================================================================
2025-04-04 23:00:03.040 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 0  Sensor id=1  Type=Magnet   Loc=front_door     ztypeName=delay_1    ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:00:03.040 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 1  Sensor id=2  Type=Magnet   Loc=kitchen        ztypeName=perimeter  ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:00:03.040 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 2  Sensor id=3  Type=Magnet   Loc=living_room    ztypeName=perimeter  ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:00:03.040 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 3  Sensor id=4  Type=Magnet   Loc=child_room     ztypeName=perimeter  ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:00:03.040 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 4  Sensor id=5  Type=Magnet   Loc=bedroom        ztypeName=perimeter  ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:00:03.040 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 5  Sensor id=6  Type=Magnet   Loc=bedroom        ztypeName=perimeter  ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:00:03.040 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 6  Sensor id=7  Type=Motion   Loc=bedroom        ztypeName=interior   ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:00:03.040 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 28 Sensor id=29 Type=Wired    Loc=kitchen        ztypeName=interior   ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:00:03.040 DEBUG (MainThread) [custom_components.visonic.pyhelper]    Model PowerMax Pro Part      PowerMaster No                     Ready   Yes          
2025-04-04 23:00:03.040 DEBUG (MainThread) [custom_components.visonic.pyhelper]    Mode  Powerlink              Status      DISARMED               Trouble None              AlarmStatus None        
2025-04-04 23:00:03.040 DEBUG (MainThread) [custom_components.visonic.pyhelper]  ================================================================================================================================================================================
2025-04-04 23:00:04.041 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_sequencer] SeqState=DoingPowerlink     Counter=32400      PanelMode=POWERLINK     PanelState=DISARMED     SendQueue=0
2025-04-04 23:00:16.050 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sent Command (I'm Alive Message To Panel)    waiting for message response ['0X2']
2025-04-04 23:00:20.983 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_processReceivedMessage] Received Powerlink (AB)   raw data ab 03 00          response list []
2025-04-04 23:00:20.983 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeAB]  data 03 00 1e 00 31 2e 30 38 00 00 43
2025-04-04 23:00:20.983 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeAB] ***************************** Got PowerLink Keep-Alive ****************************
2025-04-04 23:00:21.134 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sent Command (I'm Alive Message To Panel)    waiting for message response ['0X2']
2025-04-04 23:00:46.073 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sent Command (I'm Alive Message To Panel)    waiting for message response ['0X2']
2025-04-04 23:00:50.985 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_processReceivedMessage] Received Powerlink (AB)   raw data ab 03 00          response list []
2025-04-04 23:00:50.986 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeAB]  data 03 00 1e 00 31 2e 30 38 00 00 43
2025-04-04 23:00:50.986 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeAB] ***************************** Got PowerLink Keep-Alive ****************************
2025-04-04 23:00:51.020 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [_processReceivedMessage] Received Status Update (A5)   raw data a5 00 04          response list []
2025-04-04 23:00:51.020 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [handle_msgtypeA5]      Zone event   sysStatus=0    sysFlags=1    eventZone=0    eventType=0    unknowns are 0 8
2025-04-04 23:00:51.020 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [ProcessPanelStateUpdate]      self.PanelState is DISARMED      using event mapping 85 for event data
2025-04-04 23:00:51.020 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [ProcessPanelStateUpdate]  sysStatus=0    log: DISARMED, disarmed=True  armed=False
2025-04-04 23:00:51.022 DEBUG (MainThread) [custom_components.visonic.pyhelper] [PanelUpdate]  ped=  2025-04-04 23:00:51.020743+02:00   0 85  event data  = {'name': 0, 'event': 85, 'time': datetime.datetime(2025, 4, 4, 23, 0, 51, 20743, tzinfo=datetime.timezone(datetime.timedelta(seconds=7200), 'CEST'))}
2025-04-04 23:00:51.022 DEBUG (MainThread) [custom_components.visonic.client] P0  [EC] Panel event data {'name': 0, 'event': 85, 'time': datetime.datetime(2025, 4, 4, 23, 0, 51, 20743, tzinfo=datetime.timezone(datetime.timedelta(seconds=7200), 'CEST'))} is the same as last time so not sending event
2025-04-04 23:00:51.288 DEBUG (MainThread) [custom_components.visonic.pyvisonic] [sendPdu] Sent Command (I'm Alive Message To Panel)    waiting for message response ['0X2']
2025-04-04 23:01:03.085 DEBUG (MainThread) [custom_components.visonic.pyhelper]  ================================================================================ Display Status ================================================================================
2025-04-04 23:01:03.085 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 0  Sensor id=1  Type=Magnet   Loc=front_door     ztypeName=delay_1    ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:01:03.085 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 1  Sensor id=2  Type=Magnet   Loc=kitchen        ztypeName=perimeter  ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:01:03.085 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 2  Sensor id=3  Type=Magnet   Loc=living_room    ztypeName=perimeter  ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:01:03.085 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 3  Sensor id=4  Type=Magnet   Loc=child_room     ztypeName=perimeter  ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:01:03.085 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 4  Sensor id=5  Type=Magnet   Loc=bedroom        ztypeName=perimeter  ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:01:03.085 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 5  Sensor id=6  Type=Magnet   Loc=bedroom        ztypeName=perimeter  ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:01:03.085 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 6  Sensor id=7  Type=Motion   Loc=bedroom        ztypeName=interior   ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:01:03.085 DEBUG (MainThread) [custom_components.visonic.pyhelper]      key 28 Sensor id=29 Type=Wired    Loc=kitchen        ztypeName=interior   ztamper=0  ztrip=0  zchime=chime_off        bypass=0  lowbatt=0  status=0  tamper=0  enrolled=1  triggered=0 
2025-04-04 23:01:03.085 DEBUG (MainThread) [custom_components.visonic.pyhelper]    Model PowerMax Pro Part      PowerMaster No                     Ready   Yes          
2025-04-04 23:01:03.086 DEBUG (MainThread) [custom_components.visonic.pyhelper]    Mode  Powerlink              Status      DISARMED               Trouble None              AlarmStatus None        
2025-04-04 23:01:03.086 DEBUG (MainThread) [custom_components.visonic.pyhelper]  ================================================================================================================================================================================

much appreciated :slight_smile:

Hi,
I’ve had a bit of a computer problem for the past few weeks, graphics card decided to fail and it took out the power supply as well. So I’m just getting back up and I can no longer access your logs, can you please post updated logs again. Can you preferably provide complete Home Assistant logs, if you do need to grep then please just grep on “custom_components.visonic" and include all log from the start (restart) of Home Assistant.

Are you using the HACS release 0.9.9.9 ?
If so then edit line 3351 in pyvisonic.py to look like this

            log.warning(f"[Process Settings]    Installer Code {toString(self._lookupEpromSingle('installerCode'))}")

Remove the “#” from the start of the line and change “debug” to “warning”
If you’re not using 0.9.9.9 then search the file for the same line.
Then restart Home Assistant
Then within Home Assistant: Settings, System, Logs
Use the Installer code (without the space) on your panel and you can change the User Codes to what you want.

1 Like

yes, im on HACS release 0.9.9.9.
Works like a charm :slight_smile:

Additional question (not sure if you can help me with that, as its kind of Visonic specific).
I have a wired Z29 Sensor, which (physically) is a PIR, but HA detects it as a Door sensor. All fine according to documentation (Wired Sensors are detected as doors). Looks like the previous owner covered the sensor, as the panel goes crazy everytime the sensor is trigged (ready/not ready). Can i “force” the visonic to interpret this sensor as a motion sensor?

Hello @davesmeghead

I upgraded today from 0.8.4 to 0.9.9.9 and I am stuck in a “Downloading” loop.
I cannot even access my Alarm panel (the real one) anymore and it is stuck with “Downloading” on the screen.

Here are the logs:

I tried a Full restart sequence (stopping HA and going in/out of the installer menu) but that didn’t make a difference.

Any idea what is going on ?
And I am going on vacations tomorrow :frowning:

Thanks a lot in advance,

My only quick suggestion is to install the dev release or revert back to 0.8.4, I can see that your panel is stuck in the Downloading state but at this moment in time I’m not sure why.

I managed to revert to version 0.8.5.2 and it went to Powerlink without any issue.
I can go on vacation with my mind at peace :wink:

However when I will come back, I will be able to help debug this without any time pressure.

Thanks