Skip to content

Commit 86896e2

Browse files
DerekSeamanclaude
andcommitted
Merge dev into main for v1.5.3 release
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
2 parents bde4c2a + b328a8d commit 86896e2

File tree

6 files changed

+84
-21
lines changed

6 files changed

+84
-21
lines changed

ESPHome Devices/README.md

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,30 @@ This directory contains the ESPHome YAML configuration files for the IRK Capture
44

55
## Files
66

7+
### irk-capture-device-remote.yaml
8+
9+
Remote Device Configuration (Recommended)
10+
11+
This is the simplest configuration option. It pulls both the YAML package and IRK Capture component directly from GitHub at build time. No need to download or copy any files to your Home Assistant filesystem.
12+
13+
**Usage:**
14+
15+
- Use this as a template for your own device configuration
16+
- Replace all substitution values with your device-specific settings
17+
- Tip: Create a dummy device in ESPHome Device Builder, grab the API/OTA keys, then use this YAML template
18+
19+
**Required substitutions:**
20+
21+
- `device_name` - Unique device name (lowercase, hyphens only)
22+
- `friendly_name` - Human-readable name shown in Home Assistant
23+
- `api_key` - ESPHome API encryption key
24+
- `ota_password` - OTA update password
25+
- `esp32_variant` - Your ESP32 variant (esp32, esp32c3, esp32c6, esp32s3, etc.)
26+
- `esp32_board` - Your board type (see ESPHome board list)
27+
- `ble_name` - BLE advertising name shown in Bluetooth settings
28+
29+
---
30+
731
### irk-capture-base.yaml
832

933
Generic ESP32 IRK Capture Package
@@ -59,7 +83,7 @@ This is a single-file configuration that merges the base package and device sett
5983

6084
Example Secrets File
6185

62-
This is an example secrets file showing the required Wi-Fi credentials. ESPHome Device Builder typically manages this file automatically. Make sure these substituations are in the secrets file.
86+
This is an example secrets file showing the required Wi-Fi credentials. ESPHome Device Builder typically manages this file automatically. Make sure these substituations are in the secrets file. The ESPHome device builder secrets can be accessed directly via the UI.
6387

6488
**Required secrets:**
6589

@@ -71,19 +95,26 @@ This is an example secrets file showing the required Wi-Fi credentials. ESPHome
7195

7296
## Which Configuration Should I Use
7397

74-
### Use the Package Approach (base + device) if
98+
### Use the Remote Configuration (Recommended) if
99+
100+
- You want the simplest setup with no local file management
101+
- You want automatic updates when the component is updated on GitHub
102+
- You don't need to modify the base package
103+
- You're new to ESPHome
104+
105+
### Use the Local Package Approach (base + device) if
75106

76107
- You have multiple ESP32 devices running IRK Capture
77108
- You want to maintain consistency across devices
78109
- You prefer separation between base functionality and device settings
79-
- You're comfortable with the ESPHome package system
110+
- You need to customize the base package
80111

81112
### Use the Standalone Configuration (full) if
82113

83114
- You have a single ESP32 device
84115
- You prefer everything in one file
85116
- You want simplicity over modularity
86-
- You're new to ESPHome packages
117+
- You want an offline copy of the YAML configuration. However, the IRK Capture component is still pulled from GitHub at build time.
87118

88119
---
89120

