esphome 2024.12.0__py3-none-any.whl → 2024.12.0b1__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.
@@ -27,9 +27,6 @@ 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
-
33
30
  void ESP32BLE::setup() {
34
31
  global_ble = this;
35
32
  ESP_LOGCONFIG(TAG, "Setting up BLE...");
@@ -325,8 +322,7 @@ void ESP32BLE::loop() {
325
322
  default:
326
323
  break;
327
324
  }
328
- ble_event->~BLEEvent();
329
- EVENT_ALLOCATOR.deallocate(ble_event, 1);
325
+ delete ble_event; // NOLINT(cppcoreguidelines-owning-memory)
330
326
  ble_event = this->ble_events_.pop();
331
327
  }
332
328
  if (this->advertising_ != nullptr) {
@@ -335,14 +331,9 @@ void ESP32BLE::loop() {
335
331
  }
336
332
 
337
333
  void ESP32BLE::gap_event_handler(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) {
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);
334
+ BLEEvent *new_event = new BLEEvent(event, param); // NOLINT(cppcoreguidelines-owning-memory)
344
335
  global_ble->ble_events_.push(new_event);
345
- } // NOLINT(clang-analyzer-unix.Malloc)
336
+ } // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
346
337
 
347
338
  void ESP32BLE::real_gap_event_handler_(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param) {
348
339
  ESP_LOGV(TAG, "(BLE) gap_event_handler - %d", event);
@@ -353,14 +344,9 @@ void ESP32BLE::real_gap_event_handler_(esp_gap_ble_cb_event_t event, esp_ble_gap
353
344
 
354
345
  void ESP32BLE::gatts_event_handler(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if,
355
346
  esp_ble_gatts_cb_param_t *param) {
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);
347
+ BLEEvent *new_event = new BLEEvent(event, gatts_if, param); // NOLINT(cppcoreguidelines-owning-memory)
362
348
  global_ble->ble_events_.push(new_event);
363
- } // NOLINT(clang-analyzer-unix.Malloc)
349
+ } // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
364
350
 
365
351
  void ESP32BLE::real_gatts_event_handler_(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if,
366
352
  esp_ble_gatts_cb_param_t *param) {
@@ -372,14 +358,9 @@ void ESP32BLE::real_gatts_event_handler_(esp_gatts_cb_event_t event, esp_gatt_if
372
358
 
373
359
  void ESP32BLE::gattc_event_handler(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if,
374
360
  esp_ble_gattc_cb_param_t *param) {
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);
361
+ BLEEvent *new_event = new BLEEvent(event, gattc_if, param); // NOLINT(cppcoreguidelines-owning-memory)
381
362
  global_ble->ble_events_.push(new_event);
382
- } // NOLINT(clang-analyzer-unix.Malloc)
363
+ } // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
383
364
 
