Yes—many inexpensive commercial 433 MHz sensors can be brought into Home Assistant without their proprietary hub. The usual path is sensor → RTL-SDR → rtl_433 → MQTT → Home Assistant. Compatibility is not guaranteed by the “433 MHz” label alone: the sensor’s frequency, modulation, protocol, and decoder support must all match.
For Home Assistant-only installations, also consider the current native rtl_433 integration, which connects through HTTP/WebSocket and can avoid MQTT between the decoder and Home Assistant.
How the system works
433 MHz sensor
↓ radio transmission
RTL-SDR USB receiver
↓ raw RF samples
rtl_433
↓ decoded messages
MQTT broker
↓ discovery or manual entities
Home Assistant
An alternative architecture is:
Sensor → RTL-SDR → rtl_433 HTTP/WebSocket output → Home Assistant
rtl_433 supports RTL-SDR hardware and protocols across several ISM/SRD bands, including common 433.92 MHz devices as well as some 315, 345, 868, and 915 MHz equipment. It does not decode every product that happens to transmit near 433 MHz.
Hardware and software required
- An RTL-SDR-compatible USB dongle, such as an RTL-SDR Blog V4 or comparable receiver.
- An antenna suitable for the target band.
- An always-on Linux-capable host with USB access, such as a Raspberry Pi or another computer.
- A sensor using a protocol supported by
rtl_433. rtl_433.- A private MQTT broker, normally Mosquitto, if using the MQTT architecture.
- Home Assistant with MQTT enabled.
A stock antenna may work, but antenna position, orientation, cable length, local interference, and distance often determine whether a supported sensor is reliable. A short USB extension can help move the dongle away from computer noise and improve placement.
#1 Best Overall
- Turn your computer, phone or tablet into a radio scanner/ham radio receiver that can receive nearly all RF signals! Compatible with Windows, Mac OS, Linux, and Android
- NESDR SMArt RTL-SDR v5 can be used for the reception of broadcast AM radio, broadcast FM radio, shortwave radio, CB radio, public security radio, trunked radio, air traffic control, ACARS (plane-ground communications), ADS-B (plane tracking), AIS (ship tracking), POCSAG (pagers), NOAA and GOES weather satellites (weather images), weather balloons, radiosondes, DAB radio, DVB-T video, Inmarsat, Iridium, and so much more!
- The best-performing low-cost RTL-SDR available anywhere! Compared with RTL-SDR v3, HF SNR is improved by up to 15dB, VHF & UHF SNR is improved by up to 6dB, tuning accuracy is improved by an average of 4x, and the frequency range is expanded all the way down to 100kHz
- v5 has a frequency capability of 100kHz to 1.75GHz and up to 3.2MHz of instantaneous bandwidth. HF reception below 25MHz is accomplished with direct sampling and requires a suitable antenna. We recommend using a Balun One Nine to make a DIY long wire or dipole antenna (sold separately, product ID B08HGSYB7R or B00R09WHT6)
- Though the direct sampling implementation of NESDR SMArt v5 is much better than any other RTL-SDR, we still recommend using an upconverter like the Ham It Up for a more fulfilling HF experience (sold separately, product ID B076CYK8XZ)
Check the sensor before configuring Home Assistant
“Commercial sensor” can include weather transmitters, temperature and humidity sensors, door contacts, leak detectors, motion sensors, energy meters, soil sensors, and some alarms. The product does not need to advertise RTL-SDR compatibility; it needs to use a decodable protocol.
Before building MQTT topics or Home Assistant entities:
- Search the rtl_433 supported-device list for the manufacturer and model.
- Install the decoder and start a live test.
- Place the sensor close to the antenna or trigger it repeatedly.
- Confirm that decoded messages contain a stable identifier such as
id,channel, orsubtype. - Check that the values belong to your sensor rather than a nearby device.
On Debian or Ubuntu:
sudo apt update
sudo apt install rtl-433
rtl_433 -V
rtl_433 -d help
For a common 433.92 MHz test:
rtl_433 -f 433.92M -C si -M time:unix:usec:utc
The frequency must match the actual device. A product described broadly as “433 MHz” may use a nearby frequency, another regional band, FSK rather than OOK/ASK, or a proprietary or encrypted protocol.
Decoded output varies by device, but may include fields such as model, id, temperature_C, humidity, battery_ok, contact, motion, or rainfall measurements. Treat these as examples, not a universal schema.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchIf nothing decodes
First improve the test conditions: move the sensor closer, trigger it, verify the frequency, and try a better antenna location. Then use the analyzer and capture tools:
Rank #2
- Included: Nooelec USB dongle & antenna
- RTL2832U interface IC & R820T tuner IC on USB dongle
- These are custom USB devices tuned for SDR and include much better components than generics
- Full 1-year warranty & installation support available!
rtl_433 -A
rtl_433 -S all -T 120
rtl_433 -r capture.cu8
The analyzer can reveal pulse patterns, while saved captures allow later investigation. An unsupported protocol may require a custom decoder, but encryption, rolling codes, poor captures, or proprietary synchronization can make decoding impractical.
Set up MQTT
Home Assistant recommends a private broker, commonly Mosquitto. In Home Assistant OS, the Mosquitto broker app/add-on is the usual route. The decoder must be able to reach the broker, and you need its hostname, port, credentials, and—if applicable—TLS settings.
Do not expose an unauthenticated MQTT port directly to the internet. Create a dedicated broker account for the decoder and use TLS when traffic crosses an untrusted network.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Verify the broker independently:
mosquitto_sub
-h MQTT_HOST
-p 1883
-u MQTT_USER
-P MQTT_PASSWORD
-t 'rtl_433/#' -v
Publish decoded data from rtl_433
A basic MQTT output configuration is:
rtl_433
-C si
-M time:unix:usec:utc
-F "mqtt://MQTT_HOST:1883,user=MQTT_USER,pass=MQTT_PASSWORD,retain=0"
For a more explicit topic layout:
rtl_433
-C si
-M time:unix:usec:utc
-F "mqtt://MQTT_HOST:1883,user=MQTT_USER,pass=MQTT_PASSWORD,retain=1,events=rtl_433/events,states=rtl_433/states,devices=rtl_433/devices[/model][/id]"
Topic options and defaults can vary by installed version, so verify them with rtl_433 -h and the project’s operation documentation. The MQTT output can publish event, state, availability, and device information. Store credentials in a protected configuration mechanism or environment variables rather than leaving them in shell history.
export MQTT_USERNAME='rtl433'
export MQTT_PASSWORD='replace-with-a-strong-password'
Make Home Assistant discover the devices
Enable MQTT from Settings → Devices & services → Add Integration → MQTT, then enter the broker details.
Rank #3
- Turn your computer, phone or tablet into a radio scanner/ham radio receiver that can receive nearly all RF signals! Compatible with Windows, Mac OS, Linux, and Android
- NESDR SMArt RTL-SDR v5 can be used for the reception of broadcast AM radio, broadcast FM radio, shortwave radio, CB radio, public security radio, trunked radio, air traffic control, ACARS (plane-ground communications), ADS-B (plane tracking), AIS (ship tracking), POCSAG (pagers), NOAA and GOES weather satellites (weather images), weather balloons, radiosondes, DAB radio, DVB-T video, Inmarsat, Iridium, and so much more!
- The best-performing low-cost RTL-SDR available anywhere! Compared with RTL-SDR v3, HF SNR is improved by up to 15dB, VHF & UHF SNR is improved by up to 6dB, tuning accuracy is improved by an average of 4x, and the frequency range is expanded all the way down to 100kHz
- v5 has a frequency capability of 100kHz to 1.75GHz and up to 3.2MHz of instantaneous bandwidth. HF reception below 25MHz is accomplished with direct sampling and requires a suitable antenna. We recommend using a Balun One Nine to make a DIY long wire or dipole antenna (sold separately, product ID B08HGSYB7R or B00R09WHT6)
- Though the direct sampling implementation of NESDR SMArt v5 is much better than any other RTL-SDR, we still recommend using an upconverter like the Ham It Up for a more fulfilling HF experience (sold separately, product ID B076CYK8XZ)
Raw rtl_433 events are not automatically the same as Home Assistant discovery. Discovery requires configuration messages on topics such as:
homeassistant/sensor/rtl433_kitchen_temperature/config
The payload normally supplies a unique ID, state topic, JSON value template, unit, device class, availability, and device metadata. Device-level discovery is preferable when one physical transmitter exposes several values.
Free tools Windows power users keep installed
One-click scans. No signup required.
The official repository includes the rtl_433_mqtt_hass.py helper. It subscribes to rtl_433 MQTT output and publishes Home Assistant MQTT discovery messages. Its documented prerequisites include Python 3, Paho MQTT, and an rtl_433 process publishing event and device messages.
sudo apt install python3-paho-mqtt
Discovery configuration should be retained or republished after Home Assistant’s birth message. Otherwise entities may disappear or remain unavailable after a restart. See Home Assistant’s MQTT documentation for discovery and birth-message behavior.
Manual MQTT entities
Manual configuration is useful when discovery is incomplete, you want stable entity IDs, or you need to filter a shared event topic. The exact topic and JSON fields depend on your rtl_433 configuration and sensor.
Rank #4
- Includes 1x RTL-SDR Blog brand R860 RTL2832U 1PPM TCXO HF Bias Tee SMA Dongle (V3) (Dongle Only)
- Several improvements over other brands including use of the R860 tuner, improved component tolerances, a 1 PPM temperature compensated oscillator (TCXO), SMA F connector, aluminum shielded case with thermal pad for passive cooling, and an activatable bias tee circuit.
- Can tune from 500 kHz to 1.7 GHz and has up to 3.2 MHz of instantaneous bandwidth (2.4 MHz stable). (HF reception below 24 MHz in direct sampling mode with reduced performance). Please note RTL-SDR dongles are RX only.
- Please follow the quickstart guide linked in the included the manual for installation of the drivers and free software. Please feel free to contact us via Amazon messaging for technical support - we're happy to help
mqtt:
sensor:
- name: "Workshop Temperature"
unique_id: "workshop_433_temperature"
state_topic: "rtl_433/events"
value_template: "{{ value_json.temperature_C }}"
unit_of_measurement: "°C"
device_class: temperature
state_class: measurement
A contact or door sensor can be configured similarly as an MQTT binary sensor:
mqtt:
binary_sensor:
- name: "Workshop Door"
unique_id: "workshop_433_door"
state_topic: "rtl_433/events"
value_template: "{{ value_json.contact }}"
payload_on: "1"
payload_off: "0"
device_class: door
Do not let a generic entity consume every message from a shared topic. Where necessary, test model, id, channel, or subtype in the template so a neighbor’s sensor cannot populate your entity.
Reference formats and supported options in Home Assistant’s MQTT sensor and MQTT binary sensor documentation.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Consider the native rtl_433 integration
The current rtl_433 Home Assistant integration connects to an rtl_433 server through HTTP/WebSocket. Its documented features include automatic device discovery, native Home Assistant devices and entities, diagnostics, availability handling, multiple servers, and a data-driven device-mapping library.
Choose it first when Home Assistant is the main consumer and you want fewer services between the decoder and your automations. Choose MQTT when the SDR host is separate, other applications also need the data, MQTT is already your site-wide message bus, or you want broker-based routing and retention.
Recommended Free Tools
Best Value
- NEW RTL-SDR FM+DAB USB DVB-T Dongle DVB-T STICK 100% REAL WITH RTL2832U+R820T2! The R820T upgrade version!
- Use the Rafael Micro's R820T2 offer possible range 25 - 1700 MHz
- The RTL2832U outputs 8-bit I/Q-samples, and the highest theoretically possible sample-rate is 3.2 MS/s,
The native integration does not make unsupported protocols compatible. Its mappings still depend on what rtl_433 decoded and which fields the integration knows how to expose. The device library documents mappings and extension options.
Troubleshooting decision tree
The USB receiver is not detected
lsusb
rtl_test
Check USB power, cables, drivers, container or virtual-machine pass-through, and whether another SDR application has claimed the device. With multiple dongles, select one explicitly using its index or serial number:
rtl_433 -d :YOUR_SERIAL
The receiver works but no packets appear
Check the antenna, sensor distance, actual frequency, modulation, local interference, and transmission interval. A battery device may transmit only periodically or after a button press.
Packets decode but MQTT is empty
Check broker reachability, credentials, firewall rules, client ID conflicts, and the exact topic names. Subscribe to rtl_433/# and compare the observed topics with the topics configured in Home Assistant.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →MQTT works but no Home Assistant entities appear
Inspect both rtl_433/# and homeassistant/#. If no homeassistant/.../config messages exist, raw events alone cannot create entities. Check that discovery is enabled, the prefix matches, the helper is running, and the model mapping and JSON field names are correct.
Entities become unavailable after a restart
Retain discovery configuration or arrange for the decoder/helper to republish it after Home Assistant’s birth message. A retained measurement is not proof that the battery sensor is currently reachable.
Reliability, privacy, and limitations
- Repeated packets are normal. Many inexpensive transmitters repeat measurements to improve reception. Use timestamps to understand freshness.
- Availability is approximate. A one-way battery sensor usually cannot be polled. A missing update may indicate radio loss, a dead battery, sleep behavior, or a long reporting interval.
- Battery fields vary.
battery_okmay be a boolean rather than a percentage. - Nearby devices may be visible. 433 MHz broadcasts are generally not private. Filter unknown IDs and avoid publishing sensitive raw identifiers unnecessarily.
- Receiving is not transmitting. An RTL-SDR decoder does not automatically control a remote or safely replay a packet.
- Radio rules vary. Frequency use, power, duty cycle, and certification depend on jurisdiction.
Final setup checklist
- Confirm the sensor’s actual protocol is supported or decodable.
- Install the RTL-SDR, antenna, host, and
rtl_433. - Obtain stable decoded output before adding MQTT.
- Secure and test the private broker.
- Publish rtl_433 events with a deliberate topic layout.
- Use the MQTT discovery helper or define filtered manual entities.
- Alternatively, test the native rtl_433 Home Assistant integration.
- Set availability timeouts longer than the sensor’s normal reporting interval.
- Check for unknown devices, stale retained data, and duplicate packets.
The Bottom Line
RTL-SDR and rtl_433 can turn many inexpensive commercial 433 MHz sensors into useful Home Assistant devices, but compatibility depends on the actual radio protocol—not just the product label. Use MQTT for a flexible, multi-consumer architecture; use the native rtl_433 integration when Home Assistant is the primary consumer and you want fewer moving parts.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.
Do these 3 things before closing this tab:
1Fix the driver behind crashes, sound loss and screen glitches2Repair Windows errors before they cause bigger problems3Scan for outdated or missing drivers - takes under a minute




