From: Gaƫl L'hopital Date: Mon, 25 Mar 2024 08:13:48 +0000 (+0100) Subject: [netatmo] Enhance bridge status reporting (#16571) X-Git-Url: https://git.basschouten.com/?a=commitdiff_plain;h=d4629599eb79fbd19e2198664901266439c4f31b;p=openhab-addons.git [netatmo] Enhance bridge status reporting (#16571) * Enhance bridge status reporting --------- Signed-off-by: clinique --- diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/config/ConfigurationLevel.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/config/ConfigurationLevel.java index 0d08ca6169..4eaa0ca19e 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/config/ConfigurationLevel.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/config/ConfigurationLevel.java @@ -23,7 +23,7 @@ import org.eclipse.jdt.annotation.NonNullByDefault; public enum ConfigurationLevel { EMPTY_CLIENT_ID("@text/conf-error-no-client-id"), EMPTY_CLIENT_SECRET("@text/conf-error-no-client-secret"), - REFRESH_TOKEN_NEEDED("@text/conf-error-grant-needed"), + REFRESH_TOKEN_NEEDED("@text/conf-error-grant-needed [ \"%s\" ]"), COMPLETED(""); public String message; diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/ApiBridgeHandler.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/ApiBridgeHandler.java index e4ae66f196..4df7a1978c 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/ApiBridgeHandler.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/handler/ApiBridgeHandler.java @@ -232,7 +232,7 @@ public class ApiBridgeHandler extends BaseBridgeHandler { servlet.startListening(); grantServlet = Optional.of(servlet); updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, - ConfigurationLevel.REFRESH_TOKEN_NEEDED.message); + ConfigurationLevel.REFRESH_TOKEN_NEEDED.message.formatted(servlet.getPath())); } public ApiHandlerConfiguration getConfiguration() { diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/servlet/NetatmoServlet.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/servlet/NetatmoServlet.java index 81760aca63..c07656aa65 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/servlet/NetatmoServlet.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/servlet/NetatmoServlet.java @@ -36,9 +36,9 @@ public abstract class NetatmoServlet extends HttpServlet { private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final HttpService httpService; + private final String path; protected final ApiBridgeHandler handler; - protected final String path; public NetatmoServlet(ApiBridgeHandler handler, HttpService httpService, String localPath) { this.path = BASE_PATH + localPath + "/" + handler.getId(); @@ -60,4 +60,8 @@ public abstract class NetatmoServlet extends HttpServlet { httpService.unregister(path); this.destroy(); } + + public String getPath() { + return path; + } } diff --git a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/servlet/WebhookServlet.java b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/servlet/WebhookServlet.java index bdd11df632..b3f10bac5b 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/servlet/WebhookServlet.java +++ b/bundles/org.openhab.binding.netatmo/src/main/java/org/openhab/binding/netatmo/internal/servlet/WebhookServlet.java @@ -66,7 +66,7 @@ public class WebhookServlet extends NetatmoServlet { @Override public void startListening() { super.startListening(); - URI uri = UriBuilder.fromUri(webHookUrl).path(path + webHookPostfix).build(); + URI uri = UriBuilder.fromUri(webHookUrl).path(getPath() + webHookPostfix).build(); try { logger.info("Setting up WebHook at Netatmo to {}", uri.toString()); hookSet = securityApi.addwebhook(uri); diff --git a/bundles/org.openhab.binding.netatmo/src/main/resources/OH-INF/i18n/netatmo.properties b/bundles/org.openhab.binding.netatmo/src/main/resources/OH-INF/i18n/netatmo.properties index 940b2d6f69..7df9236505 100644 --- a/bundles/org.openhab.binding.netatmo/src/main/resources/OH-INF/i18n/netatmo.properties +++ b/bundles/org.openhab.binding.netatmo/src/main/resources/OH-INF/i18n/netatmo.properties @@ -459,7 +459,7 @@ config.refreshInterval.description = The refresh interval to poll Netatmo API (i conf-error-no-client-id = Cannot connect to Netatmo bridge as no client id is available in the configuration conf-error-no-client-secret = Cannot connect to Netatmo bridge as no client secret is available in the configuration -conf-error-grant-needed = Configuration incomplete, please grant the binding to Netatmo Connect. +conf-error-grant-needed = Complete the configuration by granting the binding to Netatmo Connect: ''{0}''. status-bridge-offline = Bridge is not connected to Netatmo API device-not-connected = Thing is not reachable data-over-limit = Data seems quite old