From 08ce65a939f593f3a820af9cbd4b1737262733fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ga=C3=ABl=20L=27hopital?= Date: Mon, 19 Oct 2020 19:04:05 +0200 Subject: [PATCH] [MeteoAlerte] Update for OH3 (#8801) * [MeteoAlerte] Update for OH3 Replaced old gif pictures with svg nicer pictures Added a missing alert report (vague-submersion) Added end of validity report timestamp Some code cleansing. Signed-off-by: clinique --- .../org.openhab.binding.meteoalerte/README.md | 5 +- .../internal/MeteoAlerteBindingConstants.java | 15 +-- .../internal/MeteoAlerteConfiguration.java | 2 +- .../internal/MeteoAlerteHandlerFactory.java | 20 ++-- .../internal/handler/MeteoAlerteHandler.java | 108 +++++++----------- .../internal/json/ResponseFieldDTO.java | 48 +++++--- .../resources/OH-INF/thing/thing-types.xml | 41 ++++--- .../src/main/resources/picto/avalanches.gif | Bin 1160 -> 0 bytes .../src/main/resources/picto/avalanches.svg | 70 ++++++++++++ .../main/resources/picto/avalanches_jaune.gif | Bin 1152 -> 0 bytes .../resources/picto/avalanches_orange.gif | Bin 297 -> 0 bytes .../main/resources/picto/avalanches_red.gif | Bin 285 -> 0 bytes .../main/resources/picto/avalanches_vert.gif | Bin 274 -> 0 bytes .../src/main/resources/picto/canicule.gif | Bin 251 -> 0 bytes .../src/main/resources/picto/canicule.svg | 74 ++++++++++++ .../main/resources/picto/canicule_jaune.gif | Bin 949 -> 0 bytes .../main/resources/picto/canicule_orange.gif | Bin 211 -> 0 bytes .../main/resources/picto/canicule_rouge.gif | Bin 203 -> 0 bytes .../main/resources/picto/canicule_vert.gif | Bin 184 -> 0 bytes .../src/main/resources/picto/grand-froid.gif | Bin 263 -> 0 bytes .../src/main/resources/picto/grand-froid.svg | 79 +++++++++++++ .../resources/picto/grand-froid_jaune.gif | Bin 962 -> 0 bytes .../resources/picto/grand-froid_orange.gif | Bin 204 -> 0 bytes .../resources/picto/grand-froid_rouge.gif | Bin 197 -> 0 bytes .../main/resources/picto/grand-froid_vert.gif | Bin 936 -> 0 bytes .../src/main/resources/picto/inondation.gif | Bin 1152 -> 0 bytes .../src/main/resources/picto/inondation.svg | 69 +++++++++++ .../main/resources/picto/inondation_jaune.gif | Bin 1152 -> 0 bytes .../resources/picto/inondation_orange.gif | Bin 1154 -> 0 bytes .../main/resources/picto/inondation_rouge.gif | Bin 1154 -> 0 bytes .../main/resources/picto/inondation_vert.gif | Bin 1009 -> 0 bytes .../src/main/resources/picto/neige.gif | Bin 1260 -> 0 bytes .../src/main/resources/picto/neige.svg | 69 +++++++++++ .../src/main/resources/picto/neige_jaune.gif | Bin 1252 -> 0 bytes .../src/main/resources/picto/neige_orange.gif | Bin 367 -> 0 bytes .../src/main/resources/picto/neige_rouge.gif | Bin 341 -> 0 bytes .../src/main/resources/picto/neige_vert.gif | Bin 1124 -> 0 bytes .../src/main/resources/picto/orage.gif | Bin 423 -> 0 bytes .../src/main/resources/picto/orage.svg | 69 +++++++++++ .../src/main/resources/picto/orage_jaune.gif | Bin 1023 -> 0 bytes .../src/main/resources/picto/orage_orange.gif | Bin 232 -> 0 bytes .../src/main/resources/picto/orage_rouge.gif | Bin 233 -> 0 bytes .../src/main/resources/picto/orage_vert.gif | Bin 979 -> 0 bytes .../main/resources/picto/pluie-inondation.gif | Bin 1200 -> 0 bytes .../main/resources/picto/pluie-inondation.svg | 74 ++++++++++++ .../picto/pluie-inondation_jaune.gif | Bin 1192 -> 0 bytes .../picto/pluie-inondation_orange.gif | Bin 1367 -> 0 bytes .../picto/pluie-inondation_rouge.gif | Bin 1295 -> 0 bytes .../resources/picto/pluie-inondation_vert.gif | Bin 1072 -> 0 bytes .../main/resources/picto/vague-submersion.svg | 74 ++++++++++++ .../src/main/resources/picto/vague.gif | Bin 751 -> 0 bytes .../src/main/resources/picto/vague_jaune.gif | Bin 1150 -> 0 bytes .../src/main/resources/picto/vague_orange.gif | Bin 751 -> 0 bytes .../src/main/resources/picto/vague_rouge.gif | Bin 751 -> 0 bytes .../src/main/resources/picto/vague_vert.gif | Bin 1089 -> 0 bytes .../src/main/resources/picto/vent.gif | Bin 769 -> 0 bytes .../src/main/resources/picto/vent.svg | 84 ++++++++++++++ .../src/main/resources/picto/vent_jaune.gif | Bin 1170 -> 0 bytes .../src/main/resources/picto/vent_orange.gif | Bin 294 -> 0 bytes .../src/main/resources/picto/vent_rouge.gif | Bin 287 -> 0 bytes .../src/main/resources/picto/vent_vert.gif | Bin 1087 -> 0 bytes 61 files changed, 775 insertions(+), 126 deletions(-) delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/avalanches.gif create mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/avalanches.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/avalanches_jaune.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/avalanches_orange.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/avalanches_red.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/avalanches_vert.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/canicule.gif create mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/canicule.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/canicule_jaune.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/canicule_orange.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/canicule_rouge.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/canicule_vert.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid.gif create mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid_jaune.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid_orange.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid_rouge.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid_vert.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation.gif create mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation_jaune.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation_orange.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation_rouge.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation_vert.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige.gif create mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige_jaune.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige_orange.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige_rouge.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige_vert.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage.gif create mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage_jaune.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage_orange.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage_rouge.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage_vert.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation.gif create mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation_jaune.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation_orange.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation_rouge.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation_vert.gif create mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vague-submersion.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vague.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vague_jaune.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vague_orange.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vague_rouge.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vague_vert.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vent.gif create mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vent.svg delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vent_jaune.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vent_orange.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vent_rouge.gif delete mode 100644 bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vent_vert.gif diff --git a/bundles/org.openhab.binding.meteoalerte/README.md b/bundles/org.openhab.binding.meteoalerte/README.md index 7d127ac9f..29bccfe74 100644 --- a/bundles/org.openhab.binding.meteoalerte/README.md +++ b/bundles/org.openhab.binding.meteoalerte/README.md @@ -27,7 +27,8 @@ The Météo Alerte information that are retrieved is available as these channels | Channel ID | Item Type | Description | |-----------------------|-----------|-----------------------------------------------| -| observation-time | DateTime | Date and time of alert creation | +| observation-time | DateTime | Date and time of report validity start | +| end-time | DateTime | Date and time of report validity end | | comment | String | General comments on alerts for the department | | vent | String | Wind alert level (*) | | pluie-inondation | String | Rain alert level (*) | @@ -37,6 +38,7 @@ The Météo Alerte information that are retrieved is available as these channels | canicule | String | Heat alert level (*) | | grand-froid | String | Cold alert level (*) | | avalanches | String | Avalanche alert level (*) | +| vague-submersion | String | Wave submersion alert level (*) | | pluie-inondation-icon | Image | Pictogram of the Rain alert level | | vent-icon | Image | Pictogram of the Wind alert level | | orage-icon | Image | Pictogram of Storm alert level | @@ -45,6 +47,7 @@ The Météo Alerte information that are retrieved is available as these channels | canicule-icon | Image | Pictogram of Heat alert level | | grand-froid-icon | Image | Pictogram of Cold alert level | | avalanches-icon | Image | Pictogram of Avalanche alert level | +| vague-submersion-icon | Image | Pictogram of Wave Submersion alert level | (*) Each alert level is described by a color : diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/MeteoAlerteBindingConstants.java b/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/MeteoAlerteBindingConstants.java index 1e7450eaf..f238f240c 100644 --- a/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/MeteoAlerteBindingConstants.java +++ b/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/MeteoAlerteBindingConstants.java @@ -12,9 +12,6 @@ */ package org.openhab.binding.meteoalerte.internal; -import java.util.Collections; -import java.util.Set; - import org.eclipse.jdt.annotation.NonNullByDefault; import org.openhab.core.thing.ThingTypeUID; @@ -33,6 +30,7 @@ public class MeteoAlerteBindingConstants { public static final ThingTypeUID THING_TYPE_METEO_ALERT = new ThingTypeUID(BINDING_ID, "department"); // List of all Channel id's + public static final String WAVE = "vague-submersion"; public static final String AVALANCHE = "avalanches"; public static final String HEAT = "canicule"; public static final String FREEZE = "grand-froid"; @@ -41,16 +39,7 @@ public class MeteoAlerteBindingConstants { public static final String STORM = "orage"; public static final String RAIN = "pluie-inondation"; public static final String WIND = "vent"; - public static final String WIND_ICON = "vent-icon"; - public static final String RAIN_ICON = "pluie-inondation-icon"; - public static final String STORM_ICON = "orage-icon"; - public static final String FLOOD_ICON = "inondation-icon"; - public static final String SNOW_ICON = "neige-icon"; - public static final String HEAT_ICON = "canicule-icon"; - public static final String FREEZE_ICON = "grand-froid-icon"; - public static final String AVALANCHE_ICON = "avalanches-icon"; public static final String OBSERVATION_TIME = "observation-time"; + public static final String END_TIME = "end-time"; public static final String COMMENT = "comment"; - - public static final Set SUPPORTED_THING_TYPES_UIDS = Collections.singleton(THING_TYPE_METEO_ALERT); } diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/MeteoAlerteConfiguration.java b/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/MeteoAlerteConfiguration.java index 1bf3accca..ba4c65952 100644 --- a/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/MeteoAlerteConfiguration.java +++ b/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/MeteoAlerteConfiguration.java @@ -23,5 +23,5 @@ import org.eclipse.jdt.annotation.NonNullByDefault; @NonNullByDefault public class MeteoAlerteConfiguration { public String department = ""; - public Integer refresh = 1440; + public int refresh = 1440; } diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/MeteoAlerteHandlerFactory.java b/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/MeteoAlerteHandlerFactory.java index 668f9b30e..50e005430 100644 --- a/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/MeteoAlerteHandlerFactory.java +++ b/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/MeteoAlerteHandlerFactory.java @@ -12,7 +12,7 @@ */ package org.openhab.binding.meteoalerte.internal; -import static org.openhab.binding.meteoalerte.internal.MeteoAlerteBindingConstants.*; +import static org.openhab.binding.meteoalerte.internal.MeteoAlerteBindingConstants.THING_TYPE_METEO_ALERT; import java.time.ZonedDateTime; @@ -43,31 +43,25 @@ import com.google.gson.JsonDeserializer; @NonNullByDefault public class MeteoAlerteHandlerFactory extends BaseThingHandlerFactory { private final Gson gson; - // Needed for converting UTC time to local time - private final TimeZoneProvider timeZoneProvider; @Activate public MeteoAlerteHandlerFactory(@Reference TimeZoneProvider timeZoneProvider) { - this.timeZoneProvider = timeZoneProvider; - this.gson = new GsonBuilder() - .registerTypeAdapter(ZonedDateTime.class, (JsonDeserializer) (json, type, - jsonDeserializationContext) -> ZonedDateTime.parse(json.getAsJsonPrimitive().getAsString())) + this.gson = new GsonBuilder().registerTypeAdapter(ZonedDateTime.class, + (JsonDeserializer) (json, type, jsonDeserializationContext) -> ZonedDateTime + .parse(json.getAsJsonPrimitive().getAsString()) + .withZoneSameInstant(timeZoneProvider.getTimeZone())) .create(); } @Override public boolean supportsThingType(ThingTypeUID thingTypeUID) { - return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); + return THING_TYPE_METEO_ALERT.equals(thingTypeUID); } @Override protected @Nullable ThingHandler createHandler(Thing thing) { ThingTypeUID thingTypeUID = thing.getThingTypeUID(); - if (thingTypeUID.equals(THING_TYPE_METEO_ALERT)) { - return new MeteoAlerteHandler(thing, timeZoneProvider, gson); - } - - return null; + return supportsThingType(thingTypeUID) ? new MeteoAlerteHandler(thing, gson) : null; } } diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/handler/MeteoAlerteHandler.java b/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/handler/MeteoAlerteHandler.java index a71ecbb92..d77438a38 100644 --- a/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/handler/MeteoAlerteHandler.java +++ b/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/handler/MeteoAlerteHandler.java @@ -14,24 +14,24 @@ package org.openhab.binding.meteoalerte.internal.handler; import static org.openhab.binding.meteoalerte.internal.MeteoAlerteBindingConstants.*; -import java.io.BufferedInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; +import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.net.MalformedURLException; -import java.net.URL; import java.time.ZonedDateTime; +import java.util.AbstractMap; import java.util.Arrays; -import java.util.List; +import java.util.Map; import java.util.concurrent.ScheduledFuture; import java.util.concurrent.TimeUnit; +import java.util.stream.Collectors; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.openhab.binding.meteoalerte.internal.MeteoAlerteConfiguration; import org.openhab.binding.meteoalerte.internal.json.ApiResponse; -import org.openhab.core.i18n.TimeZoneProvider; +import org.openhab.binding.meteoalerte.internal.json.ResponseFieldDTO.AlertLevel; import org.openhab.core.io.net.http.HttpUtil; import org.openhab.core.library.types.DateTimeType; import org.openhab.core.library.types.RawType; @@ -44,6 +44,7 @@ import org.openhab.core.thing.binding.BaseThingHandler; import org.openhab.core.types.Command; import org.openhab.core.types.RefreshType; import org.openhab.core.types.UnDefType; +import org.osgi.framework.Bundle; import org.osgi.framework.FrameworkUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -62,18 +63,21 @@ public class MeteoAlerteHandler extends BaseThingHandler { + "facet=etat_vent&facet=etat_pluie_inondation&facet=etat_orage&facet=etat_inondation&facet=etat_neige&facet=etat_canicule&" + "facet=etat_grand_froid&facet=etat_avalanches&refine.nom_dept="; private static final int TIMEOUT_MS = 30000; - private static final List ALERT_LEVELS = Arrays.asList("Vert", "Jaune", "Orange", "Rouge"); - private final Logger logger = LoggerFactory.getLogger(MeteoAlerteHandler.class); + private static final Map ALERT_COLORS = Map.ofEntries( + new AbstractMap.SimpleEntry(AlertLevel.GREEN, "00ff00"), + new AbstractMap.SimpleEntry(AlertLevel.YELLOW, "ffff00"), + new AbstractMap.SimpleEntry(AlertLevel.ORANGE, "ff6600"), + new AbstractMap.SimpleEntry(AlertLevel.RED, "ff0000"), + new AbstractMap.SimpleEntry(AlertLevel.UNKNOWN, "b3b3b3")); + private final Logger logger = LoggerFactory.getLogger(MeteoAlerteHandler.class); // Time zone provider representing time zone configured in openHAB configuration - private final TimeZoneProvider timeZoneProvider; private final Gson gson; private @Nullable ScheduledFuture refreshJob; private String queryUrl = ""; - public MeteoAlerteHandler(Thing thing, TimeZoneProvider timeZoneProvider, Gson gson) { + public MeteoAlerteHandler(Thing thing, Gson gson) { super(thing); - this.timeZoneProvider = timeZoneProvider; this.gson = gson; } @@ -120,7 +124,6 @@ public class MeteoAlerteHandler extends BaseThingHandler { updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, String.format("Querying '%s' raised : %s", queryUrl, e.getMessage())); } catch (IOException e) { - logger.warn("Error opening connection to Meteo Alerte webservice : {}", e.getMessage()); updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, e.getMessage()); } } @@ -133,74 +136,49 @@ public class MeteoAlerteHandler extends BaseThingHandler { private void updateChannels(ApiResponse apiResponse) { Arrays.stream(apiResponse.getRecords()).findFirst() .ifPresent((record) -> record.getResponseFieldDTO().ifPresent(fields -> { - updateAlertString(WIND, fields.getVent()); - updateAlertString(RAIN, fields.getPluieInondation()); - updateAlertString(STORM, fields.getOrage()); - updateAlertString(FLOOD, fields.getInondation()); - updateAlertString(SNOW, fields.getNeige()); - updateAlertString(HEAT, fields.getCanicule()); - updateAlertString(FREEZE, fields.getGrandFroid()); - updateAlertString(AVALANCHE, fields.getAvalanches()); - - fields.getDateInsert().ifPresent(date -> updateDate(OBSERVATION_TIME, date)); + updateAlert(WIND, fields.getVent()); + updateAlert(RAIN, fields.getPluieInondation()); + updateAlert(STORM, fields.getOrage()); + updateAlert(FLOOD, fields.getInondation()); + updateAlert(SNOW, fields.getNeige()); + updateAlert(HEAT, fields.getCanicule()); + updateAlert(FREEZE, fields.getGrandFroid()); + updateAlert(AVALANCHE, fields.getAvalanches()); + updateAlert(WAVE, fields.getVagueSubmersion()); updateState(COMMENT, new StringType(fields.getVigilanceComment())); - updateIcon(WIND, fields.getVent()); - updateIcon(RAIN, fields.getPluieInondation()); - updateIcon(STORM, fields.getOrage()); - updateIcon(FLOOD, fields.getInondation()); - updateIcon(SNOW, fields.getNeige()); - updateIcon(HEAT, fields.getCanicule()); - updateIcon(FREEZE, fields.getGrandFroid()); - updateIcon(AVALANCHE, fields.getAvalanches()); + fields.getDateInsert().ifPresent(date -> updateDate(OBSERVATION_TIME, date)); + fields.getDatePrevue().ifPresent(date -> updateDate(END_TIME, date)); })); } - public void updateIcon(String channelId, String value) { - String iconChannelId = channelId + "-icon"; - if (isLinked(iconChannelId)) { - String pictoName = channelId + (!value.isEmpty() ? "_" + value.toLowerCase() : ""); - byte[] image = getImage("picto" + File.separator + pictoName + ".gif"); - if (image != null) { - RawType picto = new RawType(image, "image/gif"); - updateState(iconChannelId, picto); - } - } - } - - private byte @Nullable [] getImage(String iconPath) { - URL url = FrameworkUtil.getBundle(getClass()).getResource(iconPath); - logger.debug("Path to icon image resource is: {}", url); - try (InputStream in = new BufferedInputStream(url.openStream())) { - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - int next = in.read(); - while (next > -1) { - bos.write(next); - next = in.read(); - } - bos.flush(); - return bos.toByteArray(); + public @Nullable String getResource(String iconPath) { + Bundle bundle = FrameworkUtil.getBundle(getClass()); + try (InputStream stream = bundle.getResource(iconPath).openStream()) { + return new BufferedReader(new InputStreamReader(stream)).lines().collect(Collectors.joining("\n")); } catch (IOException e) { - logger.debug("I/O exception occurred getting image data: {}", e.getMessage(), e); + logger.warn("Unable to load ressource '{}' : {}", iconPath, e.getMessage()); } return null; } - public void updateAlertString(String channelId, String value) { - if (!value.isEmpty() && isLinked(channelId)) { - int level = ALERT_LEVELS.indexOf(value); - if (level != -1) { - updateState(channelId, new StringType(Integer.toString(level))); - } else { - updateState(channelId, UnDefType.UNDEF); - logger.warn("Value {} is not a valid alert level for channel {}", value, channelId); + public void updateAlert(String channelId, AlertLevel value) { + String channelIcon = channelId + "-icon"; + if (isLinked(channelId)) { + updateState(channelId, value != AlertLevel.UNKNOWN ? new StringType(value.name()) : UnDefType.UNDEF); + } + if (isLinked(channelIcon)) { + String resource = getResource(String.format("picto/%s.svg", channelId)); + if (resource != null) { + resource = resource.replaceAll(ALERT_COLORS.get(AlertLevel.UNKNOWN), ALERT_COLORS.get(value)); } + updateState(channelIcon, + resource != null ? new RawType(resource.getBytes(), "image/svg+xml") : UnDefType.UNDEF); } } public void updateDate(String channelId, ZonedDateTime zonedDateTime) { if (isLinked(channelId)) { - ZonedDateTime localDateTime = zonedDateTime.withZoneSameInstant(timeZoneProvider.getTimeZone()); - updateState(channelId, new DateTimeType(localDateTime)); + updateState(channelId, new DateTimeType(zonedDateTime)); } } } diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/json/ResponseFieldDTO.java b/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/json/ResponseFieldDTO.java index 75ce458c5..db0ecb92d 100644 --- a/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/json/ResponseFieldDTO.java +++ b/bundles/org.openhab.binding.meteoalerte/src/main/java/org/openhab/binding/meteoalerte/internal/json/ResponseFieldDTO.java @@ -28,33 +28,45 @@ import com.google.gson.annotations.SerializedName; */ @NonNullByDefault public class ResponseFieldDTO { + public enum AlertLevel { + UNKNOWN, + @SerializedName("Vert") + GREEN, + @SerializedName("Jaune") + YELLOW, + @SerializedName("Orange") + ORANGE, + @SerializedName("Rouge") + RED; + } + @SerializedName("nom_reg") private String nomReg = ""; @SerializedName("typeprev") private String typePrev = ""; @SerializedName("etat_canicule") - private String canicule = ""; + private AlertLevel canicule = AlertLevel.UNKNOWN; @SerializedName("nom_dept") private String nomDept = ""; @SerializedName("etat_grand_froid") - private String grandFroid = ""; + private AlertLevel grandFroid = AlertLevel.UNKNOWN;; @SerializedName("noversion") private String noVersion = ""; @SerializedName("etat_pluie_inondation") - private String pluieInondation = ""; + private AlertLevel pluieInondation = AlertLevel.UNKNOWN;; @SerializedName("etat_neige") - private String neige = ""; + private AlertLevel neige = AlertLevel.UNKNOWN;; @SerializedName("etat_vent") - private String vent = ""; + private AlertLevel vent = AlertLevel.UNKNOWN;; @SerializedName("etat_inondation") - private String inondation = ""; + private AlertLevel inondation = AlertLevel.UNKNOWN;; @SerializedName("etat_avalanches") - private String avalanches = ""; + private AlertLevel avalanches = AlertLevel.UNKNOWN;; @SerializedName("etat_orage") - private String orage = ""; + private AlertLevel orage = AlertLevel.UNKNOWN; private int echeance; @SerializedName("etat_vague_submersion") - private String vagueSubmersion = ""; + private AlertLevel vagueSubmersion = AlertLevel.UNKNOWN;; private String dep = ""; @SerializedName("vigilancecommentaire_texte") private String vigilanceComment = ""; @@ -85,7 +97,7 @@ public class ResponseFieldDTO { return typePrev; } - public String getCanicule() { + public AlertLevel getCanicule() { return canicule; } @@ -93,7 +105,7 @@ public class ResponseFieldDTO { return nomDept; } - public String getGrandFroid() { + public AlertLevel getGrandFroid() { return grandFroid; } @@ -101,15 +113,15 @@ public class ResponseFieldDTO { return noVersion; } - public String getPluieInondation() { + public AlertLevel getPluieInondation() { return pluieInondation; } - public String getNeige() { + public AlertLevel getNeige() { return neige; } - public String getVent() { + public AlertLevel getVent() { return vent; } @@ -121,15 +133,15 @@ public class ResponseFieldDTO { return Optional.empty(); } - public String getInondation() { + public AlertLevel getInondation() { return inondation; } - public String getAvalanches() { + public AlertLevel getAvalanches() { return avalanches; } - public String getOrage() { + public AlertLevel getOrage() { return orage; } @@ -137,7 +149,7 @@ public class ResponseFieldDTO { return echeance; } - public String getVagueSubmersion() { + public AlertLevel getVagueSubmersion() { return vagueSubmersion; } diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.meteoalerte/src/main/resources/OH-INF/thing/thing-types.xml index 5b8ac5553..b83f35eeb 100644 --- a/bundles/org.openhab.binding.meteoalerte/src/main/resources/OH-INF/thing/thing-types.xml +++ b/bundles/org.openhab.binding.meteoalerte/src/main/resources/OH-INF/thing/thing-types.xml @@ -9,6 +9,9 @@ Fournit les niveaux d'alerte météo pour un département. + + + @@ -33,32 +36,40 @@ + + + - + - + - + - + - + - + - + - + - + + + + + + @@ -178,10 +189,10 @@ - - - - + + + + @@ -192,10 +203,10 @@ - + DateTime - Date et heure d'observation. + time diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/avalanches.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/avalanches.gif deleted file mode 100644 index 4f4413458896311bdf508c25498e156883c145bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1160 zcmZ?wbhEHbRArE4_|5iF^FM~@!ezkmO}ef#$8*|U51?p?cf?cBL@`}XbIwr$(G zb?cTbTQ+arykWzJb?erxUAuPGs#VLEFJHQJ>5?T&=FOWoYu2opGiT12F{7`que-au ztE;QCv$MUuy{)aSv9YnCp`og(sKR+)oFFidyF)=YZ zIyy2kGCVvyI5^nP&(GJ_*VEI}-QC^A#l_j#+0M?++S=OE($d1h!ra{4%*@Q#*x1O( z$k5PGM@L6XOG{HzQ$s^TU0q#GO-)r*RYgTbSy@?0Nl8ILL0(>7PEJl%R#rwvMnXbD zTwGjCOiWZ%R7gljP*9McpP!G9kB5hci;IhslaqskgPon7jg5_!m6e5sg_)U|iHV7k zkr5d9;7AxH1||d)f3h$#Ff=gefUF1Q2?mb;42&Ey9vc=MZ02BPi#V|%(V3ZF#%qp* zgQ9Dj>Ar@}=3^(@x`lOvWEQaS_j1d5xEyR|UgA8FQN!ZR#kOW=$=a+PDH=xZ^F(=n zPMI;|F@N)1QAV9N6Vf>u#JPkdX5bRZ5tw;=sdT%(R7JbHk&49i}oZAE7oy zZU$?;DGRkeI!m!9g2k;O?Bh zRFBt&al`J!MsuA$WnG4&{B3P44_w$eg;f|e(^Yn)9yNBfy2QY?vHYHs#g2_E5+S~ZkqyjdB}@!SG8-l^7xo-TXy#eU(7?r0 mT6nlsLQmv~oLJa~ + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/avalanches_jaune.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/avalanches_jaune.gif deleted file mode 100644 index 34e8f9099d8367aa48f50aaa6b206151ecf1dc7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1152 zcmZ?wbhEHbRArE4_|5gHzI^%O#f#_9pFex{?8%cSj~_pN`0(NF+qZAtym{lsjceDgUA=ns z^5x5yE?qi%_U!4?r%#HzEt@xQ-mqcAx^?T;u3fuo)vD#omoHtqbjgw>^XAQ)HEY()nKNh1n9*?v~?(Xj5;^OS=Y-eX@ZEbC7X=!0$VQy}2W@ct=Y;0s? zWN2upqobpxrKPED=Q--BOxIn zE-o%6CMGH>DkLN%C@9F!&(Ful$HT+J#l^+R$;rXN!OqUk#>U3V%F4pR!pzLf#KgqN z$oT*Ne{dv>5(5(gIv{I7d4YlB9|I$YjK_ur2b(!q*&6g#B^7BQ|1FxLCafr)SFfMq^KCO*ojmgQ^mzYEuO8P9e7`Qv9FV*9B&2*Kt9Y>8Ftu8UJ?YQvJG1)`L)F($}#|_&`L5AX0 z3=5oE&PrTYR4l*eWU*r-i$sX8VPpfdSqT$ElFWt)%!NG%5}J9IGBj}UlolRtmCzG8 fA}1EM;W)QKn?wVDVS!@1fQYKf;~oxH76xkoqK!Nm diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/avalanches_orange.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/avalanches_orange.gif deleted file mode 100644 index cf831487538b0ac975477f2d006aa546d3763781..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 297 zcmZ?wbhEHbRArE4*vtR||NsA&7hw3`!0@t^;Yc#W`Ur;Eehl>v4EYueQF;tkvJ3*e z+>BslK*fqbS%7Rl1|5)2kQodt*91;@uHGBbcXs!Gg%zzbjT+uT6CQfV^%O~TZV*`W zyoq)5G%hy1?S+CY`_DdN@Y3mUWk}!np-{^Cyx~bHMHc26i2)4lLYym>eYZB@YhhdY zLB*@j$M1au&(W(48uGSgRouM1OdLgJ3{EyY`ONNI79~BFLNQV8?Chn|EZiKumWw)< z$g=S)UDnPe-ya(k;20?#F>}jS^QyGX0Ww@n?5rF-iz{_^AIxLo;^m6pt90h<#r<3x pt{#+Iy`XTrjP>1=Nz%3QPo8#fus!`$-hh|ql$GRzc?JeX28PcpEMQ5nIxwO5 zlLaWw&7cF~fy`iFIVEtybM@YcuCu%UE39ap6C~m8IN_lOpNE$ShtY<4+99_b zUZp$V-$7+ART_y7O@A^8LV00930EC2ui03`q!000EP5XecZy;z>jyZ<1lg`7eV z!hn$BNFsrTAm1C8BCzNHNJrqo6+i%rn*m9x91RkO-jBd4RF4VjVc|Q7 zL1*MM;2|g2B=}7-_;nV8fOj?+5Snr<5?mnz09Xfs1xa&^Ap}W#90esGB=wPMAJ{QUgz@bI9ZAU{7pZ*Ol`S65wKU3qzVIXO9QZf;IaPG)9ipiy8W5rpDT z7DfgJDFz*o5Xepj)(QoMzLd;)Du<{F|OadIbPr3181}SJj0!P zZnkJIdB-``%KbvdWH;NqsEYLkMZOIF*}dxPNL_WX2?`K@u>+k p+ViUMw^^}>t4MNoTd|8MiSd*MuyZg++Scfo%+p-5R6~)$8UQ2JUNry! diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/canicule.svg b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/canicule.svg new file mode 100644 index 000000000..b36c3b0fe --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/canicule.svg @@ -0,0 +1,74 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/canicule_jaune.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/canicule_jaune.gif deleted file mode 100644 index cf66fe2bbe4e286c772d0b20cc52695908d56db6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 949 zcmZ?wbhEHbRArE4_|5tF2 zhQJUA0UeMVL3x3JV-^D=hm6OD1qYisSlJ>@Y*=`>T|iN*=f?yE*G>jKt1}V}i{09U z?aO!!4lF(~LEdtf&(2SaTqkk|X4P;8FFW06ki2b)$LA;KI&34K@mPIUcbjeA{wQRX zh^GHyK2`yf10heCo5Z=Uw44%XbYzcqwKCvPd~=+QO@78zj|WT#c{s0S**G{ZU}XzU YlyfjpNOxbyzw(!_#}0!-4Gav{06Y_GeE38j6g}SDk!1& zlLaWt&7cF~gUn!HX%IN!xq5Fz-&t$%LkvxEH#5^#t$T4w_QS)fw>tda_gsB9_w}Bs z{>M32@pY*bvPYz-HV3Y~N*R8RBUo@=;am&L^W;cN~< x2^z0Cs{9#P@~kTTxoTRCSsSZs9m=&hggQA}Cb~2T&zPAoKT&egVsSwRYXH0qNRa>l diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/canicule_rouge.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/canicule_rouge.gif deleted file mode 100644 index 998ea7eacceb28a740e5ce9c609c1b00cbed6f81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmZ?wbhEHbRArE4*vtR||ABykVG{#G0|SE<0|O%i12Z!-BO@bN7_0(`Q2faPRKUrg z0}=z7!N5`>aKdx--iWTVyZ%N=skkcB?l}`@}kihz^*FMe)bn000Tm&t2$ZSUSS-6qvtucPtu_pFec(o77E3<6uyE+zP_=igJQ jSX5hDo~~KlQr2L~Dpbl|-`*iIX>w@3+LB5)u-cnwmjDLD|{aYuB#bx^?S+450Xv1*qpg zgAPb1$P5OSRDlzotM^89o!$LkVMVLFYuAC7OPN*|J-(f{PG)~j@9X87mu)7!FAwI; zJ$Rw;d$#YabI&f#a1mX3Dc!94ZK!SI%J1n5c(!?*YW(q3Mu%-1599RHY*Sle!zKs_ SWCS$DHibyGcZdlxSOWlQw^6$Q diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid.gif deleted file mode 100644 index b8c79b4c013f92bb78380c9304ce10d0ee1513d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 263 zcmZ?wbhEHbRArE4IKlt||NsC0_wV1|zkh%J{Q2(PyH~GX-Mo48(xpo$PMkP+@ZkRa z`?qf0x@y&`>C>l|m6es0l*GiuL`FvX`S}?b7)VJ;2@4Ag2naAUGcz(W0*wM2i69hz zvM@3*NHOSugg|yOu(l{D^rd9ZTOqL~=k-2=HOESHnajMNS)F6IyPtpTuwaYplCvvf z%rej1@0!u=wes|VK(3l&Yn<2nXzz< + + + + + image/svg+xml + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid_jaune.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid_jaune.gif deleted file mode 100644 index 24fe341bcdb7bfb4d74af2a1d0e120b9377d7563..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 962 zcmZ?wbhEHbRArE4_|5C&YWCr%tZcyRyz z{ad$gUA1b}^y$;f%F0SgN@8MSA|oUH{QL|I45Xx_goT9#1O%9wnHd=w|Ns9FHgc30 z4S}H%0y-dPg7N|b$8rWn4jGRP3l27Ou(Cy**s$<$yMUrrkH^MEE(~JQLT6S8Dj#Q% zv#pzRLQt7;qH182$;zTs?=BsCJ(Zb;%Y0^OGtZgA`6<<9wsNi470oY?&N47}*&T^A zRPkSCz-||MOEBw7zbCug4o}kt22KW}6o!O@4gq~!hq`2cKge<8$U4e2%{!8n mudI!D&~#vaPjW=%F;X>4AuaowsRo> diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid_orange.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid_orange.gif deleted file mode 100644 index 2a3b689361543ee9e5ad7747adcbb19a44240691..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 204 zcmZ?wbhEHbRArE4*vtR||AC;M;eP|ekz|JT5e)SX42%p60s;ce%*>38j6g}SDk!1& zlLaWt&7cF~gUn!HsT4Tjxq5Fz-&t$%LkvxEH#5^#t$T4w_QS)fw>tda_gsB9_w}Bs z{>M32wH;|RY*o?o^;J-ioNMbHdj0C;RNv0ntJ{QsTb^TyG4AuZdV@Trw diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid_rouge.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid_rouge.gif deleted file mode 100644 index 576e76e7f6ea9698bd76257fd67c56c7d7f08d83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmZ?wbhEHbRArE4*vtR||ABykVG{#G0|SE<0|O%i12Z!-BO@bN7_0(`Q2faPRKUrg z0}=z7!N5`^aKdx--iWTVyZ%N=skkcB?l}`@}kikSsn&`UpIHIoLp4y%%C8^!1Pf@YRCN#jyJ9zJN(o~ dudJ@HT8~wzfW4}*Nu;MYb&}+isS<(=)&P0ILP`Jt diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid_vert.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/grand-froid_vert.gif deleted file mode 100644 index 64ddbfef66eb8b51909c20ede08b7eb93625185f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 936 zcmZ?wbhEHbRArE4XlDR}0}TKE{bM-507UQJy?gcQ)y3xA2M_Mwzklo2 zt*ch8nm&DcSy@?0Nl8phOk`xFpP!$Bfq|5il(4X{fPerqGczM2aJ-wYOcm9sw%JZM=fCM(gyaBWd*Q@DMQK!oC|;92& zI&k1XadGkX?b~^Hc>MhQX3Ut8k&$uu@ZqCJkG8b5XlZFppFTY{Hg@mcy{W0G_V)IF z|Nc!$N%{8eo1vlMkt0Vwefsp}%a_j1&NXY++`oT6C@3f(AV5b)$Hc@$S68>RwDjG( zcT1Np{rK^ti;GKqe7u~TTz`N6%a<<$0|QT=KD~ecem6I_hK2@bXXitQ4y{|aE)W}G%>#m2|ZeR9rhOfL(Z+xn89aqN&NJTOa~%Os28O4HNBj1}tyehM6VB&)%G z;YQAl10CGPOk6(_91H!~wRscH{OBlL$gCB}V7p<%geDdT@h%IM1_$u#^5$j}ft z+-KpWw1#8z2HwWjJexTY2bJ5VXtL)_;e4`SxtIvMNl%2v1#V6j3kj1on;R5aRHM0; zd|b@lJ)^Z|f(}cd6CV#hH_N`p4+TsMxD0hK{VYiOc!*Kct3Y9=0rLXY$N+<-KbAH~ ziSoDUr4+CQq%v?c*>q+ob#e=9Ds5P3WpyyzpiIIlwSbAkQTQ4+r;kG6lVgW?1s_Nx zaIbK06?U diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation.svg b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation.svg new file mode 100644 index 000000000..f0271ee49 --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation.svg @@ -0,0 +1,69 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation_jaune.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation_jaune.gif deleted file mode 100644 index 3e9bf4f09055576fced1255c9beac8d82c6b6608..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1152 zcmZ?wbhEHbRArE4_|Cxa^XJch|Ni~@_3QWV-`~G~x3;#vbLWnbkdUXR=Z+maE?&Gi zdGh3k4 zI&k1XadGkX?b~^Hc>MhQX3Ut8k&$uu@ZqCJkG8b5XlZFppFTY{Hg@mcy{W0G_V)IF z|Nc!$N%{8eo1vlMkt0Vwefsp}%a_j1&NXY++`oT6C@3f(AV5b)$Hc@$S68>RwDjG( zcT1Np{rK^ti;GKqe7u~TTz`N6%a<<$0|QT=KD~ecem6I_hK2@bXXitQ4y{|aEAR(XwvK5pU7&!hhFmlRxY*=uxnS+%r>cobHhuZ}dwR$`@ zE^=`YGftbcV&h}yJ~?MLrk4fIZGFklICe-B9+)N0Ws=2krRnKm#)@?UKLrjwlGR|p za3kl&fevnCCaxa|j)ng0+Pn#8esmNrWY!8~u-&j>LKBOFc$bCB0_Hb|WEy@2WM~K+ z?z3=GTEnq<18-w%p3R(ygUW4FG}&{ea6VbETug-Bq$fh-0yig%g@nnP%?*kys?l6a zJ}zeOp3zz}L5C&KiI0b$n`K|)hXSSrT!y-reikHsJjAH!RiLobfO&yxWPriaA4?mg zMETqFQVQ4tQW-d!Y&tWPI=O{4l{PH2vN{-UP$rRPRlvmID142Z(?_B3$+1Jcf)6AT zxL3G0a>=@=aD3R%+9B?+;(#kJyTL?u2A7io_vG0)6a;uv5;g?6vKRy$<>xe!n8?V_ n!+0Vuv~!6dBUi+M*&SkYJCt0t)~%S+Evl;WxQBz4g~1vCqOwb~ diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation_orange.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation_orange.gif deleted file mode 100644 index be36cbc87be60ad6dc054807ca7990179e018dc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1154 zcmeH`X-^vj0EVBIUfLEYZZZ?t>fy8j>kL8g>S_;TbVMi15iUU&&r&lVALPV-#=X4rG(R6> ztwV6<1eY7>v+>+swt~Vp%J{V%je@V5FeGr}7_Eg!MO5W-^;tH$SZv~h3QQW#Jx+Z- zFS^K1;)`dw`j?E3kXXKo5O^wf! zyr<#(#MF=W;hpv@;mxD&mxi_au4&DBID*&ws?5`SV=m6UXbG6+ud4)wl54G@Mn|%I zFwtspv1^=txkV zE!ye7eYBXkviwK9TQw?;v#GJ^T5oSyD%H#~W*GR*q23g>q+2ha7K(hPpyrYwD6CePX0%oBu9w#R;#? Kd^O~;QuHsy?fc6B diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation_rouge.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation_rouge.gif deleted file mode 100644 index a85d8890428bd24bed979d24e1712c4752c4ee81..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1154 zcmeH`+e?!H7{-6!{5FSEnKqZ7huSp7hIq|LIyN~6^?@!O27^WK?7glGMony^e_h=z;wuhov<5jF@=2w#-I&eKs?-s zPH2IPP!1m;8IlN{NIh%}@q{VP!4sH(L0AFf@E8ukB^ZKm_yKSXoZt78(gpnUco(B52;WCYhe|{##pjdWtz+tGl9>PcjJCgCGLD*)KJ{x3?_X+|a1J>-#lpo%wSmg6@EFa<4zDG} zdejuxHsaV&;M8d&vkb|St1dymKs{G?w$2zXxmBZPUr;%0Exw&u?_Sg@XlIIg%lq1e zd!?GZ8MAex7P+8eplz)`jfnZ;&r;o3uVOiinS6?8g zkI3F!v#Dy=LRljz;|Cl*vEi*Xce1=X(Nz+m63c4c<{m*%t&7aDXxG0E%5v!}0~*<` zZLru%14#NMcf*p?o;y^!m@O8!Qe`;ZZr2$NgT~Z@tDQ|I+h9fWNWb4%lz-pruu%9H D+qcc! diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation_vert.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/inondation_vert.gif deleted file mode 100644 index dd5f9cc14719a18421a512282187707f5eafb8fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1009 zcmZ?wbhEHbRArE4XlG#f`Sa($fB$~{`t|$w@9*EgTU%S-xpPNINXXOEbH|Py7cX9% zJbCiNhYzn^yY}bLpOBD{A3uIDGcyMV2hW=~@9WpE0s;bW-@dJ`uD*5a)|@$WT3cJU zZr!?R(+RdO&zw0UD=W*!#>UFZ+S}V}Zf-tx>eLAnCfM5A3JMB7dGch+lqoA#tf;A}S+HP1 zMMXt>d%L!__O4yKL_|cmxw&OzWJE!GMH-;!hT!z5f|>K(>SO1Ovx824+qfj|~eBHggDT#hlo%@Nm0; zvez7sjf)Pj^Ba1_d_MG$*+J-IjN+%pg)$oK7i|6{xb!(Fhl`wgxj^v(cQ2Q{3uBA1 zfRuwcU)>ST73U95Dty9lDEQKXcD{-xwpm3F92_k*_^#-1w0ii@kN+(Z`PkjxUxnrA zo(~%w9=fmQwJ+(gFyZ5BbGx$U=c*6O-IR)jw~26c@E)F@5W`o()X{N}J>Y;qjMkMC tjeIU5;xa#(j!Nmp=sh=Fv23HOLdpSYXFM5AgllY diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige.gif deleted file mode 100644 index 74f6e3f65ea6c3ef4605f3cdebc1d30990ef4d22..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1260 zcmZ?wbhEHbRArE4_|5{ zpF4N%oH=u5&z?PN)~xB%r%#(UZPKJk6DLmW@9*#F>FMn3Y-?+4ZEbCCZfRe z4-X9u4G9Se4h{|q3JM4a@b~xk@$vEW^z`uXaC38Wb#--ic6M-Zu(!9jw6rucGcz?c zH8C+UHa0deFwoP})6vn<*4Eb2($dh-P*YP=RaI3{QBhV_R#H+@P*9MUmzR^1la-Z~ zmX?-~kPsCW6%i2;5)u*=6ci8;;OFP(W6^h zPZmZ7h8_kTkkOz#!NBpKfssSTW5a@j%^a+35hpe*Jlrmzs3qdCanaFk308+K5(!Di z`UT~~-f$=!aPQ-@KEZJ^VDa&8Zg;CE1{?bMr|E0z9r>V=)*#-!ARuD~W7h#!7nNyK zZZ0^%Z>v`%5OL%1xdV!Pb2)S#6)ZZ*z@gA!7@{#@5)&_v$q_}5gzh$R5u-U4p(lD; zEjThGX0UoNY~@Ym_;VpZ?__KEsuLGC2Dr){NZ7GtBV!?Zg96XvbGniV&Twq3QQ{QIvxLX-VWu~GYceiUwI@rb#RN?tL(F5ad1xHm@h2f5MiOrFXvc% zZc4@(hjeE{=2nxEomU?6Ha5ywoZKS!;DW=t+dK7T3RM_c^((jh*;v$ZvVqOhfP+0C zL-F}EtCOZq(!~ryY^)l01RZz_?*tx~kUR2?)j5{IAjF5UsI4*7P3K6H9M_-FHl?f* zf!VUWx{L>;8RWzoI6P(?j9^fEa!^3ZSLEQ~x)KW(4u&Fy>$1I)90`o#9bXz87>s)w z6rJ-J1lpWC85r8@y(7yHNLBnf=q|!AsXbLZHgo!9H{k;h+*ySiu3TVZ@-&Q@CgZxm bnNe-$&u3!Ao1Q$MAEBo5VgVZ~3xhQP06UDt diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige.svg b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige.svg new file mode 100644 index 000000000..fe99a1157 --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige.svg @@ -0,0 +1,69 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige_jaune.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige_jaune.gif deleted file mode 100644 index 7b4fbe0341dbcdd77e2b894307d076ccf7549085..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1252 zcmZ?wbhEHbRArE4_|5hYueK9Nux{PDwQJX|UcGw7iWSS2EnB*D>HPWg z=gyrwXU?42vuDqmHEa6x>C>i7n>1+9?4>S}9ii;9YJb8~ZYaogEw;?CtF>EiKK=%uG#9 zO-xLTjg1Wq4D|H$baZsIwY9ahv@|p{)YQ~eRaI3~RFsvKm6Vhe6cps;<>ln$WMyTg zrKKe#Bt%6;MMOk|goFeI1qB2I`1$$y`1p8uc(}Q_xwyF4*w`2u8UO$P500o&g8Ct# z12Phn7Z^DHF)(t-cx+g3u$hCEE#kz6g@@Y(6tzSgHZD5aEy3!rMIs^TSihir*c%Ro z1MYo%)+abl1}r|_&FyaW#9%`||1^C~y(1q~(i+6O7X)O?VC*{J>Y_4j%FP8Q_-*xy z1R`!6K6gNoZ!U+kca_j-Uf?;hn(a5^_hru{y^x7=-vR7PU2oy6GHglH>Xl+NP9MA~0K)SC{dC zG=rR21Bb_qgAojBPYw!5`HCDoTvuYj!og6aa9y@nk|TjpyyHuQ1A}o-gQ9aDgFu^e zCj&!!y?12!0jY{V2i-*&Cbg%E$7W8S>?VBRfjg^k!<7q6OrC}@(_~y1I5Vp4{P|3* Uc+->T^CQ$$UMyf^Wnr)e016$6-T(jq diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige_orange.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige_orange.gif deleted file mode 100644 index d113fa6cb4db89b67b1a0e1fd63ebbf93d76933f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 367 zcmZ?wbhEHbRArE4*vtR||NsA&7hw3`!0@t^;Yc#W`Ur;Eehl>v4EYueQF;tkvJ3*e z+>BslK*fqbS%7Rl1|5)2kQodt{{>EXuHGBbcXs!Gg%zzSnoMdl71$E{UZ$&fZ&q;S zsP{dmYkt2iA%KI0BRu_hpokPl>m-kCjY)Hx4y}?gFz;-uxcF3nFZ$?0=KzD6-AAfE z%&~WTzPO+uA;*o0%Us4*+Mlydp|+Trg|}X#geOM2m6?M#U!}aaae_2^7!OmnEh|%4 z*lgQqP8nsF-WjGVIQ3XL6l-U0^PVWjI(eF6<%%GAWmY?m#WQ&#Hp(32W@F|}T|aS# z8}CxqTBby9S)Lw~8*vj^j(N4RB+hDa%6%%QY{KL;%|AN!Of?&ej)2hd_QhEx#}c`( zb{}SJ%-+Ytq3qVkSrs9}<-zX6C(^Ac!=qEt=9{$CR&$GiMzRr`VfFr)Q)i|vT;|Iy I$iQF?05I})Bme*a diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige_rouge.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige_rouge.gif deleted file mode 100644 index 7679dbf675447af30a1315d0db30778526e2eab6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 341 zcmZ?wbhEHbRArE4*vtR||AByk;Ti+OCI*HE28JjG1}g>zc?JeX28PcpEMQ5nIxwO5 zlLaWw&7cF~fy`iF`7dz7bM@YcuCu%UE39Zu(PUDK6lqE7d+9FXUL@hdQSW(9l6_jY zv9k&f^ZCBRuN2L@B6Vjx;o;i0Dq-hAwN3L^FgAX0+_>*W{EGAN|x^6V0X)(+{tF9!j&4q=BykTn_}kf8D3<% zMmDC*El;i3jlE&IMwwkxyxUTy6=5m5ZR)*drmT~go0>T}WZ7C)?vCC&HG!#zDK1~; zqz}go_s&YodNe7Gy-coYSL5+p3UTgjEf2o6oZK7f%f(}C_#oJ^WUs@X a?t{D+)<~$7#U7DRZa&^G!KB2%U=09+Y;kY^ diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige_vert.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/neige_vert.gif deleted file mode 100644 index f372119408eeed05cd2927d9d6c3a14bb0ad61e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1124 zcmZ?wbhEHbRArE4XlDR}0}KoY82Ms5AWZTM>zkdDd)vK2;U%q(p;`#IEj~_pN^ytxp2M_Mv zy?f`*o$J@HU%Phg%9SgZE?qiz?%e6qr%#?ddHneCW5{+vBO`kq}+O%ntCQX_+abkaee@{uYjbmRV`F1OLqmOi zeO+B$ZEbB)QBiJgZca{4c6N4VW@bi4MtXXBYHDgyQc`?;d|X^yOiWBjjksv=o#I>sCksyP}6mEaMmYV^o3~sIxFMoDyYM(ok&zot1q{CBpgEk)4phK4z zD>Rz??wG?-#NqGO6p+SPWUO&zmV~(9o*-90zIoQ-O%ErvX`Echv(#wGD)s}S^VIV< zF&Z3wduO}B%3F<2YTC-y@~nk3A01yGv9R{QB$t)J{R)=p8ox!EuPi(}n~B*nE@Q=K z=T+`~uTDOC-le##C+NC~idkxeTh0>}q0bl3owX=?Gl7$*O;LQu^8EigPDZ+mjk>O| zd^@}0$?PX8{ZkgMX@59VO+NdSW1$4cfgd{))$c!P(x~~-p3l%x*umi-v+?EX%@-dp q=bzHcQ1DRFV}9+G8yUJgTV!2)dyjN9%zJ8nsf9B%L(vJCV66eFv}L0J diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage.gif deleted file mode 100644 index 3a5ec3706f8c8b7a16052c1e6a7ccd83fb43cab7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 423 zcmV;Y0a*S=Nk%w1VI=?=0M!5h00030|Ns8}{{8*^`1ttu_xJYp_Ve@e^78WW@$vBR z@bB;M=;-L><>lSo-P_yS+S=OJ*Von6)zHw;&(F`t$H&3J!Mwb@tE;P@pP!tZoSB)K zn3$NBmX?!~laG&&g@uKCdwY6%dUSMjT3T9JSy@(AR#H+@Pft%rM@K+FKs7ZrGBPqO zEG#Q4D + + + + + image/svg+xml + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage_jaune.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage_jaune.gif deleted file mode 100644 index 0a24452746b4a8297b3092c4784a1a4a7e661bca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1023 zcmZ?wbhEHbRArE4_|5C>l=A3uKh@ZtUY z_b*<&c>46|-Me>h-@bk8)~)N;uV1}-^}>Y<=g*%%e*E~sg9rEQ*|U1}>iP5M&zUo4 z=FFKhX3Us2ZQA6?ll%MoTU%SJtE;Q3s!B>qqN1WABO}AY!h(W={Qdpi-Q67=98673 zjf{+Rbab?}wG|W;3xu|Ns9F zcK9eU8UmDtfDXt2P+nl*c*4NQA>*-O!NFz@RxU(*;lT~nHy1QrMJHB<+3qL+)V`gHo1^^^k Bx}N|5 diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage_orange.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage_orange.gif deleted file mode 100644 index 3438296589ada3dbf609d9929b973ab808c6d31c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 232 zcmZ?wbhEHbRArE4*vtR||NsA&7hw3`!0@t^;Yc#WY(Iv22ZnqLhA2G-D_I5sUT#LP z8n9Xh#h)xdE-!-)hzl}*6Kf9a~#Acc#^x#d2XY Y3>GbCX60D8R%PR+ILYlh#043w0fw+q)&Kwi diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage_rouge.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/orage_rouge.gif deleted file mode 100644 index f3bde71f605ce95c298d5741ce282764d2af6194..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 233 zcmZ?wbhEHbRArE4*vtR||AByk;Ti+OCI*HE28JjG1}g>zc?JeX28PcpEMQ5nIxwO5 zlLaWw&7cF~fy`iFnI>?;bM@YcuCu%UE39aA&Y1N$T_gSWQn|(rdEC_}9IrpTE7~c! zp4~uGfb;H$$FC)X4$gH5d|+zHoH5C@RVXX`oMSh`q=QF=9Zz4Y%Y7-lX|3&!Lo&v) zQC1Jl-KzuG3QYZ*nX{v6T}&g{dm;luH41fmBBFxi>Zf~5QJUr*!NDn(W zix)4RK7D%k?%mtBZ{NCg>-zQUSFc{ZaN)xF^XHErKYsAw!99EStX{o({`~oK=FFKn zbLNa0Gp0?OHhJ>o{{H^f*4FCk>Z+=$l9H0BsHn)u$gr@mpr9ase}8v(cLxUtQ&UqT zBO@Ih9c^uG1qB6pd3iZGIVmYA2?+@?F)<+_AzofyZf%=_!hZ%GkU5|{!N9SBfssSTW5a@j%^a+35hpe*JlrmzsMX`Kaghsy zpmD^V69q~xk}~F1H5p27C%TknlNc^MN;xuxFOnhP;U~p2Z89vA3T`wypP0>?%HeX* zfR#bY-Y|^E(BLR%la#C0+8N9Xx%(WXrCd8owY*wPbklNoBrWI`Fk`tl;nc;$fdV}F zFGOB%ebmuz$gt*b)a8fV4Dvs|<^DL-_TV5-cF6*ZZ%@umFBO!Z<}&A^6*REZ=diCm+D_1UEx^({h`BSG(ojiH+*s)`W4<9~o z;K06p`}XYFvt!4O?c29++O%oo#*OROuV1@%?V2@fR;^mKa^=e9%a<=*x^&5sC5sj< znm>R3+_`h-%$YNL_Uu`+X3d;AbNck@Q>RXyG-=X=2@`sIdwY6%y1KeLJ3CuiTAG@g z>g((4>gsB1YpbfN%FD}3N=k~0i;Iei3JVK!b91w@vQkr1larI<-`_>+Z^fuVyz2V@N> zPcU%&XJF)z@z}87U^53RTf~VC3lFyoC~Eb1TvX&_6;(H53H-RQPg9c7A}8RPlM5Gr zKEn>jz{iI;8_w`lyg1;^)b7sk#Zd5KDg$Q)Lqz3@g8{rDFJLOSIP!qK zp{LD_L4v7(ZL#zG0Di^;7X_T<85+V2rYtPgp4x7weCHyU!+DmrG}d1$Hx#(tc5V%- zDLoZ%VD>hK4F+cl%3jZ6X0+lk*)sL`gZ4-@=8onBMMmq6sVou~k{`?$nl9VdU_9aE znbrh>#g(>)SowGhIL%WUn2vF_Ypvp{QCg79F#ni2&&s5mKML>iNjenlGjQ>L!FzN= z<%1ZG*{=ooOL`X;xA8RhnX+**UAnT6MZV}tf`&jEUv~$~w1`^92k!3}SalMdMe4T% zvM};^269MRRWvj(Fb6caNR@2a5WrJY)5z4s&B=01w&lseRz4ZCFN`7?3<4d}Yi>R~ z;>+W>;iy7s%tRLfrl$snIWC8$9AHzrAmGf->ymPiKdNUTThSHMlPQzWsj57k!okYI GU=09Z!E@aJ diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation.svg b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation.svg new file mode 100644 index 000000000..7f7fd0e6a --- /dev/null +++ b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation.svg @@ -0,0 +1,74 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation_jaune.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation_jaune.gif deleted file mode 100644 index b6f713dc2e1fe99ff6818441d5c9fa820f71cf0e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1192 zcmZ?wbhEHbRArE4_|5Rgb>qg3YuBz_y?XV^l`EGnT{?gM{Har?PM$n@?AWoxhYue( zaA4oQeS7xo*|B5C_U+p@ZQ8VPcFmeKt5&UAxpL+5<;#~YUAkn+l0}Oa z&7VJi?%cU^=FFKrd-kkZvu4hmIeq%{sZ*y;nlx#`gbBU9y*)iWU0q$Bot-T$Elo{L z_4W02b#=A1wN+JB<>loiB_+kh#YII$g@uK=xw%gwuhYHG^L%1TN~ii(N~3JP*^aoK zWIQ%3IM~d=$`)~A!@|Su0*YEa9v2lkSw+>&SOPyT?9-HFw8#l~=H$Y~pU<$vG4Syr z&W1BQ6)z5WGqt-jd@&Tfn99Ie!4Ofo;$VPqy9>*^hYEoy&I_2zEsi{3Z|G@rV~}7f zU|Z}wKY*X{z(oOPd4`5CgDDG3wWqe*Dc`xs<#3**Esgcp$_)i>x1C#qYD!N99GJb0 zVS~Y$g0k1Mm>I1&Otwrt{-8Zljk%*aL6OnAV=9Zph2#hGg{I5)H5gAgd8Rc%U~#4G zAyz)#0#5Uk2Bu@2?OLn2YLpfvGt56`&a*P<=8wX=e3A|Y`wU$CU+^B?Q28K+WA$Xo`D>a zRuv5m49o!yE>b01HU#k0)HE_RadWa9lWlo&u$527>cFjxZsbLDY& diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation_orange.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation_orange.gif deleted file mode 100644 index a06825ddfafea4cea711efb03f1e6d69b793b86b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1367 zcmdUu{ZrC+0LMRoz?Uca@{}Opco5`C3#6qzkfs98RqC`+S%&%8Be66?O&&!|P0d!j z+0xd!wrWStn(MknYK`mmgR!&Qy0!_2TeZ5wxwF->?`;3Y-uJ%uy?=cF@Om5a^%Y1Aqc(DuB3vEM~G2$aEfvBZ4>xhlf~vF;6TL%Tq~I znm{V!y(J(}C@gjY4#HF7DH4fTo35n8M3r2q%S_X)RIgj9NKX~&vsdigq}#G_RoFJu3ezT-& zyX5G0`Jp25d22dM!dB{q96G^MuDR5b``)_L+)O3n1xPzUJd4I4ZP=F{+(HL&-a~xR zMv62MU->BWKFTvE73rbf*+&iThoh~G$1Ya5l{H#Rzi&%8yNw=dN{X}zFI6XAspF39 zO`5VNPc(?W+?8~(F6pi{JB zFR$CMv>-#wPk=L*Ns(57IKhLx0CAybZRnYL^lJxZ!G(F{!2Dy!gg?MU4#pi?jecpz zzOZATG-B^tuvO{kmk!)~D{ig@H`|PRX2U(U;a<7$GmZGE{kT7xpx6<@vu47)lNfCz zg!U7kyD76y%I{6&fnw-EJ^8+s9JR$iK0;mSpv^SHqgC<0G%@D9OJWd2MoLly<8(<=dMujxQR#$h+4pE8A~H(F=#M>Kv)FoKeGM@A$$>s z0^mEKdb9P-Cjf*16vQ+72XDC`EYTG74~=_aK8`Wy58K<>IVd&yKt&!3Q#_mHnGJ(n z&b6|BBMpqBE^mm5Duz2{-tI9l`B`+xaFT=%5Qog`#a{1|9`;nMhytiUz4@D1%6QI2 z1u&_lMdLY#oNEu1mYhKS=-IMYwwUP=8;%$mxCF(aQVTX3MBze zed;WJKdV;<1FgUQUN76}4p^9hCCMrVhB3K$*x!C82t+}&{AnQT_Qte^r0I8{Y|^z1 zdU)raX?zJrv|P|0Dfs!Pa}5HvDXWx*@-`k6K+(eUne4Jvv7)>NbDQt{--rl4nXT&f zhW-+mI;%y?Po{;xm>QiM6PqmgeG@axoD|on6efPmq2-V@g;nKSH9X@FrCX*$PN>qJ zU26C>v(hNa)i#`~>JKwl4`$^5T^ zJKQuc5B*!>x1D|>eXr4?XX-B{7jhcNbK`^zQzU--m{Q#XzNg-VN_^7(fk%_z jcrYb$7{PX&?z&_+X|V^EYmRJ%$&MF z8Raq)(EtX+L{v6VlA)W<7?*%WA!B5iXr_y1(Gc$};_6h!JcB=DzYp(+_rsGX@AJGR zWud_GDm$PDUI2^83oOh)U1$VI?I>`gFtjn#vOUjT>PTCi zX-n7h>zsyIu5*2kyXXD#&LUrHzGuHzD9|$X9#hDusb4D9FLSQ73(>5Mh}Ti>bsTo; ziZ#^v9NX7+ZA{b-W{P_y{YE3V&ueS&h&vtTT`tjsDGuw|Ns<4_uD#|olrhBZ4B-cR zYD=1C%40s8ZoK3&4cLthX8wDRWevxkaEo!f(B-y;c-5z(vB6`X*VE6_RHu2Wk5eWs znm^6zZVmN^$o1(|5ACT#g8I5-*v+$BIJVQAdN|$W*J%p{gG{6UFsRI6_ZV!B#buV5 zVF_7HKIiFYI_5D)-&WJpsjADV>k(UIT#L!^``J2N2BCuCVJjoD`81i?LxX+Te8Rbn{d6gt5X>wXcT~d;hEVYxN z8##4|re5UdzR5E1g63kO{vTLhDHcvQ2DlgPF8&07%K(TAr9($Y8gPWH93SdUG%0i6 zi=D5j3&y*H@7%(riQ;B0n0;;Yv}RSL+XR8Lt<~f4LwO&+dJy^QSknq%v<7*03<&pI zIF}-2<&iZ^hYlW2TuU5MuJ?eJJI$V^p3vKEij!3b`>2asYw>r1K?~#`>b>q`G(eiz zwV}Tv3h$>U&edksB-+U=k|Mo^C=DM_p%X?bd+fwimHM-;Y>C(7D zpemyGrh>&ALM2ykNYIGli1F@)!U&>^AII~fqeL4=L$1M=$u=!dk^Oh07bE*0*ZZr9 ztwm++j;d|VOFy_=(s43+z|i`{c|aJBiFtm~aq5dZ=F-nMU7WHte-rLuSFFtb68qKM zbRwDTDmry*7PrnUk;Wt_zoIo&Us<=xLY!MU3jcVZu?J|XsDcc;cNE60k8bvcnDW7? z#(2-R;Fw|W&{Nbpup-Z_moS}qd90`CTyix=`;Ha{N#8HvTTc4yvk8^$ vL8K6bW@^KAk9MtY&b;vSOxU|8m_6Y=GkhlzC${|DmOd&?Kl~O)6hQ8Oxk6~# diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation_vert.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/pluie-inondation_vert.gif deleted file mode 100644 index c1c9e4977cf06c145367896a8f8192fbf695a2a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1072 zcmZ?wbhEHbRArE4XlDR}0}Koe=;+6fAK$-!|MuXj>3E?v5G{`~n({SeyLRoGHEUL_TD5ZJ%H_+KFI~EH$&w|D7A=}TfBxLLbLY&NGkf;zS+i!% zoH=v)^yyQlPMtJq(u4^UdV70&dV0FLx;i^MTUuJ0nwskC>+9<3YHMq&s;bJ%%S%d1 zii?Yjii!#g3v+XGv$C>MQ&W?ZljGy#J>A{iU0q!r z9UblM?QLvqtgWprEG*2-%uG#9jg5_sjEoEo4fXW&w6wG|G&I!J)z#G0l$Dj0l#~<| z6%`Z|3xu9sWBoi~`z+fZ|UUpe6qqbU;>t@&p6Ne+EVl8IKJM4mNYJvPGQO zu<&rZfTC89$Hj#VjH2phM0QdVOz0ak%$s~9}k_ + + + + + image/svg+xml + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vague.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vague.gif deleted file mode 100644 index ce6a07d9f90ff28796c1bdb4eb30818bb64c5190..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 751 zcmVE~-rnABZf<91XNHD`mX?+vARvc_huPWLDJdxp4Gke7A!=%B zH8nL34h|I+6&V>B1qB5U4-X3q3j_oN0s;b9SXf$GTDrQr%F4>p($dk<(VCi?8yg$c z)YNftaqsW%Vq#+T_4SjJlSM^ED=RB|dwY?QktirAn3$M?f`Xl$oij5tprD}l_xE;o zc9)lz8X6kk-`}&dvoSF-<>lq*=;$9G9~>MU7Z(>)R8&<}RlvZ&etv#EJv|s07|YAc z%*@P7OG{BvQ3eJE*4Ea$ySow+5>r!C^z`&ZL_{MaBUV;cjEsy*N=oqX@G>$oOiWCD zeSPNU<{}~@KR-WkaB%MK?gk21~;ej5n`kP``< zHhocxFnxB97YjxQennFp-6MmGbRuJm1XfOvStL)3Kl-S7650>1qLA~JfM-tLxMSu2IyijBZ-DSQXavP(+5PNJ`3tVYEj|? z0{|UNHbA2C<*c9-mduD@=ZHX=Gj^ACTBM^w;CX`=@lbI1U?&55v@|Z1$qg3{x+YVO h1ck{C5t

^1^4!5woEaEh1u}Nr2R_W1kHK06UkbJLv!b diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vague_jaune.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vague_jaune.gif deleted file mode 100644 index 74ba13ce258487f15e8dbc9562333b810b93f712..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmZ?wbhEHbRArE4_|Cw<%*-qxAi%}NwQ19)-@kwR`ug6vbLZQ)Z-4&$VPs^~)zxKZ zXXoJHICt*clP6EkpFe-^-o3oMy!7<+wzjru)21mXD73e?-@JKKQ&W?dmse3yF)J&} z)YO!Zk55!oR8mrsm6esBpP!qXn}vmiiHRv9A|fg(YS*q^r%s)^bm`K?ix+3jnk6kQ zedWrP!otG$@82gSC4K$+b@JrNuCA`y+S=9C)e|R9)X>nFF=IwkQ`6kJbB&FS7c5xt z{rmT_va;#Zr%Opm-M@c-^XAQlhK5g{K7H}xg}l7HjEs!9xOhlNNN8y2fddEX>gsH5 zZ6zcmPMeL+FNyLaz6IXQp)__2Qd`bCQt{r&s*>eZ_cA3l8W z;6Y+y;<|O~5)u+bL_{`h*zo4fo4&rjWy_Xr+_kp2MV{EO@Nm0;qE?T`#zjZ$#EjGCtPo7< zVe^(_i7fuOuvx0wBqV@=F=-x?00zgCZHX*jI5#ZtKie+C!XUATrGcGYK)K+H z@N)h(Yc?x}mmdS#F0<8{sYoysIx+Q`{c?%qSlmCiU0h7U^1<>GB7Cv#JTV^bM`pCL ztg&dE(RyTZtNpJPl`ohX4z_yv>!e&he#DuX;ef#uhefH*oNRv;I0~8*r`n0h?Rv4e z>EUcaeW^Ih7wqoyMR@|h9DMx2fq|8`_>15s0dC2bT&Eg^0|LC0cw!{WUQS;2kd;kQ z!)C$63(ifJeC#h$43#_E?1JP{4o$qw?sCYE`;|jZ;3H;c23a$QC7+(|IUpi-wj=TN z1c#Z%-*m5Dbg~K&co4&^ccht#UGCaM#;S~q367FG53;gb`FbR}1Q={==8#f)GC{m1 ar?90`QEiKWpqPoELzls^iZ}-b25SI4lR!fN diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vague_orange.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vague_orange.gif deleted file mode 100644 index 176232848419b175ea88bd3ea5ed3fa9cdb97950..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 751 zcmWlW=}*%K06<^cUuo$9Er+GxfYNY-feBNh97=(3xnTt>MuQMhQCS(tRQz=nCN&n? zf(Vni2rN^Vn0bI-^otsgpag^H;ug25QKpGeW7x(v7dPIA_x^xaR9v_;Yf~&nW^odboy`E{fkc-Y844*qDPJRXUJUp{4W3yGmT{fr-X(vV4KKK-S*ECebsYEk>K zB?Cc2yliErnP2V9?j<{lvN$H{xn0lY8VnjPZNwbJ!T`>#N@7Vj5)puXDY??@&+QkzTR?=+VQ2z6@>l!X=dh-oT=&s7ODJZ=)(g1eNUD?qrE56~qhPU@Nor@T2Kk=I|;xhncJw($K~ zPvZ-t!n#(?Ha$t$kF0xcwr5nS2)5KE+43%L^?0=p!%Q!xPv`|*Xq-K|H{n{l!J~S< zy7$?*E2kiGN7y}_lzzG~75GFwcR&WGzz!ToW zI4EHrX5bri!wRIqJ*Wg%$Ob(OfC0Wk6x;-N_yxBi5&|Ft>Y*R@zz#SM#gGK4kPCV6 z1#F=N;^81`=ijg5-}!B&lU z@lNSnU5zZke|~bjM&2#6TTWQb9C|DwFg+$AarRShptPm8J@4~KrAu&mYgvvkL_Tw_ z%Cjt^cqR9iW#n}9_U5`IXYpWgmS#9PNh3D6#0`!2yzn3BatqIqguwy zvvY88oI7{!$&)AN&!4|{?_OSBUV3_ZTU*<-Y10%G6x!R{Z{EDAsj11!%d4oUn3a`f zYHG^I$0sT(Dk&++%F4>m&(F=x&BDUM#KaU45fK#?wQJX|Q>RW{x^(H{#f!6M&61Xu zzH;SCVPWC>_wSRElD>ZZI(hPBS65eUZSCsn>WLF4YG`Q8m@%WNscG)qxyHuE3l=Q+ z{{4GdS=sdI)1{=O?%%(^dGlsNL&K*}pT2nULS9~8Mn*9R7Z(?0W#zE2u%4bCFE6hT zA3hiv8Tt75)YjHMd-hC8Ny*;czM!Ds-Me?3oSZ*?{8+z!{h~#S{{H=Y_3G7!4<9~w z@E|cUaoxIg2?+@zA|e|$YGc&UlD^@T7!2u94 z3I;X=6o0Y+9q^w)2jmP;o?zhk&+wZ=#$&^RgUuYQzamd;Sa`TyKvAp5W8E@2z{JQ&91AfxJv@fytZT$B7J+d5TR^J=hWh zH}lx06znqans36#nzG;lyR#GjZ0UQQoGRTyytV6We3+$m4zZRh&0-KTKHS#fEadi< z+9?1=jY|+<>TYy;^N}r;o;oe+}qpR*x1U3Q#l^(L#KOYDzrVk|y}i7=yt%o#wY9ahw6wCavaqnQtgNi6 zs;a4}si>%^qobpsprDU?XA5U#8PP^U+NNYc1SS;Qk703D2a zIJ^^O44few1UQn$VGfJ{E%=B8kYdq-FUbJd`49ks3;<3TY_!LS2Am23)TFGD3xGNR zMi`MvqTrFVMOD%?*~M(jq6u*X(GeBkf*S|2AW?Xd2Z|Yf0Eo;;V8!Ph3X5`RK}fSv zi8BIT2xtJYLy49jVD^zxXHpr%Ydwq3V>mOX~2XKHkcH7 zY_x47C`X`CI?4!#714epsR&aP^-M|<02Ff#3{#gEv};p(&>%OXM8Jb13IqT + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vent_jaune.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vent_jaune.gif deleted file mode 100644 index b8967a50e12b2889cac333eca03a9b874a677c00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1170 zcmZ?wbhEHbRArE4_|5qeqV(IdbICp+o!k@87$3@18w-cJAD{b?eqGTefW4 zv}wbJ4Qtk{S+#1_%9SfutXQ#l@!|yw7R;SHcg~zS)22=9?d|RE?(XX9YHe+8YHDh1 zY;0&~sHv%`uCA`Cs;a1{C@(KBEiEl5D9Fjl$;!&g$jC@aN=isbh>wpC4-XFw4Gjqi z2@DJj2ng`^_xJPj^Y!)h@$vES@Njo`cX4rXc6N4ha<})zs9~(9lp*Q&Uw{RZ&qR8&w>k&%&>mX?r^5EBy<6%`d0 z78Vi`5)csJlew;pXP%_>?K z4gnpI{h++S!10fPkweB~!-9j&9IR{+CpIiR+%BM~)g$51%HAa*?N_7G#5K>#-zeqC zj)@By6&a>koM2#O5E52aWh$sp=$C2fX+E~~x`2qggX_gYo`(so9sgXH pI7u8`Xd&$?#1Js0+adAFQEroK9v7K;pPUGAa$xHWaA07t1^}KZMPL8` diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vent_orange.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vent_orange.gif deleted file mode 100644 index 794e81cdc20cf01db3e19daf063b91564370330c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 294 zcmZ?wbhEHbRArE4*vtR||NsA&7hw3`!0@t^;Yc#W`Ur;Eehl>v4EYueQF;tkvJ3*e z+>BslK*fqbS%7Rl1|5)2kQodtmjzCEuHGBbcXs!Gg%yn~hg4ivR4q>D@Lp)*wQJQ| zH;pqJMVr{x76>!iI7Bxp<{ayqdxv4-57YH~TKTnNCCu8j&x++O$h*{*drhQ(qg#zR z(YTD`mG7R;2XEFFmj=4aa&c9Kn^lCDuyWhV2eB~4bA-Dvr#iJ)F*QjCF?+MKg-6e- zT$EQP&(7rIXO%0%F=t|nJZJCLLhc-=8F7jW6Sm2)ZuR3Zs$C=Rpv}S-Qh0W|*2(~j m9rFISZfotj|3H!b*yCoc3oou~J%7V|zc?JeX28PcpEMQ5nIxwO5 zlLaWw&7cF~fy`iFIU{hwbM@YcuCu%UE39Z`P2x#>)qAf&!DXUM%c@Ot8bxLoscfG0 zwpo}*NJE+F#1dX>*F%km*T}^kO5AurSYXvb-o(mHqH~!dO<%4S6Iq$$l(9m}BCB8~ z#|M#ROr<`N-af3%T&1xAwQ}q>@y*iizLp%GJ@W3X6CKLqLY=rc3u+XCS{*o+u3Q?V z=vqpF diff --git a/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vent_vert.gif b/bundles/org.openhab.binding.meteoalerte/src/main/resources/picto/vent_vert.gif deleted file mode 100644 index e416771369aa979842f51ed86cffab7e1a5c4683..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1087 zcmZ?wbhEHbRArE4XlDR}0}KoeQ1t89ub)4E{`m3Z`}gl(zkdDl<;&;KpFe&2^zq}z zw{PFRdGqG=>(|epKY#l4>Ep+bA3b{X@ZrNdckbN2ef!3Z8`rO2zk2oRrAwDCT)1%h z^y!l)PaZ#h{MfN$M~@yoa^%RNLx=Y7-@kY7-aUKv?A*C?>(;GXwrtt7Y14)c8`i8@ zvuf38OVESNiY?wmPurcImH+uPgS-QCsI)!N$H)YR12*x1m}P*YP= zU0q#ORaH?@QC?nNT3T9AP>_?8la-Z~k&%&Co{ ztEs7}p`oFsrlzW@s-mKzq@<*%sHmWzASWj$BO@a%EiEA-Atoj!Dk>^0EG#4>Bp@Kb z$H&LZ%ge*V!_Cdj$;rvV!NJbX&c?>Z%F4>j%*@2Z#K_3_|Nnn*(2o)W90H0zS%5D1 z&!7Wx2PjW4aQtUrs`_*VPaLu#w*GpTn zW8y*vMTTh+HB1bhCnoZFhn;!kx}?E~dF7rKNrz<(W@fh~)|}j|&d|