esphome 2024.9.0b1__py3-none-any.whl → 2024.9.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.
@@ -1032,6 +1032,7 @@ bool APIConnection::send_media_player_info(media_player::MediaPlayer *media_play
1032
1032
  media_format.sample_rate = supported_format.sample_rate;
1033
1033
  media_format.num_channels = supported_format.num_channels;
1034
1034
  media_format.purpose = static_cast<enums::MediaPlayerFormatPurpose>(supported_format.purpose);
1035
+ media_format.sample_bytes = supported_format.sample_bytes;
1035
1036
  msg.supported_formats.push_back(media_format);
1036
1037
  }
1037
1038
 
@@ -5149,6 +5149,10 @@ bool MediaPlayerSupportedFormat::decode_varint(uint32_t field_id, ProtoVarInt va
5149
5149
  this->purpose = value.as_enum<enums::MediaPlayerFormatPurpose>();
5150
5150
  return true;
5151
5151
  }
5152
+ case 5: {
5153
+ this->sample_bytes = value.as_uint32();
5154
+ return true;
5155
+ }
5152
5156
  default:
5153
5157
  return false;
5154
5158
  }
@@ -5168,6 +5172,7 @@ void MediaPlayerSupportedFormat::encode(ProtoWriteBuffer buffer) const {
5168
5172
  buffer.encode_uint32(2, this->sample_rate);
5169
5173
  buffer.encode_uint32(3, this->num_channels);
5170
5174
  buffer.encode_enum<enums::MediaPlayerFormatPurpose>(4, this->purpose);
5175
+ buffer.encode_uint32(5, this->sample_bytes);
5171
5176
  }
5172
5177
  #ifdef HAS_PROTO_MESSAGE_DUMP
