This repository contains a collection of ESPHome configuration files for various IoT devices and components of mine. While the main focus for many users will be the OpenHaystack component, this repository also includes configurations for a variety of other devices and sensors.
The OpenHaystack component allows ESP32 devices to act as AirTags-compatible trackers, making them visible in Apple's Find My network.
To use the OpenHaystack component in your project:
- Include it as an external component in your YAML configuration:
external_components:
- source:
type: git
url: https://github.com/barrenechea/esphome-config-files
ref: main
components: [openhaystack]
- Add the OpenHaystack configuration to your YAML:
openhaystack:
key: !secret openhaystack_key
- Make sure to add your base64 advertisement key in your
secrets.yaml
file.
For a complete example, check openhaystack-demo.yaml or openhaystack-demo-s3.yaml.
components/openhaystack/__init__.py
- Component initializationcomponents/openhaystack/openhaystack.h
- Header filecomponents/openhaystack/openhaystack.cpp
- Implementation
A custom component for controlling a height-adjustable desk of mine. It is incomplete, I may give it a proper implementation in the future.
This repository includes configurations for multiple types of ESP boards:
- ESP32 (Wemos D1 Mini32)
- ESP32-C3
- ESP32-C6
- ESP32-S3
- ESP8266/ESP8285
- Air Conditioner Remote - ESP32-based IR remote controller
- Air Sensor - CO₂, temperature, and humidity sensor
- Atlas Sensor - pH, EC, and temperature sensors
- BentoBox - Fan and light controller
- Bowflex Heart Rate Monitor - Bluetooth heart rate sensor
- Peristaltic Pumps - Precise fluid control pumps
- Sonoff POWR2 - Wi-Fi smart plug with power monitoring
- Sonoff S26 - Wi-Fi smart plug
- Shelly Plus 1PM Mini - Wi-Fi relay with power monitoring
- Shelly Plus PM Mini - Wi-Fi power monitor
- Universal IR - Infrared remote transmitter
- Water Valve - Water valve controller - Just a relay to trigger a motorized self-closing valve
The repository uses a modular approach with common configurations stored in the common/
directory:
common/board/
- Board-specific configurationscommon/core/
- Core functionality (Wi-Fi, API, OTA, logging)common/devices/
- Device-specific configurationscommon/time/
- Time synchronization