esphome 2024.6.1__py3-none-any.whl → 2024.6.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.
@@ -9,6 +9,10 @@ static const char *const TAG = "gpio.one_wire";
9
9
 
10
10
  void GPIOOneWireBus::setup() {
11
11
  ESP_LOGCONFIG(TAG, "Setting up 1-wire bus...");
12
+ this->t_pin_->setup();
13
+ // clear bus with 480µs high, otherwise initial reset in search might fail
14
+ this->t_pin_->pin_mode(gpio::FLAG_INPUT | gpio::FLAG_PULLUP);
15
+ delayMicroseconds(480);
12
16
  this->search();
13
17
  }
14
18
 
@@ -90,13 +94,15 @@ bool HOT IRAM_ATTR GPIOOneWireBus::read_bit_() {
90
94
 
91
95
  // measure from start value directly, to get best accurate timing no matter
92
96
  // how long pin_mode/delayMicroseconds took
93
- delayMicroseconds(12 - (micros() - start));
97
+ uint32_t now = micros();
98
+ if (now - start < 12)
99
+ delayMicroseconds(12 - (now - start));
94
100
 
95
101
  // sample bus to read bit from peer
96
102
  bool r = pin_.digital_read();
97
103
 
98
104
  // read slot is at least 60µs; get as close to 60µs to spend less time with interrupts locked
99
- uint32_t now = micros();
105
+ now = micros();
100
106
  if (now - start < 60)
101
107
  delayMicroseconds(60 - (now - start));
102
108
 
@@ -149,6 +149,7 @@ template<typename... Ts> class HttpRequestSendAction : public Action<Ts...> {
149
149
  }
150
150
  response_body.reserve(read_index);
151
151
  response_body.assign((char *) buf, read_index);
152
+ allocator.deallocate(buf, max_length);
152
153
  }
153
154
  }
154
155
 
