From 59105925cd45f813f1238ab6912ea724b4fb8942 Mon Sep 17 00:00:00 2001 From: Martin Hoefling Date: Sun, 20 Sep 2026 13:46:50 +0200 Subject: [PATCH] Bump knx-telegram-store to 0.14.0 (#182758) --- homeassistant/components/knx/manifest.json | 2 +- homeassistant/components/knx/telegrams.py | 5 +++++ requirements_all.txt | 2 +- tests/components/knx/test_telegrams.py | 16 ++++++++++++++++ 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/knx/manifest.json b/homeassistant/components/knx/manifest.json index 11d9cab56322..616ac8682a5e 100644 --- a/homeassistant/components/knx/manifest.json +++ b/homeassistant/components/knx/manifest.json @@ -14,7 +14,7 @@ "xknx==3.20.0", "xknxproject==3.10.0", "knx-frontend==2026.9.4.63549", - "knx-telegram-store[sqlite,postgres]==0.11.2" + "knx-telegram-store[sqlite,postgres]==0.14.0" ], "single_config_entry": true } diff --git a/homeassistant/components/knx/telegrams.py b/homeassistant/components/knx/telegrams.py index 31997bf1be9f..0afcea0ed37f 100644 --- a/homeassistant/components/knx/telegrams.py +++ b/homeassistant/components/knx/telegrams.py @@ -142,6 +142,11 @@ class Telegrams: retention_days=self.retention_days, flush_interval=FLUSH_INTERVAL_SECONDS_SQLITE, max_buffer_size=MAX_BUFFER_TELEGRAMS_SQLITE, + # Databases written before knx-telegram-store 0.14 hold local + # wall-clock times with no offset. Only we know which zone wrote + # them - it is ours, not necessarily the host's - so the store + # is told once and converts them on this start. + legacy_timestamp_timezone=dt_util.get_default_time_zone(), ) self._xknx_telegram_cb_handle = ( diff --git a/requirements_all.txt b/requirements_all.txt index 8d3bbe845bf5..0eb9ded828fd 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1487,7 +1487,7 @@ knocki==0.4.2 knx-frontend==2026.9.4.63549 # homeassistant.components.knx -knx-telegram-store[sqlite,postgres]==0.11.2 +knx-telegram-store[sqlite,postgres]==0.14.0 # homeassistant.components.kraken krakenex==2.2.2 diff --git a/tests/components/knx/test_telegrams.py b/tests/components/knx/test_telegrams.py index 9f985accabeb..311afc6ab4db 100644 --- a/tests/components/knx/test_telegrams.py +++ b/tests/components/knx/test_telegrams.py @@ -167,6 +167,22 @@ async def test_store_telegram_history_error_handling( assert issue is not None +async def test_sqlite_store_is_told_the_configured_timezone( + hass: HomeAssistant, + knx: KNXTestKit, +) -> None: + """Test the SQLite store receives Home Assistant's configured time zone.""" + await hass.config.async_set_time_zone("Europe/Berlin") + await knx.setup_integration(real_telegram_store=True) + + store = hass.data[KNX_MODULE_KEY].telegrams.store + assert store is not None + # The zone the store was handed, read back off the real store rather than + # off a mock: the store fixture rebuilds the class during setup, so a patch + # placed around setup_integration never sees the call. + assert store._legacy_timestamp_timezone is dt_util.get_default_time_zone() + + async def test_store_telegram_history_needs_migration_timeout( hass: HomeAssistant, knx: KNXTestKit,