This repository contains a collection of ESPHome YAML configurations for various smart home sensors and devices. The goal is to provide ready-to-use, well-documented configurations for ESP8266 and ESP32-based devices, with a focus on Home Assistant integration.
- Development Setup
- Custom Components
- Shared Packages
- Configurations
- Secrets & Sensitive Data
- Credits & Inspirations
- License
This repository is a public collection of my ESPHome device configurations. It is intended for educational, reference, and practical use. All sensitive information (such as WiFi credentials and API keys) is stored in secrets.yaml and not included in the repository.
Some configurations are based on or inspired by awesome projects from the community (see Credits & Inspirations).
For the best development experience, I recommend using Visual Studio Code or Cursor with the following extensions:
- ESPHome - Provides YAML validation, syntax highlighting, and device management
- ESPHome Snippets - Adds useful code snippets for ESPHome development
To validate configurations and perform OTA updates locally, you'll need to install the ESPHome CLI. Here's how to set it up on Linux with installed Python:
- Install ESPHome CLI using pip:
pip3 install esphome- Update ESPHome CLI when new versions are released:
pip3 install -U esphomeor
pip3 install esphome --upgrade- Validate a configuration:
esphome validate your-config.yaml- Perform an OTA update:
esphome run your-config.yamlFor more detailed installation and update instructions, refer to the official ESPHome documentation:
This repository includes custom ESPHome components that extend the platform's capabilities beyond the built-in components.
deduplicate_text component and electricity meter package use C++17 features (like std::string_view and constexpr lambdas) and require C++17 or later support when compiling for ESP32. The uart_line_reader component works with standard C++11/C++14. ESP8266 has C++17 enabled by default.
ESPHome 2025.7.0 and Later: Starting with ESPHome 2025.7.0, the ESP32 toolchain supports C++20 by default and no manual configuration is required. Components will work out of the box without any additional settings.
ESPHome Versions Below 2025.7.0 or Standalone Components: For ESPHome versions below 2025.7.0, or when using components separately outside of ESPHome, you still need to manually enable C++17 support for ESP32. Add the following to your ESPHome configuration:
esphome:
name: your-device-name
platformio_options:
build_unflags:
- -std=gnu++11
build_flags:
- -std=gnu++17-
Location:
components/uart_line_reader/ -
Description: Custom text sensor component that reads line-based data from UART interfaces, specifically designed for parsing structured data from smart meters and similar devices.
-
Features:
- Line-based UART data reading with configurable delimiters
- Built-in filtering and validation capabilities
- Optimized for OBIS protocol parsing from smart meters
- Supports various UART configurations (baud rate, parity, data bits)
- Memory-efficient streaming data processing
-
Requirements:
- ESP32: Works out of the box (no C++17 required)
- ESP8266: Works out of the box
-
Used by:
packages/electricity-meter.yaml- For reading OBIS data from smart electric meterssmart-electric-meter.yaml- Smart meter implementation
-
Usage: Include in your configuration with:
external_components: - source: type: local path: components
- Location:
components/deduplicate_text/ - Description: Custom text sensor platform that provides efficient duplicate detection using hash-based comparison, eliminating the need for manual deduplication filters.
- Features:
- Memory-efficient duplicate detection (only 4 bytes per sensor)
- FNV-1a hash algorithm for fast, collision-resistant comparison
- No heap fragmentation - uses stack-allocated hash values
- Drop-in replacement for template text sensors with automatic deduplication
- Supports all standard text sensor configuration options (lambda, update_interval, etc.)
- Built-in logging and debugging capabilities
- Requirements:
- ESP32: C++17 or later support required (see above)
- ESP8266: Works out of the box
- Examples: See
components/deduplicate_text/examples/for complete usage examples - Used by:
packages/device-configs/electricity-meter.yaml- For meter information text sensors (serial number, firmware version, etc.)
- Usage: Replace
platform: templatewithplatform: deduplicate_text:text_sensor: - platform: deduplicate_text name: "My Sensor" lambda: |- return std::string("Hello World"); update_interval: 60s
- Location:
components/diesel_heater_rf/ - Description: Custom component for wireless control and monitoring of VEVOR and other Chinese diesel heaters via 433 MHz RF using a TI CC1101 transceiver. Replicates the protocol of the four-button OLED remote without any physical modifications to the heater.
- Features:
- Non-invasive RF communication — no wiring to the heater's control unit
- Full remote parity: all commands available from the physical remote (power, mode, temp up/down, get_status)
- Rich telemetry: operational state, ambient and case temperature, setpoint, heat level, pump frequency, supply voltage, RF signal strength
- Direct setpoint control via
set_temperatureHA service — computes and sends required UP/DOWN steps automatically - Built-in address discovery service for first-time pairing
- Compatible with the original physical remote — both can coexist simultaneously
- Requirements:
- Platform: ESP32 only
- Framework: Arduino (the bundled CC1101 library uses
SPI.hand Arduino GPIO functions) apicomponent must be present for HA service registration
- Hardware: TI CC1101 433 MHz transceiver module (e.g. Ebyte E07-M1101S, ~$5 USD), connected via SPI
- Documentation: See
components/diesel_heater_rf/README.mdfor wiring diagram, full configuration reference, and first-time setup guide - Used by:
packages/device-configs/diesel-heater-rf.yaml— device configuration packagediesel-heater.yaml— main device configuration
- Location:
components/qrcode2_uart/ - Description: Custom ESPHome component for interfacing with M5Stack QRCode2 scanners via UART communication. Provides comprehensive barcode and QR code scanning functionality with stock management features.
- Features:
- UART-based communication with M5Stack QRCode2 scanners
- Configurable scanning timeout (5-60 seconds)
- Configurable long press duration for mode switching (1-10 seconds)
- Button support for manual scan triggering and mode switching
- Device information retrieval (firmware version, hardware model, etc.)
- Binary sensor for scanning status and text sensor for scan results
- Multiple automation triggers for scan events and button presses
- RGB LED integration for visual status indication
- Stock management modes (Add/Remove stock) with persistence
- Requirements:
- ESP32: Works out of the box (no special C++ requirements)
- M5Stack QRCode2 scanner module
- UART pins for communication (TX, RX)
- GPIO pins for trigger control and button input
- Documentation: See
components/qrcode2_uart/README.mdfor complete API reference - Used by:
packages/device-configs/qrcode2-atom-lite.yaml- M5Stack Atom Lite scanner device configuration
- Usage: Include in your configuration with:
external_components: - source: type: local path: components
The packages/ directory contains reusable configuration components that can be included in multiple device configurations. These packages help maintain consistency and reduce code duplication across different ESPHome devices.
- File:
packages/wifi.yaml - Description: Standardized WiFi configuration with static IP assignment and access point fallback.
- Features:
- WiFi credentials from secrets
- Static IP configuration
- Access point fallback mode
- Consistent network setup across devices
- File:
packages/wifi-signal-sensors.yaml - Description: Comprehensive WiFi signal strength monitoring with both dBm and percentage measurements.
- Features:
- RSSI measurement in dBm
- WiFi strength percentage calculation
- Throttled updates (5-minute intervals)
- Diagnostic entity category
- Delta filtering for efficient updates
- File:
packages/factory-reset-button.yaml - Description: Standardized factory reset button configuration for device recovery.
- Features:
- Factory reset functionality
- Diagnostic entity category
- Consistent naming and behavior
- File:
packages/mqtt.yaml - Description: Standardized MQTT configuration with Last Will and Testament (LWT) and Home Assistant discovery.
- Features:
- MQTT broker credentials from secrets
- Configurable topic prefix
- Last Will and Testament (LWT) setup for device availability
- Home Assistant discovery support
- Configurable LWT topics and payloads
- Consistent connection setup across devices
- Required Substitutions:
mqtt_broker,mqtt_username,mqtt_password,mqtt_topic_prefix
- Optional Substitutions:
mqtt_discovery,mqtt_lwt_topic_suffix,mqtt_lwt_online_payload,mqtt_lwt_offline_payload
- File:
packages/mqtt-diagnostic-sensors.yaml - Description: MQTT connection monitoring and diagnostic information that complements the main MQTT package.
- Features:
- MQTT connect count tracking
- Connection quality monitoring
- Diagnostic entity category
- Disabled by default (can be enabled as needed)
- Dependencies: Designed to work alongside
mqtt.yamlpackage
- File:
packages/wifi-diagnostic-sensors.yaml - Description: WiFi connection diagnostics exposing network details and reconnection tracking.
- Features:
- WiFi connect count tracking (increments on each reconnection)
- IP address and connected SSID text sensors
- Diagnostic entity category
- Disabled by default (can be enabled as needed)
- File:
packages/internal-temp-sensor-esp32.yaml - Description: Internal temperature monitoring for ESP32-based devices.
- Features:
- ESP32 internal temperature sensor
- Diagnostic entity category
- Disabled by default (can be enabled as needed)
- File:
packages/device-configs/electricity-meter.yaml - Description: Comprehensive device configuration package for reading OBIS-compliant smart electric meters via optical interface (IR head) or serial connection.
- Features:
- OBIS protocol support for energy consumption, power, voltage, current, frequency, and phase angles
- Data validation and spike protection to filter corrupted readings
- Communication quality monitoring and corruption statistics
- Efficient text sensor deduplication using custom
deduplicate_textcomponent - Text sensor corruption filtering (requires 3 consecutive identical readings)
- Comprehensive energy sensors (total, daily, weekly, monthly, yearly consumption)
- Reset controls for validation state and communication quality
- Positioning Mode: real-time raw sensor feedback for physically aligning the optical IR head
- Highly configurable via substitutions (OBIS codes, validation parameters, UART settings)
- Board: ESP8266 (tested), ESP32 (compiles but untested on hardware)
- Requirements:
- Custom
uart_line_readercomponent (see Custom Components) - Custom
deduplicate_textcomponent (see Custom Components) - IR head or serial connection to smart meter
- ESP32: C++17 or later support required for this package (see C++20 Support)
- Custom
- Documentation: See
packages/device-configs/README-electricity-meter.mdfor detailed usage instructions - Example: See
packages/device-configs/examples/example-electric-meter-usage.yaml - Used in:
smart-electric-meter.yaml- Smart meter implementation
- File:
packages/device-configs/bluetooth-proxy.yaml - Description: Shared configuration package for ESP32-based Bluetooth proxy devices. Provides consistent hardware setup, network configuration, and monitoring features.
- Features:
- BLE tracking capabilities
- Safe mode and factory reset buttons
- OTA and HTTP update support
- WiFi signal strength monitoring via shared package
- Static IP and WiFi AP fallback
- Home Assistant API integration
- Board: ESP32
- Common Config: Uses shared WiFi and WiFi signal monitoring configuration from
packages/wifi.yamlandpackages/wifi-signal-sensors.yaml - Used in: Multiple
bluetooth-proxy-*.yamlconfigurations for different locations
- File:
packages/device-configs/soil-sensor-d1-mini.yaml - Description: Shared configuration package for ESP8266 D1 Mini-based soil moisture sensors. Provides consistent hardware setup, network configuration, and monitoring features.
- Features:
- Soil moisture measurement via analog voltage
- Calibration support (zero and full voltage)
- Static IP and WiFi AP fallback
- OTA updates and Home Assistant API integration
- WiFi signal strength monitoring via shared package
- Board: ESP8266 D1 Mini
- Common Config: Uses shared WiFi and WiFi signal monitoring configuration from
packages/wifi.yamlandpackages/wifi-signal-sensors.yaml - Used in:
soil-sensor-tuyas.yaml- Soil moisture monitoring implementation
- File:
packages/device-configs/qrcode2-atom-lite.yaml - Description: Comprehensive device configuration package for M5Stack Atom Lite with QRCode2 Base scanner, designed for inventory management and barcode scanning applications with Home Assistant integration.
- Features:
- Barcode/QR code scanning with configurable timeout (5-60 seconds)
- Dual stock management modes (Add/Remove stock) with persistence across restarts
- Button controls: short press to scan, configurable long press (1-10s) to switch modes
- Comprehensive RGB LED status indication (12+ different states)
- Home Assistant integration with sensors, controls, and automation triggers
- Device information retrieval and diagnostic monitoring
- Scan counting and duplicate detection with timestamps
- Visual feedback for all device states and user interactions
- Board: M5Stack Atom Lite (ESP32-based)
- Requirements:
- Custom
qrcode2_uartcomponent (see Custom Components) - M5Stack QRCode2 Base scanner module
- Home Assistant for full feature utilization
- Custom
- Hardware: Built-in SK6812 RGB LED (GPIO 27), Button (GPIO 39), UART pins (TX 22, RX 19)
- Documentation: See
packages/device-configs/qrcode2-atom-lite.mdfor detailed hardware setup, pin connections, and usage instructions - Used in: QRCode2 scanner device configurations for inventory management
- File:
packages/device-configs/dfrobot-sen0610-presence.yaml - Description: Comprehensive device configuration package for the DFRobot SEN0610 mmWave presence sensor, enabling advanced occupancy detection, adjustable range and sensitivity, and Home Assistant integration.
- Features:
- Real-time occupancy detection using mmWave radar
- Adjustable detection range (min, max, trigger)
- Sensitivity and latency controls
- UART communication and raw message debugging
- Home Assistant integration with sensors, numbers, switches, and buttons
- Factory reset, restart, and configuration query buttons
- Board: ESP32 (tested), ESP8266 (should work)
- Documentation: See
packages/device-configs/dfrobot-sen0610-presence.mdfor detailed usage instructions - Example: See
packages/device-configs/examples/example-dfrobot-sen0610-usage.yaml
- File:
packages/device-configs/sonoff-basic.yaml - Description: Shared hardware configuration package for ESP8266-based relay sockets compatible with the Sonoff Basic R2 and Sonoff S2X GPIO layout.
- Features:
- Relay control with restore-last-state on boot
- Physical button toggle (GPIO0, active-low with internal pullup)
- Mixed-behaviour status LED (GPIO13, inverted): mirrors relay state when API is connected, blinks when disconnected
- Uptime sensor (diagnostic, disabled by default)
- Board: ESP8266 (
esp01_1m, 1 MB flash) - GPIO layout:
GPIO0— On-board button (inverted, active-low, internal pullup)GPIO12— Relay outputGPIO13— Status LED (inverted)
- Required substitutions:
relay_name - Used in:
3d-printer-socket.yaml,biqu-air-filter-socket.yaml
- File:
packages/device-configs/fantastic-outdoor-socket.yaml - Description: Shared hardware configuration package for ESP8285-based relay sockets using the "Fantastic Outdoor" PCB layout with a two-LED design.
- Features:
- Relay control with restore-last-state on boot
- Physical button toggle (GPIO13, active-low with internal pullup)
- Green relay LED (GPIO4, inverted): on when relay is on
- Red status LED (GPIO5, inverted): blinks when API is disconnected, off when connected
- Reduced WiFi TX power (10 dBm), power-save disabled, and fast-connect enabled — tuned for co-located device pairs where RF interference is a concern
- Uptime sensor (diagnostic, disabled by default)
- Board: ESP8285 (
esp8285, 1 MB flash) - GPIO layout:
GPIO4— Green relay indicator LED (inverted)GPIO5— Red status LED (inverted)GPIO12— Relay outputGPIO13— On-board button (inverted, active-low, internal pullup)
- Required substitutions:
relay_name - Used in:
compressor.yaml,compressor-valve.yaml
- File:
packages/device-configs/diesel-heater-rf.yaml - Description: Reusable device configuration package for diesel heater RF integration. Declares the
diesel_heater_rfhub with all sensors pre-named using${friendly_name}substitutions, ready to drop into any ESP32 device config. - Features:
- State, ambient temperature, case temperature, setpoint, heat level, pump frequency, supply voltage, and RF signal strength sensors
- Auto mode binary sensor
- Configurable pins and heater RF address via substitutions
- Board: ESP32
- Requirements:
- Custom
diesel_heater_rfcomponent (see Custom Components) - Arduino framework
- Custom
- Required substitutions:
heater_address,heater_sck_pin,heater_miso_pin,heater_mosi_pin,heater_cs_pin,heater_gdo2_pin,heater_frequency,heater_frequency_offset_hz - Used in:
diesel-heater.yaml
- File:
packages/device-configs/rtttl-buzzer.yaml - Description: Comprehensive device configuration package for RTTTL (Ring Tone Text Transfer Language) buzzer functionality, enabling musical notifications, alerts, and sound effects with Home Assistant integration.
- Features:
- RTTTL playback with runtime volume control (0-100%)
- API actions for dynamic song playback from Home Assistant
- Predefined notification sounds (startup, error, success, doorbell, notification)
- Flexible GPIO pin configuration for buzzer output
- Cross-platform PWM output for ESP32 and ESP8266
- Home Assistant buttons for testing predefined sounds
- Support for custom RTTTL melodies and ringtones
- Board: ESP32 and ESP8266 (requires platform-specific substitution)
- Hardware: Passive buzzer (required for RTTTL functionality) or speaker with driver/amplifier
- Documentation: See
packages/device-configs/rtttl-buzzer.mdfor detailed usage instructions - Example: See
packages/device-configs/examples/example-rtttl-buzzer-usage.yaml
ESP8266-based relay sockets with Home Assistant API integration. Two hardware variants are covered by dedicated device config packages.
- Files:
compressor.yaml,compressor-valve.yaml - Description: Controls mains power to a compressor and its valve. Two co-located sockets on the same PCB hardware.
- Hardware: ESP8285N08 — "Fantastic Outdoor" socket PCB
- Features:
- Remote relay control via Home Assistant API
- Physical button toggle
- Green LED indicates relay state; red LED blinks when API is disconnected
- Reduced WiFi TX power (10 dBm) to minimise RF interference between the two co-located devices
- Common Config: Uses
packages/device-configs/fantastic-outdoor-socket.yaml
- File:
3d-printer-socket.yaml - Description: Controls mains power to a 3D printer.
- Hardware: ESP8266EX — Sonoff Basic R2
- Features:
- Remote relay control via Home Assistant API
- Physical button toggle
- Status LED mirrors relay state when connected, blinks when disconnected
- Common Config: Uses
packages/device-configs/sonoff-basic.yaml
- File:
biqu-air-filter-socket.yaml - Description: Controls mains power to a BIQU air filter unit.
- Hardware: ESP8266EX — Sonoff S2X
- Features:
- Remote relay control via Home Assistant API
- Physical button toggle
- Status LED mirrors relay state when connected, blinks when disconnected
- Common Config: Uses
packages/device-configs/sonoff-basic.yaml
- File:
smart-electric-meter.yaml - Description: ESP8266-based smart electric meter reader using optical interface (IR head) to read OBIS-compliant electric meters.
- Features:
- OBIS protocol support for comprehensive meter readings
- Energy consumption tracking (total, daily, weekly, monthly, yearly)
- Real-time power, voltage, current, and frequency monitoring
- Phase angle measurements for three-phase systems
- Data validation and corruption filtering
- Communication quality monitoring
- Positioning Mode for aligning the optical IR head without disrupting production data
- MQTT integration for Home Assistant
- WiFi signal strength monitoring via shared package
- Board: ESP8266 D1 Mini (tested), ESP32 (compiles but untested on hardware)
- Hardware: Requires IR head for optical interface communication
- Dependencies: Uses custom
uart_line_readeranddeduplicate_textcomponents (see Custom Components) - Common Config: Uses electricity meter device config from
packages/device-configs/electricity-meter.yaml, MQTT configuration frompackages/mqtt.yamlandpackages/mqtt-diagnostic-sensors.yaml, and WiFi configuration frompackages/wifi.yaml
- File:
gaszahler.yaml - Description: ESP8266-based gas meter pulse counter using a reed switch. Tracks gas consumption and exposes it to Home Assistant.
- Features:
- Pulse counting via GPIO
- Total consumption calculation
- Optional LED pulse indicator
- Scheduled weekly restart
- Home Assistant API integration
- WiFi signal strength monitoring via shared package
- Based on: be-jo.net Gaszähler mit ESPHome
- Common Config: Uses shared WiFi and WiFi signal monitoring configuration from
packages/wifi.yamlandpackages/wifi-signal-sensors.yaml
- File:
wasserstand-regenreservoir.yaml - Description: Monitors water level in a reservoir using an ADS1115 ADC and pressure sensor, with volume calculation and Home Assistant integration.
- Features:
- Analog water level measurement
- Volume calculation via calibration curve
- I2C and optional Dallas temperature sensor support
- WiFi signal strength monitoring via shared package
- Based on: nachbelichtet.com Water Level in Cisterns
- Common Config: Uses shared WiFi and WiFi signal monitoring configuration from
packages/wifi.yamlandpackages/wifi-signal-sensors.yaml
- File:
air-quality-sensor-1.yaml - Description: Advanced air quality monitor using ESP32-S2, supporting multiple sensors (CO2, VOC, PM, temperature, humidity, etc.) and a display.
- Features:
- Multiple air quality sensors (SGP30, SGP41, PMS, etc.)
- Display with dimming and status indicators
- Home Assistant integration
- WiFi signal strength monitoring via shared package
- Based on: Tom's 3D SBR1 Sensor Box
- Common Config: Uses shared WiFi and WiFi signal monitoring configuration from
packages/wifi.yamlandpackages/wifi-signal-sensors.yaml
- Files:
bluetooth-proxy-*.yaml - Description: ESP32-based Bluetooth proxies for extending Bluetooth coverage in Home Assistant.
- Features:
- BLE tracking
- Safe mode and factory reset buttons
- OTA and HTTP update support
- WiFi signal strength monitoring via shared package
- Common Config: Uses shared Bluetooth proxy device configuration from
packages/device-configs/bluetooth-proxy.yaml
- File:
lilygos3-info-screen.yaml - Description: ESP32-S3-based information display for Home Assistant data, including temperature, humidity, waste collection, and more.
- Features:
- Custom display layouts
- Battery and WiFi status
- Home Assistant API integration
- WiFi signal strength monitoring via shared package
- Common Config: Uses shared WiFi and WiFi signal monitoring configuration from
packages/wifi.yamlandpackages/wifi-signal-sensors.yaml
- File:
soil-sensor-tuyas.yaml - Description: Soil moisture monitoring implementation using ESP8266 D1 Mini.
- Features:
- Soil moisture measurement via analog voltage
- Calibration support (zero and full voltage)
- Static IP and WiFi AP fallback
- OTA updates and Home Assistant API integration
- WiFi signal strength monitoring via shared package
- Common Config: Uses shared soil sensor D1 Mini device configuration from
packages/device-configs/soil-sensor-d1-mini.yaml
- File:
garden-watering-controller.yaml - Description: ESP32-based garden watering controller (Work in Progress). Currently implements basic pump control with plans to expand using ESPHome's Sprinkler Controller component for full zone management.
- Features:
- Direct main pump control via physical switch
- 8 GPIO outputs via XL9535 I/O expander (prepared for future zone control)
- Internal temperature monitoring
- WiFi signal strength monitoring via shared package
- Static IP and WiFi AP fallback
- OTA updates and Home Assistant API integration
- Board: ESP32 DevKit
- Common Config: Uses shared WiFi and WiFi signal monitoring configuration from
packages/wifi.yamlandpackages/wifi-signal-sensors.yaml - Future Plans: Will be enhanced using ESPHome's Sprinkler Controller component for advanced zone management, scheduling, and automation features.
- Files:
qrcode2-atom-lite-*.yaml - Description: M5Stack Atom Lite-based barcode and QR code scanners designed for inventory management with comprehensive Home Assistant integration.
- Features:
- Barcode and QR code scanning with M5Stack QRCode2 Base
- Dual stock management modes (Add Stock / Remove Stock)
- Configurable scanning timeout (5-60 seconds) and button long press duration (1-10 seconds)
- Comprehensive RGB LED status indication for all device states
- Button controls: short press to scan, long press to switch modes
- Scan counting and duplicate detection with real timestamps
- Device information display and diagnostic monitoring
- Home Assistant sensors, controls, and automation triggers
- Visual feedback for WiFi/HA connectivity, scanning status, mode changes, and errors
- Board: M5Stack Atom Lite (ESP32-based)
- Hardware Requirements: M5Stack QRCode2 Base scanner module
- Dependencies: Uses custom
qrcode2_uartcomponent (see Custom Components) - Common Config: Uses shared QRCode2 Atom Lite device configuration from
packages/device-configs/qrcode2-atom-lite.yaml - Documentation: See
packages/device-configs/qrcode2-atom-lite.mdfor complete setup and usage guide
- File:
diesel-heater.yaml - Description: ESP32-based wireless controller and monitor for VEVOR and compatible Chinese diesel heaters via 433 MHz RF. Communicates with the heater non-invasively using a TI CC1101 transceiver, replicating the four-button OLED remote protocol.
- Features:
- Full heater control via Home Assistant services: power toggle, mode toggle, temperature up/down, direct setpoint, and get_status
- Real-time telemetry: operational state, ambient and case temperature, current setpoint, heat level (1–10), pump frequency, supply voltage, and RF signal strength
- Auto/manual mode monitoring
- First-time address discovery via
find_addressHA service - WiFi signal strength monitoring via shared package
- Board: ESP32 (generic
esp32dev) - Framework: Arduino
- Hardware: TI CC1101 433 MHz transceiver module wired via SPI (default: GDO2→GPIO4, SCK→GPIO18, MOSI→GPIO23, MISO→GPIO19, CSn→GPIO5)
- Dependencies: Uses custom
diesel_heater_rfcomponent (see Custom Components) - Common Config: Uses
packages/device-configs/diesel-heater-rf.yaml,packages/wifi.yaml,packages/wifi-signal-sensors.yaml,packages/wifi-diagnostic-sensors.yaml - First-time setup: Flash with
heater_address: "0x00000000", call thefind_addressHA service, note the address from ESPHome logs, updatediesel_heater_addressinsecrets.yaml, re-flash
- File:
mmwave-presence-1.yaml(example) - Description: ESP32-based mmWave presence sensor using the DFRobot SEN0610 module for advanced occupancy detection and automation.
- Features:
- Real-time occupancy detection
- Adjustable detection range and sensitivity
- Home Assistant integration with sensors, numbers, switches, and buttons
- Factory reset, restart, and configuration query
- Board: ESP32 (tested), ESP8266 (should work)
- Hardware Requirements: DFRobot SEN0610 mmWave sensor, UART wiring
- Dependencies: Uses shared device config from
packages/device-configs/dfrobot-sen0610-presence.yaml - Documentation: See
packages/device-configs/dfrobot-sen0610-presence.mdfor complete setup and usage guide - Example: See
packages/device-configs/examples/example-dfrobot-sen0610-usage.yaml
All sensitive information (WiFi credentials, API keys, etc.) is stored in secrets.yaml, which is not included in this repository. You must create your own secrets.yaml file with the required values to use these configurations.
Some configurations are based on or inspired by the following awesome community projects:
- Gaszaehler: be-jo.net Gaszähler mit ESPHome
- wasserstand-regenreservoir: nachbelichtet.com Water Level in Cisterns
- air-quality-sensor-1: Tom's 3D SBR1 Sensor Box
- diesel-heater: DieselHeaterRF by Jarno Kyttälä — reverse-engineered 433 MHz RF protocol for Chinese diesel heaters
If you find these configurations helpful, you can support my work:
See LICENSE for details.