esphome 2025.9.0b2__py3-none-any.whl → 2025.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.
- esphome/components/ade7880/ade7880.cpp +1 -1
- esphome/components/ethernet/__init__.py +11 -0
- esphome/components/ethernet/ethernet_component.cpp +4 -0
- esphome/components/ethernet/ethernet_component.h +2 -0
- esphome/components/mqtt/mqtt_client.cpp +1 -1
- esphome/components/select/select.cpp +3 -3
- esphome/components/select/select_call.cpp +1 -1
- esphome/const.py +1 -1
- esphome/core/defines.h +1 -0
- esphome/dashboard/web_server.py +2 -5
- {esphome-2025.9.0b2.dist-info → esphome-2025.9.0b3.dist-info}/METADATA +1 -1
- {esphome-2025.9.0b2.dist-info → esphome-2025.9.0b3.dist-info}/RECORD +16 -16
- {esphome-2025.9.0b2.dist-info → esphome-2025.9.0b3.dist-info}/WHEEL +0 -0
- {esphome-2025.9.0b2.dist-info → esphome-2025.9.0b3.dist-info}/entry_points.txt +0 -0
- {esphome-2025.9.0b2.dist-info → esphome-2025.9.0b3.dist-info}/licenses/LICENSE +0 -0
- {esphome-2025.9.0b2.dist-info → esphome-2025.9.0b3.dist-info}/top_level.txt +0 -0
@@ -113,7 +113,7 @@ void ADE7880::update() {
|
|
113
113
|
if (this->channel_a_ != nullptr) {
|
114
114
|
auto *chan = this->channel_a_;
|
115
115
|
this->update_sensor_from_s24zp_register16_(chan->current, AIRMS, [](float val) { return val / 100000.0f; });
|
116
|
-
this->update_sensor_from_s24zp_register16_(chan->voltage,
|
116
|
+
this->update_sensor_from_s24zp_register16_(chan->voltage, AVRMS, [](float val) { return val / 10000.0f; });
|
117
117
|
this->update_sensor_from_s24zp_register16_(chan->active_power, AWATT, [](float val) { return val / 100.0f; });
|
118
118
|
this->update_sensor_from_s24zp_register16_(chan->apparent_power, AVA, [](float val) { return val / 100.0f; });
|
119
119
|
this->update_sensor_from_s16_register16_(chan->power_factor, APF,
|
@@ -77,6 +77,13 @@ ETHERNET_TYPES = {
|
|
77
77
|
"DM9051": EthernetType.ETHERNET_TYPE_DM9051,
|
78
78
|
}
|
79
79
|
|
80
|
+
# PHY types that need compile-time defines for conditional compilation
|
81
|
+
_PHY_TYPE_TO_DEFINE = {
|
82
|
+
"KSZ8081": "USE_ETHERNET_KSZ8081",
|
83
|
+
"KSZ8081RNA": "USE_ETHERNET_KSZ8081",
|
84
|
+
# Add other PHY types here only if they need conditional compilation
|
85
|
+
}
|
86
|
+
|
80
87
|
SPI_ETHERNET_TYPES = ["W5500", "DM9051"]
|
81
88
|
SPI_ETHERNET_DEFAULT_POLLING_INTERVAL = TimePeriodMilliseconds(milliseconds=10)
|
82
89
|
|
@@ -345,6 +352,10 @@ async def to_code(config):
|
|
345
352
|
if CONF_MANUAL_IP in config:
|
346
353
|
cg.add(var.set_manual_ip(manual_ip(config[CONF_MANUAL_IP])))
|
347
354
|
|
355
|
+
# Add compile-time define for PHY types with specific code
|
356
|
+
if phy_define := _PHY_TYPE_TO_DEFINE.get(config[CONF_TYPE]):
|
357
|
+
cg.add_define(phy_define)
|
358
|
+
|
348
359
|
cg.add_define("USE_ETHERNET")
|
349
360
|
|
350
361
|
# Disable WiFi when using Ethernet to save memory
|
@@ -229,10 +229,12 @@ void EthernetComponent::setup() {
|
|
229
229
|
ESPHL_ERROR_CHECK(err, "ETH driver install error");
|
230
230
|
|
231
231
|
#ifndef USE_ETHERNET_SPI
|
232
|
+
#ifdef USE_ETHERNET_KSZ8081
|
232
233
|
if (this->type_ == ETHERNET_TYPE_KSZ8081RNA && this->clk_mode_ == EMAC_CLK_OUT) {
|
233
234
|
// KSZ8081RNA default is incorrect. It expects a 25MHz clock instead of the 50MHz we provide.
|
234
235
|
this->ksz8081_set_clock_reference_(mac);
|
235
236
|
}
|
237
|
+
#endif // USE_ETHERNET_KSZ8081
|
236
238
|
|
237
239
|
for (const auto &phy_register : this->phy_registers_) {
|
238
240
|
this->write_phy_register_(mac, phy_register);
|
@@ -721,6 +723,7 @@ bool EthernetComponent::powerdown() {
|
|
721
723
|
|
722
724
|
#ifndef USE_ETHERNET_SPI
|
723
725
|
|
726
|
+
#ifdef USE_ETHERNET_KSZ8081
|
724
727
|
constexpr uint8_t KSZ80XX_PC2R_REG_ADDR = 0x1F;
|
725
728
|
|
726
729
|
void EthernetComponent::ksz8081_set_clock_reference_(esp_eth_mac_t *mac) {
|
@@ -749,6 +752,7 @@ void EthernetComponent::ksz8081_set_clock_reference_(esp_eth_mac_t *mac) {
|
|
749
752
|
ESP_LOGVV(TAG, "KSZ8081 PHY Control 2: %s", format_hex_pretty((u_int8_t *) &phy_control_2, 2).c_str());
|
750
753
|
}
|
751
754
|
}
|
755
|
+
#endif // USE_ETHERNET_KSZ8081
|
752
756
|
|
753
757
|
void EthernetComponent::write_phy_register_(esp_eth_mac_t *mac, PHYRegister register_data) {
|
754
758
|
esp_err_t err;
|
@@ -104,8 +104,10 @@ class EthernetComponent : public Component {
|
|
104
104
|
void start_connect_();
|
105
105
|
void finish_connect_();
|
106
106
|
void dump_connect_params_();
|
107
|
+
#ifdef USE_ETHERNET_KSZ8081
|
107
108
|
/// @brief Set `RMII Reference Clock Select` bit for KSZ8081.
|
108
109
|
void ksz8081_set_clock_reference_(esp_eth_mac_t *mac);
|
110
|
+
#endif
|
109
111
|
/// @brief Set arbitratry PHY registers from config.
|
110
112
|
void write_phy_register_(esp_eth_mac_t *mac, PHYRegister register_data);
|
111
113
|
|
@@ -491,7 +491,7 @@ bool MQTTClientComponent::publish(const std::string &topic, const std::string &p
|
|
491
491
|
|
492
492
|
bool MQTTClientComponent::publish(const std::string &topic, const char *payload, size_t payload_length, uint8_t qos,
|
493
493
|
bool retain) {
|
494
|
-
return publish({.topic = topic, .payload = payload, .qos = qos, .retain = retain});
|
494
|
+
return publish({.topic = topic, .payload = std::string(payload, payload_length), .qos = qos, .retain = retain});
|
495
495
|
}
|
496
496
|
|
497
497
|
bool MQTTClientComponent::publish(const MQTTMessage &message) {
|
@@ -28,12 +28,12 @@ bool Select::has_option(const std::string &option) const { return this->index_of
|
|
28
28
|
bool Select::has_index(size_t index) const { return index < this->size(); }
|
29
29
|
|
30
30
|
size_t Select::size() const {
|
31
|
-
auto options = traits.get_options();
|
31
|
+
const auto &options = traits.get_options();
|
32
32
|
return options.size();
|
33
33
|
}
|
34
34
|
|
35
35
|
optional<size_t> Select::index_of(const std::string &option) const {
|
36
|
-
auto options = traits.get_options();
|
36
|
+
const auto &options = traits.get_options();
|
37
37
|
auto it = std::find(options.begin(), options.end(), option);
|
38
38
|
if (it == options.end()) {
|
39
39
|
return {};
|
@@ -51,7 +51,7 @@ optional<size_t> Select::active_index() const {
|
|
51
51
|
|
52
52
|
optional<std::string> Select::at(size_t index) const {
|
53
53
|
if (this->has_index(index)) {
|
54
|
-
auto options = traits.get_options();
|
54
|
+
const auto &options = traits.get_options();
|
55
55
|
return options.at(index);
|
56
56
|
} else {
|
57
57
|
return {};
|
@@ -45,7 +45,7 @@ void SelectCall::perform() {
|
|
45
45
|
auto *parent = this->parent_;
|
46
46
|
const auto *name = parent->get_name().c_str();
|
47
47
|
const auto &traits = parent->traits;
|
48
|
-
auto options = traits.get_options();
|
48
|
+
const auto &options = traits.get_options();
|
49
49
|
|
50
50
|
if (this->operation_ == SELECT_OP_NONE) {
|
51
51
|
ESP_LOGW(TAG, "'%s' - SelectCall performed without selecting an operation", name);
|
esphome/const.py
CHANGED
esphome/core/defines.h
CHANGED
esphome/dashboard/web_server.py
CHANGED
@@ -1038,12 +1038,9 @@ class ArchiveRequestHandler(BaseHandler):
|
|
1038
1038
|
shutil.move(config_file, os.path.join(archive_path, configuration))
|
1039
1039
|
|
1040
1040
|
storage_json = StorageJSON.load(storage_path)
|
1041
|
-
if storage_json is not None:
|
1041
|
+
if storage_json is not None and storage_json.build_path:
|
1042
1042
|
# Delete build folder (if exists)
|
1043
|
-
|
1044
|
-
build_folder = os.path.join(settings.config_dir, name)
|
1045
|
-
if build_folder is not None:
|
1046
|
-
shutil.rmtree(build_folder, os.path.join(archive_path, name))
|
1043
|
+
shutil.rmtree(storage_json.build_path, ignore_errors=True)
|
1047
1044
|
|
1048
1045
|
|
1049
1046
|
class UnArchiveRequestHandler(BaseHandler):
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: esphome
|
3
|
-
Version: 2025.9.
|
3
|
+
Version: 2025.9.0b3
|
4
4
|
Summary: ESPHome is a system to configure your microcontrollers by simple yet powerful configuration files and control them remotely through Home Automation systems.
|
5
5
|
Author-email: The ESPHome Authors <esphome@openhomefoundation.org>
|
6
6
|
License: MIT
|
@@ -5,7 +5,7 @@ esphome/codegen.py,sha256=H_WB4rj0uEowvlhEb31EjJQwutLQ5CQkJIsNgDK-wx8,1917
|
|
5
5
|
esphome/config.py,sha256=74-Y3XKtlB9h__fsu-Zvj6PanDWufVGo1-W4jlG-8cg,43172
|
6
6
|
esphome/config_helpers.py,sha256=E0UO0khX9JW-br_NSsDlLH3VuE-YwMQ99_pzEQVupDc,5391
|
7
7
|
esphome/config_validation.py,sha256=WB_2g9itbOi2z8bo25t8AG1rKHzLZdfa_DiTYQMuxrQ,64839
|
8
|
-
esphome/const.py,sha256=
|
8
|
+
esphome/const.py,sha256=V_KL_7copxuxPEKCWshLHGBtUhTkAZLPBRuELUzro5M,44218
|
9
9
|
esphome/coroutine.py,sha256=q2Bcr0MU6CviHLYRV_0lvSo0sLKQnsVlDM0yw-JxOa4,11587
|
10
10
|
esphome/cpp_generator.py,sha256=C9O-H6ekHHdIEsfLGiqo-Sv6LZCmS0OL4A5ZGYHyh6U,32209
|
11
11
|
esphome/cpp_helpers.py,sha256=r-hrUp7luke-ByuK2Z0TCzIvn4tTswMUkAzlVoKntiI,4039
|
@@ -78,7 +78,7 @@ esphome/components/addressable_light/addressable_light_display.cpp,sha256=fjrgB1
|
|
78
78
|
esphome/components/addressable_light/addressable_light_display.h,sha256=EMj2TMZ5OqUI4WR359i14Bi69iWnP648bkYV45TDpuE,2131
|
79
79
|
esphome/components/addressable_light/display.py,sha256=StgJQLmL0a9_r3fwzaeK8eVtftOxaxUetHTflo4GsmI,2011
|
80
80
|
esphome/components/ade7880/__init__.py,sha256=KMBEOgB15HIAc5zEuHpqMdxuFR_pJl0aUKDmnRXaEcg,28
|
81
|
-
esphome/components/ade7880/ade7880.cpp,sha256=
|
81
|
+
esphome/components/ade7880/ade7880.cpp,sha256=xNG6IaYf8phgHwXdlLqkC-TXt0pj3W-6MKVHMprWjaM,12933
|
82
82
|
esphome/components/ade7880/ade7880.h,sha256=GbZyr59cjZqW8C4OVWCpmGEp6NgcXcWgFoPb4wCpsPE,5210
|
83
83
|
esphome/components/ade7880/ade7880_i2c.cpp,sha256=sp3QBp1Obs7MSpMbv3JPR4Rt1P1gEsBVKFQVgS-BM2s,3666
|
84
84
|
esphome/components/ade7880/ade7880_registers.h,sha256=kQCxkKmnPCgGNHwYt0-anwhChIN3HgrCn8WLp1Xe2Xg,7558
|
@@ -970,10 +970,10 @@ esphome/components/espnow/espnow_component.cpp,sha256=cVGDLhpyYV33P0B5U__M9HUJTX
|
|
970
970
|
esphome/components/espnow/espnow_component.h,sha256=wQpUgP7vnQ8quScoOxdfEyyDQ77B4i1ryhSiwbNnqSI,6971
|
971
971
|
esphome/components/espnow/espnow_err.h,sha256=XpcviJ6_EdTPdJ7f_DX3pWcKsm9FVfLtczO-JeGMoRg,649
|
972
972
|
esphome/components/espnow/espnow_packet.h,sha256=zZGNt5qGWWcq9Sfwmc685VgLH4AEmYYzxZBF0uHrvMM,5692
|
973
|
-
esphome/components/ethernet/__init__.py,sha256=
|
973
|
+
esphome/components/ethernet/__init__.py,sha256=fRSFyrdu_o2396Feu7bHETyDWgtdV90lVFS-rO-Q6xE,13215
|
974
974
|
esphome/components/ethernet/esp_eth_phy_jl1101.c,sha256=WQ-RuJHLTlY61Ywkf8g56CaJke0RDoGwLwbOtyV83DE,12287
|
975
|
-
esphome/components/ethernet/ethernet_component.cpp,sha256=
|
976
|
-
esphome/components/ethernet/ethernet_component.h,sha256=
|
975
|
+
esphome/components/ethernet/ethernet_component.cpp,sha256=Wtw6RUOEi_qZ4H3xFcMTHSDqzsYA3n219ron7QJEH9Q,27773
|
976
|
+
esphome/components/ethernet/ethernet_component.h,sha256=pV6TAVNoDMUD0hxVEs8D324BfDprn3FIbkvQS-qYfYc,4840
|
977
977
|
esphome/components/ethernet_info/__init__.py,sha256=LoiZr_nRyJfR5w1ZWOFppOVTQRwlgmHU-boDala2fLA,33
|
978
978
|
esphome/components/ethernet_info/ethernet_info_text_sensor.cpp,sha256=nfP7xeusvbzee1KHfuipELWvF1vmuk_2e4G_NlLeJ3M,564
|
979
979
|
esphome/components/ethernet_info/ethernet_info_text_sensor.h,sha256=kYs65vLLwVtuDcfOoQnGyDJoWL-mfsZHeAWQRafEq9I,2131
|
@@ -2050,7 +2050,7 @@ esphome/components/mqtt/mqtt_binary_sensor.cpp,sha256=wd5mAnBieyl8zNGoDwWbVFuaKZ
|
|
2050
2050
|
esphome/components/mqtt/mqtt_binary_sensor.h,sha256=QwGVAYkOcEVkvNjtBu6JHJYXXwc-0AOTNIBS1otLzig,958
|
2051
2051
|
esphome/components/mqtt/mqtt_button.cpp,sha256=Q6NZfbwDfLuObMJH6KIrNEvWZJLNwxDdWck6p0CQfr4,1510
|
2052
2052
|
esphome/components/mqtt/mqtt_button.h,sha256=GJ6D6ANZgy3azdLjnHDhSrjuxEOSigYSjWs2J-akOPw,906
|
2053
|
-
esphome/components/mqtt/mqtt_client.cpp,sha256=
|
2053
|
+
esphome/components/mqtt/mqtt_client.cpp,sha256=eGSysFcIY3l4l0jc6D2fMD_eZXoeU_4r1F9yM_7SBB4,26335
|
2054
2054
|
esphome/components/mqtt/mqtt_client.h,sha256=MLFPh-shnPx_3-76019kGxS97VhYRkrE6QtkRk8X2kU,16299
|
2055
2055
|
esphome/components/mqtt/mqtt_climate.cpp,sha256=L62VSe9KWn8ELhfuNn4i8Hh841VdgL4hQsuH55ovwkk,16850
|
2056
2056
|
esphome/components/mqtt/mqtt_climate.h,sha256=20FAWmZ-zk2RFakvRSyiZEHemo8kBKxPi3xDmJfzXLw,1805
|
@@ -2761,9 +2761,9 @@ esphome/components/selec_meter/selec_meter_registers.h,sha256=fcST4F67QNayD7A33Z
|
|
2761
2761
|
esphome/components/selec_meter/sensor.py,sha256=HCdBr4XMdTsnKDiS_PCXa0r1TuG0LDpI9SYqNj0BdGA,5493
|
2762
2762
|
esphome/components/select/__init__.py,sha256=-FF6tzuKehcRD0Xvk1ppi6a_Gk9rgRb5YWNq2s77zY4,7488
|
2763
2763
|
esphome/components/select/automation.h,sha256=LM-EbLGcn2LzEBIjw5YZwGijausYO2F93QeIl7d_3T8,1706
|
2764
|
-
esphome/components/select/select.cpp,sha256=
|
2764
|
+
esphome/components/select/select.cpp,sha256=hd88H6EAotqO8CZuUPftlVlDYmF1AZrHtP-uD0hQzy0,1704
|
2765
2765
|
esphome/components/select/select.h,sha256=RlznGN1X3MeYGc6Mis-Qz2RkBbS0BIjaFT1enGMaX4s,2293
|
2766
|
-
esphome/components/select/select_call.cpp,sha256=
|
2766
|
+
esphome/components/select/select_call.cpp,sha256=XoRm141bJzAioYtW3aVFegXjvvX1qMq5RiFgDOuu6PY,4083
|
2767
2767
|
esphome/components/select/select_call.h,sha256=I7ViWLJLigDaLbkKF18zMQDQCIBiA8SfaIRPXKwj3rM,1005
|
2768
2768
|
esphome/components/select/select_traits.cpp,sha256=p8ed8VtOtqjCJT_6LESNDWcqZYNqHsxLoJOQB_TG0RA,316
|
2769
2769
|
esphome/components/select/select_traits.h,sha256=d7xBQPiAm0AD5eldo166KqPVb9R3lraACYz6BeBT500,331
|
@@ -3719,7 +3719,7 @@ esphome/core/config.py,sha256=VQb2e4WIyGJapk0aIOywRyUZx2WC10aI3O49eJ_ItlM,20277
|
|
3719
3719
|
esphome/core/controller.cpp,sha256=nRJZK4B5WWad98tGGEESSGcKWcpWhExaUOIXO3Iu_xQ,4602
|
3720
3720
|
esphome/core/controller.h,sha256=UCvtMbw21KvAQHaO_fgDRr1OjcXEYzEC8JupPmHrNic,3708
|
3721
3721
|
esphome/core/datatypes.h,sha256=TNuXjWQIK7KjDwMAccMFws2SimaUlsgim96SI0cCdCY,2110
|
3722
|
-
esphome/core/defines.h,sha256=
|
3722
|
+
esphome/core/defines.h,sha256=mUISx1WQozHWfJz6umQeiLbhjG7NbHufQKKySKlBYtA,7299
|
3723
3723
|
esphome/core/device.h,sha256=mYTwRg92-BU8uTTzmrufH-KkHCMLKsKWnvM-mjzw6I0,531
|
3724
3724
|
esphome/core/doxygen.h,sha256=9fAJ2T-1z96-NYnj63vQhsnKthHBrh3EqBnY0h3ZN-A,439
|
3725
3725
|
esphome/core/entity_base.cpp,sha256=l9qlYIsZFbQMBlwNbi6khjiFNNo9Gaz6twLJKMozSis,3069
|
@@ -3755,7 +3755,7 @@ esphome/dashboard/dashboard.py,sha256=4k32z98tQXj01FKHfXePLlP_zch-piHSxdbhjdgf3a
|
|
3755
3755
|
esphome/dashboard/dns.py,sha256=nxAFb99G7U_rE5euO9CZPKpcZbXZvYcdVDuTppBNZag,1385
|
3756
3756
|
esphome/dashboard/entries.py,sha256=SxxsrgSe2phKbvwj_4_oG2leav8ev9qpPIZb5RMJxQ0,15673
|
3757
3757
|
esphome/dashboard/settings.py,sha256=1iIGNTgU7xg6xvjazHYq8UHC6JXocKjKlsed0cQ-nkw,2858
|
3758
|
-
esphome/dashboard/web_server.py,sha256=
|
3758
|
+
esphome/dashboard/web_server.py,sha256=I_7ZdfCgU19at1vQKirrijgQinaQAB0Q35lau_AeKHc,46440
|
3759
3759
|
esphome/dashboard/status/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
3760
3760
|
esphome/dashboard/status/mdns.py,sha256=jAjLuysjr29HUGA0Y_IQp4D1Qm-d3yHdHY6K00gUCD4,4775
|
3761
3761
|
esphome/dashboard/status/mqtt.py,sha256=2QOq1vgwJCHW5uL_hqmi_R5fX5OTeTJUHx7c0pMLQKE,2578
|
@@ -3766,9 +3766,9 @@ esphome/dashboard/util/itertools.py,sha256=8eLrWEWmICLtXNxkKdYPQV0c_N4GEz8m9Npnb
|
|
3766
3766
|
esphome/dashboard/util/password.py,sha256=cQz3b9B-ijTe7zS6BeCW0hc3pWv6JjC78jmnycYYAh8,321
|
3767
3767
|
esphome/dashboard/util/subprocess.py,sha256=T8EW6dbU4LPd2DG1dRrdh8li71tt6J1isn411poMhkk,1022
|
3768
3768
|
esphome/dashboard/util/text.py,sha256=wwFtORlvHjsYkqb68IT-772LHAhWxT4OtnkIcPICQB0,317
|
3769
|
-
esphome-2025.9.
|
3770
|
-
esphome-2025.9.
|
3771
|
-
esphome-2025.9.
|
3772
|
-
esphome-2025.9.
|
3773
|
-
esphome-2025.9.
|
3774
|
-
esphome-2025.9.
|
3769
|
+
esphome-2025.9.0b3.dist-info/licenses/LICENSE,sha256=HzEjkBInJe44L4WvAOPfhPJJDNj6YbnqFyvGWRzArGM,36664
|
3770
|
+
esphome-2025.9.0b3.dist-info/METADATA,sha256=qSVncUotX9od12PP0k-zlr5QbEYVydHb7mXyQAhegj4,3634
|
3771
|
+
esphome-2025.9.0b3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
3772
|
+
esphome-2025.9.0b3.dist-info/entry_points.txt,sha256=mIxVNuWtbYzeEcaWCl-AQ-97aBOWbnYBAK8nbF6P4M0,50
|
3773
|
+
esphome-2025.9.0b3.dist-info/top_level.txt,sha256=0GSXEW3cnITpgG3qnsSMz0qoqJHAFyfw7Y8MVtEf1Yk,8
|
3774
|
+
esphome-2025.9.0b3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|