Page 11 of 13

Re: Visonic Powermax Powerlink protocol description

Posted: Tue May 17, 2016 4:19 pm
by janssuuh
Hi all,

At the first page of this forum, there is a python example of calculating the checksum.
I try to get a response from my Powermax Plus by sending the init message (PM has PowerLink enrolled), but I don't get any response from the PowerMax.
(In this example I added the prefix / checksum and postfix to the message.)

(Tried the Interface of Bart, which works fine, so hardware is ok.)
I'm not sure how to format the Hex bytes correctly (hex string, or hex byte?)

Is anyone familiar to this? My code;

Code: Select all

import time
import serial

ser = serial.Serial(
    port='/dev/ttyUSB0',
    baudrate=9600,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS,
    timeout=1
)

ser.close()
ser.open()
ser.isOpen()

MSG="\x0D\xAB\x06\x00\x01\x00\x00\x00\x00\x00\x00\x00\x43\x0A\x0A"
MSG2=bytearray([0x0D,0xAB,0x06,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x43,0x0A,0x0A])


# Try HexString ---------------------------------------
ser.write(MSG)

time.sleep(2)

# Try Hex array ---------------------------------------
l = len(MSG2)
x=0
while x < l:
        #print format(MSG2[x],'02X')
        ser.write(format(MSG2[x],'02X'))
        x+=1

ser.close()
Thanks!

Re: Visonic Powermax Powerlink protocol description

Posted: Wed May 18, 2016 10:50 pm
by janssuuh
Got it to work by just writing

Code: Select all

l = len(MSG)
ser.write(MSG2[0:l])
Getting zone events and got it to Arm / Disarm.

Work in progress :)

Re: Visonic Powermax Powerlink protocol description

Posted: Fri Jun 10, 2016 11:08 pm
by irekz
Hi guys. This thread is GREAT, thanks for all you work.
I found however that number of commands are not documented here (like EEPROM download, etc).
If you don't mind reading BASIC, this file is a goldmine:

https://github.com/DomotiGa/DomotiGa/bl ... onic.class

I found it easy to follow, and seems to be of very good quality.
Based on this file I'm progressing rapidly with my C++ implementation that will be running on micro controller (ESP 8266).

Hope this helps :)

Re: Visonic Powermax Powerlink protocol description

Posted: Sat Jun 11, 2016 9:08 am
by nlrb
irekz wrote:Hi guys. This thread is GREAT, thanks for all you work.
I found however that number of commands are not documented here (like EEPROM download, etc).
If you don't mind reading BASIC, this file is a goldmine:

https://github.com/DomotiGa/DomotiGa/bl ... onic.class

I found it easy to follow, and seems to be of very good quality.
Based on this file I'm progressing rapidly with my C++ implementation that will be running on micro controller (ESP 8266).

Hope this helps :)
Looks like they made this code based on my reverse engineering & Vera implementation, but 'forgot' to mention that:

Code: Select all

http://code.mios.com/trac/mios_visonic-powermax/browser
BTW - I've ported the main part of this also to NodeJS to run on Homey if that is helpful:

Code: Select all

https://github.com/nlrb/com.visonic.powermax

Re: Visonic Powermax Powerlink protocol description

Posted: Sat Jun 11, 2016 10:58 pm
by wwolkers
nlrb wrote: Looks like they made this code based on my reverse engineering & Vera implementation, but 'forgot' to mention that:

Code: Select all

http://code.mios.com/trac/mios_visonic-powermax/browser
BTW - I've ported the main part of this also to NodeJS to run on Homey if that is helpful:

Code: Select all

https://github.com/nlrb/com.visonic.powermax
Hi nlrb,

Having written part of the visonic implementation for DomotiGa, I can say that I have never before even seen the implementation you made. I'll check it though to see if there's anything in there which I can add to DomotiGa again :)
The implementation is based on information from this forum, and our own reverse engineering since we use PowerMaster panels which have a couple extra's (Mostly done by Alexei btw)

I hadn't seen the nodejs implementation either btw, nice work!

Re: Visonic Powermax Powerlink protocol description

Posted: Sun Jun 12, 2016 10:19 pm
by Mario from Spain
irekz wrote: Based on this file I'm progressing rapidly with my C++ implementation that will be running on micro controller (ESP 8266).

Hope this helps :)
Very interesting to see this working on ESP8266, specially if it's via MQTT or as a library so it's easy to complement with MQTT support.

I'll follow your work.

Re: Visonic Powermax Powerlink protocol description

Posted: Tue Jun 14, 2016 11:01 pm
by irekz
Mario from Spain wrote: Very interesting to see this working on ESP8266, specially if it's via MQTT or as a library so it's easy to complement with MQTT support.
I'll follow your work.
Just created a new post about ESP8266 solution. It's a good starting point for a project.
My aim was to keep it as simple as possible (only PowerMax functionality is implemented), and leave for other guys to customize/add modules you need (like MQTT support).
Cheers,
Irek

