diff --git a/src/devices/bresser_lightning.c b/src/devices/bresser_lightning.c index 24ce8f295..21727d2a5 100644 --- a/src/devices/bresser_lightning.c +++ b/src/devices/bresser_lightning.c @@ -86,7 +86,8 @@ static int bresser_lightning_decode(r_device *decoder, bitbuffer_t *bitbuffer) int sensor_id = (msg[2] << 8) | (msg[3]); int distance_km = msg[7]; - int count = (msg[4] << 4) | (msg[5] & 0xf0) >> 4; + // Counter encoded as BCD with most significant digit counting up to 15! -> Maximum value: 1599 + int count = (msg[4] >> 4) * 100 + (msg[4] & 0xf) * 10 + (msg[5] >> 4); int unknown1 = ((msg[5] & 0x0f) << 8) | msg[6]; int unknown2 = (msg[8] << 8) | msg[9];