mirror of
https://github.com/esphome/esphome.git
synced 2024-12-24 14:34:54 +01:00
Merge branch 'esphome:dev' into dev
This commit is contained in:
commit
f3684362ad
6 changed files with 187 additions and 19 deletions
|
@ -9,7 +9,7 @@ from esphome.const import (
|
|||
CONF_TVOC,
|
||||
DEVICE_CLASS_AQI,
|
||||
DEVICE_CLASS_CARBON_DIOXIDE,
|
||||
DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS,
|
||||
DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS,
|
||||
ICON_CHEMICAL_WEAPON,
|
||||
ICON_MOLECULE_CO2,
|
||||
ICON_RADIATOR,
|
||||
|
@ -45,11 +45,10 @@ CONFIG_SCHEMA = (
|
|||
unit_of_measurement=UNIT_PARTS_PER_BILLION,
|
||||
icon=ICON_RADIATOR,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS,
|
||||
device_class=DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Required(CONF_AQI): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_INDEX,
|
||||
icon=ICON_CHEMICAL_WEAPON,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_AQI,
|
||||
|
|
|
@ -172,7 +172,9 @@ CONFIG_SCHEMA = cv.All(
|
|||
esp8266=UART0,
|
||||
esp32=UART0,
|
||||
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,
|
||||
bk72xx=DEFAULT,
|
||||
rtl87xx=DEFAULT,
|
||||
|
|
|
@ -1518,6 +1518,13 @@ class GenerateID(Optional):
|
|||
super().__init__(key, default=lambda: None)
|
||||
|
||||
|
||||
def _get_priority_default(*args):
|
||||
for arg in args:
|
||||
if arg is not vol.UNDEFINED:
|
||||
return arg
|
||||
return vol.UNDEFINED
|
||||
|
||||
|
||||
class SplitDefault(Optional):
|
||||
"""Mark this key to have a split default for ESP8266/ESP32."""
|
||||
|
||||
|
@ -1534,6 +1541,9 @@ class SplitDefault(Optional):
|
|||
esp32_s3=vol.UNDEFINED,
|
||||
esp32_s3_arduino=vol.UNDEFINED,
|
||||
esp32_s3_idf=vol.UNDEFINED,
|
||||
esp32_c3=vol.UNDEFINED,
|
||||
esp32_c3_arduino=vol.UNDEFINED,
|
||||
esp32_c3_idf=vol.UNDEFINED,
|
||||
rp2040=vol.UNDEFINED,
|
||||
bk72xx=vol.UNDEFINED,
|
||||
rtl87xx=vol.UNDEFINED,
|
||||
|
@ -1542,30 +1552,28 @@ class SplitDefault(Optional):
|
|||
super().__init__(key)
|
||||
self._esp8266_default = vol.default_factory(esp8266)
|
||||
self._esp32_arduino_default = vol.default_factory(
|
||||
esp32_arduino if esp32 is vol.UNDEFINED else esp32
|
||||
_get_priority_default(esp32_arduino, esp32)
|
||||
)
|
||||
self._esp32_idf_default = vol.default_factory(
|
||||
esp32_idf if esp32 is vol.UNDEFINED else esp32
|
||||
_get_priority_default(esp32_idf, esp32)
|
||||
)
|
||||
self._esp32_s2_arduino_default = vol.default_factory(
|
||||
(esp32_s2_arduino if esp32 is vol.UNDEFINED else esp32)
|
||||
if esp32_s2 is vol.UNDEFINED
|
||||
else esp32_s2
|
||||
_get_priority_default(esp32_s2_arduino, esp32_s2, esp32_arduino, esp32)
|
||||
)
|
||||
self._esp32_s2_idf_default = vol.default_factory(
|
||||
(esp32_s2_idf if esp32 is vol.UNDEFINED else esp32)
|
||||
if esp32_s2 is vol.UNDEFINED
|
||||
else esp32_s2
|
||||
_get_priority_default(esp32_s2_idf, esp32_s2, esp32_idf, esp32)
|
||||
)
|
||||
self._esp32_s3_arduino_default = vol.default_factory(
|
||||
(esp32_s3_arduino if esp32 is vol.UNDEFINED else esp32)
|
||||
if esp32_s3 is vol.UNDEFINED
|
||||
else esp32_s3
|
||||
_get_priority_default(esp32_s3_arduino, esp32_s3, esp32_arduino, esp32)
|
||||
)
|
||||
self._esp32_s3_idf_default = vol.default_factory(
|
||||
(esp32_s3_idf if esp32 is vol.UNDEFINED else esp32)
|
||||
if esp32_s3 is vol.UNDEFINED
|
||||
else esp32_s3
|
||||
_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._bk72xx_default = vol.default_factory(bk72xx)
|
||||
|
@ -1581,6 +1589,7 @@ class SplitDefault(Optional):
|
|||
from esphome.components.esp32.const import (
|
||||
VARIANT_ESP32S2,
|
||||
VARIANT_ESP32S3,
|
||||
VARIANT_ESP32C3,
|
||||
)
|
||||
|
||||
variant = get_esp32_variant()
|
||||
|
@ -1594,6 +1603,11 @@ class SplitDefault(Optional):
|
|||
return self._esp32_s3_arduino_default
|
||||
if CORE.using_esp_idf:
|
||||
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:
|
||||
if CORE.using_arduino:
|
||||
return self._esp32_arduino_default
|
||||
|
|
|
@ -11,7 +11,7 @@ esptool==4.6.2
|
|||
click==8.1.7
|
||||
esphome-dashboard==20231107.0
|
||||
aioesphomeapi==21.0.0
|
||||
zeroconf==0.128.4
|
||||
zeroconf==0.130.0
|
||||
python-magic==0.4.27
|
||||
|
||||
# esp-idf requires this, but doesn't bundle it by default
|
||||
|
|
78
tests/test8.1.yaml
Normal file
78
tests/test8.1.yaml
Normal 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
75
tests/test8.2.yaml
Normal 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"
|
Loading…
Reference in a new issue