From b4d016e0dd72fc30c411ac3f27c8013f6d9178fa Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 13 Oct 2026 13:42:57 -1000 Subject: [PATCH] [waveshare_epaper] Set removal of the deprecated component for 2027.5.0 --- esphome/components/waveshare_epaper/__init__.py | 1 + esphome/components/waveshare_epaper/display.py | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/esphome/components/waveshare_epaper/__init__.py b/esphome/components/waveshare_epaper/__init__.py index 4bcfcdfda5a..992e04dbb79 100644 --- a/esphome/components/waveshare_epaper/__init__.py +++ b/esphome/components/waveshare_epaper/__init__.py @@ -4,4 +4,5 @@ DOMAIN = "waveshare_epaper" DEPRECATED_COMPONENT = """ The 'waveshare_epaper' component is deprecated and no new models will be added to it. New model PRs should target the newer and more performant 'epaper_spi' component. +It will be removed in ESPHome 2027.5.0. """ diff --git a/esphome/components/waveshare_epaper/display.py b/esphome/components/waveshare_epaper/display.py index be87c623779..fd72f3fe947 100644 --- a/esphome/components/waveshare_epaper/display.py +++ b/esphome/components/waveshare_epaper/display.py @@ -1,3 +1,5 @@ +import logging + from esphome import core, pins import esphome.codegen as cg from esphome.components import display, spi @@ -17,6 +19,8 @@ from esphome.types import ConfigType DEPENDENCIES = ["spi"] +LOGGER = logging.getLogger(__name__) + waveshare_epaper_ns = cg.esphome_ns.namespace("waveshare_epaper") WaveshareEPaperBase = waveshare_epaper_ns.class_( "WaveshareEPaperBase", cg.PollingComponent, spi.SPIDevice, display.DisplayBuffer @@ -229,6 +233,11 @@ FINAL_VALIDATE_SCHEMA = spi.final_validate_device_schema( async def to_code(config: ConfigType) -> None: + # Remove before 2027.5.0 + LOGGER.warning( + "The 'waveshare_epaper' component is deprecated and will be removed in ESPHome 2027.5.0, " + "migrate to 'epaper_spi' instead." + ) model_type, model = MODELS[config[CONF_MODEL]] if model_type == "a": rhs = WaveshareEPaperTypeA.new(model)