mirror of
https://github.com/esphome/esphome.git
synced 2026-09-15 09:08:41 +00:00
935ab42b1ecb3167f05439566952f330500cbb3d
On some ESP32 boards (especially cheap clones), the eFuse custom MAC area contains random garbage that passes the existing all-zeros/all-ones validation. Additionally, esp_efuse_mac_get_default() can fail with CRC errors, but the return value was being ignored, causing garbage MAC addresses to be advertised via mDNS. This caused Home Assistant to report false "MAC address changed" device conflicts on every boot. Two fixes: - Check return values from eFuse MAC read functions and add a fallback chain: custom MAC -> default MAC -> raw eFuse bytes -> zeroed MAC. - Reject multicast MACs (bit 0 of first byte set) in mac_address_is_valid() since device MACs must always be unicast. Closes https://github.com/esphome/esphome/issues/14501
Description
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Readme
Multiple Licenses
594 MiB
Languages
C++
55.8%
Python
43.6%
C
0.3%
JavaScript
0.2%
