From 6473935482f22e1928842af066d8670d78cc55fa Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ga=C3=ABl=20L=27hopital?= Date: Wed, 27 Jan 2021 18:08:29 +0100 Subject: [PATCH] [OpenUV] Marked the SafeExposure channel as extensible so user can add it via UI. (#9967) Signed-off-by: clinique --- bundles/org.openhab.binding.openuv/README.md | 2 + .../internal/OpenUVBindingConstants.java | 8 +--- .../internal/handler/OpenUVReportHandler.java | 10 ++--- .../resources/OH-INF/thing/thing-types.xml | 42 +++++++------------ 4 files changed, 25 insertions(+), 37 deletions(-) diff --git a/bundles/org.openhab.binding.openuv/README.md b/bundles/org.openhab.binding.openuv/README.md index 7c4ffd6b44..9887b0bc95 100644 --- a/bundles/org.openhab.binding.openuv/README.md +++ b/bundles/org.openhab.binding.openuv/README.md @@ -59,6 +59,8 @@ The OpenUV Report thing that is retrieved has these channels: The elevation channel will be used as an input in order to limit API queries to OpenUV. If not used, the binding will not consider it. When value is provided queries will only be issued if the elevation is > 0°. +Thing can be extended with as many SafeExposure channels as needed for each skin type. + ## Examples demo.things: diff --git a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/OpenUVBindingConstants.java b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/OpenUVBindingConstants.java index f8ee0fea1e..2bb056ab63 100644 --- a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/OpenUVBindingConstants.java +++ b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/OpenUVBindingConstants.java @@ -12,9 +12,6 @@ */ package org.openhab.binding.openuv.internal; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashSet; import java.util.Set; import org.eclipse.jdt.annotation.NonNullByDefault; @@ -50,7 +47,6 @@ public class OpenUVBindingConstants { public static final String SAFE_EXPOSURE = "SafeExposure"; public static final String ELEVATION = "elevation"; - public static final Set BRIDGE_THING_TYPES_UIDS = Collections.singleton(APIBRIDGE_THING_TYPE); - public static final Set SUPPORTED_THING_TYPES_UIDS = new HashSet<>( - Arrays.asList(LOCATION_REPORT_THING_TYPE)); + public static final Set BRIDGE_THING_TYPES_UIDS = Set.of(APIBRIDGE_THING_TYPE); + public static final Set SUPPORTED_THING_TYPES_UIDS = Set.of(LOCATION_REPORT_THING_TYPE); } diff --git a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/handler/OpenUVReportHandler.java b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/handler/OpenUVReportHandler.java index af5e68e3b1..c92d714505 100644 --- a/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/handler/OpenUVReportHandler.java +++ b/bundles/org.openhab.binding.openuv/src/main/java/org/openhab/binding/openuv/internal/handler/OpenUVReportHandler.java @@ -56,11 +56,11 @@ import org.slf4j.LoggerFactory; */ @NonNullByDefault public class OpenUVReportHandler extends BaseThingHandler { - private static final DecimalType ALERT_GREEN = DecimalType.ZERO; - private static final DecimalType ALERT_YELLOW = new DecimalType(1); - private static final DecimalType ALERT_ORANGE = new DecimalType(2); - private static final DecimalType ALERT_RED = new DecimalType(3); - private static final DecimalType ALERT_PURPLE = new DecimalType(4); + private static final State ALERT_GREEN = DecimalType.ZERO; + private static final State ALERT_YELLOW = new DecimalType(1); + private static final State ALERT_ORANGE = new DecimalType(2); + private static final State ALERT_RED = new DecimalType(3); + private static final State ALERT_PURPLE = new DecimalType(4); private static final State ALERT_UNDEF = HSBType.fromRGB(179, 179, 179); private static final Map ALERT_COLORS = Map.of(ALERT_GREEN, HSBType.fromRGB(85, 139, 47), diff --git a/bundles/org.openhab.binding.openuv/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.openuv/src/main/resources/OH-INF/thing/thing-types.xml index bb0fb87970..49b43580e4 100644 --- a/bundles/org.openhab.binding.openuv/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.openuv/src/main/resources/OH-INF/thing/thing-types.xml @@ -23,26 +23,33 @@ - + - - Provides various UV data from the OpenUV Project for a given location. - + Provides various UV data from the OpenUV Project for a given location. - + + + Max UV Index time (solar noon) + - - + + + Latest OMI ozone update timestamp. + + + + UV Report timestamp. + @@ -84,26 +91,9 @@ - - DateTime - - Latest OMI ozone update timestamp. - time - - - - - DateTime - - Max UV Index time (solar noon) - time - - - - + DateTime - - UV Report timestamp. + time -- 2.47.3