rtl433  UNKNOWN
RTL-433 utility
ecowitt.c File Reference

Ecowitt Wireless Outdoor Thermometer WH53/WH0280/WH0281A. More...

Functions

static int ecowitt_decode (r_device *decoder, bitbuffer_t *bitbuffer)
 Ecowitt Wireless Outdoor Thermometer WH53/WH0280/WH0281A. More...
 

Variables

static char * output_fields []
 
r_device ecowitt
 

Detailed Description

Ecowitt Wireless Outdoor Thermometer WH53/WH0280/WH0281A.

Copyright 2019 Google LLC.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

Function Documentation

◆ ecowitt_decode()

static int ecowitt_decode ( r_device decoder,
bitbuffer_t bitbuffer 
)
static

Ecowitt Wireless Outdoor Thermometer WH53/WH0280/WH0281A.

55-bit one-row data packet format (inclusive ranges, 0-indexed):

| 0-6 | 7-bit header, ignored for checksum, always 1111111 | 7-14 | Always 01010011 | 15-22 | Sensor ID, randomly reinitialized on boot | 23-24 | Always 00 | 25-26 | 2-bit sensor channel, selectable on back of sensor {00=1, 01=2, 10=3} | 27-28 | Always 00 | 29-38 | 10-bit temperature in tenths of degrees C, starting from -40C. e.g. 0=-40C | 39-46 | Trailer, always 1111 1111 | 47-54 | CRC-8 checksum poly 0x31 init 0x00 skipping first 7 bits

References bitbuffer::bb, bitbuffer_extract_bytes(), bitbuffer::bits_per_row, crc8(), DATA_DOUBLE, DATA_FORMAT, DATA_INT, data_make(), DATA_STRING, DECODE_ABORT_EARLY, DECODE_ABORT_LENGTH, DECODE_FAIL_MIC, DECODE_FAIL_SANITY, decoder_output_data(), and bitbuffer::num_rows.

Variable Documentation

◆ ecowitt

r_device ecowitt
Initial value:
= {
.name = "Ecowitt Wireless Outdoor Thermometer WH53/WH0280/WH0281A",
.modulation = OOK_PULSE_PWM,
.short_width = 504,
.long_width = 1480,
.gap_limit = 4800,
.reset_limit = 968,
.sync_width = 0,
.decode_fn = &ecowitt_decode,
.disabled = 0,
.fields = output_fields,
}
Pulse Width Modulation with precise timing parameters.
Definition: r_device.h:13
static int ecowitt_decode(r_device *decoder, bitbuffer_t *bitbuffer)
Ecowitt Wireless Outdoor Thermometer WH53/WH0280/WH0281A.
Definition: ecowitt.c:29
static char * output_fields[]
Definition: ecowitt.c:110

◆ output_fields

char* output_fields[]
static
Initial value:
= {
"model",
"id",
"channel",
"temperature_C",
"mic",
NULL,
}