Honeywell door sensors with rtl_433

I’m new to Home Assistant and all things rtl_433. I have installed the MQTT, rtl_433 and rtl_433 auto-discovery addons. I do not see any errors or issues in the logs. I did, after a couple of days of watching and troubleshooting, see a TPMS sensor show up in my dashboard. I have since stopped the auto-discovery.

I’m trying to add my existing Honeywell sensors which I believe are series 5800 to my HA for automations. I copied the template configuration into /config/rtl_433.conf and adjusted the frequency:

#frequency 433.92M
frequency 344975000

And also added what I believe should provide more log output?

output log

I have, occasionally, seen one of my doors in the rtl_433 logs:

{“time” : “2024-08-07 20:42:11.542624”, “protocol” : 70, “model” : “Honeywell-Security”, “id” : 8122435, “channel” : 8, “event” : 160, “state” : “open”, “contact_open” : 1, “reed_open” : 1, “alarm” : 0, “tamper” : 0, “battery_ok” : 1, “heartbeat” : 0, “mic” : “CRC”, “mod” : “ASK”, “freq” : 344.995, “rssi” : -0.181, “snr” : 11.055, “noise” : -11.236}

However, it doesn’t seem to be consistent, and I’m not sure how to use that information to add an mtqq section sensor in the configuration file.

This is the rtl_433 log file when I restart the add-on:

[14:49:17] WARNING: rtl_433 now supports automatic configuration and multiple radios. The rtl_433_conf_file option is deprecated. See the documentation for migration instructions.
Starting rtl_433 -c /config/rtl_433.conf
rtl_433 version 23.11 branch at 202311281352 inputs file rtl_tcp RTL-SDR
Found Rafael Micro R820T/2 tuner
Exact sample rate is: 250000.000414 Hz
SDR: Using device 0: Realtek, RTL2838UHIDIR, SN: 00000001, “Generic RTL2832U OEM”
Allocating 15 zero-copy buffers
Auto Level: Current noise level -14.9 dB, estimated noise -15.0 dB

I am using the larger antennea but it is downstairs. I don’t know if part of the issue could be range. Although it finds a TPMS from a driveway somewhere, which seems like it’s further than my doors and windows.

I’m not sure where to start - any help or suggestions would be appreciated.

What sort of antenna are you using for that? How large do you mean? The simplest antenna for 433mhz is a monopole which would be about 17cm tall. Is the rtl device also downstairs?

This is the item I’m using: https://www.amazon.com/dp/B0BMKB3L47

I’m using the longer antenna which is probably two feet long each (I can measure when I get home if needed).

The HA PC and USB and antenna are downstairs.


Your best chance with the equipment you have is to make a dipole. The smaller telescopic bits extend to 13 cm each. With the metal it screws into might get you close to the 1/4 wave length. The thin coax cable that connects will be lossy.

I wouldn’t recommend for you to buy any further ready made antennas. You can make an effective antenna with thin wire and a bit better quality short run of coax. The coax should be as short as possible to do the job.


I use a simple ground plane antenna.

Good luck

I replaced the antenna with the smaller ones, and it’s picking up each one I have tried so far!

I enabled auto discover, and the devices now show up in Home Assistant, with these entities: alarm, Battery, noise, rssi, snr, tamper. I thought that the state of the reed would be the alarm entity, but it doesn’t seem to change. I see noise, rssi, and snr change when I open the door.

Do I need to manually add these sensors to my config to get the value correct? Do you have any quick tips for the next step in this process? I’ve read the documentation, but when I add a sensor to the configuration.yaml I don’t see the device and I don’t see any errors in the logs. I’m using a PC with HA OS.

Odd that it doesn’t give the most important thing the state of the sensor.

mqtt:
  binary_sensor:
    - name: 'frontdoor'
      state_topic: 'whatevertopicthatgivesthejsonmessage'
      value_template: >
        {% if value_json is defined and value_json.id == 8122435 %}
          {{ value_json.state}}
        {% else %}
          {{ states('sensor.frontdoor') }}
        {% endif %}
      payload_on: "open"
      payload_off: "closed"
      device_class: door
      unique_id: door1

You could add in it manually in configuration.yaml. I’m assuming payload in mqttexplorer reads open or closed for state.

rtl sdr
My rtl_433 presents the info like this so I can select the longer state topic with only the short code showing as payload e.g 14414a which is payload for open.

I installed the MQTT Explorer - thank you for reminding me about that tool.

Watching the data in the Explorer and logs, the value that changes when the door is opened is reed_open (0/1). State always has a value of “open.”

With that in mind, this is what I’ve tried for the sensor, but it always shows as Unknown:

mqtt:
  binary_sensor:
    - name: 'frontdoor'
      state_topic: 'rtl_433/9b13b3f4-rtl433/devices/Honeywell-Security/8/896642'
      value_template: >
        {% if value_json is defined and value_json.id == 896642 %}
          {{ value_json.reed_open }}
        {% else %}
          {{ states('sensor.frontdoor') }}
        {% endif %}
      payload_on: "1"
      payload_off: "0"
      device_class: door
      unique_id: door1

Any idea what I’m doing wrong? Since it’s my first time through this is probably very simple!

Thank you.

mqtt:
  binary_sensor:
    - name: 'frontdoor'
      state_topic: 'rtl_433/9b13b3f4-rtl433/devices/Honeywell-Security/8/896642'
      value_template: "{{ value_json.reed_open }}"
      payload_on: "1"
      payload_off: "0"
      device_class: door
      unique_id: door1

Ah now that I see the state topic try this

Still no luck. Still shows as Unknown. Maybe I have something basic between MQTT and HA not configured correctly? Is there any way to see if HA is receiving the state changes?

mqtt:
  binary_sensor:
    - name: 'frontdoor'
      state_topic: "rtl_433/9b13b3f4-rtl433/devices/Honeywell-Security/8/896642/reed_open"
      payload_on: "1"
      payload_off: "0"
      device_class: door
      unique_id: door1

I’ll blame it on being half asleep. I didn’t read the state topic to see it actually ends in reed_open and that reed_open wasn’t part of the payload iteself. 1 and 0 are the whole payload. So there was no need to use a value_template.