esphome 2024.6.2__py3-none-any.whl → 2024.6.4__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.
- esphome/codegen.py +1 -0
- esphome/components/dallas_temp/dallas_temp.cpp +15 -18
- esphome/components/ds1307/ds1307.cpp +12 -8
- esphome/components/esphome/ota/__init__.py +70 -0
- esphome/components/http_request/__init__.py +1 -1
- esphome/components/http_request/http_request.h +14 -5
- esphome/components/ledc/ledc_output.cpp +4 -1
- esphome/components/modbus_controller/modbus_controller.cpp +2 -1
- esphome/components/modbus_controller/text_sensor/modbus_textsensor.cpp +1 -1
- esphome/components/safe_mode/__init__.py +12 -13
- esphome/const.py +1 -1
- esphome/cpp_types.py +1 -0
- {esphome-2024.6.2.dist-info → esphome-2024.6.4.dist-info}/METADATA +1 -1
- {esphome-2024.6.2.dist-info → esphome-2024.6.4.dist-info}/RECORD +18 -18
- {esphome-2024.6.2.dist-info → esphome-2024.6.4.dist-info}/LICENSE +0 -0
- {esphome-2024.6.2.dist-info → esphome-2024.6.4.dist-info}/WHEEL +0 -0
- {esphome-2024.6.2.dist-info → esphome-2024.6.4.dist-info}/entry_points.txt +0 -0
- {esphome-2024.6.2.dist-info → esphome-2024.6.4.dist-info}/top_level.txt +0 -0
esphome/codegen.py
CHANGED
@@ -145,24 +145,21 @@ bool DallasTemperatureSensor::check_scratch_pad_() {
|
|
145
145
|
float DallasTemperatureSensor::get_temp_c_() {
|
146
146
|
int16_t temp = (this->scratch_pad_[1] << 8) | this->scratch_pad_[0];
|
147
147
|
if ((this->address_ & 0xff) == DALLAS_MODEL_DS18S20) {
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
default:
|
164
|
-
break;
|
165
|
-
}
|
148
|
+
return (temp >> 1) + (this->scratch_pad_[7] - this->scratch_pad_[6]) / float(this->scratch_pad_[7]) - 0.25;
|
149
|
+
}
|
150
|
+
switch (this->resolution_) {
|
151
|
+
case 9:
|
152
|
+
temp &= 0xfff8;
|
153
|
+
break;
|
154
|
+
case 10:
|
155
|
+
temp &= 0xfffc;
|
156
|
+
break;
|
157
|
+
case 11:
|
158
|
+
temp &= 0xfffe;
|
159
|
+
break;
|
160
|
+
case 12:
|
161
|
+
default:
|
162
|
+
break;
|
166
163
|
}
|
167
164
|
|
168
165
|
return temp / 16.0f;
|
@@ -37,14 +37,18 @@ void DS1307Component::read_time() {
|
|
37
37
|
ESP_LOGW(TAG, "RTC halted, not syncing to system clock.");
|
38
38
|
return;
|
39
39
|
}
|
40
|
-
ESPTime rtc_time{
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
40
|
+
ESPTime rtc_time{
|
41
|
+
.second = uint8_t(ds1307_.reg.second + 10 * ds1307_.reg.second_10),
|
42
|
+
.minute = uint8_t(ds1307_.reg.minute + 10u * ds1307_.reg.minute_10),
|
43
|
+
.hour = uint8_t(ds1307_.reg.hour + 10u * ds1307_.reg.hour_10),
|
44
|
+
.day_of_week = uint8_t(ds1307_.reg.weekday),
|
45
|
+
.day_of_month = uint8_t(ds1307_.reg.day + 10u * ds1307_.reg.day_10),
|
46
|
+
.day_of_year = 1, // ignored by recalc_timestamp_utc(false)
|
47
|
+
.month = uint8_t(ds1307_.reg.month + 10u * ds1307_.reg.month_10),
|
48
|
+
.year = uint16_t(ds1307_.reg.year + 10u * ds1307_.reg.year_10 + 2000),
|
49
|
+
.is_dst = false, // not used
|
50
|
+
.timestamp = 0 // overwritten by recalc_timestamp_utc(false)
|
51
|
+
};
|
48
52
|
rtc_time.recalc_timestamp_utc(false);
|
49
53
|
if (!rtc_time.is_valid()) {
|
50
54
|
ESP_LOGE(TAG, "Invalid RTC time, not syncing to system clock.");
|
@@ -1,10 +1,17 @@
|
|
1
|
+
import logging
|
2
|
+
|
1
3
|
import esphome.codegen as cg
|
2
4
|
import esphome.config_validation as cv
|
5
|
+
import esphome.final_validate as fv
|
3
6
|
from esphome.components.ota import BASE_OTA_SCHEMA, ota_to_code, OTAComponent
|
7
|
+
from esphome.config_helpers import merge_config
|
4
8
|
from esphome.const import (
|
9
|
+
CONF_ESPHOME,
|
5
10
|
CONF_ID,
|
6
11
|
CONF_NUM_ATTEMPTS,
|
12
|
+
CONF_OTA,
|
7
13
|
CONF_PASSWORD,
|
14
|
+
CONF_PLATFORM,
|
8
15
|
CONF_PORT,
|
9
16
|
CONF_REBOOT_TIMEOUT,
|
10
17
|
CONF_SAFE_MODE,
|
@@ -12,6 +19,8 @@ from esphome.const import (
|
|
12
19
|
)
|
13
20
|
from esphome.core import coroutine_with_priority
|
14
21
|
|
22
|
+
_LOGGER = logging.getLogger(__name__)
|
23
|
+
|
15
24
|
|
16
25
|
CODEOWNERS = ["@esphome/core"]
|
17
26
|
AUTO_LOAD = ["md5", "socket"]
|
@@ -21,6 +30,65 @@ esphome = cg.esphome_ns.namespace("esphome")
|
|
21
30
|
ESPHomeOTAComponent = esphome.class_("ESPHomeOTAComponent", OTAComponent)
|
22
31
|
|
23
32
|
|
33
|
+
def ota_esphome_final_validate(config):
|
34
|
+
full_conf = fv.full_config.get()
|
35
|
+
full_ota_conf = full_conf[CONF_OTA]
|
36
|
+
new_ota_conf = []
|
37
|
+
merged_ota_esphome_configs_by_port = {}
|
38
|
+
ports_with_merged_configs = []
|
39
|
+
for ota_conf in full_ota_conf:
|
40
|
+
if ota_conf.get(CONF_PLATFORM) == CONF_ESPHOME:
|
41
|
+
if (
|
42
|
+
conf_port := ota_conf.get(CONF_PORT)
|
43
|
+
) not in merged_ota_esphome_configs_by_port:
|
44
|
+
merged_ota_esphome_configs_by_port[conf_port] = ota_conf
|
45
|
+
else:
|
46
|
+
if merged_ota_esphome_configs_by_port[conf_port][
|
47
|
+
CONF_VERSION
|
48
|
+
] != ota_conf.get(CONF_VERSION):
|
49
|
+
raise cv.Invalid(
|
50
|
+
f"Found multiple configurations but {CONF_VERSION} is inconsistent"
|
51
|
+
)
|
52
|
+
if (
|
53
|
+
merged_ota_esphome_configs_by_port[conf_port][CONF_ID].is_manual
|
54
|
+
and ota_conf.get(CONF_ID).is_manual
|
55
|
+
):
|
56
|
+
raise cv.Invalid(
|
57
|
+
f"Found multiple configurations but {CONF_ID} is inconsistent"
|
58
|
+
)
|
59
|
+
if (
|
60
|
+
CONF_PASSWORD in merged_ota_esphome_configs_by_port[conf_port]
|
61
|
+
and CONF_PASSWORD in ota_conf
|
62
|
+
and merged_ota_esphome_configs_by_port[conf_port][CONF_PASSWORD]
|
63
|
+
!= ota_conf.get(CONF_PASSWORD)
|
64
|
+
):
|
65
|
+
raise cv.Invalid(
|
66
|
+
f"Found multiple configurations but {CONF_PASSWORD} is inconsistent"
|
67
|
+
)
|
68
|
+
|
69
|
+
ports_with_merged_configs.append(conf_port)
|
70
|
+
merged_ota_esphome_configs_by_port[conf_port] = merge_config(
|
71
|
+
merged_ota_esphome_configs_by_port[conf_port], ota_conf
|
72
|
+
)
|
73
|
+
else:
|
74
|
+
new_ota_conf.append(ota_conf)
|
75
|
+
|
76
|
+
for port_conf in merged_ota_esphome_configs_by_port.values():
|
77
|
+
new_ota_conf.append(port_conf)
|
78
|
+
|
79
|
+
full_conf[CONF_OTA] = new_ota_conf
|
80
|
+
fv.full_config.set(full_conf)
|
81
|
+
|
82
|
+
if len(ports_with_merged_configs) > 0:
|
83
|
+
_LOGGER.warning(
|
84
|
+
"Found and merged multiple configurations for %s %s %s port(s) %s",
|
85
|
+
CONF_OTA,
|
86
|
+
CONF_PLATFORM,
|
87
|
+
CONF_ESPHOME,
|
88
|
+
ports_with_merged_configs,
|
89
|
+
)
|
90
|
+
|
91
|
+
|
24
92
|
CONFIG_SCHEMA = (
|
25
93
|
cv.Schema(
|
26
94
|
{
|
@@ -50,6 +118,8 @@ CONFIG_SCHEMA = (
|
|
50
118
|
.extend(cv.COMPONENT_SCHEMA)
|
51
119
|
)
|
52
120
|
|
121
|
+
FINAL_VALIDATE_SCHEMA = ota_esphome_final_validate
|
122
|
+
|
53
123
|
|
54
124
|
@coroutine_with_priority(52.0)
|
55
125
|
async def to_code(config):
|
@@ -43,10 +43,10 @@ class HttpContainer : public Parented<HttpRequestComponent> {
|
|
43
43
|
bool secure_{false};
|
44
44
|
};
|
45
45
|
|
46
|
-
class HttpRequestResponseTrigger : public Trigger<std::shared_ptr<HttpContainer>, std::string
|
46
|
+
class HttpRequestResponseTrigger : public Trigger<std::shared_ptr<HttpContainer>, std::string &> {
|
47
47
|
public:
|
48
|
-
void process(std::shared_ptr<HttpContainer> container, std::string response_body) {
|
49
|
-
this->trigger(std::move(container),
|
48
|
+
void process(std::shared_ptr<HttpContainer> container, std::string &response_body) {
|
49
|
+
this->trigger(std::move(container), response_body);
|
50
50
|
}
|
51
51
|
};
|
52
52
|
|
@@ -153,8 +153,17 @@ template<typename... Ts> class HttpRequestSendAction : public Action<Ts...> {
|
|
153
153
|
}
|
154
154
|
}
|
155
155
|
|
156
|
-
|
157
|
-
trigger
|
156
|
+
if (this->response_triggers_.size() == 1) {
|
157
|
+
// if there is only one trigger, no need to copy the response body
|
158
|
+
this->response_triggers_[0]->process(container, response_body);
|
159
|
+
} else {
|
160
|
+
for (auto *trigger : this->response_triggers_) {
|
161
|
+
// with multiple triggers, pass a copy of the response body to each
|
162
|
+
// one so that modifications made in one trigger are not visible to
|
163
|
+
// the others
|
164
|
+
auto response_body_copy = std::string(response_body);
|
165
|
+
trigger->process(container, response_body_copy);
|
166
|
+
}
|
158
167
|
}
|
159
168
|
container->end();
|
160
169
|
}
|
@@ -115,12 +115,15 @@ void LEDCOutput::write_state(float state) {
|
|
115
115
|
const uint32_t max_duty = (uint32_t(1) << this->bit_depth_) - 1;
|
116
116
|
const float duty_rounded = roundf(state * max_duty);
|
117
117
|
auto duty = static_cast<uint32_t>(duty_rounded);
|
118
|
-
|
119
118
|
#ifdef USE_ARDUINO
|
120
119
|
ESP_LOGV(TAG, "Setting duty: %u on channel %u", duty, this->channel_);
|
121
120
|
ledcWrite(this->channel_, duty);
|
122
121
|
#endif
|
123
122
|
#ifdef USE_ESP_IDF
|
123
|
+
// ensure that 100% on is not 99.975% on
|
124
|
+
if ((duty == max_duty) && (max_duty != 1)) {
|
125
|
+
duty = max_duty + 1;
|
126
|
+
}
|
124
127
|
auto speed_mode = get_speed_mode(channel_);
|
125
128
|
auto chan_num = static_cast<ledc_channel_t>(channel_ % 8);
|
126
129
|
int hpoint = ledc_angle_to_htop(this->phase_angle_, this->bit_depth_);
|
@@ -116,7 +116,8 @@ void ModbusController::on_modbus_read_registers(uint8_t function_code, uint16_t
|
|
116
116
|
ESP_LOGD(TAG, "Matched register. Address: 0x%02X. Value type: %zu. Register count: %u. Value: %0.1f.",
|
117
117
|
server_register->address, static_cast<uint8_t>(server_register->value_type),
|
118
118
|
server_register->register_count, value);
|
119
|
-
|
119
|
+
std::vector<uint16_t> payload = float_to_payload(value, server_register->value_type);
|
120
|
+
sixteen_bit_response.insert(sixteen_bit_response.end(), payload.cbegin(), payload.cend());
|
120
121
|
current_address += server_register->register_count;
|
121
122
|
found = true;
|
122
123
|
break;
|
@@ -15,7 +15,7 @@ void ModbusTextSensor::parse_and_publish(const std::vector<uint8_t> &data) {
|
|
15
15
|
std::ostringstream output;
|
16
16
|
uint8_t items_left = this->response_bytes;
|
17
17
|
uint8_t index = this->offset;
|
18
|
-
char buffer[
|
18
|
+
char buffer[5];
|
19
19
|
while ((items_left > 0) && index < data.size()) {
|
20
20
|
uint8_t b = data[index];
|
21
21
|
switch (this->encode_) {
|
@@ -56,21 +56,20 @@ CONFIG_SCHEMA = cv.All(
|
|
56
56
|
|
57
57
|
@coroutine_with_priority(50.0)
|
58
58
|
async def to_code(config):
|
59
|
-
if config[CONF_DISABLED]:
|
60
|
-
|
59
|
+
if not config[CONF_DISABLED]:
|
60
|
+
var = cg.new_Pvariable(config[CONF_ID])
|
61
|
+
await cg.register_component(var, config)
|
61
62
|
|
62
|
-
|
63
|
-
|
63
|
+
for conf in config.get(CONF_ON_SAFE_MODE, []):
|
64
|
+
trigger = cg.new_Pvariable(conf[CONF_TRIGGER_ID], var)
|
65
|
+
await automation.build_automation(trigger, [], conf)
|
64
66
|
|
65
|
-
|
66
|
-
|
67
|
-
|
67
|
+
condition = var.should_enter_safe_mode(
|
68
|
+
config[CONF_NUM_ATTEMPTS],
|
69
|
+
config[CONF_REBOOT_TIMEOUT],
|
70
|
+
config[CONF_BOOT_IS_GOOD_AFTER],
|
71
|
+
)
|
72
|
+
cg.add(RawExpression(f"if ({condition}) return"))
|
68
73
|
|
69
|
-
condition = var.should_enter_safe_mode(
|
70
|
-
config[CONF_NUM_ATTEMPTS],
|
71
|
-
config[CONF_REBOOT_TIMEOUT],
|
72
|
-
config[CONF_BOOT_IS_GOOD_AFTER],
|
73
|
-
)
|
74
|
-
cg.add(RawExpression(f"if ({condition}) return"))
|
75
74
|
CORE.data[CONF_SAFE_MODE] = {}
|
76
75
|
CORE.data[CONF_SAFE_MODE][KEY_PAST_SAFE_MODE] = True
|
esphome/const.py
CHANGED
esphome/cpp_types.py
CHANGED
@@ -10,6 +10,7 @@ int_ = global_ns.namespace("int")
|
|
10
10
|
std_ns = global_ns.namespace("std")
|
11
11
|
std_shared_ptr = std_ns.class_("shared_ptr")
|
12
12
|
std_string = std_ns.class_("string")
|
13
|
+
std_string_ref = std_ns.namespace("string &")
|
13
14
|
std_vector = std_ns.class_("vector")
|
14
15
|
uint8 = global_ns.namespace("uint8_t")
|
15
16
|
uint16 = global_ns.namespace("uint16_t")
|
@@ -1,15 +1,15 @@
|
|
1
1
|
esphome/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
2
|
esphome/__main__.py,sha256=q5bitlzrHuGTKl-wPanxoq2W-__D6v9FR7igo91fWj0,33402
|
3
3
|
esphome/automation.py,sha256=wnD7iJvGPSz7q8AJo2o5KglnN_uuhKcWOpYp95Vg9Oc,14507
|
4
|
-
esphome/codegen.py,sha256=
|
4
|
+
esphome/codegen.py,sha256=LCJVpAwy1L9DTBsIvbgAbHj1TOXUSPgBoN--aio0gBk,1855
|
5
5
|
esphome/config.py,sha256=wztK2UmO7-hc6HFDAi6YWtrPVy5mH0diKuqpsWp4-XA,39616
|
6
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=
|
8
|
+
esphome/const.py,sha256=rOpMLPHKDSJGYe933DKChKQZ8ujBjrdX5MenEbIzDDM,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
|
12
|
-
esphome/cpp_types.py,sha256=
|
12
|
+
esphome/cpp_types.py,sha256=e4e7bEc_tuH_tVlU1ninne7fYuMFa1SdUzN99OQ-i4g,1787
|
13
13
|
esphome/espota2.py,sha256=KuDuWCn_IHd3VBmVf2T00T1k25l3ty63_WluRMirYKs,11760
|
14
14
|
esphome/external_files.py,sha256=jKQkWlv-MeK9apLz9hTu1TKTicb3bfujy11BnJuRuYM,2586
|
15
15
|
esphome/final_validate.py,sha256=oW3hlx3K7fuyEZ6N7R4L-_LLXMY622DSEIU78smsUfk,1898
|
@@ -560,7 +560,7 @@ esphome/components/daikin_brc/daikin_brc.h,sha256=ew2Yes19rWaev5GtDhi-9Wz7XbZli-
|
|
560
560
|
esphome/components/dallas/__init__.py,sha256=U1GxxurgZ3PsVb_HAxZiW6QB_7WGsJmgp48xyPgsdt4,205
|
561
561
|
esphome/components/dallas/sensor.py,sha256=aOiKX3STBILtpFe0J_iKfgjCEFKwyWPASxbP__MMJh8,167
|
562
562
|
esphome/components/dallas_temp/__init__.py,sha256=4y1dHAQV9d7Pm8PXNX-UzFwUa4Uqyl1zsYN7tefVu9Q,24
|
563
|
-
esphome/components/dallas_temp/dallas_temp.cpp,sha256=
|
563
|
+
esphome/components/dallas_temp/dallas_temp.cpp,sha256=eVjftHbHUZ4sbVwcX3Rw27IqxSDFUc6QPXNQiF0Jc28,4582
|
564
564
|
esphome/components/dallas_temp/dallas_temp.h,sha256=HbCVQ_uho9u1Pq-l1LeHBbT0fYkp3kabT6w9Ql9RyIg,885
|
565
565
|
esphome/components/dallas_temp/sensor.py,sha256=t9KDm7H-6RRxz4KaJF1nLPM_Bn5dULH1FuI2CdUUhQ8,1152
|
566
566
|
esphome/components/daly_bms/__init__.py,sha256=FyoXD_Y23-mRrnndBS70JY7UHKC0eEcJgWCF38DbCXA,897
|
@@ -649,7 +649,7 @@ esphome/components/dps310/dps310.cpp,sha256=kfzM0Pydy5kgJFTo5QP-WLajKgmqYVOpfb3W
|
|
649
649
|
esphome/components/dps310/dps310.h,sha256=-kD5VuLWA1yIQEIf9ki0zeW9Y37mSIvWZysPA57Oqh0,3376
|
650
650
|
esphome/components/dps310/sensor.py,sha256=SKJHun9LArscv6kJ9YBzqlaLmOiKYtYAA-Gd_l5qOCU,1839
|
651
651
|
esphome/components/ds1307/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
652
|
-
esphome/components/ds1307/ds1307.cpp,sha256=
|
652
|
+
esphome/components/ds1307/ds1307.cpp,sha256=0MU8vTJJovdp4LDv1mUNZoffr-Iur3abS3l9SrfQSOo,3982
|
653
653
|
esphome/components/ds1307/ds1307.h,sha256=elw1vByu25ZCykDalNyVt85i4uCcohJPXlwpLlwS8Gs,1616
|
654
654
|
esphome/components/ds1307/time.py,sha256=UlnG10Tt8ISnSBYcfhZzXHIE8cZh5G2TBXo7MwkPNhg,1605
|
655
655
|
esphome/components/dsmr/__init__.py,sha256=RlEfHH24fQ41WDeQuJwJL9-AjEjHvMnoCVp3BXA8XUw,3321
|
@@ -813,7 +813,7 @@ esphome/components/esp8266_pwm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
|
|
813
813
|
esphome/components/esp8266_pwm/esp8266_pwm.cpp,sha256=c4_NPBOfBdguJghAdx7d9cwtyJscVEhWD4_Xkavbmfw,1703
|
814
814
|
esphome/components/esp8266_pwm/esp8266_pwm.h,sha256=YLObIixl3YFDx3biu1TVfH6qyOFFts-VGT4pxgN0PHw,1386
|
815
815
|
esphome/components/esp8266_pwm/output.py,sha256=7qgJT-O8nr0HjFajwbw2k_DlXwG_SLfP4ma82-GF-ew,2062
|
816
|
-
esphome/components/esphome/ota/__init__.py,sha256=
|
816
|
+
esphome/components/esphome/ota/__init__.py,sha256=9QLHdgokrTMdyiLj6o7skLjyNpJ7riR6e1IWCa0eirc,4851
|
817
817
|
esphome/components/esphome/ota/ota_esphome.cpp,sha256=k2mo3SWZvQXLCZIeEIb_d6IV8D5vD5ynnlcjq_zPyCM,12334
|
818
818
|
esphome/components/esphome/ota/ota_esphome.h,sha256=8j_EDYbc7UiALElGt6NN834RDfCxD8oLHkJbhyaXtV4,1118
|
819
819
|
esphome/components/ethernet/__init__.py,sha256=5mP3op-0A0eSGc8NyrmzEEPaDgt4pBj2NKFubj7E7tw,8821
|
@@ -1065,9 +1065,9 @@ esphome/components/hte501/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJW
|
|
1065
1065
|
esphome/components/hte501/hte501.cpp,sha256=PZjDGzy2AAZ6tz4xvrlAD0GGcFmV-HjSnsZ5lIptkNM,2789
|
1066
1066
|
esphome/components/hte501/hte501.h,sha256=EY-aX8KwudhZPQ3tyRzSU2hPFUzFkmAhrGdhAXR-8rA,998
|
1067
1067
|
esphome/components/hte501/sensor.py,sha256=H7cfhfjQ0lyUgHABpoyiKOaj_f2qhN7nDW-tTj2sttQ,1723
|
1068
|
-
esphome/components/http_request/__init__.py,sha256=
|
1068
|
+
esphome/components/http_request/__init__.py,sha256=iEloLmhwKBRUHqIVjYN0LmxzrIUAMlttDrU7qPP55IU,9336
|
1069
1069
|
esphome/components/http_request/http_request.cpp,sha256=UFpMPffAuE2enh8iBvZzV3EDr7lS-MoLaquDoi5FGEw,705
|
1070
|
-
esphome/components/http_request/http_request.h,sha256
|
1070
|
+
esphome/components/http_request/http_request.h,sha256=-QVBxaH5iOFuzuvdmBDrjL81YM63mv3zILS4m8E4Oa4,6758
|
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
1073
|
esphome/components/http_request/http_request_idf.cpp,sha256=7WJQ4woRdTGzeiaI9Aa2Xu0aDX5EAxydE0cbKbGLifE,4382
|
@@ -1284,7 +1284,7 @@ esphome/components/ld2420/text_sensor/__init__.py,sha256=XqAcpd7R_yDQt97TkQTWTQh
|
|
1284
1284
|
esphome/components/ld2420/text_sensor/text_sensor.cpp,sha256=T8Hlo3rGbyEpKMlFHTfjMMZIueh_Xac5GfAWnOZ-IMk,385
|
1285
1285
|
esphome/components/ld2420/text_sensor/text_sensor.h,sha256=aK91ri0NvHth3ya0zN1OeX81v1nqveoiJcOfqCpaAJI,672
|
1286
1286
|
esphome/components/ledc/__init__.py,sha256=PTP_5q_K_2dNnUdkolkVd5komlEbJdS4lolCp8dvjKk,29
|
1287
|
-
esphome/components/ledc/ledc_output.cpp,sha256=
|
1287
|
+
esphome/components/ledc/ledc_output.cpp,sha256=ypYkN4xnBCzSkZR-jZCCNO04zloO_O2O5wpo58vzAG4,9773
|
1288
1288
|
esphome/components/ledc/ledc_output.h,sha256=hok37ypQ7BjJkJc22_z8p9qwkH4K1e_xRASNgMBZFyE,1663
|
1289
1289
|
esphome/components/ledc/output.py,sha256=8pYjboSYH2GmMpmwM6sT7ryV81rSM4FuGGloZcqXFR0,2725
|
1290
1290
|
esphome/components/libretiny/__init__.py,sha256=Ad0Vp-_5g1NDlRh2c1U_iZwAzwqGvR9cSDNgiMbO4c4,11555
|
@@ -1565,7 +1565,7 @@ esphome/components/modbus/modbus.cpp,sha256=O8O9s4mHIyhmRzRAQ8fK88dYljQEhNv-DKaD
|
|
1565
1565
|
esphome/components/modbus/modbus.h,sha256=lDXklIqGZsyXnvf4oFslaGtD7yd9YwRkUYSpYsQRcAg,2477
|
1566
1566
|
esphome/components/modbus_controller/__init__.py,sha256=OvVJfEMgw5VrBKdFsEi06AWIfa3dRh4mh9uBb0JnQnE,9652
|
1567
1567
|
esphome/components/modbus_controller/const.py,sha256=oe_0YOtwnzRI5hppgFgjkzhw_PkLS4_GWadjbCt393A,624
|
1568
|
-
esphome/components/modbus_controller/modbus_controller.cpp,sha256=
|
1568
|
+
esphome/components/modbus_controller/modbus_controller.cpp,sha256=bhd8P4jAEX_ariFyslyhvF9yJN5P64ZK2EBK2LczIjY,26722
|
1569
1569
|
esphome/components/modbus_controller/modbus_controller.h,sha256=CsCLbWC7xpMK77FzRl1qxgeXLXq32d0woD7tLM8n1Is,21910
|
1570
1570
|
esphome/components/modbus_controller/binary_sensor/__init__.py,sha256=HZe6vDNIMUOyQ2jJTZSbu_SSJFSxNVVxjYtXuyJ62GU,1634
|
1571
1571
|
esphome/components/modbus_controller/binary_sensor/modbus_binarysensor.cpp,sha256=wsRl8P37mxr24CQJ4gCrFsUTlgVVKOVsY8HJTN1sUA8,1197
|
@@ -1586,7 +1586,7 @@ esphome/components/modbus_controller/switch/__init__.py,sha256=7kNXF7HkcD5GwA5tu
|
|
1586
1586
|
esphome/components/modbus_controller/switch/modbus_switch.cpp,sha256=cb_pXmVCiln4I3p-IatuDABPt66UPRcMe87d1btKxS0,4227
|
1587
1587
|
esphome/components/modbus_controller/switch/modbus_switch.h,sha256=XUBdWMh0paqx6saqwABLj1Z6ClPcWTHlaOPpDJY8qvY,2026
|
1588
1588
|
esphome/components/modbus_controller/text_sensor/__init__.py,sha256=6KJrt-Ja1byI68RX9CRb-VsBh40jIr_8_DuC7UOPb_s,2422
|
1589
|
-
esphome/components/modbus_controller/text_sensor/modbus_textsensor.cpp,sha256=
|
1589
|
+
esphome/components/modbus_controller/text_sensor/modbus_textsensor.cpp,sha256=YadSV04TlvACAjyAfpISGv05i6oKof8od0UxqqPo6gs,1534
|
1590
1590
|
esphome/components/modbus_controller/text_sensor/modbus_textsensor.h,sha256=v3-AXp4xL8dbPMAsPFYd65IJ2AIPQXLwLhMICuHT2ww,1498
|
1591
1591
|
esphome/components/monochromatic/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
1592
1592
|
esphome/components/monochromatic/light.py,sha256=THKgebL_J4kCyt42O5y0kBbMZP1f885MO7fEbycvxnA,761
|
@@ -2137,7 +2137,7 @@ esphome/components/ruuvitag/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMp
|
|
2137
2137
|
esphome/components/ruuvitag/ruuvitag.cpp,sha256=4oJLZsX4jyfgMnloAtR7_DwwYla5Ni3r8Q-oLPqZMPE,939
|
2138
2138
|
esphome/components/ruuvitag/ruuvitag.h,sha256=ryiJUzyWmF1xXuyEjFyT1nufKS7hJaw5-Dh7Y9-BVqY,3955
|
2139
2139
|
esphome/components/ruuvitag/sensor.py,sha256=4DsRPn4JriUoJPnz3pI5r3qMxcFpVwo4yLa1AmRJaX0,6217
|
2140
|
-
esphome/components/safe_mode/__init__.py,sha256=
|
2140
|
+
esphome/components/safe_mode/__init__.py,sha256=sr35sEw2lxmjYZKYsxWBBd-9fjQGubDK_uxoOwG4tqs,2396
|
2141
2141
|
esphome/components/safe_mode/automation.h,sha256=ZXlH1n-aHmd5hUCITSUIZrihPL8cNwaISzEb0o9q0gU,356
|
2142
2142
|
esphome/components/safe_mode/safe_mode.cpp,sha256=s0XE1iGHA7vNX7m7fJ0AOksQCAuTTp0qbYy6HNWQTKg,4267
|
2143
2143
|
esphome/components/safe_mode/safe_mode.h,sha256=o53FPXkL9-W9_SVJEa7KHBFr1BCUtzo1I-q9mL-PIpQ,1692
|
@@ -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.
|
3117
|
-
esphome-2024.6.
|
3118
|
-
esphome-2024.6.
|
3119
|
-
esphome-2024.6.
|
3120
|
-
esphome-2024.6.
|
3121
|
-
esphome-2024.6.
|
3116
|
+
esphome-2024.6.4.dist-info/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
|
3117
|
+
esphome-2024.6.4.dist-info/METADATA,sha256=WEmYmMCEMIYOVRuadySo5HTVBv6o50md1IXyZRgj3yQ,3263
|
3118
|
+
esphome-2024.6.4.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
3119
|
+
esphome-2024.6.4.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
|
3120
|
+
esphome-2024.6.4.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
|
3121
|
+
esphome-2024.6.4.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|