diff --git a/src/devices/oil_watchman.c b/src/devices/oil_watchman.c index 5297bc8f..268cd035 100644 --- a/src/devices/oil_watchman.c +++ b/src/devices/oil_watchman.c @@ -54,12 +54,12 @@ static int oil_watchman_callback(bitbuffer_t *bitbuffer) { if (bitbuffer_search(bitbuffer, 0, bitpos, &postamble_pattern[b[7] & 1], 2) != bitpos) continue; - if (b[0] != 0x28 || b[7] != crc8le(b, 7, 0x31, 0)) + if (b[7] != crc8le(b, 7, 0x31, 0)) continue; // The unit ID changes when you rebind by holding a magnet to the // sensor for long enough; it seems to be time-based. - unit_id = (b[1] << 16) | (b[2] << 8) | b[3]; + unit_id = (b[0] << 24) | (b[1] << 16) | (b[2] << 8) | b[3]; // 0x01: Rebinding (magnet held to sensor) // 0x08: Leak/theft alarm