From 67170f6f61df7bd32ae5ee08252fc52f0e550611 Mon Sep 17 00:00:00 2001 From: lsiepel Date: Tue, 27 Aug 2024 19:39:17 +0200 Subject: [PATCH] [electroluxair] Remove binding (#17336) Signed-off-by: Leo Siepel --- CODEOWNERS | 1 - bom/openhab-addons/pom.xml | 5 - .../org.openhab.binding.electroluxair/NOTICE | 13 - .../README.md | 92 ---- .../doc/electrolux_pure_a9.png | Bin 218314 -> 0 bytes .../org.openhab.binding.electroluxair/pom.xml | 15 - .../src/main/feature/feature.xml | 9 - .../ElectroluxAirBindingConstants.java | 68 --- .../ElectroluxAirBridgeConfiguration.java | 28 -- .../internal/ElectroluxAirConfiguration.java | 31 -- .../internal/ElectroluxAirException.java | 47 --- .../internal/api/ElectroluxDeltaAPI.java | 329 --------------- .../ElectroluxAirDiscoveryService.java | 54 --- .../internal/dto/ElectroluxPureA9DTO.java | 392 ------------------ .../handler/ElectroluxAirBridgeHandler.java | 154 ------- .../handler/ElectroluxAirHandler.java | 236 ----------- .../handler/ElectroluxAirHandlerFactory.java | 72 ---- .../src/main/resources/OH-INF/addon/addon.xml | 11 - .../OH-INF/i18n/electroluxair.properties | 67 --- .../OH-INF/i18n/electroluxair_fr.properties | 67 --- .../OH-INF/i18n/electroluxair_it.properties | 67 --- .../resources/OH-INF/thing/thing-types.xml | 200 --------- .../resources/OH-INF/update/instructions.xml | 17 - bundles/pom.xml | 1 - 24 files changed, 1976 deletions(-) delete mode 100644 bundles/org.openhab.binding.electroluxair/NOTICE delete mode 100644 bundles/org.openhab.binding.electroluxair/README.md delete mode 100644 bundles/org.openhab.binding.electroluxair/doc/electrolux_pure_a9.png delete mode 100644 bundles/org.openhab.binding.electroluxair/pom.xml delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/feature/feature.xml delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirBindingConstants.java delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirBridgeConfiguration.java delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirConfiguration.java delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirException.java delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/api/ElectroluxDeltaAPI.java delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/discovery/ElectroluxAirDiscoveryService.java delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/dto/ElectroluxPureA9DTO.java delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/handler/ElectroluxAirBridgeHandler.java delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/handler/ElectroluxAirHandler.java delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/handler/ElectroluxAirHandlerFactory.java delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/addon/addon.xml delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/i18n/electroluxair.properties delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/i18n/electroluxair_fr.properties delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/i18n/electroluxair_it.properties delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/thing/thing-types.xml delete mode 100644 bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/update/instructions.xml diff --git a/CODEOWNERS b/CODEOWNERS index 59b492dac40..b905f055edb 100755 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -95,7 +95,6 @@ /bundles/org.openhab.binding.ecovacs/ @maniac103 /bundles/org.openhab.binding.ecowatt/ @lolodomo /bundles/org.openhab.binding.ekey/ @hmerk -/bundles/org.openhab.binding.electroluxair/ @jannegpriv /bundles/org.openhab.binding.elerotransmitterstick/ @vbier /bundles/org.openhab.binding.elroconnects/ @mherwege /bundles/org.openhab.binding.emotiva/ @espenaf diff --git a/bom/openhab-addons/pom.xml b/bom/openhab-addons/pom.xml index b9ffc86fcde..c7ea965ddbd 100644 --- a/bom/openhab-addons/pom.xml +++ b/bom/openhab-addons/pom.xml @@ -464,11 +464,6 @@ org.openhab.binding.ekey ${project.version} - - org.openhab.addons.bundles - org.openhab.binding.electroluxair - ${project.version} - org.openhab.addons.bundles org.openhab.binding.elerotransmitterstick diff --git a/bundles/org.openhab.binding.electroluxair/NOTICE b/bundles/org.openhab.binding.electroluxair/NOTICE deleted file mode 100644 index 38d625e3492..00000000000 --- a/bundles/org.openhab.binding.electroluxair/NOTICE +++ /dev/null @@ -1,13 +0,0 @@ -This content is produced and maintained by the openHAB project. - -* Project home: https://www.openhab.org - -== Declared Project Licenses - -This program and the accompanying materials are made available under the terms -of the Eclipse Public License 2.0 which is available at -https://www.eclipse.org/legal/epl-2.0/. - -== Source Code - -https://github.com/openhab/openhab-addons diff --git a/bundles/org.openhab.binding.electroluxair/README.md b/bundles/org.openhab.binding.electroluxair/README.md deleted file mode 100644 index b533410b58b..00000000000 --- a/bundles/org.openhab.binding.electroluxair/README.md +++ /dev/null @@ -1,92 +0,0 @@ -# ElectroluxAir Binding - -This is an openHAB binding for the Pure A9 Air Purifier, by Electrolux. - -![Electrolux Pure A9](doc/electrolux_pure_a9.png) - -## Supported Things - -This binding supports the following thing types: - -- api: Bridge - Implements the API that is used to communicate with the Air Purifier - -- electroluxpurea9: The Pure A9 Air Purifier - -## Discovery - -After the configuration of the Bridge, your Electrolux Pure A9 device will be automatically discovered and placed as a thing in the inbox. - -### Configuration Options - -Only the bridge require manual configuration. The Electrolux Pure A9 thing can be added by hand, or you can let the discovery mechanism automatically find it. - -#### Bridge - -| Parameter | Description | Type | Default | Required | -|-----------|--------------------------------------------------------------|--------|----------|----------| -| username | The username used to connect to the Electrolux app | String | NA | yes | -| password | The password used to connect to the Electrolux app | String | NA | yes | -| refresh | Specifies the refresh interval in second | Number | 600 | yes | - -#### Electrolux Pure A9 - -| Parameter | Description | Type | Default | Required | -|-----------|-------------------------------------------------------------------------|--------|----------|----------| -| deviceId | Product ID of your Electrolux Pure A9 found in Electrolux app | Number | NA | yes | - -## Channels - -### Electrolux Pure A9 - -The following channels are supported: - -| Channel Type ID | Item Type | Description | -|-----------------------------|-----------------------|--------------------------------------------------------------------------------| -| temperature | Number:Temperature | This channel reports the current temperature. | -| humidity | Number:Dimensionless | This channel reports the current humidity in percentage. | -| tvoc | Number:Density | This channel reports the total Volatile Organic Compounds in microgram/m3. | -| pm1 | Number:Dimensionless | This channel reports the Particulate Matter 1 in ppb. | -| pm2_5 | Number:Dimensionless | This channel reports the Particulate Matter 2.5 in ppb. | -| pm10 | Number:Dimensionless | This channel reports the Particulate Matter 10 in ppb. | -| co2 | Number:Dimensionless | This channel reports the CO2 level in ppm. | -| fanSpeed | Number | This channel sets and reports the current fan speed (1-9). | -| filterLife | Number:Dimensionless | This channel reports the remaining filter life in %. | -| ionizer | Switch | This channel sets and reports the status of the Ionizer function (On/Off). | -| doorOpen | Contact | This channel reports the status of door (Opened/Closed). | -| workMode | String | This channel sets and reports the current work mode (Auto, Manual, PowerOff.) | -| uiLIght | Switch | This channel sets and reports the status of the UI Light function (On/Off). | -| safetyLock | Switch | This channel sets and reports the status of the Safety Lock function (On/Off).| - -## Full Example - -### Things-file - -```java -// Bridge configuration -Bridge electroluxair:api:myAPI "Electrolux Delta API" [username="user@password.com", password="12345", refresh="300"] { - - Thing electroluxpurea9 myElectroluxPureA9 "Electrolux Pure A9" [ deviceId="123456789" ] - -} -``` - -## Items-file - -```java -// CO2 -Number ElectroluxAirCO2 "Electrolux Air CO2 [%d ppm]" {channel="electroluxair:electroluxpurea9:myAPI:MyElectroluxPureA9:co2"} -// Temperature -Number:Temperature ElectroluxAirTemperature "Electrolux Air Temperature" {channel="electroluxair:electroluxpurea9:myAPI:myElectroluxPureA9:temperature"} -// Door status -Contact ElectroluxAirDoor "Electrolux Air Door Status" {channel="electroluxair:electroluxpurea9:myAPI:myElectroluxPureA9:doorOpen"} -// Work mode -String ElectroluxAirWorkModeSetting "ElectroluxAir Work Mode Setting" {channel="electroluxair:electroluxpurea9:myAPI:myElectroluxPureA9:workMode"} -// Fan speed -Number ElectroluxAirFanSpeed "Electrolux Air Fan Speed Setting" {channel="electroluxair:electroluxpurea9:myAPI:myElectroluxPureA9:fanSpeed"} -// UI Light -Switch ElectroluxAirUILight "Electrolux Air UI Light Setting" {channel="electroluxair:electroluxpurea9:myAPI:myElectroluxPureA9:uiLight"} -// Ionizer -Switch ElectroluxAirIonizer "Electrolux Air Ionizer Setting" {channel="electroluxair:electroluxpurea9:myAPI:myElectroluxPureA9:ionizer"} -// Safety Lock -Switch ElectroluxAirSafetyLock "Electrolux Air Safety Lock Setting" {channel="electroluxair:electroluxpurea9:myAPI:myElectroluxPureA9:safetyLock"} -``` diff --git a/bundles/org.openhab.binding.electroluxair/doc/electrolux_pure_a9.png b/bundles/org.openhab.binding.electroluxair/doc/electrolux_pure_a9.png deleted file mode 100644 index 430ca014c2256ae7a3837a74802030400f9ebed5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 218314 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Ν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
C! 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
JKp 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�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 diff --git a/bundles/org.openhab.binding.electroluxair/pom.xml b/bundles/org.openhab.binding.electroluxair/pom.xml deleted file mode 100644 index 5501b92b3d8..00000000000 --- a/bundles/org.openhab.binding.electroluxair/pom.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - 4.0.0 - - - org.openhab.addons.bundles - org.openhab.addons.reactor.bundles - 4.2.2-SNAPSHOT - - - org.openhab.binding.electroluxair - - openHAB Add-ons :: Bundles :: ElectroluxAir Binding - - diff --git a/bundles/org.openhab.binding.electroluxair/src/main/feature/feature.xml b/bundles/org.openhab.binding.electroluxair/src/main/feature/feature.xml deleted file mode 100644 index 3ac1bc7c9f1..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/feature/feature.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - mvn:org.openhab.core.features.karaf/org.openhab.core.features.karaf.openhab-core/${ohc.version}/xml/features - - - openhab-runtime-base - mvn:org.openhab.addons.bundles/org.openhab.binding.electroluxair/${project.version} - - diff --git a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirBindingConstants.java b/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirBindingConstants.java deleted file mode 100644 index 37dab24c535..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirBindingConstants.java +++ /dev/null @@ -1,68 +0,0 @@ -/** - * Copyright (c) 2010-2024 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.electroluxair.internal; - -import java.util.Set; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.openhab.core.thing.ThingTypeUID; - -/** - * The {@link ElectroluxAirBindingConstants} class defines common constants, which are - * used across the whole binding. - * - * @author Jan Gustafsson - Initial contribution - */ -@NonNullByDefault -public class ElectroluxAirBindingConstants { - - public static final String BINDING_ID = "electroluxair"; - - // List of all Thing Type UIDs - public static final ThingTypeUID THING_TYPE_ELECTROLUX_PURE_A9 = new ThingTypeUID(BINDING_ID, "electroluxpurea9"); - public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, "api"); - - // List of all Channel ids - public static final String CHANNEL_STATUS = "status"; - public static final String CHANNEL_TEMPERATURE = "temperature"; - public static final String CHANNEL_HUMIDITY = "humidity"; - public static final String CHANNEL_TVOC = "tvoc"; - public static final String CHANNEL_PM1 = "pm1"; - public static final String CHANNEL_PM25 = "pm2_5"; - public static final String CHANNEL_PM10 = "pm10"; - public static final String CHANNEL_CO2 = "co2"; - public static final String CHANNEL_FILTER_LIFE = "filterLife"; - public static final String CHANNEL_DOOR_OPEN = "doorOpen"; - public static final String CHANNEL_FAN_SPEED = "fanSpeed"; - public static final String CHANNEL_WORK_MODE = "workMode"; - public static final String CHANNEL_IONIZER = "ionizer"; - public static final String CHANNEL_UI_LIGHT = "uiLight"; - public static final String CHANNEL_SAFETY_LOCK = "safetyLock"; - - // List of all Properties ids - public static final String PROPERTY_BRAND = "brand"; - public static final String PROPERTY_COLOUR = "colour"; - public static final String PROPERTY_MODEL = "model"; - public static final String PROPERTY_DEVICE = "device"; - public static final String PROPERTY_FW_VERSION = "fwVersion"; - public static final String PROPERTY_SERIAL_NUMBER = "serialNumber"; - public static final String PROPERTY_WORKMODE = "workmode"; - - // List of all Commands - public static final String COMMAND_WORKMODE_POWEROFF = "PowerOff"; - public static final String COMMAND_WORKMODE_AUTO = "Auto"; - public static final String COMMAND_WORKMODE_MANUAL = "Manual"; - - public static final Set SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_BRIDGE, - THING_TYPE_ELECTROLUX_PURE_A9); -} diff --git a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirBridgeConfiguration.java b/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirBridgeConfiguration.java deleted file mode 100644 index 37ef76071a7..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirBridgeConfiguration.java +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Copyright (c) 2010-2024 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.electroluxair.internal; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; - -/** - * The {@link ElectroluxAirBridgeConfiguration} class contains fields mapping bridge configuration parameters. - * - * @author Jan Gustafsson - Initial contribution - */ -@NonNullByDefault -public class ElectroluxAirBridgeConfiguration { - public @Nullable String username; - public @Nullable String password; - public int refresh; -} diff --git a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirConfiguration.java b/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirConfiguration.java deleted file mode 100644 index d3522e83066..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirConfiguration.java +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Copyright (c) 2010-2024 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.electroluxair.internal; - -import org.eclipse.jdt.annotation.NonNullByDefault; - -/** - * The {@link ElectroluxAirConfiguration} class contains fields mapping thing configuration parameters. - * - * @author Jan Gustafsson - Initial contribution - */ -@NonNullByDefault -public class ElectroluxAirConfiguration { - public static final String DEVICE_ID_LABEL = "deviceId"; - - private String deviceId = ""; - - public String getDeviceId() { - return deviceId; - } -} diff --git a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirException.java b/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirException.java deleted file mode 100644 index ee621215a00..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/ElectroluxAirException.java +++ /dev/null @@ -1,47 +0,0 @@ -/** - * Copyright (c) 2010-2024 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.electroluxair.internal; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; - -/** - * {@link ElectroluxAirException} is used when there is exception communicating with Electrolux Delta API. - * - * @author Jan Gustafsson - Initial contribution - */ -@NonNullByDefault -public class ElectroluxAirException extends Exception { - - private static final long serialVersionUID = 2543564118231301159L; - - public ElectroluxAirException(Exception source) { - super(source); - } - - public ElectroluxAirException(String message) { - super(message); - } - - @Override - public @Nullable String getMessage() { - Throwable throwable = getCause(); - if (throwable != null) { - String localMessage = throwable.getMessage(); - if (localMessage != null) { - return localMessage; - } - } - return ""; - } -} diff --git a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/api/ElectroluxDeltaAPI.java b/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/api/ElectroluxDeltaAPI.java deleted file mode 100644 index d3bc982d855..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/api/ElectroluxDeltaAPI.java +++ /dev/null @@ -1,329 +0,0 @@ -/** - * Copyright (c) 2010-2024 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.electroluxair.internal.api; - -import java.time.Instant; -import java.util.Map; -import java.util.concurrent.ExecutionException; -import java.util.concurrent.TimeUnit; -import java.util.concurrent.TimeoutException; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jetty.client.HttpClient; -import org.eclipse.jetty.client.api.ContentResponse; -import org.eclipse.jetty.client.api.Request; -import org.eclipse.jetty.client.util.StringContentProvider; -import org.eclipse.jetty.http.HttpHeader; -import org.eclipse.jetty.http.HttpMethod; -import org.eclipse.jetty.http.HttpStatus; -import org.openhab.binding.electroluxair.internal.ElectroluxAirBridgeConfiguration; -import org.openhab.binding.electroluxair.internal.ElectroluxAirException; -import org.openhab.binding.electroluxair.internal.dto.ElectroluxPureA9DTO; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import com.google.gson.Gson; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import com.google.gson.JsonSyntaxException; - -/** - * The {@link ElectroluxDeltaAPI} class defines the Elextrolux Delta API - * - * @author Jan Gustafsson - Initial contribution - */ -@NonNullByDefault -public class ElectroluxDeltaAPI { - private static final String CLIENT_ID = "ElxOneApp"; - private static final String CLIENT_SECRET = "8UKrsKD7jH9zvTV7rz5HeCLkit67Mmj68FvRVTlYygwJYy4dW6KF2cVLPKeWzUQUd6KJMtTifFf4NkDnjI7ZLdfnwcPtTSNtYvbP7OzEkmQD9IjhMOf5e1zeAQYtt2yN"; - private static final String X_API_KEY = "2AMqwEV5MqVhTKrRCyYfVF8gmKrd2rAmp7cUsfky"; - - private static final String BASE_URL = "https://api.ocp.electrolux.one"; - private static final String TOKEN_URL = BASE_URL + "/one-account-authorization/api/v1/token"; - private static final String AUTHENTICATION_URL = BASE_URL + "/one-account-authentication/api/v1/authenticate"; - private static final String API_URL = BASE_URL + "/appliance/api/v2"; - private static final String APPLIANCES_URL = API_URL + "/appliances"; - - private static final String JSON_CONTENT_TYPE = "application/json"; - private static final int MAX_RETRIES = 3; - private static final int REQUEST_TIMEOUT_MS = 10_000; - - private final Logger logger = LoggerFactory.getLogger(ElectroluxDeltaAPI.class); - private final Gson gson; - private final HttpClient httpClient; - private final ElectroluxAirBridgeConfiguration configuration; - private String authToken = ""; - private Instant tokenExpiry = Instant.MIN; - - public ElectroluxDeltaAPI(ElectroluxAirBridgeConfiguration configuration, Gson gson, HttpClient httpClient) { - this.gson = gson; - this.configuration = configuration; - this.httpClient = httpClient; - } - - public boolean refresh(Map electroluxAirThings) { - try { - if (Instant.now().isAfter(this.tokenExpiry)) { - // Login again since token is expired - login(); - } - // Get all appliances - String json = getAppliances(); - ElectroluxPureA9DTO[] dtos = gson.fromJson(json, ElectroluxPureA9DTO[].class); - if (dtos != null) { - for (ElectroluxPureA9DTO dto : dtos) { - String applianceId = dto.getApplianceId(); - // Get appliance info - String jsonApplianceInfo = getAppliancesInfo(applianceId); - ElectroluxPureA9DTO.ApplianceInfo applianceInfo = gson.fromJson(jsonApplianceInfo, - ElectroluxPureA9DTO.ApplianceInfo.class); - if (applianceInfo != null) { - if ("AIR_PURIFIER".equals(applianceInfo.getDeviceType())) { - dto.setApplianceInfo(applianceInfo); - electroluxAirThings.put(dto.getProperties().getReported().getDeviceId(), dto); - } - } - } - return true; - } - } catch (JsonSyntaxException | ElectroluxAirException e) { - logger.warn("Failed to refresh! {}", e.getMessage()); - } - return false; - } - - public boolean workModePowerOff(String applianceId) { - String commandJSON = "{ \"WorkMode\": \"PowerOff\" }"; - try { - return sendCommand(commandJSON, applianceId); - } catch (ElectroluxAirException e) { - logger.warn("Work mode powerOff failed {}", e.getMessage()); - } - return false; - } - - public boolean workModeAuto(String applianceId) { - String commandJSON = "{ \"WorkMode\": \"Auto\" }"; - try { - return sendCommand(commandJSON, applianceId); - } catch (ElectroluxAirException e) { - logger.warn("Work mode auto failed {}", e.getMessage()); - } - return false; - } - - public boolean workModeManual(String applianceId) { - String commandJSON = "{ \"WorkMode\": \"Manual\" }"; - try { - return sendCommand(commandJSON, applianceId); - } catch (ElectroluxAirException e) { - logger.warn("Work mode manual failed {}", e.getMessage()); - } - return false; - } - - public boolean setFanSpeedLevel(String applianceId, int fanSpeedLevel) { - if (fanSpeedLevel < 1 && fanSpeedLevel > 10) { - return false; - } else { - String commandJSON = "{ \"Fanspeed\": " + fanSpeedLevel + "}"; - try { - return sendCommand(commandJSON, applianceId); - } catch (ElectroluxAirException e) { - logger.warn("Work mode manual failed {}", e.getMessage()); - } - } - return false; - } - - public boolean setIonizer(String applianceId, String ionizerStatus) { - String commandJSON = "{ \"Ionizer\": " + ionizerStatus + "}"; - try { - return sendCommand(commandJSON, applianceId); - } catch (ElectroluxAirException e) { - logger.warn("Work mode manual failed {}", e.getMessage()); - } - return false; - } - - public boolean setUILight(String applianceId, String uiLightStatus) { - String commandJSON = "{ \"UILight\": " + uiLightStatus + "}"; - try { - return sendCommand(commandJSON, applianceId); - } catch (ElectroluxAirException e) { - logger.warn("Work mode manual failed {}", e.getMessage()); - } - return false; - } - - public boolean setSafetyLock(String applianceId, String safetyLockStatus) { - String commandJSON = "{ \"SafetyLock\": " + safetyLockStatus + "}"; - try { - return sendCommand(commandJSON, applianceId); - } catch (ElectroluxAirException e) { - logger.warn("Work mode manual failed {}", e.getMessage()); - } - return false; - } - - private Request createRequest(String uri, HttpMethod httpMethod) { - Request request = httpClient.newRequest(uri).method(httpMethod); - request.timeout(REQUEST_TIMEOUT_MS, TimeUnit.MILLISECONDS); - request.header(HttpHeader.ACCEPT, JSON_CONTENT_TYPE); - request.header(HttpHeader.CONTENT_TYPE, JSON_CONTENT_TYPE); - - logger.debug("HTTP POST Request {}.", request.toString()); - - return request; - } - - private void login() throws ElectroluxAirException { - try { - String json = "{\"clientId\": \"" + CLIENT_ID + "\", \"clientSecret\": \"" + CLIENT_SECRET - + "\", \"grantType\": \"client_credentials\"}"; - - // Fetch ClientToken - Request request = createRequest(TOKEN_URL, HttpMethod.POST); - request.content(new StringContentProvider(json), JSON_CONTENT_TYPE); - - logger.debug("HTTP POST Request {}.", request.toString()); - - ContentResponse httpResponse = request.send(); - if (httpResponse.getStatus() != HttpStatus.OK_200) { - throw new ElectroluxAirException("Failed to get token 1" + httpResponse.getContentAsString()); - } - json = httpResponse.getContentAsString(); - logger.trace("Token 1: {}", json); - JsonObject jsonObject = JsonParser.parseString(json).getAsJsonObject(); - String clientToken = jsonObject.get("accessToken").getAsString(); - - // Login using access token 1 - json = "{ \"username\": \"" + configuration.username + "\", \"password\": \"" + configuration.password - + "\" }"; - request = createRequest(AUTHENTICATION_URL, HttpMethod.POST); - request.header(HttpHeader.AUTHORIZATION, "Bearer " + clientToken); - request.header("x-api-key", X_API_KEY); - - request.content(new StringContentProvider(json), JSON_CONTENT_TYPE); - - logger.debug("HTTP POST Request {}.", request.toString()); - - httpResponse = request.send(); - if (httpResponse.getStatus() != HttpStatus.OK_200) { - throw new ElectroluxAirException("Failed to login " + httpResponse.getContentAsString()); - } - json = httpResponse.getContentAsString(); - logger.trace("Token 2: {}", json); - jsonObject = JsonParser.parseString(json).getAsJsonObject(); - String idToken = jsonObject.get("idToken").getAsString(); - String countryCode = jsonObject.get("countryCode").getAsString(); - String credentials = "{\"clientId\": \"" + CLIENT_ID + "\", \"idToken\": \"" + idToken - + "\", \"grantType\": \"urn:ietf:params:oauth:grant-type:token-exchange\"}"; - - // Fetch access token 2 - request = createRequest(TOKEN_URL, HttpMethod.POST); - request.header("Origin-Country-Code", countryCode); - request.content(new StringContentProvider(credentials), JSON_CONTENT_TYPE); - - logger.debug("HTTP POST Request {}.", request.toString()); - - httpResponse = request.send(); - if (httpResponse.getStatus() != HttpStatus.OK_200) { - throw new ElectroluxAirException("Failed to get token 1" + httpResponse.getContentAsString()); - } - - // Fetch AccessToken - json = httpResponse.getContentAsString(); - logger.trace("AccessToken: {}", json); - jsonObject = JsonParser.parseString(json).getAsJsonObject(); - this.authToken = jsonObject.get("accessToken").getAsString(); - int expiresIn = jsonObject.get("expiresIn").getAsInt(); - this.tokenExpiry = Instant.now().plusSeconds(expiresIn); - } catch (InterruptedException | TimeoutException | ExecutionException e) { - throw new ElectroluxAirException(e); - } - } - - private String getFromApi(String uri) throws ElectroluxAirException, InterruptedException { - try { - for (int i = 0; i < MAX_RETRIES; i++) { - try { - Request request = createRequest(uri, HttpMethod.GET); - request.header(HttpHeader.AUTHORIZATION, "Bearer " + authToken); - request.header("x-api-key", X_API_KEY); - - ContentResponse response = request.send(); - String content = response.getContentAsString(); - logger.trace("API response: {}", content); - - if (response.getStatus() != HttpStatus.OK_200) { - logger.debug("getFromApi failed, HTTP status: {}", response.getStatus()); - login(); - } else { - return content; - } - } catch (TimeoutException e) { - logger.debug("TimeoutException error in get: {}", e.getMessage()); - } - } - throw new ElectroluxAirException("Failed to fetch from API!"); - } catch (JsonSyntaxException | ElectroluxAirException | ExecutionException e) { - throw new ElectroluxAirException(e); - } - } - - private String getAppliances() throws ElectroluxAirException { - try { - return getFromApi(APPLIANCES_URL); - } catch (ElectroluxAirException | InterruptedException e) { - throw new ElectroluxAirException(e); - } - } - - private String getAppliancesInfo(String applianceId) throws ElectroluxAirException { - try { - return getFromApi(APPLIANCES_URL + "/" + applianceId + "/info"); - } catch (ElectroluxAirException | InterruptedException e) { - throw new ElectroluxAirException(e); - } - } - - private boolean sendCommand(String commandJSON, String applianceId) throws ElectroluxAirException { - try { - for (int i = 0; i < MAX_RETRIES; i++) { - try { - Request request = createRequest(APPLIANCES_URL + "/" + applianceId + "/command", HttpMethod.PUT); - request.header(HttpHeader.AUTHORIZATION, "Bearer " + authToken); - request.header("x-api-key", X_API_KEY); - request.content(new StringContentProvider(commandJSON), JSON_CONTENT_TYPE); - - ContentResponse response = request.send(); - String content = response.getContentAsString(); - logger.trace("API response: {}", content); - - if (response.getStatus() != HttpStatus.OK_200) { - logger.debug("sendCommand failed, HTTP status: {}", response.getStatus()); - login(); - } else { - return true; - } - } catch (TimeoutException | InterruptedException e) { - logger.warn("TimeoutException error in get"); - } - } - } catch (JsonSyntaxException | ElectroluxAirException | ExecutionException e) { - throw new ElectroluxAirException(e); - } - return false; - } -} diff --git a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/discovery/ElectroluxAirDiscoveryService.java b/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/discovery/ElectroluxAirDiscoveryService.java deleted file mode 100644 index c875c066d08..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/discovery/ElectroluxAirDiscoveryService.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Copyright (c) 2010-2024 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.electroluxair.internal.discovery; - -import static org.openhab.binding.electroluxair.internal.ElectroluxAirBindingConstants.*; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.openhab.binding.electroluxair.internal.ElectroluxAirConfiguration; -import org.openhab.binding.electroluxair.internal.handler.ElectroluxAirBridgeHandler; -import org.openhab.core.config.discovery.AbstractThingHandlerDiscoveryService; -import org.openhab.core.config.discovery.DiscoveryResultBuilder; -import org.openhab.core.thing.ThingUID; -import org.osgi.service.component.annotations.Component; -import org.osgi.service.component.annotations.ServiceScope; - -/** - * The {@link ElectroluxAirDiscoveryService} searches for available - * Electrolux Pure A9 discoverable through Electrolux Delta API. - * - * @author Jan Gustafsson - Initial contribution - */ -@Component(scope = ServiceScope.PROTOTYPE, service = ElectroluxAirDiscoveryService.class) -@NonNullByDefault -public class ElectroluxAirDiscoveryService extends AbstractThingHandlerDiscoveryService { - private static final int SEARCH_TIME = 2; - - public ElectroluxAirDiscoveryService() { - super(ElectroluxAirBridgeHandler.class, SUPPORTED_THING_TYPES_UIDS, SEARCH_TIME); - } - - @Override - protected void startScan() { - ThingUID bridgeUID = thingHandler.getThing().getUID(); - thingHandler.getElectroluxAirThings().entrySet().stream().forEach(thing -> { - thingDiscovered(DiscoveryResultBuilder - .create(new ThingUID(THING_TYPE_ELECTROLUX_PURE_A9, bridgeUID, thing.getKey())) - .withLabel("Electrolux Pure A9").withBridge(bridgeUID) - .withProperty(ElectroluxAirConfiguration.DEVICE_ID_LABEL, thing.getKey()) - .withRepresentationProperty(ElectroluxAirConfiguration.DEVICE_ID_LABEL).build()); - }); - - stopScan(); - } -} diff --git a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/dto/ElectroluxPureA9DTO.java b/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/dto/ElectroluxPureA9DTO.java deleted file mode 100644 index 3ee4532985b..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/dto/ElectroluxPureA9DTO.java +++ /dev/null @@ -1,392 +0,0 @@ -/** - * Copyright (c) 2010-2024 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.electroluxair.internal.dto; - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.jdt.annotation.NonNullByDefault; - -import com.google.gson.annotations.SerializedName; - -/** - * The {@link ElectroluxPureA9DTO} class defines the DTO for the Electrolux Pure A9. - * - * @author Jan Gustafsson - Initial contribution - */ -@NonNullByDefault -public class ElectroluxPureA9DTO { - private String applianceId = ""; - private ApplianceInfo applianceInfo = new ApplianceInfo(); - private ApplianceData applianceData = new ApplianceData(); - private Properties properties = new Properties(); - private String status = ""; - private String connectionState = ""; - - public String getApplianceId() { - return applianceId; - } - - public ApplianceInfo getApplianceInfo() { - return applianceInfo; - } - - public void setApplianceInfo(ApplianceInfo applianceInfo) { - this.applianceInfo = applianceInfo; - } - - public ApplianceData getApplianceData() { - return applianceData; - } - - public Properties getProperties() { - return properties; - } - - public String getStatus() { - return status; - } - - public String getConnectionState() { - return connectionState; - } - - public class ApplianceInfo { - private String manufacturingDateCode = ""; - private String serialNumber = ""; - private String pnc = ""; - private String brand = ""; - private String market = ""; - private String productArea = ""; - private String deviceType = ""; - private String project = ""; - private String model = ""; - private String variant = ""; - private String colour = ""; - - public String getManufacturingDateCode() { - return manufacturingDateCode; - } - - public String getSerialNumber() { - return serialNumber; - } - - public String getPnc() { - return pnc; - } - - public String getBrand() { - return brand; - } - - public String getMarket() { - return market; - } - - public String getProductArea() { - return productArea; - } - - public String getDeviceType() { - return deviceType; - } - - public String getProject() { - return project; - } - - public String getModel() { - return model; - } - - public String getVariant() { - return variant; - } - - public String getColour() { - return colour; - } - } - - class ApplianceData { - private String applianceName = ""; - private String created = ""; - private String modelName = ""; - - public String getApplianceName() { - return applianceName; - } - - public String getCreated() { - return created; - } - - public String getModelName() { - return modelName; - } - } - - public class Properties { - private Desired desired = new Desired(); - private Reported reported = new Reported(); - private Object metadata = new Object(); - - public Desired getDesired() { - return desired; - } - - public Reported getReported() { - return reported; - } - - public Object getMetadata() { - return metadata; - } - } - - class Desired { - @SerializedName("TimeZoneStandardName") - private String timeZoneStandardName = ""; - @SerializedName("FrmVer_NIU") - private String frmVerNIU = ""; - @SerializedName("LocationReq") - private boolean locationReq; - private Map metadata = new HashMap<>(); - private int version; - - public String getTimeZoneStandardName() { - return timeZoneStandardName; - } - - public String getFrmVerNIU() { - return frmVerNIU; - } - - public boolean isLocationReq() { - return locationReq; - } - - public Map getMetadata() { - return metadata; - } - - public int getVersion() { - return version; - } - } - - public class Reported { - @SerializedName("FrmVer_NIU") - private String frmVerNIU = ""; - @SerializedName("Workmode") - private String workmode = ""; - @SerializedName("FilterRFID") - private String filterRFID = ""; - @SerializedName("FilterLife") - private int filterLife = 0; - @SerializedName("Fanspeed") - private int fanSpeed = 0; - @SerializedName("UILight") - private boolean uiLight = false; - @SerializedName("SafetyLock") - private boolean safetyLock = false; - @SerializedName("Ionizer") - private boolean ionizer = false; - @SerializedName("Sleep") - private boolean sleep = false; - @SerializedName("Scheduler") - private boolean scheduler = false; - @SerializedName("FilterType") - private int filterType = 0; - @SerializedName("DspIcoPM2_5") - private boolean dspIcoPM25 = false; - @SerializedName("DspIcoPM1") - private boolean dspIcoPM1 = false; - @SerializedName("DspIcoPM10") - private boolean dspIcoPM10 = false; - @SerializedName("DspIcoTVOC") - private boolean dspIcoTVOC = false; - @SerializedName("ErrPM2_5") - private boolean errPM25 = false; - @SerializedName("ErrTVOC") - private boolean errTVOC = false; - @SerializedName("ErrTempHumidity") - private boolean errTempHumidity = false; - @SerializedName("ErrFanMtr") - private boolean errFanMtr = false; - @SerializedName("ErrCommSensorDisplayBrd") - private boolean errCommSensorDisplayBrd = false; - @SerializedName("DoorOpen") - private boolean doorOpen = false; - @SerializedName("ErrRFID") - private boolean errRFID = false; - @SerializedName("SignalStrength") - private String signalStrength = ""; - private Map metadata = new HashMap<>(); - private int version = 0; - private String deviceId = ""; - @SerializedName("CO2") - private int co2 = 0; - @SerializedName("TVOC") - private int tvoc = 0; - @SerializedName("Temp") - private int temp = 0; - @SerializedName("Humidity") - private int humidity = 0; - @SerializedName("RSSI") - private int rssi = 0; - @SerializedName("PM1") - private int pm1 = 0; - @SerializedName("PM2_5") - private int pm25 = 0; - @SerializedName("PM10") - private int pm10 = 0; - - public String getFrmVerNIU() { - return frmVerNIU; - } - - public String getWorkmode() { - return workmode; - } - - public String getFilterRFID() { - return filterRFID; - } - - public int getFilterLife() { - return filterLife; - } - - public int getFanspeed() { - return fanSpeed; - } - - public boolean isUILight() { - return uiLight; - } - - public boolean isSafetyLock() { - return safetyLock; - } - - public boolean isIonizer() { - return ionizer; - } - - public boolean isSleep() { - return sleep; - } - - public boolean isScheduler() { - return scheduler; - } - - public int getFilterType() { - return filterType; - } - - public boolean isDspIcoPM25() { - return dspIcoPM25; - } - - public boolean isDspIcoPM1() { - return dspIcoPM1; - } - - public boolean isDspIcoPM10() { - return dspIcoPM10; - } - - public boolean isDspIcoTVOC() { - return dspIcoTVOC; - } - - public boolean isErrPM25() { - return errPM25; - } - - public boolean isErrTVOC() { - return errTVOC; - } - - public boolean isErrTempHumidity() { - return errTempHumidity; - } - - public boolean isErrFanMtr() { - return errFanMtr; - } - - public boolean isErrCommSensorDisplayBrd() { - return errCommSensorDisplayBrd; - } - - public boolean isDoorOpen() { - return doorOpen; - } - - public boolean isErrRFID() { - return errRFID; - } - - public String getSignalStrength() { - return signalStrength; - } - - public Map getMetadata() { - return metadata; - } - - public int getVersion() { - return version; - } - - public String getDeviceId() { - return deviceId; - } - - public int getCO2() { - return co2; - } - - public int getTVOC() { - return tvoc; - } - - public int getTemp() { - return temp; - } - - public int getHumidity() { - return humidity; - } - - public int getRSSI() { - return rssi; - } - - public int getPM1() { - return pm1; - } - - public int getPM25() { - return pm25; - } - - public int getPM10() { - return pm10; - } - } -} diff --git a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/handler/ElectroluxAirBridgeHandler.java b/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/handler/ElectroluxAirBridgeHandler.java deleted file mode 100644 index 5355bda6802..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/handler/ElectroluxAirBridgeHandler.java +++ /dev/null @@ -1,154 +0,0 @@ -/** - * Copyright (c) 2010-2024 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.electroluxair.internal.handler; - -import static org.openhab.binding.electroluxair.internal.ElectroluxAirBindingConstants.*; - -import java.util.Collection; -import java.util.Map; -import java.util.Set; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ScheduledFuture; -import java.util.concurrent.TimeUnit; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jetty.client.HttpClient; -import org.openhab.binding.electroluxair.internal.ElectroluxAirBridgeConfiguration; -import org.openhab.binding.electroluxair.internal.api.ElectroluxDeltaAPI; -import org.openhab.binding.electroluxair.internal.discovery.ElectroluxAirDiscoveryService; -import org.openhab.binding.electroluxair.internal.dto.ElectroluxPureA9DTO; -import org.openhab.core.thing.Bridge; -import org.openhab.core.thing.ChannelUID; -import org.openhab.core.thing.ThingStatus; -import org.openhab.core.thing.ThingStatusDetail; -import org.openhab.core.thing.ThingTypeUID; -import org.openhab.core.thing.binding.BaseBridgeHandler; -import org.openhab.core.thing.binding.ThingHandlerService; -import org.openhab.core.types.Command; -import org.openhab.core.types.RefreshType; - -import com.google.gson.Gson; - -/** - * The {@link ElectroluxAirBridgeHandler} is responsible for handling commands, which are - * sent to one of the channels. - * - * @author Jan Gustafsson - Initial contribution - */ -@NonNullByDefault -public class ElectroluxAirBridgeHandler extends BaseBridgeHandler { - - public static final Set SUPPORTED_THING_TYPES = Set.of(THING_TYPE_BRIDGE); - - private int refreshTimeInSeconds = 300; - - private final Gson gson; - private final HttpClient httpClient; - private final Map electroluxAirThings = new ConcurrentHashMap<>(); - - private @Nullable ElectroluxDeltaAPI api; - private @Nullable ScheduledFuture refreshJob; - - public ElectroluxAirBridgeHandler(Bridge bridge, HttpClient httpClient, Gson gson) { - super(bridge); - this.httpClient = httpClient; - this.gson = gson; - } - - @Override - public void initialize() { - ElectroluxAirBridgeConfiguration config = getConfigAs(ElectroluxAirBridgeConfiguration.class); - - ElectroluxDeltaAPI electroluxDeltaAPI = new ElectroluxDeltaAPI(config, gson, httpClient); - refreshTimeInSeconds = config.refresh; - - if (config.username == null || config.password == null) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, - "Configuration of username, password is mandatory"); - } else if (refreshTimeInSeconds < 0) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.CONFIGURATION_ERROR, - "Refresh time cannot be negative!"); - } else { - try { - this.api = electroluxDeltaAPI; - scheduler.execute(() -> { - updateStatus(ThingStatus.UNKNOWN); - startAutomaticRefresh(); - - }); - } catch (RuntimeException e) { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, e.getMessage()); - } - } - } - - public Map getElectroluxAirThings() { - return electroluxAirThings; - } - - @Override - public Collection> getServices() { - return Set.of(ElectroluxAirDiscoveryService.class); - } - - @Override - public void dispose() { - stopAutomaticRefresh(); - } - - public @Nullable ElectroluxDeltaAPI getElectroluxDeltaAPI() { - return api; - } - - private boolean refreshAndUpdateStatus() { - if (api != null) { - if (api.refresh(electroluxAirThings)) { - getThing().getThings().stream().forEach(thing -> { - ElectroluxAirHandler handler = (ElectroluxAirHandler) thing.getHandler(); - if (handler != null) { - handler.update(); - } - }); - updateStatus(ThingStatus.ONLINE); - return true; - } else { - updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR); - } - } - return false; - } - - private void startAutomaticRefresh() { - ScheduledFuture refreshJob = this.refreshJob; - if (refreshJob == null || refreshJob.isCancelled()) { - this.refreshJob = scheduler.scheduleWithFixedDelay(this::refreshAndUpdateStatus, 0, refreshTimeInSeconds, - TimeUnit.SECONDS); - } - } - - private void stopAutomaticRefresh() { - ScheduledFuture refreshJob = this.refreshJob; - if (refreshJob != null) { - refreshJob.cancel(true); - this.refreshJob = null; - } - } - - @Override - public void handleCommand(ChannelUID channelUID, Command command) { - if (CHANNEL_STATUS.equals(channelUID.getId()) && command instanceof RefreshType) { - scheduler.schedule(this::refreshAndUpdateStatus, 1, TimeUnit.SECONDS); - } - } -} diff --git a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/handler/ElectroluxAirHandler.java b/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/handler/ElectroluxAirHandler.java deleted file mode 100644 index e83164b1dea..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/handler/ElectroluxAirHandler.java +++ /dev/null @@ -1,236 +0,0 @@ -/** - * Copyright (c) 2010-2024 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.electroluxair.internal.handler; - -import static org.openhab.binding.electroluxair.internal.ElectroluxAirBindingConstants.*; - -import java.util.HashMap; -import java.util.Map; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.openhab.binding.electroluxair.internal.ElectroluxAirBindingConstants; -import org.openhab.binding.electroluxair.internal.ElectroluxAirConfiguration; -import org.openhab.binding.electroluxair.internal.api.ElectroluxDeltaAPI; -import org.openhab.binding.electroluxair.internal.dto.ElectroluxPureA9DTO; -import org.openhab.core.library.types.OnOffType; -import org.openhab.core.library.types.OpenClosedType; -import org.openhab.core.library.types.QuantityType; -import org.openhab.core.library.types.StringType; -import org.openhab.core.library.unit.SIUnits; -import org.openhab.core.library.unit.Units; -import org.openhab.core.thing.Bridge; -import org.openhab.core.thing.Channel; -import org.openhab.core.thing.ChannelUID; -import org.openhab.core.thing.Thing; -import org.openhab.core.thing.ThingStatus; -import org.openhab.core.thing.binding.BaseThingHandler; -import org.openhab.core.thing.binding.BridgeHandler; -import org.openhab.core.types.Command; -import org.openhab.core.types.RefreshType; -import org.openhab.core.types.State; -import org.openhab.core.types.UnDefType; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -/** - * The {@link ElectroluxAirHandler} is responsible for handling commands, which are - * sent to one of the channels. - * - * @author Jan Gustafsson - Initial contribution - */ -@NonNullByDefault -public class ElectroluxAirHandler extends BaseThingHandler { - - private final Logger logger = LoggerFactory.getLogger(ElectroluxAirHandler.class); - - private ElectroluxAirConfiguration config = new ElectroluxAirConfiguration(); - - public ElectroluxAirHandler(Thing thing) { - super(thing); - } - - @Override - public void handleCommand(ChannelUID channelUID, Command command) { - logger.debug("Command received: {}", command); - if (CHANNEL_STATUS.equals(channelUID.getId()) || command instanceof RefreshType) { - Bridge bridge = getBridge(); - if (bridge != null) { - BridgeHandler bridgeHandler = bridge.getHandler(); - if (bridgeHandler != null) { - bridgeHandler.handleCommand(channelUID, command); - } - } - } else { - ElectroluxPureA9DTO dto = getElectroluxPureA9DTO(); - ElectroluxDeltaAPI api = getElectroluxDeltaAPI(); - if (api != null && dto != null) { - if (CHANNEL_WORK_MODE.equals(channelUID.getId())) { - if (command.toString().equals(COMMAND_WORKMODE_POWEROFF)) { - api.workModePowerOff(dto.getApplianceId()); - } else if (command.toString().equals(COMMAND_WORKMODE_AUTO)) { - api.workModeAuto(dto.getApplianceId()); - } else if (command.toString().equals(COMMAND_WORKMODE_MANUAL)) { - api.workModeManual(dto.getApplianceId()); - } - } else if (CHANNEL_FAN_SPEED.equals(channelUID.getId())) { - api.setFanSpeedLevel(dto.getApplianceId(), Integer.parseInt(command.toString())); - } else if (CHANNEL_IONIZER.equals(channelUID.getId())) { - if (command == OnOffType.OFF) { - api.setIonizer(dto.getApplianceId(), "false"); - } else if (command == OnOffType.ON) { - api.setIonizer(dto.getApplianceId(), "true"); - } else { - logger.debug("Unknown command! {}", command); - } - } else if (CHANNEL_UI_LIGHT.equals(channelUID.getId())) { - if (command == OnOffType.OFF) { - api.setUILight(dto.getApplianceId(), "false"); - } else if (command == OnOffType.ON) { - api.setUILight(dto.getApplianceId(), "true"); - } else { - logger.debug("Unknown command! {}", command); - } - } else if (CHANNEL_SAFETY_LOCK.equals(channelUID.getId())) { - if (command == OnOffType.OFF) { - api.setSafetyLock(dto.getApplianceId(), "false"); - } else if (command == OnOffType.ON) { - api.setSafetyLock(dto.getApplianceId(), "true"); - } else { - logger.debug("Unknown command! {}", command); - } - } - - Bridge bridge = getBridge(); - if (bridge != null) { - BridgeHandler bridgeHandler = bridge.getHandler(); - if (bridgeHandler != null) { - bridgeHandler.handleCommand( - new ChannelUID(this.thing.getUID(), ElectroluxAirBindingConstants.CHANNEL_STATUS), - RefreshType.REFRESH); - } - } - } - } - } - - @Override - public void initialize() { - config = getConfigAs(ElectroluxAirConfiguration.class); - updateStatus(ThingStatus.UNKNOWN); - - scheduler.execute(() -> { - update(); - Map properties = refreshProperties(); - updateProperties(properties); - }); - } - - public void update() { - ElectroluxPureA9DTO dto = getElectroluxPureA9DTO(); - if (dto != null) { - update(dto); - } else { - logger.warn("ElectroluxPureA9DTO is null!"); - } - } - - private @Nullable ElectroluxDeltaAPI getElectroluxDeltaAPI() { - Bridge bridge = getBridge(); - if (bridge != null) { - ElectroluxAirBridgeHandler handler = (ElectroluxAirBridgeHandler) bridge.getHandler(); - if (handler != null) { - return handler.getElectroluxDeltaAPI(); - } - } - return null; - } - - private @Nullable ElectroluxPureA9DTO getElectroluxPureA9DTO() { - Bridge bridge = getBridge(); - if (bridge != null) { - ElectroluxAirBridgeHandler bridgeHandler = (ElectroluxAirBridgeHandler) bridge.getHandler(); - if (bridgeHandler != null) { - return bridgeHandler.getElectroluxAirThings().get(config.getDeviceId()); - } - } - return null; - } - - private void update(@Nullable ElectroluxPureA9DTO dto) { - if (dto != null) { - // Update all channels from the updated data - getThing().getChannels().stream().map(Channel::getUID).filter(channelUID -> isLinked(channelUID)) - .forEach(channelUID -> { - State state = getValue(channelUID.getId(), dto); - logger.trace("Channel: {}, State: {}", channelUID, state); - updateState(channelUID, state); - }); - updateStatus(ThingStatus.ONLINE); - } - } - - private State getValue(String channelId, ElectroluxPureA9DTO dto) { - switch (channelId) { - case CHANNEL_TEMPERATURE: - return new QuantityType<>(dto.getProperties().getReported().getTemp(), SIUnits.CELSIUS); - case CHANNEL_HUMIDITY: - return new QuantityType<>(dto.getProperties().getReported().getHumidity(), Units.PERCENT); - case CHANNEL_TVOC: - return new QuantityType<>(dto.getProperties().getReported().getTVOC(), Units.MICROGRAM_PER_CUBICMETRE); - case CHANNEL_PM1: - return new QuantityType<>(dto.getProperties().getReported().getPM1(), Units.PARTS_PER_BILLION); - case CHANNEL_PM25: - return new QuantityType<>(dto.getProperties().getReported().getPM25(), Units.PARTS_PER_BILLION); - case CHANNEL_PM10: - return new QuantityType<>(dto.getProperties().getReported().getPM10(), Units.PARTS_PER_BILLION); - case CHANNEL_CO2: - return new QuantityType<>(dto.getProperties().getReported().getCO2(), Units.PARTS_PER_MILLION); - case CHANNEL_FAN_SPEED: - return new StringType(Integer.toString(dto.getProperties().getReported().getFanspeed())); - case CHANNEL_FILTER_LIFE: - return new QuantityType<>(dto.getProperties().getReported().getFilterLife(), Units.PERCENT); - case CHANNEL_IONIZER: - return OnOffType.from(dto.getProperties().getReported().isIonizer()); - case CHANNEL_UI_LIGHT: - return OnOffType.from(dto.getProperties().getReported().isUILight()); - case CHANNEL_SAFETY_LOCK: - return OnOffType.from(dto.getProperties().getReported().isSafetyLock()); - case CHANNEL_WORK_MODE: - return new StringType(dto.getProperties().getReported().getWorkmode()); - case CHANNEL_DOOR_OPEN: - return dto.getProperties().getReported().isDoorOpen() ? OpenClosedType.OPEN : OpenClosedType.CLOSED; - } - return UnDefType.UNDEF; - } - - private Map refreshProperties() { - Map properties = new HashMap<>(); - Bridge bridge = getBridge(); - if (bridge != null) { - ElectroluxAirBridgeHandler bridgeHandler = (ElectroluxAirBridgeHandler) bridge.getHandler(); - if (bridgeHandler != null) { - ElectroluxPureA9DTO dto = bridgeHandler.getElectroluxAirThings().get(config.getDeviceId()); - if (dto != null) { - properties.put(Thing.PROPERTY_VENDOR, dto.getApplianceInfo().getBrand()); - properties.put(PROPERTY_COLOUR, dto.getApplianceInfo().getColour()); - properties.put(PROPERTY_DEVICE, dto.getApplianceInfo().getDeviceType()); - properties.put(Thing.PROPERTY_MODEL_ID, dto.getApplianceInfo().getModel()); - properties.put(Thing.PROPERTY_SERIAL_NUMBER, dto.getApplianceInfo().getSerialNumber()); - properties.put(Thing.PROPERTY_FIRMWARE_VERSION, dto.getProperties().getReported().getFrmVerNIU()); - } - } - } - return properties; - } -} diff --git a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/handler/ElectroluxAirHandlerFactory.java b/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/handler/ElectroluxAirHandlerFactory.java deleted file mode 100644 index a5c03a7108a..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/java/org/openhab/binding/electroluxair/internal/handler/ElectroluxAirHandlerFactory.java +++ /dev/null @@ -1,72 +0,0 @@ -/** - * Copyright (c) 2010-2024 Contributors to the openHAB project - * - * See the NOTICE file(s) distributed with this work for additional - * information. - * - * This program and the accompanying materials are made available under the - * terms of the Eclipse Public License 2.0 which is available at - * http://www.eclipse.org/legal/epl-2.0 - * - * SPDX-License-Identifier: EPL-2.0 - */ -package org.openhab.binding.electroluxair.internal.handler; - -import static org.openhab.binding.electroluxair.internal.ElectroluxAirBindingConstants.*; - -import java.util.Set; - -import org.eclipse.jdt.annotation.NonNullByDefault; -import org.eclipse.jdt.annotation.Nullable; -import org.eclipse.jetty.client.HttpClient; -import org.openhab.core.io.net.http.HttpClientFactory; -import org.openhab.core.thing.Bridge; -import org.openhab.core.thing.Thing; -import org.openhab.core.thing.ThingTypeUID; -import org.openhab.core.thing.binding.BaseThingHandlerFactory; -import org.openhab.core.thing.binding.ThingHandler; -import org.openhab.core.thing.binding.ThingHandlerFactory; -import org.osgi.service.component.annotations.Activate; -import org.osgi.service.component.annotations.Component; -import org.osgi.service.component.annotations.Reference; - -import com.google.gson.Gson; - -/** - * The {@link ElectroluxAirHandlerFactory} is responsible for creating things and thing - * handlers. - * - * @author Jan Gustafsson - Initial contribution - */ -@NonNullByDefault -@Component(configurationPid = "binding.electroluxair", service = ThingHandlerFactory.class) -public class ElectroluxAirHandlerFactory extends BaseThingHandlerFactory { - - private static final Set SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_ELECTROLUX_PURE_A9, - THING_TYPE_BRIDGE); - private final Gson gson; - private final HttpClient httpClient; - - @Activate - public ElectroluxAirHandlerFactory(@Reference HttpClientFactory httpClientFactory) { - this.httpClient = httpClientFactory.getCommonHttpClient(); - this.gson = new Gson(); - } - - @Override - public boolean supportsThingType(ThingTypeUID thingTypeUID) { - return SUPPORTED_THING_TYPES_UIDS.contains(thingTypeUID); - } - - @Override - protected @Nullable ThingHandler createHandler(Thing thing) { - ThingTypeUID thingTypeUID = thing.getThingTypeUID(); - - if (THING_TYPE_ELECTROLUX_PURE_A9.equals(thingTypeUID)) { - return new ElectroluxAirHandler(thing); - } else if (THING_TYPE_BRIDGE.equals(thingTypeUID)) { - return new ElectroluxAirBridgeHandler((Bridge) thing, httpClient, gson); - } - return null; - } -} diff --git a/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/addon/addon.xml b/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/addon/addon.xml deleted file mode 100644 index c1ab9cb8c5e..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/addon/addon.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - binding - ElectroluxAir Binding - This is the binding for Electrolux Pure A9 Air Purifier. - cloud - - diff --git a/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/i18n/electroluxair.properties b/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/i18n/electroluxair.properties deleted file mode 100644 index 8f481de8cbc..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/i18n/electroluxair.properties +++ /dev/null @@ -1,67 +0,0 @@ -# add-on - -addon.electroluxair.name = ElectroluxAir Binding -addon.electroluxair.description = This is the binding for Electrolux Pure A9 Air Purifier. - -# thing types - -thing-type.electroluxair.api.label = Electrolux Delta API -thing-type.electroluxair.api.description = This bridge represents the web API connector. -thing-type.electroluxair.electroluxpurea9.label = ElectroluxAir Pure A9 -thing-type.electroluxair.electroluxpurea9.description = This thing represents the ElectroluxAir Pure A9. - -# thing types config - -thing-type.config.electroluxair.api.password.label = Password -thing-type.config.electroluxair.api.password.description = The password used to login to Electrolux Wellbeing app. -thing-type.config.electroluxair.api.refresh.label = Refresh Interval -thing-type.config.electroluxair.api.refresh.description = Specifies the refresh interval in seconds. -thing-type.config.electroluxair.api.username.label = Username -thing-type.config.electroluxair.api.username.description = The username used to login to Electrolux Wellbeing app. -thing-type.config.electroluxair.electroluxpurea9.deviceId.label = Device Id -thing-type.config.electroluxair.electroluxpurea9.deviceId.description = Unique Id. - -# channel types - -channel-type.electroluxair.co2.label = CO2 -channel-type.electroluxair.co2.description = CarbonDioxide -channel-type.electroluxair.doorOpen.label = Door Status -channel-type.electroluxair.doorOpen.description = Door Status Open/Closed -channel-type.electroluxair.fanSpeed.label = Fan Speed Setting -channel-type.electroluxair.fanSpeed.description = Fan Speed Setting -channel-type.electroluxair.fanSpeed.state.option.1 = Level 1 -channel-type.electroluxair.fanSpeed.state.option.2 = Level 2 -channel-type.electroluxair.fanSpeed.state.option.3 = Level 3 -channel-type.electroluxair.fanSpeed.state.option.4 = Level 4 -channel-type.electroluxair.fanSpeed.state.option.5 = Level 5 -channel-type.electroluxair.fanSpeed.state.option.6 = Level 6 -channel-type.electroluxair.fanSpeed.state.option.7 = Level 7 -channel-type.electroluxair.fanSpeed.state.option.8 = Level 8 -channel-type.electroluxair.fanSpeed.state.option.9 = Level 9 -channel-type.electroluxair.filterLife.label = Filter Life -channel-type.electroluxair.filterLife.description = Filter Life -channel-type.electroluxair.humidity.label = Humidity -channel-type.electroluxair.humidity.description = Humidity -channel-type.electroluxair.ionizer.label = Ionizer Status -channel-type.electroluxair.ionizer.description = Ionizer Status -channel-type.electroluxair.pm1.label = PM1 -channel-type.electroluxair.pm1.description = Particulate Matter 1 (0.001mm) -channel-type.electroluxair.pm10.label = PM10 -channel-type.electroluxair.pm10.description = Particulate Matter 10 (0.01mm) -channel-type.electroluxair.pm2_5.label = PM2.5 -channel-type.electroluxair.pm2_5.description = Particulate Matter 2.5 (0.0025mm) -channel-type.electroluxair.safetyLock.label = Safety Lock -channel-type.electroluxair.safetyLock.description = Safety Lock Status -channel-type.electroluxair.status.label = Current Status -channel-type.electroluxair.status.description = Information on current status. -channel-type.electroluxair.temperature.label = Temperature -channel-type.electroluxair.temperature.description = Temperature -channel-type.electroluxair.tvoc.label = TVOC -channel-type.electroluxair.tvoc.description = Total Volatile Organic Compounds -channel-type.electroluxair.uiLight.label = UI Light -channel-type.electroluxair.uiLight.description = Air Quality Light Status -channel-type.electroluxair.workMode.label = Work Mode Setting -channel-type.electroluxair.workMode.description = Work Mode Setting -channel-type.electroluxair.workMode.state.option.PowerOff = Power Off -channel-type.electroluxair.workMode.state.option.Auto = Automatic -channel-type.electroluxair.workMode.state.option.Manual = Manual diff --git a/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/i18n/electroluxair_fr.properties b/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/i18n/electroluxair_fr.properties deleted file mode 100644 index 99436f34b79..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/i18n/electroluxair_fr.properties +++ /dev/null @@ -1,67 +0,0 @@ -# add-on - -addon.electroluxair.name = Extension ElectroluxAir -addon.electroluxair.description = Il s'agit de l'extension pour le purificateur d'air Electrolux Pure A9. - -# thing types - -thing-type.electroluxair.api.label = API Delta Electrolux -thing-type.electroluxair.api.description = Cette passerelle représente le connecteur de l'API web. -thing-type.electroluxair.electroluxpurea9.label = ElectroluxAir Pure A9 -thing-type.electroluxair.electroluxpurea9.description = Cet objet représente l'ElectroluxAir Pure A9. - -# thing types config - -thing-type.config.electroluxair.api.password.label = Mot de passe -thing-type.config.electroluxair.api.password.description = Le mot de passe utilisé pour se connecter à l'application Wellbeing Electrolux. -thing-type.config.electroluxair.api.refresh.label = Intervalle d’actualisation -thing-type.config.electroluxair.api.refresh.description = Définit l'intervalle d'actualisation en secondes. -thing-type.config.electroluxair.api.username.label = Nom d'utilisateur -thing-type.config.electroluxair.api.username.description = Le nom d'utilisateur utilisé pour se connecter à l'application Wellbeing Electrolux. -thing-type.config.electroluxair.electroluxpurea9.deviceId.label = Identifiant de l'appareil -thing-type.config.electroluxair.electroluxpurea9.deviceId.description = Identifiant unique - -# channel types - -channel-type.electroluxair.co2.label = CO2 -channel-type.electroluxair.co2.description = Dioxyde de carbone -channel-type.electroluxair.doorOpen.label = État Porte -channel-type.electroluxair.doorOpen.description = Statut de la porte ouverte/fermée -channel-type.electroluxair.fanSpeed.label = Réglage Vitesse Ventilateur -channel-type.electroluxair.fanSpeed.description = Réglage de la vitesse du ventilateur -channel-type.electroluxair.fanSpeed.state.option.1 = Vitesse 1 -channel-type.electroluxair.fanSpeed.state.option.2 = Vitesse 2 -channel-type.electroluxair.fanSpeed.state.option.3 = Vitesse 3 -channel-type.electroluxair.fanSpeed.state.option.4 = Vitesse 4 -channel-type.electroluxair.fanSpeed.state.option.5 = Vitesse 5 -channel-type.electroluxair.fanSpeed.state.option.6 = Vitesse 6 -channel-type.electroluxair.fanSpeed.state.option.7 = Vitesse 7 -channel-type.electroluxair.fanSpeed.state.option.8 = Vitesse 8 -channel-type.electroluxair.fanSpeed.state.option.9 = Vitesse 9 -channel-type.electroluxair.filterLife.label = Durée Vie Filtre -channel-type.electroluxair.filterLife.description = Durée de vie du filtre -channel-type.electroluxair.humidity.label = Humidité -channel-type.electroluxair.humidity.description = Humidité -channel-type.electroluxair.ionizer.label = Statut Ioniseur -channel-type.electroluxair.ionizer.description = Statut de l'ioniseur -channel-type.electroluxair.pm1.label = PM1 -channel-type.electroluxair.pm1.description = Densité de particules 1 (0.001mm) -channel-type.electroluxair.pm10.label = PM10 -channel-type.electroluxair.pm10.description = Densité de particules 10 (0.01mm) -channel-type.electroluxair.pm2_5.label = PM2.5 -channel-type.electroluxair.pm2_5.description = Densité de particules 2.5 (0.0025mm) -channel-type.electroluxair.safetyLock.label = Verrou Sécurité -channel-type.electroluxair.safetyLock.description = Statut du verrouillage de sécurité -channel-type.electroluxair.status.label = État Actuel -channel-type.electroluxair.status.description = Informations sur l'état actuel. -channel-type.electroluxair.temperature.label = Température -channel-type.electroluxair.temperature.description = Température -channel-type.electroluxair.tvoc.label = TVOC -channel-type.electroluxair.tvoc.description = Total de composés organiques volatils -channel-type.electroluxair.uiLight.label = Lumière Interface -channel-type.electroluxair.uiLight.description = Statut de la lumière indiquant la qualité de l'air -channel-type.electroluxair.workMode.label = Réglage Mode Fonctionnement -channel-type.electroluxair.workMode.description = Réglage du mode de fonctionnement -channel-type.electroluxair.workMode.state.option.PowerOff = Extinction -channel-type.electroluxair.workMode.state.option.Auto = Automatique -channel-type.electroluxair.workMode.state.option.Manual = Manuel diff --git a/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/i18n/electroluxair_it.properties b/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/i18n/electroluxair_it.properties deleted file mode 100644 index 588e891dbda..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/i18n/electroluxair_it.properties +++ /dev/null @@ -1,67 +0,0 @@ -# add-on - -addon.electroluxair.name = Binding ElectroluxAir -addon.electroluxair.description = Questo è il binding per il Purificatore Electrolux Pure A9 Air. - -# thing types - -thing-type.electroluxair.api.label = API Electrolux Delta -thing-type.electroluxair.api.description = Questo bridge rappresenta il connettore web API. -thing-type.electroluxair.electroluxpurea9.label = ElectroluxAir Pure A9 -thing-type.electroluxair.electroluxpurea9.description = Questo Thing rappresenta l'ElectroluxAir Pure A9. - -# thing types config - -thing-type.config.electroluxair.api.password.label = Password -thing-type.config.electroluxair.api.password.description = La password utilizzata per accedere all'app Electrolux Wellbeing. -thing-type.config.electroluxair.api.refresh.label = Intervallo di aggiornamento -thing-type.config.electroluxair.api.refresh.description = Specifica l'intervallo di aggiornamento in secondi. -thing-type.config.electroluxair.api.username.label = Nome utente -thing-type.config.electroluxair.api.username.description = Il nome utente usato per accedere all'app Electrolux Wellbeing. -thing-type.config.electroluxair.electroluxpurea9.deviceId.label = Id Dispositivo -thing-type.config.electroluxair.electroluxpurea9.deviceId.description = Id univoco. - -# channel types - -channel-type.electroluxair.co2.label = CO2 -channel-type.electroluxair.co2.description = Diossido di Carbonio -channel-type.electroluxair.doorOpen.label = Stato Porta -channel-type.electroluxair.doorOpen.description = Stato Della Porta Aperto/Chiuso -channel-type.electroluxair.fanSpeed.label = Impostazioni Velocità Ventilatore -channel-type.electroluxair.fanSpeed.description = Impostazioni della Velocità del Ventilatore -channel-type.electroluxair.fanSpeed.state.option.1 = Livello 1 -channel-type.electroluxair.fanSpeed.state.option.2 = Livello 2 -channel-type.electroluxair.fanSpeed.state.option.3 = Livello 3 -channel-type.electroluxair.fanSpeed.state.option.4 = Livello 4 -channel-type.electroluxair.fanSpeed.state.option.5 = Livello 5 -channel-type.electroluxair.fanSpeed.state.option.6 = Livello 6 -channel-type.electroluxair.fanSpeed.state.option.7 = Livello 7 -channel-type.electroluxair.fanSpeed.state.option.8 = Livello 8 -channel-type.electroluxair.fanSpeed.state.option.9 = Livello 9 -channel-type.electroluxair.filterLife.label = Vita Filtro -channel-type.electroluxair.filterLife.description = Vita del Filtro -channel-type.electroluxair.humidity.label = Umidità -channel-type.electroluxair.humidity.description = Umidità -channel-type.electroluxair.ionizer.label = Stato Ionizzatore -channel-type.electroluxair.ionizer.description = Stato Ionizzatore -channel-type.electroluxair.pm1.label = PM1 -channel-type.electroluxair.pm1.description = Particolato 1 (0.001mm) -channel-type.electroluxair.pm10.label = PM10 -channel-type.electroluxair.pm10.description = Particolato 10 (0.01mm) -channel-type.electroluxair.pm2_5.label = PM 2.5 -channel-type.electroluxair.pm2_5.description = Particolato 2.5 (0.0025mm) -channel-type.electroluxair.safetyLock.label = Blocco Di Sicurezza -channel-type.electroluxair.safetyLock.description = Stato Blocco Di Sicurezza -channel-type.electroluxair.status.label = Stato Attuale -channel-type.electroluxair.status.description = Informazioni sullo stato attuale. -channel-type.electroluxair.temperature.label = Temperatura -channel-type.electroluxair.temperature.description = Temperatura -channel-type.electroluxair.tvoc.label = TVOC -channel-type.electroluxair.tvoc.description = Composti Organici Volatili Totali -channel-type.electroluxair.uiLight.label = Luminosità UI -channel-type.electroluxair.uiLight.description = Luce Stato Qualità Dell'Aria -channel-type.electroluxair.workMode.label = Impostazioni Modalità Lavoro -channel-type.electroluxair.workMode.description = Impostazioni Modalità Lavoro -channel-type.electroluxair.workMode.state.option.PowerOff = Spegnimento -channel-type.electroluxair.workMode.state.option.Auto = Automatico -channel-type.electroluxair.workMode.state.option.Manual = Manuale diff --git a/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/thing/thing-types.xml deleted file mode 100644 index 518d32d8db0..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/thing/thing-types.xml +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - This bridge represents the web API connector. - - - Electrolux - - - - - - The username used to login to Electrolux Wellbeing app. - - - - password - The password used to login to Electrolux Wellbeing app. - - - - Specifies the refresh interval in seconds. - 300 - - - - - - - - - - - This thing represents the ElectroluxAir Pure A9. - - - - - - - - - - - - - - - - - - - - - Electrolux - 1 - - - deviceId - - - - - Unique Id. - - - - - - - String - - Information on current status. - - - - - Number:Temperature - - Temperature - Temperature - - - - - - Number:Dimensionless - - Humidity - Humidity - - - - - Number:Density - - Total Volatile Organic Compounds - - - - - - Number:Dimensionless - - Particulate Matter 1 (0.001mm) - - - - - Number:Dimensionless - - Particulate Matter 2.5 (0.0025mm) - - - - - Number:Dimensionless - - Particulate Matter 10 (0.01mm) - - - - - Number:Dimensionless - - CarbonDioxide - - - - - Number:Dimensionless - - Filter Life - - - - - Contact - - Door Status Open/Closed - - - - - Number - - Fan Speed Setting - - - - - - - - - - - - - - - - - String - - Work Mode Setting - - - - - - - - - - - Switch - - Ionizer Status - - - - Switch - - Air Quality Light Status - - - - Switch - - Safety Lock Status - - - - diff --git a/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/update/instructions.xml b/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/update/instructions.xml deleted file mode 100644 index 43ed5857d39..00000000000 --- a/bundles/org.openhab.binding.electroluxair/src/main/resources/OH-INF/update/instructions.xml +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - - electroluxair:uiLight - - - electroluxair:safetyLock - - - - - diff --git a/bundles/pom.xml b/bundles/pom.xml index bbee46d0467..b4bad25705e 100644 --- a/bundles/pom.xml +++ b/bundles/pom.xml @@ -126,7 +126,6 @@ org.openhab.binding.ecovacs org.openhab.binding.ecowatt org.openhab.binding.ekey - org.openhab.binding.electroluxair org.openhab.binding.elerotransmitterstick org.openhab.binding.elroconnects org.openhab.binding.emotiva