This guide gets the remaining ESPHome sniffer and dimmer-control pieces running.
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.
Copy these files into your ESPHome configuration folder:
esphome/433mhz-sniffer.yamlesphome/hardware-config.yamlesphome/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.yamlCheck ESPHome logs:
esphome logs 433mhz-sniffer.yamlPress 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.
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-downCall the script from your automation or mapper action:
{"light_entity": "light.bedroom_lamp"}More examples are in dimmer_control/README_dimmer_control.md.
- Start with
rf_debounce_ms: 350inhardware-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.