esphome 2025.9.2__py3-none-any.whl → 2025.9.3__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.
@@ -193,6 +193,7 @@ async def to_code(config):
193
193
  if key := encryption_config.get(CONF_KEY):
194
194
  decoded = base64.b64decode(key)
195
195
  cg.add(var.set_noise_psk(list(decoded)))
196
+ cg.add_define("USE_API_NOISE_PSK_FROM_YAML")
196
197
  else:
197
198
  # No key provided, but encryption desired
198
199
  # This will allow a plaintext client to provide a noise key,
@@ -37,12 +37,14 @@ void APIServer::setup() {
37
37
 
38
38
  this->noise_pref_ = global_preferences->make_preference<SavedNoisePsk>(hash, true);
39
39
 
40
+ #ifndef USE_API_NOISE_PSK_FROM_YAML
41
+ // Only load saved PSK if not set from YAML
40
42
  SavedNoisePsk noise_pref_saved{};
41
43
  if (this->noise_pref_.load(&noise_pref_saved)) {
42
44
  ESP_LOGD(TAG, "Loaded saved Noise PSK");
43
-
44
45
  this->set_noise_psk(noise_pref_saved.psk);
45
46
  }
47
+ #endif
46
48
  #endif
47
49
 
48
50
  // Schedule reboot if no clients connect within timeout
@@ -409,6 +411,12 @@ void APIServer::set_reboot_timeout(uint32_t reboot_timeout) { this->reboot_timeo
409
411
 
410
412
  #ifdef USE_API_NOISE
411
413
  bool APIServer::save_noise_psk(psk_t psk, bool make_active) {
414
+ #ifdef USE_API_NOISE_PSK_FROM_YAML
415
+ // When PSK is set from YAML, this function should never be called
416
+ // but if it is, reject the change
417
+ ESP_LOGW(TAG, "Key set in YAML");
418
+ return false;
419
+ #else
412
420
  auto &old_psk = this->noise_ctx_->get_psk();
413
421
  if (std::equal(old_psk.begin(), old_psk.end(), psk.begin())) {
414
422
  ESP_LOGW(TAG, "New PSK matches old");
@@ -437,6 +445,7 @@ bool APIServer::save_noise_psk(psk_t psk, bool make_active) {
437
445
  });
438
446
  }
439
447
  return true;
448
+ #endif
440
449
  }
441
450
  #endif
442
451
 
@@ -288,11 +288,15 @@ void Sim800LComponent::parse_cmd_(std::string message) {
288
288
  if (item == 3) { // stat
289
289
  uint8_t current_call_state = parse_number<uint8_t>(message.substr(start, end - start)).value_or(6);
290
290
  if (current_call_state != this->call_state_) {
291
- ESP_LOGD(TAG, "Call state is now: %d", current_call_state);
292
- if (current_call_state == 0)
293
- this->call_connected_callback_.call();
291
+ if (current_call_state == 4) {
292
+ ESP_LOGV(TAG, "Premature call state '4'. Ignoring, waiting for RING");
293
+ } else {
294
+ this->call_state_ = current_call_state;
295
+ ESP_LOGD(TAG, "Call state is now: %d", current_call_state);
296
+ if (current_call_state == 0)
297
+ this->call_connected_callback_.call();
298
+ }
294
299
  }
295
- this->call_state_ = current_call_state;
296
300
  break;
297
301
  }
298
302
  // item 4 = ""
@@ -242,7 +242,6 @@ void VoiceAssistant::loop() {
242
242
  msg.flags = flags;
243
243
  msg.audio_settings = audio_settings;
244
244
  msg.set_wake_word_phrase(StringRef(this->wake_word_));
245
- this->wake_word_ = "";
246
245
 
247
246
  // Reset media player state tracking
248
247
  #ifdef USE_MEDIA_PLAYER
esphome/const.py CHANGED
@@ -4,7 +4,7 @@ from enum import Enum
4
4
 
5
5
  from esphome.enum import StrEnum
6
6
 
7
- __version__ = "2025.9.2"
7
+ __version__ = "2025.9.3"
8
8
 
9
9
  ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
10
10
  VALID_SUBSTITUTIONS_CHARACTERS = (
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: esphome
3
- Version: 2025.9.2
3
+ Version: 2025.9.3
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=H_WB4rj0uEowvlhEb31EjJQwutLQ5CQkJIsNgDK-wx8,1917
5
5
  esphome/config.py,sha256=74-Y3XKtlB9h__fsu-Zvj6PanDWufVGo1-W4jlG-8cg,43172
6
6
  esphome/config_helpers.py,sha256=E0UO0khX9JW-br_NSsDlLH3VuE-YwMQ99_pzEQVupDc,5391
7
7
  esphome/config_validation.py,sha256=WB_2g9itbOi2z8bo25t8AG1rKHzLZdfa_DiTYQMuxrQ,64839
8
- esphome/const.py,sha256=dni6notKlV9xFGceQNndBq1IS0SBG8ZrDkPirTxLXGA,44216
8
+ esphome/const.py,sha256=v4NZQsLgA6fp-PI1kpI27_RO_FBQB2ipORw27rOGoSg,44216
9
9
  esphome/coroutine.py,sha256=JFBDo8ngY46zhxvjk5aQ5MO_-qrqKDfKQTglEIqHrYY,11946
10
10
  esphome/cpp_generator.py,sha256=C9O-H6ekHHdIEsfLGiqo-Sv6LZCmS0OL4A5ZGYHyh6U,32209
11
11
  esphome/cpp_helpers.py,sha256=r-hrUp7luke-ByuK2Z0TCzIvn4tTswMUkAzlVoKntiI,4039
@@ -186,7 +186,7 @@ esphome/components/apds9960/apds9960.cpp,sha256=gZ-S_di-EBVqSsUhU1n5hDoRDQcSCgRH
186
186
  esphome/components/apds9960/apds9960.h,sha256=oFrXPQrPDS16gNSVdN1n6SKuvjwc9LdvpKJckr5Tbdc,2136
187
187
  esphome/components/apds9960/binary_sensor.py,sha256=MvCYb6pTgOU48TMm_YhN6uHKkoFKFvhma3lwQQD9xfM,787
188
188
  esphome/components/apds9960/sensor.py,sha256=vUPm5H_IFROftGlMJWfgqSzm0IeLpYh5DvtA_DL1Amk,872
189
- esphome/components/api/__init__.py,sha256=gykiBGPNJjTVImCdEhd2pjhXacsW74SYxnva0m01wBE,13668
189
+ esphome/components/api/__init__.py,sha256=Hwlf6Vol0eMypmXihunJZs9BCiWUIoTN2__SxurMZIg,13725
190
190
  esphome/components/api/api_connection.cpp,sha256=FkJBD0mS8K4C0ctLbQunbTDsknAqLN7nC6ow6EmhIj0,79414
191
191
  esphome/components/api/api_connection.h,sha256=53QLFyMSv82wrJmWktzHRDo-3eN2iJQ5jcq8RZiuNE8,32317
192
192
  esphome/components/api/api_frame_helper.cpp,sha256=0XQbwgbkO2lKnhi5G00FyNlXf75n-h_RGzDRiHfD36o,9432
@@ -202,7 +202,7 @@ esphome/components/api/api_pb2_dump.cpp,sha256=ysPbqRpydU1t41TNvPxJKT6jn3_SK-FQM
202
202
  esphome/components/api/api_pb2_includes.h,sha256=-b4f04JlUZPkWcYsnErZrDePKzaa-5yknHn7hHUDaTk,754
203
203
  esphome/components/api/api_pb2_service.cpp,sha256=bWPE7AIoj5vT-xYhou5c4ZUdj3tj0cEShBWycy5LmCs,27870
204
204
  esphome/components/api/api_pb2_service.h,sha256=1CpLZ2Cpa79N0-CPmeVJVBh3AtWuW8UsGzeq_CwZYKU,16579
205
- esphome/components/api/api_server.cpp,sha256=BdgGP40ej2arxV-E1_tgN4V1QzPaJweB_Cm0fn-cKQs,14389
205
+ esphome/components/api/api_server.cpp,sha256=Ro4z5YhcWVqSOHLDJ8FwhTvfd_BcsvdzPLqlq0s6ATs,14683
206
206
  esphome/components/api/api_server.h,sha256=Ft8v8PzjKVdwdQV7dHZFH4WcNF1t5kIGuJ0XNixETTg,6588
207
207
  esphome/components/api/client.py,sha256=P-A2yc_ER2TjVzZHMlDEBdIMe1oDbufvlCPVzOzOcMM,2597
208
208
  esphome/components/api/custom_api_device.h,sha256=4IhQQx8JRXA0x8jxE1S9UihZ1eBmfG4Vm8I8_IHp9Rw,10466
@@ -2844,7 +2844,7 @@ esphome/components/sigma_delta_output/sigma_delta_output.h,sha256=5Nkgq9F9LbXOE3
2844
2844
  esphome/components/sim800l/__init__.py,sha256=Fx2JVqS0SdCpmYZnuHEG9M0eqj4ekhVH_wmrjRr0fIc,7313
2845
2845
  esphome/components/sim800l/binary_sensor.py,sha256=cKPXBJEySCEOg8m2NcCPD7B03iVBj9weDUsUjm4Rkzk,847
2846
2846
  esphome/components/sim800l/sensor.py,sha256=RnklgI0cekA0WcTn3LYYAX67uMxsb2PISSUvvJK04VA,971
2847
- esphome/components/sim800l/sim800l.cpp,sha256=2hLw5_c3EoVoBvLgVVCTCXcF-e7h44nNFqfLi69DSKg,15841
2847
+ esphome/components/sim800l/sim800l.cpp,sha256=APucBtLSwM2UlqkZDiuIszq47Z0h8AUkRWvfl6O1vhQ,16022
2848
2848
  esphome/components/sim800l/sim800l.h,sha256=sPmBGGWieb5fAs7Uw9VDwh7XTJdz4XRKrHqhsCqMfQY,6562
2849
2849
  esphome/components/slow_pwm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2850
2850
  esphome/components/slow_pwm/output.py,sha256=S2NKDvvaSKyZLKWXY3A4sNJmXvJgNSD6wjH5YkbOGAY,2514
@@ -3474,7 +3474,7 @@ esphome/components/vl53l0x/sensor.py,sha256=qQVBjhMl_nGbzuAHY0Fz2GnG5TkNJLuyFRYm
3474
3474
  esphome/components/vl53l0x/vl53l0x_sensor.cpp,sha256=FpPH9go71ehCR1sJ7ukJZ2ndXYuWAJ4t5ISClCi6xSg,15050
3475
3475
  esphome/components/vl53l0x/vl53l0x_sensor.h,sha256=_GZqT0tHSoYbqrHiC0_PAttk3cuHH9sy1lirQaIYfQU,2593
3476
3476
  esphome/components/voice_assistant/__init__.py,sha256=cYEmZoI6w05kMF_ZrFHgsvKOLGO1GIT-a3aUWqepNt4,15264
3477
- esphome/components/voice_assistant/voice_assistant.cpp,sha256=PuMewYCsQJIhPbBHcLpEn2kkRhg1ltLUw5tC5I2EV3s,34112
3477
+ esphome/components/voice_assistant/voice_assistant.cpp,sha256=tDU17VPc1PR-SprEYOr7Y3vqB4KXhQm9KakifplwCFI,34083
3478
3478
  esphome/components/voice_assistant/voice_assistant.h,sha256=dNPJHpjnu-kDlHD861cDmwxw0yYbCBOU4VM2J2opSN0,12475
3479
3479
  esphome/components/voltage_sampler/__init__.py,sha256=IU5YrROZSNyuAP1d6M_V3ZGAwNjXCHPcVy5nMjZ953Y,155
3480
3480
  esphome/components/voltage_sampler/voltage_sampler.h,sha256=Y67FLOpOzW29v29BRRyYgEmGZ_B8QnUUaqJMH6FA3jM,337
@@ -3766,9 +3766,9 @@ esphome/dashboard/util/itertools.py,sha256=8eLrWEWmICLtXNxkKdYPQV0c_N4GEz8m9Npnb
3766
3766
  esphome/dashboard/util/password.py,sha256=cQz3b9B-ijTe7zS6BeCW0hc3pWv6JjC78jmnycYYAh8,321
3767
3767
  esphome/dashboard/util/subprocess.py,sha256=T8EW6dbU4LPd2DG1dRrdh8li71tt6J1isn411poMhkk,1022
3768
3768
  esphome/dashboard/util/text.py,sha256=wwFtORlvHjsYkqb68IT-772LHAhWxT4OtnkIcPICQB0,317
3769
- esphome-2025.9.2.dist-info/licenses/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
3770
- esphome-2025.9.2.dist-info/METADATA,sha256=cz24zWMTn8EgyiBvfQ5Fgi9GAIQGKIO0gvyxAEwx5T4,3632
3771
- esphome-2025.9.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
3772
- esphome-2025.9.2.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
3773
- esphome-2025.9.2.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
3774
- esphome-2025.9.2.dist-info/RECORD,,
3769
+ esphome-2025.9.3.dist-info/licenses/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
3770
+ esphome-2025.9.3.dist-info/METADATA,sha256=QJPzuEnHjhwIL10lCofR6Z57tw3rvndElbfG_l8HBPE,3632
3771
+ esphome-2025.9.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
3772
+ esphome-2025.9.3.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
3773
+ esphome-2025.9.3.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
3774
+ esphome-2025.9.3.dist-info/RECORD,,