Skip to content

Latest commit

 

History

History
96 lines (66 loc) · 2.19 KB

File metadata and controls

96 lines (66 loc) · 2.19 KB

Quick Start

This guide gets the remaining ESPHome sniffer and dimmer-control pieces running.

1. Wire the Hardware

Minimal CC1101 receiver setup:

CC1101 VCC  -> ESP32 3.3V
CC1101 GND  -> ESP32 GND
CC1101 GDO0 -> ESP32 GPIO13
CC1101 CSN  -> ESP32 GPIO5
CC1101 SCK  -> ESP32 GPIO18
CC1101 MOSI -> ESP32 GPIO23
CC1101 MISO -> ESP32 GPIO19

Optional status LED:

LED DATA -> ESP32 GPIO4
LED VCC  -> 5V
LED GND  -> GND

See WIRING.md for the full wiring guide.

2. Flash the ESP32

Copy these files into your ESPHome configuration folder:

  • esphome/433mhz-sniffer.yaml
  • esphome/hardware-config.yaml
  • esphome/rf_handlers.h

Create secrets.yaml next to them:

wifi_ssid: "YourWiFiSSID"
wifi_password: "YourWiFiPassword"
api_encryption_key: "generate-with-openssl-rand-base64-32"
ota_password: "generate-with-openssl-rand-hex-16"

Flash with ESPHome:

esphome run 433mhz-sniffer.yaml

3. Verify RF Reception

Check ESPHome logs:

esphome logs 433mhz-sniffer.yaml

Press a 433 MHz remote button. You should see an RC Switch message with a protocol and code.

In Home Assistant, listen for the event:

  • Developer Tools -> Events
  • Event type: esphome.rf433
  • Press the RF button again

The event data should include protocol and code.

4. Optional: Add the Dimmer Script

Copy dimmer_control/dimmer_control.yaml into your Home Assistant scripts configuration.

If you use bounce_at_top, create a per-light toggle helper named after the light entity with _dimmer_dir appended. Example for light.bedroom_lamp:

input_boolean:
  bedroom_lamp_dimmer_dir:
    name: Bedroom Lamp Dimmer Direction
    icon: mdi:arrow-up-down

Call the script from your automation or mapper action:

{"light_entity": "light.bedroom_lamp"}

More examples are in dimmer_control/README_dimmer_control.md.

Tuning

  • Start with rf_debounce_ms: 350 in hardware-config.yaml.
  • Lower it if repeated dimmer presses feel too slow.
  • Raise it if one button press creates duplicate events.
  • Disable raw logging for everyday use with enable_raw_logging: 0.