@@ -90,7 +90,7 @@ std::shared_ptr<HttpContainer> HttpRequestIDF::start(std::string url, std::strin
90
90
  int write_left = body_len;
91
91
  int write_index = 0;
92
92
  const char *buf = body.c_str();
93
- while (body_len > 0) {
93
+ while (write_left > 0) {
94
94
  int written = esp_http_client_write(client, buf + write_index, write_left);
95
95
  if (written < 0) {
96
96
  err = ESP_FAIL;
@@ -46,7 +46,7 @@ void WatchdogManager::set_timeout_(uint32_t timeout_ms) {
46
46
  };
47
47
  esp_task_wdt_reconfigure(&wdt_config);
48
48
  #else
49
- esp_task_wdt_init(timeout_ms, true);
49
+ esp_task_wdt_init(timeout_ms / 1000, true);
50
50
  #endif // ESP_IDF_VERSION_MAJOR
51
51
  #endif // USE_ESP32
52
52
 
@@ -293,4 +293,4 @@ async def to_code(config):
293
293
  if CONF_HUMIDITY_SETPOINT in config:
294
294
  sens = await sensor.new_sensor(config[CONF_HUMIDITY_SETPOINT])
295
295
  cg.add(var.set_humidity_setpoint_sensor(sens))
296
- cg.add_library("dudanov/MideaUART", "1.1.8")
296
+ cg.add_library("dudanov/MideaUART", "1.1.9")
@@ -4,11 +4,13 @@ import esphome.config_validation as cv
4
4
  import esphome.codegen as cg
5
5
  from esphome.const import (
6
6
  CONF_DEVICE_CLASS,
7
+ CONF_ENTITY_CATEGORY,
7
8
  CONF_ID,
8
9
  CONF_MQTT_ID,
9
10
  CONF_WEB_SERVER_ID,
10
11
  DEVICE_CLASS_EMPTY,
11
12
  DEVICE_CLASS_FIRMWARE,
13
+ ENTITY_CATEGORY_CONFIG,
12
14
  )
13
15
  from esphome.core import CORE, coroutine_with_priority
14
16
  from esphome.cpp_helpers import setup_entity
@@ -41,6 +43,9 @@ UPDATE_SCHEMA = (
41
43
  cv.Optional(CONF_ON_UPDATE_AVAILABLE): automation.validate_automation(
42
44
  single=True
43
45
  ),
46
+ cv.Optional(
47
+ CONF_ENTITY_CATEGORY, default=ENTITY_CATEGORY_CONFIG
48
+ ): cv.entity_category,
44
49
  }
45
50
  )
46
51
  )
@@ -64,7 +69,7 @@ async def setup_update_core_(var, config):
64
69
  await mqtt.register_mqtt_component(mqtt_, config)
65
70
 
66
71
  if web_server_id_config := config.get(CONF_WEB_SERVER_ID):
67
- web_server_ = cg.get_variable(web_server_id_config)
72
+ web_server_ = await cg.get_variable(web_server_id_config)
68
73
  web_server.add_entity_to_sorting_list(web_server_, var, config)
69
74
 
70
75
 
@@ -1,9 +1,35 @@
1
1
  #include "update_entity.h"
2
2
 
3
+ #include "esphome/core/log.h"
4
+
3
5
  namespace esphome {
4
6
  namespace update {
5
7
 
8
+ static const char *const TAG = "update";
9
+
6
10
  void UpdateEntity::publish_state() {
11
+ ESP_LOGD(TAG, "'%s' - Publishing:", this->name_.c_str());
12
+ ESP_LOGD(TAG, " Current Version: %s", this->update_info_.current_version.c_str());
13
+
14
+ if (!this->update_info_.md5.empty()) {
15
+ ESP_LOGD(TAG, " Latest Version: %s", this->update_info_.latest_version.c_str());
16
+ }
17
+ if (!this->update_info_.firmware_url.empty()) {
18
+ ESP_LOGD(TAG, " Firmware URL: %s", this->update_info_.firmware_url.c_str());
19
+ }
20
+
21
+ ESP_LOGD(TAG, " Title: %s", this->update_info_.title.c_str());
22
+ if (!this->update_info_.summary.empty()) {
23
+ ESP_LOGD(TAG, " Summary: %s", this->update_info_.summary.c_str());
24
+ }
25
+ if (!this->update_info_.release_url.empty()) {
26
+ ESP_LOGD(TAG, " Release URL: %s", this->update_info_.release_url.c_str());
27
+ }
28
+
29
+ if (this->update_info_.has_progress) {
30
+ ESP_LOGD(TAG, " Progress: %.0f%%", this->update_info_.progress);
31
+ }
32
+
7
33
  this->has_state_ = true;
8
34
  this->state_callback_.call();
9
35
  }
esphome/config_helpers.py CHANGED
@@ -58,17 +58,21 @@ def merge_config(full_old, full_new):
58
58
  ids = {
59
59
  v_id: i
60
60
  for i, v in enumerate(res)
61
- if (v_id := v.get(CONF_ID)) and isinstance(v_id, str)
61
+ if isinstance(v, dict)
62
+ and (v_id := v.get(CONF_ID))
63
+ and isinstance(v_id, str)
62
64
  }
63
65
  extend_ids = {
64
66
  v_id.value: i
65
67
  for i, v in enumerate(res)
66
- if (v_id := v.get(CONF_ID)) and isinstance(v_id, Extend)
68
+ if isinstance(v, dict)
69
+ and (v_id := v.get(CONF_ID))
70
+ and isinstance(v_id, Extend)
67
71
  }
68
72
 
69
73
  ids_to_delete = []
70
74
  for v in new:
71
- if new_id := v.get(CONF_ID):
75
+ if isinstance(v, dict) and (new_id := v.get(CONF_ID)):
72
76
  if isinstance(new_id, Extend):
73
77
  new_id = new_id.value
74
78
  if new_id in ids:
esphome/const.py CHANGED
@@ -1,6 +1,6 @@
1
1
  """Constants used by esphome."""
2
2
 
3
- __version__ = "2024.6.1"
3
+ __version__ = "2024.6.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: 2024.6.1
3
+ Version: 2024.6.2
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
@@ -3,9 +3,9 @@ esphome/__main__.py,sha256=q5bitlzrHuGTKl-wPanxoq2W-__D6v9FR7igo91fWj0,33402
3
3
  esphome/automation.py,sha256=wnD7iJvGPSz7q8AJo2o5KglnN_uuhKcWOpYp95Vg9Oc,14507
4
4
  esphome/codegen.py,sha256=A8O0Jr8qBILHlr7NwPPeW2DSKQ9H5d85j5fOXQw0rSQ,1835
5
5
  esphome/config.py,sha256=wztK2UmO7-hc6HFDAi6YWtrPVy5mH0diKuqpsWp4-XA,39616
6
- esphome/config_helpers.py,sha256=O7e8KvTpA3i5yjFORNhzPSsVSHDyKmF965b09MHyDWc,3118
6
+ esphome/config_helpers.py,sha256=MKf_wzO35nn41FvigXE0iYKDslPgL2ruf8R-EPtTT2I,3256
7
7
  esphome/config_validation.py,sha256=G79LGVIh5BdpGkzuehkm7Db_llpbC2of4dKqZEpHc3A,64838
8
- esphome/const.py,sha256=xhJMd1J0q83zba92AuQKYK6YN8eDmfL0BlUc_5-QoaM,38841
8
+ esphome/const.py,sha256=t7mcNQSRESKbGK0F1xgxTRv3S-TtQyyep8LhYzIfgQc,38841
9
9
  esphome/coroutine.py,sha256=IG2kC92OrenyiRm7Qo9uC-4qU4b4-Lmj0TkMIjRG2RY,9344
10
10
  esphome/cpp_generator.py,sha256=hW2EfubUiildhKXZIdV8Dr3Q9TM5oHybFwiTo5-vEUE,31203
11
11
  esphome/cpp_helpers.py,sha256=KadRBBoo4QRT-VwdWFtvxv_FYjqhZTkBhfMX-JhEMwg,4803
@@ -914,7 +914,7 @@ esphome/components/gpio/binary_sensor/__init__.py,sha256=5aN9d9lhMm5f4mYKTpCAjrE
914
914
  esphome/components/gpio/binary_sensor/gpio_binary_sensor.cpp,sha256=1uHK50delMhBeraotqFbVzOc7F-EDwL79aw283TmN0A,620
915
915
  esphome/components/gpio/binary_sensor/gpio_binary_sensor.h,sha256=KcIZ2dmzpUDfBMQOK7xjCqAYFK8iRP1cA4VyxZGxohE,666
916
916
  esphome/components/gpio/one_wire/__init__.py,sha256=oTQx3yIXYth-281Qz7NRFLCrX3S12LrmFbyOSC4XaeE,713
917
- esphome/components/gpio/one_wire/gpio_one_wire.cpp,sha256=h07lMveXaVVyC7HHi9XhadDFQa1-O8XdGcnq8gBkpGQ,5060
917
+ esphome/components/gpio/one_wire/gpio_one_wire.cpp,sha256=0g9Jh5UcVxAnlCOraPfUr8FcITWUOMn-HrE24QqIdyo,5292
918
918
  esphome/components/gpio/one_wire/gpio_one_wire.h,sha256=tAxSKs75rR2SQImCLmzziXevxpy-bzamKt0ETTEW1dc,959
919
919
  esphome/components/gpio/output/__init__.py,sha256=LhpHRBnuIr_PzsFn8pzxXy_0ehXBWEptXffSanpPdDY,757
920
920
  esphome/components/gpio/output/gpio_binary_output.cpp,sha256=-_--D6rDu4n7G8uRDXCDqpZR4EzeuahfvR4HJeCvKaw,341
@@ -1067,12 +1067,12 @@ esphome/components/hte501/hte501.h,sha256=EY-aX8KwudhZPQ3tyRzSU2hPFUzFkmAhrGdhAX
1067
1067
  esphome/components/hte501/sensor.py,sha256=H7cfhfjQ0lyUgHABpoyiKOaj_f2qhN7nDW-tTj2sttQ,1723
1068
1068
  esphome/components/http_request/__init__.py,sha256=u9mjkozOhInNrvyIXxbhxdRqFLWqv2MG8ZIWylzH86g,9332
1069
1069
  esphome/components/http_request/http_request.cpp,sha256=UFpMPffAuE2enh8iBvZzV3EDr7lS-MoLaquDoi5FGEw,705
1070
- esphome/components/http_request/http_request.h,sha256=CxfVuLWdEcBGI_1CizM-uLNd44Mk7CAFBAxLzuMqDxE,6262
1070
+ esphome/components/http_request/http_request.h,sha256=aiWpp-SlpjeGje1DEMPsYb6_pCvCVf1Dsr-33Vu4A7U,6309
1071
1071
  esphome/components/http_request/http_request_arduino.cpp,sha256=Bgobw_5kJ4WoimlmFS9msB6ftHoUhNYKf3Rj3xNY9fQ,5174
1072
1072
  esphome/components/http_request/http_request_arduino.h,sha256=iaOY5aKpQJREygOoyBB8Nsozp4cfETDt-G6Hgu_pkm0,871
1073
- esphome/components/http_request/http_request_idf.cpp,sha256=24LMT47StCm6en0Jragk8DDFBc8quc9DVr2tsr0VVKQ,4380
1073
+ esphome/components/http_request/http_request_idf.cpp,sha256=7WJQ4woRdTGzeiaI9Aa2Xu0aDX5EAxydE0cbKbGLifE,4382
1074
1074
  esphome/components/http_request/http_request_idf.h,sha256=RmtzXsXsi8M66Lnf6eHbdEK5PIwALlvHyNXVz4skeGQ,774
1075
- esphome/components/http_request/watchdog.cpp,sha256=Dr33YrlPl6I5XIFE2Fl0n2KzsppPTu7rbKaBHJyy7Hg,1680
1075
+ esphome/components/http_request/watchdog.cpp,sha256=vrRWycQv1a4iOxYaR2Ld4UJdnYgp-s2E1V6kLjqoK_w,1687
1076
1076
  esphome/components/http_request/watchdog.h,sha256=45UrEdgj6KmB7lLPIK4-_BdpwZy-aDki3tMWrQn-hF8,454
1077
1077
  esphome/components/http_request/ota/__init__.py,sha256=jpcMsy-w7q6YH2XFwBHVMb9_rM8hY0_3BS_3rkKRvc0,3202
1078
1078
  esphome/components/http_request/ota/automation.h,sha256=yQo6nJis0S56r5F-tIPbRPqPZMcu0Lpcawr2cX92Ap4,1209
@@ -1531,7 +1531,7 @@ esphome/components/midea/ac_automations.h,sha256=N7FlaSuUORyGymXLxZ1RuNt_Lf63I_4
1531
1531
  esphome/components/midea/air_conditioner.cpp,sha256=x4FnacE0KvJJwbN854g3tK-jZjZx6d7LwLppI0ugorg,6112
1532
1532
  esphome/components/midea/air_conditioner.h,sha256=3al4vlPYRHNo0876kyEdH0lRoMsUuptUnlUqqSjF84g,2494
1533
1533
  esphome/components/midea/appliance_base.h,sha256=U2b_MqV1Bv1rG3L7AnKggBvY3yYwtYa1ZuNtdoa1WaI,2951
1534
- esphome/components/midea/climate.py,sha256=UYCeHg7ryEubF59UedERf4-K47LaNfV4-lhijeWdo9s,9682
1534
+ esphome/components/midea/climate.py,sha256=PE3cPEtgs0EoRxuCxPav_IuEj2eFOfnhIbLB8rVpOBg,9682
1535
1535
  esphome/components/midea/ir_transmitter.h,sha256=oLCcKvL8UeWJjCnrx66xIOYsXZ4kVKNLGl6zecZD3hM,1641
1536
1536
  esphome/components/midea_ac/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1537
1537
  esphome/components/midea_ac/climate.py,sha256=rOrj73N5UfYLk1S5ngs4g2xizCm0l8xl_etVVXXtII4,120
@@ -2806,8 +2806,8 @@ esphome/components/ultrasonic/__init__.py,sha256=PTP_5q_K_2dNnUdkolkVd5komlEbJdS
2806
2806
  esphome/components/ultrasonic/sensor.py,sha256=SJADHJ0fdAUXD79cRiGGcsWbrt2tyHICYp3TIiRrqOs,1630
2807
2807
  esphome/components/ultrasonic/ultrasonic_sensor.cpp,sha256=b6rXmtLiXxWcD3O-Hu14rbOTImS6YMnpKU4gOXBhtMo,2359
2808
2808
  esphome/components/ultrasonic/ultrasonic_sensor.h,sha256=Xf0Fn8sVX-DdClbrL45Koo9OX5JMIwzpKkhOLLMVmlw,1389
2809
- esphome/components/update/__init__.py,sha256=ZbU4ysm2ItCd4acYTozkWXkcB2ggOjRcVHwSbsy7iL4,3367
2810
- esphome/components/update/update_entity.cpp,sha256=AyFcNZG1iGE6UzcANzaP-aOCLhKvK69_HRMSgiR9gSk,214
2809
+ esphome/components/update/__init__.py,sha256=I7QToO3YVq4A9KcESlJRP516F9k0OGtdjhogOJVS4L0,3556
2810
+ esphome/components/update/update_entity.cpp,sha256=gFN8TfpyHx3OL7RG0L1ZPdIQswhFc7_BzUY-uVlUlFc,1139
2811
2811
  esphome/components/update/update_entity.h,sha256=rPBBG3_bndHXtrW6zZwwinmeEo8LVdsqvplAD8MbQqM,1151
2812
2812
  esphome/components/uponor_smatrix/__init__.py,sha256=8GvLYw4MOoXfcys_6D_JRIyRY0fGmzDczSfKvuXipC8,2307
2813
2813
  esphome/components/uponor_smatrix/uponor_smatrix.cpp,sha256=7Vy0IFz7VREK5ekbAtj0vNc0usF6BDAvg37ZamxBTEE,7689
@@ -3113,9 +3113,9 @@ esphome/dashboard/util/itertools.py,sha256=8eLrWEWmICLtXNxkKdYPQV0c_N4GEz8m9Npnb
3113
3113
  esphome/dashboard/util/password.py,sha256=cQz3b9B-ijTe7zS6BeCW0hc3pWv6JjC78jmnycYYAh8,321
3114
3114
  esphome/dashboard/util/subprocess.py,sha256=T8EW6dbU4LPd2DG1dRrdh8li71tt6J1isn411poMhkk,1022
3115
3115
  esphome/dashboard/util/text.py,sha256=ENDnfN4O0NdA3CKVJjQYabFbwbrsIhVKrAMQe53qYu4,534
3116
- esphome-2024.6.1.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
3117
- esphome-2024.6.1.dist-info/METADATA,sha256=dzznjmt_HecwKildcmA_qNS4rZW7fjOoHl4r0jegKu8,3263
3118
- esphome-2024.6.1.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
3119
- esphome-2024.6.1.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
3120
- esphome-2024.6.1.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
3121
- esphome-2024.6.1.dist-info/RECORD,,
3116
+ esphome-2024.6.2.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
3117
+ esphome-2024.6.2.dist-info/METADATA,sha256=nBAQYftljTMkR8H7FHjhh3aZG7D7ESz62ffgoGnLQ3M,3263
3118
+ esphome-2024.6.2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
3119
+ esphome-2024.6.2.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
3120
+ esphome-2024.6.2.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
3121
+ esphome-2024.6.2.dist-info/RECORD,,