2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.mielecloud.internal;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.core.thing.ThingTypeUID;
19 * The {@link MieleCloudBindingConstants} class defines common constants, which are
20 * used across the whole binding.
22 * @author Roland Edelhoff - Initial contribution
23 * @author Björn Lange - Added locale config parameter, added i18n key collection
24 * @author Benjamin Bolte - Add pre-heat finished and plate step channels, door state and door alarm channels, info
25 * state channel and map signal flags from API
26 * @author Björn Lange - Add elapsed time channel, dish warmer thing, removed e-mail validation
29 public final class MieleCloudBindingConstants {
31 private MieleCloudBindingConstants() {
37 public static final String BINDING_ID = "mielecloud";
40 * Thing type ID of Miele cloud bridges / accounts.
42 public static final String BRIDGE_TYPE_ID = "account";
45 * The {@link ThingTypeUID} of Miele cloud bridges / accounts.
47 public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, BRIDGE_TYPE_ID);
50 * The {@link ThingTypeUID} of Miele washing machines.
52 public static final ThingTypeUID THING_TYPE_WASHING_MACHINE = new ThingTypeUID(BINDING_ID, "washing_machine");
55 * The {@link ThingTypeUID} of Miele washer-dryers.
57 public static final ThingTypeUID THING_TYPE_WASHER_DRYER = new ThingTypeUID(BINDING_ID, "washer_dryer");
60 * The {@link ThingTypeUID} of Miele coffee machines.
62 public static final ThingTypeUID THING_TYPE_COFFEE_SYSTEM = new ThingTypeUID(BINDING_ID, "coffee_system");
65 * The {@link ThingTypeUID} of Miele fridge-freezers.
67 public static final ThingTypeUID THING_TYPE_FRIDGE_FREEZER = new ThingTypeUID(BINDING_ID, "fridge_freezer");
70 * The {@link ThingTypeUID} of Miele fridges.
72 public static final ThingTypeUID THING_TYPE_FRIDGE = new ThingTypeUID(BINDING_ID, "fridge");
75 * The {@link ThingTypeUID} of Miele freezers.
77 public static final ThingTypeUID THING_TYPE_FREEZER = new ThingTypeUID(BINDING_ID, "freezer");
80 * The {@link ThingTypeUID} of Miele ovens.
82 public static final ThingTypeUID THING_TYPE_OVEN = new ThingTypeUID(BINDING_ID, "oven");
85 * The {@link ThingTypeUID} of Miele hobs.
87 public static final ThingTypeUID THING_TYPE_HOB = new ThingTypeUID(BINDING_ID, "hob");
90 * The {@link ThingTypeUID} of Miele wine storages.
92 public static final ThingTypeUID THING_TYPE_WINE_STORAGE = new ThingTypeUID(BINDING_ID, "wine_storage");
95 * The {@link ThingTypeUID} of Miele dishwashers.
97 public static final ThingTypeUID THING_TYPE_DISHWASHER = new ThingTypeUID(BINDING_ID, "dishwasher");
100 * The {@link ThingTypeUID} of Miele dryers.
102 public static final ThingTypeUID THING_TYPE_DRYER = new ThingTypeUID(BINDING_ID, "dryer");
105 * The {@link ThingTypeUID} of Miele hoods.
107 public static final ThingTypeUID THING_TYPE_HOOD = new ThingTypeUID(BINDING_ID, "hood");
110 * The {@link ThingTypeUID} of Miele dish warmers.
112 public static final ThingTypeUID THING_TYPE_DISH_WARMER = new ThingTypeUID(BINDING_ID, "dish_warmer");
115 * The {@link ThingTypeUID} of Miele robotic vacuum cleaners.
117 public static final ThingTypeUID THING_TYPE_ROBOTIC_VACUUM_CLEANER = new ThingTypeUID(BINDING_ID,
118 "robotic_vacuum_cleaner");
121 * Name of the property storing the OAuth2 access token.
123 public static final String PROPERTY_ACCESS_TOKEN = "accessToken";
126 * Name of the configuration parameter for the e-mail address.
128 public static final String CONFIG_PARAM_EMAIL = "email";
131 * Name of the configuration parameter for the device identifier uniquely identifying a Miele device.
133 public static final String CONFIG_PARAM_DEVICE_IDENTIFIER = "deviceIdentifier";
136 * Name of the configuration parameter for the locale. The locale is stored as a 2-letter language code.
138 public static final String CONFIG_PARAM_LOCALE = "locale";
141 * Name of the property storing the number of plates for hobs.
143 public static final String PROPERTY_PLATE_COUNT = "plateCount";
146 * Constants for all channels.
148 public static final class Channels {
152 public static final String REMOTE_CONTROL_CAN_BE_STARTED = "remote_control_can_be_started";
153 public static final String REMOTE_CONTROL_CAN_BE_STOPPED = "remote_control_can_be_stopped";
154 public static final String REMOTE_CONTROL_CAN_BE_PAUSED = "remote_control_can_be_paused";
155 public static final String REMOTE_CONTROL_CAN_BE_SWITCHED_ON = "remote_control_can_be_switched_on";
156 public static final String REMOTE_CONTROL_CAN_BE_SWITCHED_OFF = "remote_control_can_be_switched_off";
157 public static final String REMOTE_CONTROL_CAN_SET_PROGRAM_ACTIVE = "remote_control_can_set_program_active";
158 public static final String SPINNING_SPEED = "spinning_speed";
159 public static final String SPINNING_SPEED_RAW = "spinning_speed_raw";
160 public static final String PROGRAM_ACTIVE = "program_active";
161 public static final String PROGRAM_ACTIVE_RAW = "program_active_raw";
162 public static final String DISH_WARMER_PROGRAM_ACTIVE = "dish_warmer_program_active";
163 public static final String VACUUM_CLEANER_PROGRAM_ACTIVE = "vacuum_cleaner_program_active";
164 public static final String PROGRAM_PHASE = "program_phase";
165 public static final String PROGRAM_PHASE_RAW = "program_phase_raw";
166 public static final String OPERATION_STATE = "operation_state";
167 public static final String OPERATION_STATE_RAW = "operation_state_raw";
168 public static final String PROGRAM_START_STOP = "program_start_stop";
169 public static final String PROGRAM_START_STOP_PAUSE = "program_start_stop_pause";
170 public static final String POWER_ON_OFF = "power_state_on_off";
171 public static final String FINISH_STATE = "finish_state";
172 public static final String DELAYED_START_TIME = "delayed_start_time";
173 public static final String PROGRAM_REMAINING_TIME = "program_remaining_time";
174 public static final String PROGRAM_ELAPSED_TIME = "program_elapsed_time";
175 public static final String PROGRAM_PROGRESS = "program_progress";
176 public static final String DRYING_TARGET = "drying_target";
177 public static final String DRYING_TARGET_RAW = "drying_target_raw";
178 public static final String PRE_HEAT_FINISHED = "pre_heat_finished";
179 public static final String TEMPERATURE_TARGET = "temperature_target";
180 public static final String TEMPERATURE_CURRENT = "temperature_current";
181 public static final String TEMPERATURE_CORE_TARGET = "temperature_core_target";
182 public static final String TEMPERATURE_CORE_CURRENT = "temperature_core_current";
183 public static final String VENTILATION_POWER = "ventilation_power";
184 public static final String VENTILATION_POWER_RAW = "ventilation_power_raw";
185 public static final String ERROR_STATE = "error_state";
186 public static final String INFO_STATE = "info_state";
187 public static final String FRIDGE_SUPER_COOL = "fridge_super_cool";
188 public static final String FREEZER_SUPER_FREEZE = "freezer_super_freeze";
189 public static final String SUPER_COOL_CAN_BE_CONTROLLED = "super_cool_can_be_controlled";
190 public static final String SUPER_FREEZE_CAN_BE_CONTROLLED = "super_freeze_can_be_controlled";
191 public static final String FRIDGE_TEMPERATURE_TARGET = "fridge_temperature_target";
192 public static final String FRIDGE_TEMPERATURE_CURRENT = "fridge_temperature_current";
193 public static final String FREEZER_TEMPERATURE_TARGET = "freezer_temperature_target";
194 public static final String FREEZER_TEMPERATURE_CURRENT = "freezer_temperature_current";
195 public static final String TOP_TEMPERATURE_TARGET = "top_temperature_target";
196 public static final String TOP_TEMPERATURE_CURRENT = "top_temperature_current";
197 public static final String MIDDLE_TEMPERATURE_TARGET = "middle_temperature_target";
198 public static final String MIDDLE_TEMPERATURE_CURRENT = "middle_temperature_current";
199 public static final String BOTTOM_TEMPERATURE_TARGET = "bottom_temperature_target";
200 public static final String BOTTOM_TEMPERATURE_CURRENT = "bottom_temperature_current";
201 public static final String LIGHT_SWITCH = "light_switch";
202 public static final String LIGHT_CAN_BE_CONTROLLED = "light_can_be_controlled";
203 public static final String PLATE_1_POWER_STEP = "plate_1_power_step";
204 public static final String PLATE_1_POWER_STEP_RAW = "plate_1_power_step_raw";
205 public static final String PLATE_2_POWER_STEP = "plate_2_power_step";
206 public static final String PLATE_2_POWER_STEP_RAW = "plate_2_power_step_raw";
207 public static final String PLATE_3_POWER_STEP = "plate_3_power_step";
208 public static final String PLATE_3_POWER_STEP_RAW = "plate_3_power_step_raw";
209 public static final String PLATE_4_POWER_STEP = "plate_4_power_step";
210 public static final String PLATE_4_POWER_STEP_RAW = "plate_4_power_step_raw";
211 public static final String PLATE_5_POWER_STEP = "plate_5_power_step";
212 public static final String PLATE_5_POWER_STEP_RAW = "plate_5_power_step_raw";
213 public static final String PLATE_6_POWER_STEP = "plate_6_power_step";
214 public static final String PLATE_6_POWER_STEP_RAW = "plate_6_power_step_raw";
215 public static final String DOOR_STATE = "door_state";
216 public static final String DOOR_ALARM = "door_alarm";
217 public static final String BATTERY_LEVEL = "battery_level";
221 * Constants for i18n keys.
223 public static final class I18NKeys {
227 public static final String BRIDGE_STATUS_DESCRIPTION_ACCESS_TOKEN_NOT_CONFIGURED = "@text/mielecloud.bridge.status.access.token.not.configured";
228 public static final String BRIDGE_STATUS_DESCRIPTION_ACCOUNT_NOT_AUTHORIZED = "@text/mielecloud.bridge.status.account.not.authorized";
229 public static final String BRIDGE_STATUS_DESCRIPTION_ACCESS_TOKEN_REFRESH_FAILED = "@text/mielecloud.bridge.status.access.token.refresh.failed";
230 public static final String BRIDGE_STATUS_DESCRIPTION_TRANSIENT_HTTP_ERROR = "@text/mielecloud.bridge.status.transient.http.error";
232 public static final String THING_STATUS_DESCRIPTION_WEBSERVICE_MISSING = "@text/mielecloud.thing.status.webservice.missing";
233 public static final String THING_STATUS_DESCRIPTION_REMOVED = "@text/mielecloud.thing.status.removed";
234 public static final String THING_STATUS_DESCRIPTION_RATELIMIT = "@text/mielecloud.thing.status.ratelimit";
235 public static final String THING_STATUS_DESCRIPTION_DISCONNECTED = "@text/mielecloud.thing.status.disconnected";