@@ -97,12 +128,3 @@ When using the package approach, your ESPHome directory should look like this:
97128
│ └── irk-capture-base.yaml
98129
└── my-irk-capture.yaml (your device file)
99130
```
100-
101-
## Directory Structure for Standalone Approach
102-
103-
When using the standalone approach:
104-
105-
```text
106-
/config/esphome/
107-
└── irk-capture-full.yaml (renamed to your preference)
108-
```

ESPHome Devices/irk-capture-base.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ esphome:
3232
friendly_name: ${friendly_name}
3333
project:
3434
name: "derekseaman.irk-capture"
35-
version: "1.5.2"
35+
version: "1.5.3"
3636

3737
# IMPORTANT: Do NOT include esp32_ble:, esp32_ble_tracker:, or bluetooth_proxy: here.
3838
# The irk_capture component fully initializes and manages NimBLE itself.
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
substitutions:
3+
device_name: esphome-irk-capture
4+
friendly_name: IRK Capture
5+
api_key: "ZmFrZWFwaWtleWZha2VleGFtcGxlZmFrZWtleQ=="
6+
ota_password: "ChangeMe!2025"
7+
esp32_variant: esp32 # Any ESP32 variant (esp32, esp32c3, esp32c6, esp32s3, etc.)
8+
esp32_board: featheresp32 # Set to your board ID (e.g., featheresp32, esp32dev)
9+
ble_name: "IRK Capture"
10+
11+
packages:
12+
device:
13+
url: https://github.com/DerekSeaman/irk-capture
14+
ref: main
15+
file: ESPHome Devices/irk-capture-base.yaml

ESPHome Devices/irk-capture-full.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ esphome:
4343
friendly_name: ${friendly_name}
4444
project:
4545
name: "derekseaman.irk-capture"
46-
version: "1.5.2"
46+
version: "1.5.3"
4747

4848
# IMPORTANT: Do NOT include esp32_ble:, esp32_ble_tracker:, or bluetooth_proxy: here.
4949
# The irk_capture component fully initializes and manages NimBLE itself.

README.md

Lines changed: 31 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,37 @@ When your Apple or Android device pairs with the ESP32:
5353

5454
## Installation
5555

56-
I cover two methods for deploying your ESPHome device. First, you can use an ESPHome package which has a device independent YAML configuration file, plus a tiny device-specific YAML file. Second, you can use a single standalone YAML file that has all of the configuration details. Both accomplish the same end result. Personally I use the package method, as I have various ESP32 device types.
56+
I cover three methods for deploying your ESPHome device:
57+
58+
- **Option 1 - Remote (Recommended):** Pulls the YAML and IRK Capture components directly from GitHub. Simplest method with no local file downloads required. This is the recommended option, as it will always pull the latest version at build time.
59+
- **Option 2 - Local Package:** Uses a base YAML file plus a device-specific YAML file. Best for managing multiple ESP32 device types. Requires accessing the Home Assistant filesystem to manually copy files into the esphome directory tree.
60+
- **Option 3 - Local Standalone:** A single self-contained YAML file with all configuration details. Only pulls the IRK Capture component from GitHub at build time.
5761

5862
If you use either the Seeed ESP32-C3 or Seeed ESP32-C6, I've built dedicated IRK capture YAML files. You can find those IRK YAML files in my repos: [ESPHome-Seeed-Xiao-ESP32-c3-Config](https://github.com/DerekSeaman/ESPHome-Seeed-Xiao-ESP32-c3-Config) and [ESPHome-Seeed-Xiao-ESP32-C6-Config](https://github.com/DerekSeaman/ESPHome-Seeed-Xiao-ESP32-C6-Config).
5963

60-
### Using ESPHome Device Builder Packages (Option 1)
64+
### Using ESPHome Device Builder Package - Remote (Option 1)
65+
66+
This is the simplest installation method. It pulls the component directly from GitHub without requiring any local file downloads.
67+
68+
1. Create a new dummy device in ESPHome, and save the unique API and OTA keys.
69+
2. Delete all of the pre-populated YAML from the dummy device.
70+
3. **Create your device YAML** using [irk-capture-device-remote.yaml](ESPHome%20Devices/irk-capture-device-remote.yaml) as a template and replace the OTA and API keys with the ones ESPHome generated.
71+
- Modify the YAML parameters `esp32_variant` and `esp32_board` as needed to match your ESP32 device and board type
72+
- Change the `device_name` and `friendly_name` as desired.
73+
74+
4. **Secrets File (managed by ESPHome device builder UI):**
75+
76+
```yaml
77+
wifi_ssid: "Your WiFi Network"
78+
wifi_password: "your_wifi_password"
79+
wifi_captive: "fallback_password"
80+
```
81+
82+
5. **Flash to your ESP32:**
83+
- In ESPHome, click "Install" and choose your connection method
84+
- IMPORTANT: After the flashing is complete, either power cycle your ESP32 or do a 'Restart Device' from the ESPHome interface. This will randomize the BLE MAC address.
85+
86+
### Using ESPHome Device Builder Package - Local (Option 2)
6187
6288
1. **In the Home Assistant filesystem create the 'common' directory under esphome, if not already present:**
6389
@@ -91,7 +117,7 @@ If you use either the Seeed ESP32-C3 or Seeed ESP32-C6, I've built dedicated IRK
91117
ble_name: "IRK Capture" # Change: BLE advertising name (max 12 characters, shown in Bluetooth settings)
92118
```
93119
94-
4. **Secrets File** (managed by ESPHome device builder):
120+
4. **Secrets File (managed by ESPHome device builder UI):**
95121
- Modify the Wi-Fi secrets as needed
96122
97123
```yaml
@@ -104,7 +130,7 @@ If you use either the Seeed ESP32-C3 or Seeed ESP32-C6, I've built dedicated IRK
104130
- In ESPHome Device Builder, click "Install" and choose your connection method
105131
- IMPORTANT: After the flashing is complete, either power cycle your ESP32 or do a 'Restart Device' from the ESPHome interface. This will randomize the BLE MAC address.
106132
107-
### Using a Standalone ESPHome Device (Option 2)
133+
### Using a Standalone ESPHome Device - Local (Option 3)
108134
109135
1. Create a new dummy device in ESPHome, and save the unique API and OTA keys.
110136
2. Delete all of the pre-populated YAML from the dummy device.
@@ -124,7 +150,7 @@ If you use either the Seeed ESP32-C3 or Seeed ESP32-C6, I've built dedicated IRK
124150
ble_name: "IRK Capture" # Change: BLE advertising name (max 12 characters, shown in Bluetooth settings)
125151
```
126152

127-
7. **Secrets File** (managed by ESPHome device builder):
153+
7. **Secrets File (managed by ESPHome device builder UI):**
128154
- Modify the Wi-Fi secrets as needed
129155

130156
```yaml

components/irk_capture/irk_capture.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ namespace esphome {
2323
namespace irk_capture {
2424

2525
static const char* const TAG = "irk_capture";
26-
static constexpr char VERSION[] = "1.5.2";
26+
static constexpr char VERSION[] = "1.5.3";
2727
static constexpr char HEX[] = "0123456789abcdef";
2828

2929
//======================== NAMING CONVENTIONS ========================

0 commit comments

Comments
 (0)