Visonic Powermax and Powermaster Component

hello all

sorrry to change the subject but could i ask a question or two.

  1. I can see in the sensor that you can see the battery state but can this be shown on its own? i want to make a battery stat page to try prevent issues

  2. Should i see the siren in my device list (i can only see my PIR and door sensors)

  3. Can you exclude zones in the config.yaml? I only use zones 1-9

TIA

OK, here goes:

  1. Here is a link to the post earlier in this thread where I make sensors from panel attributes. You need to do it in a similar way, create a sensor from the panels sensor attributes and display that new sensor in your frontend (or use it however you would a normal sensor). Note though that the battery sensor always only shows 0% or 100% and nothing in between so you could create a binary sensor out of it.

  2. No, the panel does not report the siren or it’s state

  3. If you mean exclude:

  • them as sensors/devices from within HA then yes, see here for a list of config parameters. You need exclude_sensor and/or exclude_x10.
  • specific sensors (bypass) when you arm the panel then yes but this is set up as a service in the Component, see here. You need to use the visonic.alarm_sensor_bypass service from a HA script. Or set up your own entities to call the service as I do not create them by default.

Dave

Or perhaps take over the world hahahahaha :rofl: :rofl:
Joking aside, I do appreciate your confidence, but let’s see how far we get :slight_smile:

I’ve just uploaded 0.3.3.5 to Github.
It includes some other minor changes but it also includes changes to the bridge. It was quicker than I thought it would be, cheers to modular software :slight_smile:

You use it like I posted in a diagram a couple of posts back, run bridge like this from the command line:

python3 bridge.py -coma COM2 -comb COM5

I think you said COM5 was your connection to the panel.
COM2 is one side of the com0com (or whatever utility you decide to use).
You can then setup the Visonic PRP to connect to COM1, the other side of the com0com pair.
The option -comb is the one used to display to the screen as “to” and “from”.

As an aside: I use Ethernet to my panel so I had it a bit more complicated. I had 2 pairs in com0com and used bridge.py from 2 PowerShell windows, one like the above and the other to connect from a COM to my panel and it worked. It displayed the same text on both PowerShell windows.

Awesome work, Dave. Much respect.

I have installed the com0com, but unfortunately I have no idea how to configure and use it.
I have changed the PRP COM Port to COM1 as you suggested and I have downloaded v0.3.3.5 from your Github.
I also don’t understand what is -coma and -comb in the command bridge.py, when I ran that command I got this:

bridge.py: error: unrecognized arguments: -coma COM2 -comb COM5

Can you please give me more detailed instructions (really detailed, please :wink: )

I think I got it, the bridge error was my fault, I was running it from the wrong folder (and previous version).

The rest I think I was able to figure it out.

This is just the login part:

python3 bridge.py -coma COM2 -comb COM5
INFO:root:Initialising Protocol
INFO:root:Initialising Connection : COM_A
INFO:root:Initialising Connection : COM_B
INFO:root:[Connection] Connected made : COM_A
INFO:root:[Connection] Connected made : COM_B
INFO:root:[sending to COM_B at 2019-12-05 01:56:23.155901] : 0d 24 00 00 56 50 00 00 00 00 00 00 35 0a
INFO:root:[received from COM_B at 2019-12-05 01:56:23.175877] : 0d 02
INFO:root:[received from COM_B at 2019-12-05 01:56:23.191829] : fd 0a 0d 22 fd 0a 01 16 15 00 0d 00 00 00 9c 0a
INFO:root:[sending to COM_B at 2019-12-05 01:56:23.270639] : 0d 02 fd 0a

I hope this is a part of what you need to analyze the Protocol of my panel.

I have a Pastebin with the complete download (or Upload) Output from the panel, but I don’t know if I should paste it here because it might contain sensitive information.

Hmm…HACS doesn’t show the new version as being available. It’s still showing 0.3.3.4 as being the latest version.

I sure am getting geezerly.

