Merge pull request #5989 from esphome/bump-2023.12.2

2023.12.2
This commit is contained in:
Jesse Hills 2023-12-22 15:57:09 +13:00 committed by GitHub
commit 9b72a3a584
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 198 additions and 14 deletions

View file

@ -50,7 +50,7 @@ RUN \
libssl-dev=3.0.11-1~deb12u2 \ libssl-dev=3.0.11-1~deb12u2 \
libffi-dev=3.4.4-1 \ libffi-dev=3.4.4-1 \
libopenjp2-7=2.5.0-2 \ libopenjp2-7=2.5.0-2 \
libtiff6=4.5.0-6 \ libtiff6=4.5.0-6+deb12u1 \
cargo=0.66.0+ds1-1 \ cargo=0.66.0+ds1-1 \
pkg-config=1.8.1-1 \ pkg-config=1.8.1-1 \
gcc-arm-linux-gnueabihf=4:12.2.0-3; \ gcc-arm-linux-gnueabihf=4:12.2.0-3; \

View file

@ -133,6 +133,10 @@ ESP32_BOARD_PINS = {
"BUTTON": 0, "BUTTON": 0,
"SWITCH": 0, "SWITCH": 0,
}, },
"airm2m_core_esp32c3": {
"LED1_BUILTIN": 12,
"LED2_BUILTIN": 13,
},
"alksesp32": { "alksesp32": {
"A0": 32, "A0": 32,
"A1": 33, "A1": 33,

View file

@ -172,7 +172,9 @@ CONFIG_SCHEMA = cv.All(
esp8266=UART0, esp8266=UART0,
esp32=UART0, esp32=UART0,
esp32_s2=USB_CDC, esp32_s2=USB_CDC,
esp32_s3=USB_CDC, esp32_s3_idf=USB_SERIAL_JTAG,
esp32_c3_idf=USB_SERIAL_JTAG,
esp32_s3_arduino=USB_CDC,
rp2040=USB_CDC, rp2040=USB_CDC,
bk72xx=DEFAULT, bk72xx=DEFAULT,
rtl87xx=DEFAULT, rtl87xx=DEFAULT,

View file

@ -285,6 +285,7 @@ void Logger::pre_setup() {
#if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) #if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
#if ARDUINO_USB_CDC_ON_BOOT #if ARDUINO_USB_CDC_ON_BOOT
this->hw_serial_ = &Serial; this->hw_serial_ = &Serial;
Serial.setTxTimeoutMs(0); // workaround for 2.0.9 crash when there's no data connection
Serial.begin(this->baud_rate_); Serial.begin(this->baud_rate_);
#else #else
this->hw_serial_ = &Serial; this->hw_serial_ = &Serial;

View file

@ -1541,6 +1541,9 @@ class SplitDefault(Optional):
esp32_s3=vol.UNDEFINED, esp32_s3=vol.UNDEFINED,
esp32_s3_arduino=vol.UNDEFINED, esp32_s3_arduino=vol.UNDEFINED,
esp32_s3_idf=vol.UNDEFINED, esp32_s3_idf=vol.UNDEFINED,
esp32_c3=vol.UNDEFINED,
esp32_c3_arduino=vol.UNDEFINED,
esp32_c3_idf=vol.UNDEFINED,
rp2040=vol.UNDEFINED, rp2040=vol.UNDEFINED,
bk72xx=vol.UNDEFINED, bk72xx=vol.UNDEFINED,
rtl87xx=vol.UNDEFINED, rtl87xx=vol.UNDEFINED,
@ -1549,22 +1552,28 @@ class SplitDefault(Optional):
super().__init__(key) super().__init__(key)
self._esp8266_default = vol.default_factory(esp8266) self._esp8266_default = vol.default_factory(esp8266)
self._esp32_arduino_default = vol.default_factory( self._esp32_arduino_default = vol.default_factory(
_get_priority_default(esp32, esp32_arduino) _get_priority_default(esp32_arduino, esp32)
) )
self._esp32_idf_default = vol.default_factory( self._esp32_idf_default = vol.default_factory(
_get_priority_default(esp32, esp32_idf) _get_priority_default(esp32_idf, esp32)
) )
self._esp32_s2_arduino_default = vol.default_factory( self._esp32_s2_arduino_default = vol.default_factory(
_get_priority_default(esp32_s2, esp32, esp32_s2_arduino, esp32_arduino) _get_priority_default(esp32_s2_arduino, esp32_s2, esp32_arduino, esp32)
) )
self._esp32_s2_idf_default = vol.default_factory( self._esp32_s2_idf_default = vol.default_factory(
_get_priority_default(esp32_s2, esp32, esp32_s2_idf, esp32_idf) _get_priority_default(esp32_s2_idf, esp32_s2, esp32_idf, esp32)
) )
self._esp32_s3_arduino_default = vol.default_factory( self._esp32_s3_arduino_default = vol.default_factory(
_get_priority_default(esp32_s3, esp32, esp32_s3_arduino, esp32_arduino) _get_priority_default(esp32_s3_arduino, esp32_s3, esp32_arduino, esp32)
) )
self._esp32_s3_idf_default = vol.default_factory( self._esp32_s3_idf_default = vol.default_factory(
_get_priority_default(esp32_s3, esp32, esp32_s3_idf, esp32_idf) _get_priority_default(esp32_s3_idf, esp32_s3, esp32_idf, esp32)
)
self._esp32_c3_arduino_default = vol.default_factory(
_get_priority_default(esp32_c3_arduino, esp32_c3, esp32_arduino, esp32)
)
self._esp32_c3_idf_default = vol.default_factory(
_get_priority_default(esp32_c3_idf, esp32_c3, esp32_idf, esp32)
) )
self._rp2040_default = vol.default_factory(rp2040) self._rp2040_default = vol.default_factory(rp2040)
self._bk72xx_default = vol.default_factory(bk72xx) self._bk72xx_default = vol.default_factory(bk72xx)
@ -1580,6 +1589,7 @@ class SplitDefault(Optional):
from esphome.components.esp32.const import ( from esphome.components.esp32.const import (
VARIANT_ESP32S2, VARIANT_ESP32S2,
VARIANT_ESP32S3, VARIANT_ESP32S3,
VARIANT_ESP32C3,
) )
variant = get_esp32_variant() variant = get_esp32_variant()
@ -1593,6 +1603,11 @@ class SplitDefault(Optional):
return self._esp32_s3_arduino_default return self._esp32_s3_arduino_default
if CORE.using_esp_idf: if CORE.using_esp_idf:
return self._esp32_s3_idf_default return self._esp32_s3_idf_default
elif variant == VARIANT_ESP32C3:
if CORE.using_arduino:
return self._esp32_c3_arduino_default
if CORE.using_esp_idf:
return self._esp32_c3_idf_default
else: else:
if CORE.using_arduino: if CORE.using_arduino:
return self._esp32_arduino_default return self._esp32_arduino_default

View file

@ -1,6 +1,6 @@
"""Constants used by esphome.""" """Constants used by esphome."""
__version__ = "2023.12.1" __version__ = "2023.12.2"
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_" ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
VALID_SUBSTITUTIONS_CHARACTERS = ( VALID_SUBSTITUTIONS_CHARACTERS = (

View file

@ -792,13 +792,22 @@ class EditRequestHandler(BaseHandler):
"""Get the content of a file.""" """Get the content of a file."""
loop = asyncio.get_running_loop() loop = asyncio.get_running_loop()
filename = settings.rel_path(configuration) filename = settings.rel_path(configuration)
content = await loop.run_in_executor(None, self._read_file, filename) content = await loop.run_in_executor(
None, self._read_file, filename, configuration
)
if content is not None:
self.write(content) self.write(content)
def _read_file(self, filename: str) -> bytes: def _read_file(self, filename: str, configuration: str) -> bytes | None:
"""Read a file and return the content as bytes.""" """Read a file and return the content as bytes."""
try:
with open(file=filename, encoding="utf-8") as f: with open(file=filename, encoding="utf-8") as f:
return f.read() return f.read()
except FileNotFoundError:
if configuration in const.SECRETS_FILES:
return ""
self.set_status(404)
return None
def _write_file(self, filename: str, content: bytes) -> None: def _write_file(self, filename: str, content: bytes) -> None:
"""Write a file with the given content.""" """Write a file with the given content."""

78
tests/test8.1.yaml Normal file
View file

@ -0,0 +1,78 @@
# Tests for ESP32-S3 boards - IDf
---
wifi:
ssid: "ssid"
network:
enable_ipv6: true
esp32:
board: esp32s3box
variant: ESP32S3
framework:
type: esp-idf
esphome:
name: esp32-s3-test
logger:
debug:
psram:
spi:
- id: spi_id_1
clk_pin:
number: GPIO7
allow_other_uses: false
mosi_pin: GPIO6
interface: any
spi_device:
id: spidev
data_rate: 2MHz
spi_id: spi_id_1
mode: 3
bit_order: lsb_first
display:
- platform: ili9xxx
id: displ8
model: ili9342
cs_pin: GPIO5
dc_pin: GPIO4
reset_pin:
number: GPIO48
allow_other_uses: true
i2c:
scl: GPIO18
sda: GPIO8
touchscreen:
- platform: tt21100
display: displ8
interrupt_pin:
number: GPIO3
ignore_strapping_warning: true
allow_other_uses: false
reset_pin:
number: GPIO48
allow_other_uses: true
binary_sensor:
- platform: tt21100
name: Home Button
index: 1
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Max Block Free"
loop_time:
name: "Loop Time"
psram:
name: "PSRAM Free"

75
tests/test8.2.yaml Normal file
View file

@ -0,0 +1,75 @@
# Tests for ESP32-C3 boards - IDf
---
wifi:
ssid: "ssid"
network:
enable_ipv6: true
esp32:
board: lolin_c3_mini
variant: ESP32C3
framework:
type: esp-idf
esphome:
name: esp32-c3-test
logger:
debug:
psram:
spi:
- id: spi_id_1
clk_pin:
number: GPIO7
allow_other_uses: false
mosi_pin: GPIO6
interface: any
spi_device:
id: spidev
data_rate: 2MHz
spi_id: spi_id_1
mode: 3
bit_order: lsb_first
display:
- platform: ili9xxx
id: displ8
model: ili9342
cs_pin: GPIO5
dc_pin: GPIO4
reset_pin:
number: GPIO21
i2c:
scl: GPIO18
sda: GPIO8
touchscreen:
- platform: tt21100
display: displ8
interrupt_pin:
number: GPIO3
allow_other_uses: false
reset_pin:
number: GPIO20
binary_sensor:
- platform: tt21100
name: Home Button
index: 1
sensor:
- platform: debug
free:
name: "Heap Free"
block:
name: "Max Block Free"
loop_time:
name: "Loop Time"
psram:
name: "PSRAM Free"