A Home Assistant custom integration that connects to an rtl_433 HTTP server's WebSocket stream and turns decoded 433 MHz / ISM-band devices into native Home Assistant sensors, binary sensors, and event entities.
It is a local-push integration: events arrive over WebSocket as rtl_433 decodes them, with no cloud dependency and no polling.
Full documentation: https://rtl-433-hass.github.io/rtl_433/latest/
- Add one receiver per rtl_433 server; decoded RF devices appear as nested Home Assistant devices under that receiver.
- Device support is data-driven through a YAML
device library shipped by the
pyrtl_433dependency, with per-receiver user overrides available from the Home Assistant UI. - Every device the receiver hears is listed for you to add or ignore; nothing is added to Home Assistant on its own.
- Sets availability timeouts by device type, records Last seen timestamps, handles button presses and motion, and supports utility-meter calibration.
- Optional Home Assistant-managed SDR controls can adopt and re-apply receiver settings such as frequency, sample rate, gain, ppm, conversion mode, and hop interval.
The recommended setup on Home Assistant OS (or any Supervisor-based install):
- Install this integration through HACS as a custom repository, or copy
custom_components/rtl_433into Home Assistant'scustom_componentsfolder. - Restart Home Assistant so the integration is loaded.
- Install and start the rtl_433 add-on with a supported USB radio plugged in.
- Each radio the add-on detects appears as a discovered rtl_433 card under Settings → Devices & Services. Click Add and confirm — no host or port needs to be typed.
The order matters: install the integration and restart Home Assistant before starting the add-on, so the integration is loaded when the add-on publishes its discovery information.
Not using the add-on? Run any rtl_433 server with its HTTP/WebSocket output
enabled (usually rtl_433 -F http), then add rtl_433 from Settings →
Devices & Services → Add Integration and enter the rtl_433 server host, port,
path, and security settings.
See the installation and configuration guides for the full setup flow.
- Documentation source
- Contributing guide
- Device-library guide (schema reference: pyrtl_433)
- Issue tracker
Netlify builds the documentation using netlify.toml and publishes site/.
The build uses Python 3.14 and docs/requirements.txt, then runs
mkdocs build --strict from the repository root. The preview opens the branch's
current documentation directly, without the published version directories.
To enable previews, create a Netlify project by importing this GitHub repository,
select main as the production branch, and keep Deploy Previews enabled for pull
requests. Netlify reads the build settings from netlify.toml once it is merged.
Each PR gets a URL such as https://deploy-preview-123--your-project.netlify.app.
No additional GitHub Actions workflow or Netlify API token is required.
The existing GitHub Pages workflow continues to publish the versioned docs;
Netlify also publishes main at its own netlify.app URL.
See Netlify's repository setup guide and Deploy Preview documentation.