Re: Visonic Powermax Powerlink protocol description

Posted: Sat Jul 02, 2016 10:48 pm
by irekz
Hi guys.
Managed to get Visonic Remote Programmer to talk to my alarm via WiFi, and I can easily log all traffic.
Found something that possibly is not described in this forum (or any source code I saw): wireless sensor signal strength.
You can get this information in two ways:

1) as part of regular download EPROM message
2) when in download mode by requesting signal info only:

Code: Select all

0x0D,0x3E,0xDA,0x09,0x1C,0x00,0xB0,0x03,0x00,0x03,0x00,0x03,0x08,0x0A
(this is packet sniffed from Remote Programmer), 0x1C is zone count I believe.

response from PM:

Code: Select all

0x0D,0x3F,0xDA,0x09,0x1C,0x03,0x03,0x03,0x03,0x00,0x03,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xAE,0x0A 
again 0x1C is a zone count, followed by signal strength indicator for each zone:
0x00: bad
0x01: poor
0x02: medium
0x03: strong

hope this helps :)
Irek


UPDATE: signal strength appears to be updated only during: "Walk Test" or "Wireless Sensor Test"

Re: Visonic Powermax Powerlink protocol description

Posted: Mon Jul 04, 2016 6:04 pm
by bartbakels
irek,

im not realy sure if this correct, if i check my sensors, which are next to my controlpanel, which read bad, which not seem to be correct.

BRT

Re: Visonic Powermax Powerlink protocol description

Posted: Mon Jul 04, 2016 6:09 pm
by bartbakels
bartbakels wrote:irek,

im not realy sure if this correct, if i check my sensors, which are next to my controlpanel, which read bad, which not seem to be correct.

BRT

Sorry,

It seem to be correct, when i check with the visonic programmer tool. SORRY!!

however dont understand when most of my sensors are bad...

Re: Visonic Powermax Powerlink protocol description

Posted: Mon Jul 04, 2016 9:49 pm
by irekz
It seem to be correct, when i check with the visonic programmer tool. SORRY!!
however dont understand when most of my sensors are bad...
Have the same problem with 2 sensors showing 0 value (one next to the PowerMax box).
Not sure how and when this values are updated... maybe someone here will know (constantly by the box, during walk in test, or some other way?)

Cheers,
Irek

Re: Visonic Powermax Powerlink protocol description

Posted: Wed Jul 06, 2016 11:27 am
by bartbakels
HI,

Anybody have an idea, to remotely trigger an alarm, by the RS-232 interface? Maybe via a panic button emulation or another smart idea?

regards

Bart

Re: Visonic Powermax Powerlink protocol description

Posted: Wed Jul 06, 2016 9:17 pm
by irekz
bartbakels wrote:HI,
Anybody have an idea, to remotely trigger an alarm, by the RS-232 interface? Maybe via a panic button emulation or another smart idea?
There is no option like this in 'Remote Programer' windows app. (there are options there to arm/disarm, but nothing to trigger the alarm.
One way to experiment is maybe with 0xA1 message (used for arming disarming). 3rd byte can have those values:
0x00 Disarm
0x04 Arm home
0x05 Arm away
0x14 Arm home instantly

Maybe one of the other values can trigger the panic alarm? Just a guess.

Re: Visonic Powermax Powerlink protocol description

Posted: Wed Jul 06, 2016 9:24 pm
by irekz
irekz wrote:
Not sure how and when this values are updated... maybe someone here will know (constantly by the box, during walk in test, or some other way?)
Reading PowerMax Complete installation manual I get a feel that signal strength might be updated only during 'DIAGNOSTIC TEST'
see: http://www.visonic.com/data/uploads/pow ... 302754.pdf
page: 4.10

Re: Visonic Powermax Powerlink protocol description

Posted: Thu Jul 14, 2016 6:52 pm
by irekz
bartbakels wrote:HI,
Anybody have an idea, to remotely trigger an alarm, by the RS-232 interface? Maybe via a panic button emulation or another smart idea?
Hi Bart.
I did some research and have a plan to achieve just that. In my setup I have Wemos D1 microcontroller installed inside the alarm box.
It looks like that my alarm supports hardwired zones (zone 29 'out of the box' or two zones: 29 & 30 with extender module).
Wiring for hardiwred zones is very simple (all you need to simulate a sensor is to have two resistors!).

So my plan is to: add a power relay to Wemos board + 2 resistors. I will drive the relay from the microcontroller. This will give me an ability to tigger alarm on zone 29 via wifi.
For more information how to wire the zone 29 see: http://www.visonic.com/data/uploads/pow ... 302754.pdf
page: 6 (ZONE 29 & SIREN WIRING). Look at Figure 3.2 - there is a wiring of detector without tamper switch: just a switch/relay with two resistors!

Hope this helps,
Kind regards,
Irek