esphome 2025.9.0b3__py3-none-any.whl → 2025.9.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- esphome/__main__.py +1 -1
- esphome/components/captive_portal/__init__.py +3 -2
- esphome/components/esphome/ota/__init__.py +3 -2
- esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp +2 -0
- esphome/components/http_request/ota/__init__.py +3 -2
- esphome/components/mdns/__init__.py +3 -2
- esphome/components/ota/__init__.py +3 -2
- esphome/components/packet_transport/__init__.py +3 -6
- esphome/components/web_server/ota/__init__.py +3 -2
- esphome/components/web_server_base/__init__.py +3 -2
- esphome/const.py +1 -1
- esphome/coroutine.py +21 -2
- esphome/wizard.py +42 -8
- esphome/writer.py +13 -0
- {esphome-2025.9.0b3.dist-info → esphome-2025.9.1.dist-info}/METADATA +1 -1
- {esphome-2025.9.0b3.dist-info → esphome-2025.9.1.dist-info}/RECORD +20 -20
- {esphome-2025.9.0b3.dist-info → esphome-2025.9.1.dist-info}/WHEEL +0 -0
- {esphome-2025.9.0b3.dist-info → esphome-2025.9.1.dist-info}/entry_points.txt +0 -0
- {esphome-2025.9.0b3.dist-info → esphome-2025.9.1.dist-info}/licenses/LICENSE +0 -0
- {esphome-2025.9.0b3.dist-info → esphome-2025.9.1.dist-info}/top_level.txt +0 -0
esphome/__main__.py
CHANGED
@@ -10,7 +10,8 @@ from esphome.const import (
|
|
10
10
|
PLATFORM_LN882X,
|
11
11
|
PLATFORM_RTL87XX,
|
12
12
|
)
|
13
|
-
from esphome.core import CORE,
|
13
|
+
from esphome.core import CORE, coroutine_with_priority
|
14
|
+
from esphome.coroutine import CoroPriority
|
14
15
|
|
15
16
|
AUTO_LOAD = ["web_server_base", "ota.web_server"]
|
16
17
|
DEPENDENCIES = ["wifi"]
|
@@ -40,7 +41,7 @@ CONFIG_SCHEMA = cv.All(
|
|
40
41
|
)
|
41
42
|
|
42
43
|
|
43
|
-
@coroutine_with_priority(CoroPriority.
|
44
|
+
@coroutine_with_priority(CoroPriority.CAPTIVE_PORTAL)
|
44
45
|
async def to_code(config):
|
45
46
|
paren = await cg.get_variable(config[CONF_WEB_SERVER_BASE_ID])
|
46
47
|
|
@@ -16,7 +16,8 @@ from esphome.const import (
|
|
16
16
|
CONF_SAFE_MODE,
|
17
17
|
CONF_VERSION,
|
18
18
|
)
|
19
|
-
from esphome.core import
|
19
|
+
from esphome.core import coroutine_with_priority
|
20
|
+
from esphome.coroutine import CoroPriority
|
20
21
|
import esphome.final_validate as fv
|
21
22
|
|
22
23
|
_LOGGER = logging.getLogger(__name__)
|
@@ -121,7 +122,7 @@ CONFIG_SCHEMA = (
|
|
121
122
|
FINAL_VALIDATE_SCHEMA = ota_esphome_final_validate
|
122
123
|
|
123
124
|
|
124
|
-
@coroutine_with_priority(CoroPriority.
|
125
|
+
@coroutine_with_priority(CoroPriority.OTA_UPDATES)
|
125
126
|
async def to_code(config):
|
126
127
|
var = cg.new_Pvariable(config[CONF_ID])
|
127
128
|
cg.add(var.set_port(config[CONF_PORT]))
|
@@ -6,6 +6,7 @@ namespace gpio {
|
|
6
6
|
|
7
7
|
static const char *const TAG = "gpio.binary_sensor";
|
8
8
|
|
9
|
+
#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_DEBUG
|
9
10
|
static const LogString *interrupt_type_to_string(gpio::InterruptType type) {
|
10
11
|
switch (type) {
|
11
12
|
case gpio::INTERRUPT_RISING_EDGE:
|
@@ -22,6 +23,7 @@ static const LogString *interrupt_type_to_string(gpio::InterruptType type) {
|
|
22
23
|
static const LogString *gpio_mode_to_string(bool use_interrupt) {
|
23
24
|
return use_interrupt ? LOG_STR("interrupt") : LOG_STR("polling");
|
24
25
|
}
|
26
|
+
#endif
|
25
27
|
|
26
28
|
void IRAM_ATTR GPIOBinarySensorStore::gpio_intr(GPIOBinarySensorStore *arg) {
|
27
29
|
bool new_state = arg->isr_pin_.digital_read();
|
@@ -3,7 +3,8 @@ import esphome.codegen as cg
|
|
3
3
|
from esphome.components.ota import BASE_OTA_SCHEMA, OTAComponent, ota_to_code
|
4
4
|
import esphome.config_validation as cv
|
5
5
|
from esphome.const import CONF_ID, CONF_PASSWORD, CONF_URL, CONF_USERNAME
|
6
|
-
from esphome.core import
|
6
|
+
from esphome.core import coroutine_with_priority
|
7
|
+
from esphome.coroutine import CoroPriority
|
7
8
|
|
8
9
|
from .. import CONF_HTTP_REQUEST_ID, HttpRequestComponent, http_request_ns
|
9
10
|
|
@@ -40,7 +41,7 @@ CONFIG_SCHEMA = cv.All(
|
|
40
41
|
)
|
41
42
|
|
42
43
|
|
43
|
-
@coroutine_with_priority(CoroPriority.
|
44
|
+
@coroutine_with_priority(CoroPriority.OTA_UPDATES)
|
44
45
|
async def to_code(config):
|
45
46
|
var = cg.new_Pvariable(config[CONF_ID])
|
46
47
|
await ota_to_code(var, config)
|
@@ -11,7 +11,8 @@ from esphome.const import (
|
|
11
11
|
CONF_SERVICES,
|
12
12
|
PlatformFramework,
|
13
13
|
)
|
14
|
-
from esphome.core import CORE,
|
14
|
+
from esphome.core import CORE, coroutine_with_priority
|
15
|
+
from esphome.coroutine import CoroPriority
|
15
16
|
|
16
17
|
CODEOWNERS = ["@esphome/core"]
|
17
18
|
DEPENDENCIES = ["network"]
|
@@ -72,7 +73,7 @@ def mdns_service(
|
|
72
73
|
)
|
73
74
|
|
74
75
|
|
75
|
-
@coroutine_with_priority(CoroPriority.
|
76
|
+
@coroutine_with_priority(CoroPriority.NETWORK_SERVICES)
|
76
77
|
async def to_code(config):
|
77
78
|
if config[CONF_DISABLED] is True:
|
78
79
|
return
|
@@ -10,7 +10,8 @@ from esphome.const import (
|
|
10
10
|
CONF_TRIGGER_ID,
|
11
11
|
PlatformFramework,
|
12
12
|
)
|
13
|
-
from esphome.core import CORE,
|
13
|
+
from esphome.core import CORE, coroutine_with_priority
|
14
|
+
from esphome.coroutine import CoroPriority
|
14
15
|
|
15
16
|
CODEOWNERS = ["@esphome/core"]
|
16
17
|
AUTO_LOAD = ["md5", "safe_mode"]
|
@@ -82,7 +83,7 @@ BASE_OTA_SCHEMA = cv.Schema(
|
|
82
83
|
)
|
83
84
|
|
84
85
|
|
85
|
-
@coroutine_with_priority(CoroPriority.
|
86
|
+
@coroutine_with_priority(CoroPriority.OTA_UPDATES)
|
86
87
|
async def to_code(config):
|
87
88
|
cg.add_define("USE_OTA")
|
88
89
|
|
@@ -121,15 +121,11 @@ def transport_schema(cls):
|
|
121
121
|
return TRANSPORT_SCHEMA.extend({cv.GenerateID(): cv.declare_id(cls)})
|
122
122
|
|
123
123
|
|
124
|
-
# Build a list of sensors for this platform
|
125
|
-
CORE.data[DOMAIN] = {CONF_SENSORS: []}
|
126
|
-
|
127
|
-
|
128
124
|
def get_sensors(transport_id):
|
129
125
|
"""Return the list of sensors for this platform."""
|
130
126
|
return (
|
131
127
|
sensor
|
132
|
-
for sensor in CORE.data
|
128
|
+
for sensor in CORE.data.setdefault(DOMAIN, {}).setdefault(CONF_SENSORS, [])
|
133
129
|
if sensor[CONF_TRANSPORT_ID] == transport_id
|
134
130
|
)
|
135
131
|
|
@@ -137,7 +133,8 @@ def get_sensors(transport_id):
|
|
137
133
|
def validate_packet_transport_sensor(config):
|
138
134
|
if CONF_NAME in config and CONF_INTERNAL not in config:
|
139
135
|
raise cv.Invalid("Must provide internal: config when using name:")
|
140
|
-
CORE.data
|
136
|
+
conf_sensors = CORE.data.setdefault(DOMAIN, {}).setdefault(CONF_SENSORS, [])
|
137
|
+
conf_sensors.append(config)
|
141
138
|
return config
|
142
139
|
|
143
140
|
|
@@ -3,7 +3,8 @@ from esphome.components.esp32 import add_idf_component
|
|
3
3
|
from esphome.components.ota import BASE_OTA_SCHEMA, OTAComponent, ota_to_code
|
4
4
|
import esphome.config_validation as cv
|
5
5
|
from esphome.const import CONF_ID
|
6
|
-
from esphome.core import CORE,
|
6
|
+
from esphome.core import CORE, coroutine_with_priority
|
7
|
+
from esphome.coroutine import CoroPriority
|
7
8
|
|
8
9
|
CODEOWNERS = ["@esphome/core"]
|
9
10
|
DEPENDENCIES = ["network", "web_server_base"]
|
@@ -22,7 +23,7 @@ CONFIG_SCHEMA = (
|
|
22
23
|
)
|
23
24
|
|
24
25
|
|
25
|
-
@coroutine_with_priority(CoroPriority.
|
26
|
+
@coroutine_with_priority(CoroPriority.WEB_SERVER_OTA)
|
26
27
|
async def to_code(config):
|
27
28
|
var = cg.new_Pvariable(config[CONF_ID])
|
28
29
|
await ota_to_code(var, config)
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
2
|
import esphome.config_validation as cv
|
3
3
|
from esphome.const import CONF_ID
|
4
|
-
from esphome.core import CORE,
|
4
|
+
from esphome.core import CORE, coroutine_with_priority
|
5
|
+
from esphome.coroutine import CoroPriority
|
5
6
|
|
6
7
|
CODEOWNERS = ["@esphome/core"]
|
7
8
|
DEPENDENCIES = ["network"]
|
@@ -26,7 +27,7 @@ CONFIG_SCHEMA = cv.Schema(
|
|
26
27
|
)
|
27
28
|
|
28
29
|
|
29
|
-
@coroutine_with_priority(CoroPriority.
|
30
|
+
@coroutine_with_priority(CoroPriority.WEB_SERVER_BASE)
|
30
31
|
async def to_code(config):
|
31
32
|
var = cg.new_Pvariable(config[CONF_ID])
|
32
33
|
await cg.register_component(var, config)
|
esphome/const.py
CHANGED
esphome/coroutine.py
CHANGED
@@ -90,11 +90,30 @@ class CoroPriority(enum.IntEnum):
|
|
90
90
|
# Examples: status_led (80)
|
91
91
|
STATUS = 80
|
92
92
|
|
93
|
+
# Web server infrastructure
|
94
|
+
# Examples: web_server_base (65)
|
95
|
+
WEB_SERVER_BASE = 65
|
96
|
+
|
97
|
+
# Network portal services
|
98
|
+
# Examples: captive_portal (64)
|
99
|
+
CAPTIVE_PORTAL = 64
|
100
|
+
|
93
101
|
# Communication protocols and services
|
94
|
-
# Examples:
|
95
|
-
# mdns (55), ota_updates (54), web_server_ota (52)
|
102
|
+
# Examples: wifi (60), ethernet (60)
|
96
103
|
COMMUNICATION = 60
|
97
104
|
|
105
|
+
# Network discovery and management services
|
106
|
+
# Examples: mdns (55)
|
107
|
+
NETWORK_SERVICES = 55
|
108
|
+
|
109
|
+
# OTA update services
|
110
|
+
# Examples: ota_updates (54)
|
111
|
+
OTA_UPDATES = 54
|
112
|
+
|
113
|
+
# Web-based OTA services
|
114
|
+
# Examples: web_server_ota (52)
|
115
|
+
WEB_SERVER_OTA = 52
|
116
|
+
|
98
117
|
# Application-level services
|
99
118
|
# Examples: safe_mode (50)
|
100
119
|
APPLICATION = 50
|
esphome/wizard.py
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
import os
|
2
2
|
import random
|
3
3
|
import string
|
4
|
+
from typing import Literal, NotRequired, TypedDict, Unpack
|
4
5
|
import unicodedata
|
5
6
|
|
6
7
|
import voluptuous as vol
|
@@ -103,11 +104,25 @@ HARDWARE_BASE_CONFIGS = {
|
|
103
104
|
}
|
104
105
|
|
105
106
|
|
106
|
-
def sanitize_double_quotes(value):
|
107
|
+
def sanitize_double_quotes(value: str) -> str:
|
107
108
|
return value.replace("\\", "\\\\").replace('"', '\\"')
|
108
109
|
|
109
110
|
|
110
|
-
|
111
|
+
class WizardFileKwargs(TypedDict):
|
112
|
+
"""Keyword arguments for wizard_file function."""
|
113
|
+
|
114
|
+
name: str
|
115
|
+
platform: Literal["ESP8266", "ESP32", "RP2040", "BK72XX", "LN882X", "RTL87XX"]
|
116
|
+
board: str
|
117
|
+
ssid: NotRequired[str]
|
118
|
+
psk: NotRequired[str]
|
119
|
+
password: NotRequired[str]
|
120
|
+
ota_password: NotRequired[str]
|
121
|
+
api_encryption_key: NotRequired[str]
|
122
|
+
friendly_name: NotRequired[str]
|
123
|
+
|
124
|
+
|
125
|
+
def wizard_file(**kwargs: Unpack[WizardFileKwargs]) -> str:
|
111
126
|
letters = string.ascii_letters + string.digits
|
112
127
|
ap_name_base = kwargs["name"].replace("_", " ").title()
|
113
128
|
ap_name = f"{ap_name_base} Fallback Hotspot"
|
@@ -180,7 +195,25 @@ captive_portal:
|
|
180
195
|
return config
|
181
196
|
|
182
197
|
|
183
|
-
|
198
|
+
class WizardWriteKwargs(TypedDict):
|
199
|
+
"""Keyword arguments for wizard_write function."""
|
200
|
+
|
201
|
+
name: str
|
202
|
+
type: Literal["basic", "empty", "upload"]
|
203
|
+
# Required for "basic" type
|
204
|
+
board: NotRequired[str]
|
205
|
+
platform: NotRequired[str]
|
206
|
+
ssid: NotRequired[str]
|
207
|
+
psk: NotRequired[str]
|
208
|
+
password: NotRequired[str]
|
209
|
+
ota_password: NotRequired[str]
|
210
|
+
api_encryption_key: NotRequired[str]
|
211
|
+
friendly_name: NotRequired[str]
|
212
|
+
# Required for "upload" type
|
213
|
+
file_text: NotRequired[str]
|
214
|
+
|
215
|
+
|
216
|
+
def wizard_write(path: str, **kwargs: Unpack[WizardWriteKwargs]) -> bool:
|
184
217
|
from esphome.components.bk72xx import boards as bk72xx_boards
|
185
218
|
from esphome.components.esp32 import boards as esp32_boards
|
186
219
|
from esphome.components.esp8266 import boards as esp8266_boards
|
@@ -237,14 +270,14 @@ def wizard_write(path, **kwargs):
|
|
237
270
|
|
238
271
|
if get_bool_env(ENV_QUICKWIZARD):
|
239
272
|
|
240
|
-
def sleep(time):
|
273
|
+
def sleep(time: float) -> None:
|
241
274
|
pass
|
242
275
|
|
243
276
|
else:
|
244
277
|
from time import sleep
|
245
278
|
|
246
279
|
|
247
|
-
def safe_print_step(step, big):
|
280
|
+
def safe_print_step(step: int, big: str) -> None:
|
248
281
|
safe_print()
|
249
282
|
safe_print()
|
250
283
|
safe_print(f"============= STEP {step} =============")
|
@@ -253,14 +286,14 @@ def safe_print_step(step, big):
|
|
253
286
|
sleep(0.25)
|
254
287
|
|
255
288
|
|
256
|
-
def default_input(text, default):
|
289
|
+
def default_input(text: str, default: str) -> str:
|
257
290
|
safe_print()
|
258
291
|
safe_print(f"Press ENTER for default ({default})")
|
259
292
|
return safe_input(text.format(default)) or default
|
260
293
|
|
261
294
|
|
262
295
|
# From https://stackoverflow.com/a/518232/8924614
|
263
|
-
def strip_accents(value):
|
296
|
+
def strip_accents(value: str) -> str:
|
264
297
|
return "".join(
|
265
298
|
c
|
266
299
|
for c in unicodedata.normalize("NFD", str(value))
|
@@ -268,7 +301,7 @@ def strip_accents(value):
|
|
268
301
|
)
|
269
302
|
|
270
303
|
|
271
|
-
def wizard(path):
|
304
|
+
def wizard(path: str) -> int:
|
272
305
|
from esphome.components.bk72xx import boards as bk72xx_boards
|
273
306
|
from esphome.components.esp32 import boards as esp32_boards
|
274
307
|
from esphome.components.esp8266 import boards as esp8266_boards
|
@@ -509,6 +542,7 @@ def wizard(path):
|
|
509
542
|
ssid=ssid,
|
510
543
|
psk=psk,
|
511
544
|
password=password,
|
545
|
+
type="basic",
|
512
546
|
):
|
513
547
|
return 1
|
514
548
|
|
esphome/writer.py
CHANGED
@@ -315,6 +315,19 @@ def clean_build():
|
|
315
315
|
_LOGGER.info("Deleting %s", dependencies_lock)
|
316
316
|
os.remove(dependencies_lock)
|
317
317
|
|
318
|
+
# Clean PlatformIO cache to resolve CMake compiler detection issues
|
319
|
+
# This helps when toolchain paths change or get corrupted
|
320
|
+
try:
|
321
|
+
from platformio.project.helpers import get_project_cache_dir
|
322
|
+
except ImportError:
|
323
|
+
# PlatformIO is not available, skip cache cleaning
|
324
|
+
pass
|
325
|
+
else:
|
326
|
+
cache_dir = get_project_cache_dir()
|
327
|
+
if cache_dir and cache_dir.strip() and os.path.isdir(cache_dir):
|
328
|
+
_LOGGER.info("Deleting PlatformIO cache %s", cache_dir)
|
329
|
+
shutil.rmtree(cache_dir)
|
330
|
+
|
318
331
|
|
319
332
|
GITIGNORE_CONTENT = """# Gitignore settings for ESPHome
|
320
333
|
# This is an example and may include too much for your use-case.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: esphome
|
3
|
-
Version: 2025.9.
|
3
|
+
Version: 2025.9.1
|
4
4
|
Summary: ESPHome is a system to configure your microcontrollers by simple yet powerful configuration files and control them remotely through Home Automation systems.
|
5
5
|
Author-email: The ESPHome Authors <esphome@openhomefoundation.org>
|
6
6
|
License: MIT
|
@@ -1,12 +1,12 @@
|
|
1
1
|
esphome/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
esphome/__main__.py,sha256=
|
2
|
+
esphome/__main__.py,sha256=8hrrEXR1nGng7wvABi5Tcyd_GpMDWc2_8b8n9WfovA0,39533
|
3
3
|
esphome/automation.py,sha256=gK_oTzOSb3X-0O82bZNYk4XjAzSecpSdvHQGcY79Rcc,15661
|
4
4
|
esphome/codegen.py,sha256=H_WB4rj0uEowvlhEb31EjJQwutLQ5CQkJIsNgDK-wx8,1917
|
5
5
|
esphome/config.py,sha256=74-Y3XKtlB9h__fsu-Zvj6PanDWufVGo1-W4jlG-8cg,43172
|
6
6
|
esphome/config_helpers.py,sha256=E0UO0khX9JW-br_NSsDlLH3VuE-YwMQ99_pzEQVupDc,5391
|
7
7
|
esphome/config_validation.py,sha256=WB_2g9itbOi2z8bo25t8AG1rKHzLZdfa_DiTYQMuxrQ,64839
|
8
|
-
esphome/const.py,sha256=
|
9
|
-
esphome/coroutine.py,sha256=
|
8
|
+
esphome/const.py,sha256=jyk_TlA6GkZ3wRw9Hi5Spy8Vp_GjFxHJYDczpt2J-9s,44216
|
9
|
+
esphome/coroutine.py,sha256=JFBDo8ngY46zhxvjk5aQ5MO_-qrqKDfKQTglEIqHrYY,11946
|
10
10
|
esphome/cpp_generator.py,sha256=C9O-H6ekHHdIEsfLGiqo-Sv6LZCmS0OL4A5ZGYHyh6U,32209
|
11
11
|
esphome/cpp_helpers.py,sha256=r-hrUp7luke-ByuK2Z0TCzIvn4tTswMUkAzlVoKntiI,4039
|
12
12
|
esphome/cpp_types.py,sha256=UkmRmwPDShPw9HauiaFuNb6eZ6RsIy2YNQXUy4_UzQ8,1960
|
@@ -28,8 +28,8 @@ esphome/types.py,sha256=w5JgG0GQ3vWRwcLpf7A-hkbjRNDX70G0ye845zSyWfg,625
|
|
28
28
|
esphome/util.py,sha256=IJvyB7f305s8YSM4WgjIPNavTlDPapKnUqmIEARpF2s,11213
|
29
29
|
esphome/voluptuous_schema.py,sha256=EKm4CIP5-e6wY6L1_RleMGCDYbFOWTK_Sa_oO94Advc,9529
|
30
30
|
esphome/vscode.py,sha256=Zg6ToHy7holnMswcSUGm6-89mRsf88owU2kr864eTP0,4241
|
31
|
-
esphome/wizard.py,sha256=
|
32
|
-
esphome/writer.py,sha256=
|
31
|
+
esphome/wizard.py,sha256=xDcHKoJa4pCUJBQjL8BuB2QnwFu1E7z1GlEqW0kFUFo,17573
|
32
|
+
esphome/writer.py,sha256=FGHW4MrPDv6GSOZdu8jTYf6FdwyjODIydHf2_DTlUNA,10904
|
33
33
|
esphome/yaml_util.py,sha256=_NKLTaGK9rqjV3r3i-5d_HfZoPBtbtqIvZZ86qMt-oI,23166
|
34
34
|
esphome/zeroconf.py,sha256=dy3aWh1Lf4Sh5e7Izlq30FkdzAKWA6IGvZkXuxYrxFE,6511
|
35
35
|
esphome/build_gen/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -501,7 +501,7 @@ esphome/components/cap1188/__init__.py,sha256=coel8Li86MFnLQuuHregeri04GGDVR_qqh
|
|
501
501
|
esphome/components/cap1188/binary_sensor.py,sha256=Ar35IMka2lFJxLRfVaZm0qIeTCJmnoHHXcgidxmAOQ8,775
|
502
502
|
esphome/components/cap1188/cap1188.cpp,sha256=Cm2NVNtHVzKOBKccmav87gJhRXlv_j-_mfFCTA1iSI4,2470
|
503
503
|
esphome/components/cap1188/cap1188.h,sha256=7zsuov-u6FaC-iAR3NZOMAdi_IovL0nSVjHCJRfx9c0,1934
|
504
|
-
esphome/components/captive_portal/__init__.py,sha256=
|
504
|
+
esphome/components/captive_portal/__init__.py,sha256=tt5_GNT1CePuYgxv0DL12KTOWBRusq0nDe6TVU0w9tE,1773
|
505
505
|
esphome/components/captive_portal/captive_index.h,sha256=QmSw30k_2BR8QUXjDSV5kot8SSoXJB4IyHi4rYukxiE,9330
|
506
506
|
esphome/components/captive_portal/captive_portal.cpp,sha256=z_m4PR9GyttMlJgwXp0p1dAoWqI4QrxyF4IIrGlNnT4,4254
|
507
507
|
esphome/components/captive_portal/captive_portal.h,sha256=_xHgoqPq6nuz58ktiSoaxRIHFq4WlFjy2YdFvD-zEzU,1912
|
@@ -961,7 +961,7 @@ esphome/components/esp8266_pwm/output.py,sha256=s5sMTbATthPAJCJyTwvIBYQAoEcffAGx
|
|
961
961
|
esphome/components/esp_ldo/__init__.py,sha256=bBEaDXgqzFtcRSOcUttuA8VGJnayYjLU-zhvzGw8UiU,2892
|
962
962
|
esphome/components/esp_ldo/esp_ldo.cpp,sha256=cAnIUUnO9EGLEx2y0cZ7eT5eVeollwTxFLGQUdZ9sP8,1506
|
963
963
|
esphome/components/esp_ldo/esp_ldo.h,sha256=M5pLF6Wv1_CasrOHDG9e6UIYD-7KNVbZtXk0uAt61Bc,1130
|
964
|
-
esphome/components/esphome/ota/__init__.py,sha256=
|
964
|
+
esphome/components/esphome/ota/__init__.py,sha256=opem51qNyCwBjMbYlpfM0I-JpwS6qtkBJ6VPO6x-UsI,4907
|
965
965
|
esphome/components/esphome/ota/ota_esphome.cpp,sha256=fjZiMSzypM0mI5JhROObX3h6XILbAeJbe7HdCzmXuT4,15980
|
966
966
|
esphome/components/esphome/ota/ota_esphome.h,sha256=bZPXLSRRFEePIXlRhfSoCAXOoh4EEK1U5Ue9VZUdeaY,1496
|
967
967
|
esphome/components/espnow/__init__.py,sha256=ZMz0wyAmx4VW8dewtRhvSu3-TiCMbjVswF8_PvgxcvA,9780
|
@@ -1078,7 +1078,7 @@ esphome/components/gp8403/output/gp8403_output.cpp,sha256=FQPUa_ZMgLz7LNHy6N8sNU
|
|
1078
1078
|
esphome/components/gp8403/output/gp8403_output.h,sha256=wJd_-CtUSxw5ujhR21E1zCiB9hvpl3Ktt665D3iQLf4,598
|
1079
1079
|
esphome/components/gpio/__init__.py,sha256=afIFpPG_fsom-8vYV1yRyvhSCFyASlAdraUCuztWQZ4,103
|
1080
1080
|
esphome/components/gpio/binary_sensor/__init__.py,sha256=1rCKRDCrbINcJN6m0gRYgyGTouuVpK-s_IV6cGgivUE,3594
|
1081
|
-
esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp,sha256=
|
1081
|
+
esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp,sha256=Zoh2hzMQfkyQKOx1BonO0KmR5qZA199d0Ab8Rrc9V7E,3298
|
1082
1082
|
esphome/components/gpio/binary_sensor/gpio_binary_sensor.h,sha256=ukwmyxJhiYXMczcT16zwdliTX5Brf8fdgDzid6l13wE,2000
|
1083
1083
|
esphome/components/gpio/one_wire/__init__.py,sha256=oH6-6zy18pG_7iqzLegjh4AbjnbZHqBRZKHdHBI-828,714
|
1084
1084
|
esphome/components/gpio/one_wire/gpio_one_wire.cpp,sha256=jTzIEfdY08duQCnA4NgoEY6jkZWj0ozFL5i1sk6ixlg,5092
|
@@ -1270,7 +1270,7 @@ esphome/components/http_request/http_request_host.h,sha256=QOy297CGwGs7xPRos3QOl
|
|
1270
1270
|
esphome/components/http_request/http_request_idf.cpp,sha256=-kZGq23MRXZabnLyiv-iTUCMu-tkN_knkoI5UbuUxVw,7629
|
1271
1271
|
esphome/components/http_request/http_request_idf.h,sha256=mSwxYFbkN1pg8bba_VfZPOpj6mGzxggmxWYTSbaJjec,1611
|
1272
1272
|
esphome/components/http_request/httplib.h,sha256=VoILM8ZYZ2B-IV6Z6eb3BPvGOfig-Ccm7e9UVGNY10Q,330380
|
1273
|
-
esphome/components/http_request/ota/__init__.py,sha256=
|
1273
|
+
esphome/components/http_request/ota/__init__.py,sha256=QpeQ5KW63A7R6Zj3ITsSBUOOLo__ifbahwZT4WTwNt4,3245
|
1274
1274
|
esphome/components/http_request/ota/automation.h,sha256=yQo6nJis0S56r5F-tIPbRPqPZMcu0Lpcawr2cX92Ap4,1209
|
1275
1275
|
esphome/components/http_request/ota/ota_http_request.cpp,sha256=PyandFqtBgBm_wUTcZExvCqDiIDyyP2NFopzsyBACRg,8731
|
1276
1276
|
esphome/components/http_request/ota/ota_http_request.h,sha256=X0SFnzhpCY_S7QLJKRiEb7pTTtrj0qWfTSXC_jMLS2E,1787
|
@@ -1852,7 +1852,7 @@ esphome/components/mcp9808/sensor.py,sha256=8dSMS73S0pbANOyfJDpeQu8YV1x8YayyEGp-
|
|
1852
1852
|
esphome/components/md5/__init__.py,sha256=UMOzKlaVJtzYULytE5P3aZOdVPKrdJAQb-NLxUQ4UUE,119
|
1853
1853
|
esphome/components/md5/md5.cpp,sha256=bMBkIoYH9rQt1_jALhJFMHztqtTUuEMznTFeRQbLcsw,1796
|
1854
1854
|
esphome/components/md5/md5.h,sha256=Q_qTnrjgWuyE-5j2366KgZdzL2253n0sCafU7ZozXN8,1476
|
1855
|
-
esphome/components/mdns/__init__.py,sha256=
|
1855
|
+
esphome/components/mdns/__init__.py,sha256=7_J0-06SlGHkHWWUrf_7xkqWfXk8vB1L-yjnHzBaS2c,3705
|
1856
1856
|
esphome/components/mdns/mdns_component.cpp,sha256=hSbIXyRaatXUwr2ByMFTYC_sCGoilinfIXGdle9nR2I,8366
|
1857
1857
|
esphome/components/mdns/mdns_component.h,sha256=hCM2noT922YAEt87sMK6pS8X4YtRR3n9BqSaBGpVrJQ,1438
|
1858
1858
|
esphome/components/mdns/mdns_esp32.cpp,sha256=dt6O4bgq1dDfXIaH7LBZUkcXFAMpOE-2RKY3VkkvTrE,1829
|
@@ -2256,7 +2256,7 @@ esphome/components/opt3001/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJ
|
|
2256
2256
|
esphome/components/opt3001/opt3001.cpp,sha256=ZM1SQwXupDHYpslMx26QSl7qb3KNDc6DUPnpgy-QtIs,4221
|
2257
2257
|
esphome/components/opt3001/opt3001.h,sha256=kV1FgTvHWk56QL7M7cIIOmupF59FRBk7t9EuNvMcIBY,782
|
2258
2258
|
esphome/components/opt3001/sensor.py,sha256=3EdGmBCpfPzTMaosAjYbZQPqQb7AEAKRR6Mc4bJyHvs,892
|
2259
|
-
esphome/components/ota/__init__.py,sha256=
|
2259
|
+
esphome/components/ota/__init__.py,sha256=zUOT-_DVW9VHz1JNnsE9TzR4PMjimEv-L46WouVZiDU,5078
|
2260
2260
|
esphome/components/ota/automation.h,sha256=0GhgDicYedDmMTX-yomlw-Ssl-B_2RbE0FDcTJTM0Ns,2037
|
2261
2261
|
esphome/components/ota/ota_backend.cpp,sha256=IfpR0mvzSs9ugJa2LRi4AtYHT4Ht6PoS9BY5Ydjs_eE,587
|
2262
2262
|
esphome/components/ota/ota_backend.h,sha256=GLTNB5ynFx8MmV5RePtdAxdB-7o8ubz5RLN91kiln1Y,3830
|
@@ -2286,7 +2286,7 @@ esphome/components/output/switch/__init__.py,sha256=yWYf5A46HDvaAHDyUhisP_SQeRwj
|
|
2286
2286
|
esphome/components/output/switch/output_switch.cpp,sha256=_NpPnnJyuVVClOxMVcAij9UVdiap3oLQJgsG6sTKyxI,636
|
2287
2287
|
esphome/components/output/switch/output_switch.h,sha256=irORSQtpjDivfCCaBQCHMek1AO5MPxH-ZfiTBitJajc,609
|
2288
2288
|
esphome/components/packages/__init__.py,sha256=ybF-I7HrXhAe1wbFwjPWWtfS0UbjOOBkbxCCsM1HkZc,6395
|
2289
|
-
esphome/components/packet_transport/__init__.py,sha256=
|
2289
|
+
esphome/components/packet_transport/__init__.py,sha256=Xrpf78g7xk3DZCAETFghQx6Nbmy5hp240o9zpxCRua8,6368
|
2290
2290
|
esphome/components/packet_transport/binary_sensor.py,sha256=vysjJ9KDTzDssdNOlOT_tNVLT3jv5a_GRw1H5czPBLY,2329
|
2291
2291
|
esphome/components/packet_transport/packet_transport.cpp,sha256=orygb4kg5L15h6p3i5mLQXCyKje19yDTBb3BMdML61Q,17360
|
2292
2292
|
esphome/components/packet_transport/packet_transport.h,sha256=8REDLYgpT3tjQyvpfz3eb_WKUJN9MXqN3x9Rdt7ndOk,5029
|
@@ -3498,10 +3498,10 @@ esphome/components/web_server/server_index_v3.h,sha256=5SZfSHDG4xAyXNBxUqs8-jSVw
|
|
3498
3498
|
esphome/components/web_server/web_server.cpp,sha256=lOdalJ1wTpkAOLnBvanxFqKXVV4lDcHzWBN4Qhe4SuI,69812
|
3499
3499
|
esphome/components/web_server/web_server.h,sha256=ZxpyQSeUB3Kj65CTW2MJDeAUl5Kv0PN6FFRRTE4hOBA,23987
|
3500
3500
|
esphome/components/web_server/web_server_v1.cpp,sha256=ZnFV1J2YAzAT2mtR-eeVgG1TSVpy953EF1yVKYdTcTg,7409
|
3501
|
-
esphome/components/web_server/ota/__init__.py,sha256=
|
3501
|
+
esphome/components/web_server/ota/__init__.py,sha256=VrKoEguXiiFcZ3sxV_i1WpA6MKtDM2gqgdoNV_HkfhY,1084
|
3502
3502
|
esphome/components/web_server/ota/ota_web_server.cpp,sha256=1HRC-pcl-fEVnv5hXQ5UXUSRgSfr5mdCUQWC4G-dWCU,8676
|
3503
3503
|
esphome/components/web_server/ota/ota_web_server.h,sha256=ZZQHTxb21gqukibGei-om00MxpBD4Qyy031PXBMmjT8,604
|
3504
|
-
esphome/components/web_server_base/__init__.py,sha256=
|
3504
|
+
esphome/components/web_server_base/__init__.py,sha256=rEb7lG5G04W1IU6as-RWogTGwSmiEUh5cs8eibkSYEg,1350
|
3505
3505
|
esphome/components/web_server_base/web_server_base.cpp,sha256=VlAnKn1jhHVca2LUL32CJRKTIvNKpxXTs4KLHw9he-E,909
|
3506
3506
|
esphome/components/web_server_base/web_server_base.h,sha256=xKlrCAtThydv7SxJohZJ1cLirtZgSQ34Qk1Ldnn0WPM,4150
|
3507
3507
|
esphome/components/web_server_idf/__init__.py,sha256=suQYP-zxgx9bk7qmUVQ0P8FkwXqajUKDoEwenxD20Hg,409
|
@@ -3766,9 +3766,9 @@ esphome/dashboard/util/itertools.py,sha256=8eLrWEWmICLtXNxkKdYPQV0c_N4GEz8m9Npnb
|
|
3766
3766
|
esphome/dashboard/util/password.py,sha256=cQz3b9B-ijTe7zS6BeCW0hc3pWv6JjC78jmnycYYAh8,321
|
3767
3767
|
esphome/dashboard/util/subprocess.py,sha256=T8EW6dbU4LPd2DG1dRrdh8li71tt6J1isn411poMhkk,1022
|
3768
3768
|
esphome/dashboard/util/text.py,sha256=wwFtORlvHjsYkqb68IT-772LHAhWxT4OtnkIcPICQB0,317
|
3769
|
-
esphome-2025.9.
|
3770
|
-
esphome-2025.9.
|
3771
|
-
esphome-2025.9.
|
3772
|
-
esphome-2025.9.
|
3773
|
-
esphome-2025.9.
|
3774
|
-
esphome-2025.9.
|
3769
|
+
esphome-2025.9.1.dist-info/licenses/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
|
3770
|
+
esphome-2025.9.1.dist-info/METADATA,sha256=n3ld_oeY7FeDe2SucDcIarpSD1-wamLXY8IJWrw2ZQI,3632
|
3771
|
+
esphome-2025.9.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
3772
|
+
esphome-2025.9.1.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
|
3773
|
+
esphome-2025.9.1.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
|
3774
|
+
esphome-2025.9.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|