Skip to content

Commit 2e7e54a

Browse files
authored
Merge branch 'next' into ns2009
2 parents 063b1ca + ad8fa48 commit 2e7e54a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

84 files changed

+2332
-433
lines changed

.github/workflows/stale.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ jobs:
1616
stale:
1717
runs-on: ubuntu-latest
1818
steps:
19-
- uses: actions/stale@5f858e3efba33a5ca4407a664cc011ad407f2008 # v10
19+
- uses: actions/stale@997185467fa4f803885201cee163a9f38240193d # v10
2020
with:
2121
days-before-pr-stale: 60
2222
days-before-pr-close: 7

Makefile

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ check-links: anchors
2727
anchors: repo-data
2828
$(PAGEFIND) -s pagefind-bootstrap
2929
hugo --environment anchors
30-
python3 script/md_anchors.py
3130

3231
repo-data: directories
3332
mkdir -p data/automations
@@ -54,7 +53,6 @@ convert-branch-in-place:
5453
netlify: repo-data
5554
$(PAGEFIND) -s pagefind-bootstrap
5655
hugo --environment anchors
57-
python3 script/md_anchors.py
5856
hugo --minify
5957
$(PAGEFIND)
6058
# rerun hugo to incorporate generated index

all_automations.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@
136136
"grove_tb6612fng.run",
137137
"grove_tb6612fng.standby",
138138
"grove_tb6612fng.stop",
139+
"hc8.calibrate",
139140
"homeassistant.action",
140141
"homeassistant.event",
141142
"homeassistant.service",

content/automations/all_actions.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ title: ""
3131
- **fingerprint_grow:** `aura_led_control`, `cancel_enroll`, `delete`, `delete_all`, `enroll`, `led_control`
3232
- **globals:** `set`
3333
- **grove_tb6612fng:** `break`, `change_address`, `no_standby`, `run`, `standby`, `stop`
34+
- **hc8:** `calibrate`
3435
- **homeassistant:** `event`, `service`, `tag_scanned`
3536
- **http_request:** `get`, `post`, `send`
3637
- **htu21d:** `set_heater`, `set_heater_level`

content/changelog/2025.10.0.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ If you manage multiple devices, the dashboard will feel noticeably faster and mo
159159

160160
## Device Onboarding Improvements
161161