5173
5178
  void MediaPlayerSupportedFormat::dump_to(std::string &out) const {
@@ -5190,6 +5195,11 @@ void MediaPlayerSupportedFormat::dump_to(std::string &out) const {
5190
5195
  out.append(" purpose: ");
5191
5196
  out.append(proto_enum_to_string<enums::MediaPlayerFormatPurpose>(this->purpose));
5192
5197
  out.append("\n");
5198
+
5199
+ out.append(" sample_bytes: ");
5200
+ sprintf(buffer, "%" PRIu32, this->sample_bytes);
5201
+ out.append(buffer);
5202
+ out.append("\n");
5193
5203
  out.append("}");
5194
5204
  }
5195
5205
  #endif
@@ -1277,6 +1277,7 @@ class MediaPlayerSupportedFormat : public ProtoMessage {
1277
1277
  uint32_t sample_rate{0};
1278
1278
  uint32_t num_channels{0};
1279
1279
  enums::MediaPlayerFormatPurpose purpose{};
1280
+ uint32_t sample_bytes{0};
1280
1281
  void encode(ProtoWriteBuffer buffer) const override;
1281
1282
  #ifdef HAS_PROTO_MESSAGE_DUMP
1282
1283
  void dump_to(std::string &out) const override;
@@ -41,7 +41,7 @@ CONFIG_SCHEMA = cv.All(
41
41
  cv.Optional(CONF_SERVICE_UUID): esp32_ble_tracker.bt_uuid,
42
42
  cv.Optional(CONF_IBEACON_MAJOR): cv.uint16_t,
43
43
  cv.Optional(CONF_IBEACON_MINOR): cv.uint16_t,
44
- cv.Optional(CONF_IBEACON_UUID): cv.uuid,
44
+ cv.Optional(CONF_IBEACON_UUID): esp32_ble_tracker.bt_uuid,
45
45
  cv.Optional(CONF_TIMEOUT, default="5min"): cv.positive_time_period,
46
46
  cv.Optional(CONF_MIN_RSSI): cv.All(
47
47
  cv.decibel, cv.int_range(min=-100, max=-30)
@@ -83,7 +83,7 @@ async def to_code(config):
83
83
  cg.add(var.set_service_uuid128(uuid128))
84
84
 
85
85
  if ibeacon_uuid := config.get(CONF_IBEACON_UUID):
86
- ibeacon_uuid = esp32_ble_tracker.as_hex_array(str(ibeacon_uuid))
86
+ ibeacon_uuid = esp32_ble_tracker.as_reversed_hex_array(ibeacon_uuid)
87
87
  cg.add(var.set_ibeacon_uuid(ibeacon_uuid))
88
88
 
89
89
  if (ibeacon_major := config.get(CONF_IBEACON_MAJOR)) is not None:
@@ -31,6 +31,13 @@ ESPBTUUID ESPBTUUID::from_raw(const uint8_t *data) {
31
31
  memcpy(ret.uuid_.uuid.uuid128, data, ESP_UUID_LEN_128);
32
32
  return ret;
33
33
  }
34
+ ESPBTUUID ESPBTUUID::from_raw_reversed(const uint8_t *data) {
35
+ ESPBTUUID ret;
36
+ ret.uuid_.len = ESP_UUID_LEN_128;
37
+ for (int i = 0; i < ESP_UUID_LEN_128; i++)
38
+ ret.uuid_.uuid.uuid128[ESP_UUID_LEN_128 - 1 - i] = data[i];
39
+ return ret;
40
+ }
34
41
  ESPBTUUID ESPBTUUID::from_raw(const std::string &data) {
35
42
  ESPBTUUID ret;
36
43
  if (data.length() == 4) {
@@ -20,6 +20,7 @@ class ESPBTUUID {
20
20
  static ESPBTUUID from_uint32(uint32_t uuid);
21
21
 
22
22
  static ESPBTUUID from_raw(const uint8_t *data);
23
+ static ESPBTUUID from_raw_reversed(const uint8_t *data);
23
24
 
24
25
  static ESPBTUUID from_raw(const std::string &data);
25
26
 
@@ -462,14 +462,16 @@ void ESPBTDevice::parse_scan_rst(const esp_ble_gap_cb_param_t::ble_scan_result_e
462
462
  ESP_LOGVV(TAG, " Service UUID: %s", uuid.to_string().c_str());
463
463
  }
464
464
  for (auto &data : this->manufacturer_datas_) {
465
- ESP_LOGVV(TAG, " Manufacturer data: %s", format_hex_pretty(data.data).c_str());
466
- if (this->get_ibeacon().has_value()) {
467
- auto ibeacon = this->get_ibeacon().value();
468
- ESP_LOGVV(TAG, " iBeacon data:");
469
- ESP_LOGVV(TAG, " UUID: %s", ibeacon.get_uuid().to_string().c_str());
470
- ESP_LOGVV(TAG, " Major: %u", ibeacon.get_major());
471
- ESP_LOGVV(TAG, " Minor: %u", ibeacon.get_minor());
472
- ESP_LOGVV(TAG, " TXPower: %d", ibeacon.get_signal_power());
465
+ auto ibeacon = ESPBLEiBeacon::from_manufacturer_data(data);
466
+ if (ibeacon.has_value()) {
467
+ ESP_LOGVV(TAG, " Manufacturer iBeacon:");
468
+ ESP_LOGVV(TAG, " UUID: %s", ibeacon.value().get_uuid().to_string().c_str());
469
+ ESP_LOGVV(TAG, " Major: %u", ibeacon.value().get_major());
470
+ ESP_LOGVV(TAG, " Minor: %u", ibeacon.value().get_minor());
471
+ ESP_LOGVV(TAG, " TXPower: %d", ibeacon.value().get_signal_power());
472
+ } else {
473
+ ESP_LOGVV(TAG, " Manufacturer ID: %s, data: %s", data.uuid.to_string().c_str(),
474
+ format_hex_pretty(data.data).c_str());
473
475
  }
474
476
  }
475
477
  for (auto &data : this->service_datas_) {
@@ -478,7 +480,7 @@ void ESPBTDevice::parse_scan_rst(const esp_ble_gap_cb_param_t::ble_scan_result_e
478
480
  ESP_LOGVV(TAG, " Data: %s", format_hex_pretty(data.data).c_str());
479
481
  }
480
482
 
481
- ESP_LOGVV(TAG, "Adv data: %s", format_hex_pretty(param.ble_adv, param.adv_data_len + param.scan_rsp_len).c_str());
483
+ ESP_LOGVV(TAG, " Adv data: %s", format_hex_pretty(param.ble_adv, param.adv_data_len + param.scan_rsp_len).c_str());
482
484
  #endif
483
485
  }
484
486
  void ESPBTDevice::parse_adv_(const esp_ble_gap_cb_param_t::ble_scan_result_evt_param &param) {
@@ -44,10 +44,10 @@ class ESPBLEiBeacon {
44
44
  ESPBLEiBeacon(const uint8_t *data);
45
45
  static optional<ESPBLEiBeacon> from_manufacturer_data(const ServiceData &data);
46
46
 
47
- uint16_t get_major() { return ((this->beacon_data_.major & 0xFF) << 8) | (this->beacon_data_.major >> 8); }
48
- uint16_t get_minor() { return ((this->beacon_data_.minor & 0xFF) << 8) | (this->beacon_data_.minor >> 8); }
47
+ uint16_t get_major() { return byteswap(this->beacon_data_.major); }
48
+ uint16_t get_minor() { return byteswap(this->beacon_data_.minor); }
49
49
  int8_t get_signal_power() { return this->beacon_data_.signal_power; }
50
- ESPBTUUID get_uuid() { return ESPBTUUID::from_raw(this->beacon_data_.proximity_uuid); }
50
+ ESPBTUUID get_uuid() { return ESPBTUUID::from_raw_reversed(this->beacon_data_.proximity_uuid); }
51
51
 
52
52
  protected:
53
53
  struct {
@@ -37,6 +37,7 @@ struct MediaPlayerSupportedFormat {
37
37
  uint32_t sample_rate;
38
38
  uint32_t num_channels;
39
39
  MediaPlayerFormatPurpose purpose;
40
+ uint32_t sample_bytes;
40
41
  };
41
42
 
42
43
  class MediaPlayer;
@@ -755,7 +755,7 @@ void VoiceAssistant::on_event(const api::VoiceAssistantEventResponse &msg) {
755
755
  message = std::move(arg.value);
756
756
  }
757
757
  }
758
- if (code == "wake-word-timeout" || code == "wake_word_detection_aborted") {
758
+ if (code == "wake-word-timeout" || code == "wake_word_detection_aborted" || code == "no_wake_word") {
759
759
  // Don't change state here since either the "tts-end" or "run-end" events will do it.
760
760
  return;
761
761
  } else if (code == "wake-provider-missing" || code == "wake-engine-missing") {
esphome/const.py CHANGED
@@ -1,6 +1,6 @@
1
1
  """Constants used by esphome."""
2
2
 
3
- __version__ = "2024.9.0b1"
3
+ __version__ = "2024.9.0b3"
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: 2024.9.0b1
3
+ Version: 2024.9.0b3
4
4
  Summary: Make creating custom firmwares for ESP32/ESP8266 super easy.
5
5
  Author-email: The ESPHome Authors <esphome@nabucasa.com>
6
6
  License: MIT
@@ -5,7 +5,7 @@ esphome/codegen.py,sha256=GePHUM7xdXb_Pil59SHVsXg2F4VBPgkH-Fz2PDX8Z54,1873
5
5
  esphome/config.py,sha256=ArMupdqCpKqQm-vFWb85HueI88DAfYTjuhR6mA691DI,39614
6
6
  esphome/config_helpers.py,sha256=MKf_wzO35nn41FvigXE0iYKDslPgL2ruf8R-EPtTT2I,3256
7
7
  esphome/config_validation.py,sha256=8EJWDk3JRqPE6eXXL_u6sSPvlRWLHYTIXb6MfsEriW0,66190
8
- esphome/const.py,sha256=GbxZB_gT5N6GQ3ps3R3iWrSn2bcAbI0bsDGx-HcVv1U,39689
8
+ esphome/const.py,sha256=9Ki9bIgftJ5axvIW6bZ8l311d2EKA3CvjRvdZBK4QFw,39689
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
@@ -173,13 +173,13 @@ esphome/components/apds9960/apds9960.h,sha256=oFrXPQrPDS16gNSVdN1n6SKuvjwc9LdvpK
173
173
  esphome/components/apds9960/binary_sensor.py,sha256=DcfxkwZFvgmOU3C_gVSfZOpJ-EZlZXMd0gHnAUnxxCs,786
174
174
  esphome/components/apds9960/sensor.py,sha256=HoGfwl7WqJkpKI7BjeM1alXPcppdWVRrWwFzrZ0ISAo,871
175
175
  esphome/components/api/__init__.py,sha256=grnorxG9QG00eQwcIsiijno_o_JS6xKzOitqLS1DkXg,9895
176
- esphome/components/api/api_connection.cpp,sha256=kCxMbK72NJvYdPmj8k7L4IYOv5fTlxfTQp3rUOUvkWk,57490
176
+ esphome/components/api/api_connection.cpp,sha256=6BJwdXnEbQ5MDBNoM6Ya1fEzdwA8MGqEUhO0k0DHAZY,57553
177
177
  esphome/components/api/api_connection.h,sha256=iuCMJTKXOziKjWTSkidOyh8Yh7uEpEVdxSFOxPaFE08,10418
178
178
  esphome/components/api/api_frame_helper.cpp,sha256=-K3JLxUJ3gKpxVzJwOAwlCvlwl7C7VTgQWhpHlhzgd0,32998
179
179
  esphome/components/api/api_frame_helper.h,sha256=c1ET5DyoWNtdEkxLCVmyfyA8ZASBv9iAA24I5mtmnzA,5522
180
180
  esphome/components/api/api_noise_context.h,sha256=0i3J3wchJitnQBTJeQm1380t0duhsz7WxJDrlUBF8mE,405
181
- esphome/components/api/api_pb2.cpp,sha256=s2zkb8VgiLbIobbMOJUVGt4xsq5obKwKp6P2BT5_1og,241306
182
- esphome/components/api/api_pb2.h,sha256=Ix4i56SescULD98D_vEfXV91sz236yFneoZIdtgxLUU,68977
181
+ esphome/components/api/api_pb2.cpp,sha256=X8P_t-0NTvcRD7AjTvRjJdPSbTslRfT2jZt9XczeLIY,241566
182
+ esphome/components/api/api_pb2.h,sha256=5n8rnekSwZhImXK11vorkdT8Dbpg0UgaPiSSteWEKqY,69005
183
183
  esphome/components/api/api_pb2_service.cpp,sha256=Qmuo3Aa7FVjOA2z3Y8EOP0SwGphw_-nT7pNqTKetTNc,51970
184
184
  esphome/components/api/api_pb2_service.h,sha256=uavT9B8kn3p-Q1fVGIoLGAh3xdpzhQM1zYF09gfstdE,21597
185
185
  esphome/components/api/api_server.cpp,sha256=imCfdE_CkAWw9nnOPiA8QsyoSQyHx6jQcNbKvYRDzZc,11286
@@ -336,7 +336,7 @@ esphome/components/ble_client/text_sensor/automation.h,sha256=OCbnb9y1crqjzfy-4K
336
336
  esphome/components/ble_client/text_sensor/ble_text_sensor.cpp,sha256=oVGnE8A_zow1Dl1GaLs1ZFfgo0qNieNJIMxrmKtn61Y,4861
337
337
  esphome/components/ble_client/text_sensor/ble_text_sensor.h,sha256=NpCmxNNxJUaM9iz7gX6Fwdu-6vgHoMiXXWQGrha8Vxk,2018
338
338
  esphome/components/ble_presence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
339
- esphome/components/ble_presence/binary_sensor.py,sha256=2MFciM8F51fPWHsJfc1IfyUOyjJT10YYmJrL6Y5vUxQ,3415
339
+ esphome/components/ble_presence/binary_sensor.py,sha256=L6YQsfP-QhB7GnouCNHCpdnbSY7h2jn0TrwPSMet-DE,3437
340
340
  esphome/components/ble_presence/ble_presence_device.cpp,sha256=bCNNQrzNbYexs2xMSxskyE8biYNHQ0_vsmdEAv0f7wk,325
341
341
  esphome/components/ble_presence/ble_presence_device.h,sha256=f9iWhtLuVqEg3HdG3vn6bYET56xj4DVrML861banlvg,4040
342
342
  esphome/components/ble_rssi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -769,8 +769,8 @@ esphome/components/esp32_ble/ble.h,sha256=5u4PxcvcOk5tpO_nv2f6fB68BfTf2Zuv1PPH_v
769
769
  esphome/components/esp32_ble/ble_advertising.cpp,sha256=nWetDKFwcdhyaqRyq8KKmsFctLEF-4Bw81QPYHmxi24,6039
770
770
  esphome/components/esp32_ble/ble_advertising.h,sha256=dLksw168KS1wh3_X7GhesS9nacINphlZUl4nMgYSA8M,1480
771
771
  esphome/components/esp32_ble/ble_event.h,sha256=ED5C_SrTybqtu30vevlPr8NBsBUVKK6MSVC9UzwspHc,2771
772
- esphome/components/esp32_ble/ble_uuid.cpp,sha256=B_EzwLTVdJN0Yqqbu_MnFZODRG_wHOHHYzm4m1OHVaU,5837
773
- esphome/components/esp32_ble/ble_uuid.h,sha256=dwiOniSDlOHF7Yz7O_f7IFzPc8VCXMFljDjPONQ6oJo,857
772
+ esphome/components/esp32_ble/ble_uuid.cpp,sha256=k-txBt8lIMT8fgtBkKcRT94NrEuU57-rBSCE-lcp0Tw,6077
773
+ esphome/components/esp32_ble/ble_uuid.h,sha256=K7SoC6fQB7u_FQc4u__crSBLhxpCezc75uO7JFfaX7E,916
774
774
  esphome/components/esp32_ble/const_esp32c6.h,sha256=-PzjJqEK5QC52OEPtsjKPAlyv1Tr5lJnm4_-RuGSPyc,3123
775
775
  esphome/components/esp32_ble/queue.h,sha256=Y-wl0zLEas9TSEUIbRMqE_uCr6CEQvdk_24oNU9MYVo,1141
776
776
  esphome/components/esp32_ble_beacon/__init__.py,sha256=X8ovDDVUexlT_UM9OiXWzB6mgGgayA2MdOIix67yoZg,3174
@@ -799,8 +799,8 @@ esphome/components/esp32_ble_server/ble_service.cpp,sha256=zs-xQT9ISP8hn40DoL3k9
799
799
  esphome/components/esp32_ble_server/ble_service.h,sha256=MTQ1FsfwMgDoDiLNo0RqPObE8b9sE4NcCSVxlmR49v8,2328
800
800
  esphome/components/esp32_ble_tracker/__init__.py,sha256=Sgr8LKTUWh5nC2bh_iKNlQQZY7GSRr5FLG2QxI-piaY,12362
801
801
  esphome/components/esp32_ble_tracker/automation.h,sha256=0pDA6EX__f14sT0KJwcnqg7UOsueKjjegHPznQj9biw,3795
802
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp,sha256=8onqXeXMzyfcKcgFjqxh6eqv9fXxeacEDnlL7YgJTrk,26335
803
- esphome/components/esp32_ble_tracker/esp32_ble_tracker.h,sha256=D2Tl9kmxM5NclVzxjcHR-th2_CfEvEvZXiGGNc0Bv98,8913
802
+ esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp,sha256=x0e81DwrOvBl9RSryR-i9ASagHE9m2qBuPSzEIfn7fY,26439
803
+ esphome/components/esp32_ble_tracker/esp32_ble_tracker.h,sha256=20CmxJv8NhxH5bDKvhkAkiuObByaj6sOJq-BiNROhmE,8842
804
804
  esphome/components/esp32_camera/__init__.py,sha256=qhJ3Jgv1gum3m8kfkOFZLK7TLNsbuHZxIrqxBb11mz0,12649
805
805
  esphome/components/esp32_camera/esp32_camera.cpp,sha256=Ba2nu453rF4FDSlIJwD5sLnzE8ru4kKK4xVCvMdoyac,16960
806
806
  esphome/components/esp32_camera/esp32_camera.h,sha256=3-MKRSBcjDgI3I0uKmt0bGSfp2t6B85Zsjr06tmpa9Q,7590
@@ -1602,7 +1602,7 @@ esphome/components/mdns/mdns_rp2040.cpp,sha256=AzSFWtVJtq2dA9wJIFkvZvk8r_7oYbdFV
1602
1602
  esphome/components/media_player/__init__.py,sha256=5tWKlPTnq8sr0ObnedsntJyfQZRUC8yTUc7Jyk2pcH0,6830
1603
1603
  esphome/components/media_player/automation.h,sha256=jq0TR0-YX9xnyZrdXBaFTUFplrruF-eqWQpfC0TUBYU,2995
1604
1604
  esphome/components/media_player/media_player.cpp,sha256=bJSxcKtsju4xZie-u89yADZavHYx9hiKaUWt-C-BBmk,3938
1605
- esphome/components/media_player/media_player.h,sha256=ysqBAMrWGejUl3dMTTDUqsRfgtREjrYFuXyLhyTnPhs,3044
1605
+ esphome/components/media_player/media_player.h,sha256=8NMfzWbDQqo64pK5QPiTggo0BIN6hPRgiQgLFEVXcOY,3069
1606
1606
  esphome/components/mhz19/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1607
1607
  esphome/components/mhz19/mhz19.cpp,sha256=CBBVBMqGUsrc-4PMOaBDuKCAFNr43Kukt3a018kQI0k,3924
1608
1608
  esphome/components/mhz19/mhz19.h,sha256=DTuwpBz6gAZVn_QIUnmPiE4Y188XYiOS9WxIggcjZJ4,2050
@@ -2991,7 +2991,7 @@ esphome/components/vl53l0x/sensor.py,sha256=P8rWgRSOAQO-kAn35UC2I2_UwmYKUWS3DvYD
2991
2991
  esphome/components/vl53l0x/vl53l0x_sensor.cpp,sha256=JqSIf9jjNhin561LU-QzAmRKEK0PqQ8CuLO2mn380og,15017
2992
2992
  esphome/components/vl53l0x/vl53l0x_sensor.h,sha256=iTtScB2O7DVFh0eR9AVht2l3AdSAPJOVMtflTv2ZX7c,2561
2993
2993
  esphome/components/voice_assistant/__init__.py,sha256=mMd2eklOnmvpDJLjzr1nIUS6iXIWjHi6mmlGDs7iV1M,13826
2994
- esphome/components/voice_assistant/voice_assistant.cpp,sha256=3PGG9hwvPzFwePMxeZS8NOu7KrvnxR48uN5ywoPqD94,29587
2994
+ esphome/components/voice_assistant/voice_assistant.cpp,sha256=aVJEIdRAtZa3RQon_sb76UfUKgNwBtRghQLEt8QxLZ4,29613
2995
2995
  esphome/components/voice_assistant/voice_assistant.h,sha256=SC4EW1MBdyjBJWyh06XBgGzr7bP3goD204_DQzUJRAU,11204
2996
2996
  esphome/components/voltage_sampler/__init__.py,sha256=IU5YrROZSNyuAP1d6M_V3ZGAwNjXCHPcVy5nMjZ953Y,155
2997
2997
  esphome/components/voltage_sampler/voltage_sampler.h,sha256=Y67FLOpOzW29v29BRRyYgEmGZ_B8QnUUaqJMH6FA3jM,337
@@ -3260,9 +3260,9 @@ esphome/dashboard/util/itertools.py,sha256=8eLrWEWmICLtXNxkKdYPQV0c_N4GEz8m9Npnb
3260
3260
  esphome/dashboard/util/password.py,sha256=cQz3b9B-ijTe7zS6BeCW0hc3pWv6JjC78jmnycYYAh8,321
3261
3261
  esphome/dashboard/util/subprocess.py,sha256=T8EW6dbU4LPd2DG1dRrdh8li71tt6J1isn411poMhkk,1022
3262
3262
  esphome/dashboard/util/text.py,sha256=ENDnfN4O0NdA3CKVJjQYabFbwbrsIhVKrAMQe53qYu4,534
3263
- esphome-2024.9.0b1.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
3264
- esphome-2024.9.0b1.dist-info/METADATA,sha256=kji5jh5Jeh8tmPSkGQMVSu26BMcdaH3FC6h9l5E2G3U,3265
3265
- esphome-2024.9.0b1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
3266
- esphome-2024.9.0b1.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
3267
- esphome-2024.9.0b1.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
3268
- esphome-2024.9.0b1.dist-info/RECORD,,
3263
+ esphome-2024.9.0b3.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
3264
+ esphome-2024.9.0b3.dist-info/METADATA,sha256=iNgeXj9kWV7Iz1tjTj1aXfojNiMIf_N4udpbi6UzSgc,3265
3265
+ esphome-2024.9.0b3.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
3266
+ esphome-2024.9.0b3.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
3267
+ esphome-2024.9.0b3.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
3268
+ esphome-2024.9.0b3.dist-info/RECORD,,