1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-11 22:33:49 +01:00

Merge remote-tracking branch 'upstream/dev' into integration

This commit is contained in:
J. Nick Koston
2025-10-09 10:32:58 -10:00
1029 changed files with 24 additions and 4971 deletions

View File

@@ -391,7 +391,7 @@ jobs:
./script/test_build_components -e compile -c ${{ matrix.file }}
test-build-components-splitter:
name: Split components for testing into 20 groups maximum
name: Split components for testing into 10 components per group
runs-on: ubuntu-24.04
needs:
- common
@@ -402,10 +402,10 @@ jobs:
steps:
- name: Check out code from GitHub
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Split components into 20 groups
- name: Split components into groups of 10
id: split
run: |
components=$(echo '${{ needs.determine-jobs.outputs.changed-components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(20) | join(" ")]')
components=$(echo '${{ needs.determine-jobs.outputs.changed-components }}' | jq -c '.[]' | shuf | jq -s -c '[_nwise(10) | join(" ")]')
echo "components=$components" >> $GITHUB_OUTPUT
test-build-components-split:

View File

@@ -105,9 +105,9 @@ class Canbus : public Component {
CallbackManager<void(uint32_t can_id, bool extended_id, bool rtr, const std::vector<uint8_t> &data)>
callback_manager_{};
virtual bool setup_internal();
virtual Error send_message(struct CanFrame *frame);
virtual Error read_message(struct CanFrame *frame);
virtual bool setup_internal() = 0;
virtual Error send_message(struct CanFrame *frame) = 0;
virtual Error read_message(struct CanFrame *frame) = 0;
};
template<typename... Ts> class CanbusSendAction : public Action<Ts...>, public Parented<Canbus> {

View File

@@ -304,6 +304,17 @@ def _format_framework_espidf_version(ver: cv.Version, release: str) -> str:
return f"pioarduino/framework-espidf@https://github.com/pioarduino/esp-idf/releases/download/v{str(ver)}/esp-idf-v{str(ver)}.zip"
def _is_framework_url(source: str) -> str:
# platformio accepts many URL schemes for framework repositories and archives including http, https, git, file, and symlink
import urllib.parse
try:
parsed = urllib.parse.urlparse(source)
except ValueError:
return False
return bool(parsed.scheme)
# NOTE: Keep this in mind when updating the recommended version:
# * New framework historically have had some regressions, especially for WiFi.
# The new version needs to be thoroughly validated before changing the
@@ -386,7 +397,7 @@ def _check_versions(value):
value[CONF_SOURCE] = value.get(
CONF_SOURCE, _format_framework_arduino_version(version)
)
if value[CONF_SOURCE].startswith("http"):
if _is_framework_url(value[CONF_SOURCE]):
value[CONF_SOURCE] = (
f"pioarduino/framework-arduinoespressif32@{value[CONF_SOURCE]}"
)
@@ -399,7 +410,7 @@ def _check_versions(value):
CONF_SOURCE,
_format_framework_espidf_version(version, value.get(CONF_RELEASE, None)),
)
if value[CONF_SOURCE].startswith("http"):
if _is_framework_url(value[CONF_SOURCE]):
value[CONF_SOURCE] = f"pioarduino/framework-espidf@{value[CONF_SOURCE]}"
if CONF_PLATFORM_VERSION not in value:

View File

@@ -21,11 +21,11 @@ template<uint8_t N> class MCP23XXXBase : public Component, public gpio_expander:
protected:
// read a given register
virtual bool read_reg(uint8_t reg, uint8_t *value);
virtual bool read_reg(uint8_t reg, uint8_t *value) = 0;
// write a value to a given register
virtual bool write_reg(uint8_t reg, uint8_t value);
virtual bool write_reg(uint8_t reg, uint8_t value) = 0;
// update registers with given pin value.
virtual void update_reg(uint8_t pin, bool pin_value, uint8_t reg_a);
virtual void update_reg(uint8_t pin, bool pin_value, uint8_t reg_a) = 0;
bool open_drain_ints_;
};