162-
Getting your ESPHome devices online has never been easier. This release brings major improvements to the initial setup experience, particularly for ESP32-IDF devices and the [Made for ESPHome](https://esphome.io/guides/made_for_esphome/) program.
162+
Getting your ESPHome devices online has never been easier. This release brings major improvements to the initial setup experience, particularly for ESP32-IDF devices and the [Made for ESPHome](/guides/made_for_esphome/) program.
163163

164164
### Captive Portal for ESP-IDF
165165

@@ -179,9 +179,9 @@ This brings ESP-IDF up to feature parity with Arduino for onboarding, and since
179179

180180
**Why passive scanning matters:** Many home automation systems and BLE scanners only support passive scanning (not active scanning). Making the device name visible to passive scanners means your devices show up in more scanning apps and are easier to identify during setup.
181181

182-
These improvements directly support the [Made for ESPHome program](https://esphome.io/guides/made_for_esphome/), which requires Improv provisioning via BLE for Wi-Fi projects to ensure a consistent, high-quality setup experience across all ESPHome-compatible products.
182+
These improvements directly support the [Made for ESPHome program](/guides/made_for_esphome/), which requires Improv provisioning via BLE for Wi-Fi projects to ensure a consistent, high-quality setup experience across all ESPHome-compatible products.
183183

184-
The Made for ESPHome program requires Improv BLE provisioning for Wi-Fi projects. See the [certification requirements](https://esphome.io/guides/made_for_esphome/) for details.
184+
The Made for ESPHome program requires Improv BLE provisioning for Wi-Fi projects. See the [certification requirements](/guides/made_for_esphome/) for details.
185185

186186
## Home Assistant Action Responses
187187

content/changelog/2025.11.0.md

Lines changed: 85 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -142,13 +142,13 @@ Added `ignore_not_found` option (default `true`) to allow disabling `CONFIG_SPIR
142142

143143
**7 New Sensor/Device Components:**
144144

145-
- [HDC2010](https://esphome.io/components/sensor/hdc2010.html) ([#6674](https://github.com/esphome/esphome/pull/6674)) - Texas Instruments temperature and humidity sensor
146-
- [MCP3221](https://esphome.io/components/sensor/mcp3221.html) ([#7764](https://github.com/esphome/esphome/pull/7764)) - I2C A-D converter with configurable reference voltage
147-
- [HLK-FM22X](https://esphome.io/components/hlk_fm22x.html) ([#8059](https://github.com/esphome/esphome/pull/8059)) - Face recognition module family
148-
- [BH1900NUX](https://esphome.io/components/sensor/bh1900nux.html) ([#8631](https://github.com/esphome/esphome/pull/8631)) - Rohm Semiconductor temperature sensor
149-
- [RX8130](https://esphome.io/components/time/rx8130.html) ([#10511](https://github.com/esphome/esphome/pull/10511)) - Epson RTC chip (used in M5Stack devices)
150-
- [BLE NUS Logger](https://esphome.io/components/logger.html#ble-logging) ([#9846](https://github.com/esphome/esphome/pull/9846)) - Logging over BLE for nRF52 platform
151-
- [TinyUSB](https://esphome.io/components/tinyusb.html) ([#11678](https://github.com/esphome/esphome/pull/11678)) - USB device functionality foundation for ESP32-S2/S3
145+
- [HDC2010](/components/sensor/hdc2010) ([#6674](https://github.com/esphome/esphome/pull/6674)) - Texas Instruments temperature and humidity sensor
146+
- [MCP3221](/components/sensor/mcp3221) ([#7764](https://github.com/esphome/esphome/pull/7764)) - I2C A-D converter with configurable reference voltage
147+
- [HLK-FM22X](/components/hlk_fm22x) ([#8059](https://github.com/esphome/esphome/pull/8059)) - Face recognition module family
148+
- [BH1900NUX](/components/sensor/bh1900nux) ([#8631](https://github.com/esphome/esphome/pull/8631)) - Rohm Semiconductor temperature sensor
149+
- [RX8130](/components/time/rx8130) ([#10511](https://github.com/esphome/esphome/pull/10511)) - Epson RTC chip (used in M5Stack devices)
150+
- [BLE NUS Logger](/components/ble_nus) ([#9846](https://github.com/esphome/esphome/pull/9846)) - Logging over BLE for nRF52 platform
151+
- [TinyUSB](/components/tinyusb) ([#11678](https://github.com/esphome/esphome/pull/11678)) - USB device functionality foundation for ESP32-S2/S3
152152

153153
**Extended Hardware Support:**
154154

@@ -382,7 +382,15 @@ HTTP request actions now pass trigger variables correctly into `on_response` and
382382

383383
- **ESP32 brownout protection**: ESP-IDF now reduces PHY TX power during brownout to prevent boot loops. Can be disabled with `sdkconfig_options: CONFIG_ESP_PHY_REDUCE_TX_POWER: n` if needed. [#11306](https://github.com/esphome/esphome/pull/11306)
384384

385-
- **ESP32-S3 PSRAM**: PSRAM mode is now required when multiple PSRAM modes are available (ESP32-S3 only). Users must explicitly choose PSRAM mode in configuration. [#11470](https://github.com/esphome/esphome/pull/11470)
385+
- **ESP32 PSRAM**: PSRAM is no longer auto-loaded by components that depend on it (such as `esp32_camera`, `speaker`, and `media_player`). Users must now explicitly add a `psram:` configuration block to their YAML. Additionally, for ESP32-S3, the `mode` option is now required since S3 supports both quad and octal modes. Typically, 2MB PSRAM uses `quad` mode while 8 or 16MB uses `octal` mode—check your module's datasheet. Example configuration:
386+
387+
```yaml
388+
psram:
389+
mode: octal # Required for ESP32-S3, use 'quad' or 'octal'
390+
speed: 80MHz
391+
```
392+
393+
[#11470](https://github.com/esphome/esphome/pull/11470)
386394

387395
### Component Behavior Changes
388396

@@ -518,6 +526,75 @@ The 2025.11 release blog posts include comprehensive migration examples for comm
518526

519527
<!-- markdownlint-disable MD013 -->
520528

529+
## Release 2025.11.4 - December 4
530+
531+
<details>
532+
<summary></summary>
533+
534+
- [esp32] Add build flag to suppress noexecstack message [esphome#12272](https://github.com/esphome/esphome/pull/12272) by [@clydebarrow](https://github.com/clydebarrow)
535+
- [ld2420] Add missing USE_SELECT ifdefs [esphome#12275](https://github.com/esphome/esphome/pull/12275) by [@swoboda1337](https://github.com/swoboda1337)
536+
- [config] Provide path for `has_at_most_one_of` messages [esphome#12277](https://github.com/esphome/esphome/pull/12277) by [@clydebarrow](https://github.com/clydebarrow)
537+
- [es8311] Remove MIN and MAX from mic_gain enum options [esphome#12281](https://github.com/esphome/esphome/pull/12281) by [@swoboda1337](https://github.com/swoboda1337)
538+
- [esp32_hosted] Fix build and bump IDF component version to 2.7.0 [esphome#12282](https://github.com/esphome/esphome/pull/12282) by [@swoboda1337](https://github.com/swoboda1337)
539+
- [CI] Trigger generic version notifier job on release [esphome#12292](https://github.com/esphome/esphome/pull/12292) by [@jesserockz](https://github.com/jesserockz)
540+
- [scheduler] Fix use-after-free when cancelling timeouts from non-main-loop threads [esphome#12288](https://github.com/esphome/esphome/pull/12288) by [@bdraco](https://github.com/bdraco)
541+
542+
</details>
543+
544+
## Release 2025.11.3 - December 3
545+
546+
<details>
547+
<summary></summary>
548+
549+
- [build] Don't clear pio cache unless requested [esphome#11966](https://github.com/esphome/esphome/pull/11966) by [@clydebarrow](https://github.com/clydebarrow)
550+
- [usb_uart] Wake main loop immediately when USB data arrives [esphome#12148](https://github.com/esphome/esphome/pull/12148) by [@bdraco](https://github.com/bdraco)
551+
- [espnow] Initialize LwIP stack when running without WiFi component [esphome#12169](https://github.com/esphome/esphome/pull/12169) by [@bdraco](https://github.com/bdraco)
552+
- [helpers] Add conversion from FixedVector to std::vector [esphome#12179](https://github.com/esphome/esphome/pull/12179) by [@clydebarrow](https://github.com/clydebarrow)
553+
- [hlk_fm22x] Fix Action::play method signatures [esphome#12192](https://github.com/esphome/esphome/pull/12192) by [@bdraco](https://github.com/bdraco)
554+
- [mopeka_pro_check] Fix negative temperatures [esphome#12198](https://github.com/esphome/esphome/pull/12198) by [@swoboda1337](https://github.com/swoboda1337)
555+
- [ade7953] Apply voltage_gain setting to both channels [esphome#12180](https://github.com/esphome/esphome/pull/12180) by [@dlitz](https://github.com/dlitz)
556+
- [core] Fix clean all on windows [esphome#12217](https://github.com/esphome/esphome/pull/12217) by [@swoboda1337](https://github.com/swoboda1337)
557+
- [rtl87xx] Fix AsyncTCP compilation by upgrading FreeRTOS to 8.2.3 [esphome#12230](https://github.com/esphome/esphome/pull/12230) by [@swoboda1337](https://github.com/swoboda1337)
558+
- [analog_threshold] Fix oscillation when using invert filter [esphome#12251](https://github.com/esphome/esphome/pull/12251) by [@swoboda1337](https://github.com/swoboda1337)
559+
- [rtl87xx] Fix FreeRTOS version for RTL8720C boards [esphome#12261](https://github.com/esphome/esphome/pull/12261) by [@swoboda1337](https://github.com/swoboda1337)
560+
561+
</details>
562+
563+
## Release 2025.11.2 - November 27
564+
565+
<details>
566+
<summary></summary>
567+
568+
- [nextion] Do not set alternative baud rate when not specified or `<= 0` [esphome#12097](https://github.com/esphome/esphome/pull/12097) by [@edwardtfn](https://github.com/edwardtfn)
569+
- [esp32] Fix platformio flash size print [esphome#12099](https://github.com/esphome/esphome/pull/12099) by [@swoboda1337](https://github.com/swoboda1337)
570+
- [script] Fix script.wait hanging when triggered from on_boot [esphome#12102](https://github.com/esphome/esphome/pull/12102) by [@bdraco](https://github.com/bdraco)
571+
- [lvgl] Allow multiple widgets per grid cell [esphome#12091](https://github.com/esphome/esphome/pull/12091) by [@clydebarrow](https://github.com/clydebarrow) (new-feature)
572+
- [lvgl] Fix position of errors in widget config [esphome#12111](https://github.com/esphome/esphome/pull/12111) by [@clydebarrow](https://github.com/clydebarrow)
573+
- [esp32] Fix hosted update when there is no wifi [esphome#12123](https://github.com/esphome/esphome/pull/12123) by [@swoboda1337](https://github.com/swoboda1337)
574+
- [wifi] Restore blocking setup until connected for RP2040 [esphome#12142](https://github.com/esphome/esphome/pull/12142) by [@clydebarrow](https://github.com/clydebarrow)
575+
- [scheduler] Fix use-after-move crash in heap operations [esphome#12124](https://github.com/esphome/esphome/pull/12124) by [@bdraco](https://github.com/bdraco)
576+
577+
</details>
578+
579+
## Release 2025.11.1 - November 24
580+
581+
<details>
582+
<summary></summary>
583+
584+
- [graph] Fix legend border [esphome#12000](https://github.com/esphome/esphome/pull/12000) by [@swoboda1337](https://github.com/swoboda1337)
585+
- [network] Fix IPAddress constructor causing comparison failures and garbage output [esphome#12005](https://github.com/esphome/esphome/pull/12005) by [@bdraco](https://github.com/bdraco)
586+
- [ltr501][ltr_als_ps] Rename enum to avoid collision with lwip defines [esphome#12017](https://github.com/esphome/esphome/pull/12017) by [@swoboda1337](https://github.com/swoboda1337)
587+
- [cst816][packet_transport][udp][wake_on_lan] Fix error messages [esphome#12019](https://github.com/esphome/esphome/pull/12019) by [@swoboda1337](https://github.com/swoboda1337)
588+
- [jsn_sr04t] Fix model AJ_SR04M [esphome#11992](https://github.com/esphome/esphome/pull/11992) by [@swoboda1337](https://github.com/swoboda1337)
589+
- [cst816][http_request] Fix status_set_error() dangling pointer bugs [esphome#12033](https://github.com/esphome/esphome/pull/12033) by [@bdraco](https://github.com/bdraco)
590+
- [esp32] Fix C2 builds [esphome#12050](https://github.com/esphome/esphome/pull/12050) by [@swoboda1337](https://github.com/swoboda1337)
591+
- [core] Add support for passing yaml files to clean-all [esphome#12039](https://github.com/esphome/esphome/pull/12039) by [@swoboda1337](https://github.com/swoboda1337)
592+
- [script][wait_until] Fix FIFO ordering and reentrancy bugs [esphome#12049](https://github.com/esphome/esphome/pull/12049) by [@bdraco](https://github.com/bdraco)
593+
- [esp_ldo,mipi_dsi,mipi_rgb] Fix dangling pointer bugs in mark_failed() [esphome#12077](https://github.com/esphome/esphome/pull/12077) by [@bdraco](https://github.com/bdraco)
594+
- [online_image] Fix some large PNGs causing watchdog timeout [esphome#12025](https://github.com/esphome/esphome/pull/12025) by [@jesserockz](https://github.com/jesserockz)
595+
596+
</details>
597+
521598
## Full list of changes
522599

523600
### New Features

content/components/_index.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -240,6 +240,7 @@ Sensors are organized into categories; if a given sensor fits into more than one
240240
"GCJA5","components/sensor/gcja5","gcja5.svg","Particulate","",""
241241
"GP2Y1010AU0F","components/sensor/gp2y1010au0f","gp2y1010au0f.png","Particulate","",""
242242
"Grove Multichannel Gas V2","components/sensor/grove_gas_mc_v2","grove-gas-mc-v2.png","NO₂ & CO & Ethanol & Volatile organics","",""
243+
"HC8","components/sensor/hc8","hc8.png","CO₂","",""
243244
"HM3301","components/sensor/hm3301","hm3301.jpg","Particulate","",""
244245
"iAQ-Core","components/sensor/iaqcore","iaqcore.jpg","eCO₂ & Volatile organics","",""
245246
"MH-Z19","components/sensor/mhz19","mhz19.jpg","CO₂ & Temperature","",""
@@ -291,6 +292,7 @@ Sensors are organized into categories; if a given sensor fits into more than one
291292
"Mopeka Pro Check LP","components/sensor/mopeka_pro_check","mopeka_pro_check.jpg","Tank level"
292293
"Mopeka Standard Check LP","components/sensor/mopeka_std_check","mopeka_std_check.jpg","Tank level"
293294
"RuuviTag","components/sensor/ruuvitag","ruuvitag.jpg","Temperature & Humidity & Accelerometer"
295+
"ThermoPro BLE","components/sensor/thermopro_ble","thermopro_tp357.jpg","Temperature & Humidity"
294296
"Xiaomi BLE","components/sensor/xiaomi_ble","xiaomi_mijia_logo.jpg","Various"
295297
{{< /imgtable >}}
296298

@@ -380,6 +382,7 @@ Sensors are organized into categories; if a given sensor fits into more than one
380382
"EMC2101","components/emc2101","emc2101.jpg","Temperature",""
381383
"ENS160","components/sensor/ens160","ens160.jpg","eCO₂ & Air Quality",""
382384
"ENS210","components/sensor/ens210","ens210.jpg","Temperature & Humidity",""
385+
"HC8","components/sensor/hc8","hc8.png","CO₂",""
383386
"HDC1080","components/sensor/hdc1080","hdc1080.jpg","Temperature & Humidity",""
384387
"HDC2010","components/sensor/hdc2010","hdc2010.png","Temperature & Humidity",""
385388
"HHCCJCY10 (MiFlora Pink)","components/sensor/xiaomi_hhccjcy10","xiaomi_hhccjcy10.jpg","Soil moisture & Temperature & Light",""
@@ -416,6 +419,7 @@ Sensors are organized into categories; if a given sensor fits into more than one
416419
"SHTCx","components/sensor/shtcx","shtc3.jpg","Temperature & Humidity",""
417420
"SMT100","components/sensor/smt100","smt100.jpg","Moisture & Temperature",""
418421
"STS3X","components/sensor/sts3x","sts3x.jpg","Temperature",""
422+
"STTS22H","components/sensor/stts22h","stts22h.jpg","Temperature",""
419423
"TC74","components/sensor/tc74","tc74.jpg","Temperature",""
420424
"TEE501","components/sensor/tee501","TEE501.png","Temperature",""
421425
"TE-M3200","components/sensor/tem3200","tem3200.jpg","Temperature & Pressure",""
@@ -987,6 +991,7 @@ at the {{< docref "light/fastled" "FastLED Light" >}}.
987991
"Modbus Text Sensor","components/text_sensor/modbus_controller","modbus.png",""
988992
"MQTT Subscribe Text","components/text_sensor/mqtt_subscribe","mqtt.png",""
989993
"Nextion Text Sensor","components/text_sensor/nextion","nextion.jpg",""
994+
"OpenThread Info","components/text_sensor/openthread_info","openthread.png",""
990995
"Tuya Text Sensor","components/text_sensor/tuya","tuya.png",""
991996
"Version","components/text_sensor/version","new-box.svg","dark-invert"
992997
"WiFi Info","components/text_sensor/wifi_info","network-wifi.svg","dark-invert"
@@ -998,6 +1003,7 @@ at the {{< docref "light/fastled" "FastLED Light" >}}.
9981003

9991004
{{< imgtable >}}
10001005
"Time Core","components/time/index","clock-outline.svg","dark-invert"
1006+
"BM8563 RTC","components/time/bm8563","bm8563.svg",""
10011007
"DS1307 RTC","components/time/ds1307","clock-outline.svg","dark-invert"
10021008
"RX8130 RTC","components/time/rx8130","clock-outline.svg","dark-invert"
10031009
"GPS Time","components/time/gps","crosshairs-gps.svg","dark-invert"
@@ -1037,6 +1043,7 @@ Used for creating infrared (IR) or radio frequency (RF) remote control transmitt
10371043
ESPHome to cellular networks. **Does not encompass Wi-Fi.**
10381044

10391045
{{< imgtable >}}
1046+
"CC1101","components/cc1101","cc1101.webp",""
10401047
"IR Remote Climate","components/climate/climate_ir","air-conditioner-ir.svg","dark-invert"
10411048
"Remote Receiver","components/remote_receiver","remote.svg","dark-invert"
10421049
"Remote Transmitter","components/remote_transmitter","remote.svg","dark-invert"

0 commit comments

Comments
 (0)