esphome 2025.4.0b3__py3-none-any.whl → 2025.4.2__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/as3935_i2c/as3935_i2c.h +0 -3
- esphome/components/bluetooth_proxy/bluetooth_proxy.cpp +6 -0
- esphome/components/display/rect.cpp +4 -9
- esphome/components/display/rect.h +1 -1
- esphome/components/ens160_base/ens160_base.cpp +1 -1
- esphome/components/esp32_ble/ble.cpp +0 -8
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.h +2 -0
- esphome/components/hlw8012/hlw8012.cpp +1 -1
- esphome/components/lvgl/lv_validation.py +10 -1
- esphome/components/lvgl/lvgl_esphome.cpp +1 -0
- esphome/components/lvgl/schemas.py +14 -14
- esphome/components/lvgl/widgets/arc.py +7 -6
- esphome/components/lvgl/widgets/buttonmatrix.py +3 -3
- esphome/components/lvgl/widgets/checkbox.py +2 -2
- esphome/components/lvgl/widgets/dropdown.py +2 -1
- esphome/components/lvgl/widgets/img.py +15 -12
- esphome/components/media_player/__init__.py +7 -5
- esphome/components/online_image/online_image.cpp +5 -5
- esphome/components/psram/psram.cpp +3 -2
- esphome/components/tt21100/touchscreen/tt21100.cpp +1 -1
- esphome/components/watchdog/watchdog.cpp +2 -1
- esphome/const.py +1 -1
- esphome/log.py +5 -4
- {esphome-2025.4.0b3.dist-info → esphome-2025.4.2.dist-info}/METADATA +1 -1
- {esphome-2025.4.0b3.dist-info → esphome-2025.4.2.dist-info}/RECORD +29 -30
- esphome/components/esp32_ble/const_esp32c6.h +0 -74
- {esphome-2025.4.0b3.dist-info → esphome-2025.4.2.dist-info}/WHEEL +0 -0
- {esphome-2025.4.0b3.dist-info → esphome-2025.4.2.dist-info}/entry_points.txt +0 -0
- {esphome-2025.4.0b3.dist-info → esphome-2025.4.2.dist-info}/licenses/LICENSE +0 -0
- {esphome-2025.4.0b3.dist-info → esphome-2025.4.2.dist-info}/top_level.txt +0 -0
@@ -1,10 +1,7 @@
|
|
1
1
|
#pragma once
|
2
2
|
|
3
|
-
#include "esphome/core/component.h"
|
4
3
|
#include "esphome/components/as3935/as3935.h"
|
5
4
|
#include "esphome/components/i2c/i2c.h"
|
6
|
-
#include "esphome/components/sensor/sensor.h"
|
7
|
-
#include "esphome/components/binary_sensor/binary_sensor.h"
|
8
5
|
|
9
6
|
namespace esphome {
|
10
7
|
namespace as3935_i2c {
|
@@ -265,6 +265,12 @@ void BluetoothProxy::bluetooth_device_request(const api::BluetoothDeviceRequest
|
|
265
265
|
connection->get_connection_index(), connection->address_str().c_str());
|
266
266
|
return;
|
267
267
|
} else if (connection->state() == espbt::ClientState::CONNECTING) {
|
268
|
+
if (connection->disconnect_pending()) {
|
269
|
+
ESP_LOGW(TAG, "[%d] [%s] Connection request while pending disconnect, cancelling pending disconnect",
|
270
|
+
connection->get_connection_index(), connection->address_str().c_str());
|
271
|
+
connection->cancel_pending_disconnect();
|
272
|
+
return;
|
273
|
+
}
|
268
274
|
ESP_LOGW(TAG, "[%d] [%s] Connection request ignored, already connecting", connection->get_connection_index(),
|
269
275
|
connection->address_str().c_str());
|
270
276
|
return;
|
@@ -69,21 +69,16 @@ bool Rect::inside(int16_t test_x, int16_t test_y, bool absolute) const { // NOL
|
|
69
69
|
return true;
|
70
70
|
}
|
71
71
|
if (absolute) {
|
72
|
-
return
|
73
|
-
} else {
|
74
|
-
return ((test_x >= 0) && (test_x <= this->w) && (test_y >= 0) && (test_y <= this->h));
|
72
|
+
return test_x >= this->x && test_x < this->x2() && test_y >= this->y && test_y < this->y2();
|
75
73
|
}
|
74
|
+
return test_x >= 0 && test_x < this->w && test_y >= 0 && test_y < this->h;
|
76
75
|
}
|
77
76
|
|
78
|
-
bool Rect::inside(Rect rect
|
77
|
+
bool Rect::inside(Rect rect) const {
|
79
78
|
if (!this->is_set() || !rect.is_set()) {
|
80
79
|
return true;
|
81
80
|
}
|
82
|
-
|
83
|
-
return ((rect.x <= this->x2()) && (rect.x2() >= this->x) && (rect.y <= this->y2()) && (rect.y2() >= this->y));
|
84
|
-
} else {
|
85
|
-
return ((rect.x <= this->w) && (rect.w >= 0) && (rect.y <= this->h) && (rect.h >= 0));
|
86
|
-
}
|
81
|
+
return this->x2() >= rect.x && this->x <= rect.x2() && this->y2() >= rect.y && this->y <= rect.y2();
|
87
82
|
}
|
88
83
|
|
89
84
|
void Rect::info(const std::string &prefix) {
|
@@ -26,7 +26,7 @@ class Rect {
|
|
26
26
|
void extend(Rect rect);
|
27
27
|
void shrink(Rect rect);
|
28
28
|
|
29
|
-
bool inside(Rect rect
|
29
|
+
bool inside(Rect rect) const;
|
30
30
|
bool inside(int16_t test_x, int16_t test_y, bool absolute = true) const;
|
31
31
|
bool equal(Rect rect) const;
|
32
32
|
void info(const std::string &prefix = "rect info:");
|
@@ -2,10 +2,6 @@
|
|
2
2
|
|
3
3
|
#include "ble.h"
|
4
4
|
|
5
|
-
#ifdef USE_ESP32_VARIANT_ESP32C6
|
6
|
-
#include "const_esp32c6.h"
|
7
|
-
#endif // USE_ESP32_VARIANT_ESP32C6
|
8
|
-
|
9
5
|
#include "esphome/core/application.h"
|
10
6
|
#include "esphome/core/log.h"
|
11
7
|
|
@@ -127,11 +123,7 @@ bool ESP32BLE::ble_setup_() {
|
|
127
123
|
if (esp_bt_controller_get_status() != ESP_BT_CONTROLLER_STATUS_ENABLED) {
|
128
124
|
// start bt controller
|
129
125
|
if (esp_bt_controller_get_status() == ESP_BT_CONTROLLER_STATUS_IDLE) {
|
130
|
-
#ifdef USE_ESP32_VARIANT_ESP32C6
|
131
|
-
esp_bt_controller_config_t cfg = BT_CONTROLLER_CONFIG;
|
132
|
-
#else
|
133
126
|
esp_bt_controller_config_t cfg = BT_CONTROLLER_INIT_CONFIG_DEFAULT();
|
134
|
-
#endif
|
135
127
|
err = esp_bt_controller_init(&cfg);
|
136
128
|
if (err != ESP_OK) {
|
137
129
|
ESP_LOGE(TAG, "esp_bt_controller_init failed: %s", esp_err_to_name(err));
|
@@ -173,6 +173,8 @@ class ESPBTClient : public ESPBTDeviceListener {
|
|
173
173
|
virtual void gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) = 0;
|
174
174
|
virtual void connect() = 0;
|
175
175
|
virtual void disconnect() = 0;
|
176
|
+
bool disconnect_pending() const { return this->want_disconnect_; }
|
177
|
+
void cancel_pending_disconnect() { this->want_disconnect_ = false; }
|
176
178
|
virtual void set_state(ClientState st) {
|
177
179
|
this->state_ = st;
|
178
180
|
if (st == ClientState::IDLE) {
|
@@ -69,7 +69,7 @@ void HLW8012Component::update() {
|
|
69
69
|
|
70
70
|
float power = cf_hz * this->power_multiplier_;
|
71
71
|
|
72
|
-
if (this->change_mode_at_ != 0) {
|
72
|
+
if (this->change_mode_at_ != 0 || this->change_mode_every_ == 0) {
|
73
73
|
// Only read cf1 after one cycle. Apparently it's quite unstable after being changed.
|
74
74
|
if (this->current_mode_) {
|
75
75
|
float current = cf1_hz * this->current_multiplier_;
|
@@ -16,7 +16,7 @@ from esphome.const import (
|
|
16
16
|
)
|
17
17
|
from esphome.core import CORE, ID, Lambda
|
18
18
|
from esphome.cpp_generator import MockObj
|
19
|
-
from esphome.cpp_types import ESPTime, uint32
|
19
|
+
from esphome.cpp_types import ESPTime, int32, uint32
|
20
20
|
from esphome.helpers import cpp_string_escape
|
21
21
|
from esphome.schema_extractors import SCHEMA_EXTRACT, schema_extractor
|
22
22
|
|
@@ -263,6 +263,15 @@ def pixels_validator(value):
|
|
263
263
|
pixels = LValidator(pixels_validator, uint32, retmapper=literal)
|
264
264
|
|
265
265
|
|
266
|
+
def padding_validator(value):
|
267
|
+
if isinstance(value, str) and value.lower().endswith("px"):
|
268
|
+
value = value[:-2]
|
269
|
+
return cv.int_(value)
|
270
|
+
|
271
|
+
|
272
|
+
padding = LValidator(padding_validator, int32, retmapper=literal)
|
273
|
+
|
274
|
+
|
266
275
|
def zoom_validator(value):
|
267
276
|
value = cv.float_range(0.1, 10.0)(value)
|
268
277
|
return value
|
@@ -120,6 +120,7 @@ void LvglComponent::add_event_cb(lv_obj_t *obj, event_callback_t callback, lv_ev
|
|
120
120
|
void LvglComponent::add_page(LvPageType *page) {
|
121
121
|
this->pages_.push_back(page);
|
122
122
|
page->set_parent(this);
|
123
|
+
lv_disp_set_default(this->disp_);
|
123
124
|
page->setup(this->pages_.size() - 1);
|
124
125
|
}
|
125
126
|
void LvglComponent::show_page(size_t index, lv_scr_load_anim_t anim, uint32_t time) {
|
@@ -156,13 +156,13 @@ STYLE_PROPS = {
|
|
156
156
|
"opa_layered": lvalid.opacity,
|
157
157
|
"outline_color": lvalid.lv_color,
|
158
158
|
"outline_opa": lvalid.opacity,
|
159
|
-
"outline_pad": lvalid.
|
159
|
+
"outline_pad": lvalid.padding,
|
160
160
|
"outline_width": lvalid.pixels,
|
161
|
-
"pad_all": lvalid.
|
162
|
-
"pad_bottom": lvalid.
|
163
|
-
"pad_left": lvalid.
|
164
|
-
"pad_right": lvalid.
|
165
|
-
"pad_top": lvalid.
|
161
|
+
"pad_all": lvalid.padding,
|
162
|
+
"pad_bottom": lvalid.padding,
|
163
|
+
"pad_left": lvalid.padding,
|
164
|
+
"pad_right": lvalid.padding,
|
165
|
+
"pad_top": lvalid.padding,
|
166
166
|
"shadow_color": lvalid.lv_color,
|
167
167
|
"shadow_ofs_x": lvalid.lv_int,
|
168
168
|
"shadow_ofs_y": lvalid.lv_int,
|
@@ -226,8 +226,8 @@ FULL_STYLE_SCHEMA = STYLE_SCHEMA.extend(
|
|
226
226
|
{
|
227
227
|
cv.Optional(df.CONF_GRID_CELL_X_ALIGN): grid_alignments,
|
228
228
|
cv.Optional(df.CONF_GRID_CELL_Y_ALIGN): grid_alignments,
|
229
|
-
cv.Optional(df.CONF_PAD_ROW): lvalid.
|
230
|
-
cv.Optional(df.CONF_PAD_COLUMN): lvalid.
|
229
|
+
cv.Optional(df.CONF_PAD_ROW): lvalid.padding,
|
230
|
+
cv.Optional(df.CONF_PAD_COLUMN): lvalid.padding,
|
231
231
|
}
|
232
232
|
)
|
233
233
|
|
@@ -370,8 +370,8 @@ LAYOUT_SCHEMA = {
|
|
370
370
|
cv.Required(df.CONF_GRID_COLUMNS): [grid_spec],
|
371
371
|
cv.Optional(df.CONF_GRID_COLUMN_ALIGN): grid_alignments,
|
372
372
|
cv.Optional(df.CONF_GRID_ROW_ALIGN): grid_alignments,
|
373
|
-
cv.Optional(df.CONF_PAD_ROW): lvalid.
|
374
|
-
cv.Optional(df.CONF_PAD_COLUMN): lvalid.
|
373
|
+
cv.Optional(df.CONF_PAD_ROW): lvalid.padding,
|
374
|
+
cv.Optional(df.CONF_PAD_COLUMN): lvalid.padding,
|
375
375
|
},
|
376
376
|
df.TYPE_FLEX: {
|
377
377
|
cv.Optional(
|
@@ -380,8 +380,8 @@ LAYOUT_SCHEMA = {
|
|
380
380
|
cv.Optional(df.CONF_FLEX_ALIGN_MAIN, default="start"): flex_alignments,
|
381
381
|
cv.Optional(df.CONF_FLEX_ALIGN_CROSS, default="start"): flex_alignments,
|
382
382
|
cv.Optional(df.CONF_FLEX_ALIGN_TRACK, default="start"): flex_alignments,
|
383
|
-
cv.Optional(df.CONF_PAD_ROW): lvalid.
|
384
|
-
cv.Optional(df.CONF_PAD_COLUMN): lvalid.
|
383
|
+
cv.Optional(df.CONF_PAD_ROW): lvalid.padding,
|
384
|
+
cv.Optional(df.CONF_PAD_COLUMN): lvalid.padding,
|
385
385
|
},
|
386
386
|
},
|
387
387
|
lower=True,
|
@@ -427,8 +427,8 @@ ALL_STYLES = {
|
|
427
427
|
**STYLE_PROPS,
|
428
428
|
**GRID_CELL_SCHEMA,
|
429
429
|
**FLEX_OBJ_SCHEMA,
|
430
|
-
cv.Optional(df.CONF_PAD_ROW): lvalid.
|
431
|
-
cv.Optional(df.CONF_PAD_COLUMN): lvalid.
|
430
|
+
cv.Optional(df.CONF_PAD_ROW): lvalid.padding,
|
431
|
+
cv.Optional(df.CONF_PAD_COLUMN): lvalid.padding,
|
432
432
|
}
|
433
433
|
|
434
434
|
|
@@ -67,12 +67,13 @@ class ArcType(NumberType):
|
|
67
67
|
lv.arc_set_mode(w.obj, literal(config[CONF_MODE]))
|
68
68
|
lv.arc_set_change_rate(w.obj, config[CONF_CHANGE_RATE])
|
69
69
|
|
70
|
-
if
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
70
|
+
if CONF_ADJUSTABLE in config:
|
71
|
+
if not config[CONF_ADJUSTABLE]:
|
72
|
+
lv_obj.remove_style(w.obj, nullptr, literal("LV_PART_KNOB"))
|
73
|
+
w.clear_flag("LV_OBJ_FLAG_CLICKABLE")
|
74
|
+
elif CONF_GROUP not in config:
|
75
|
+
# For some reason arc does not get automatically added to the default group
|
76
|
+
lv.group_add_obj(lv_expr.group_get_default(), w.obj)
|
76
77
|
|
77
78
|
value = await get_start_value(config)
|
78
79
|
if value is not None:
|
@@ -19,7 +19,7 @@ from ..defines import (
|
|
19
19
|
CONF_SELECTED,
|
20
20
|
)
|
21
21
|
from ..helpers import lvgl_components_required
|
22
|
-
from ..lv_validation import key_code, lv_bool,
|
22
|
+
from ..lv_validation import key_code, lv_bool, padding
|
23
23
|
from ..lvcode import lv, lv_add, lv_expr
|
24
24
|
from ..schemas import automation_schema
|
25
25
|
from ..types import (
|
@@ -59,8 +59,8 @@ BUTTONMATRIX_BUTTON_SCHEMA = cv.Schema(
|
|
59
59
|
BUTTONMATRIX_SCHEMA = cv.Schema(
|
60
60
|
{
|
61
61
|
cv.Optional(CONF_ONE_CHECKED, default=False): lv_bool,
|
62
|
-
cv.Optional(CONF_PAD_ROW):
|
63
|
-
cv.Optional(CONF_PAD_COLUMN):
|
62
|
+
cv.Optional(CONF_PAD_ROW): padding,
|
63
|
+
cv.Optional(CONF_PAD_COLUMN): padding,
|
64
64
|
cv.GenerateID(CONF_BUTTON_TEXT_LIST_ID): cv.declare_id(char_ptr),
|
65
65
|
cv.Required(CONF_ROWS): cv.ensure_list(
|
66
66
|
cv.Schema(
|
@@ -2,7 +2,7 @@ from esphome.config_validation import Optional
|
|
2
2
|
from esphome.const import CONF_TEXT
|
3
3
|
|
4
4
|
from ..defines import CONF_INDICATOR, CONF_MAIN, CONF_PAD_COLUMN
|
5
|
-
from ..lv_validation import lv_text,
|
5
|
+
from ..lv_validation import lv_text, padding
|
6
6
|
from ..lvcode import lv
|
7
7
|
from ..schemas import TEXT_SCHEMA
|
8
8
|
from ..types import LvBoolean
|
@@ -19,7 +19,7 @@ class CheckboxType(WidgetType):
|
|
19
19
|
(CONF_MAIN, CONF_INDICATOR),
|
20
20
|
TEXT_SCHEMA.extend(
|
21
21
|
{
|
22
|
-
Optional(CONF_PAD_COLUMN):
|
22
|
+
Optional(CONF_PAD_COLUMN): padding,
|
23
23
|
}
|
24
24
|
),
|
25
25
|
)
|
@@ -36,7 +36,6 @@ DROPDOWN_BASE_SCHEMA = cv.Schema(
|
|
36
36
|
cv.Optional(CONF_SYMBOL): lv_text,
|
37
37
|
cv.Exclusive(CONF_SELECTED_INDEX, CONF_SELECTED_TEXT): lv_int,
|
38
38
|
cv.Exclusive(CONF_SELECTED_TEXT, CONF_SELECTED_TEXT): lv_text,
|
39
|
-
cv.Optional(CONF_DIR, default="BOTTOM"): DIRECTIONS.one_of,
|
40
39
|
cv.Optional(CONF_DROPDOWN_LIST): part_schema(dropdown_list_spec.parts),
|
41
40
|
}
|
42
41
|
)
|
@@ -44,12 +43,14 @@ DROPDOWN_BASE_SCHEMA = cv.Schema(
|
|
44
43
|
DROPDOWN_SCHEMA = DROPDOWN_BASE_SCHEMA.extend(
|
45
44
|
{
|
46
45
|
cv.Required(CONF_OPTIONS): cv.ensure_list(option_string),
|
46
|
+
cv.Optional(CONF_DIR, default="BOTTOM"): DIRECTIONS.one_of,
|
47
47
|
}
|
48
48
|
)
|
49
49
|
|
50
50
|
DROPDOWN_UPDATE_SCHEMA = DROPDOWN_BASE_SCHEMA.extend(
|
51
51
|
{
|
52
52
|
cv.Optional(CONF_OPTIONS): cv.ensure_list(option_string),
|
53
|
+
cv.Optional(CONF_DIR): DIRECTIONS.one_of,
|
53
54
|
}
|
54
55
|
)
|
55
56
|
|
@@ -10,7 +10,7 @@ from ..defines import (
|
|
10
10
|
CONF_ZOOM,
|
11
11
|
LvConstant,
|
12
12
|
)
|
13
|
-
from ..lv_validation import
|
13
|
+
from ..lv_validation import lv_angle, lv_bool, lv_image, size, zoom
|
14
14
|
from ..lvcode import lv
|
15
15
|
from ..types import lv_img_t
|
16
16
|
from . import Widget, WidgetType
|
@@ -20,9 +20,9 @@ CONF_IMAGE = "image"
|
|
20
20
|
|
21
21
|
BASE_IMG_SCHEMA = cv.Schema(
|
22
22
|
{
|
23
|
-
cv.Optional(CONF_PIVOT_X
|
24
|
-
cv.Optional(CONF_PIVOT_Y
|
25
|
-
cv.Optional(CONF_ANGLE):
|
23
|
+
cv.Optional(CONF_PIVOT_X): size,
|
24
|
+
cv.Optional(CONF_PIVOT_Y): size,
|
25
|
+
cv.Optional(CONF_ANGLE): lv_angle,
|
26
26
|
cv.Optional(CONF_ZOOM): zoom,
|
27
27
|
cv.Optional(CONF_OFFSET_X): size,
|
28
28
|
cv.Optional(CONF_OFFSET_Y): size,
|
@@ -63,19 +63,22 @@ class ImgType(WidgetType):
|
|
63
63
|
async def to_code(self, w: Widget, config):
|
64
64
|
if src := config.get(CONF_SRC):
|
65
65
|
lv.img_set_src(w.obj, await lv_image.process(src))
|
66
|
+
if (pivot_x := config.get(CONF_PIVOT_X)) and (
|
67
|
+
pivot_y := config.get(CONF_PIVOT_Y)
|
68
|
+
):
|
69
|
+
lv.img_set_pivot(
|
70
|
+
w.obj, await size.process(pivot_x), await size.process(pivot_y)
|
71
|
+
)
|
66
72
|
if (cf_angle := config.get(CONF_ANGLE)) is not None:
|
67
|
-
|
68
|
-
pivot_y = config[CONF_PIVOT_Y]
|
69
|
-
lv.img_set_pivot(w.obj, pivot_x, pivot_y)
|
70
|
-
lv.img_set_angle(w.obj, cf_angle)
|
73
|
+
lv.img_set_angle(w.obj, await lv_angle.process(cf_angle))
|
71
74
|
if (img_zoom := config.get(CONF_ZOOM)) is not None:
|
72
|
-
lv.img_set_zoom(w.obj, img_zoom)
|
75
|
+
lv.img_set_zoom(w.obj, await zoom.process(img_zoom))
|
73
76
|
if (offset := config.get(CONF_OFFSET_X)) is not None:
|
74
|
-
lv.img_set_offset_x(w.obj, offset)
|
77
|
+
lv.img_set_offset_x(w.obj, await size.process(offset))
|
75
78
|
if (offset := config.get(CONF_OFFSET_Y)) is not None:
|
76
|
-
lv.img_set_offset_y(w.obj, offset)
|
79
|
+
lv.img_set_offset_y(w.obj, await size.process(offset))
|
77
80
|
if CONF_ANTIALIAS in config:
|
78
|
-
lv.img_set_antialias(w.obj, config[CONF_ANTIALIAS])
|
81
|
+
lv.img_set_antialias(w.obj, await lv_bool.process(config[CONF_ANTIALIAS]))
|
79
82
|
if mode := config.get(CONF_MODE):
|
80
83
|
await w.set_property("size_mode", mode)
|
81
84
|
|
@@ -134,11 +134,13 @@ MEDIA_PLAYER_SCHEMA = cv.ENTITY_BASE_SCHEMA.extend(
|
|
134
134
|
)
|
135
135
|
|
136
136
|
|
137
|
-
MEDIA_PLAYER_ACTION_SCHEMA =
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
137
|
+
MEDIA_PLAYER_ACTION_SCHEMA = automation.maybe_simple_id(
|
138
|
+
cv.Schema(
|
139
|
+
{
|
140
|
+
cv.GenerateID(): cv.use_id(MediaPlayer),
|
141
|
+
cv.Optional(CONF_ANNOUNCEMENT, default=False): cv.templatable(cv.boolean),
|
142
|
+
}
|
143
|
+
)
|
142
144
|
)
|
143
145
|
|
144
146
|
MEDIA_PLAYER_CONDITION_SCHEMA = automation.maybe_simple_id(
|
@@ -111,7 +111,7 @@ void OnlineImage::update() {
|
|
111
111
|
case ImageFormat::BMP:
|
112
112
|
accept_mime_type = "image/bmp";
|
113
113
|
break;
|
114
|
-
#endif //
|
114
|
+
#endif // USE_ONLINE_IMAGE_BMP_SUPPORT
|
115
115
|
#ifdef USE_ONLINE_IMAGE_JPEG_SUPPORT
|
116
116
|
case ImageFormat::JPEG:
|
117
117
|
accept_mime_type = "image/jpeg";
|
@@ -121,7 +121,7 @@ void OnlineImage::update() {
|
|
121
121
|
case ImageFormat::PNG:
|
122
122
|
accept_mime_type = "image/png";
|
123
123
|
break;
|
124
|
-
#endif //
|
124
|
+
#endif // USE_ONLINE_IMAGE_PNG_SUPPORT
|
125
125
|
default:
|
126
126
|
accept_mime_type = "image/*";
|
127
127
|
}
|
@@ -159,7 +159,7 @@ void OnlineImage::update() {
|
|
159
159
|
ESP_LOGD(TAG, "Allocating BMP decoder");
|
160
160
|
this->decoder_ = make_unique<BmpDecoder>(this);
|
161
161
|
}
|
162
|
-
#endif //
|
162
|
+
#endif // USE_ONLINE_IMAGE_BMP_SUPPORT
|
163
163
|
#ifdef USE_ONLINE_IMAGE_JPEG_SUPPORT
|
164
164
|
if (this->format_ == ImageFormat::JPEG) {
|
165
165
|
ESP_LOGD(TAG, "Allocating JPEG decoder");
|
@@ -171,7 +171,7 @@ void OnlineImage::update() {
|
|
171
171
|
ESP_LOGD(TAG, "Allocating PNG decoder");
|
172
172
|
this->decoder_ = make_unique<PngDecoder>(this);
|
173
173
|
}
|
174
|
-
#endif //
|
174
|
+
#endif // USE_ONLINE_IMAGE_PNG_SUPPORT
|
175
175
|
|
176
176
|
if (!this->decoder_) {
|
177
177
|
ESP_LOGE(TAG, "Could not instantiate decoder. Image format unsupported: %d", this->format_);
|
@@ -185,7 +185,7 @@ void OnlineImage::update() {
|
|
185
185
|
this->download_error_callback_.call();
|
186
186
|
return;
|
187
187
|
}
|
188
|
-
ESP_LOGI(TAG, "Downloading image (Size: %
|
188
|
+
ESP_LOGI(TAG, "Downloading image (Size: %zu)", total_size);
|
189
189
|
this->start_time_ = ::time(nullptr);
|
190
190
|
}
|
191
191
|
|
@@ -1,7 +1,8 @@
|
|
1
1
|
|
2
2
|
#ifdef USE_ESP32
|
3
3
|
#include "psram.h"
|
4
|
-
#
|
4
|
+
#include <esp_idf_version.h>
|
5
|
+
#if defined(USE_ESP_IDF) && ESP_IDF_VERSION_MAJOR >= 5
|
5
6
|
#include <esp_psram.h>
|
6
7
|
#endif // USE_ESP_IDF
|
7
8
|
|
@@ -15,7 +16,7 @@ static const char *const TAG = "psram";
|
|
15
16
|
|
16
17
|
void PsramComponent::dump_config() {
|
17
18
|
ESP_LOGCONFIG(TAG, "PSRAM:");
|
18
|
-
#
|
19
|
+
#if defined(USE_ESP_IDF) && ESP_IDF_VERSION_MAJOR >= 5
|
19
20
|
bool available = esp_psram_is_initialized();
|
20
21
|
|
21
22
|
ESP_LOGCONFIG(TAG, " Available: %s", YESNO(available));
|
@@ -68,7 +68,7 @@ void TT21100Touchscreen::setup() {
|
|
68
68
|
this->x_raw_max_ = this->display_->get_native_width();
|
69
69
|
}
|
70
70
|
if (this->y_raw_max_ == this->y_raw_min_) {
|
71
|
-
this->
|
71
|
+
this->y_raw_max_ = this->display_->get_native_height();
|
72
72
|
}
|
73
73
|
}
|
74
74
|
|
@@ -6,6 +6,7 @@
|
|
6
6
|
#include <cinttypes>
|
7
7
|
#include <cstdint>
|
8
8
|
#ifdef USE_ESP32
|
9
|
+
#include <soc/soc_caps.h>
|
9
10
|
#include "esp_idf_version.h"
|
10
11
|
#include "esp_task_wdt.h"
|
11
12
|
#endif
|
@@ -40,7 +41,7 @@ void WatchdogManager::set_timeout_(uint32_t timeout_ms) {
|
|
40
41
|
#if ESP_IDF_VERSION_MAJOR >= 5
|
41
42
|
esp_task_wdt_config_t wdt_config = {
|
42
43
|
.timeout_ms = timeout_ms,
|
43
|
-
.idle_core_mask =
|
44
|
+
.idle_core_mask = (1 << SOC_CPU_CORES_NUM) - 1,
|
44
45
|
.trigger_panic = true,
|
45
46
|
};
|
46
47
|
esp_task_wdt_reconfigure(&wdt_config);
|
esphome/const.py
CHANGED
esphome/log.py
CHANGED
@@ -74,13 +74,14 @@ def setup_log(
|
|
74
74
|
|
75
75
|
colorama.init()
|
76
76
|
|
77
|
-
|
77
|
+
# Setup logging - will map log level from string to constant
|
78
|
+
logging.basicConfig(level=log_level)
|
79
|
+
|
80
|
+
if logging.root.level == logging.DEBUG:
|
78
81
|
CORE.verbose = True
|
79
|
-
elif
|
82
|
+
elif logging.root.level == logging.CRITICAL:
|
80
83
|
CORE.quiet = True
|
81
84
|
|
82
|
-
logging.basicConfig(level=log_level)
|
83
|
-
|
84
85
|
logging.getLogger("urllib3").setLevel(logging.WARNING)
|
85
86
|
|
86
87
|
logging.getLogger().handlers[0].setFormatter(
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: esphome
|
3
|
-
Version: 2025.4.
|
3
|
+
Version: 2025.4.2
|
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=fFrDYbhWY1xn_onAl_0jwlg9D8NkK_FdKULTlnjZtxs,39832
|
6
6
|
esphome/config_helpers.py,sha256=MKf_wzO35nn41FvigXE0iYKDslPgL2ruf8R-EPtTT2I,3256
|
7
7
|
esphome/config_validation.py,sha256=cjOlphJs-ybsA2VlXXPY-lYq80Vm2uPJ8oIXtWhiPU4,62490
|
8
|
-
esphome/const.py,sha256=
|
8
|
+
esphome/const.py,sha256=JZQdmKUfNp5HreoPb6afXt42EzzB-sIATioDXTxeASo,40828
|
9
9
|
esphome/coroutine.py,sha256=j_14z8dIIzIBeuNO30D4c1RJvMMt1xZFZ58Evd-EvJA,9344
|
10
10
|
esphome/cpp_generator.py,sha256=1g-y3fxWSrd5Kpbz6DrJXaQajjuwQiTIaTRIz9n7svI,31237
|
11
11
|
esphome/cpp_helpers.py,sha256=6C2vNbOIhZKi43xRVlk5hp9GfshfBn-rc5D_ZFUEYaE,4801
|
@@ -16,7 +16,7 @@ esphome/final_validate.py,sha256=EPhbU4xyEL3POdSY7oygyAIVvkeYM7qH-6eZWb76DFE,189
|
|
16
16
|
esphome/git.py,sha256=rKb5JUc05nbRlvR4tRWGL851ANZUYuS7YZp5Tm5wHjE,6296
|
17
17
|
esphome/helpers.py,sha256=2mQ0eyOLjdjaLRL6jdcJfg4UMnqEFY8ORrmEGc5yNHc,12435
|
18
18
|
esphome/loader.py,sha256=5C-agEUY5AnES6Tdn8KTfot89HIQPeGYu8W1s4ZqT9M,6821
|
19
|
-
esphome/log.py,sha256=
|
19
|
+
esphome/log.py,sha256=XqVmsRvi4hHUkjcjwTSFBYbbXonNeoRKPE9bx9kfWf0,2181
|
20
20
|
esphome/mqtt.py,sha256=jjmdEk-_ov_pAuy-FqNPQlPB1VOJEs8iFi4pe2gdiTM,9223
|
21
21
|
esphome/pins.py,sha256=wO0d-2qn0fhT6WEN0H0AmYRSH90jW154hZT7RewMGYI,10713
|
22
22
|
esphome/platformio_api.py,sha256=OEWhPZ2NQnTrZ3Vtm0IqW0E-xE7EyVhs5w3OtT2xfDY,11905
|
@@ -211,7 +211,7 @@ esphome/components/as3935/binary_sensor.py,sha256=jYvWfaqn_fiLsrgDDOUkYwjX8fqoos
|
|
211
211
|
esphome/components/as3935/sensor.py,sha256=3oujDzOXmrtkj039se1uQANl81S6DqJ29a66cScc5H4,1200
|
212
212
|
esphome/components/as3935_i2c/__init__.py,sha256=uVai73RnVf3KSevyinEZNXush_-OkCTml916Ry5C_Mc,710
|
213
213
|
esphome/components/as3935_i2c/as3935_i2c.cpp,sha256=hgsX0IBzLntVsQst41EhOTaMD-Ja9Efr-9bFl6eG3fQ,1091
|
214
|
-
esphome/components/as3935_i2c/as3935_i2c.h,sha256=
|
214
|
+
esphome/components/as3935_i2c/as3935_i2c.h,sha256=Y_ZgPtVLwNe5oLrA841PuX4lLxqcxpiDonWaqK_YItQ,480
|
215
215
|
esphome/components/as3935_spi/__init__.py,sha256=391auaqRigi9P7cZydd-5VKadpNK-1zbLyxp5syXDEQ,726
|
216
216
|
esphome/components/as3935_spi/as3935_spi.cpp,sha256=H48t8Kjo3sqUD5oreznQOiQQFsC6kDmxCgE3Fm8w-Qo,1231
|
217
217
|
esphome/components/as3935_spi/as3935_spi.h,sha256=5TKfNr9Pu4j196xmExGhde7LjxKVrpHsgF7uWna7r7A,870
|
@@ -380,7 +380,7 @@ esphome/components/ble_scanner/text_sensor.py,sha256=yOB-AMBbNwJ0K9zYXh3ZedA42Os
|
|
380
380
|
esphome/components/bluetooth_proxy/__init__.py,sha256=yBpHNPhRuw7B_LKUvGFZLnrqItID31kQG-DTT679uu8,3282
|
381
381
|
esphome/components/bluetooth_proxy/bluetooth_connection.cpp,sha256=KBSjOMljcqOsJ0hDSuJjhi8A9GK0_JnL9CPMfs1CDkc,11223
|
382
382
|
esphome/components/bluetooth_proxy/bluetooth_connection.h,sha256=oR0r7QAUNABFMKB_anI_l7lI-iOE6RbyBPkDozoC14Y,1171
|
383
|
-
esphome/components/bluetooth_proxy/bluetooth_proxy.cpp,sha256=
|
383
|
+
esphome/components/bluetooth_proxy/bluetooth_proxy.cpp,sha256=J5365iSzQ6C61hAAHqnd1jBhjPqp0dsmiat0mDLWv_Q,22466
|
384
384
|
esphome/components/bluetooth_proxy/bluetooth_proxy.h,sha256=lEx8Qx2fcjkBU24vT39VUUuwkVJdQ2cB0lG9hTp0lM8,5144
|
385
385
|
esphome/components/bme280_base/__init__.py,sha256=KQhkrj8Ny2lMRUdJXaem5z3-fiR2J82b9AGe58xnZgE,3688
|
386
386
|
esphome/components/bme280_base/bme280_base.cpp,sha256=st3cMKvdG49rHF-pRfplpqhcFAfLZ_YxNmGouiPUQH4,12989
|
@@ -691,8 +691,8 @@ esphome/components/display/display.h,sha256=uIs9FRgOYUXvOuEJ1NWsXtfja0a3SWCdmx-g
|
|
691
691
|
esphome/components/display/display_buffer.cpp,sha256=0jL60x2WNyDTNgjK2Iv7R4ZlA57cbIt1-J_QvGFKlbM,1896
|
692
692
|
esphome/components/display/display_buffer.h,sha256=RkFqe72PZtSKR60mWlb79FDqVQQFsefcEOdOMwIjuGc,809
|
693
693
|
esphome/components/display/display_color_utils.h,sha256=iThP3_WMbS5X9gKhARTTxAunrsMKuuTZxKPwOJ_JFXE,6099
|
694
|
-
esphome/components/display/rect.cpp,sha256=
|
695
|
-
esphome/components/display/rect.h,sha256=
|
694
|
+
esphome/components/display/rect.cpp,sha256=cG_Dx0Y5rztBVC5qQCWiD3eY0m8HWKL8G175NZnjyv8,2435
|
695
|
+
esphome/components/display/rect.h,sha256=vzVoMZ6U-77oCsZseuCOY2pyZym8jwjt5oUkR81DgjY,1160
|
696
696
|
esphome/components/display_menu_base/__init__.py,sha256=gHT0iF3_twzYOyU00M5lOJTUHu9_VhZCSU-ZcBf3XFA,15518
|
697
697
|
esphome/components/display_menu_base/automation.h,sha256=CyIxTQm84XO7gZX2hcOyFU_zGMnk6bEk0Zhu-ysSw5s,3577
|
698
698
|
esphome/components/display_menu_base/display_menu_base.cpp,sha256=R1ZJmNHkrVmaJj7c6T8l3JnNve6KkbZmQjbLwUy4EjM,7647
|
@@ -754,7 +754,7 @@ esphome/components/endstop/endstop_cover.h,sha256=RRAAHaZRkRjH9Q2KMLDCoGnQ44Z_lC
|
|
754
754
|
esphome/components/ens160/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
755
755
|
esphome/components/ens160/sensor.py,sha256=JmqJW89ItAMvLqzpgrwWuLsNJctyV-_6i18t4rb-KcA,164
|
756
756
|
esphome/components/ens160_base/__init__.py,sha256=VGWuu4IdB7GWLOns49nmj1dWQAUD3FmTYyyxYRRqMAI,2473
|
757
|
-
esphome/components/ens160_base/ens160_base.cpp,sha256=
|
757
|
+
esphome/components/ens160_base/ens160_base.cpp,sha256=PRgqcB07kwVCQuquMFx5SjtT8j5ON3ZB-a6x2m2yn0M,9982
|
758
758
|
esphome/components/ens160_base/ens160_base.h,sha256=u8rmUObUBj9JtxNJLjGS_Mv4ZhSmd0R9NwJeNX4D-yo,1732
|
759
759
|
esphome/components/ens160_i2c/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
760
760
|
esphome/components/ens160_i2c/ens160_i2c.cpp,sha256=qXi0VlzYvveeoNPMJh6DmGM_QG-Zc15aKL7T9HS76-0,932
|
@@ -806,14 +806,13 @@ esphome/components/esp32/post_build.py.script,sha256=ZBsPNunx2BH4ZiRyXnjTP7D7eN2
|
|
806
806
|
esphome/components/esp32/preferences.cpp,sha256=6mrR6ziH2dnBcMKPD5RwYYB16tkAy0w75x_mRy4wQCY,6294
|
807
807
|
esphome/components/esp32/preferences.h,sha256=9HIy-BOgjOXJiEgOizZ_Qb8-l6K4eb3VSPW8Y8ffuWM,165
|
808
808
|
esphome/components/esp32_ble/__init__.py,sha256=quQt0RzBsZATfQRrrkXwSO8r-CTXyqx-iu5IXdB72iI,5608
|
809
|
-
esphome/components/esp32_ble/ble.cpp,sha256=
|
809
|
+
esphome/components/esp32_ble/ble.cpp,sha256=DDkePu7NZrAXGViBYJaix07irL8GacZtLSiYtYPCCXM,13456
|
810
810
|
esphome/components/esp32_ble/ble.h,sha256=1USMpwRwVHc6_CnxieJa55mMPq3GFfkEPPYarySc05Y,5234
|
811
811
|
esphome/components/esp32_ble/ble_advertising.cpp,sha256=nWetDKFwcdhyaqRyq8KKmsFctLEF-4Bw81QPYHmxi24,6039
|
812
812
|
esphome/components/esp32_ble/ble_advertising.h,sha256=dLksw168KS1wh3_X7GhesS9nacINphlZUl4nMgYSA8M,1480
|
813
813
|
esphome/components/esp32_ble/ble_event.h,sha256=ED5C_SrTybqtu30vevlPr8NBsBUVKK6MSVC9UzwspHc,2771
|
814
814
|
esphome/components/esp32_ble/ble_uuid.cpp,sha256=2go_q78xgFlQRH_ZpM4tdsDJqyqe_3Ssn2PJFkpjlfI,6167
|
815
815
|
esphome/components/esp32_ble/ble_uuid.h,sha256=K7SoC6fQB7u_FQc4u__crSBLhxpCezc75uO7JFfaX7E,916
|
816
|
-
esphome/components/esp32_ble/const_esp32c6.h,sha256=7FO00jYbc2-0BFhKWfCbcTkNdvRB-9Z0WX5o-EdddDE,3472
|
817
816
|
esphome/components/esp32_ble/queue.h,sha256=w5h55_n5iNqMyCY3rEsrIzJdhGiCNf32_M1OjVIUKtE,1188
|
818
817
|
esphome/components/esp32_ble_beacon/__init__.py,sha256=ts8d3ZFLBH_QE6cW748AZUXaK_yCqg3rzlJcObTGkAQ,3190
|
819
818
|
esphome/components/esp32_ble_beacon/esp32_ble_beacon.cpp,sha256=Y1xsFMHU306rZ8ZU7Y0UmhU22gXYe_28o7jg1t5e3Ms,4202
|
@@ -842,7 +841,7 @@ esphome/components/esp32_ble_server/ble_service.h,sha256=BvKpr2fsUlNnviH9gdokI7I
|
|
842
841
|
esphome/components/esp32_ble_tracker/__init__.py,sha256=mfStrLvJxJcTc1koz1grSqbslqG0SxCpQfi1899vRZk,14649
|
843
842
|
esphome/components/esp32_ble_tracker/automation.h,sha256=0pDA6EX__f14sT0KJwcnqg7UOsueKjjegHPznQj9biw,3795
|
844
843
|
esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp,sha256=-h-yvcDYOCk9zKLmMo45aroEg5vguELxJ3YiW8X-mYA,27960
|
845
|
-
esphome/components/esp32_ble_tracker/esp32_ble_tracker.h,sha256=
|
844
|
+
esphome/components/esp32_ble_tracker/esp32_ble_tracker.h,sha256=D5YTrA5WROUkupXP5uW5y_xqAmfAoT3xxuHHsQ0-Dso,9488
|
846
845
|
esphome/components/esp32_camera/__init__.py,sha256=JL1umjoPo8qLDUaFYQWI34j-ItCshy8COQgn2sa3csM,12630
|
847
846
|
esphome/components/esp32_camera/esp32_camera.cpp,sha256=Ba2nu453rF4FDSlIJwD5sLnzE8ru4kKK4xVCvMdoyac,16960
|
848
847
|
esphome/components/esp32_camera/esp32_camera.h,sha256=3-MKRSBcjDgI3I0uKmt0bGSfp2t6B85Zsjr06tmpa9Q,7590
|
@@ -1108,7 +1107,7 @@ esphome/components/hitachi_ac424/climate.py,sha256=oQMtfzZtDyvc8SoTq24ShaqECR_37
|
|
1108
1107
|
esphome/components/hitachi_ac424/hitachi_ac424.cpp,sha256=-w70IYJ2Zgy7IbHavS9PVOz1pOQuSexnj0Ty_RWL4xQ,12416
|
1109
1108
|
esphome/components/hitachi_ac424/hitachi_ac424.h,sha256=Dsq22csVCEnBEaSNdCp8mqQxXd6ZZzOTmILYmNSImmg,5189
|
1110
1109
|
esphome/components/hlw8012/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1111
|
-
esphome/components/hlw8012/hlw8012.cpp,sha256=
|
1110
|
+
esphome/components/hlw8012/hlw8012.cpp,sha256=eO7HueZ9mxOT_SSMbP3AWb0HXdES_UHfGB9LTZ8gyE0,4241
|
1112
1111
|
esphome/components/hlw8012/hlw8012.h,sha256=rqkj3nhiQ7OPZYCs0ndl7ZpAM5yRkFtXF4plp7gE1jI,2760
|
1113
1112
|
esphome/components/hlw8012/sensor.py,sha256=pGRSxb4G5gQ9GtDeQehaMzao9hWXC3qn_d5Cud5q0nM,4491
|
1114
1113
|
esphome/components/hm3301/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1522,13 +1521,13 @@ esphome/components/lvgl/gradient.py,sha256=K60e7b52N8i7aQjkLIsij7OOXmVhBnJnxj4J3
|
|
1522
1521
|
esphome/components/lvgl/hello_world.py,sha256=iwfSWO0TT0CEGN5M_QBY_oKqmYshT69jOBDFTTUyBII,1417
|
1523
1522
|
esphome/components/lvgl/helpers.py,sha256=XI3C5IHwoSVlgR32kMxeXTZWK6iW112nmWv5wByrKLY,1253
|
1524
1523
|
esphome/components/lvgl/keypads.py,sha256=jtQjAG4vbTzI5Pr1IBfrEEPzV_0k4wkKfCMfsef6VT4,2124
|
1525
|
-
esphome/components/lvgl/lv_validation.py,sha256=
|
1524
|
+
esphome/components/lvgl/lv_validation.py,sha256=pnM6YNZvuVPAJyVlOFUyELpdHyULMS8e2AysrxhQgtw,14067
|
1526
1525
|
esphome/components/lvgl/lvcode.py,sha256=pTpwXB0ZehgHVMF1y-fAvaTZPTbWfwA-iZwTbl2W9hI,10118
|
1527
|
-
esphome/components/lvgl/lvgl_esphome.cpp,sha256=
|
1526
|
+
esphome/components/lvgl/lvgl_esphome.cpp,sha256=ffClk2SbGPxafbMZRshkkO-4MESBih4ADsfVpbj7cAg,19289
|
1528
1527
|
esphome/components/lvgl/lvgl_esphome.h,sha256=8a5DaKfK0jWa1dQsA0bC0aw_RoPrLXC5vcBzVi4CCXU,13927
|
1529
1528
|
esphome/components/lvgl/lvgl_hal.h,sha256=aZqWpSmKKAB-ZfNxxgxjgASTtLpAZjXJKuoTiPB0qqU,431
|
1530
1529
|
esphome/components/lvgl/lvgl_proxy.h,sha256=JPmVBVh5zD5nraJCN7PqXVmQQlc4CPJe_X9tA6IAtXQ,547
|
1531
|
-
esphome/components/lvgl/schemas.py,sha256=
|
1530
|
+
esphome/components/lvgl/schemas.py,sha256=NhbLKOS93LT4MWYmIP63VqaxamqzLx24GnFiPeVhg0A,16227
|
1532
1531
|
esphome/components/lvgl/styles.py,sha256=HTqSzCIy2WUZhhChafVhBeVEemWqFfNyWtXII34XI7k,3010
|
1533
1532
|
esphome/components/lvgl/touchscreens.py,sha256=CntwVa1EUu6iBnxfvuv0rCYd_Njmf451CYdRqQyb9N4,1607
|
1534
1533
|
esphome/components/lvgl/trigger.py,sha256=nk36OgqEQWuSwFsTHprM-bhIjh15bh3NyrsK-ffqGsw,3442
|
@@ -1548,13 +1547,13 @@ esphome/components/lvgl/text/lvgl_text.h,sha256=H0tLRmOMCKTelGj-kLF0J6CGoOPQo142
|
|
1548
1547
|
esphome/components/lvgl/text_sensor/__init__.py,sha256=UtZwQ09zNCVaR48v7UodRSa-rY-1XF9YBg-jPTRNKRg,1103
|
1549
1548
|
esphome/components/lvgl/widgets/__init__.py,sha256=IcHp4fcwJsT-fglO2UngisZCkcsWdzXkiiv7XdcL9pE,14360
|
1550
1549
|
esphome/components/lvgl/widgets/animimg.py,sha256=RWPVVkMRhpnJPN_OLeuZq0eBHbW3TG-42G0HROM07BU,3120
|
1551
|
-
esphome/components/lvgl/widgets/arc.py,sha256=
|
1550
|
+
esphome/components/lvgl/widgets/arc.py,sha256=vsB_I-4cEU2GfUJ1VaPZ5QAwr5_QGBczOr88uBKdhJk,2575
|
1552
1551
|
esphome/components/lvgl/widgets/button.py,sha256=lR_8dHZK3P9AY6WbjfL3Sj9oyTOf-i9qbvkGzcPpzgk,423
|
1553
|
-
esphome/components/lvgl/widgets/buttonmatrix.py,sha256=
|
1552
|
+
esphome/components/lvgl/widgets/buttonmatrix.py,sha256=32WhGeM2BOrVVQn92Kz6PVPrQst1wtdJZajV3Cbmsy8,8645
|
1554
1553
|
esphome/components/lvgl/widgets/canvas.py,sha256=2d28uDfpRUZtN9pjEE2nAXWuQFUCywsPFj8rox0fvdQ,12329
|
1555
|
-
esphome/components/lvgl/widgets/checkbox.py,sha256=
|
1556
|
-
esphome/components/lvgl/widgets/dropdown.py,sha256=
|
1557
|
-
esphome/components/lvgl/widgets/img.py,sha256=
|
1554
|
+
esphome/components/lvgl/widgets/checkbox.py,sha256=3oUHWxATPbAo6pwWuP9CqHe0-s5VU55igQzLMA7DvmM,893
|
1555
|
+
esphome/components/lvgl/widgets/dropdown.py,sha256=ee7F6dmZ3ND-Boc6Ok7EIuauKZpEhmMTgR85nhozw6E,3098
|
1556
|
+
esphome/components/lvgl/widgets/img.py,sha256=vd0Nz14yO8FE1lRTl6xvAh8hUAqZpLqb8BdP1rPg9VQ,2555
|
1558
1557
|
esphome/components/lvgl/widgets/keyboard.py,sha256=US2TmB_8QMKsyftdDICPbNcVfmKiGYxriJ7T8HM-9sY,1765
|
1559
1558
|
esphome/components/lvgl/widgets/label.py,sha256=5xl1a6apdJgGKmkpL8m7RDASjaeKzjKTllhY26Gbfag,1139
|
1560
1559
|
esphome/components/lvgl/widgets/led.py,sha256=qoe_kvZpoRkwbxz25Z66KQ__KLC2tfhAukChp1jdlDc,888
|
@@ -1715,7 +1714,7 @@ esphome/components/mdns/mdns_esp8266.cpp,sha256=vL7EDV3Zw4O3lco43vb0q57GIcZfPdPN
|
|
1715
1714
|
esphome/components/mdns/mdns_host.cpp,sha256=H5Phb-CqVmuoKF1LafoRvl8rJjem33Q8iKg2opykyzg,421
|
1716
1715
|
esphome/components/mdns/mdns_libretiny.cpp,sha256=j3uX11MTYYO1WEN6X-UyuqMt9i6Fz0MbUgWUvNChwho,1225
|
1717
1716
|
esphome/components/mdns/mdns_rp2040.cpp,sha256=AzSFWtVJtq2dA9wJIFkvZvk8r_7oYbdFVtGVRxNBSgg,1306
|
1718
|
-
esphome/components/media_player/__init__.py,sha256=
|
1717
|
+
esphome/components/media_player/__init__.py,sha256=20NmFZBdDwZBBDLhMmgymYG0Dz5Y-lXWSMLNQSwk9jM,8391
|
1719
1718
|
esphome/components/media_player/automation.h,sha256=1aQDiCcXCfbwi2WrU8WyaPnW9MfR95-f9MhFNBhQ3kI,3685
|
1720
1719
|
esphome/components/media_player/media_player.cpp,sha256=VIaMoEUzX7Z95Ng8iCfBWEG3_2469WETuhokRRF2KP4,4453
|
1721
1720
|
esphome/components/media_player/media_player.h,sha256=dXDuZ2apylAj78YccKfoJzX_qscoUN-5KYGKYxiwYv4,3252
|
@@ -2028,7 +2027,7 @@ esphome/components/online_image/image_decoder.cpp,sha256=p_693Ac8F-vs2n_1AZ7E57H
|
|
2028
2027
|
esphome/components/online_image/image_decoder.h,sha256=A8sU-3m5dkyR8S2wXbeR7v7C5mRSLxrvfvsBPYz3a90,3798
|
2029
2028
|
esphome/components/online_image/jpeg_image.cpp,sha256=1qDTfzp7H6oxuRVBVXXgglourmlcBO4uvxQK6YLDFl4,2867
|
2030
2029
|
esphome/components/online_image/jpeg_image.h,sha256=RxlXrSxgd_j7tXYMGdkU1gVmkWB6Jc0YHuq13NrY9fc,741
|
2031
|
-
esphome/components/online_image/online_image.cpp,sha256=
|
2030
|
+
esphome/components/online_image/online_image.cpp,sha256=NpXUoKdbIJRdPcY5tQ-fxa6WLpTYeRs8sHJnNP2M2pA,10585
|
2032
2031
|
esphome/components/online_image/online_image.h,sha256=40F0zWRI0p6A8pFfQdQ1eD5tnwgCxBDbeNcpCHgeUzk,7177
|
2033
2032
|
esphome/components/online_image/png_image.cpp,sha256=ysXfjX05YPuZaG0wxHg0EiPlj3HlddQqUdDG25W1jpY,2432
|
2034
2033
|
esphome/components/online_image/png_image.h,sha256=oDyTIkyOB2MiKxZ9YmctwN7sbc_E7Qz0PvFxWg9Lip8,783
|
@@ -2197,7 +2196,7 @@ esphome/components/prometheus/__init__.py,sha256=V3QD6_RZk7tY7PDuKNbQzzimbgRJ0hk
|
|
2197
2196
|
esphome/components/prometheus/prometheus_handler.cpp,sha256=CYECmgJoD3rXlcBN5GPrDStNuIT34JAAOmpjLL27F64,30420
|
2198
2197
|
esphome/components/prometheus/prometheus_handler.h,sha256=iw1ecV2tnDMA1H6kk59P0I-fE-P8bOrHkRnURi3epRg,6773
|
2199
2198
|
esphome/components/psram/__init__.py,sha256=fmi0xiOuhBdYMt5Wab9PetwRLCbPEz7PtmZHf0CEXzo,3983
|
2200
|
-
esphome/components/psram/psram.cpp,sha256=
|
2199
|
+
esphome/components/psram/psram.cpp,sha256=ryng74NZ0ok4miBDb21vgwDjl2IWFirZXeh3S4tNfNY,1509
|
2201
2200
|
esphome/components/psram/psram.h,sha256=LdElwxbKK68o4J9sdmMX8RZn5D94lXhCCSDm83Ge2jc,239
|
2202
2201
|
esphome/components/pulse_counter/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2203
2202
|
esphome/components/pulse_counter/automation.h,sha256=y-QRATOjByPNkmMaTlaIwvO3q1hpJyifb39GV85CS7c,644
|
@@ -3061,7 +3060,7 @@ esphome/components/tt21100/binary_sensor/__init__.py,sha256=OjI12GxEqj5vWFeDlKNu
|
|
3061
3060
|
esphome/components/tt21100/binary_sensor/tt21100_button.cpp,sha256=ZOA10bQSzemgI_AI8HGACr7asmIT2VRT8VwmegX246Y,610
|
3062
3061
|
esphome/components/tt21100/binary_sensor/tt21100_button.h,sha256=tRjNrAMHz41egQW_XoSXynISS_xWaKSokWOKrXRZrqo,726
|
3063
3062
|
esphome/components/tt21100/touchscreen/__init__.py,sha256=98ImW5iZ9wjnNBZGcJCHCkS2bs56hLcsCdN8K7Ag5ig,1293
|
3064
|
-
esphome/components/tt21100/touchscreen/tt21100.cpp,sha256=
|
3063
|
+
esphome/components/tt21100/touchscreen/tt21100.cpp,sha256=F4FVjQt2IVmiZCnCP-nDuxwFbUAzKRiGjzk7YlFP3QQ,4598
|
3065
3064
|
esphome/components/tt21100/touchscreen/tt21100.h,sha256=WHhvc2epRkatp_50A1gGlR3QLopGVg2IhzbUo-yqNnM,1058
|
3066
3065
|
esphome/components/ttp229_bsf/__init__.py,sha256=RmcTeVNSps5N6vw0CQRzRfWp2pmjYVvYOwMtLjlXRtk,938
|
3067
3066
|
esphome/components/ttp229_bsf/binary_sensor.py,sha256=7hlkGgcFbJi1GcycV04tQRoYW64yBuznrnAPrGnQvo0,792
|
@@ -3220,7 +3219,7 @@ esphome/components/wake_on_lan/button.py,sha256=QQwzh-kUVI8RJVxCP_JpQUk0A9lDDf-c
|
|
3220
3219
|
esphome/components/wake_on_lan/wake_on_lan.cpp,sha256=6rxv_zyBNuYUn-DoahTna0qusEkw4KuU9ccvWU3ZZTY,3114
|
3221
3220
|
esphome/components/wake_on_lan/wake_on_lan.h,sha256=46_1RmAkbCIzHZc0m4ZuJgdO2QHkiWjGuB7hw7MgKZM,984
|
3222
3221
|
esphome/components/watchdog/__init__.py,sha256=phrvkU9sRMp2iVLKx5pNCG11R1HtrJChggVbad-OVWA,26
|
3223
|
-
esphome/components/watchdog/watchdog.cpp,sha256=
|
3222
|
+
esphome/components/watchdog/watchdog.cpp,sha256=A8--WFI3ccw62n7A-MZSmwtO_I2g2rC4bpEUB-kbEWo,1683
|
3224
3223
|
esphome/components/watchdog/watchdog.h,sha256=8Ro3Kgi9C1bYFBkNEeKc188EK63uI48VuzhF5yHPuCk,400
|
3225
3224
|
esphome/components/waveshare_epaper/__init__.py,sha256=4Nn7UhpMJ9oSbuLdyVEW7G9PlIey2v33SWRNVizt9Oc,30
|
3226
3225
|
esphome/components/waveshare_epaper/display.py,sha256=DBEN5glBcXQBvv0bwLcddNzP-fkeyk-yKeHsfPXw1nM,9794
|
@@ -3481,9 +3480,9 @@ esphome/dashboard/util/itertools.py,sha256=8eLrWEWmICLtXNxkKdYPQV0c_N4GEz8m9Npnb
|
|
3481
3480
|
esphome/dashboard/util/password.py,sha256=cQz3b9B-ijTe7zS6BeCW0hc3pWv6JjC78jmnycYYAh8,321
|
3482
3481
|
esphome/dashboard/util/subprocess.py,sha256=T8EW6dbU4LPd2DG1dRrdh8li71tt6J1isn411poMhkk,1022
|
3483
3482
|
esphome/dashboard/util/text.py,sha256=ENDnfN4O0NdA3CKVJjQYabFbwbrsIhVKrAMQe53qYu4,534
|
3484
|
-
esphome-2025.4.
|
3485
|
-
esphome-2025.4.
|
3486
|
-
esphome-2025.4.
|
3487
|
-
esphome-2025.4.
|
3488
|
-
esphome-2025.4.
|
3489
|
-
esphome-2025.4.
|
3483
|
+
esphome-2025.4.2.dist-info/licenses/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
|
3484
|
+
esphome-2025.4.2.dist-info/METADATA,sha256=Op0OgVC82_DSnkLCjGQ8qQrB3Gl9NAm5huIJb_QWls0,3671
|
3485
|
+
esphome-2025.4.2.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
|
3486
|
+
esphome-2025.4.2.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
|
3487
|
+
esphome-2025.4.2.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
|
3488
|
+
esphome-2025.4.2.dist-info/RECORD,,
|
@@ -1,74 +0,0 @@
|
|
1
|
-
#pragma once
|
2
|
-
|
3
|
-
#ifdef USE_ESP32_VARIANT_ESP32C6
|
4
|
-
|
5
|
-
#include <esp_bt.h>
|
6
|
-
|
7
|
-
namespace esphome {
|
8
|
-
namespace esp32_ble {
|
9
|
-
|
10
|
-
static const esp_bt_controller_config_t BT_CONTROLLER_CONFIG = {
|
11
|
-
.config_version = CONFIG_VERSION,
|
12
|
-
.ble_ll_resolv_list_size = CONFIG_BT_LE_LL_RESOLV_LIST_SIZE,
|
13
|
-
.ble_hci_evt_hi_buf_count = DEFAULT_BT_LE_HCI_EVT_HI_BUF_COUNT,
|
14
|
-
.ble_hci_evt_lo_buf_count = DEFAULT_BT_LE_HCI_EVT_LO_BUF_COUNT,
|
15
|
-
.ble_ll_sync_list_cnt = DEFAULT_BT_LE_MAX_PERIODIC_ADVERTISER_LIST,
|
16
|
-
.ble_ll_sync_cnt = DEFAULT_BT_LE_MAX_PERIODIC_SYNCS,
|
17
|
-
.ble_ll_rsp_dup_list_count = CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT,
|
18
|
-
.ble_ll_adv_dup_list_count = CONFIG_BT_LE_LL_DUP_SCAN_LIST_COUNT,
|
19
|
-
.ble_ll_tx_pwr_dbm = BLE_LL_TX_PWR_DBM_N,
|
20
|
-
.rtc_freq = RTC_FREQ_N,
|
21
|
-
.ble_ll_sca = CONFIG_BT_LE_LL_SCA,
|
22
|
-
.ble_ll_scan_phy_number = BLE_LL_SCAN_PHY_NUMBER_N,
|
23
|
-
.ble_ll_conn_def_auth_pyld_tmo = BLE_LL_CONN_DEF_AUTH_PYLD_TMO_N,
|
24
|
-
.ble_ll_jitter_usecs = BLE_LL_JITTER_USECS_N,
|
25
|
-
.ble_ll_sched_max_adv_pdu_usecs = BLE_LL_SCHED_MAX_ADV_PDU_USECS_N,
|
26
|
-
.ble_ll_sched_direct_adv_max_usecs = BLE_LL_SCHED_DIRECT_ADV_MAX_USECS_N,
|
27
|
-
.ble_ll_sched_adv_max_usecs = BLE_LL_SCHED_ADV_MAX_USECS_N,
|
28
|
-
.ble_scan_rsp_data_max_len = DEFAULT_BT_LE_SCAN_RSP_DATA_MAX_LEN_N,
|
29
|
-
.ble_ll_cfg_num_hci_cmd_pkts = BLE_LL_CFG_NUM_HCI_CMD_PKTS_N,
|
30
|
-
.ble_ll_ctrl_proc_timeout_ms = BLE_LL_CTRL_PROC_TIMEOUT_MS_N,
|
31
|
-
.nimble_max_connections = DEFAULT_BT_LE_MAX_CONNECTIONS,
|
32
|
-
.ble_whitelist_size = DEFAULT_BT_NIMBLE_WHITELIST_SIZE, // NOLINT
|
33
|
-
.ble_acl_buf_size = DEFAULT_BT_LE_ACL_BUF_SIZE,
|
34
|
-
.ble_acl_buf_count = DEFAULT_BT_LE_ACL_BUF_COUNT,
|
35
|
-
.ble_hci_evt_buf_size = DEFAULT_BT_LE_HCI_EVT_BUF_SIZE,
|
36
|
-
.ble_multi_adv_instances = DEFAULT_BT_LE_MAX_EXT_ADV_INSTANCES,
|
37
|
-
.ble_ext_adv_max_size = DEFAULT_BT_LE_EXT_ADV_MAX_SIZE,
|
38
|
-
.controller_task_stack_size = NIMBLE_LL_STACK_SIZE,
|
39
|
-
.controller_task_prio = ESP_TASK_BT_CONTROLLER_PRIO,
|
40
|
-
.controller_run_cpu = 0,
|
41
|
-
.enable_qa_test = RUN_QA_TEST,
|
42
|
-
.enable_bqb_test = RUN_BQB_TEST,
|
43
|
-
#if ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(5, 3, 1)
|
44
|
-
// The following fields have been removed since ESP IDF version 5.3.1, see commit:
|
45
|
-
// https://github.com/espressif/esp-idf/commit/e761c1de8f9c0777829d597b4d5a33bb070a30a8
|
46
|
-
.enable_uart_hci = HCI_UART_EN,
|
47
|
-
.ble_hci_uart_port = DEFAULT_BT_LE_HCI_UART_PORT,
|
48
|
-
.ble_hci_uart_baud = DEFAULT_BT_LE_HCI_UART_BAUD,
|
49
|
-
.ble_hci_uart_data_bits = DEFAULT_BT_LE_HCI_UART_DATA_BITS,
|
50
|
-
.ble_hci_uart_stop_bits = DEFAULT_BT_LE_HCI_UART_STOP_BITS,
|
51
|
-
.ble_hci_uart_flow_ctrl = DEFAULT_BT_LE_HCI_UART_FLOW_CTRL,
|
52
|
-
.ble_hci_uart_uart_parity = DEFAULT_BT_LE_HCI_UART_PARITY,
|
53
|
-
#endif
|
54
|
-
.enable_tx_cca = DEFAULT_BT_LE_TX_CCA_ENABLED,
|
55
|
-
.cca_rssi_thresh = 256 - DEFAULT_BT_LE_CCA_RSSI_THRESH,
|
56
|
-
.sleep_en = NIMBLE_SLEEP_ENABLE,
|
57
|
-
.coex_phy_coded_tx_rx_time_limit = DEFAULT_BT_LE_COEX_PHY_CODED_TX_RX_TLIM_EFF,
|
58
|
-
.dis_scan_backoff = NIMBLE_DISABLE_SCAN_BACKOFF,
|
59
|
-
.ble_scan_classify_filter_enable = 1,
|
60
|
-
.main_xtal_freq = CONFIG_XTAL_FREQ,
|
61
|
-
.version_num = (uint8_t) efuse_hal_chip_revision(),
|
62
|
-
.cpu_freq_mhz = CONFIG_ESP_DEFAULT_CPU_FREQ_MHZ,
|
63
|
-
.ignore_wl_for_direct_adv = 0,
|
64
|
-
.enable_pcl = DEFAULT_BT_LE_POWER_CONTROL_ENABLED,
|
65
|
-
#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 1, 3)
|
66
|
-
.csa2_select = DEFAULT_BT_LE_50_FEATURE_SUPPORT,
|
67
|
-
#endif
|
68
|
-
.config_magic = CONFIG_MAGIC,
|
69
|
-
};
|
70
|
-
|
71
|
-
} // namespace esp32_ble
|
72
|
-
} // namespace esphome
|
73
|
-
|
74
|
-
#endif // USE_ESP32_VARIANT_ESP32C6
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|