From ef42876f7de5f44e036603bbddf6175b9661ead7 Mon Sep 17 00:00:00 2001 From: ElVit Date: Thu, 24 Sep 2026 15:10:20 +0200 Subject: [PATCH] fix: replace deprecated check_uart_settings with final validation UARTDevice::check_uart_settings() is deprecated and will be removed in ESPHome 2027.3.0. Move the UART checks for panasonic_heatpump (9600 baud, 8E1) and maidesite_desk (9600 baud) into FINAL_VALIDATE_SCHEMA via uart.final_validate_device_schema(). Wrong UART settings now fail at config validation instead of only being logged at runtime. --- components/maidesite_desk/__init__.py | 4 ++++ components/maidesite_desk/maidesite_desk.cpp | 1 - components/panasonic_heatpump/__init__.py | 8 ++++++++ components/panasonic_heatpump/panasonic_heatpump.cpp | 1 - 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/components/maidesite_desk/__init__.py b/components/maidesite_desk/__init__.py index fe7a74b..30062ba 100644 --- a/components/maidesite_desk/__init__.py +++ b/components/maidesite_desk/__init__.py @@ -26,6 +26,10 @@ CONFIG_SCHEMA = ( .extend(cv.COMPONENT_SCHEMA) ) +FINAL_VALIDATE_SCHEMA = uart.final_validate_device_schema( + "maidesite_desk", baud_rate=9600 +) + async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) diff --git a/components/maidesite_desk/maidesite_desk.cpp b/components/maidesite_desk/maidesite_desk.cpp index 0581644..c4444a4 100644 --- a/components/maidesite_desk/maidesite_desk.cpp +++ b/components/maidesite_desk/maidesite_desk.cpp @@ -12,7 +12,6 @@ void MaidesiteDeskComponent::dump_config() { void MaidesiteDeskComponent::setup() { ESP_LOGCONFIG(TAG, "Setting up Maidesite Desk ..."); delay(10); - this->check_uart_settings(9600); this->request_physical_limits(); this->request_limits(); this->request_settings(); diff --git a/components/panasonic_heatpump/__init__.py b/components/panasonic_heatpump/__init__.py index f3949b1..b43d447 100644 --- a/components/panasonic_heatpump/__init__.py +++ b/components/panasonic_heatpump/__init__.py @@ -32,6 +32,14 @@ CONFIG_SCHEMA = ( .extend(uart.UART_DEVICE_SCHEMA) ) +FINAL_VALIDATE_SCHEMA = uart.final_validate_device_schema( + "panasonic_heatpump", + baud_rate=9600, + data_bits=8, + parity="EVEN", + stop_bits=1, +) + async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) diff --git a/components/panasonic_heatpump/panasonic_heatpump.cpp b/components/panasonic_heatpump/panasonic_heatpump.cpp index 2376197..400634a 100644 --- a/components/panasonic_heatpump/panasonic_heatpump.cpp +++ b/components/panasonic_heatpump/panasonic_heatpump.cpp @@ -25,7 +25,6 @@ void PanasonicHeatpumpComponent::dump_config() { void PanasonicHeatpumpComponent::setup() { ESP_LOGCONFIG(TAG, "Setting up Panasonic Heatpump ..."); - this->check_uart_settings(9600, 1, uart::UART_CONFIG_PARITY_EVEN, 8); this->response_queue_handle_ = xQueueCreate(8, sizeof(std::vector*)); if (this->response_queue_handle_ == nullptr) {