mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	| @@ -45,7 +45,7 @@ CONFIG_SCHEMA = cv.All( | |||||||
|             cv.Optional(CONF_SERVICE_UUID): esp32_ble_tracker.bt_uuid, |             cv.Optional(CONF_SERVICE_UUID): esp32_ble_tracker.bt_uuid, | ||||||
|             cv.Optional(CONF_IBEACON_MAJOR): cv.uint16_t, |             cv.Optional(CONF_IBEACON_MAJOR): cv.uint16_t, | ||||||
|             cv.Optional(CONF_IBEACON_MINOR): cv.uint16_t, |             cv.Optional(CONF_IBEACON_MINOR): cv.uint16_t, | ||||||
|             cv.Optional(CONF_IBEACON_UUID): cv.uuid, |             cv.Optional(CONF_IBEACON_UUID): esp32_ble_tracker.bt_uuid, | ||||||
|         } |         } | ||||||
|     ) |     ) | ||||||
|     .extend(esp32_ble_tracker.ESP_BLE_DEVICE_SCHEMA) |     .extend(esp32_ble_tracker.ESP_BLE_DEVICE_SCHEMA) | ||||||
| @@ -79,7 +79,7 @@ async def to_code(config): | |||||||
|             cg.add(var.set_service_uuid128(uuid128)) |             cg.add(var.set_service_uuid128(uuid128)) | ||||||
|  |  | ||||||
|     if ibeacon_uuid := config.get(CONF_IBEACON_UUID): |     if ibeacon_uuid := config.get(CONF_IBEACON_UUID): | ||||||
|         ibeacon_uuid = esp32_ble_tracker.as_hex_array(str(ibeacon_uuid)) |         ibeacon_uuid = esp32_ble_tracker.as_reversed_hex_array(ibeacon_uuid) | ||||||
|         cg.add(var.set_ibeacon_uuid(ibeacon_uuid)) |         cg.add(var.set_ibeacon_uuid(ibeacon_uuid)) | ||||||
|  |  | ||||||
|         if (ibeacon_major := config.get(CONF_IBEACON_MAJOR)) is not None: |         if (ibeacon_major := config.get(CONF_IBEACON_MAJOR)) is not None: | ||||||
|   | |||||||
| @@ -395,6 +395,13 @@ ARDUINO_FRAMEWORK_SCHEMA = cv.All( | |||||||
|             cv.Optional(CONF_VERSION, default="recommended"): cv.string_strict, |             cv.Optional(CONF_VERSION, default="recommended"): cv.string_strict, | ||||||
|             cv.Optional(CONF_SOURCE): cv.string_strict, |             cv.Optional(CONF_SOURCE): cv.string_strict, | ||||||
|             cv.Optional(CONF_PLATFORM_VERSION): _parse_platform_version, |             cv.Optional(CONF_PLATFORM_VERSION): _parse_platform_version, | ||||||
|  |             cv.Optional(CONF_ADVANCED, default={}): cv.Schema( | ||||||
|  |                 { | ||||||
|  |                     cv.Optional( | ||||||
|  |                         CONF_IGNORE_EFUSE_CUSTOM_MAC, default=False | ||||||
|  |                     ): cv.boolean, | ||||||
|  |                 } | ||||||
|  |             ), | ||||||
|         } |         } | ||||||
|     ), |     ), | ||||||
|     _arduino_check_versions, |     _arduino_check_versions, | ||||||
| @@ -494,6 +501,9 @@ async def to_code(config): | |||||||
|     conf = config[CONF_FRAMEWORK] |     conf = config[CONF_FRAMEWORK] | ||||||
|     cg.add_platformio_option("platform", conf[CONF_PLATFORM_VERSION]) |     cg.add_platformio_option("platform", conf[CONF_PLATFORM_VERSION]) | ||||||
|  |  | ||||||
|  |     if CONF_ADVANCED in conf and conf[CONF_ADVANCED][CONF_IGNORE_EFUSE_CUSTOM_MAC]: | ||||||
|  |         cg.add_define("USE_ESP32_IGNORE_EFUSE_CUSTOM_MAC") | ||||||
|  |  | ||||||
|     add_extra_script( |     add_extra_script( | ||||||
|         "post", |         "post", | ||||||
|         "post_build.py", |         "post_build.py", | ||||||
| @@ -540,8 +550,6 @@ async def to_code(config): | |||||||
|         for name, value in conf[CONF_SDKCONFIG_OPTIONS].items(): |         for name, value in conf[CONF_SDKCONFIG_OPTIONS].items(): | ||||||
|             add_idf_sdkconfig_option(name, RawSdkconfigValue(value)) |             add_idf_sdkconfig_option(name, RawSdkconfigValue(value)) | ||||||
|  |  | ||||||
|         if conf[CONF_ADVANCED][CONF_IGNORE_EFUSE_CUSTOM_MAC]: |  | ||||||
|             cg.add_define("USE_ESP32_IGNORE_EFUSE_CUSTOM_MAC") |  | ||||||
|         if conf[CONF_ADVANCED].get(CONF_IGNORE_EFUSE_MAC_CRC): |         if conf[CONF_ADVANCED].get(CONF_IGNORE_EFUSE_MAC_CRC): | ||||||
|             add_idf_sdkconfig_option("CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR", True) |             add_idf_sdkconfig_option("CONFIG_ESP_MAC_IGNORE_MAC_CRC_ERROR", True) | ||||||
|             if (framework_ver.major, framework_ver.minor) >= (4, 4): |             if (framework_ver.major, framework_ver.minor) >= (4, 4): | ||||||
|   | |||||||
| @@ -16,7 +16,7 @@ from .const import KEY_HOST | |||||||
| from .gpio import host_pin_to_code  # noqa | from .gpio import host_pin_to_code  # noqa | ||||||
|  |  | ||||||
| CODEOWNERS = ["@esphome/core", "@clydebarrow"] | CODEOWNERS = ["@esphome/core", "@clydebarrow"] | ||||||
| AUTO_LOAD = ["network"] | AUTO_LOAD = ["network", "preferences"] | ||||||
|  |  | ||||||
|  |  | ||||||
| def set_core_data(config): | def set_core_data(config): | ||||||
|   | |||||||
| @@ -46,7 +46,7 @@ from .const import ( | |||||||
|  |  | ||||||
| _LOGGER = logging.getLogger(__name__) | _LOGGER = logging.getLogger(__name__) | ||||||
| CODEOWNERS = ["@kuba2k2"] | CODEOWNERS = ["@kuba2k2"] | ||||||
| AUTO_LOAD = [] | AUTO_LOAD = ["preferences"] | ||||||
|  |  | ||||||
|  |  | ||||||
| def _detect_variant(value): | def _detect_variant(value): | ||||||
|   | |||||||
| @@ -33,7 +33,7 @@ from .schemas import ( | |||||||
|     FLEX_OBJ_SCHEMA, |     FLEX_OBJ_SCHEMA, | ||||||
|     GRID_CELL_SCHEMA, |     GRID_CELL_SCHEMA, | ||||||
|     LAYOUT_SCHEMAS, |     LAYOUT_SCHEMAS, | ||||||
|     STATE_SCHEMA, |     STYLE_SCHEMA, | ||||||
|     WIDGET_TYPES, |     WIDGET_TYPES, | ||||||
|     any_widget_schema, |     any_widget_schema, | ||||||
|     container_schema, |     container_schema, | ||||||
| @@ -323,7 +323,7 @@ CONFIG_SCHEMA = ( | |||||||
|             ), |             ), | ||||||
|             cv.Optional(df.CONF_STYLE_DEFINITIONS): cv.ensure_list( |             cv.Optional(df.CONF_STYLE_DEFINITIONS): cv.ensure_list( | ||||||
|                 cv.Schema({cv.Required(CONF_ID): cv.declare_id(lv_style_t)}) |                 cv.Schema({cv.Required(CONF_ID): cv.declare_id(lv_style_t)}) | ||||||
|                 .extend(STATE_SCHEMA) |                 .extend(STYLE_SCHEMA) | ||||||
|                 .extend( |                 .extend( | ||||||
|                     { |                     { | ||||||
|                         cv.Optional(df.CONF_GRID_CELL_X_ALIGN): grid_alignments, |                         cv.Optional(df.CONF_GRID_CELL_X_ALIGN): grid_alignments, | ||||||
|   | |||||||
| @@ -26,7 +26,7 @@ from .gpio import rp2040_pin_to_code  # noqa | |||||||
|  |  | ||||||
| _LOGGER = logging.getLogger(__name__) | _LOGGER = logging.getLogger(__name__) | ||||||
| CODEOWNERS = ["@jesserockz"] | CODEOWNERS = ["@jesserockz"] | ||||||
| AUTO_LOAD = [] | AUTO_LOAD = ["preferences"] | ||||||
|  |  | ||||||
|  |  | ||||||
| def set_core_data(config): | def set_core_data(config): | ||||||
|   | |||||||
| @@ -23,6 +23,8 @@ static const size_t SEND_BUFFER_SIZE = INPUT_BUFFER_SIZE * sizeof(int16_t); | |||||||
| static const size_t RECEIVE_SIZE = 1024; | static const size_t RECEIVE_SIZE = 1024; | ||||||
| static const size_t SPEAKER_BUFFER_SIZE = 16 * RECEIVE_SIZE; | static const size_t SPEAKER_BUFFER_SIZE = 16 * RECEIVE_SIZE; | ||||||
|  |  | ||||||
|  | VoiceAssistant::VoiceAssistant() { global_voice_assistant = this; } | ||||||
|  |  | ||||||
| float VoiceAssistant::get_setup_priority() const { return setup_priority::AFTER_CONNECTION; } | float VoiceAssistant::get_setup_priority() const { return setup_priority::AFTER_CONNECTION; } | ||||||
|  |  | ||||||
| bool VoiceAssistant::start_udp_socket_() { | bool VoiceAssistant::start_udp_socket_() { | ||||||
| @@ -68,12 +70,6 @@ bool VoiceAssistant::start_udp_socket_() { | |||||||
|   return true; |   return true; | ||||||
| } | } | ||||||
|  |  | ||||||
| void VoiceAssistant::setup() { |  | ||||||
|   ESP_LOGCONFIG(TAG, "Setting up Voice Assistant..."); |  | ||||||
|  |  | ||||||
|   global_voice_assistant = this; |  | ||||||
| } |  | ||||||
|  |  | ||||||
| bool VoiceAssistant::allocate_buffers_() { | bool VoiceAssistant::allocate_buffers_() { | ||||||
|   if (this->send_buffer_ != nullptr) { |   if (this->send_buffer_ != nullptr) { | ||||||
|     return true;  // Already allocated |     return true;  // Already allocated | ||||||
|   | |||||||
| @@ -91,7 +91,8 @@ struct Configuration { | |||||||
|  |  | ||||||
| class VoiceAssistant : public Component { | class VoiceAssistant : public Component { | ||||||
|  public: |  public: | ||||||
|   void setup() override; |   VoiceAssistant(); | ||||||
|  |  | ||||||
|   void loop() override; |   void loop() override; | ||||||
|   float get_setup_priority() const override; |   float get_setup_priority() const override; | ||||||
|   void start_streaming(); |   void start_streaming(); | ||||||
|   | |||||||
| @@ -34,6 +34,11 @@ static esp_netif_t *s_ap_netif = nullptr;  // NOLINT(cppcoreguidelines-avoid-non | |||||||
| static bool s_sta_connecting = false;  // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) | static bool s_sta_connecting = false;  // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) | ||||||
|  |  | ||||||
| void WiFiComponent::wifi_pre_setup_() { | void WiFiComponent::wifi_pre_setup_() { | ||||||
|  |   uint8_t mac[6]; | ||||||
|  |   if (has_custom_mac_address()) { | ||||||
|  |     get_mac_address_raw(mac); | ||||||
|  |     set_mac_address(mac); | ||||||
|  |   } | ||||||
|   auto f = std::bind(&WiFiComponent::wifi_event_callback_, this, std::placeholders::_1, std::placeholders::_2); |   auto f = std::bind(&WiFiComponent::wifi_event_callback_, this, std::placeholders::_1, std::placeholders::_2); | ||||||
|   WiFi.onEvent(f); |   WiFi.onEvent(f); | ||||||
|   WiFi.persistent(false); |   WiFi.persistent(false); | ||||||
|   | |||||||
| @@ -782,7 +782,7 @@ def validate_config( | |||||||
|         from esphome.components import substitutions |         from esphome.components import substitutions | ||||||
|  |  | ||||||
|         result[CONF_SUBSTITUTIONS] = { |         result[CONF_SUBSTITUTIONS] = { | ||||||
|             **config.get(CONF_SUBSTITUTIONS, {}), |             **(config.get(CONF_SUBSTITUTIONS) or {}), | ||||||
|             **command_line_substitutions, |             **command_line_substitutions, | ||||||
|         } |         } | ||||||
|         result.add_output_path([CONF_SUBSTITUTIONS], CONF_SUBSTITUTIONS) |         result.add_output_path([CONF_SUBSTITUTIONS], CONF_SUBSTITUTIONS) | ||||||
|   | |||||||
| @@ -1,6 +1,6 @@ | |||||||
| """Constants used by esphome.""" | """Constants used by esphome.""" | ||||||
|  |  | ||||||
| __version__ = "2024.10.0" | __version__ = "2024.10.1" | ||||||
|  |  | ||||||
| ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_" | ALLOWED_NAME_CHARS = "abcdefghijklmnopqrstuvwxyz0123456789-_" | ||||||
| VALID_SUBSTITUTIONS_CHARACTERS = ( | VALID_SUBSTITUTIONS_CHARACTERS = ( | ||||||
|   | |||||||
| @@ -318,6 +318,8 @@ async def add_includes(includes): | |||||||
| async def _add_platformio_options(pio_options): | async def _add_platformio_options(pio_options): | ||||||
|     # Add includes at the very end, so that they override everything |     # Add includes at the very end, so that they override everything | ||||||
|     for key, val in pio_options.items(): |     for key, val in pio_options.items(): | ||||||
|  |         if key == "build_flags" and not isinstance(val, list): | ||||||
|  |             val = [val] | ||||||
|         cg.add_platformio_option(key, val) |         cg.add_platformio_option(key, val) | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user