384
365
  void ESP32BLE::real_gattc_event_handler_(esp_gattc_cb_event_t event, esp_gatt_if_t gattc_if,
385
366
  esp_ble_gattc_cb_param_t *param) {
@@ -51,11 +51,8 @@ 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
- 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
54
+ res = self[key] = freetype.Face(key)
55
+ return res
59
56
 
60
57
 
61
58
  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::max((uint32_t) dma_buffers_size, this_speaker->buffer_duration_ms_ * bytes_per_ms);
250
+ std::min((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,23 +1,24 @@
1
- from esphome import pins
2
1
  import esphome.codegen as cg
3
- from esphome.components import esp32_rmt, remote_base
4
2
  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,
8
7
  CONF_DUMP,
9
8
  CONF_FILTER,
10
9
  CONF_ID,
11
10
  CONF_IDLE,
12
- CONF_MEMORY_BLOCKS,
13
11
  CONF_PIN,
14
- CONF_RMT_CHANNEL,
15
12
  CONF_TOLERANCE,
16
13
  CONF_TYPE,
14
+ CONF_MEMORY_BLOCKS,
15
+ CONF_RMT_CHANNEL,
17
16
  CONF_VALUE,
18
17
  )
19
18
  from esphome.core import CORE, TimePeriod
20
19
 
20
+ CONF_CLOCK_DIVIDER = "clock_divider"
21
+
21
22
  AUTO_LOAD = ["remote_base"]
22
23
  remote_receiver_ns = cg.esphome_ns.namespace("remote_receiver")
23
24
  remote_base_ns = cg.esphome_ns.namespace("remote_base")
@@ -1,22 +1,23 @@
1
1
  import esphome.codegen as cg
2
- from esphome.components import i2c, sensirion_common, sensor
3
2
  import esphome.config_validation as cv
3
+ from esphome.components import i2c, sensor, sensirion_common
4
+
4
5
  from esphome.const import (
5
- CONF_BASELINE,
6
6
  CONF_COMPENSATION,
7
- CONF_ECO2,
8
7
  CONF_ID,
8
+ CONF_BASELINE,
9
+ CONF_ECO2,
9
10
  CONF_STORE_BASELINE,
10
11
  CONF_TEMPERATURE_SOURCE,
11
12
  CONF_TVOC,
13
+ ICON_RADIATOR,
12
14
  DEVICE_CLASS_CARBON_DIOXIDE,
13
15
  DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS,
14
- ENTITY_CATEGORY_DIAGNOSTIC,
15
- ICON_MOLECULE_CO2,
16
- ICON_RADIATOR,
17
16
  STATE_CLASS_MEASUREMENT,
18
- UNIT_PARTS_PER_BILLION,
19
17
  UNIT_PARTS_PER_MILLION,
18
+ UNIT_PARTS_PER_BILLION,
19
+ ICON_MOLECULE_CO2,
20
+ ENTITY_CATEGORY_DIAGNOSTIC,
20
21
  )
21
22
 
22
23
  DEPENDENCIES = ["i2c"]
@@ -76,7 +77,7 @@ CONFIG_SCHEMA = (
76
77
  ),
77
78
  }
78
79
  )
79
- .extend(cv.polling_component_schema("60s"))
80
+ .extend(cv.polling_component_schema("1s"))
80
81
  .extend(i2c.i2c_device_schema(0x58))
81
82
  )
82
83
 
@@ -1,8 +1,8 @@
1
1
  #include "sgp30.h"
2
- #include <cinttypes>
3
- #include "esphome/core/application.h"
4
2
  #include "esphome/core/hal.h"
5
3
  #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,6 +295,10 @@ 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
+
298
302
  this->status_clear_warning();
299
303
  this->send_env_data_();
300
304
  this->read_iaq_baseline_();
esphome/const.py CHANGED
@@ -1,6 +1,6 @@
1
1
  """Constants used by esphome."""
2
2
 
3
- __version__ = "2024.12.0"
3
+ __version__ = "2024.12.0b1"
4
4
 
5
5
  ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