View File

@@ -11,7 +11,7 @@ pyserial==3.5
platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile
esptool==5.1.0
click==8.1.7
esphome-dashboard==20250904.0
esphome-dashboard==20251009.0
aioesphomeapi==41.13.0
zeroconf==0.148.0
puremagic==1.30

View File

@@ -1,7 +1,7 @@
pylint==3.3.9
flake8==7.3.0 # also change in .pre-commit-config.yaml when updating
ruff==0.14.0 # also change in .pre-commit-config.yaml when updating
pyupgrade==3.20.0 # also change in .pre-commit-config.yaml when updating
pyupgrade==3.21.0 # also change in .pre-commit-config.yaml when updating
pre-commit
# Unit tests

View File

@@ -1,5 +0,0 @@
substitutions:
tx_pin: GPIO17
rx_pin: GPIO16
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
tx_pin: GPIO4
rx_pin: GPIO5
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
tx_pin: GPIO17
rx_pin: GPIO16
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
tx_pin: GPIO4
rx_pin: GPIO5
<<: !include common.yaml

View File

@@ -1,6 +0,0 @@
substitutions:
step_pin: GPIO22
dir_pin: GPIO23
sleep_pin: GPIO25
<<: !include common.yaml

View File

@@ -1,6 +0,0 @@
substitutions:
step_pin: GPIO2
dir_pin: GPIO3
sleep_pin: GPIO5
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1,6 +0,0 @@
packages:
base: !include common.yaml
sensor:
- id: !extend my_sensor
pin: A0

View File

@@ -1,6 +0,0 @@
packages:
base: !include common.yaml
sensor:
- id: !extend my_sensor
pin: 4

View File

@@ -1,6 +0,0 @@
packages:
base: !include common.yaml
sensor:
- id: !extend my_sensor
pin: 1

View File

@@ -1,6 +0,0 @@
packages:
base: !include common.yaml
sensor:
- id: !extend my_sensor
pin: 1

View File

@@ -1,7 +0,0 @@
substitutions:
clk_pin: GPIO16
mosi_pin: GPIO17
miso_pin: GPIO15
cs_pin: GPIO12
<<: !include common.yaml

View File

@@ -1,7 +0,0 @@
substitutions:
clk_pin: GPIO6
mosi_pin: GPIO7
miso_pin: GPIO5
cs_pin: GPIO2
<<: !include common.yaml

View File

@@ -1,4 +0,0 @@
substitutions:
pin: GPIO2
<<: !include common-ard-esp32_rmt_led_strip.yaml

View File

@@ -1,4 +0,0 @@
substitutions:
pin: GPIO2
<<: !include common-ard-esp32_rmt_led_strip.yaml

View File

@@ -1,4 +0,0 @@
substitutions:
pin: GPIO2
<<: !include common-ard-fastled.yaml

View File

@@ -1,8 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
irq0_pin: GPIO13
irq1_pin: GPIO15
reset_pin: GPIO16
<<: !include common.yaml

View File

@@ -1,8 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
irq0_pin: GPIO6
irq1_pin: GPIO7
reset_pin: GPIO10
<<: !include common.yaml

View File

@@ -1,6 +0,0 @@
substitutions:
scl_pin: GPIO16
sda_pin: GPIO17
irq_pin: GPIO15
<<: !include common.yaml

View File

@@ -1,6 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
irq_pin: GPIO6
<<: !include common.yaml

View File

@@ -1,8 +0,0 @@
substitutions:
clk_pin: GPIO16
mosi_pin: GPIO17
miso_pin: GPIO15
irq_pin: GPIO13
cs_pin: GPIO5
<<: !include common.yaml

View File

