esphome 2024.9.0b3__py3-none-any.whl → 2024.9.1__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.
@@ -1224,6 +1224,42 @@ void APIConnection::on_voice_assistant_announce_request(const VoiceAssistantAnno
1224
1224
  }
1225
1225
  }
1226
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
+ for (auto &wake_word_id : config.active_wake_words) {
1246
+ resp.active_wake_words.push_back(wake_word_id);
1247
+ }
1248
+ resp.max_active_wake_words = config.max_active_wake_words;
1249
+ }
1250
+ return resp;
1251
+ }
1252
+
1253
+ void APIConnection::voice_assistant_set_configuration(const VoiceAssistantSetConfiguration &msg) {
1254
+ if (voice_assistant::global_voice_assistant != nullptr) {
1255
+ if (voice_assistant::global_voice_assistant->get_api_connection() != this) {
1256
+ return;
1257
+ }
1258
+
1259
+ voice_assistant::global_voice_assistant->on_set_configuration(msg.active_wake_words);
1260
+ }
1261
+ }
1262
+
1227
1263
  #endif
1228
1264
 
1229
1265
  #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
@@ -7124,6 +7124,140 @@ void VoiceAssistantAnnounceFinished::dump_to(std::string &out) const {
7124
7124
  out.append("}");
7125
7125
  }
7126
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
7127
7261
  bool ListEntitiesAlarmControlPanelResponse::decode_varint(uint32_t field_id, ProtoVarInt value) {
7128
7262
  switch (field_id) {
7129
7263
  case 6: {
@@ -1849,6 +1849,53 @@ class VoiceAssistantAnnounceFinished : public ProtoMessage {
1849
1849
  protected:
1850
1850
  bool decode_varint(uint32_t field_id, ProtoVarInt value) override;
1851
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
+ };
1852
1899
  class ListEntitiesAlarmControlPanelResponse : public ProtoMessage {
1853
1900
  public:
1854
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
@@ -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.0b3"
3
+ __version__ = "2024.9.1"
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.0b3
3
+ Version: 2024.9.1
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=9Ki9bIgftJ5axvIW6bZ8l311d2EKA3CvjRvdZBK4QFw,39689
8
+ esphome/const.py,sha256=fRHZVnhd7evZnyiO4zpzN3x9-ApZpz1nxOHFgOlvU9I,39687
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=6BJwdXnEbQ5MDBNoM6Ya1fEzdwA8MGqEUhO0k0DHAZY,57553
177
- esphome/components/api/api_connection.h,sha256=iuCMJTKXOziKjWTSkidOyh8Yh7uEpEVdxSFOxPaFE08,10418
176
+ esphome/components/api/api_connection.cpp,sha256=x0gOr7jnFs1d415u0jFBRhnfnU-Pk7pGXsohUrKLXgI,58945
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=X8P_t-0NTvcRD7AjTvRjJdPSbTslRfT2jZt9XczeLIY,241566
182
- esphome/components/api/api_pb2.h,sha256=5n8rnekSwZhImXK11vorkdT8Dbpg0UgaPiSSteWEKqY,69005
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
@@ -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.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,,
3263
+ esphome-2024.9.1.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
3264
+ esphome-2024.9.1.dist-info/METADATA,sha256=ZlwFK4o74LdgHPG9GEJ3xlwENGYZsD35bYpakT3JIus,3263
3265
+ esphome-2024.9.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
3266
+ esphome-2024.9.1.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
3267
+ esphome-2024.9.1.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
3268
+ esphome-2024.9.1.dist-info/RECORD,,