esphome 2025.5.0b6__py3-none-any.whl → 2025.5.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/components/api/api_connection.cpp +6 -2
- esphome/components/esp32/core.cpp +8 -1
- esphome/components/logger/__init__.py +2 -0
- esphome/components/logger/select/__init__.py +5 -4
- esphome/components/lvgl/schemas.py +34 -20
- esphome/components/micro_wake_word/streaming_model.cpp +5 -1
- esphome/components/online_image/__init__.py +1 -1
- esphome/components/online_image/png_image.cpp +21 -1
- esphome/components/online_image/png_image.h +5 -3
- esphome/components/speaker/media_player/audio_pipeline.cpp +10 -10
- esphome/components/tuya/select/__init__.py +2 -2
- esphome/const.py +1 -1
- esphome/core/helpers.h +1 -0
- esphome/core/string_ref.h +1 -0
- esphome/dashboard/web_server.py +12 -7
- {esphome-2025.5.0b6.dist-info → esphome-2025.5.1.dist-info}/METADATA +1 -1
- {esphome-2025.5.0b6.dist-info → esphome-2025.5.1.dist-info}/RECORD +21 -21
- {esphome-2025.5.0b6.dist-info → esphome-2025.5.1.dist-info}/WHEEL +0 -0
- {esphome-2025.5.0b6.dist-info → esphome-2025.5.1.dist-info}/entry_points.txt +0 -0
- {esphome-2025.5.0b6.dist-info → esphome-2025.5.1.dist-info}/licenses/LICENSE +0 -0
- {esphome-2025.5.0b6.dist-info → esphome-2025.5.1.dist-info}/top_level.txt +0 -0
@@ -4,11 +4,11 @@
|
|
4
4
|
#include <cinttypes>
|
5
5
|
#include <utility>
|
6
6
|
#include "esphome/components/network/util.h"
|
7
|
+
#include "esphome/core/application.h"
|
7
8
|
#include "esphome/core/entity_base.h"
|
8
9
|
#include "esphome/core/hal.h"
|
9
10
|
#include "esphome/core/log.h"
|
10
11
|
#include "esphome/core/version.h"
|
11
|
-
#include "esphome/core/application.h"
|
12
12
|
|
13
13
|
#ifdef USE_DEEP_SLEEP
|
14
14
|
#include "esphome/components/deep_sleep/deep_sleep_component.h"
|
@@ -153,7 +153,11 @@ void APIConnection::loop() {
|
|
153
153
|
} else {
|
154
154
|
this->last_traffic_ = App.get_loop_component_start_time();
|
155
155
|
// read a packet
|
156
|
-
|
156
|
+
if (buffer.data_len > 0) {
|
157
|
+
this->read_message(buffer.data_len, buffer.type, &buffer.container[buffer.data_offset]);
|
158
|
+
} else {
|
159
|
+
this->read_message(0, buffer.type, nullptr);
|
160
|
+
}
|
157
161
|
if (this->remove_)
|
158
162
|
return;
|
159
163
|
}
|
@@ -15,8 +15,9 @@
|
|
15
15
|
#ifdef USE_ARDUINO
|
16
16
|
#include <Esp.h>
|
17
17
|
#else
|
18
|
+
#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 1, 0)
|
18
19
|
#include <esp_clk_tree.h>
|
19
|
-
|
20
|
+
#endif
|
20
21
|
void setup();
|
21
22
|
void loop();
|
22
23
|
#endif
|
@@ -63,7 +64,13 @@ uint32_t arch_get_cpu_cycle_count() { return cpu_hal_get_cycle_count(); }
|
|
63
64
|
uint32_t arch_get_cpu_freq_hz() {
|
64
65
|
uint32_t freq = 0;
|
65
66
|
#ifdef USE_ESP_IDF
|
67
|
+
#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 1, 0)
|
66
68
|
esp_clk_tree_src_get_freq_hz(SOC_MOD_CLK_CPU, ESP_CLK_TREE_SRC_FREQ_PRECISION_CACHED, &freq);
|
69
|
+
#else
|
70
|
+
rtc_cpu_freq_config_t config;
|
71
|
+
rtc_clk_cpu_freq_get_config(&config);
|
72
|
+
freq = config.freq_mhz * 1000000U;
|
73
|
+
#endif
|
67
74
|
#elif defined(USE_ARDUINO)
|
68
75
|
freq = ESP.getCpuFreqMHz() * 1000000;
|
69
76
|
#endif
|
@@ -24,6 +24,7 @@ from esphome.const import (
|
|
24
24
|
CONF_HARDWARE_UART,
|
25
25
|
CONF_ID,
|
26
26
|
CONF_LEVEL,
|
27
|
+
CONF_LOGGER,
|
27
28
|
CONF_LOGS,
|
28
29
|
CONF_ON_MESSAGE,
|
29
30
|
CONF_TAG,
|
@@ -247,6 +248,7 @@ CONFIG_SCHEMA = cv.All(
|
|
247
248
|
async def to_code(config):
|
248
249
|
baud_rate = config[CONF_BAUD_RATE]
|
249
250
|
level = config[CONF_LEVEL]
|
251
|
+
CORE.data.setdefault(CONF_LOGGER, {})[CONF_LEVEL] = level
|
250
252
|
initial_level = LOG_LEVELS[config.get(CONF_INITIAL_LEVEL, level)]
|
251
253
|
log = cg.new_Pvariable(
|
252
254
|
config[CONF_ID],
|
@@ -5,7 +5,7 @@ from esphome.const import CONF_LEVEL, CONF_LOGGER, ENTITY_CATEGORY_CONFIG, ICON_
|
|
5
5
|
from esphome.core import CORE
|
6
6
|
from esphome.cpp_helpers import register_component, register_parented
|
7
7
|
|
8
|
-
from .. import CONF_LOGGER_ID,
|
8
|
+
from .. import CONF_LOGGER_ID, LOG_LEVELS, Logger, logger_ns
|
9
9
|
|
10
10
|
CODEOWNERS = ["@clydebarrow"]
|
11
11
|
|
@@ -21,9 +21,10 @@ CONFIG_SCHEMA = select.select_schema(
|
|
21
21
|
|
22
22
|
|
23
23
|
async def to_code(config):
|
24
|
-
|
25
|
-
|
24
|
+
parent = await cg.get_variable(config[CONF_LOGGER_ID])
|
25
|
+
levels = list(LOG_LEVELS)
|
26
|
+
index = levels.index(CORE.data[CONF_LOGGER][CONF_LEVEL])
|
26
27
|
levels = levels[: index + 1]
|
27
28
|
var = await select.new_select(config, options=levels)
|
28
|
-
await register_parented(var,
|
29
|
+
await register_parented(var, parent)
|
29
30
|
await register_component(var, config)
|
@@ -36,29 +36,43 @@ from .types import (
|
|
36
36
|
# this will be populated later, in __init__.py to avoid circular imports.
|
37
37
|
WIDGET_TYPES: dict = {}
|
38
38
|
|
39
|
+
TIME_TEXT_SCHEMA = cv.Schema(
|
40
|
+
{
|
41
|
+
cv.Required(CONF_TIME_FORMAT): cv.string,
|
42
|
+
cv.GenerateID(CONF_TIME): cv.templatable(cv.use_id(RealTimeClock)),
|
43
|
+
}
|
44
|
+
)
|
45
|
+
|
46
|
+
PRINTF_TEXT_SCHEMA = cv.All(
|
47
|
+
cv.Schema(
|
48
|
+
{
|
49
|
+
cv.Required(CONF_FORMAT): cv.string,
|
50
|
+
cv.Optional(CONF_ARGS, default=list): cv.ensure_list(cv.lambda_),
|
51
|
+
},
|
52
|
+
),
|
53
|
+
validate_printf,
|
54
|
+
)
|
55
|
+
|
56
|
+
|
57
|
+
def _validate_text(value):
|
58
|
+
"""
|
59
|
+
Do some sanity checking of the format to get better error messages
|
60
|
+
than using cv.Any
|
61
|
+
"""
|
62
|
+
if value is None:
|
63
|
+
raise cv.Invalid("No text specified")
|
64
|
+
if isinstance(value, dict):
|
65
|
+
if CONF_TIME_FORMAT in value:
|
66
|
+
return TIME_TEXT_SCHEMA(value)
|
67
|
+
return PRINTF_TEXT_SCHEMA(value)
|
68
|
+
|
69
|
+
return cv.templatable(cv.string)(value)
|
70
|
+
|
71
|
+
|
39
72
|
# A schema for text properties
|
40
73
|
TEXT_SCHEMA = cv.Schema(
|
41
74
|
{
|
42
|
-
cv.Optional(CONF_TEXT):
|
43
|
-
cv.All(
|
44
|
-
cv.Schema(
|
45
|
-
{
|
46
|
-
cv.Required(CONF_FORMAT): cv.string,
|
47
|
-
cv.Optional(CONF_ARGS, default=list): cv.ensure_list(
|
48
|
-
cv.lambda_
|
49
|
-
),
|
50
|
-
},
|
51
|
-
),
|
52
|
-
validate_printf,
|
53
|
-
),
|
54
|
-
cv.Schema(
|
55
|
-
{
|
56
|
-
cv.Required(CONF_TIME_FORMAT): cv.string,
|
57
|
-
cv.GenerateID(CONF_TIME): cv.templatable(cv.use_id(RealTimeClock)),
|
58
|
-
}
|
59
|
-
),
|
60
|
-
cv.templatable(cv.string),
|
61
|
-
)
|
75
|
+
cv.Optional(CONF_TEXT): _validate_text,
|
62
76
|
}
|
63
77
|
)
|
64
78
|
|
@@ -147,7 +147,11 @@ bool StreamingModel::perform_streaming_inference(const int8_t features[PREPROCES
|
|
147
147
|
this->recent_streaming_probabilities_[this->last_n_index_] = output->data.uint8[0]; // probability;
|
148
148
|
this->unprocessed_probability_status_ = true;
|
149
149
|
}
|
150
|
-
this->
|
150
|
+
if (this->recent_streaming_probabilities_[this->last_n_index_] < this->probability_cutoff_) {
|
151
|
+
// Only increment ignore windows if less than the probability cutoff; this forces the model to "cool-off" from a
|
152
|
+
// previous detection and calling ``reset_probabilities`` so it avoids duplicate detections
|
153
|
+
this->ignore_windows_ = std::min(this->ignore_windows_ + 1, 0);
|
154
|
+
}
|
151
155
|
}
|
152
156
|
return true;
|
153
157
|
}
|
@@ -34,12 +34,32 @@ static void init_callback(pngle_t *pngle, uint32_t w, uint32_t h) {
|
|
34
34
|
* @param h The height of the rectangle to draw.
|
35
35
|
* @param rgba The color to paint the rectangle in.
|
36
36
|
*/
|
37
|
-
static void draw_callback(pngle_t *pngle, uint32_t x, uint32_t y, uint32_t w, uint32_t h, uint8_t rgba[4]) {
|
37
|
+
static void draw_callback(pngle_t *pngle, uint32_t x, uint32_t y, uint32_t w, uint32_t h, const uint8_t rgba[4]) {
|
38
38
|
PngDecoder *decoder = (PngDecoder *) pngle_get_user_data(pngle);
|
39
39
|
Color color(rgba[0], rgba[1], rgba[2], rgba[3]);
|
40
40
|
decoder->draw(x, y, w, h, color);
|
41
41
|
}
|
42
42
|
|
43
|
+
PngDecoder::PngDecoder(OnlineImage *image) : ImageDecoder(image) {
|
44
|
+
{
|
45
|
+
pngle_t *pngle = this->allocator_.allocate(1, PNGLE_T_SIZE);
|
46
|
+
if (!pngle) {
|
47
|
+
ESP_LOGE(TAG, "Failed to allocate memory for PNGLE engine!");
|
48
|
+
return;
|
49
|
+
}
|
50
|
+
memset(pngle, 0, PNGLE_T_SIZE);
|
51
|
+
pngle_reset(pngle);
|
52
|
+
this->pngle_ = pngle;
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
PngDecoder::~PngDecoder() {
|
57
|
+
if (this->pngle_) {
|
58
|
+
pngle_reset(this->pngle_);
|
59
|
+
this->allocator_.deallocate(this->pngle_, PNGLE_T_SIZE);
|
60
|
+
}
|
61
|
+
}
|
62
|
+
|
43
63
|
int PngDecoder::prepare(size_t download_size) {
|
44
64
|
ImageDecoder::prepare(download_size);
|
45
65
|
if (!this->pngle_) {
|
@@ -1,7 +1,8 @@
|
|
1
1
|
#pragma once
|
2
2
|
|
3
|
-
#include "image_decoder.h"
|
4
3
|
#include "esphome/core/defines.h"
|
4
|
+
#include "esphome/core/helpers.h"
|
5
|
+
#include "image_decoder.h"
|
5
6
|
#ifdef USE_ONLINE_IMAGE_PNG_SUPPORT
|
6
7
|
#include <pngle.h>
|
7
8
|
|
@@ -18,13 +19,14 @@ class PngDecoder : public ImageDecoder {
|
|
18
19
|
*
|
19
20
|
* @param display The image to decode the stream into.
|
20
21
|
*/
|
21
|
-
PngDecoder(OnlineImage *image)
|
22
|
-
~PngDecoder() override
|
22
|
+
PngDecoder(OnlineImage *image);
|
23
|
+
~PngDecoder() override;
|
23
24
|
|
24
25
|
int prepare(size_t download_size) override;
|
25
26
|
int HOT decode(uint8_t *buffer, size_t size) override;
|
26
27
|
|
27
28
|
protected:
|
29
|
+
RAMAllocator<pngle_t> allocator_;
|
28
30
|
pngle_t *pngle_;
|
29
31
|
};
|
30
32
|
|
@@ -174,6 +174,16 @@ AudioPipelineState AudioPipeline::process_state() {
|
|
174
174
|
}
|
175
175
|
}
|
176
176
|
|
177
|
+
if ((event_bits & EventGroupBits::READER_MESSAGE_ERROR)) {
|
178
|
+
xEventGroupClearBits(this->event_group_, EventGroupBits::READER_MESSAGE_ERROR);
|
179
|
+
return AudioPipelineState::ERROR_READING;
|
180
|
+
}
|
181
|
+
|
182
|
+
if ((event_bits & EventGroupBits::DECODER_MESSAGE_ERROR)) {
|
183
|
+
xEventGroupClearBits(this->event_group_, EventGroupBits::DECODER_MESSAGE_ERROR);
|
184
|
+
return AudioPipelineState::ERROR_DECODING;
|
185
|
+
}
|
186
|
+
|
177
187
|
if ((event_bits & EventGroupBits::READER_MESSAGE_FINISHED) &&
|
178
188
|
(!(event_bits & EventGroupBits::READER_MESSAGE_LOADED_MEDIA_TYPE) &&
|
179
189
|
(event_bits & EventGroupBits::DECODER_MESSAGE_FINISHED))) {
|
@@ -203,16 +213,6 @@ AudioPipelineState AudioPipeline::process_state() {
|
|
203
213
|
return AudioPipelineState::STOPPED;
|
204
214
|
}
|
205
215
|
|
206
|
-
if ((event_bits & EventGroupBits::READER_MESSAGE_ERROR)) {
|
207
|
-
xEventGroupClearBits(this->event_group_, EventGroupBits::READER_MESSAGE_ERROR);
|
208
|
-
return AudioPipelineState::ERROR_READING;
|
209
|
-
}
|
210
|
-
|
211
|
-
if ((event_bits & EventGroupBits::DECODER_MESSAGE_ERROR)) {
|
212
|
-
xEventGroupClearBits(this->event_group_, EventGroupBits::DECODER_MESSAGE_ERROR);
|
213
|
-
return AudioPipelineState::ERROR_DECODING;
|
214
|
-
}
|
215
|
-
|
216
216
|
if (this->pause_state_) {
|
217
217
|
return AudioPipelineState::PAUSED;
|
218
218
|
}
|
@@ -54,8 +54,8 @@ async def to_code(config):
|
|
54
54
|
cg.add(var.set_select_mappings(list(options_map.keys())))
|
55
55
|
parent = await cg.get_variable(config[CONF_TUYA_ID])
|
56
56
|
cg.add(var.set_tuya_parent(parent))
|
57
|
-
if enum_datapoint := config.get(CONF_ENUM_DATAPOINT, None) is not None:
|
57
|
+
if (enum_datapoint := config.get(CONF_ENUM_DATAPOINT, None)) is not None:
|
58
58
|
cg.add(var.set_select_id(enum_datapoint, False))
|
59
|
-
if int_datapoint := config.get(CONF_INT_DATAPOINT, None) is not None:
|
59
|
+
if (int_datapoint := config.get(CONF_INT_DATAPOINT, None)) is not None:
|
60
60
|
cg.add(var.set_select_id(int_datapoint, True))
|
61
61
|
cg.add(var.set_optimistic(config[CONF_OPTIMISTIC]))
|
esphome/const.py
CHANGED
esphome/core/helpers.h
CHANGED
esphome/core/string_ref.h
CHANGED
esphome/dashboard/web_server.py
CHANGED
@@ -601,10 +601,12 @@ class DownloadListRequestHandler(BaseHandler):
|
|
601
601
|
loop = asyncio.get_running_loop()
|
602
602
|
try:
|
603
603
|
downloads_json = await loop.run_in_executor(None, self._get, configuration)
|
604
|
-
except vol.Invalid:
|
604
|
+
except vol.Invalid as exc:
|
605
|
+
_LOGGER.exception("Error while fetching downloads", exc_info=exc)
|
605
606
|
self.send_error(404)
|
606
607
|
return
|
607
608
|
if downloads_json is None:
|
609
|
+
_LOGGER.error("Configuration %s not found", configuration)
|
608
610
|
self.send_error(404)
|
609
611
|
return
|
610
612
|
self.set_status(200)
|
@@ -618,14 +620,17 @@ class DownloadListRequestHandler(BaseHandler):
|
|
618
620
|
if storage_json is None:
|
619
621
|
return None
|
620
622
|
|
621
|
-
|
623
|
+
try:
|
624
|
+
config = yaml_util.load_yaml(settings.rel_path(configuration))
|
622
625
|
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
626
|
+
if const.CONF_EXTERNAL_COMPONENTS in config:
|
627
|
+
from esphome.components.external_components import (
|
628
|
+
do_external_components_pass,
|
629
|
+
)
|
627
630
|
|
628
|
-
|
631
|
+
do_external_components_pass(config)
|
632
|
+
except vol.Invalid:
|
633
|
+
_LOGGER.info("Could not parse `external_components`, skipping")
|
629
634
|
|
630
635
|
from esphome.components.esp32 import VARIANTS as ESP32_VARIANTS
|
631
636
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: esphome
|
3
|
-
Version: 2025.5.
|
3
|
+
Version: 2025.5.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
|
@@ -5,7 +5,7 @@ esphome/codegen.py,sha256=GePHUM7xdXb_Pil59SHVsXg2F4VBPgkH-Fz2PDX8Z54,1873
|
|
5
5
|
esphome/config.py,sha256=-SoMrYNlKL85sYK_t_UQXKEKm-xrZYhyRqwiUpBXyXE,39896
|
6
6
|
esphome/config_helpers.py,sha256=MKf_wzO35nn41FvigXE0iYKDslPgL2ruf8R-EPtTT2I,3256
|
7
7
|
esphome/config_validation.py,sha256=vEDw3u5jfyZbELimFLjTK5YuupBwKI8Np8HUo7oqpoo,61434
|
8
|
-
esphome/const.py,sha256=
|
8
|
+
esphome/const.py,sha256=aaeYPUtcOBNoZIeBpzK2voqOgBCVyz1j2PGgRWEzHR0,41480
|
9
9
|
esphome/coroutine.py,sha256=j_14z8dIIzIBeuNO30D4c1RJvMMt1xZFZ58Evd-EvJA,9344
|
10
10
|
esphome/cpp_generator.py,sha256=39sLZ_f7UKrTOKKG5PVNQ6ucSRJFP0FYEhDN82DCO6Y,31377
|
11
11
|
esphome/cpp_helpers.py,sha256=6C2vNbOIhZKi43xRVlk5hp9GfshfBn-rc5D_ZFUEYaE,4801
|
@@ -182,7 +182,7 @@ esphome/components/apds9960/apds9960.h,sha256=oFrXPQrPDS16gNSVdN1n6SKuvjwc9LdvpK
|
|
182
182
|
esphome/components/apds9960/binary_sensor.py,sha256=MvCYb6pTgOU48TMm_YhN6uHKkoFKFvhma3lwQQD9xfM,787
|
183
183
|
esphome/components/apds9960/sensor.py,sha256=vUPm5H_IFROftGlMJWfgqSzm0IeLpYh5DvtA_DL1Amk,872
|
184
184
|
esphome/components/api/__init__.py,sha256=eDf1EuKrpeQ9bu3KDim5VvwDaAekzBGFXQJV50mPXf4,10459
|
185
|
-
esphome/components/api/api_connection.cpp,sha256=
|
185
|
+
esphome/components/api/api_connection.cpp,sha256=JTQC3LIV5VG8BbJDcGckbIed1gC8FhU5yKyN43nmtUc,69030
|
186
186
|
esphome/components/api/api_connection.h,sha256=JvnTtRbBOJatkjeAra--7MY72cQooeiYo7B3paOKhg4,21419
|
187
187
|
esphome/components/api/api_frame_helper.cpp,sha256=bFmRYeRiIXxyevKcziDvjKjI0ofvFT5-44U0Ux6zJDA,38336
|
188
188
|
esphome/components/api/api_frame_helper.h,sha256=TT3s7f4tWwhEJ9yhB2osU9R7f34MD8MO6EFAOeyq0Zk,8214
|
@@ -799,7 +799,7 @@ esphome/components/es8311/es8311_const.h,sha256=bUBF4DJ28DcLPHznvh30Guewi65mSqQb
|
|
799
799
|
esphome/components/esp32/__init__.py,sha256=69TidRc1h15dsAP4Mrx7dnAJGpumJKsYr50Fc-kg25E,33238
|
800
800
|
esphome/components/esp32/boards.py,sha256=BSabIM_DaDXFkPvGemv_3mcqFgEUt2lAnxN5EFpCO9U,52725
|
801
801
|
esphome/components/esp32/const.py,sha256=2yxLQg3p2-S3nRL6-zsF_dICrP_6waUfY5k8EFsoyVM,966
|
802
|
-
esphome/components/esp32/core.cpp,sha256=
|
802
|
+
esphome/components/esp32/core.cpp,sha256=7O7S5bJPNUeX8ge1mxpyZ1WzxTf1fFDCRK3P5UxZvq8,2865
|
803
803
|
esphome/components/esp32/gpio.cpp,sha256=29SanxYKoiTw2sdn93X5Y0uigKJlhaApu6Jc-pJLXpY,6607
|
804
804
|
esphome/components/esp32/gpio.h,sha256=fIPLaMPSodwS4anI4DdOrWPee3pHR3GLHLSTlwPuRzY,1298
|
805
805
|
esphome/components/esp32/gpio.py,sha256=18VkjM_PA_Ux7jV_XG6HDLYGO9bj5vPUBTvU_rcP6GY,7229
|
@@ -1498,7 +1498,7 @@ esphome/components/lock/__init__.py,sha256=Ggh0T9KdTDyqmAeDzbmAYxnJzVVWkij2KylJt
|
|
1498
1498
|
esphome/components/lock/automation.h,sha256=7MU5AuJizydt7mKTr_uFsNleFI2jeBf7B_dNp3e8Fks,1771
|
1499
1499
|
esphome/components/lock/lock.cpp,sha256=IyEt5xShAxMpmcn_GAPFv2lRCS-kr4MjjfExxfXuK-Q,3212
|
1500
1500
|
esphome/components/lock/lock.h,sha256=kFFccTAu56e6PhZVATW0NznOj0M7VByEn9gc6l5M3eA,6042
|
1501
|
-
esphome/components/logger/__init__.py,sha256=
|
1501
|
+
esphome/components/logger/__init__.py,sha256=OOKS7yGtVaqIBoA0Y36mwNlK2H8182uDdy4cGPZwajA,14822
|
1502
1502
|
esphome/components/logger/logger.cpp,sha256=9dxWxuHgWpwMiD27CuQgXbkGMiC3Uc84iglwj67OSP0,10485
|
1503
1503
|
esphome/components/logger/logger.h,sha256=73V1H5FoZCpFmVUGlNG2FNev4Zgp7F9tFBhnOKdMrD8,13021
|
1504
1504
|
esphome/components/logger/logger_esp32.cpp,sha256=SOLN5oHiVbnItxw4wdhvNdeunwgY7FR5j752fEt9__M,6101
|
@@ -1508,7 +1508,7 @@ esphome/components/logger/logger_libretiny.cpp,sha256=-GTn0YT2m2X2JS4H2R6w7kXUWz
|
|
1508
1508
|
esphome/components/logger/logger_rp2040.cpp,sha256=7X29d8hO65NIYS7fZoeyCR0oXC2LQcNuSAFtlvSniYw,991
|
1509
1509
|
esphome/components/logger/task_log_buffer.cpp,sha256=De8xetK8CYpQtjyt0jashw97IejgtRdBcuT1uHOmnPo,4616
|
1510
1510
|
esphome/components/logger/task_log_buffer.h,sha256=6E-H7Pe914Y-kPpfJJWlN7xtHoIPUpwoCNMCkrp1S4Y,2670
|
1511
|
-
esphome/components/logger/select/__init__.py,sha256=
|
1511
|
+
esphome/components/logger/select/__init__.py,sha256=a24OApXDycQ2ZtUrWtbdVpwicKRIhGqpJSyibhCQ6eE,1022
|
1512
1512
|
esphome/components/logger/select/logger_level_select.cpp,sha256=VTInyo463i-Qoin4c251e0nXKhsgTkixlQ1rwE1EC3s,627
|
1513
1513
|
esphome/components/logger/select/logger_level_select.h,sha256=rjUmIsZKszI8fK4FH--jkpmW4aDMNewiz8GOQoCtyn8,442
|
1514
1514
|
esphome/components/ltr390/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1540,7 +1540,7 @@ esphome/components/lvgl/lvgl_esphome.cpp,sha256=YqbEb-zHjPptK9H9x157ozIJIpiefho0
|
|
1540
1540
|
esphome/components/lvgl/lvgl_esphome.h,sha256=8a5DaKfK0jWa1dQsA0bC0aw_RoPrLXC5vcBzVi4CCXU,13927
|
1541
1541
|
esphome/components/lvgl/lvgl_hal.h,sha256=aZqWpSmKKAB-ZfNxxgxjgASTtLpAZjXJKuoTiPB0qqU,431
|
1542
1542
|
esphome/components/lvgl/lvgl_proxy.h,sha256=JPmVBVh5zD5nraJCN7PqXVmQQlc4CPJe_X9tA6IAtXQ,547
|
1543
|
-
esphome/components/lvgl/schemas.py,sha256=
|
1543
|
+
esphome/components/lvgl/schemas.py,sha256=QySqz2vz4pON2HSBCHp-8tH19T7xrVUvRyoB3820aos,16398
|
1544
1544
|
esphome/components/lvgl/styles.py,sha256=HTqSzCIy2WUZhhChafVhBeVEemWqFfNyWtXII34XI7k,3010
|
1545
1545
|
esphome/components/lvgl/touchscreens.py,sha256=CntwVa1EUu6iBnxfvuv0rCYd_Njmf451CYdRqQyb9N4,1607
|
1546
1546
|
esphome/components/lvgl/trigger.py,sha256=nk36OgqEQWuSwFsTHprM-bhIjh15bh3NyrsK-ffqGsw,3442
|
@@ -1741,7 +1741,7 @@ esphome/components/micro_wake_word/automation.h,sha256=7Wx_ys9SK_coI1ychdtHTkxyE
|
|
1741
1741
|
esphome/components/micro_wake_word/micro_wake_word.cpp,sha256=vNqDK32iVXHxxa9UF7NrN_hHWsatRkirM-RtrzioDXU,17495
|
1742
1742
|
esphome/components/micro_wake_word/micro_wake_word.h,sha256=OUgT_KQB4Lr9JWuSKAn1PgtlhhR5f98LKoIzFL-nzyI,4200
|
1743
1743
|
esphome/components/micro_wake_word/preprocessor_settings.h,sha256=q-bNGC0UjUmx4WVvjI-T3RhPJHiMoT65NSlBs2YRX8s,1299
|
1744
|
-
esphome/components/micro_wake_word/streaming_model.cpp,sha256=
|
1744
|
+
esphome/components/micro_wake_word/streaming_model.cpp,sha256=fsVovrBmKkF6wLPbDzIH3aoQDbFGDb-T4mdzQU-GFIU,10804
|
1745
1745
|
esphome/components/micro_wake_word/streaming_model.h,sha256=2AT76eAKIGqtEFiNtsMARTTVOXxjjjRnxgYBZOumdM0,6170
|
1746
1746
|
esphome/components/micronova/__init__.py,sha256=iPElnW5XWXLEvZe1wWqgbRY_xhqiQNI7SB521tVJkXI,2668
|
1747
1747
|
esphome/components/micronova/micronova.cpp,sha256=gc0xDasM0sBvU6BNnT24ArBJ1bgrnoPcq9dWLuFbTD8,5297
|
@@ -2051,7 +2051,7 @@ esphome/components/one_wire/one_wire.cpp,sha256=bkAEEIDm3cCPM4RqDs-ZSZ4Moxbm7Fm8
|
|
2051
2051
|
esphome/components/one_wire/one_wire.h,sha256=QyYHANwfSz3xx9EKFtgxi2VRlzSQdfubyWXqZcuIzPI,1249
|
2052
2052
|
esphome/components/one_wire/one_wire_bus.cpp,sha256=gDFELdtwfDzOFevUJplZReGTSd8ggtxMZlysIOaunEw,2374
|
2053
2053
|
esphome/components/one_wire/one_wire_bus.h,sha256=eFNPYr6zduzj3HPiR4OIl6rzeWbN06E2BiPMws6NsFc,1626
|
2054
|
-
esphome/components/online_image/__init__.py,sha256=
|
2054
|
+
esphome/components/online_image/__init__.py,sha256=4MHDLi0iGBTuDS3ns5EjkaiTcN6Qr2q-cRD1_il1z2c,6231
|
2055
2055
|
esphome/components/online_image/bmp_image.cpp,sha256=3juptNvpk8tL5iyOlB2hKsJRPOH47Rn5liDBn1Cpi-s,4513
|
2056
2056
|
esphome/components/online_image/bmp_image.h,sha256=oOqxJ_6eC_73pQ5funjNB36tYWUZkHPagoo0XWJe_v8,933
|
2057
2057
|
esphome/components/online_image/image_decoder.cpp,sha256=p_693Ac8F-vs2n_1AZ7E57HBfLhAeeBWYpI3tDy6rnE,2215
|
@@ -2060,8 +2060,8 @@ esphome/components/online_image/jpeg_image.cpp,sha256=1qDTfzp7H6oxuRVBVXXgglourm
|
|
2060
2060
|
esphome/components/online_image/jpeg_image.h,sha256=RxlXrSxgd_j7tXYMGdkU1gVmkWB6Jc0YHuq13NrY9fc,741
|
2061
2061
|
esphome/components/online_image/online_image.cpp,sha256=NpXUoKdbIJRdPcY5tQ-fxa6WLpTYeRs8sHJnNP2M2pA,10585
|
2062
2062
|
esphome/components/online_image/online_image.h,sha256=40F0zWRI0p6A8pFfQdQ1eD5tnwgCxBDbeNcpCHgeUzk,7177
|
2063
|
-
esphome/components/online_image/png_image.cpp,sha256=
|
2064
|
-
esphome/components/online_image/png_image.h,sha256=
|
2063
|
+
esphome/components/online_image/png_image.cpp,sha256=HjglIePX4mMDlXMVjxfJJagYGLpnZCH9kyF-gH9BIc0,2922
|
2064
|
+
esphome/components/online_image/png_image.h,sha256=8hu7kw5nCP_uFSRk8JItr3_zZoXMSoe-xFV7Omd0H_c,776
|
2065
2065
|
esphome/components/opentherm/__init__.py,sha256=akuY6Z1QUybE_yrD3Yg6_GWQDQE5U5nO018OBxSCMco,5479
|
2066
2066
|
esphome/components/opentherm/automation.h,sha256=7Ob3hTNE0lwAO7jdJf2nuTzTPU__FI5psfn8j-4edsQ,627
|
2067
2067
|
esphome/components/opentherm/const.py,sha256=MercQyNt4vj245_74-O-ZULGjq19jux99aVFteiEVEU,244
|
@@ -2741,7 +2741,7 @@ esphome/components/speaker/__init__.py,sha256=2juDem8QadLMwzFp8Rvl-KeIbE-iIEsCtD
|
|
2741
2741
|
esphome/components/speaker/automation.h,sha256=tVSTV49GvHk0bCEgLz3rNYFe8B1F0kXLgE-WihuRaV8,2320
|
2742
2742
|
esphome/components/speaker/speaker.h,sha256=Y6EuDzsIx8GDcFeWnYXg4cXiBU-6CkmrRCaMpXQYiWo,4355
|
2743
2743
|
esphome/components/speaker/media_player/__init__.py,sha256=bVvoKj9yiG0MOWFrMLAwnxdNjq8kxqUYRuokiCv7m4c,15264
|
2744
|
-
esphome/components/speaker/media_player/audio_pipeline.cpp,sha256=
|
2744
|
+
esphome/components/speaker/media_player/audio_pipeline.cpp,sha256=UYIc3ntV98vTADPj7CJLerSguhVQGScCOdtCOdMZ0pU,22362
|
2745
2745
|
esphome/components/speaker/media_player/audio_pipeline.h,sha256=MYt7_kp4IJDSTnXWqLaXIkbbNkGx6F_imSryFo2UUkc,5000
|
2746
2746
|
esphome/components/speaker/media_player/automation.h,sha256=I8psUHnJ8T3fkM05h1yEYDxb0yWe6Vjz7i30OSVA3Is,683
|
2747
2747
|
esphome/components/speaker/media_player/speaker_media_player.cpp,sha256=JpsDQjfEPZHuTofYzCcM92H5KkULyrua_z63mORqnDU,22668
|
@@ -3146,7 +3146,7 @@ esphome/components/tuya/light/tuya_light.h,sha256=uZ6FGnQ8IVXI6G7GpXs_QDcEzudqct
|
|
3146
3146
|
esphome/components/tuya/number/__init__.py,sha256=IJkUx89TiMNS2IwTLk6h_awtXqYP97wgWYw-ENGNq0Y,3188
|
3147
3147
|
esphome/components/tuya/number/tuya_number.cpp,sha256=hsTOxp3yV7CXeIXKzaShMuloSFHbHpyzJYP0EaNShnk,3084
|
3148
3148
|
esphome/components/tuya/number/tuya_number.h,sha256=scGw2WHoxcRkjwoLyW7yKNc2ZRVf4BeWnWnOYdWA7qQ,1125
|
3149
|
-
esphome/components/tuya/select/__init__.py,sha256=
|
3149
|
+
esphome/components/tuya/select/__init__.py,sha256=MGCSbYVB3JFJieImChsNAdQ07Shwzi-l6tJX5tNZB6Q,2019
|
3150
3150
|
esphome/components/tuya/select/tuya_select.cpp,sha256=7D2NQX29LDndyWzroQVjq2k9uQ4BtivtHmsUS98FdEw,1893
|
3151
3151
|
esphome/components/tuya/select/tuya_select.h,sha256=QQI1gglXhgfYri9CRc5sxzVHg2UVZFDyKYoBwMr5WPw,924
|
3152
3152
|
esphome/components/tuya/sensor/__init__.py,sha256=H301WiiVq8f3F84PJpJZojRgHnmW9TpLZwMLmLfpJB4,903
|
@@ -3505,7 +3505,7 @@ esphome/core/entity_helpers.py,sha256=s5lYCG5hu_1SROtSWgzI0T6802l5-I8udGy1_6HNSd
|
|
3505
3505
|
esphome/core/gpio.h,sha256=kLkCnPxu4_1CsLR4BI_Baj1lDGoRIh8uubbwsIkJPIA,2575
|
3506
3506
|
esphome/core/hal.h,sha256=e3qFkax3jfncEusf3kwXCts0Ai7D4XspJgh-VqVDcK4,844
|
3507
3507
|
esphome/core/helpers.cpp,sha256=jdQr3nSMOj6bIFColDaxMa3_BsyL4gHi0FzeXNY5-rw,25140
|
3508
|
-
esphome/core/helpers.h,sha256=
|
3508
|
+
esphome/core/helpers.h,sha256=qGssN0aPZbEyt8PrqZ-I8bd_N7RuBN4KhzM-qdkagPA,30317
|
3509
3509
|
esphome/core/log.cpp,sha256=MDCx87ytW6Fz6basxYUpagkubFzUKO1ysvU5RXbXoII,1581
|
3510
3510
|
esphome/core/log.h,sha256=hnRVgv7LjfmCpFAFa5Trt_HmmChAm64j8a9c_N3GQXw,6493
|
3511
3511
|
esphome/core/macros.h,sha256=yNx3-Dq7tSRe40Ip_Kbhp9e6w7oDhxlWlGBDLRlZaUI,244
|
@@ -3516,7 +3516,7 @@ esphome/core/ring_buffer.h,sha256=4SeN2DYZLCHrLIjSPDsiAynIjwOoItiRUDO-u1wjq-o,29
|
|
3516
3516
|
esphome/core/scheduler.cpp,sha256=RUoEer5bFG8e7AH5sKa_aeeVyGHYIhOnpv6P5lNDIWw,11179
|
3517
3517
|
esphome/core/scheduler.h,sha256=zdC14yXpXrj54c4kUQMqDmnEHBdJlfrTLR1YRfPQDtE,2161
|
3518
3518
|
esphome/core/string_ref.cpp,sha256=of1TYMY6t3t4HjjPLSiItuPSa62AMG0lK_CU2HS1RvM,242
|
3519
|
-
esphome/core/string_ref.h,sha256=
|
3519
|
+
esphome/core/string_ref.h,sha256=Rd8HVBiUZrPA3TkPCwuAxGw91VX-e3Fky812OCNhNvA,5227
|
3520
3520
|
esphome/core/time.cpp,sha256=70xJvr0_ytMWtkxyT8gSkGgPGekzKiKUs08-7-FHNd0,7602
|
3521
3521
|
esphome/core/time.h,sha256=aQd7M_tO2X5ErvjTxpB6LmvdwJQjGlEfaqYe8rMkYWY,4347
|
3522
3522
|
esphome/core/util.cpp,sha256=gbTBqOdLxWIxv9h8HFrLPZ96HZI6PBY-WBB_gdiqEts,774
|
@@ -3530,7 +3530,7 @@ esphome/dashboard/dns.py,sha256=VrItOGoZO1xBUQr3AXekYtGzzpPxCfxB7h97qt7ixk0,1545
|
|
3530
3530
|
esphome/dashboard/entries.py,sha256=SWKJRQ7Zrm9dNm_yt34Ws1RY7rN1YgQysuU0lId7fq8,15666
|
3531
3531
|
esphome/dashboard/enum.py,sha256=rlQFVVxyBt5Iw7OL0o9F8D5LGgw23tbvi-KYjzP0QUQ,597
|
3532
3532
|
esphome/dashboard/settings.py,sha256=1iIGNTgU7xg6xvjazHYq8UHC6JXocKjKlsed0cQ-nkw,2858
|
3533
|
-
esphome/dashboard/web_server.py,sha256=
|
3533
|
+
esphome/dashboard/web_server.py,sha256=j5VGWK0A3phInRgMAo_cXCUbOmRqM2BzDXaJd15xgfQ,43714
|
3534
3534
|
esphome/dashboard/status/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3535
3535
|
esphome/dashboard/status/mdns.py,sha256=jAjLuysjr29HUGA0Y_IQp4D1Qm-d3yHdHY6K00gUCD4,4775
|
3536
3536
|
esphome/dashboard/status/mqtt.py,sha256=2QOq1vgwJCHW5uL_hqmi_R5fX5OTeTJUHx7c0pMLQKE,2578
|
@@ -3541,9 +3541,9 @@ esphome/dashboard/util/itertools.py,sha256=8eLrWEWmICLtXNxkKdYPQV0c_N4GEz8m9Npnb
|
|
3541
3541
|
esphome/dashboard/util/password.py,sha256=cQz3b9B-ijTe7zS6BeCW0hc3pWv6JjC78jmnycYYAh8,321
|
3542
3542
|
esphome/dashboard/util/subprocess.py,sha256=T8EW6dbU4LPd2DG1dRrdh8li71tt6J1isn411poMhkk,1022
|
3543
3543
|
esphome/dashboard/util/text.py,sha256=ENDnfN4O0NdA3CKVJjQYabFbwbrsIhVKrAMQe53qYu4,534
|
3544
|
-
esphome-2025.5.
|
3545
|
-
esphome-2025.5.
|
3546
|
-
esphome-2025.5.
|
3547
|
-
esphome-2025.5.
|
3548
|
-
esphome-2025.5.
|
3549
|
-
esphome-2025.5.
|
3544
|
+
esphome-2025.5.1.dist-info/licenses/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
|
3545
|
+
esphome-2025.5.1.dist-info/METADATA,sha256=GX_xJDGoIHf3pu64vKzwCTcKXeX8Z-0Oit_cUOKauiA,3624
|
3546
|
+
esphome-2025.5.1.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
|
3547
|
+
esphome-2025.5.1.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
|
3548
|
+
esphome-2025.5.1.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
|
3549
|
+
esphome-2025.5.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|