Ah yes, that’s because I didn’t go as far as a formal Github release which is what HACS needs. You would need to download it as a zip file from Github.

There’s the 0x22 message from the panel that I don’t know what it means. At least it’s being consistent.

Yes it will contain your user codes and maybe the installer code. Could you search and replace any user or installer codes you use and upload it? If your user code was “1234” then search for “12 34”, hopefully you’ll see what I mean.

I have no ideal how HACS performs its bookkeeping functions, but the plug-in thinks I’m still on 0.3.3.4 despite having updated to 0.3.3.5. In addition, HACS still serves up the old readme.md file. Apparently it doesn’t use the info from pyvisonic.py. The next formal release will likely fix things.

Does the payload of the data of the 0x22 message correlate with any message types in the newer panels? Specifically, do the ‘00’ bytes positions line up with anything else?

So I connected Visonic PRP to my panel and I got this

INFO:root:[sending to Alarm at 2019-12-02 21:23:29.099261] : 0d 24 00 00 56 50 00 00 00 00 00 00 35 0a
INFO:root:[received from Alarm at 2019-12-02 21:23:29.158095] : 0d 02 fd 0a 0d 3c fd 0a 00 00 47 04 01 00 00 00 6f 0a
INFO:root:[sending to Alarm at 2019-12-02 21:23:29.211941] : 0d 02 fd 0a

They look similar to that which David R got
Where you get this

0d 22 fd 0a 01 16 15 00 0d 00 00 00 9c 0a

I get this

0d 3c fd 0a 00 00 47 04 01 00 00 00 6f 0a

So I get a 3C message instead of a 22 message but they look kind of similar, close but different.

A 3C message defines the panel type and the software version.

I ignore the software version but I do decode the model and panel type. I use this as confirmation to then download the EPROM.

Looking at your 22 message, bytes “15 00” this would make the
Panel as Powermax (0x00)
Model 21 (0x15)

It looks close enough to me to probably be a definition, I am assuming that Visonic changed the message definition from your panel to newer ones and so created a new message as 3C.

So, I’ve made an alteration in pyvisonic.py to decode a 22 message in the same way as a 3C message. I have no idea if this will work but David R, will you try it please.

I have uploaded version 0.3.3.6 to Github, please download it to your Windows PC. You do not need the bridge or the com0com.

Simply run test.py and connect straight to the COM port you use (COM5?) and tell me what happens.

If you get stuck then please ask here for help.

Here is the Pastebin link with all the user codes and the installer code changed:

https://pastebin.com/StpYktrm

If you need anything else, just ask.

Ok, here it is:

python3 test.py -usb COM5
0:00:00.001477 < 3392>     INFO   Setting key OverrideCode to value -1
0:00:00.001961 < 3392>     INFO   Setting key ForceStandard to value False
DEBUG:asyncio:Using proactor: IocpProactor
0:00:00.114332 < 1035>     INFO   [Connection] Connected to local Protocol handler and Transport Layer
0:00:00.114332 < 1605>    DEBUG   [ClearList] Setting queue empty
C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py:1539: RuntimeWarning: coroutine 'wait_for' was never awaited
  asyncio.wait_for(t, None)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
0:00:00.210637 < 1619>     INFO   [Start_Download] Starting download mode
C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py:1599: RuntimeWarning: coroutine 'wait_for' was never awaited
  asyncio.wait_for(t, None)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
