Decode Visonic Powercode protocol (433mhz)

I have two Visonic MCT-302 door/window sensors (433mhz), i would like to process information from them on arduino.

Using dvb svr sniffer i was able to take waves of sensors signals. Moreover i can easily reproduce this signals using arduino. But i’m a little bit confused with decoding.

According to Powercode protocol description:

Transmitter’s ID Code: 24-bit digital word, over 16 million combinations, pulse width modulation.Overall Message Length: 36 bits

Please see below waveforms for the reference:
Common signal wave from sensor
sensor_1_open.png

sensor 1 - door is open
sensor_1_open_scaled.png
sensor 1 - door is closed
sensor_1_closed_scaled.png

Looks like first 24 bits are related to ID of sensor since it is always constant for the same sensor.

The problem with the last 12 bits. In my assumption last 12 bits for the similar action should be the same. But they are different.

sensor 2 - door is closed
sensor_2_closed_scaled.png

So i compared S1 and S2 in closed state and found the following differences:

S1: 111010100001100001010001 111100111010
S2: 111001110001100001010001 111100110111
ID STATE

I don’t understand why last 4 bits are different?

There is also one more question, the data from these sensors decodes my rfxcom transceiver, and it shows me sensors ids:
S1: 0x15e7ae
S2: 0x18e7ae

How to transform binary id 111010100001100001010001 to hex 0x15e7ae?

I've found answer to my second question.
Actually bit should be inverted.
Instead of 111010100001100001010001 should be 000101011110011110101110,
then split it by 4 bits: 0001 0101 1110 0111 1010 1110. And it can be easily converted to from bin to hex: 15e7ae

But i still don't understand what do the rest 12 beats mean :frowning:

Did you try asking Visonic directly?

The last 4 bits could be the battery state of the sensor !?

I'm working on replacement of the Powermax system and adopt the sensors for home automatisation.
Using the nrF905, but no success til now.

Hi OlegEX,

the last 12 bits you must invert them like this

01001100 0001 open
00001100 0101 closed

code my be

bit 0 Tamper 1 Tamper event
bit 1 Alarm 1 Alarm event
bit 2 Low Battery 1 Low battery at transmitter
bit 3 Working bit
0 Else
1 Transmitter has a restore
capability, e.g. Magnet
bit 4 Restore
0 Transmitter with no restore, e.g.
PIR detector
bit 5 Supervise 1 Supervised transmitter
0 Non-supervised transmitter, e.g.
Panic button
1 Transmitter works in a Spider
system (Not relevant)
bit 6 SpiderNet
0 A regular transmitter, not in a
Spider system
1 The transmitter is a Repeater.
Displays messages received
from a repeater in the system.
bit 7 Repeater

please folow this link and lets me know if your are successful or not

http://www.el-sys.com.ua/wp-content/uploads/MCR-300_UART_DE3140U0.pdf

guys and girls
really need your help
i am using RPI 2 and just cant control my livolo switches
i have tried this :

but still, i cant find the right syntax
does anybody in the world did it? controlling livolo light switches with RPI?

regards
G