Protocol of the Lacrosse WS2500-19 brightness sensor

Each frame is 66 bits long. It is composed of:

Example 1
000000000011010111101111011001100011000011111110101000110110111011

Example 2
000000000011010111101000110100110101010011001110011000111110111001

Example 3
000000000011010111101001010000110001110011110110011100111100110101

Example 4
000000000011010111101011010001100001000010000100001000010011111011

Example 5
000000000011010111101011010001100001000010000100001000010011111011

When extracting data from the 3 examples, we get:
Example 1
1010 1110 1110 1001 0001 0000 1111 1010 0001 0110 1101 

Example 2
1010 1110 0001 0100 1010 0100 1001 1001 0001 1110 1100 

Example 3
1010 1110 0010 0000 1000 1100 1110 1001 1001 1100 1010 

Example 4
1010 1110 0110 0001 0000 0000 0000 0000 0000 0011 1101 

Example 5
1010 1110 0110 0001 0000 0000 0000 0000 0000 0011 1101 

The 1st bit of each word is LSB, so we have to reverse the 4 bits of each word.

The active values of the sensor is coloured in [green] in the following tables:
Example 1
0101 0111 0111 1001 1000 0000 1111 0101 1000 0110 1011 
5 07 7 9 8 0 F 5 8 6 B 
Check Xor : (5 ^ 7 ^ 7 ^ 9 ^ 8 ^ 0 ^ F ^ 5 ^ 8 ^ 6) = 0
Check Sum : (const5 + 5 + 7 + 7 + 9 + 8 + 0 + F + 5 + 8 + 6) and F = B
 

Example 2
0101 0111 1000 0010 0101 0010 1001 1001 1000 0111 0011 
5 07 8 2 5 2 9 9 8 7 3 
Check Xor : (5 ^ 7 ^ 8 ^ 2 ^ 5 ^ 2 ^ 9 ^ 9 ^ 8 ^ 7) = 0
Check Sum : (const5 + 5 + 7 + 8 + 2 + 5 + 2 + 9 + 9 + 8 + 7) and F = 3
 

Example 3
0101 0111 0100 0000 0001 0011 0111 1001 1001 0011 0101 
5 07 4 0 1 3 7 9 9 3 5 
Check Xor : (5 ^ 7 ^ 4 ^ 0 ^ 1 ^ 3 ^ 7 ^ 9 ^ 9 ^ 3) = 0
Check Sum : (const5 + 5 + 7 + 4 + 0 + 1 + 3 + 7 + 9 + 9 + 3) and F = 5
 

Example 4
0101 0111 0110 1000 0000 0000 0000 0000 0000 1100 1011 
5 07 6 8 0 0 0 0 0 C B 
Check Xor : (5 ^ 7 ^ 6 ^ 8 ^ 0 ^ 0 ^ 0 ^ 0 ^ 0 ^ C) = 0
Check Sum : (const5 + 5 + 7 + 6 + 8 + 0 + 0 + 0 + 0 + 0 + C) and F = B
 

Example 5
0101 0111 0110 1000 0000 0000 0000 0000 0000 1100 1011 
5 07 6 8 0 0 0 0 0 C B 
Check Xor : (5 ^ 7 ^ 6 ^ 8 ^ 0 ^ 0 ^ 0 ^ 0 ^ 0 ^ C) = 0
Check Sum : (const5 + 5 + 7 + 6 + 8 + 0 + 0 + 0 + 0 + 0 + C) and F = B
 

 Sensor type is 5
 Unused ?
 Sensor Address 7
 Data values
 CheckXor
 Checksum

The first block is the LSB, so the values are repectively:

  1. [brightness] 897x100 lux - [exposition] 0x85f minutes
  2. [brightness] 528x102 lux - [exposition] 0x899 minutes
  3. [brightness] 104x103 lux - [exposition] 0x997 minutes
  4. [brightness] 086x100 lux - [exposition] 0x000 minutes
  5. [brightness] 086x100 lux - [exposition] 0x000 minutes

I am interested by any comment or more information on the format of these frames. Contact: Jean-Paul ROUBELAT - F6FBB

[back to menu]