@@ -1,8 +0,0 @@
substitutions:
clk_pin: GPIO6
mosi_pin: GPIO7
miso_pin: GPIO5
irq_pin: GPIO9
cs_pin: GPIO8
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO16
sda_pin: GPIO17
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO16
sda_pin: GPIO17
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO16
sda_pin: GPIO17
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO16
sda_pin: GPIO17
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO16
sda_pin: GPIO17
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO16
sda_pin: GPIO17
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1,17 +0,0 @@
spi:
- id: spi_main_lcd
clk_pin: 16
mosi_pin: 17
miso_pin: 15
display:
- platform: ili9xxx
id: main_lcd
model: ili9342
cs_pin: 12
dc_pin: 13
reset_pin: 21
invert_colors: false
packages:
animation: !include common.yaml

View File

@@ -1,17 +0,0 @@
spi:
- id: spi_main_lcd
clk_pin: 6
mosi_pin: 7
miso_pin: 5
display:
- platform: ili9xxx
id: main_lcd
model: ili9342
cs_pin: 8
dc_pin: 9
reset_pin: 10
invert_colors: false
packages:
animation: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO22
sda_pin: GPIO21
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO16
sda_pin: GPIO17
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
<<: !include common.yaml
wifi:
ssid: MySSID
password: password1

View File

@@ -1,5 +0,0 @@
<<: !include common.yaml
wifi:
ssid: MySSID
password: password1

View File

@@ -1,11 +0,0 @@
substitutions:
scl_pin: GPIO16
sda_pin: GPIO17
irq_pin: GPIO15
packages:
as3935: !include common.yaml
# Trigger issue: https://github.com/esphome/issues/issues/6990
# Compile with no binary sensor results in error
binary_sensor: !remove

View File

@@ -1,6 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
irq_pin: GPIO6
<<: !include common.yaml

View File

@@ -1,8 +0,0 @@
substitutions:
clk_pin: GPIO16
mosi_pin: GPIO17
miso_pin: GPIO15
irq_pin: GPIO13
cs_pin: GPIO5
<<: !include common.yaml

View File

@@ -1,8 +0,0 @@
substitutions:
clk_pin: GPIO6
mosi_pin: GPIO7
miso_pin: GPIO5
irq_pin: GPIO9
cs_pin: GPIO8
<<: !include common.yaml

View File

@@ -1,6 +0,0 @@
substitutions:
scl_pin: GPIO16
sda_pin: GPIO17
dir_pin: GPIO15
<<: !include common.yaml

View File

@@ -1,6 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
dir_pin: GPIO6
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO16
sda_pin: GPIO17
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO16
sda_pin: GPIO17
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1,7 +0,0 @@
substitutions:
clk_pin: GPIO16
mosi_pin: GPIO17
miso_pin: GPIO15
cs_pin: GPIO5
<<: !include common.yaml

View File

@@ -1,7 +0,0 @@
substitutions:
clk_pin: GPIO6
mosi_pin: GPIO7
miso_pin: GPIO5
cs_pin: GPIO8
<<: !include common.yaml

View File

@@ -1,7 +0,0 @@
substitutions:
clk_pin: GPIO16
mosi_pin: GPIO17
miso_pin: GPIO15
cs_pin: GPIO5
<<: !include common.yaml

View File

@@ -1,7 +0,0 @@
substitutions:
clk_pin: GPIO6
mosi_pin: GPIO7
miso_pin: GPIO5
cs_pin: GPIO8
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1,4 +0,0 @@
substitutions:
pin: GPIO2
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO22
sda_pin: GPIO21
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
scl_pin: GPIO5
sda_pin: GPIO4
<<: !include common.yaml

View File

@@ -1,2 +0,0 @@
packages:
common: !include common.yaml

View File

@@ -1,2 +0,0 @@
packages:
common: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1 +0,0 @@
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
tx_pin: GPIO12
rx_pin: GPIO14
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
tx_pin: GPIO7
rx_pin: GPIO8
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
tx_pin: GPIO12
rx_pin: GPIO14
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
tx_pin: GPIO7
rx_pin: GPIO8
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
tx_pin: GPIO12
rx_pin: GPIO14
<<: !include common.yaml

View File

@@ -1,5 +0,0 @@
substitutions:
tx_pin: GPIO7
rx_pin: GPIO8
<<: !include common.yaml

Some files were not shown because too many files have changed in this diff Show More