From 9fccfff1abf3e7078c8c5455a77859fe083c9440 Mon Sep 17 00:00:00 2001 From: Leandro Ebner Date: Sat, 17 Feb 2024 15:29:39 +0100 Subject: [PATCH 1/3] fix compilation error if display is trying to register as component Without those changes, compilation breaks if a display is trying to register as a component itself (this is now done automatically when registering the display). --- components/frekvens_panel/display.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/frekvens_panel/display.py b/components/frekvens_panel/display.py index 65f686b..6b6a7b1 100644 --- a/components/frekvens_panel/display.py +++ b/components/frekvens_panel/display.py @@ -38,7 +38,8 @@ CONFIG_SCHEMA = cv.All( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) - await cg.register_component(var, config) + if cv.Version.parse(ESPHOME_VERSION) < cv.Version.parse("2023.12.0"): + await cg.register_component(var, config) await display.register_display(var, config) cg.add(var.set_pins( From 01cd3b0a4d4099213e583e4833258df341a4e9ad Mon Sep 17 00:00:00 2001 From: Leandro Ebner Date: Sat, 17 Feb 2024 15:33:27 +0100 Subject: [PATCH 2/3] DisplayBuffer now automatically inherits from PollingComponent --- components/frekvens_panel/frekvens-panel.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/components/frekvens_panel/frekvens-panel.h b/components/frekvens_panel/frekvens-panel.h index c900f15..6a13aec 100644 --- a/components/frekvens_panel/frekvens-panel.h +++ b/components/frekvens_panel/frekvens-panel.h @@ -2,6 +2,8 @@ #include "esphome/core/component.h" #include "esphome/components/display/display_buffer.h" +#include "esphome/core/version.h" + #include "frekvens-driver.h" @@ -9,8 +11,13 @@ namespace esphome { namespace frekvenspanel { +#if ESPHOME_VERSION_CODE >= VERSION_CODE(2023, 12, 0) +class Panel : public display::DisplayBuffer { +#else + class Panel : public PollingComponent, public display::DisplayBuffer { +#endif public: int p_latch; int p_clock; From 1660e865a476994809b8ccb037f0b0bde44fc4e1 Mon Sep 17 00:00:00 2001 From: Leandro Ebner Date: Sat, 17 Feb 2024 15:36:48 +0100 Subject: [PATCH 3/3] Update display.py --- components/frekvens_panel/display.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/frekvens_panel/display.py b/components/frekvens_panel/display.py index 6b6a7b1..e497e5f 100644 --- a/components/frekvens_panel/display.py +++ b/components/frekvens_panel/display.py @@ -38,8 +38,8 @@ CONFIG_SCHEMA = cv.All( async def to_code(config): var = cg.new_Pvariable(config[CONF_ID]) - if cv.Version.parse(ESPHOME_VERSION) < cv.Version.parse("2023.12.0"): - await cg.register_component(var, config) +# if cv.Version.parse(ESPHOME_VERSION) < cv.Version.parse("2023.12.0"): + # await cg.register_component(var, config) await display.register_display(var, config) cg.add(var.set_pins(