0:00:00.212235 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 1
0:00:00.213233 < 1530>    DEBUG   [pmSendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response ['0X2']
0:00:00.213233 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 1.5
0:00:01.691098 < 1530>    DEBUG   [pmSendPdu] Sending Command (Stop)    raw data 0d 0b f4 0a    waiting for message response ['0X2']
0:00:01.692036 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 1.5
0:00:03.192492 < 1530>    DEBUG   [pmSendPdu] Sending Command (Initializing PowerMax/Master PowerLink Connection)    raw data 0d ab 0a 00 01 00 00 00 00 00 00 00 43 06 0a    waiting for message response ['0X2']
0:00:03.193547 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 8.0
0:03:00.190768 < 1141>  WARNING   [Controller] ********************** Download Timer has Expired, Download has taken too long *********************
0:03:00.191765 < 1142>  WARNING   [Controller] ************************************* Going to standard mode ***************************************
0:03:00.192759 < 1264>     INFO   [Standard Mode] Entering Standard Mode
0:03:00.193763 < 1605>    DEBUG   [ClearList] Setting queue empty
WARNING:__main__:Visonic attempt to add device with type <class 'int'>  device is 7
0:03:00.195929 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 181   Response list before 0  after 1
0:03:00.197752 < 1530>    DEBUG   [pmSendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response ['0X2']
0:03:00.198748 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 1.5
0:03:01.690322 < 1530>    DEBUG   [pmSendPdu] Sending Command (Stop)    raw data 0d 0b f4 0a    waiting for message response ['0X2']
0:03:01.691273 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 1.5
0:03:03.191241 < 1530>    DEBUG   [pmSendPdu] Sending Command (Initializing PowerMax/Master PowerLink Connection)    raw data 0d ab 0a 00 01 00 00 00 00 00 00 00 43 06 0a    waiting for message response ['0X2']
0:03:03.192231 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 8.0
0:03:10.190938 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:03:10.191888 < 1605>    DEBUG   [ClearList] Setting queue empty
0:03:10.192886 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:03:11.192536 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:03:20.191487 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:03:20.192669 < 1605>    DEBUG   [ClearList] Setting queue empty
0:03:20.194424 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:03:20.195419 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:03:30.190758 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:03:30.191958 < 1605>    DEBUG   [ClearList] Setting queue empty
0:03:30.193782 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:03:30.194720 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:03:40.191363 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:03:40.192413 < 1605>    DEBUG   [ClearList] Setting queue empty
0:03:40.193142 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:03:40.195136 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:03:50.191631 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:03:50.193106 < 1605>    DEBUG   [ClearList] Setting queue empty
0:03:50.199395 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:03:50.200395 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:04:00.190590 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:04:00.191387 < 1605>    DEBUG   [ClearList] Setting queue empty
0:04:00.199365 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:04:00.207445 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:04:10.190655 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:04:10.191621 < 1605>    DEBUG   [ClearList] Setting queue empty
0:04:10.197585 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:04:10.205565 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']

I’m really sorry I forgot something, a few days ago I asked you to comment out a line in pyvisonic.py and you’ll need to do it again with this new version.

        self.reset_keep_alive_messages()
        self.sendInitCommand()
        if not self.ForceStandardMode:

to this

        self.reset_keep_alive_messages()
        #self.sendInitCommand()
        if not self.ForceStandardMode:

put a “#” at the start of the line, it should be line 1076
Can you do this and try again please

No problem, here it is again:

python3 test.py -usb COM5
0:00:00.000998 < 3392>     INFO   Setting key OverrideCode to value -1
0:00:00.001828 < 3392>     INFO   Setting key ForceStandard to value False
DEBUG:asyncio:Using proactor: IocpProactor
0:00:00.029757 < 1035>     INFO   [Connection] Connected to local Protocol handler and Transport Layer
0:00:00.031067 < 1619>     INFO   [Start_Download] Starting download mode
C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py:1539: RuntimeWarning: coroutine 'wait_for' was never awaited
  asyncio.wait_for(t, None)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
0:00:00.044998 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 1
C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py:1599: RuntimeWarning: coroutine 'wait_for' was never awaited
  asyncio.wait_for(t, None)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
0:00:00.053753 < 1530>    DEBUG   [pmSendPdu] Sending Command (Start Download Mode)    raw data 0d 24 00 00 56 50 00 00 00 00 00 00 35 0a    waiting for message response ['0X3C']
0:03:00.045597 < 1141>  WARNING   [Controller] ********************** Download Timer has Expired, Download has taken too long *********************
0:03:00.046823 < 1142>  WARNING   [Controller] ************************************* Going to standard mode ***************************************
0:03:00.053653 < 1264>     INFO   [Standard Mode] Entering Standard Mode
0:03:00.055763 < 1605>    DEBUG   [ClearList] Setting queue empty
WARNING:__main__:Visonic attempt to add device with type <class 'int'>  device is 7
0:03:00.070466 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 181   Response list before 0  after 1
0:03:00.080665 < 1530>    DEBUG   [pmSendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response ['0X2']
0:03:00.087666 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 1.5
0:03:01.575926 < 1530>    DEBUG   [pmSendPdu] Sending Command (Stop)    raw data 0d 0b f4 0a    waiting for message response ['0X2']
0:03:01.577417 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 1.5
0:03:03.075856 < 1530>    DEBUG   [pmSendPdu] Sending Command (Initializing PowerMax/Master PowerLink Connection)    raw data 0d ab 0a 00 01 00 00 00 00 00 00 00 43 06 0a    waiting for message response ['0X2']
0:03:03.077853 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 8.0
0:03:10.045191 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:03:10.046413 < 1605>    DEBUG   [ClearList] Setting queue empty
0:03:10.052168 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:03:11.075332 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:03:20.044348 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:03:20.045579 < 1605>    DEBUG   [ClearList] Setting queue empty
0:03:20.056329 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:03:20.501640 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:03:30.046052 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:03:30.047644 < 1605>    DEBUG   [ClearList] Setting queue empty
0:03:30.054898 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:03:30.057827 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:03:40.044631 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:03:40.046015 < 1605>    DEBUG   [ClearList] Setting queue empty
0:03:40.053629 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:03:40.055648 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:03:50.044896 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:03:50.046765 < 1605>    DEBUG   [ClearList] Setting queue empty
0:03:50.053777 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:03:50.061715 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:04:00.044188 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:04:00.045630 < 1605>    DEBUG   [ClearList] Setting queue empty
0:04:00.052754 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:04:00.058926 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:04:10.045045 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:04:10.046839 < 1605>    DEBUG   [ClearList] Setting queue empty
0:04:10.054814 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:04:10.059805 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:04:20.045706 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:04:20.047081 < 1605>    DEBUG   [ClearList] Setting queue empty
0:04:20.054617 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:04:20.062284 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:04:30.044516 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:04:30.045930 < 1605>    DEBUG   [ClearList] Setting queue empty
0:04:30.053544 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:04:30.061253 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:04:40.044725 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:04:40.046204 < 1605>    DEBUG   [ClearList] Setting queue empty
0:04:40.053490 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:04:40.061480 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']

I made several tries and for this one I think the output is different:

python3 test.py -usb COM5
0:00:00.001404 < 3392>     INFO   Setting key OverrideCode to value -1
0:00:00.001876 < 3392>     INFO   Setting key ForceStandard to value False
DEBUG:asyncio:Using proactor: IocpProactor
0:00:00.045043 < 1035>     INFO   [Connection] Connected to local Protocol handler and Transport Layer
0:00:00.045987 < 1619>     INFO   [Start_Download] Starting download mode
C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py:1539: RuntimeWarning: coroutine 'wait_for' was never awaited
  asyncio.wait_for(t, None)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
0:00:00.060328 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 1
C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py:1599: RuntimeWarning: coroutine 'wait_for' was never awaited
  asyncio.wait_for(t, None)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
0:00:00.068666 < 1530>    DEBUG   [pmSendPdu] Sending Command (Start Download Mode)    raw data 0d 24 00 00 56 50 00 00 00 00 00 00 35 0a    waiting for message response ['0X3C']
0:00:00.105262 < 2347>    DEBUG   [handle_msgtype02] Ack Received  data =
0:00:00.106625 < 1335>  WARNING   [data receiver] Warning : Construction of incoming packet unknown - Message Type 0X22
0:00:00.112184 < 1456>     INFO   [validatePDU] Not valid packet, CRC failed, may be ongoing and not final 0A
0:00:00.114304 < 1399>    DEBUG   [data receiver] Building PDU: Length is now 4 bytes (apparently PDU not complete)    0d 22 fd 0a     checksum calcs dd
0:00:00.121237 < 1355>  WARNING   [data receiver] Unhandled message 0x22
0:00:00.127186 < 1419>    DEBUG   [Sending ack] PowerlinkMode=False    Is PM Ack Reqd=False    This is an Ack for message=0X0
C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py:1432: RuntimeWarning: coroutine 'wait_for' was never awaited
  asyncio.wait_for(t, None)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
0:00:00.201186 < 1530>    DEBUG   [pmSendPdu] Sending Command (Ack)    raw data 0d 02 fd 0a    waiting for message response ['0X3C']
0:00:20.002946 < 2360>     INFO   [handle_msgtype06] Timeout Received  data
0:00:20.006040 < 1530>    DEBUG   [pmSendPdu] Sending Command (Stop)    raw data 0d 0b f4 0a    waiting for message response []
0:00:20.006892 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 1.5
0:00:20.020027 < 2347>    DEBUG   [handle_msgtype02] Ack Received  data =
0:00:20.034539 < 2375>     INFO   [handle_msgtype08] Access Denied  len 0 data
0:00:20.036062 < 2379>    DEBUG   [handle_msgtype08]                last command 0b
0:00:21.498451 < 1530>    DEBUG   [pmSendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response []
0:00:21.499458 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 1.5
0:00:21.523318 < 2347>    DEBUG   [handle_msgtype02] Ack Received  data =
0:00:46.061958 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 25   Response list before 0  after 1
0:00:46.062952 < 1530>    DEBUG   [pmSendPdu] Sending Command (I'm Alive Message To Panel)    raw data 0d ab 03 00 00 00 00 00 00 00 00 00 43 0e 0a    waiting for message response ['0X2']

Ok, I made some more tests and I’m connecting to the panel, When I run the test.py my panel displays “Processando” (something like Processing) after perhaps 20 seconds or so, the “Processando” dispears from the display and the panel enters normal ready to arm mode.

OK that and the pastebin gives me more info, thankyou.

So, I’ve uploaded 0.3.3.7 to Github.
I’d like you to do the first thing, run it and upload the output.
Then try the second thing, run it and upload the output

First
Do the edit that you normally do, it’s line 1079 this time, put a “#” at the start of the line

        self.reset_keep_alive_messages()
        #self.sendInitCommand()
        if not self.ForceStandardMode:

OK run it and upload the output

Second, leave the previous change on 1079 and now do this as well on line 927

        self.oldpowermax = False

to

        self.oldpowermax = True

And upload the output please

Also

Could this be translated as “Downloading”

Here is the first test output:

python3 test.py -usb COM5
0:00:00 < 3392>     INFO   Setting key OverrideCode to value -1
0:00:00.000997 < 3392>     INFO   Setting key ForceStandard to value False
DEBUG:asyncio:Using proactor: IocpProactor
0:00:00.020987 < 1035>     INFO   [Connection] Connected to local Protocol handler and Transport Layer
0:00:00.020987 < 1619>     INFO   [Start_Download] Starting download mode
C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py:1539: RuntimeWarning: coroutine 'wait_for' was never awaited
  asyncio.wait_for(t, None)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
0:00:00.038116 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 1
C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py:1599: RuntimeWarning: coroutine 'wait_for' was never awaited
  asyncio.wait_for(t, None)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
0:00:00.049173 < 1530>    DEBUG   [pmSendPdu] Sending Command (Start Download Mode)    raw data 0d 24 00 00 56 50 00 00 00 00 00 00 35 0a    waiting for message response ['0X3C']
0:00:00.081939 < 2347>    DEBUG   [handle_msgtype02] Ack Received  data =
0:00:00.081939 < 1335>  WARNING   [data receiver] Warning : Construction of incoming packet unknown - Message Type 0X22
0:00:00.083928 < 1456>     INFO   [validatePDU] Not valid packet, CRC failed, may be ongoing and not final 0A
0:00:00.091254 < 1399>    DEBUG   [data receiver] Building PDU: Length is now 4 bytes (apparently PDU not complete)    0d 22 fd 0a     checksum calcs dd
0:00:00.097955 < 1355>  WARNING   [data receiver] Unhandled message 0x22
0:00:00.097955 < 1419>    DEBUG   [Sending ack] PowerlinkMode=False    Is PM Ack Reqd=False    This is an Ack for message=0X0
C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py:1432: RuntimeWarning: coroutine 'wait_for' was never awaited
  asyncio.wait_for(t, None)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
0:00:00.184942 < 1530>    DEBUG   [pmSendPdu] Sending Command (Ack)    raw data 0d 02 fd 0a    waiting for message response ['0X3C']
0:00:19.416642 < 2360>     INFO   [handle_msgtype06] Timeout Received  data
0:00:19.417637 < 1530>    DEBUG   [pmSendPdu] Sending Command (Stop)    raw data 0d 0b f4 0a    waiting for message response []
0:00:19.420633 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 1.5
0:00:19.431605 < 2347>    DEBUG   [handle_msgtype02] Ack Received  data =
0:00:19.447609 < 2375>     INFO   [handle_msgtype08] Access Denied  len 0 data
0:00:19.448556 < 2379>    DEBUG   [handle_msgtype08]                last command 0b
0:00:20.918872 < 1530>    DEBUG   [pmSendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response []
0:00:20.918872 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 1.5
0:00:20.935228 < 2347>    DEBUG   [handle_msgtype02] Ack Received  data =
0:00:45.046455 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 25   Response list before 0  after 1
0:00:45.047452 < 1530>    DEBUG   [pmSendPdu] Sending Command (I'm Alive Message To Panel)    raw data 0d ab 03 00 00 00 00 00 00 00 00 00 43 0e 0a    waiting for message response ['0X2']
0:02:26.046019 < 1577>     INFO   [SendCommand] Re-Sending last message  I'm Alive Message To Panel
0:02:26.047014 < 1605>    DEBUG   [ClearList] Setting queue empty
C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py:1581: RuntimeWarning: coroutine 'wait_for' was never awaited
  asyncio.wait_for(t, None)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-158' coro=<ProtocolBase.SendCommandAsync() done, defined at C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py:1543> exception=AttributeError("'NoneType' object has no attribute 'triedResendingMessage'")>
Traceback (most recent call last):
  File "C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py", line 1582, in SendCommandAsync
    self.pmLastSentMessage.triedResendingMessage = True
AttributeError: 'NoneType' object has no attribute 'triedResendingMessage'
0:02:27.045081 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 102   Response list before 0  after 1
0:02:27.046075 < 1530>    DEBUG   [pmSendPdu] Sending Command (I'm Alive Message To Panel)    raw data 0d ab 03 00 00 00 00 00 00 00 00 00 43 0e 0a    waiting for message response ['0X2']
0:04:08.045345 < 1577>     INFO   [SendCommand] Re-Sending last message  I'm Alive Message To Panel
0:04:08.046025 < 1605>    DEBUG   [ClearList] Setting queue empty
ERROR:asyncio:Task exception was never retrieved
future: <Task finished name='Task-263' coro=<ProtocolBase.SendCommandAsync() done, defined at C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py:1543> exception=AttributeError("'NoneType' object has no attribute 'triedResendingMessage'")>
Traceback (most recent call last):
  File "C:\Users\david\OneDrive\Desktop\Hassio\Visonic v0.3.3.6\pyvisonic.py", line 1582, in SendCommandAsync
    self.pmLastSentMessage.triedResendingMessage = True
AttributeError: 'NoneType' object has no attribute 'triedResendingMessage'
0:04:09.044189 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 102   Response list before 0  after 1
0:04:09.045189 < 1530>    DEBUG   [pmSendPdu] Sending Command (I'm Alive Message To Panel)    raw data 0d ab 03 00 00 00 00 00 00 00 00 00 43 0e 0a    waiting for message response ['0X2']
0:04:19.045482 < 1157>     INFO   [Controller] Trigger Panel Download Attempt
0:04:19.045482 < 1619>     INFO   [Start_Download] Starting download mode
0:04:19.046479 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 10   Response list before 0  after 1
0:04:19.054460 < 1530>    DEBUG   [pmSendPdu] Sending Command (Start Download Mode)    raw data 0d 24 00 00 56 50 00 00 00 00 00 00 35 0a    waiting for message response ['0X3C']
0:07:20.045254 < 1141>  WARNING   [Controller] ********************** Download Timer has Expired, Download has taken too long *********************
0:07:20.045254 < 1142>  WARNING   [Controller] ************************************* Going to standard mode ***************************************
0:07:20.047246 < 1264>     INFO   [Standard Mode] Entering Standard Mode
0:07:20.054562 < 1605>    DEBUG   [ClearList] Setting queue empty
WARNING:__main__:Visonic attempt to add device with type <class 'int'>  device is 7
0:07:20.057195 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 181   Response list before 0  after 1
0:07:20.057195 < 1530>    DEBUG   [pmSendPdu] Sending Command (Exit)    raw data 0d 0f f0 0a    waiting for message response ['0X2']
0:07:20.064179 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 1.5
0:07:21.545272 < 1530>    DEBUG   [pmSendPdu] Sending Command (Stop)    raw data 0d 0b f4 0a    waiting for message response ['0X2']
0:07:21.546099 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 1.5
0:07:23.044367 < 1530>    DEBUG   [pmSendPdu] Sending Command (Initializing PowerMax/Master PowerLink Connection)    raw data 0d ab 0a 00 01 00 00 00 00 00 00 00 43 06 0a    waiting for message response ['0X2']
0:07:23.044367 < 1532>    DEBUG   [pmSendPdu]          Command has a wait time after transmission 8.0
0:07:30.044010 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:07:30.044010 < 1605>    DEBUG   [ClearList] Setting queue empty
0:07:30.045934 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:07:31.044300 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:07:40.043985 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:07:40.044526 < 1605>    DEBUG   [ClearList] Setting queue empty
0:07:40.045516 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:07:40.052573 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:07:50.043931 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:07:50.043931 < 1605>    DEBUG   [ClearList] Setting queue empty
0:07:50.045521 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:07:50.045521 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:08:00.044308 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:08:00.044308 < 1605>    DEBUG   [ClearList] Setting queue empty
0:08:00.047268 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:08:00.047268 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:08:10.043788 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:08:10.044595 < 1605>    DEBUG   [ClearList] Setting queue empty
0:08:10.050578 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:08:10.053575 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']
0:08:20.044443 < 1207>    DEBUG   [Controller] ****************************** Response Timer Expired ********************************
0:08:20.044941 < 1605>    DEBUG   [ClearList] Setting queue empty
0:08:20.047939 < 1593>    DEBUG   [pmSendPdu] Resetting expected response counter, it got to 0   Response list before 0  after 2
0:08:20.054776 < 1530>    DEBUG   [pmSendPdu] Sending Command (Getting Status)    raw data 0d a2 00 00 00 00 00 00 00 00 00 00 43 1a 0a    waiting for message response ['0XA5', '0X2']

Perhaps, it’s the same word that is displayed when I connect with the PRP App, When you connect the PRP App to your panel doesn’t it display something?