esphome 2024.12.0b1__py3-none-any.whl → 2024.12.0b3__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/adc/adc_sensor_libretiny.cpp +48 -0
- esphome/components/esp32_ble/ble.cpp +26 -7
- esphome/components/font/__init__.py +5 -2
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp +1 -1
- esphome/components/remote_receiver/__init__.py +5 -6
- esphome/components/sgp30/sensor.py +8 -9
- esphome/components/sgp30/sgp30.cpp +2 -6
- esphome/const.py +5 -1
- esphome/core/helpers.cpp +2 -1
- esphome/dashboard/web_server.py +6 -0
- {esphome-2024.12.0b1.dist-info → esphome-2024.12.0b3.dist-info}/METADATA +2 -2
- {esphome-2024.12.0b1.dist-info → esphome-2024.12.0b3.dist-info}/RECORD +16 -15
- {esphome-2024.12.0b1.dist-info → esphome-2024.12.0b3.dist-info}/LICENSE +0 -0
- {esphome-2024.12.0b1.dist-info → esphome-2024.12.0b3.dist-info}/WHEEL +0 -0
- {esphome-2024.12.0b1.dist-info → esphome-2024.12.0b3.dist-info}/entry_points.txt +0 -0
- {esphome-2024.12.0b1.dist-info → esphome-2024.12.0b3.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,48 @@
|
|
1
|
+
#ifdef USE_LIBRETINY
|
2
|
+
|
3
|
+
#include "adc_sensor.h"
|
4
|
+
#include "esphome/core/log.h"
|
5
|
+
|
6
|
+
namespace esphome {
|
7
|
+
namespace adc {
|
8
|
+
|
9
|
+
static const char *const TAG = "adc.libretiny";
|
10
|
+
|
11
|
+
void ADCSensor::setup() {
|
12
|
+
ESP_LOGCONFIG(TAG, "Setting up ADC '%s'...", this->get_name().c_str());
|
13
|
+
#ifndef USE_ADC_SENSOR_VCC
|
14
|
+
this->pin_->setup();
|
15
|
+
#endif // !USE_ADC_SENSOR_VCC
|
16
|
+
}
|
17
|
+
|
18
|
+
void ADCSensor::dump_config() {
|
19
|
+
LOG_SENSOR("", "ADC Sensor", this);
|
20
|
+
#ifdef USE_ADC_SENSOR_VCC
|
21
|
+
ESP_LOGCONFIG(TAG, " Pin: VCC");
|
22
|
+
#else // USE_ADC_SENSOR_VCC
|
23
|
+
LOG_PIN(" Pin: ", this->pin_);
|
24
|
+
#endif // USE_ADC_SENSOR_VCC
|
25
|
+
ESP_LOGCONFIG(TAG, " Samples: %i", this->sample_count_);
|
26
|
+
LOG_UPDATE_INTERVAL(this);
|
27
|
+
}
|
28
|
+
|
29
|
+
float ADCSensor::sample() {
|
30
|
+
uint32_t raw = 0;
|
31
|
+
if (this->output_raw_) {
|
32
|
+
for (uint8_t sample = 0; sample < this->sample_count_; sample++) {
|
33
|
+
raw += analogRead(this->pin_->get_pin()); // NOLINT
|
34
|
+
}
|
35
|
+
raw = (raw + (this->sample_count_ >> 1)) / this->sample_count_; // NOLINT(clang-analyzer-core.DivideZero)
|
36
|
+
return raw;
|
37
|
+
}
|
38
|
+
for (uint8_t sample = 0; sample < this->sample_count_; sample++) {
|
39
|
+
raw += analogReadVoltage(this->pin_->get_pin()); // NOLINT
|
40
|
+
}
|
41
|
+
raw = (raw + (this->sample_count_ >> 1)) / this->sample_count_; // NOLINT(clang-analyzer-core.DivideZero)
|
42
|
+
return raw / 1000.0f;
|
43
|
+
}
|
44
|
+
|
45
|
+
} // namespace adc
|
46
|
+
} // namespace esphome
|
47
|
+
|
48
|
+
#endif // USE_LIBRETINY
|
@@ -27,6 +27,9 @@ namespace esp32_ble {
|
|
27
27
|
|
28
28
|
static const char *const TAG = "esp32_ble";
|
29
29
|
|
30
|
+
static RAMAllocator<BLEEvent> EVENT_ALLOCATOR( // NOLINT(cppcoreguidelines-avoid-non-const-global-variables)
|
31
|
+
RAMAllocator<BLEEvent>::ALLOW_FAILURE | RAMAllocator<BLEEvent>::ALLOC_INTERNAL);
|
32
|
+
|
30
33
|
void ESP32BLE::setup() {
|
31
34
|
global_ble = this;
|
32
35
|
ESP_LOGCONFIG(TAG, "Setting up BLE...");
|
@@ -322,7 +325,8 @@ void ESP32BLE::loop() {
|
|
322
325
|
default:
|
323
326
|
break;
|
324
327
|
}
|
325
|
-
|
328
|
+
ble_event->~BLEEvent();
|
329
|
+
EVENT_ALLOCATOR.deallocate(ble_event, 1);
|
326
330
|
ble_event = this->ble_events_.pop();
|
327
331
|
}
|
328
332
|
if (this->advertising_ != nullptr) {
|
@@ -331,9 +335,14 @@ void ESP32BLE::loop() {
|
|
331
335
|
}
|
332
336
|
|
333
337
|
void ESP32BLE::gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) {
|
334
|
-
BLEEvent *new_event =
|
338
|
+
BLEEvent *new_event = EVENT_ALLOCATOR.allocate(1);
|
339
|
+
if (new_event == nullptr) {
|
340
|
+
// Memory too fragmented to allocate new event. Can only drop it until memory comes back
|
341
|
+
return;
|
342
|
+
}
|
343
|
+
new (new_event) BLEEvent(event, param);
|
335
344
|
global_ble->ble_events_.push(new_event);
|
336
|
-
} // NOLINT(clang-analyzer-
|
345
|
+
} // NOLINT(clang-analyzer-unix.Malloc)
|
337
346
|
|
338
347
|
void ESP32BLE::real_gap_event_handler_(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) {
|
339
348
|
ESP_LOGV(TAG, "(BLE) gap_event_handler - %d", event);
|
@@ -344,9 +353,14 @@ void ESP32BLE::real_gap_event_handler_(esp_gap_ble_cb_event_t event, esp_ble_gap
|
|
344
353
|
|
345
354
|
void ESP32BLE::gatts_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if,
|
346
355
|
esp_ble_gatts_cb_param_t *param) {
|
347
|
-
BLEEvent *new_event =
|
356
|
+
BLEEvent *new_event = EVENT_ALLOCATOR.allocate(1);
|
357
|
+
if (new_event == nullptr) {
|
358
|
+
// Memory too fragmented to allocate new event. Can only drop it until memory comes back
|
359
|
+
return;
|
360
|
+
}
|
361
|
+
new (new_event) BLEEvent(event, gatts_if, param);
|
348
362
|
global_ble->ble_events_.push(new_event);
|
349
|
-
} // NOLINT(clang-analyzer-
|
363
|
+
} // NOLINT(clang-analyzer-unix.Malloc)
|
350
364
|
|
351
365
|
void ESP32BLE::real_gatts_event_handler_(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if,
|
352
366
|
esp_ble_gatts_cb_param_t *param) {
|
@@ -358,9 +372,14 @@ void ESP32BLE::real_gatts_event_handler_(esp_gatts_cb_event_t event, esp_gatt_if
|
|
358
372
|
|
359
373
|
void ESP32BLE::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if,
|
360
374
|
esp_ble_gattc_cb_param_t *param) {
|
361
|
-
BLEEvent *new_event =
|
375
|
+
BLEEvent *new_event = EVENT_ALLOCATOR.allocate(1);
|
376
|
+
if (new_event == nullptr) {
|
377
|
+
// Memory too fragmented to allocate new event. Can only drop it until memory comes back
|
378
|
+
return;
|
379
|
+
}
|
380
|
+
new (new_event) BLEEvent(event, gattc_if, param);
|
362
381
|
global_ble->ble_events_.push(new_event);
|
363
|
-
} // NOLINT(clang-analyzer-
|
382
|
+
} // NOLINT(clang-analyzer-unix.Malloc)
|
364
383
|
|
365
384
|
void ESP32BLE::real_gattc_event_handler_(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if,
|
366
385
|
esp_ble_gattc_cb_param_t *param) {
|
@@ -51,8 +51,11 @@ CONF_IGNORE_MISSING_GLYPHS = "ignore_missing_glyphs"
|
|
51
51
|
# Cache loaded freetype fonts
|
52
52
|
class FontCache(dict):
|
53
53
|
def __missing__(self, key):
|
54
|
-
|
55
|
-
|
54
|
+
try:
|
55
|
+
res = self[key] = freetype.Face(key)
|
56
|
+
return res
|
57
|
+
except freetype.FT_Exception as e:
|
58
|
+
raise cv.Invalid(f"Could not load Font file {key}: {e}") from e
|
56
59
|
|
57
60
|
|
58
61
|
FONT_CACHE = FontCache()
|
@@ -247,7 +247,7 @@ void I2SAudioSpeaker::speaker_task(void *params) {
|
|
247
247
|
|
248
248
|
// Ensure ring buffer is at least as large as the total size of the DMA buffers
|
249
249
|
const size_t ring_buffer_size =
|
250
|
-
std::
|
250
|
+
std::max((uint32_t) dma_buffers_size, this_speaker->buffer_duration_ms_ * bytes_per_ms);
|
251
251
|
|
252
252
|
if (this_speaker->send_esp_err_to_event_group_(this_speaker->allocate_buffers_(dma_buffers_size, ring_buffer_size))) {
|
253
253
|
// Failed to allocate buffers
|
@@ -1,24 +1,23 @@
|
|
1
|
+
from esphome import pins
|
1
2
|
import esphome.codegen as cg
|
3
|
+
from esphome.components import esp32_rmt, remote_base
|
2
4
|
import esphome.config_validation as cv
|
3
|
-
from esphome import pins
|
4
|
-
from esphome.components import remote_base, esp32_rmt
|
5
5
|
from esphome.const import (
|
6
6
|
CONF_BUFFER_SIZE,
|
7
|
+
CONF_CLOCK_DIVIDER,
|
7
8
|
CONF_DUMP,
|
8
9
|
CONF_FILTER,
|
9
10
|
CONF_ID,
|
10
11
|
CONF_IDLE,
|
12
|
+
CONF_MEMORY_BLOCKS,
|
11
13
|
CONF_PIN,
|
14
|
+
CONF_RMT_CHANNEL,
|
12
15
|
CONF_TOLERANCE,
|
13
16
|
CONF_TYPE,
|
14
|
-
CONF_MEMORY_BLOCKS,
|
15
|
-
CONF_RMT_CHANNEL,
|
16
17
|
CONF_VALUE,
|
17
18
|
)
|
18
19
|
from esphome.core import CORE, TimePeriod
|
19
20
|
|
20
|
-
CONF_CLOCK_DIVIDER = "clock_divider"
|
21
|
-
|
22
21
|
AUTO_LOAD = ["remote_base"]
|
23
22
|
remote_receiver_ns = cg.esphome_ns.namespace("remote_receiver")
|
24
23
|
remote_base_ns = cg.esphome_ns.namespace("remote_base")
|
@@ -1,23 +1,22 @@
|
|
1
1
|
import esphome.codegen as cg
|
2
|
+
from esphome.components import i2c, sensirion_common, sensor
|
2
3
|
import esphome.config_validation as cv
|
3
|
-
from esphome.components import i2c, sensor, sensirion_common
|
4
|
-
|
5
4
|
from esphome.const import (
|
6
|
-
CONF_COMPENSATION,
|
7
|
-
CONF_ID,
|
8
5
|
CONF_BASELINE,
|
6
|
+
CONF_COMPENSATION,
|
9
7
|
CONF_ECO2,
|
8
|
+
CONF_ID,
|
10
9
|
CONF_STORE_BASELINE,
|
11
10
|
CONF_TEMPERATURE_SOURCE,
|
12
11
|
CONF_TVOC,
|
13
|
-
ICON_RADIATOR,
|
14
12
|
DEVICE_CLASS_CARBON_DIOXIDE,
|
15
13
|
DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS,
|
14
|
+
ENTITY_CATEGORY_DIAGNOSTIC,
|
15
|
+
ICON_MOLECULE_CO2,
|
16
|
+
ICON_RADIATOR,
|
16
17
|
STATE_CLASS_MEASUREMENT,
|
17
|
-
UNIT_PARTS_PER_MILLION,
|
18
18
|
UNIT_PARTS_PER_BILLION,
|
19
|
-
|
20
|
-
ENTITY_CATEGORY_DIAGNOSTIC,
|
19
|
+
UNIT_PARTS_PER_MILLION,
|
21
20
|
)
|
22
21
|
|
23
22
|
DEPENDENCIES = ["i2c"]
|
@@ -77,7 +76,7 @@ CONFIG_SCHEMA = (
|
|
77
76
|
),
|
78
77
|
}
|
79
78
|
)
|
80
|
-
.extend(cv.polling_component_schema("
|
79
|
+
.extend(cv.polling_component_schema("60s"))
|
81
80
|
.extend(i2c.i2c_device_schema(0x58))
|
82
81
|
)
|
83
82
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
#include "sgp30.h"
|
2
|
+
#include <cinttypes>
|
3
|
+
#include "esphome/core/application.h"
|
2
4
|
#include "esphome/core/hal.h"
|
3
5
|
#include "esphome/core/log.h"
|
4
|
-
#include "esphome/core/application.h"
|
5
|
-
#include <cinttypes>
|
6
6
|
|
7
7
|
namespace esphome {
|
8
8
|
namespace sgp30 {
|
@@ -295,10 +295,6 @@ void SGP30Component::update() {
|
|
295
295
|
if (this->tvoc_sensor_ != nullptr)
|
296
296
|
this->tvoc_sensor_->publish_state(tvoc);
|
297
297
|
|
298
|
-
if (this->get_update_interval() != 1000) {
|
299
|
-
ESP_LOGW(TAG, "Update interval for SGP30 sensor must be set to 1s for optimized readout");
|
300
|
-
}
|
301
|
-
|
302
298
|
this->status_clear_warning();
|
303
299
|
this->send_env_data_();
|
304
300
|
this->read_iaq_baseline_();
|
esphome/const.py
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"""Constants used by esphome."""
|
2
2
|
|
3
|
-
__version__ = "2024.12.
|
3
|
+
__version__ = "2024.12.0b3"
|
4
4
|
|
5
5
|
ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
|
6
6
|
VALID_SUBSTITUTIONS_CHARACTERS = (
|
@@ -131,7 +131,9 @@ CONF_CLIENT_CERTIFICATE = "client_certificate"
|
|
131
131
|
CONF_CLIENT_CERTIFICATE_KEY = "client_certificate_key"
|
132
132
|
CONF_CLIENT_ID = "client_id"
|
133
133
|
CONF_CLK_PIN = "clk_pin"
|
134
|
+
CONF_CLOCK_DIVIDER = "clock_divider"
|
134
135
|
CONF_CLOCK_PIN = "clock_pin"
|
136
|
+
CONF_CLOCK_RESOLUTION = "clock_resolution"
|
135
137
|
CONF_CLOSE_ACTION = "close_action"
|
136
138
|
CONF_CLOSE_DURATION = "close_duration"
|
137
139
|
CONF_CLOSE_ENDSTOP = "close_endstop"
|
@@ -739,6 +741,7 @@ CONF_RGB_ORDER = "rgb_order"
|
|
739
741
|
CONF_RGBW = "rgbw"
|
740
742
|
CONF_RISING_EDGE = "rising_edge"
|
741
743
|
CONF_RMT_CHANNEL = "rmt_channel"
|
744
|
+
CONF_RMT_SYMBOLS = "rmt_symbols"
|
742
745
|
CONF_ROTATION = "rotation"
|
743
746
|
CONF_ROW = "row"
|
744
747
|
CONF_RS_PIN = "rs_pin"
|
@@ -918,6 +921,7 @@ CONF_UPDATE_ON_BOOT = "update_on_boot"
|
|
918
921
|
CONF_URL = "url"
|
919
922
|
CONF_USE_ABBREVIATIONS = "use_abbreviations"
|
920
923
|
CONF_USE_ADDRESS = "use_address"
|
924
|
+
CONF_USE_DMA = "use_dma"
|
921
925
|
CONF_USE_FAHRENHEIT = "use_fahrenheit"
|
922
926
|
CONF_USERNAME = "username"
|
923
927
|
CONF_UUID = "uuid"
|
esphome/core/helpers.cpp
CHANGED
@@ -767,7 +767,8 @@ bool mac_address_is_valid(const uint8_t *mac) {
|
|
767
767
|
return !(is_all_zeros || is_all_ones);
|
768
768
|
}
|
769
769
|
|
770
|
-
void delay_microseconds_safe(uint32_t us) {
|
770
|
+
void IRAM_ATTR HOT delay_microseconds_safe(uint32_t us) {
|
771
|
+
// avoids CPU locks that could trigger WDT or affect WiFi/BT stability
|
771
772
|
uint32_t start = micros();
|
772
773
|
|
773
774
|
const uint32_t lag = 5000; // microseconds, specifies the maximum time for a CPU busy-loop.
|
esphome/dashboard/web_server.py
CHANGED
@@ -108,6 +108,12 @@ def is_authenticated(handler: BaseHandler) -> bool:
|
|
108
108
|
return True
|
109
109
|
|
110
110
|
if settings.using_auth:
|
111
|
+
if auth_header := handler.request.headers.get("Authorization"):
|
112
|
+
assert isinstance(auth_header, str)
|
113
|
+
if auth_header.startswith("Basic "):
|
114
|
+
auth_decoded = base64.b64decode(auth_header[6:]).decode()
|
115
|
+
username, password = auth_decoded.split(":", 1)
|
116
|
+
return settings.check_password(username, password)
|
111
117
|
return handler.get_secure_cookie(AUTH_COOKIE_NAME) == COOKIE_AUTHENTICATED_YES
|
112
118
|
|
113
119
|
return True
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: esphome
|
3
|
-
Version: 2024.12.
|
3
|
+
Version: 2024.12.0b3
|
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@nabucasa.com>
|
6
6
|
License: MIT
|
@@ -36,7 +36,7 @@ Requires-Dist: pyserial ==3.5
|
|
36
36
|
Requires-Dist: platformio ==6.1.16
|
37
37
|
Requires-Dist: esptool ==4.7.0
|
38
38
|
Requires-Dist: click ==8.1.7
|
39
|
-
Requires-Dist: esphome-dashboard ==
|
39
|
+
Requires-Dist: esphome-dashboard ==20241217.1
|
40
40
|
Requires-Dist: aioesphomeapi ==24.6.2
|
41
41
|
Requires-Dist: zeroconf ==0.132.2
|
42
42
|
Requires-Dist: puremagic ==1.27
|
@@ -5,7 +5,7 @@ esphome/codegen.py,sha256=GePHUM7xdXb_Pil59SHVsXg2F4VBPgkH-Fz2PDX8Z54,1873
|
|
5
5
|
esphome/config.py,sha256=nOiXPZv8wHtmytkNlGcewp0uuJd9G5rRjkqevYXtjzo,39618
|
6
6
|
esphome/config_helpers.py,sha256=MKf_wzO35nn41FvigXE0iYKDslPgL2ruf8R-EPtTT2I,3256
|
7
7
|
esphome/config_validation.py,sha256=jtqGmSF_0mAIMxRMV3eJj7dQ71Jmlc51NOx6AvWlnqs,66374
|
8
|
-
esphome/const.py,sha256=
|
8
|
+
esphome/const.py,sha256=EyLP-Pp3YiJLFBhMfJBByzMd3r3KhclcQBnPac3aRW8,40646
|
9
9
|
esphome/coroutine.py,sha256=j_14z8dIIzIBeuNO30D4c1RJvMMt1xZFZ58Evd-EvJA,9344
|
10
10
|
esphome/cpp_generator.py,sha256=lXPXHYUsFIvBSAoZ93mXYlGcXYg5L18nTtYGHE4_rr8,31203
|
11
11
|
esphome/cpp_helpers.py,sha256=6C2vNbOIhZKi43xRVlk5hp9GfshfBn-rc5D_ZFUEYaE,4801
|
@@ -59,6 +59,7 @@ esphome/components/adc/adc_sensor.h,sha256=iJFmqcj6_BC8R5d_Fbnda7O3GQjUKXHrB3dbQ
|
|
59
59
|
esphome/components/adc/adc_sensor_common.cpp,sha256=qpU1oEz26OQlA7gsrWyEnqijSQS_CLwBCrE4HMt4QCo,566
|
60
60
|
esphome/components/adc/adc_sensor_esp32.cpp,sha256=dKyUb1JsDdTO8gYITwYuRAqk3ZGXgHWDNQbGHmpEeAs,5745
|
61
61
|
esphome/components/adc/adc_sensor_esp8266.cpp,sha256=nJHMYM3faXqwvFEodVVYEQ5ERFegHV7mLbzxZcdwAu4,1414
|
62
|
+
esphome/components/adc/adc_sensor_libretiny.cpp,sha256=K-6I9-P2rUtpiKcb-YtvItNJeOo9SEVfrN3sD1uy5Q8,1350
|
62
63
|
esphome/components/adc/adc_sensor_rp2040.cpp,sha256=7kUKFmTWrNBackDSSifLk2Mt9nEpKs1eh4TWFRvdqe0,2380
|
63
64
|
esphome/components/adc/sensor.py,sha256=jqwve3vXXfFmd5gfRJfCJNwFUAooqQ8OtQ_XZ8yP__o,4112
|
64
65
|
esphome/components/adc128s102/__init__.py,sha256=loTg5WsBpBrUqZ_vKCk54_9_KqNP834Kx-Cs2PIj798,652
|
@@ -788,7 +789,7 @@ esphome/components/esp32/post_build.py.script,sha256=ZBsPNunx2BH4ZiRyXnjTP7D7eN2
|
|
788
789
|
esphome/components/esp32/preferences.cpp,sha256=6mrR6ziH2dnBcMKPD5RwYYB16tkAy0w75x_mRy4wQCY,6294
|
789
790
|
esphome/components/esp32/preferences.h,sha256=9HIy-BOgjOXJiEgOizZ_Qb8-l6K4eb3VSPW8Y8ffuWM,165
|
790
791
|
esphome/components/esp32_ble/__init__.py,sha256=_icbuq6fiRVExFZe1ETU2GJ6ziR4LxMK3nzeER7gEuY,4321
|
791
|
-
esphome/components/esp32_ble/ble.cpp,sha256=
|
792
|
+
esphome/components/esp32_ble/ble.cpp,sha256=w51oEvWeMcYs2CgIlCLTFEMaxxzxW0hAstWhwHl_oQM,13661
|
792
793
|
esphome/components/esp32_ble/ble.h,sha256=1USMpwRwVHc6_CnxieJa55mMPq3GFfkEPPYarySc05Y,5234
|
793
794
|
esphome/components/esp32_ble/ble_advertising.cpp,sha256=DUdZyaNCc4xxyPmB4OM8dtgSxcHkIdju1-j-CJGMtyg,6022
|
794
795
|
esphome/components/esp32_ble/ble_advertising.h,sha256=dLksw168KS1wh3_X7GhesS9nacINphlZUl4nMgYSA8M,1480
|
@@ -931,7 +932,7 @@ esphome/components/fingerprint_grow/binary_sensor.py,sha256=NeVcqVCpmjGdnfimIIWS
|
|
931
932
|
esphome/components/fingerprint_grow/fingerprint_grow.cpp,sha256=xtHEpnp1Ei_5s5SS5Vfxt8vG_PoPMmeUjbOQHWrn5G0,18675
|
932
933
|
esphome/components/fingerprint_grow/fingerprint_grow.h,sha256=UEkLR4Cqas_XYlTLAwscXCAMRoprWeQZEZ_3vTsI-BM,11206
|
933
934
|
esphome/components/fingerprint_grow/sensor.py,sha256=eazvZvdtt1Rl8o3Aw6eYKn-kb2sNDfZKHegxpFFdQeg,2244
|
934
|
-
esphome/components/font/__init__.py,sha256=
|
935
|
+
esphome/components/font/__init__.py,sha256=UffNdpZ8qzYXqi3Z1KN5m2Vf_9q_Q5bjgB-JN_H-MYw,19227
|
935
936
|
esphome/components/font/font.cpp,sha256=xORioLApiap2sPwx4d5uMTQNx5-OUIYSB8pt0uHx0IU,5413
|
936
937
|
esphome/components/font/font.h,sha256=jTeGf7Osax98Tbs9TeZ01Ta3P2FZt-wWar1bybMFc20,2009
|
937
938
|
esphome/components/fs3000/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -1210,7 +1211,7 @@ esphome/components/i2s_audio/microphone/__init__.py,sha256=bUKAY5HBZrBJGufEA9MkC
|
|
1210
1211
|
esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp,sha256=-AN8LLxtcLp9r-JCpfSG2huLk3ptbgijvKsH-XWl3XQ,6228
|
1211
1212
|
esphome/components/i2s_audio/microphone/i2s_audio_microphone.h,sha256=dMNlVDWJ8Agz8NJe0pNvxDN9ZM9GMU3XNxPqQgHLQ5c,1036
|
1212
1213
|
esphome/components/i2s_audio/speaker/__init__.py,sha256=DcG-0I2ETqk3akuTvzl7szVERy99qEgo-Ma8iFJjN4c,4013
|
1213
|
-
esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp,sha256=
|
1214
|
+
esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp,sha256=9Cw8SAYEtZY9I56oSX5Tlf9K86oi7nzXm-CFvWPWOuc,19780
|
1214
1215
|
esphome/components/i2s_audio/speaker/i2s_audio_speaker.h,sha256=Y0Fk7y32eHVUUTBa1dnDLrGa_6zDcYNE51zez8ual9A,5988
|
1215
1216
|
esphome/components/iaqcore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1216
1217
|
esphome/components/iaqcore/iaqcore.cpp,sha256=hKSC0Xar693LMqOHpYShl_-VdWkKc18i21AzjdjB7e4,2268
|
@@ -2272,7 +2273,7 @@ esphome/components/remote_base/sony_protocol.cpp,sha256=EJ3dl0by31luOdaZgPO5L4XZ
|
|
2272
2273
|
esphome/components/remote_base/sony_protocol.h,sha256=3kdO2RE3KvQSU7tB_rXBHx9f8D_j23PPw1yJmBPLdNE,1003
|
2273
2274
|
esphome/components/remote_base/toshiba_ac_protocol.cpp,sha256=CQNONh4-M91jPDecR_SYVricsXI_NxkbiaXxcRI9g7M,3434
|
2274
2275
|
esphome/components/remote_base/toshiba_ac_protocol.h,sha256=xkpVmBNtQ_uEbMHzwaJOle2KXBxa34Q-ABZfuCsMouA,1092
|
2275
|
-
esphome/components/remote_receiver/__init__.py,sha256=
|
2276
|
+
esphome/components/remote_receiver/__init__.py,sha256=qq40_lP2XXc22frIBynQgyWBf7xxbM-Rrmkhrtt_u2w,4561
|
2276
2277
|
esphome/components/remote_receiver/binary_sensor.py,sha256=AybkaXQkJpcxpJhDkbgupO9zIiVhBFYpxvjUHBQbs_w,291
|
2277
2278
|
esphome/components/remote_receiver/remote_receiver.h,sha256=D4_Pe-o1ZYH5Ye14elx7vAeO_pl-H98ufcMky5dEWNs,2397
|
2278
2279
|
esphome/components/remote_receiver/remote_receiver_esp32.cpp,sha256=XsU0-6AJdVTqVIycJMDnkHtIaRsW-CewBh5P6LBwaCE,5905
|
@@ -2502,8 +2503,8 @@ esphome/components/sfa30/sensor.py,sha256=TbBGLaBRl5wrPdvmXX59OyCw2I2gTa6q4aYgFl
|
|
2502
2503
|
esphome/components/sfa30/sfa30.cpp,sha256=HvrIc113pBxXgf0oxKhFITuQEdHc71GssaEFLkqoMx8,2968
|
2503
2504
|
esphome/components/sfa30/sfa30.h,sha256=CcrKCidMAQU0DASAZTSFKASqbIKCvZ_fS9l98dOiWtQ,1125
|
2504
2505
|
esphome/components/sgp30/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2505
|
-
esphome/components/sgp30/sensor.py,sha256=
|
2506
|
-
esphome/components/sgp30/sgp30.cpp,sha256=
|
2506
|
+
esphome/components/sgp30/sensor.py,sha256=SoZJYQuQxMGKdeYOIN7c7lBrNU46kBaZFNjb2u1ay0I,4208
|
2507
|
+
esphome/components/sgp30/sgp30.cpp,sha256=tg-ZxoDeuLbW_ckbimUptvENOShYhbh72frz3Zecwh0,11989
|
2507
2508
|
esphome/components/sgp30/sgp30.h,sha256=8jqa-oCo60O1atI7ef9r8ZfaqfuGowg_Ml7qO-Z5hks,2494
|
2508
2509
|
esphome/components/sgp40/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2509
2510
|
esphome/components/sgp40/sensor.py,sha256=i5jatTC8qq_3Ru5eKQM2y2U0xko-m9S8j63EY2IVChU,269
|
@@ -3347,7 +3348,7 @@ esphome/core/entity_base.h,sha256=y9pPjHUxtiadpSzUroBp8-YomztwZnzPVS6GF33YI3U,28
|
|
3347
3348
|
esphome/core/entity_helpers.py,sha256=s5lYCG5hu_1SROtSWgzI0T6802l5-I8udGy1_6HNSdc,2337
|
3348
3349
|
esphome/core/gpio.h,sha256=hy9jEWuCG6Q_AU74viToIab-p5ZnGik4pM4E3AieK8k,2407
|
3349
3350
|
esphome/core/hal.h,sha256=e3qFkax3jfncEusf3kwXCts0Ai7D4XspJgh-VqVDcK4,844
|
3350
|
-
esphome/core/helpers.cpp,sha256=
|
3351
|
+
esphome/core/helpers.cpp,sha256=20tHJERxygqZzE5PaylZM8f0Bbbm9Jp1cuS9QGVvABY,24911
|
3351
3352
|
esphome/core/helpers.h,sha256=iWpv8pCcepKqK_F4AAvCzJVLQeuYYGyOVsDLigSBDKw,28060
|
3352
3353
|
esphome/core/log.cpp,sha256=MDCx87ytW6Fz6basxYUpagkubFzUKO1ysvU5RXbXoII,1581
|
3353
3354
|
esphome/core/log.h,sha256=sMwmrs64vOG0G9jIibKJWv_C-COl175T8JymmBVRHWI,6369
|
@@ -3373,7 +3374,7 @@ esphome/dashboard/dns.py,sha256=zJjzjjuJsnHXW59V-H1QqjwwqJFgtJUIsB2QUcALZns,1369
|
|
3373
3374
|
esphome/dashboard/entries.py,sha256=jbmvXQ5-zeUBVrd80tupYmStRsTwGp0hbfG7ZIRQF94,13130
|
3374
3375
|
esphome/dashboard/enum.py,sha256=rlQFVVxyBt5Iw7OL0o9F8D5LGgw23tbvi-KYjzP0QUQ,597
|
3375
3376
|
esphome/dashboard/settings.py,sha256=xoN2eLh-t0hmVYLmZm9beVOqonPNqWkzpRsoPbEomoA,2962
|
3376
|
-
esphome/dashboard/web_server.py,sha256=
|
3377
|
+
esphome/dashboard/web_server.py,sha256=cSWc_M4ieUg_O0DpQYBM-bDDkhkSF4wFvDRAUVtf08s,42211
|
3377
3378
|
esphome/dashboard/status/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3378
3379
|
esphome/dashboard/status/mdns.py,sha256=FuASYxcQ-LQVK5vqX9ZLs9wIXlmXZh4tjXhg-Zmpq14,3741
|
3379
3380
|
esphome/dashboard/status/mqtt.py,sha256=ZRb18LOvl4975Pzc4Fdr5ErML3WKwV8Pv1sD2qdSJ1s,1965
|
@@ -3384,9 +3385,9 @@ esphome/dashboard/util/itertools.py,sha256=8eLrWEWmICLtXNxkKdYPQV0c_N4GEz8m9Npnb
|
|
3384
3385
|
esphome/dashboard/util/password.py,sha256=cQz3b9B-ijTe7zS6BeCW0hc3pWv6JjC78jmnycYYAh8,321
|
3385
3386
|
esphome/dashboard/util/subprocess.py,sha256=T8EW6dbU4LPd2DG1dRrdh8li71tt6J1isn411poMhkk,1022
|
3386
3387
|
esphome/dashboard/util/text.py,sha256=ENDnfN4O0NdA3CKVJjQYabFbwbrsIhVKrAMQe53qYu4,534
|
3387
|
-
esphome-2024.12.
|
3388
|
-
esphome-2024.12.
|
3389
|
-
esphome-2024.12.
|
3390
|
-
esphome-2024.12.
|
3391
|
-
esphome-2024.12.
|
3392
|
-
esphome-2024.12.
|
3388
|
+
esphome-2024.12.0b3.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
|
3389
|
+
esphome-2024.12.0b3.dist-info/METADATA,sha256=7T_vwlwbh7KKVj0DjgXXNNAgfZ_lGHYniDmpx18-bkY,3551
|
3390
|
+
esphome-2024.12.0b3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
3391
|
+
esphome-2024.12.0b3.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
|
3392
|
+
esphome-2024.12.0b3.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
|
3393
|
+
esphome-2024.12.0b3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|