esphome 2024.9.0b2__py3-none-any.whl → 2024.9.0b4__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
 
@@ -1223,6 +1224,39 @@ void APIConnection::on_voice_assistant_announce_request(const VoiceAssistantAnno
1223
1224
  }
1224
1225
  }
1225
1226
 
1227
+ VoiceAssistantConfigurationResponse APIConnection::voice_assistant_get_configuration(
1228
+ const VoiceAssistantConfigurationRequest &msg) {
1229
+ VoiceAssistantConfigurationResponse resp;
1230
+ if (voice_assistant::global_voice_assistant != nullptr) {
1231
+ if (voice_assistant::global_voice_assistant->get_api_connection() != this) {
1232
+ return resp;
1233
+ }
1234
+
1235
+ auto &config = voice_assistant::global_voice_assistant->get_configuration();
1236
+ for (auto &wake_word : config.available_wake_words) {
1237
+ VoiceAssistantWakeWord resp_wake_word;
1238
+ resp_wake_word.id = wake_word.id;
1239
+ resp_wake_word.wake_word = wake_word.wake_word;
1240
+ for (const auto &lang : wake_word.trained_languages) {
1241
+ resp_wake_word.trained_languages.push_back(lang);
1242
+ }
1243
+ resp.available_wake_words.push_back(std::move(resp_wake_word));
1244
+ }
1245
+ resp.max_active_wake_words = config.max_active_wake_words;
1246
+ }
1247
+ return resp;
1248
+ }
1249
+
1250
+ void APIConnection::voice_assistant_set_configuration(const VoiceAssistantSetConfiguration &msg) {
1251
+ if (voice_assistant::global_voice_assistant != nullptr) {
1252
+ if (voice_assistant::global_voice_assistant->get_api_connection() != this) {
1253
+ return;
1254
+ }
1255
+
1256
+ voice_assistant::global_voice_assistant->on_set_configuration(msg.active_wake_words);
1257
+ }
1258
+ }
1259
+
1226
1260
  #endif
1227
1261
 
1228
1262
  #ifdef USE_ALARM_CONTROL_PANEL