6
6
  VALID_SUBSTITUTIONS_CHARACTERS = (
@@ -131,9 +131,7 @@ 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"
135
134
  CONF_CLOCK_PIN = "clock_pin"
136
- CONF_CLOCK_RESOLUTION = "clock_resolution"
137
135
  CONF_CLOSE_ACTION = "close_action"
138
136
  CONF_CLOSE_DURATION = "close_duration"
139
137
  CONF_CLOSE_ENDSTOP = "close_endstop"
@@ -741,7 +739,6 @@ CONF_RGB_ORDER = "rgb_order"
741
739
  CONF_RGBW = "rgbw"
742
740
  CONF_RISING_EDGE = "rising_edge"
743
741
  CONF_RMT_CHANNEL = "rmt_channel"
744
- CONF_RMT_SYMBOLS = "rmt_symbols"
745
742
  CONF_ROTATION = "rotation"
746
743
  CONF_ROW = "row"
747
744
  CONF_RS_PIN = "rs_pin"
@@ -921,7 +918,6 @@ CONF_UPDATE_ON_BOOT = "update_on_boot"
921
918
  CONF_URL = "url"
922
919
  CONF_USE_ABBREVIATIONS = "use_abbreviations"
923
920
  CONF_USE_ADDRESS = "use_address"
924
- CONF_USE_DMA = "use_dma"
925
921
  CONF_USE_FAHRENHEIT = "use_fahrenheit"
926
922
  CONF_USERNAME = "username"
927
923
  CONF_UUID = "uuid"
esphome/core/helpers.cpp CHANGED
@@ -767,8 +767,7 @@ bool mac_address_is_valid(const uint8_t *mac) {
767
767
  return !(is_all_zeros || is_all_ones);
768
768
  }
769
769
 
770
- void IRAM_ATTR HOT delay_microseconds_safe(uint32_t us) {
771
- // avoids CPU locks that could trigger WDT or affect WiFi/BT stability
770
+ void delay_microseconds_safe(uint32_t us) { // avoids CPU locks that could trigger WDT or affect WiFi/BT stability
772
771
  uint32_t start = micros();
773
772
 
774
773
  const uint32_t lag = 5000; // microseconds, specifies the maximum time for a CPU busy-loop.
@@ -108,12 +108,6 @@ 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)
117
111
  return handler.get_secure_cookie(AUTH_COOKIE_NAME) == COOKIE_AUTHENTICATED_YES
118
112
 
119
113
  return True
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: esphome
3
- Version: 2024.12.0
3
+ Version: 2024.12.0b1
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 ==20241217.1
39
+ Requires-Dist: esphome-dashboard ==20241120.0
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=1DPFJxlwvWA5rcWHVJhD3m1KtGynd0E9CvXgW3TnFis,40644
8
+ esphome/const.py,sha256=iO9UBdBJEeTpWEHS9RsRRxgyLpPZ9W2ddlw7rNT1qqs,40508
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,7 +59,6 @@ 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
63
62
  esphome/components/adc/adc_sensor_rp2040.cpp,sha256=7kUKFmTWrNBackDSSifLk2Mt9nEpKs1eh4TWFRvdqe0,2380
64
63
  esphome/components/adc/sensor.py,sha256=jqwve3vXXfFmd5gfRJfCJNwFUAooqQ8OtQ_XZ8yP__o,4112
65
64
  esphome/components/adc128s102/__init__.py,sha256=loTg5WsBpBrUqZ_vKCk54_9_KqNP834Kx-Cs2PIj798,652
@@ -789,7 +788,7 @@ esphome/components/esp32/post_build.py.script,sha256=ZBsPNunx2BH4ZiRyXnjTP7D7eN2
789
788
  esphome/components/esp32/preferences.cpp,sha256=6mrR6ziH2dnBcMKPD5RwYYB16tkAy0w75x_mRy4wQCY,6294
790
789
  esphome/components/esp32/preferences.h,sha256=9HIy-BOgjOXJiEgOizZ_Qb8-l6K4eb3VSPW8Y8ffuWM,165
791
790
  esphome/components/esp32_ble/__init__.py,sha256=_icbuq6fiRVExFZe1ETU2GJ6ziR4LxMK3nzeER7gEuY,4321
792
- esphome/components/esp32_ble/ble.cpp,sha256=w51oEvWeMcYs2CgIlCLTFEMaxxzxW0hAstWhwHl_oQM,13661
791
+ esphome/components/esp32_ble/ble.cpp,sha256=OtuXz0Qv-YQa-Ghubtvpvon9FzsU3n-P401oFcTB1l8,13082
793
792
  esphome/components/esp32_ble/ble.h,sha256=1USMpwRwVHc6_CnxieJa55mMPq3GFfkEPPYarySc05Y,5234
794
793
  esphome/components/esp32_ble/ble_advertising.cpp,sha256=DUdZyaNCc4xxyPmB4OM8dtgSxcHkIdju1-j-CJGMtyg,6022
795
794
  esphome/components/esp32_ble/ble_advertising.h,sha256=dLksw168KS1wh3_X7GhesS9nacINphlZUl4nMgYSA8M,1480
@@ -932,7 +931,7 @@ esphome/components/fingerprint_grow/binary_sensor.py,sha256=NeVcqVCpmjGdnfimIIWS
932
931
  esphome/components/fingerprint_grow/fingerprint_grow.cpp,sha256=xtHEpnp1Ei_5s5SS5Vfxt8vG_PoPMmeUjbOQHWrn5G0,18675
933
932
  esphome/components/fingerprint_grow/fingerprint_grow.h,sha256=UEkLR4Cqas_XYlTLAwscXCAMRoprWeQZEZ_3vTsI-BM,11206
934
933
  esphome/components/fingerprint_grow/sensor.py,sha256=eazvZvdtt1Rl8o3Aw6eYKn-kb2sNDfZKHegxpFFdQeg,2244
935
- esphome/components/font/__init__.py,sha256=UffNdpZ8qzYXqi3Z1KN5m2Vf_9q_Q5bjgB-JN_H-MYw,19227
934
+ esphome/components/font/__init__.py,sha256=eixW4XJNfpxcV-_dDGDsC8Z7VgB42u4StDgCSbMxoes,19087
936
935
  esphome/components/font/font.cpp,sha256=xORioLApiap2sPwx4d5uMTQNx5-OUIYSB8pt0uHx0IU,5413
937
936
  esphome/components/font/font.h,sha256=jTeGf7Osax98Tbs9TeZ01Ta3P2FZt-wWar1bybMFc20,2009
938
937
  esphome/components/fs3000/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1211,7 +1210,7 @@ esphome/components/i2s_audio/microphone/__init__.py,sha256=bUKAY5HBZrBJGufEA9MkC
1211
1210
  esphome/components/i2s_audio/microphone/i2s_audio_microphone.cpp,sha256=-AN8LLxtcLp9r-JCpfSG2huLk3ptbgijvKsH-XWl3XQ,6228
1212
1211
  esphome/components/i2s_audio/microphone/i2s_audio_microphone.h,sha256=dMNlVDWJ8Agz8NJe0pNvxDN9ZM9GMU3XNxPqQgHLQ5c,1036
1213
1212
  esphome/components/i2s_audio/speaker/__init__.py,sha256=DcG-0I2ETqk3akuTvzl7szVERy99qEgo-Ma8iFJjN4c,4013
1214
- esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp,sha256=9Cw8SAYEtZY9I56oSX5Tlf9K86oi7nzXm-CFvWPWOuc,19780
1213
+ esphome/components/i2s_audio/speaker/i2s_audio_speaker.cpp,sha256=cJnkRTrOJFAyWPXjbs8CA-bsNyeQ0PQzqgxOQDBU5tI,19780
1215
1214
  esphome/components/i2s_audio/speaker/i2s_audio_speaker.h,sha256=Y0Fk7y32eHVUUTBa1dnDLrGa_6zDcYNE51zez8ual9A,5988
1216
1215
  esphome/components/iaqcore/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1217
1216
  esphome/components/iaqcore/iaqcore.cpp,sha256=hKSC0Xar693LMqOHpYShl_-VdWkKc18i21AzjdjB7e4,2268
@@ -2273,7 +2272,7 @@ esphome/components/remote_base/sony_protocol.cpp,sha256=EJ3dl0by31luOdaZgPO5L4XZ
2273
2272
  esphome/components/remote_base/sony_protocol.h,sha256=3kdO2RE3KvQSU7tB_rXBHx9f8D_j23PPw1yJmBPLdNE,1003
2274
2273
  esphome/components/remote_base/toshiba_ac_protocol.cpp,sha256=CQNONh4-M91jPDecR_SYVricsXI_NxkbiaXxcRI9g7M,3434
2275
2274
  esphome/components/remote_base/toshiba_ac_protocol.h,sha256=xkpVmBNtQ_uEbMHzwaJOle2KXBxa34Q-ABZfuCsMouA,1092
2276
- esphome/components/remote_receiver/__init__.py,sha256=qq40_lP2XXc22frIBynQgyWBf7xxbM-Rrmkhrtt_u2w,4561
2275
+ esphome/components/remote_receiver/__init__.py,sha256=T6zgQ6V4RQms0dT8pDmaEE4cuObxeeHQSbwO6EzoowA,4575
2277
2276
  esphome/components/remote_receiver/binary_sensor.py,sha256=AybkaXQkJpcxpJhDkbgupO9zIiVhBFYpxvjUHBQbs_w,291
2278
2277
  esphome/components/remote_receiver/remote_receiver.h,sha256=D4_Pe-o1ZYH5Ye14elx7vAeO_pl-H98ufcMky5dEWNs,2397
2279
2278
  esphome/components/remote_receiver/remote_receiver_esp32.cpp,sha256=XsU0-6AJdVTqVIycJMDnkHtIaRsW-CewBh5P6LBwaCE,5905
@@ -2503,8 +2502,8 @@ esphome/components/sfa30/sensor.py,sha256=TbBGLaBRl5wrPdvmXX59OyCw2I2gTa6q4aYgFl
2503
2502
  esphome/components/sfa30/sfa30.cpp,sha256=HvrIc113pBxXgf0oxKhFITuQEdHc71GssaEFLkqoMx8,2968
2504
2503
  esphome/components/sfa30/sfa30.h,sha256=CcrKCidMAQU0DASAZTSFKASqbIKCvZ_fS9l98dOiWtQ,1125
2505
2504
  esphome/components/sgp30/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2506
- esphome/components/sgp30/sensor.py,sha256=SoZJYQuQxMGKdeYOIN7c7lBrNU46kBaZFNjb2u1ay0I,4208
2507
- esphome/components/sgp30/sgp30.cpp,sha256=tg-ZxoDeuLbW_ckbimUptvENOShYhbh72frz3Zecwh0,11989
2505
+ esphome/components/sgp30/sensor.py,sha256=cgYNh0VR6k_hCgTJdZZlJrLM8l_RPmBYeA7SHuAzpkM,4208
2506
+ esphome/components/sgp30/sgp30.cpp,sha256=ZIPwM6W-rg3cnJ_sGQA09qKtD0GqwEC7pjytvHvsrN4,12140
2508
2507
  esphome/components/sgp30/sgp30.h,sha256=8jqa-oCo60O1atI7ef9r8ZfaqfuGowg_Ml7qO-Z5hks,2494
2509
2508
  esphome/components/sgp40/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2510
2509
  esphome/components/sgp40/sensor.py,sha256=i5jatTC8qq_3Ru5eKQM2y2U0xko-m9S8j63EY2IVChU,269
@@ -3348,7 +3347,7 @@ esphome/core/entity_base.h,sha256=y9pPjHUxtiadpSzUroBp8-YomztwZnzPVS6GF33YI3U,28
3348
3347
  esphome/core/entity_helpers.py,sha256=s5lYCG5hu_1SROtSWgzI0T6802l5-I8udGy1_6HNSdc,2337
3349
3348
  esphome/core/gpio.h,sha256=hy9jEWuCG6Q_AU74viToIab-p5ZnGik4pM4E3AieK8k,2407
3350
3349
  esphome/core/hal.h,sha256=e3qFkax3jfncEusf3kwXCts0Ai7D4XspJgh-VqVDcK4,844
3351
- esphome/core/helpers.cpp,sha256=20tHJERxygqZzE5PaylZM8f0Bbbm9Jp1cuS9QGVvABY,24911
3350
+ esphome/core/helpers.cpp,sha256=ZbRtJZFqs09vwbiO-SHCAZ8nXKjnUPPUr9_IolXiUWU,24896
3352
3351
  esphome/core/helpers.h,sha256=iWpv8pCcepKqK_F4AAvCzJVLQeuYYGyOVsDLigSBDKw,28060
3353
3352
  esphome/core/log.cpp,sha256=MDCx87ytW6Fz6basxYUpagkubFzUKO1ysvU5RXbXoII,1581
3354
3353
  esphome/core/log.h,sha256=sMwmrs64vOG0G9jIibKJWv_C-COl175T8JymmBVRHWI,6369
@@ -3374,7 +3373,7 @@ esphome/dashboard/dns.py,sha256=zJjzjjuJsnHXW59V-H1QqjwwqJFgtJUIsB2QUcALZns,1369
3374
3373
  esphome/dashboard/entries.py,sha256=jbmvXQ5-zeUBVrd80tupYmStRsTwGp0hbfG7ZIRQF94,13130
3375
3374
  esphome/dashboard/enum.py,sha256=rlQFVVxyBt5Iw7OL0o9F8D5LGgw23tbvi-KYjzP0QUQ,597
3376
3375
  esphome/dashboard/settings.py,sha256=xoN2eLh-t0hmVYLmZm9beVOqonPNqWkzpRsoPbEomoA,2962
3377
- esphome/dashboard/web_server.py,sha256=cSWc_M4ieUg_O0DpQYBM-bDDkhkSF4wFvDRAUVtf08s,42211
3376
+ esphome/dashboard/web_server.py,sha256=SnAB_8ndfY91SPmY1cwCYkKxtWF9ppDgbD7soSzs3YQ,41837
3378
3377
  esphome/dashboard/status/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3379
3378
  esphome/dashboard/status/mdns.py,sha256=FuASYxcQ-LQVK5vqX9ZLs9wIXlmXZh4tjXhg-Zmpq14,3741
3380
3379
  esphome/dashboard/status/mqtt.py,sha256=ZRb18LOvl4975Pzc4Fdr5ErML3WKwV8Pv1sD2qdSJ1s,1965
@@ -3385,9 +3384,9 @@ esphome/dashboard/util/itertools.py,sha256=8eLrWEWmICLtXNxkKdYPQV0c_N4GEz8m9Npnb
3385
3384
  esphome/dashboard/util/password.py,sha256=cQz3b9B-ijTe7zS6BeCW0hc3pWv6JjC78jmnycYYAh8,321
3386
3385
  esphome/dashboard/util/subprocess.py,sha256=T8EW6dbU4LPd2DG1dRrdh8li71tt6J1isn411poMhkk,1022
3387
3386
  esphome/dashboard/util/text.py,sha256=ENDnfN4O0NdA3CKVJjQYabFbwbrsIhVKrAMQe53qYu4,534
3388
- esphome-2024.12.0.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
3389
- esphome-2024.12.0.dist-info/METADATA,sha256=dL4Mr4nI31ROpM4HxYdovxSSBtos57W76DplmG5yoWw,3549
3390
- esphome-2024.12.0.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
3391
- esphome-2024.12.0.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
3392
- esphome-2024.12.0.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
3393
- esphome-2024.12.0.dist-info/RECORD,,
3387
+ esphome-2024.12.0b1.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
3388
+ esphome-2024.12.0b1.dist-info/METADATA,sha256=Z0gJqMNX6GmqkpdQ1oeGGE5nuuruR9-4Qi5sU9KyJ1k,3551
3389
+ esphome-2024.12.0b1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
3390
+ esphome-2024.12.0b1.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
3391
+ esphome-2024.12.0b1.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
3392
+ esphome-2024.12.0b1.dist-info/RECORD,,
@@ -1,48 +0,0 @@
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