Hi! I’ve been trying to streamline my 433MHz sensor setup in Home Assistant, and ended up creating two simple add-ons that work together to get data from rtl_433 into HA thru MQTT with automatic discovery. So now, whenever I turn on a new Acurite temperature sensor, it automagically shows up as a device under the MQTT integration, with separate entities for temperature, humidity and battery status. And the whole thing runs under the Home Assistant OS supervisor - no need to babysit separate scripts anymore.
Add-on Repository: rtl_433 Home Assistant Add-ons
This add-on launches rtl_433 with your configuration file in a container under Home Assistant OS. You configure it to listen to whatever frequencies/devices you need and to publish the data into MQTT.
rtl_433 MQTT Auto Discovery Add-on
This add-on helps Home Assistant ingest and interpret the rtl_433 data by periodically publishing MQTT discovery topics based on the device and event information coming from rtl_433.
The script looks for specific bits of data in rtl_433’s output to figure out what kind of sensor the data is coming from and to help Home Assistant handle it appropriately.
More specifically, this script looks for the following keys in rtl_433’s event data:
alarm battery_ok depth_cm gust_speed_km_h gust_speed_m_s humidity lux moisture noise power_W pressure_hPa rain_in rain_mm rain_mm_h rain_rate_in_h rssi snr storm_dist strike_count strike_distance tamper temperature_1_C temperature_2_C temperature_C temperature_F uv wind_avg_km_h wind_avg_m_s wind_avg_mi_h wind_dir_deg wind_max_m_s wind_speed_km_h wind_speed_m_s
In cases where none of the keys above appear, the script ignores the device that the event came from and doesn’t notify Home Assistant about it.
Hope someone finds this useful. Reply with questions, feature requests etc. Thanks!