rtl_433 turns your Realtek RTL2832 based DVB dongle into a 433.92MHz generic data receiver
How to add support for unsupported sensors
Read the Test Data section at the bottom.
Compiling rtl_433 requires rtl-sdr to be installed.
Installation using cmake:
cd rtl_433/ mkdir build cd build cmake ../ make make install
Installation using autoconf:
cd rtl_433/ autoreconf --install ./configure make make install
Usage: = Tuner options = [-d <device index>] (default: 0) [-g <gain>] (default: 0 for auto) [-f <frequency>] [-f...] Receive frequency(s) (default: 433920000 Hz) [-p <ppm_error] Correct rtl-sdr tuner frequency offset error (default: 0) [-s <sample rate>] Set sample rate (default: 250000 Hz) [-S] Force sync output (default: async) = Demodulator options = [-R <device>] Listen only for the specified remote device (can be used multiple times) [-l <level>] Change detection level used to determine pulses [0-32767] (0 = auto) (default: 8000) [-z <value>] Override short value in data decoder [-x <value>] Override long value in data decoder = Analyze/Debug options = [-a] Analyze mode. Print a textual description of the signal. Disables decoding [-A] Pulse Analyzer. Enable pulse analyzis and decode attempt [-D] Print debug info on event (repeat for more info) [-q] Quiet mode, suppress non-data messages [-W] Overwrite mode, disable checks to prevent files from being overwritten = File I/O options = [-t] Test signal auto save. Use it together with analyze mode (-a -t). Creates one file per signal Note: Saves raw I/Q samples (uint8 pcm, 2 channel). Preferred mode for generating test files [-r <filename>] Read data from input file instead of a receiver [-m <mode>] Data file mode for input / output file (default: 0) 0 = Raw I/Q samples (uint8, 2 channel) 1 = AM demodulated samples (int16 pcm, 1 channel) 2 = FM demodulated samples (int16) (experimental) 3 = Raw I/Q samples (cf32, 2 channel) Note: If output file is specified, input will always be I/Q [-F] kv|json|csv Produce decoded output in given format. Not yet supported by all drivers. [<filename>] Save data stream to output file (a '-' dumps samples to stdout) Supported devices:  Silvercrest Remote Control  Rubicson Temperature Sensor  Prologue Temperature Sensor  Waveman Switch Transmitter  Steffen Switch Transmitter  ELV EM 1000  ELV WS 2000  LaCrosse TX Temperature / Humidity Sensor  Acurite 5n1 Weather Station  Acurite 896 Rain Gauge  Acurite Temperature and Humidity Sensor  Oregon Scientific Weather Sensor  Mebus 433  Intertechno 433  KlikAanKlikUit Wireless Switch  AlectoV1 Weather Sensor (Alecto WS3500 WS4500 Ventus W155/W044 Oregon)  Cardin S466-TX2  Fine Offset Electronics, WH-2 Sensor  Nexus Temperature & Humidity Sensor  Ambient Weather Temperature Sensor  Calibeur RF-104 Sensor  X10 RF  DSC Security Contact  Brennstuhl RCS 2044  GT-WT-02 Sensor  Danfoss CFR Thermostat  Energy Count 3000 (868.3 MHz)  Valeo Car Key  Chuango Security Technology  Generic Remote SC226x EV1527  TFA-Twin-Plus-30.3049 and Ea2 BL999  Fine Offset WH1080 Weather Station  WT450  LaCrosse WS-2310 Weather Station  Esperanza EWS  Efergy e2 classic  Inovalley kw9015b rain and Temperature weather station  Generic temperature sensor 1  Acurite 592TXR Temperature/Humidity Sensor and 5n1 Weather Station  Acurite 986 Refrigerator / Freezer Thermometer  HIDEKI TS04 Temperature and Humidity Sensor  Watchman Sonic / Apollo Ultrasonic / Beckett Rocket oil tank monitor  CurrentCost Current Sensor  OpenEnergyMonitor emonTx v3  HT680 Remote control
||Default receive mode, attempt to decode all known devices|
|`rtl_433 -p NN -R 1 -R 9 -R 36 -R 40||Typical usage: Enable device decoders for desired devices. Correct rtl-sdr tuning error (ppm offset).|
||Will run in analyze mode and you will get a text description of the received signal.|
||Enable pulse analyzer. Summarizes the timings of pulses, gaps, and periods. Can be used in either the normal decode mode, or analyze mode.|
||Will run in analyze mode and save a test file per detected signal (gfile###.data). Format is uint8, 2 channels.|
||Play back a saved data file.|
||Will save everything received from the rtl-sdr during the session into a single file. The saves file may become quite large depending on how long rtl_433 is left running. Note: saving signals into individual files wint
This software is mostly useable for developers right now.
Supporting Additional Devices and Test Data
The first step in decoding new devices is to record the signals using
-a -t. The signals will be
stored individually in files named gfileNNN.data that can be played back with
rtl_433 -r gfileNNN.data.
These files are vital for understanding the signal format as well as the message data. Use both analyzers
-A to look at the recorded signal and determine the pulse characteristics, e.g.
rtl_433 -r gfileNNN.data -a -A.
Make sure you have recorded a proper set of test signals representing different conditions together with any and all information about the values that the signal should represent. For example, make a note of what temperature and/or humidity is the signal encoding. Ideally, capture a range of data values, such a different temperatures, to make it easy to spot what part of the message is changing.
Add the data files, a text file describing the captured signals, pictures of the device and/or a link the manufacturer's page (ideally with specifications) to the rtl_433_tests github repository. Follow the existing structure as best as possible and send a pull request.
Please don't open a new github issue for device support or request decoding help from others until you've added test signals and the description to the repository.
The rtl_433_test repository is also used to help test that changes to rtl_433 haven't caused any regressions.
Join the Google group, rtl_433, for more information about rtl_433: https://groups.google.com/forum/#!forum/rtl_433