Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RF433 ESPHome Sniffer

  • ESPHome firmware for an ESP32 + CC1101 433 MHz RF sniffer that captures RF remote button presses and forwards them to Home Assistant as events
  • Optional Home Assistant dimmer-control script for turning repeated RF button presses into useful brightness changes

This repository contains only the hardware/control pieces from its predecessor project, rf433-remote-ha-mapper. The mapper, learning card, and Home Assistant integration files have moved to the separate ha-event2action project.

Contents

What This Provides

The ESPHome node listens for 433 MHz RF remote codes and forwards debounced RC Switch events into Home Assistant as esphome.rf433 events. The dimmer script can then be called by your own automations or by the separate mapper project to step a light through brightness values.

Sniffer Output

The final output of the sniffer is a Home Assistant event named esphome.rf433. Each debounced RF button press is forwarded as an event with the decoded protocol and code values, so Home Assistant can use ordinary event-based automations to react to RF remotes.

The recommended next step is to feed this event into ha-event2action. That project provides the mapping and learning-card workflow for turning incoming esphome.rf433 events into Home Assistant actions, including calls to the optional dimmer-control script in this repository.

Requirements

Hardware

  • ESP32 development board
  • CC1101 433 MHz sub-GHz transceiver module
  • WS2812/WS2811 status LED, optional but useful
  • Jumper wires, breakout board, or custom wiring
  • Optional 3D printed enclosure

Software

  • ESPHome with CC1101 support
  • Home Assistant, if you want to receive esphome.rf433 events or use the dimmer script

ESPHome Setup

  1. Copy the files from esphome into your ESPHome configuration folder:

    • 433mhz-sniffer.yaml
    • hardware-config.yaml
    • rf_handlers.h
  2. Create secrets.yaml in that ESPHome folder:

    wifi_ssid: "YourWiFiSSID"
    wifi_password: "YourWiFiPassword"
    api_encryption_key: "generate-with-openssl-rand-base64-32"
    ota_password: "generate-with-openssl-rand-hex-16"
  3. Adjust hardware-config.yaml for your board, LED, CC1101 pins, RF debounce, and logging settings.

  4. Flash the device:

    esphome run 433mhz-sniffer.yaml

Home Assistant Usage

After the ESPHome device is adopted by Home Assistant, pressing an RF remote button should fire an event named esphome.rf433 with protocol and code fields.

To verify reception:

  1. Open Home Assistant Developer Tools.
  2. Go to Events.
  3. Listen for esphome.rf433.
  4. Press a 433 MHz remote button.

For dimming behavior, add dimmer_control/dimmer_control.yaml to your Home Assistant scripts and call it from an automation or mapper action. See dimmer_control/README_dimmer_control.md for examples.

Configuration Notes

Edit esphome/hardware-config.yaml to change:

  • ESP32 board type
  • SPI pins for the CC1101
  • RF receive pin
  • status LED pin, chipset, RGB order, and brightness
  • RF idle/filter/tolerance/buffer settings
  • debounce timing
  • raw RF logging
  • fallback access point credentials

The default debounce is 350ms, which is usually a good starting point for RF remotes used as dimmer buttons.

Project Structure

rf433-remote-ha-mapper/
├── dimmer_control/
│   ├── README_dimmer_control.md
│   ├── dimmer_control.yaml
│   └── smart plug-in dimmer case.jpeg
├── esphome/
│   ├── 433mhz-sniffer.yaml
│   ├── hardware-config.yaml
│   └── rf_handlers.h
├── CHANGELOG.md
├── LICENSE
├── QUICKSTART.md
├── README.md
└── WIRING.md

Troubleshooting

No RF events received

  • Check the CC1101 wiring, especially VCC at 3.3 V and GDO0 to the configured receive pin.
  • Check ESPHome logs with esphome logs 433mhz-sniffer.yaml.
  • Confirm the ESPHome device is online in Home Assistant.
  • Try moving the antenna or receiver away from power supplies and Wi-Fi equipment.
  • Temporarily enable more RF logging in hardware-config.yaml.

Duplicate or sluggish button behavior

  • Tune rf_debounce_ms in hardware-config.yaml.
  • Use lower values for quicker repeated presses.
  • Use higher values if a single press creates duplicates.

Status LED does not behave as expected

  • Confirm status_led_pin, led_chipset, and led_rgb_order in hardware-config.yaml.
  • Check whether your LED expects 5 V power and a shared ground with the ESP32.

License

This project is open source and available under the MIT License.

About

Use your old 433 MHz remotes to control modern Wi-Fi, ZigBee or other HomeAssistant controlled plugs or devices

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages