From 7ef09fbd45d4763de061773ca315b413fabde402 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20L=27hopital?= Date: Thu, 26 Feb 2026 07:39:30 +0100 Subject: [PATCH] Use cache for event update requests (#20287) Signed-off-by: gael@lhopital.org --- .../capability/HomeSecurityThingCapability.java | 2 +- .../handler/capability/SecurityCapability.java | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/capability/HomeSecurityThingCapability.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/capability/HomeSecurityThingCapability.java index 71eee7d32f..4e92782403 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/capability/HomeSecurityThingCapability.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/capability/HomeSecurityThingCapability.java @@ -32,7 +32,7 @@ import org.openhab.binding.netatmo.internal.servlet.WebhookServlet; * */ @NonNullByDefault -public class HomeSecurityThingCapability extends Capability { +public abstract class HomeSecurityThingCapability extends Capability { protected final NetatmoDescriptionProvider descriptionProvider; protected final EventChannelHelper eventHelper; diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/capability/SecurityCapability.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/capability/SecurityCapability.java index a9ee5acb1f..5f528f6cda 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/capability/SecurityCapability.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/capability/SecurityCapability.java @@ -12,6 +12,7 @@ */ package org.openhab.binding.netatmo.internal.handler.capability; +import java.time.Duration; import java.time.Instant; import java.time.ZoneId; import java.time.ZonedDateTime; @@ -49,9 +50,8 @@ import org.slf4j.LoggerFactory; * */ @NonNullByDefault -class SecurityCapability extends RestCapability { - private static final ZonedDateTime ZDT_REFERENCE = ZonedDateTime.ofInstant(Instant.ofEpochMilli(0), - ZoneId.systemDefault()); +class SecurityCapability extends CacheCapability { + private static final ZonedDateTime ZDT_REFERENCE = Instant.ofEpochMilli(0).atZone(ZoneId.systemDefault()); private final Logger logger = LoggerFactory.getLogger(SecurityCapability.class); private final Map eventBuffer = new HashMap<>(); @@ -62,7 +62,7 @@ class SecurityCapability extends RestCapability { private String securityId = ""; SecurityCapability(CommonInterface handler) { - super(handler, SecurityApi.class); + super(handler, Duration.ofSeconds(2), SecurityApi.class); } @Override @@ -120,7 +120,7 @@ class SecurityCapability extends RestCapability { } @Override - protected List updateReadings(SecurityApi api) { + protected List getFreshData(SecurityApi api) { List result = new ArrayList<>(); try { api.getHomeEvents(securityId, freshestEventTime).stream().forEach(event -> {