rtl433
UNKNOWN
RTL-433 utility
|
Acurite weather stations and temperature / humidity sensors. More...
Functions | |
static char | acurite_getChannel (uint8_t byte) |
static int | acurite_rain_896_decode (r_device *decoder, bitbuffer_t *bitbuffer) |
static int | acurite_th_decode (r_device *decoder, bitbuffer_t *bitbuffer) |
Acurite 609 Temperature and Humidity Sensor. More... | |
static int | acurite_6045_decode (r_device *decoder, bitrow_t bb, int browlen) |
Acurite 06045m Lightning Sensor decoding. More... | |
static int | acurite_txr_decode (r_device *decoder, bitbuffer_t *bitbuffer) |
This callback handles several Acurite devices that use a very similar RF encoding and data format: More... | |
static int | acurite_986_decode (r_device *decoder, bitbuffer_t *bitbuffer) |
Acurite 00986 Refrigerator / Freezer Thermometer. More... | |
static int | acurite_606_decode (r_device *decoder, bitbuffer_t *bitbuffer) |
static int | acurite_00275rm_decode (r_device *decoder, bitbuffer_t *bitbuffer) |
Variables | |
int const | acurite_5n1_winddirections [] |
static char | chLetter [4] = {'C','E','B','A'} |
static char * | acurite_rain_gauge_output_fields [] |
r_device | acurite_rain_896 |
static char * | acurite_th_output_fields [] |
r_device | acurite_th |
static char * | acurite_txr_output_fields [] |
r_device | acurite_txr |
static char * | acurite_986_output_fields [] |
r_device | acurite_986 |
static char * | acurite_606_output_fields [] |
r_device | acurite_606 |
static char * | acurite_00275rm_output_fields [] |
r_device | acurite_00275rm |
Acurite weather stations and temperature / humidity sensors.
Copyright (c) 2015, Jens Jenson, Helge Weissig, David Ray Thompson, Robert Terzi
Devices decoded:
|
static |
Acurite 06045m Lightning Sensor decoding.
Specs:
Status Information sent per 06047M/01021 display
Message format:
Somewhat similar to 592TXR and 5-n-1 weather stations. Same pulse characteristics. checksum, and parity checking on data bytes.
0 1 2 3 4 5 6 7 8 CI II BB HH ST TT LL DD? KK
Byte 0 - channel/?/ID?
Byte 1 - ID all 8 bits, no parity.
Byte 2 - Battery and Message type
Byte 3 - Humidity
Byte 4 - Status (2 bits) and Temperature MSB (5 bits)
Byte 5 - Temperature LSB (7 bits, 8th is parity)
Byte 6 - Lightning Strike count (7 bits, 8th is parity)
Does it go from 127 to 1, or to 0?
needs cross-checking with light and/or console
Byte 7 - Edge of Storm Distance Approximation
Byte 8 - checksum. 8 bits, no parity.
Data fields:
Additional reverse engineering needed:
References acurite_getChannel(), DATA_DOUBLE, DATA_FORMAT, DATA_INT, data_make(), DATA_STRING, decoder_output_data(), parity8(), valid(), and r_device::verbose.
Referenced by acurite_txr_decode().
|
static |
|
static |
Acurite 00986 Refrigerator / Freezer Thermometer.
Includes two sensors and a display, labeled 1 and 2, by default 1 - Refrigerator, 2 - Freezer.
PPM, 5 bytes, sent twice, no gap between repeaters start/sync pulses two short, with short gaps, followed by 4 long pulse/gaps.
Data Format - 5 bytes, sent LSB first, reversed:
TT II II SS CC
2018-04 A user with a dedicated receiver indicated the possibility that the transmitter actually drops the last bit instead of the demod.
leaving some of the debugging code until the missing bit issue gets resolved.
References bitbuffer::bb, bitrow_printf(), bitbuffer::bits_per_row, crc8le(), DATA_DOUBLE, DATA_FORMAT, DATA_INT, data_make(), DATA_STRING, decoder_output_data(), bitbuffer::num_rows, reverse8(), and r_device::verbose.
|
static |
References chLetter.
Referenced by acurite_6045_decode(), and acurite_txr_decode().
|
static |
|
static |
Acurite 609 Temperature and Humidity Sensor.
5 byte messages:
II ST TT HH CC II - ID byte, changes at each power up S - Status bitmask, normally 0x2, 0xa - battery low (bit 0x80) TTT - Temp in Celsius * 10, 12 bit with complement. HH - Humidity CC - Checksum
References bitbuffer::bb, bitbuffer::bits_per_row, DATA_DOUBLE, DATA_FORMAT, DATA_INT, data_make(), DATA_STRING, decoder_output_data(), bitbuffer::num_rows, and valid().
|
static |
This callback handles several Acurite devices that use a very similar RF encoding and data format:
6045M Lightning Detector with Temperature and Humidity
CC RR IIII | IIII IIII | pBMMMMMM | pxxWWWWW | pWWWTTTT | pTTTTTTT | pSSSSSSS C:2d R:2d ID:12d 1x BATT:1b TYPE:6h 1x ?2b W:5b 1x 3b T:4b 1x 7b S: 1x 7d
- TBD Are parity and checksum the same across these devices? (opportunity to DRY-up and simplify?)
References acurite_5n1_winddirections, acurite_6045_decode(), acurite_getChannel(), add_bytes(), bitbuffer::bb, bitbuffer_invert(), bitbuffer_printf(), bitrow_printf(), bitbuffer::bits_per_row, DATA_DOUBLE, DATA_FORMAT, DATA_INT, data_make(), DATA_STRING, decoder_output_data(), bitbuffer::num_rows, parity8(), valid(), and r_device::verbose.
r_device acurite_00275rm |
|
static |
int const acurite_5n1_winddirections[] |
Referenced by acurite_txr_decode().
r_device acurite_606 |
|
static |
r_device acurite_986 |
|
static |
r_device acurite_rain_896 |
|
static |
r_device acurite_th |
|
static |
r_device acurite_txr |
|
static |
|
static |
Referenced by acurite_getChannel().