esphome 2025.2.1__py3-none-any.whl → 2025.2.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.
@@ -15,6 +15,8 @@ namespace audio {
15
15
 
16
16
  static const uint32_t READ_WRITE_TIMEOUT_MS = 20;
17
17
 
18
+ static const uint32_t CONNECTION_TIMEOUT_MS = 5000;
19
+
18
20
  // The number of times the http read times out with no data before throwing an error
19
21
  static const uint32_t ERROR_COUNT_NO_DATA_READ_TIMEOUT = 100;
20
22
 
@@ -97,7 +99,7 @@ esp_err_t AudioReader::start(const std::string &uri, AudioFileType &file_type) {
97
99
  client_config.user_data = this;
98
100
  client_config.buffer_size = HTTP_STREAM_BUFFER_SIZE;
99
101
  client_config.keep_alive_enable = true;
100
- client_config.timeout_ms = 5000; // Shouldn't trigger watchdog resets if caller runs in a task
102
+ client_config.timeout_ms = CONNECTION_TIMEOUT_MS; // Shouldn't trigger watchdog resets if caller runs in a task
101
103
 
102
104
  #if CONFIG_MBEDTLS_CERTIFICATE_BUNDLE
103
105
  if (uri.find("https:") != std::string::npos) {
@@ -189,7 +191,7 @@ esp_err_t AudioReader::start(const std::string &uri, AudioFileType &file_type) {
189
191
  file_type = this->audio_file_type_;
190
192
  }
191
193
 
192
- this->no_data_read_count_ = 0;
194
+ this->last_data_read_ms_ = millis();
193
195
 
194
196
  this->output_transfer_buffer_ = AudioSinkTransferBuffer::create(this->buffer_size_);
195
197
  if (this->output_transfer_buffer_ == nullptr) {
@@ -271,8 +273,7 @@ AudioReaderState AudioReader::http_read_() {
271
273
 
272
274
  if (received_len > 0) {
273
275
  this->output_transfer_buffer_->increase_buffer_length(received_len);
274
-
275
- this->no_data_read_count_ = 0;
276
+ this->last_data_read_ms_ = millis();
276
277
  } else if (received_len < 0) {
277
278
  // HTTP read error
278
279
  this->cleanup_connection_();
@@ -280,12 +281,11 @@ AudioReaderState AudioReader::http_read_() {
280
281
  } else {
281
282
  if (bytes_to_read > 0) {
282
283
  // Read timed out
283
- ++this->no_data_read_count_;
284
- if (this->no_data_read_count_ >= ERROR_COUNT_NO_DATA_READ_TIMEOUT) {
285
- // Timed out with no data read too many times, so the http read has failed
284
+ if ((millis() - this->last_data_read_ms_) > CONNECTION_TIMEOUT_MS) {
286
285
  this->cleanup_connection_();
287
286
  return AudioReaderState::FAILED;
288
287
  }
288
+
289
289
  delay(READ_WRITE_TIMEOUT_MS);
290
290
  }
291
291
  }
@@ -71,7 +71,7 @@ class AudioReader {
71
71
  void cleanup_connection_();
72
72
 
73
73
  size_t buffer_size_;
74
- uint32_t no_data_read_count_;
74
+ uint32_t last_data_read_ms_;
75
75
 
76
76
  esp_http_client_handle_t client_{nullptr};
77
77
 
@@ -176,9 +176,9 @@ void ESP32BLETracker::loop() {
176
176
  https://github.com/espressif/esp-idf/issues/6688
177
177
 
178
178
  */
179
- if (!connecting && !disconnecting && xSemaphoreTake(this->scan_end_lock_, 0L)) {
179
+ if (!connecting && xSemaphoreTake(this->scan_end_lock_, 0L)) {
180
180
  if (this->scan_continuous_) {
181
- if (!promote_to_connecting && !this->scan_start_failed_ && !this->scan_set_param_failed_) {
181
+ if (!disconnecting && !promote_to_connecting && !this->scan_start_failed_ && !this->scan_set_param_failed_) {
182
182
  this->start_scan_(false);
183
183
  } else {
184
184
  // We didn't start the scan, so we need to release the lock
@@ -1,7 +1,7 @@
1
1
  #include "ltr390.h"
2
+ #include <bitset>
2
3
  #include "esphome/core/hal.h"
3
4
  #include "esphome/core/log.h"
4
- #include <bitset>
5
5
 
6
6
  namespace esphome {
7
7
  namespace ltr390 {
@@ -91,7 +91,12 @@ void LTR390Component::read_uvs_() {
91
91
  uint32_t uv = *val;
92
92
 
93
93
  if (this->uvi_sensor_ != nullptr) {
94
- this->uvi_sensor_->publish_state((uv / this->sensitivity_uv_) * this->wfac_);
94
+ // Set sensitivity by linearly scaling against known value in the datasheet
95
+ float gain_scale_uv = GAINVALUES[this->gain_uv_] / GAIN_MAX;
96
+ float intg_scale_uv = (RESOLUTIONVALUE[this->res_uv_] * 100) / INTG_MAX;
97
+ float sensitivity_uv = SENSITIVITY_MAX * gain_scale_uv * intg_scale_uv;
98
+
99
+ this->uvi_sensor_->publish_state((uv / sensitivity_uv) * this->wfac_);
95
100
  }
96
101
 
97
102
  if (this->uv_sensor_ != nullptr) {
@@ -166,11 +171,6 @@ void LTR390Component::setup() {
166
171
  return;
167
172
  }
168
173
 
169
- // Set sensitivity by linearly scaling against known value in the datasheet
170
- float gain_scale_uv = GAINVALUES[this->gain_uv_] / GAIN_MAX;
171
- float intg_scale_uv = (RESOLUTIONVALUE[this->res_uv_] * 100) / INTG_MAX;
172
- this->sensitivity_uv_ = SENSITIVITY_MAX * gain_scale_uv * intg_scale_uv;
173
-
174
174
  // Set sensor read state
175
175
  this->reading_ = false;
176
176
 
@@ -77,7 +77,6 @@ class LTR390Component : public PollingComponent, public i2c::I2CDevice {
77
77
  LTR390GAIN gain_uv_;
78
78
  LTR390RESOLUTION res_als_;
79
79
  LTR390RESOLUTION res_uv_;
80
- float sensitivity_uv_;
81
80
  float wfac_;
82
81
 
83
82
  sensor::Sensor *light_sensor_{nullptr};
esphome/const.py CHANGED
@@ -1,6 +1,6 @@
1
1
  """Constants used by esphome."""
2
2
 
3
- __version__ = "2025.2.1"
3
+ __version__ = "2025.2.2"
4
4
 
5
5
  ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
6
6
  VALID_SUBSTITUTIONS_CHARACTERS = (
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: esphome
3
- Version: 2025.2.1
3
+ Version: 2025.2.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@nabucasa.com>
6
6
  License: MIT
@@ -37,7 +37,7 @@ Requires-Dist: platformio ==6.1.16
37
37
  Requires-Dist: esptool ==4.7.0
38
38
  Requires-Dist: click ==8.1.7
39
39
  Requires-Dist: esphome-dashboard ==20250212.0
40
- Requires-Dist: aioesphomeapi ==29.1.1
40
+ Requires-Dist: aioesphomeapi ==29.3.2
41
41
  Requires-Dist: zeroconf ==0.145.1
42
42
  Requires-Dist: puremagic ==1.27
43
43
  Requires-Dist: ruamel.yaml ==0.18.6
@@ -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=qpNSoruGC4Tb7KNtgahginfMrhoRdjYUs-3Et2ww7rg,67868
8
- esphome/const.py,sha256=uqReMUZ737Qcbcjfnu9NSChPrmJKvAWJoNHxYP4FGoM,40662
8
+ esphome/const.py,sha256=woQtKVzD3K403VEJZWTvY1LzswQiUtsnVXzr16FEp8o,40662
9
9
  esphome/coroutine.py,sha256=j_14z8dIIzIBeuNO30D4c1RJvMMt1xZFZ58Evd-EvJA,9344
10
10
  esphome/cpp_generator.py,sha256=PS_vtNLykRldK7n2bSZ1e9zIEajnCNc_ruW9beMNulQ,31235
11
11
  esphome/cpp_helpers.py,sha256=6C2vNbOIhZKi43xRVlk5hp9GfshfBn-rc5D_ZFUEYaE,4801
@@ -255,8 +255,8 @@ esphome/components/audio/audio.cpp,sha256=McWhPhfL41LchHiFqS_96W_cmL5zgs4KrDN3u5
255
255
  esphome/components/audio/audio.h,sha256=8h4vtUxwHz89T9AUSHuUv_ajDrqSJDw57Hqt5G-fbw4,6180
256
256
  esphome/components/audio/audio_decoder.cpp,sha256=pkMkPjfn6QyV8-p7CPyH8XQ3PaI5suJ_NAn6Kgt_FGQ,13280
257
257
  esphome/components/audio/audio_decoder.h,sha256=hpPJjrHsK_N2crCVvsrlu7zivx4oQHQz5hr-mlW6fl0,5351
258
- esphome/components/audio/audio_reader.cpp,sha256=lzKGQSjelyugRYW5qUtupBueRur8_32pKwKtyCxiL5c,8823
259
- esphome/components/audio/audio_reader.h,sha256=ZqwlU3OmBLDlfJXuWpz6SYhiyMbSbcHqOrCcvVrI9xg,3189
258
+ esphome/components/audio/audio_reader.cpp,sha256=qVQBosYU5EL1UgcK4XqZTg7u8_T-C3Ue7zOa_G52YEM,8783
259
+ esphome/components/audio/audio_reader.h,sha256=1FwkJAunr3OOy2DGOmlKHfD3cwOrmBVPQvDj7Z0DTuk,3188
260
260
  esphome/components/audio/audio_resampler.cpp,sha256=AOhua5Rdh-bCHTweeQglmE1Me5CXfH5hadv3CbUusik,6712
261
261
  esphome/components/audio/audio_resampler.h,sha256=0tJRuN39XDl1148jGytNVt_U8blkwSlCdiCIVqba8H0,4288
262
262
  esphome/components/audio/audio_transfer_buffer.cpp,sha256=FZoB0Nqeo8msNNT0Eh5ojhqFOkOY_RYalszji3PacvA,4612
@@ -838,7 +838,7 @@ esphome/components/esp32_ble_server/ble_service.cpp,sha256=cLJpq-eEFNXV4tlkSHXQW
838
838
  esphome/components/esp32_ble_server/ble_service.h,sha256=BvKpr2fsUlNnviH9gdokI7IcuTBu0C7bNFT0vvIuN1Y,2306
839
839
  esphome/components/esp32_ble_tracker/__init__.py,sha256=fSyXgc2RpykHo0RvNp-_G8JlxlhMLsjrBE9UI7VWQKw,11569
840
840
  esphome/components/esp32_ble_tracker/automation.h,sha256=0pDA6EX__f14sT0KJwcnqg7UOsueKjjegHPznQj9biw,3795
841
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp,sha256=aQCVgqveZe5JTyvqelzq65tnL0UMFt4EDCuPcdYkBkA,27960
841
+ esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp,sha256=-h-yvcDYOCk9zKLmMo45aroEg5vguELxJ3YiW8X-mYA,27960
842
842
  esphome/components/esp32_ble_tracker/esp32_ble_tracker.h,sha256=tsiHIew8JftoOwHDI9AcD8CSKQLTqnxTHONdvwPix0g,9348
843
843
  esphome/components/esp32_camera/__init__.py,sha256=qhJ3Jgv1gum3m8kfkOFZLK7TLNsbuHZxIrqxBb11mz0,12649
844
844
  esphome/components/esp32_camera/esp32_camera.cpp,sha256=Ba2nu453rF4FDSlIJwD5sLnzE8ru4kKK4xVCvMdoyac,16960
@@ -1471,8 +1471,8 @@ esphome/components/logger/select/__init__.py,sha256=v1Q-6bYRZRd_VXRF93kcqDCvY0x3
1471
1471
  esphome/components/logger/select/logger_level_select.cpp,sha256=VTInyo463i-Qoin4c251e0nXKhsgTkixlQ1rwE1EC3s,627
1472
1472
  esphome/components/logger/select/logger_level_select.h,sha256=rjUmIsZKszI8fK4FH--jkpmW4aDMNewiz8GOQoCtyn8,442
1473
1473
  esphome/components/ltr390/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1474
- esphome/components/ltr390/ltr390.cpp,sha256=BDI47PlBAE_K1W7Hbj3SawS0MeLi128RHy6ygnH3sDU,6295
1475
- esphome/components/ltr390/ltr390.h,sha256=w7sTv9GtcdePbmIPKg8Aad0tY-oHusOxphm0m1Hku70,2429
1474
+ esphome/components/ltr390/ltr390.cpp,sha256=nQBB_gm5pOe4Qgacf7WpZqbfZkz9Sh_5GZu5lVepMRA,6295
1475
+ esphome/components/ltr390/ltr390.h,sha256=ngAVpteCXtPqKv6uWyCYQOM-N604xyfeH90JW0PrETE,2404
1476
1476
  esphome/components/ltr390/sensor.py,sha256=yKmhehKbAi0dgGEP-3exhc7rB9MFmivOoh33EGsma04,4608
1477
1477
  esphome/components/ltr501/__init__.py,sha256=nD0ZjC6S7jiLOhzug4Yar22_uA5hzBFW9mMcdxQzYwY,27
1478
1478
  esphome/components/ltr501/ltr501.cpp,sha256=FRlJ44OV1-QiF36Xp0HJLiOnmLdOKJWwLOIgTk5N0dI,19380
@@ -3434,9 +3434,9 @@ esphome/dashboard/util/itertools.py,sha256=8eLrWEWmICLtXNxkKdYPQV0c_N4GEz8m9Npnb
3434
3434
  esphome/dashboard/util/password.py,sha256=cQz3b9B-ijTe7zS6BeCW0hc3pWv6JjC78jmnycYYAh8,321
3435
3435
  esphome/dashboard/util/subprocess.py,sha256=T8EW6dbU4LPd2DG1dRrdh8li71tt6J1isn411poMhkk,1022
3436
3436
  esphome/dashboard/util/text.py,sha256=ENDnfN4O0NdA3CKVJjQYabFbwbrsIhVKrAMQe53qYu4,534
3437
- esphome-2025.2.1.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
3438
- esphome-2025.2.1.dist-info/METADATA,sha256=rg4Jh2pRK1zC0-kVSIJfxlAQbM601HMYLWJfENX4ppM,3689
3439
- esphome-2025.2.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
3440
- esphome-2025.2.1.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
3441
- esphome-2025.2.1.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
3442
- esphome-2025.2.1.dist-info/RECORD,,
3437
+ esphome-2025.2.2.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
3438
+ esphome-2025.2.2.dist-info/METADATA,sha256=LifwQB6McI-EQVPBjkkBB4ydUnVpt13C2or-MV3OnRQ,3689
3439
+ esphome-2025.2.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
3440
+ esphome-2025.2.2.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
3441
+ esphome-2025.2.2.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
3442
+ esphome-2025.2.2.dist-info/RECORD,,