@@ -152,6 +152,9 @@ class APIConnection : public APIServerConnection {
152
152
  void on_voice_assistant_audio(const VoiceAssistantAudio &msg) override;
153
153
  void on_voice_assistant_timer_event_response(const VoiceAssistantTimerEventResponse &msg) override;
154
154
  void on_voice_assistant_announce_request(const VoiceAssistantAnnounceRequest &msg) override;
155
+ VoiceAssistantConfigurationResponse voice_assistant_get_configuration(
156
+ const VoiceAssistantConfigurationRequest &msg) override;
157
+ void voice_assistant_set_configuration(const VoiceAssistantSetConfiguration &msg) override;
155
158
  #endif
156
159
 
157
160
  #ifdef USE_ALARM_CONTROL_PANEL
@@ -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
@@ -7114,6 +7124,140 @@ void VoiceAssistantAnnounceFinished::dump_to(std::string &out) const {
7114
7124
  out.append("}");
7115
7125
  }
7116
7126
  #endif
7127
+ bool VoiceAssistantWakeWord::decode_length(uint32_t field_id, ProtoLengthDelimited value) {
7128
+ switch (field_id) {
7129
+ case 1: {
7130
+ this->id = value.as_string();
7131
+ return true;
7132
+ }
7133
+ case 2: {
7134
+ this->wake_word = value.as_string();
7135
+ return true;
7136
+ }
7137
+ case 3: {
7138
+ this->trained_languages.push_back(value.as_string());
7139
+ return true;
7140
+ }
7141
+ default:
7142
+ return false;
7143
+ }
7144
+ }
7145
+ void VoiceAssistantWakeWord::encode(ProtoWriteBuffer buffer) const {
7146
+ buffer.encode_string(1, this->id);
7147
+ buffer.encode_string(2, this->wake_word);
7148
+ for (auto &it : this->trained_languages) {
7149
+ buffer.encode_string(3, it, true);
7150
+ }
7151
+ }
7152
+ #ifdef HAS_PROTO_MESSAGE_DUMP
7153
+ void VoiceAssistantWakeWord::dump_to(std::string &out) const {
7154
+ __attribute__((unused)) char buffer[64];
7155
+ out.append("VoiceAssistantWakeWord {\n");
7156
+ out.append(" id: ");
7157
+ out.append("'").append(this->id).append("'");
7158
+ out.append("\n");
7159
+
7160
+ out.append(" wake_word: ");
7161
+ out.append("'").append(this->wake_word).append("'");
7162
+ out.append("\n");
7163
+
7164
+ for (const auto &it : this->trained_languages) {
7165
+ out.append(" trained_languages: ");
7166
+ out.append("'").append(it).append("'");
7167
+ out.append("\n");
7168
+ }
7169
+ out.append("}");
7170
+ }
7171
+ #endif
7172
+ void VoiceAssistantConfigurationRequest::encode(ProtoWriteBuffer buffer) const {}
7173
+ #ifdef HAS_PROTO_MESSAGE_DUMP
7174
+ void VoiceAssistantConfigurationRequest::dump_to(std::string &out) const {
7175
+ out.append("VoiceAssistantConfigurationRequest {}");
7176
+ }
7177
+ #endif
7178
+ bool VoiceAssistantConfigurationResponse::decode_varint(uint32_t field_id, ProtoVarInt value) {
7179
+ switch (field_id) {
7180
+ case 3: {
7181
+ this->max_active_wake_words = value.as_uint32();
7182
+ return true;
7183
+ }
7184
+ default:
7185
+ return false;
7186
+ }
7187
+ }
7188
+ bool VoiceAssistantConfigurationResponse::decode_length(uint32_t field_id, ProtoLengthDelimited value) {
7189
+ switch (field_id) {
7190
+ case 1: {
7191
+ this->available_wake_words.push_back(value.as_message<VoiceAssistantWakeWord>());
7192
+ return true;
7193
+ }
7194
+ case 2: {
7195
+ this->active_wake_words.push_back(value.as_string());
7196
+ return true;
7197
+ }
7198
+ default:
7199
+ return false;
7200
+ }
7201
+ }
7202
+ void VoiceAssistantConfigurationResponse::encode(ProtoWriteBuffer buffer) const {
7203
+ for (auto &it : this->available_wake_words) {
7204
+ buffer.encode_message<VoiceAssistantWakeWord>(1, it, true);
7205
+ }
7206
+ for (auto &it : this->active_wake_words) {
7207
+ buffer.encode_string(2, it, true);
7208
+ }
7209
+ buffer.encode_uint32(3, this->max_active_wake_words);
7210
+ }
7211
+ #ifdef HAS_PROTO_MESSAGE_DUMP
7212
+ void VoiceAssistantConfigurationResponse::dump_to(std::string &out) const {
7213
+ __attribute__((unused)) char buffer[64];
7214
+ out.append("VoiceAssistantConfigurationResponse {\n");
7215
+ for (const auto &it : this->available_wake_words) {
7216
+ out.append(" available_wake_words: ");
7217
+ it.dump_to(out);
7218
+ out.append("\n");
7219
+ }
7220
+
7221
+ for (const auto &it : this->active_wake_words) {
7222
+ out.append(" active_wake_words: ");
7223
+ out.append("'").append(it).append("'");
7224
+ out.append("\n");
7225
+ }
7226
+
7227
+ out.append(" max_active_wake_words: ");
7228
+ sprintf(buffer, "%" PRIu32, this->max_active_wake_words);
7229
+ out.append(buffer);
7230
+ out.append("\n");
7231
+ out.append("}");
7232
+ }
7233
+ #endif
7234
+ bool VoiceAssistantSetConfiguration::decode_length(uint32_t field_id, ProtoLengthDelimited value) {
7235
+ switch (field_id) {
7236
+ case 1: {
7237
+ this->active_wake_words.push_back(value.as_string());
7238
+ return true;
7239
+ }
7240
+ default:
7241
+ return false;
7242
+ }
7243
+ }
7244
+ void VoiceAssistantSetConfiguration::encode(ProtoWriteBuffer buffer) const {
7245
+ for (auto &it : this->active_wake_words) {
7246
+ buffer.encode_string(1, it, true);
7247
+ }
7248
+ }
7249
+ #ifdef HAS_PROTO_MESSAGE_DUMP
7250
+ void VoiceAssistantSetConfiguration::dump_to(std::string &out) const {
7251
+ __attribute__((unused)) char buffer[64];
7252
+ out.append("VoiceAssistantSetConfiguration {\n");
7253
+ for (const auto &it : this->active_wake_words) {
7254
+ out.append(" active_wake_words: ");
7255
+ out.append("'").append(it).append("'");
7256
+ out.append("\n");
7257
+ }
7258
+ out.append("}");
7259
+ }
7260
+ #endif
7117
7261
  bool ListEntitiesAlarmControlPanelResponse::decode_varint(uint32_t field_id, ProtoVarInt value) {
7118
7262
  switch (field_id) {
7119
7263
  case 6: {
@@ -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;
@@ -1848,6 +1849,53 @@ class VoiceAssistantAnnounceFinished : public ProtoMessage {
1848
1849
  protected:
1849
1850
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1850
1851
  };
1852
+ class VoiceAssistantWakeWord : public ProtoMessage {
1853
+ public:
1854
+ std::string id{};
1855
+ std::string wake_word{};
1856
+ std::vector<std::string> trained_languages{};
1857
+ void encode(ProtoWriteBuffer buffer) const override;
1858
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1859
+ void dump_to(std::string &out) const override;
1860
+ #endif
1861
+
1862
+ protected:
1863
+ bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1864
+ };
1865
+ class VoiceAssistantConfigurationRequest : public ProtoMessage {
1866
+ public:
1867
+ void encode(ProtoWriteBuffer buffer) const override;
1868
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1869
+ void dump_to(std::string &out) const override;
1870
+ #endif
1871
+
1872
+ protected:
1873
+ };
1874
+ class VoiceAssistantConfigurationResponse : public ProtoMessage {
1875
+ public:
1876
+ std::vector<VoiceAssistantWakeWord> available_wake_words{};
1877
+ std::vector<std::string> active_wake_words{};
1878
+ uint32_t max_active_wake_words{0};
1879
+ void encode(ProtoWriteBuffer buffer) const override;
1880
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1881
+ void dump_to(std::string &out) const override;
1882
+ #endif
1883
+
1884
+ protected:
1885
+ bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1886
+ bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1887
+ };
1888
+ class VoiceAssistantSetConfiguration : public ProtoMessage {
1889
+ public:
1890
+ std::vector<std::string> active_wake_words{};
1891
+ void encode(ProtoWriteBuffer buffer) const override;
1892
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1893
+ void dump_to(std::string &out) const override;
1894
+ #endif
1895
+
1896
+ protected:
1897
+ bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override;
1898
+ };
1851
1899
  class ListEntitiesAlarmControlPanelResponse : public ProtoMessage {
1852
1900
  public:
1853
1901
  std::string object_id{};
@@ -496,6 +496,19 @@ bool APIServerConnectionBase::send_voice_assistant_announce_finished(const Voice
496
496
  return this->send_message_<VoiceAssistantAnnounceFinished>(msg, 120);
497
497
  }
498
498
  #endif
499
+ #ifdef USE_VOICE_ASSISTANT
500
+ #endif
501
+ #ifdef USE_VOICE_ASSISTANT
502
+ bool APIServerConnectionBase::send_voice_assistant_configuration_response(
503
+ const VoiceAssistantConfigurationResponse &msg) {
504
+ #ifdef HAS_PROTO_MESSAGE_DUMP
505
+ ESP_LOGVV(TAG, "send_voice_assistant_configuration_response: %s", msg.dump().c_str());
506
+ #endif
507
+ return this->send_message_<VoiceAssistantConfigurationResponse>(msg, 122);
508
+ }
509
+ #endif
510
+ #ifdef USE_VOICE_ASSISTANT
511
+ #endif
499
512
  #ifdef USE_ALARM_CONTROL_PANEL
500
513
  bool APIServerConnectionBase::send_list_entities_alarm_control_panel_response(
501
514
  const ListEntitiesAlarmControlPanelResponse &msg) {
@@ -1156,6 +1169,28 @@ bool APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type,
1156
1169
  ESP_LOGVV(TAG, "on_voice_assistant_announce_request: %s", msg.dump().c_str());
1157
1170
  #endif
1158
1171
  this->on_voice_assistant_announce_request(msg);
1172
+ #endif
1173
+ break;
1174
+ }
1175
+ case 121: {
1176
+ #ifdef USE_VOICE_ASSISTANT
1177
+ VoiceAssistantConfigurationRequest msg;
1178
+ msg.decode(msg_data, msg_size);
1179
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1180
+ ESP_LOGVV(TAG, "on_voice_assistant_configuration_request: %s", msg.dump().c_str());
1181
+ #endif
1182
+ this->on_voice_assistant_configuration_request(msg);
1183
+ #endif
1184
+ break;
1185
+ }
1186
+ case 123: {
1187
+ #ifdef USE_VOICE_ASSISTANT
1188
+ VoiceAssistantSetConfiguration msg;
1189
+ msg.decode(msg_data, msg_size);
1190
+ #ifdef HAS_PROTO_MESSAGE_DUMP
1191
+ ESP_LOGVV(TAG, "on_voice_assistant_set_configuration: %s", msg.dump().c_str());
1192
+ #endif
1193
+ this->on_voice_assistant_set_configuration(msg);
1159
1194
  #endif
1160
1195
  break;
1161
1196
  }
@@ -1646,6 +1681,35 @@ void APIServerConnection::on_subscribe_voice_assistant_request(const SubscribeVo
1646
1681
  this->subscribe_voice_assistant(msg);
1647
1682
  }
1648
1683
  #endif
1684
+ #ifdef USE_VOICE_ASSISTANT
1685
+ void APIServerConnection::on_voice_assistant_configuration_request(const VoiceAssistantConfigurationRequest &msg) {
1686
+ if (!this->is_connection_setup()) {
1687
+ this->on_no_setup_connection();
1688
+ return;
1689
+ }
1690
+ if (!this->is_authenticated()) {
1691
+ this->on_unauthenticated_access();
1692
+ return;
1693
+ }
1694
+ VoiceAssistantConfigurationResponse ret = this->voice_assistant_get_configuration(msg);
1695
+ if (!this->send_voice_assistant_configuration_response(ret)) {
1696
+ this->on_fatal_error();
1697
+ }
1698
+ }
1699
+ #endif
1700
+ #ifdef USE_VOICE_ASSISTANT
1701
+ void APIServerConnection::on_voice_assistant_set_configuration(const VoiceAssistantSetConfiguration &msg) {
1702
+ if (!this->is_connection_setup()) {
1703
+ this->on_no_setup_connection();
1704
+ return;
1705
+ }
1706
+ if (!this->is_authenticated()) {
1707
+ this->on_unauthenticated_access();
1708
+ return;
1709
+ }
1710
+ this->voice_assistant_set_configuration(msg);
1711
+ }
1712
+ #endif
1649
1713
  #ifdef USE_ALARM_CONTROL_PANEL
1650
1714
  void APIServerConnection::on_alarm_control_panel_command_request(const AlarmControlPanelCommandRequest &msg) {
1651
1715
  if (!this->is_connection_setup()) {
@@ -253,6 +253,15 @@ class APIServerConnectionBase : public ProtoService {
253
253
  #ifdef USE_VOICE_ASSISTANT
254
254
  bool send_voice_assistant_announce_finished(const VoiceAssistantAnnounceFinished &msg);
255
255
  #endif
256
+ #ifdef USE_VOICE_ASSISTANT
257
+ virtual void on_voice_assistant_configuration_request(const VoiceAssistantConfigurationRequest &value){};
258
+ #endif
259
+ #ifdef USE_VOICE_ASSISTANT
260
+ bool send_voice_assistant_configuration_response(const VoiceAssistantConfigurationResponse &msg);
261
+ #endif
262
+ #ifdef USE_VOICE_ASSISTANT
263
+ virtual void on_voice_assistant_set_configuration(const VoiceAssistantSetConfiguration &value){};
264
+ #endif
256
265
  #ifdef USE_ALARM_CONTROL_PANEL
257
266
  bool send_list_entities_alarm_control_panel_response(const ListEntitiesAlarmControlPanelResponse &msg);
258
267
  #endif
@@ -425,6 +434,13 @@ class APIServerConnection : public APIServerConnectionBase {
425
434
  #ifdef USE_VOICE_ASSISTANT
426
435
  virtual void subscribe_voice_assistant(const SubscribeVoiceAssistantRequest &msg) = 0;
427
436
  #endif
437
+ #ifdef USE_VOICE_ASSISTANT
438
+ virtual VoiceAssistantConfigurationResponse voice_assistant_get_configuration(
439
+ const VoiceAssistantConfigurationRequest &msg) = 0;
440
+ #endif
441
+ #ifdef USE_VOICE_ASSISTANT
442
+ virtual void voice_assistant_set_configuration(const VoiceAssistantSetConfiguration &msg) = 0;
443
+ #endif
428
444
  #ifdef USE_ALARM_CONTROL_PANEL
429
445
  virtual void alarm_control_panel_command(const AlarmControlPanelCommandRequest &msg) = 0;
430
446
  #endif
@@ -526,6 +542,12 @@ class APIServerConnection : public APIServerConnectionBase {
526
542
  #ifdef USE_VOICE_ASSISTANT
527
543
  void on_subscribe_voice_assistant_request(const SubscribeVoiceAssistantRequest &msg) override;
528
544
  #endif
545
+ #ifdef USE_VOICE_ASSISTANT
546
+ void on_voice_assistant_configuration_request(const VoiceAssistantConfigurationRequest &msg) override;
547
+ #endif
548
+ #ifdef USE_VOICE_ASSISTANT
549
+ void on_voice_assistant_set_configuration(const VoiceAssistantSetConfiguration &msg) override;
550
+ #endif
529
551
  #ifdef USE_ALARM_CONTROL_PANEL
530
552
  void on_alarm_control_panel_command_request(const AlarmControlPanelCommandRequest &msg) override;
531
553
  #endif
@@ -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;
@@ -77,6 +77,18 @@ struct Timer {
77
77
  }
78
78
  };
79
79
 
80
+ struct WakeWord {
81
+ std::string id;
82
+ std::string wake_word;
83
+ std::vector<std::string> trained_languages;
84
+ };
85
+
86
+ struct Configuration {
87
+ std::vector<WakeWord> available_wake_words;
88
+ std::vector<std::string> active_wake_words;
89
+ uint32_t max_active_wake_words;
90
+ };
91
+
80
92
  class VoiceAssistant : public Component {
81
93
  public:
82
94
  void setup() override;
@@ -133,6 +145,8 @@ class VoiceAssistant : public Component {
133
145
  void on_audio(const api::VoiceAssistantAudio &msg);
134
146
  void on_timer_event(const api::VoiceAssistantTimerEventResponse &msg);
135
147
  void on_announce(const api::VoiceAssistantAnnounceRequest &msg);
148
+ void on_set_configuration(const std::vector<std::string> &active_wake_words){};
149
+ const Configuration &get_configuration() { return this->config_; };
136
150
 
137
151
  bool is_running() const { return this->state_ != State::IDLE; }
138
152
  void set_continuous(bool continuous) { this->continuous_ = continuous; }
@@ -279,6 +293,8 @@ class VoiceAssistant : public Component {
279
293
  AudioMode audio_mode_{AUDIO_MODE_UDP};
280
294
  bool udp_socket_running_{false};
281
295
  bool start_udp_socket_();
296
+
297
+ Configuration config_{};
282
298
  };
283
299
 
284
300
  template<typename... Ts> class StartAction : public Action<Ts...>, public Parented<VoiceAssistant> {
esphome/const.py CHANGED
@@ -1,6 +1,6 @@
1
1
  """Constants used by esphome."""
2
2
 
3
- __version__ = "2024.9.0b2"
3
+ __version__ = "2024.9.0b4"
4
4
 
5
5
  ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_"
6
6
  VALID_SUBSTITUTIONS_CHARACTERS = (
esphome/core/config.py CHANGED
@@ -100,9 +100,6 @@ def valid_include(value):
100
100
  def valid_project_name(value: str):
101
101
  if value.count(".") != 1:
102
102
  raise cv.Invalid("project name needs to have a namespace")
103
-
104
- value = value.replace(" ", "_")
105
-
106
103
  return value
107
104
 
108
105
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: esphome
3
- Version: 2024.9.0b2
3
+ Version: 2024.9.0b4
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=UlMtghq6-Sy6H1Ieiz8SXdqCkMkks_X1SH4pVE-KAbg,39689
8
+ esphome/const.py,sha256=Sf_9KRBvDG2Q_JzbsG5FIDbJTLtBy0vaire5URuYDNo,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,15 +173,15 @@ 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
177
- esphome/components/api/api_connection.h,sha256=iuCMJTKXOziKjWTSkidOyh8Yh7uEpEVdxSFOxPaFE08,10418
176
+ esphome/components/api/api_connection.cpp,sha256=iaN0Hr26xHjaMyvWrfWUuFJ6or43td4Y-Hrbb0WW6DU,58827
177
+ esphome/components/api/api_connection.h,sha256=TzVix_TjCGRcXJ5yvkM7-ZVWYec5SAmzKhZFEsrxmiw,10648
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
183
- esphome/components/api/api_pb2_service.cpp,sha256=Qmuo3Aa7FVjOA2z3Y8EOP0SwGphw_-nT7pNqTKetTNc,51970
184
- esphome/components/api/api_pb2_service.h,sha256=uavT9B8kn3p-Q1fVGIoLGAh3xdpzhQM1zYF09gfstdE,21597
181
+ esphome/components/api/api_pb2.cpp,sha256=cPTrbhVar99mgyggNjv0vIu4rg0-LMZzd0WGZPvdPkQ,245524
182
+ esphome/components/api/api_pb2.h,sha256=sTeQ5zL0_Ncs4GvxizY-B5kPevCLqJ9tuU9tMX69FgY,70507
183
+ esphome/components/api/api_pb2_service.cpp,sha256=xYIanFE-N_3LRJgp-1_5Ey88_BMlYZao1QjztZEaNPo,53963
184
+ esphome/components/api/api_pb2_service.h,sha256=XgdMInOdOxFQZ0X7EDt8rQWX9Z0TSS2LDWsga5vNckg,22581
185
185
  esphome/components/api/api_server.cpp,sha256=imCfdE_CkAWw9nnOPiA8QsyoSQyHx6jQcNbKvYRDzZc,11286
186
186
  esphome/components/api/api_server.h,sha256=BokLEuG9sMLC-TSUR7tCQn2NonL_mJ9E6gdr2wYrQLg,5304
187
187
  esphome/components/api/client.py,sha256=UOxu9LsM1fprWq6TmSbSEkvD0mSZjJFVXZxXllMPt8s,1775
@@ -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
@@ -2992,7 +2992,7 @@ esphome/components/vl53l0x/vl53l0x_sensor.cpp,sha256=JqSIf9jjNhin561LU-QzAmRKEK0
2992
2992
  esphome/components/vl53l0x/vl53l0x_sensor.h,sha256=iTtScB2O7DVFh0eR9AVht2l3AdSAPJOVMtflTv2ZX7c,2561
2993
2993
  esphome/components/voice_assistant/__init__.py,sha256=mMd2eklOnmvpDJLjzr1nIUS6iXIWjHi6mmlGDs7iV1M,13826
2994
2994
  esphome/components/voice_assistant/voice_assistant.cpp,sha256=aVJEIdRAtZa3RQon_sb76UfUKgNwBtRghQLEt8QxLZ4,29613
2995
- esphome/components/voice_assistant/voice_assistant.h,sha256=SC4EW1MBdyjBJWyh06XBgGzr7bP3goD204_DQzUJRAU,11204
2995
+ esphome/components/voice_assistant/voice_assistant.h,sha256=0nwW6Jzad0JU3L-On3FbUa5VmHy1jmTHhyn3FvQSJxM,11648
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
2998
2998
  esphome/components/wake_on_lan/__init__.py,sha256=-RYpXD02o3dlFnKzOCYk58bUbxfD2v-wj1ECywj-cgI,50
@@ -3213,7 +3213,7 @@ esphome/core/component.cpp,sha256=Uea5Hkm0E9yJMJYnrbLFFVpdcBZgaWSxfAiwcyGKByA,93
3213
3213
  esphome/core/component.h,sha256=U4m8_g9gSBBIjRNw4k36entP2JcA6F3SsWbwty_hKdo,11744
3214
3214
  esphome/core/component_iterator.cpp,sha256=TUu2K34ATYa1Qyf2s-sZJBksAiFIGj3egzbDKPuFtTQ,11117
3215
3215
  esphome/core/component_iterator.h,sha256=cjacKgRrlxl-VwPOysfBJZNK0NMzcc-w9xXn82m5dYc,3599
3216
- esphome/core/config.py,sha256=cIyIQzLLMKGr6milcT69-YPNVhehNzw2Tu311-MLGwo,14549
3216
+ esphome/core/config.py,sha256=gGGU5EI6FJkVGk4N4uP9MdRPct8b9n49Q6P7jGJHBbw,14511
3217
3217
  esphome/core/controller.cpp,sha256=feO4yH0GETNCqi9MTZEtsOaoo-CPV2rM9S7UfQXY6Ew,4553
3218
3218
  esphome/core/controller.h,sha256=PXCcMqYpq0xjFCdlOKv6WuYlcETnB4sq3UQWdOTt9PU,3720
3219
3219
  esphome/core/datatypes.h,sha256=wN8xro8vqXT13w9KvVOXeQfBwlI_WQZ6uFaIGyub67E,2114
@@ -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.0b2.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
3264
- esphome-2024.9.0b2.dist-info/METADATA,sha256=dq41B2BTdfhMTFd8Hw_-egCMO9ab_vj_FadOMLHzpzk,3265
3265
- esphome-2024.9.0b2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
3266
- esphome-2024.9.0b2.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
3267
- esphome-2024.9.0b2.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
3268
- esphome-2024.9.0b2.dist-info/RECORD,,
3263
+ esphome-2024.9.0b4.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
3264
+ esphome-2024.9.0b4.dist-info/METADATA,sha256=tT4G_LuapRj-787gePmH7z28wMMRwZoRHU50xdtVklA,3265
3265
+ esphome-2024.9.0b4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
3266
+ esphome-2024.9.0b4.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
3267
+ esphome-2024.9.0b4.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
3268
+ esphome-2024.9.0b4.dist-info/RECORD,,