Visonic Powermax Powerlink protocol description
Moderators: Rene, Willem4ever
Re: Powerlink protocol description
@Rene
I cannot test the setting time with the remote programmer (I lost the CD and dont have a windows around to run it anyway). I implemented the function and people using the software with a powermaxpro are ok but it does not work on a powermax+.
I cannot test the setting time with the remote programmer (I lost the CD and dont have a windows around to run it anyway). I implemented the function and people using the software with a powermaxpro are ok but it does not work on a powermax+.
-
- Starting Member
- Posts: 31
- Joined: Fri Mar 27, 2009 5:15 pm
- Location: Netherlands
Re: Powerlink protocol description
I am currently working on implementing this protocol in C# (i will post the github link when i feel the code is pretty enough) and i was wondering if it would be possible to post some example messages of
A5: Keep Alive (Byte 2 = 0x02) [0xA5 0x00 0x02 <Byte3> <Byte4> <Byte5> <Byte6> <Byte7> <Byte8> <Byte9> <Byte10> 0x43]. i think i understand the description but i would like to be shore. so a real messages with what i is supposed to represent would be a big help, and hopefully not to much trouble.
A5: Keep Alive (Byte 2 = 0x02) [0xA5 0x00 0x02 <Byte3> <Byte4> <Byte5> <Byte6> <Byte7> <Byte8> <Byte9> <Byte10> 0x43]. i think i understand the description but i would like to be shore. so a real messages with what i is supposed to represent would be a big help, and hopefully not to much trouble.
checksum issue
Consider the following packet: real life example from powermax
let's calculate checksum using both given method (you can use the windows calculator to check these):
first method (python):
A0+FB+AC+05+0C+02+01+60+43 = 0x2FE
0x2FE mod 0xFF = 0x01
0xFF XOR 0x01 = 0xFE
second method:
A0+FB+AC+05+0C+02+01+60+43 = 0x2FE
FFFF-02-FE = 0xFEFF
lowbyte: 0xFF
so for the moment stick to the first calculation method
Code: Select all
0D A0 FB AC 00 05 0C 02 01 00 00 60 43 FE 0A
first method (python):
A0+FB+AC+05+0C+02+01+60+43 = 0x2FE
0x2FE mod 0xFF = 0x01
0xFF XOR 0x01 = 0xFE
second method:
A0+FB+AC+05+0C+02+01+60+43 = 0x2FE
FFFF-02-FE = 0xFEFF
lowbyte: 0xFF
so for the moment stick to the first calculation method
Re: Powerlink protocol description
After some extensive test (10000 random string of size less than 20) here is a proposal for another algorithm for checksum calculation, it give result equivalent to the python one
the reason for initializing checksum to FFFF is to avoid the substraction in the loop going to the negative, but you can use anything that is equal to FF multiplied by an integer
for the powermax 0xFF*12 is enough (because packet are no more than 12 byte long)
unsigned short checksum,i;
checksum=0xFFFF; (or 0xFF*x)
for (i=0;i<(Buff->size);i++)
checksum=checksum-Buff->buffer;
checksum=checksum%0xFF;
P.S the "if" in the python algorithm can be replaced by a % 0xFF (identical to % 255 by the way)
the reason for initializing checksum to FFFF is to avoid the substraction in the loop going to the negative, but you can use anything that is equal to FF multiplied by an integer
for the powermax 0xFF*12 is enough (because packet are no more than 12 byte long)
unsigned short checksum,i;
checksum=0xFFFF; (or 0xFF*x)
for (i=0;i<(Buff->size);i++)
checksum=checksum-Buff->buffer;
checksum=checksum%0xFF;
P.S the "if" in the python algorithm can be replaced by a % 0xFF (identical to % 255 by the way)
Re: Powerlink protocol description
A response can have a length of more than 12 bytes, e.g. when reading the eprom.
Rene.
Re: Powerlink protocol description
I have one question concerning the protocol,
I have created a small linux daemon in C that is working pretty good (I can arm/disarm/getevent) but I am never using the "enrolement pin" that is choosen during enrolement, in fact the only pin I am using is the "user pin" (by the way I have a powermax+) if using the "enrolement pin" I always get an access denied '0x08 0x43'
So the questions are:
what is the use of the enrolement pin ? (for you, because of the diversity in powermax alarm what work for me is not what work for everybody)
When arming for exemple can you use whatever pin (ie user/installer/enrolement) ?
Is it possible to clearly state in the protocol description which of the pin(s) can be used for which command ?
I have created a small linux daemon in C that is working pretty good (I can arm/disarm/getevent) but I am never using the "enrolement pin" that is choosen during enrolement, in fact the only pin I am using is the "user pin" (by the way I have a powermax+) if using the "enrolement pin" I always get an access denied '0x08 0x43'
So the questions are:
what is the use of the enrolement pin ? (for you, because of the diversity in powermax alarm what work for me is not what work for everybody)
When arming for exemple can you use whatever pin (ie user/installer/enrolement) ?
Is it possible to clearly state in the protocol description which of the pin(s) can be used for which command ?
Re: Powerlink protocol description
Can anybode confirm that the Powermax Complete (http://www.visonic.com/Products/Wireles ... axComplete) is using the Powerlink protocol descibed in this thread?
Thanks
hhg
Thanks
hhg
Re: Powerlink protocol description
@René,
In other post, you confirm that we could connect PC/Powermax remote controler with a USB/RS232 connector to a Powermax Pro.
Could you explain how?
In other post, you confirm that we could connect PC/Powermax remote controler with a USB/RS232 connector to a Powermax Pro.
Could you explain how?
Re: Powerlink protocol description
That is explained in the post I confirmed this, see http://www.domoticaforum.eu/viewtopic.php?f=68&t=7152. You need to convert FTDI to RS232 or USB, I used a USBBUB to bridge from FTDI to USB.
Rene.
Re: Powerlink protocol description
I saw this topic and I have connected my Powermax Pro (GND,Tx and Rx like Viknet' picture) to PC with Powermax remote controler with this: http://cgi.ebay.fr/USB-to-Serial-Adapte ... 415d279d2b
but nothing; may I do something in the FTDI? (Serial is configured in 9600,8,1,none,none)
but nothing; may I do something in the FTDI? (Serial is configured in 9600,8,1,none,none)
Re: Powerlink protocol description
The X10 on/off command works great! Any idea what message to send to dim/bright the X10 devices?
Re: Powerlink protocol description
Let me answer my own question (just built my sniffer).nlrb wrote:The X10 on/off command works great! Any idea what message to send to dim/bright the X10 devices?
Dim command:
Code: Select all
a4 00 00 00 00 00 0a 00 80 00 00 43
Bright command:
Code: Select all
a4 00 00 00 00 00 0b 80 00 00 00 43
Re: Powerlink protocol description
