]> git.basschouten.com Git - openhab-addons.git/blob
a514893b6c96c59b97016d365aad693893436431
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2024 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
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
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.somfytahoma.internal;
14
15 import java.util.Arrays;
16 import java.util.HashMap;
17 import java.util.HashSet;
18 import java.util.Map;
19 import java.util.Set;
20
21 import org.eclipse.jdt.annotation.NonNullByDefault;
22 import org.openhab.core.thing.ThingTypeUID;
23
24 /**
25  * The {@link SomfyTahomaBindingConstants} class defines common constants, which are
26  * used across the whole binding.
27  *
28  * @author Ondrej Pecta - Initial contribution
29  * @author Laurent Garnier - Other portals integration
30  */
31 @NonNullByDefault
32 public class SomfyTahomaBindingConstants {
33
34     public static final String BINDING_ID = "somfytahoma";
35
36     // Things
37     // Bridge
38     public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, "bridge");
39
40     // Gateway
41     public static final ThingTypeUID THING_TYPE_GATEWAY = new ThingTypeUID(BINDING_ID, "gateway");
42
43     // Roller Shutter
44     public static final ThingTypeUID THING_TYPE_ROLLERSHUTTER = new ThingTypeUID(BINDING_ID, "rollershutter");
45
46     // Silent Roller Shutter
47     public static final ThingTypeUID THING_TYPE_ROLLERSHUTTER_SILENT = new ThingTypeUID(BINDING_ID,
48             "rollershutter_silent");
49
50     // Uno Roller Shutter
51     public static final ThingTypeUID THING_TYPE_ROLLERSHUTTER_UNO = new ThingTypeUID(BINDING_ID, "rollershutter_uno");
52
53     // Shutter
54     public static final ThingTypeUID THING_TYPE_SHUTTER = new ThingTypeUID(BINDING_ID, "shutter");
55
56     // Screen
57     public static final ThingTypeUID THING_TYPE_SCREEN = new ThingTypeUID(BINDING_ID, "screen");
58
59     // Venetian Blind
60     public static final ThingTypeUID THING_TYPE_VENETIANBLIND = new ThingTypeUID(BINDING_ID, "venetianblind");
61
62     // Exterior Screen
63     public static final ThingTypeUID THING_TYPE_EXTERIORSCREEN = new ThingTypeUID(BINDING_ID, "exteriorscreen");
64
65     // Exterior Venetian Blind
66     public static final ThingTypeUID THING_TYPE_EXTERIORVENETIANBLIND = new ThingTypeUID(BINDING_ID,
67             "exteriorvenetianblind");
68
69     // Garage Door
70     public static final ThingTypeUID THING_TYPE_GARAGEDOOR = new ThingTypeUID(BINDING_ID, "garagedoor");
71
72     // Awning
73     public static final ThingTypeUID THING_TYPE_AWNING = new ThingTypeUID(BINDING_ID, "awning");
74
75     // Actiongroup
76     public static final ThingTypeUID THING_TYPE_ACTIONGROUP = new ThingTypeUID(BINDING_ID, "actiongroup");
77
78     // On Off
79     public static final ThingTypeUID THING_TYPE_ONOFF = new ThingTypeUID(BINDING_ID, "onoff");
80
81     // Light
82     public static final ThingTypeUID THING_TYPE_LIGHT = new ThingTypeUID(BINDING_ID, "light");
83
84     // DimmerLight
85     public static final ThingTypeUID THING_TYPE_DIMMER_LIGHT = new ThingTypeUID(BINDING_ID, "dimmerlight");
86
87     // Light sensor
88     public static final ThingTypeUID THING_TYPE_LIGHTSENSOR = new ThingTypeUID(BINDING_ID, "lightsensor");
89
90     // Smoke sensor
91     public static final ThingTypeUID THING_TYPE_SMOKESENSOR = new ThingTypeUID(BINDING_ID, "smokesensor");
92
93     // Contact sensor
94     public static final ThingTypeUID THING_TYPE_CONTACTSENSOR = new ThingTypeUID(BINDING_ID, "contactsensor");
95
96     // Occupancy sensor
97     public static final ThingTypeUID THING_TYPE_OCCUPANCYSENSOR = new ThingTypeUID(BINDING_ID, "occupancysensor");
98
99     // Water sensor
100     public static final ThingTypeUID THING_TYPE_WATERSENSOR = new ThingTypeUID(BINDING_ID, "watersensor");
101
102     // Humidity sensor
103     public static final ThingTypeUID THING_TYPE_HUMIDITYSENSOR = new ThingTypeUID(BINDING_ID, "humiditysensor");
104
105     // Window
106     public static final ThingTypeUID THING_TYPE_WINDOW = new ThingTypeUID(BINDING_ID, "window");
107
108     // Alarm
109     public static final ThingTypeUID THING_TYPE_INTERNAL_ALARM = new ThingTypeUID(BINDING_ID, "internalalarm");
110     public static final ThingTypeUID THING_TYPE_EXTERNAL_ALARM = new ThingTypeUID(BINDING_ID, "externalalarm");
111     public static final ThingTypeUID THING_TYPE_MYFOX_ALARM = new ThingTypeUID(BINDING_ID, "myfoxalarm");
112
113     // Pod
114     public static final ThingTypeUID THING_TYPE_POD = new ThingTypeUID(BINDING_ID, "pod");
115
116     // Heating system
117     public static final ThingTypeUID THING_TYPE_VALVE_HEATING_SYSTEM = new ThingTypeUID(BINDING_ID,
118             "valveheatingsystem");
119     public static final ThingTypeUID THING_TYPE_ZWAVE_HEATING_SYSTEM = new ThingTypeUID(BINDING_ID, "heatingsystem");
120     public static final ThingTypeUID THING_TYPE_ONOFF_HEATING_SYSTEM = new ThingTypeUID(BINDING_ID,
121             "onoffheatingsystem");
122     public static final ThingTypeUID THING_TYPE_EXTERIOR_HEATING_SYSTEM = new ThingTypeUID(BINDING_ID,
123             "exteriorheatingsystem");
124
125     // Door lock
126     public static final ThingTypeUID THING_TYPE_DOOR_LOCK = new ThingTypeUID(BINDING_ID, "doorlock");
127
128     // Pergola
129     public static final ThingTypeUID THING_TYPE_PERGOLA = new ThingTypeUID(BINDING_ID, "pergola");
130
131     // Bioclimatic Pergola
132     public static final ThingTypeUID THING_TYPE_BIOCLIMATIC_PERGOLA = new ThingTypeUID(BINDING_ID,
133             "bioclimaticpergola");
134
135     // Window handle
136     public static final ThingTypeUID THING_TYPE_WINDOW_HANDLE = new ThingTypeUID(BINDING_ID, "windowhandle");
137
138     // Temperature sensor
139     public static final ThingTypeUID THING_TYPE_TEMPERATURESENSOR = new ThingTypeUID(BINDING_ID, "temperaturesensor");
140
141     // Gate
142     public static final ThingTypeUID THING_TYPE_GATE = new ThingTypeUID(BINDING_ID, "gate");
143
144     // Curtains
145     public static final ThingTypeUID THING_TYPE_CURTAIN = new ThingTypeUID(BINDING_ID, "curtain");
146
147     // Electricity sensor
148     public static final ThingTypeUID THING_TYPE_ELECTRICITYSENSOR = new ThingTypeUID(BINDING_ID, "electricitysensor");
149
150     // Water Heating System
151     public static final ThingTypeUID THING_TYPE_WATERHEATINGSYSTEM = new ThingTypeUID(BINDING_ID, "waterheatingsystem");
152
153     // Dock
154     public static final ThingTypeUID THING_TYPE_DOCK = new ThingTypeUID(BINDING_ID, "dock");
155
156     // Siren
157     public static final ThingTypeUID THING_TYPE_SIREN = new ThingTypeUID(BINDING_ID, "siren");
158
159     // Adjustable slats roller shutter
160     public static final ThingTypeUID THING_TYPE_ADJUSTABLE_SLATS_ROLLERSHUTTER = new ThingTypeUID(BINDING_ID,
161             "adjustableslatsrollershutter");
162
163     // MyFox Camera
164     public static final ThingTypeUID THING_TYPE_MYFOX_CAMERA = new ThingTypeUID(BINDING_ID, "myfoxcamera");
165
166     // Thermostat
167     public static final ThingTypeUID THING_TYPE_THERMOSTAT = new ThingTypeUID(BINDING_ID, "thermostat");
168
169     // HitachiAirToWaterHeatingZone
170     public static final ThingTypeUID THING_TYPE_HITACHI_ATWHZ = new ThingTypeUID(BINDING_ID, "hitachiatwhz");
171
172     // HitachDHW
173     public static final ThingTypeUID THING_TYPE_HITACHI_DHW = new ThingTypeUID(BINDING_ID, "hitachidhw");
174
175     // HitachiAirToWaterMainComponent
176     public static final ThingTypeUID THING_TYPE_HITACHI_ATWMC = new ThingTypeUID(BINDING_ID, "hitachiatwmc");
177
178     // RainSensor
179     public static final ThingTypeUID THING_TYPE_RAINSENSOR = new ThingTypeUID(BINDING_ID, "rainsensor");
180
181     // CarbonDioxideSensor
182     public static final ThingTypeUID THING_TYPE_CARBON_DIOXIDE_SENSOR = new ThingTypeUID(BINDING_ID, "co2sensor");
183
184     // NoiseSensor
185     public static final ThingTypeUID THING_TYPE_NOISE_SENSOR = new ThingTypeUID(BINDING_ID, "noisesensor");
186
187     // List of all Channel ids
188     public static final String RSSI = "rssi";
189
190     // Gateway
191     public static final String STATUS = "status";
192     public static final String SCENARIOS = "scenarios";
193
194     // Roller shutter, Shutter, Awning, Screen, Blind, Garage door, Window, Curtain
195     public static final String CONTROL = "control";
196     public static final String MOVING = "moving";
197
198     // Adjustable slats roller shutter
199     public static final String ROCKER = "rocker";
200
201     // Silent roller shutter
202     public static final String CONTROL_SILENT = "control_silent";
203
204     // Bioclimatic Pergola
205     public static final String SLATS = "slats";
206     public static final String PERGOLA_COMMAND = "pergola_command";
207
208     // Blind, Bioclimatic Pergola
209     public static final String ORIENTATION = "orientation";
210
211     // Blind
212     public static final String CLOSURE_AND_ORIENTATION = "closure_orientation";
213
214     // Action group
215     public static final String EXECUTE_ACTION = "execute_action";
216
217     // OnOff, Light
218     public static final String SWITCH = "switch";
219
220     // Dimmer Light
221     public static final String LIGHT_INTENSITY = "light_intensity";
222
223     // Door lock
224     public static final String LOCK = "lock";
225     public static final String OPEN = "open";
226
227     // Smoke sensor, Occupancy sensor, Contact sensor, Water sensor, Rain sensor
228     public static final String CONTACT = "contact";
229
230     // Smoke sensor, Occupancy sensor, Contact sensor, Water sensor
231     public static final String SENSOR_DEFECT = "sensor_defect";
232
233     // Humidity sensor
234     public static final String HUMIDITY = "humidity";
235
236     // Smoke sensor
237     public static final String ALARM_CHECK = "alarm_check";
238     public static final String RADIO_BATTERY = "radio_battery";
239     public static final String SENSOR_BATTERY = "sensor_battery";
240
241     // Light sensor
242     public static final String LUMINANCE = "luminance";
243
244     // Temperature sensor
245     public static final String TEMPERATURE = "temperature";
246
247     // Carbon dioxide sensor
248     public static final String CO2_CONCENTRATION = "co2_concentration";
249
250     // Noise sensor
251     public static final String NOISE = "noise";
252
253     // Alarm
254     public static final String ALARM_COMMAND = "alarm_command";
255     public static final String ALARM_STATE = "alarm_state";
256     public static final String TARGET_ALARM_STATE = "target_alarm_state";
257     public static final String INTRUSION_CONTROL = "intrusion_control";
258     public static final String INTRUSION_STATE = "intrusion_state";
259
260     // Pod
261     public static final String CYCLIC_BUTTON = "cyclic_button";
262     public static final String LIGHTING_LED_POD_MODE = "lighting_led_pod_mode";
263
264     // Heating system
265     public static final String TARGET_TEMPERATURE = "target_temperature";
266     public static final String CURRENT_TEMPERATURE = "current_temperature";
267     public static final String CURRENT_STATE = "current_state";
268     public static final String BATTERY_LEVEL = "battery_level";
269     public static final String TARGET_HEATING_LEVEL = "target_heating_level";
270     public static final String HEATING_LEVEL = "heating_level";
271
272     // Thermostat
273     public static final String HEATING_MODE = "heating_mode";
274     public static final String DEROGATION_ACTIVATION = "derogation_activation";
275
276     // Thermostat & Valve Heating system
277     public static final String DEROGATED_TARGET_TEMPERATURE = "derogated_target_temperature";
278     public static final String DEROGATION_HEATING_MODE = "derogation_heating_mode";
279
280     // Valve heating system
281     public static final String CURRENT_HEATING_MODE = "current_heating_mode";
282     public static final String OPEN_CLOSED_VALVE = "open_closed_valve";
283     public static final String OPERATING_MODE = "operating_mode";
284
285     // Window handle
286     public static final String HANDLE_STATE = "handle_state";
287
288     // Gate
289     public static final String GATE_STATE = "gate_state";
290     public static final String GATE_COMMAND = "gate_command";
291     public static final String GATE_POSITION = "gate_position";
292
293     // ElectricitySensor
294     public static final String ENERGY_CONSUMPTION = "energy_consumption";
295
296     // WaterHeaterSystem
297     public static final String MIDDLEWATER_TEMPERATURE = "middlewater_temperature";
298     public static final String BOOST_MODE = "boost_mode";
299     public static final String AWAY_MODE = "away_mode";
300     public static final String BOOST_MODE_DURATION = "boost_mode_duration";
301     public static final String AWAY_MODE_DURATION = "away_mode_duration";
302     public static final String HEAT_PUMP_OPERATING_TIME = "heat_pump_operating_time";
303     public static final String POWER_HEAT_PUMP = "power_heatpump";
304     public static final String POWER_HEAT_ELEC = "power_heatelec";
305     public static final String WATER_HEATER_MODE = "mode";
306     public static final String ELECTRIC_BOOSTER_OPERATING_TIME = "electric_booster_operating_time";
307     public static final String SHOWERS = "showers";
308
309     // Dock
310     public static final String BATTERY_STATUS = "battery_status";
311     public static final String SIREN_STATUS = "siren_status";
312     public static final String SHORT_BIP = "short_beep";
313     public static final String LONG_BIP = "long_beep";
314
315     // Siren
316     public static final String MEMORIZED_VOLUME = "memorized_volume";
317     public static final String ONOFF_STATE = "onoff";
318     public static final String BATTERY = "battery";
319
320     // Myfox Alarm
321     public static final String MYFOX_ALARM_COMMAND = "myfox_alarm_command";
322
323     // Myfox Alarm & Camera
324     public static final String CLOUD_STATUS = "cloud_status";
325
326     // Myfox Camera
327     public static final String SHUTTER = "shutter";
328
329     // Hitachi Air To Water Heating Zone
330     public static final String ZONE_MODE = "zone_mode";
331     public static final String CIRCUIT_CONTROL = "circuit_control";
332     public static final String CIRCUIT_STATUS = "circuit_status";
333     public static final String YUTAKI_TARGET_MODE = "yutaki_target_mode";
334     public static final String YUTAKI_MODE = "yutaki_mode";
335     public static final String HOLIDAY_MODE = "holiday_mode";
336     public static final String THERMOSTAT_SETTING_ZONE1 = "thermostat_setting_zone1";
337     public static final String WH_SETTING_TEMP_ZONE1 = "wh_setting_temp_zone1";
338     public static final String ROOM_AMBIENT_TEMP_ZONE1 = "room_ambient_temp_zone1";
339
340     // Hitachi Air To Water Main Component
341     public static final String AUTO_MANU_MODE = "auto_manu_mode";
342     public static final String UNIT_CONTROL = "unit_control";
343     public static final String UNIT_MODE_STATUS = "unit_mode_status";
344     public static final String UNIT_MODE_CONTROL = "unit_mode_control";
345     public static final String BLOCK_MENU_CONTROL = "block_menu_control";
346     public static final String SPACE_MODE = "space_mode";
347     public static final String ECO_MODE_TARGET_OFFSET = "eco_mode_target_offset";
348     public static final String COMM_ALARM_BIT_STATUS = "comm_alarm_bit_status";
349     public static final String OPERATION = "operation";
350     public static final String OUTDOOR_TEMP = "outdoor_temp";
351     public static final String WATER_INLET_TEMP = "water_inlet_temp";
352     public static final String WATER_OUTLET_TEMP = "water_outlet_temp";
353     public static final String ECO_MODE_OFFSET = "eco_mode_offset";
354     public static final String WATER_OUTLET_HP_TEMP = "water_outlet_hp_temp";
355     public static final String LIQUID_TEMP = "liquid_temp";
356     public static final String LIQUID_TEMP_THMI = "liquid_temp_thmi";
357     public static final String COMPRESSOR_RUNNING_CURRENT = "compressor_running_current";
358     public static final String WATER_TEMP_SETTING = "water_temp_setting";
359     public static final String YUTAKI_OPERATING_MODE = "yutaki_operating_mode";
360
361     // Hitachi DHW
362     public static final String DHW_MODE = "dhw_mode";
363     public static final String ANTI_LEGIONELLA_TEMP = "anti_legionella_temp";
364     public static final String DHW = "dhw";
365     public static final String ANTI_LEGIONELLA = "anti_legionella";
366     public static final String DHW_SETTING_TEMP = "dhw_setting_temp";
367     public static final String DHW_TEMP = "dhw_temp";
368     public static final String TARGET_BOOST_MODE = "target_boost_mode";
369     public static final String ALARM_NUMBER = "alarm_number";
370
371     // Constants
372     public static final String COZYTOUCH_PORTAL = "ha110-1.overkiz.com";
373     public static final String TAHOMA_PORTAL = "www.tahomalink.com";
374     public static final String SOMFY_OAUTH2_URL = "accounts.somfy.com/oauth/oauth/v2/token";
375     public static final String SOMFY_OAUTH2_CLIENT_ID = "1e2d830f-4c65-11e7-bd0c-02dd59bd3041_5n78r5nnwaw4wc0kskkg0csogkk8cwocswg84c0gowcgossogw";
376     public static final String SOMFY_OAUTH2_CLIENT_SECRET = "4txucwsv29a8o0co8s8kw8ggswkks8ossccockgcckokw8ck00";
377     public static final String COZYTOUCH_OAUTH2_URL = "api.groupe-atlantic.com";
378     public static final String COZYTOUCH_OAUTH2_BASICAUTH = "czduc0RZZXdWbjVGbVV4UmlYN1pVSUM3ZFI4YTphSDEzOXZmbzA1ZGdqeDJkSFVSQkFTbmhCRW9h";
379     public static final String COZYTOUCH_OAUTH2_TOKEN_URL = "/token";
380     public static final String COZYTOUCH_OAUTH2_JWT_URL = "/gacoma/gacomawcfservice/accounts/jwt";
381     public static final String API_BASE_URL = "/enduser-mobile-web/enduserAPI/";
382     public static final String EVENTS_URL = "events/";
383     public static final String SETUP_URL = "setup/";
384
385     public static final String CONFIG_URL = "config/";
386     public static final String GATEWAYS_URL = SETUP_URL + "gateways/";
387     public static final String DEVICES_URL = SETUP_URL + "devices/";
388     public static final String REFRESH_URL = DEVICES_URL + "states/refresh";
389     public static final String EXEC_URL = "exec/";
390     public static final String DELETE_URL = EXEC_URL + "current/setup/";
391     public static final String LOCAL_TOKENS_URL = "/local/tokens/";
392     public static final String TAHOMA_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36";
393     public static final int TAHOMA_TIMEOUT = 5;
394     public static final String UNAUTHORIZED = "Not logged in";
395     public static final int TYPE_NONE = 0;
396     public static final int TYPE_PERCENT = 1;
397     public static final int TYPE_DECIMAL = 2;
398     public static final int TYPE_STRING = 3;
399     public static final int TYPE_BOOLEAN = 6;
400     public static final String UNAVAILABLE = "unavailable";
401     public static final String TEMPORARILY_BANNED = "Too many attempts with an invalid token, temporarily banned.";
402
403     public static final String TOO_MANY_REQUESTS = "Too many requests, try again later";
404     public static final String EVENT_LISTENER_TIMEOUT = "No registered event listener";
405     public static final String AUTHENTICATION_OAUTH_GRANT_ERROR = "Provided Authorization Grant is invalid.";
406     public static final String AUTHENTICATION_OAUTH_INVALID_GRANT = "error.invalid.grant";
407     public static final String OPENHAB_TOKEN = "openHAB token";
408     public static final int SUSPEND_TIME = 300;
409     public static final int RECONCILIATION_TIME = 600;
410     public static final int LOGIN_LIMIT_TIME = 60;
411     public static final int MAX_ERRORS = 5;
412
413     // Commands
414     public static final String COMMAND_MY = "my";
415     public static final String COMMAND_SET_CLOSURE = "setClosure";
416     public static final String COMMAND_SET_CLOSURE_ORIENTATION = "setClosureAndOrientation";
417     public static final String COMMAND_SET_DEPLOYMENT = "setDeployment";
418     public static final String COMMAND_SET_ORIENTATION = "setOrientation";
419     public static final String COMMAND_SET_CLOSURESPEED = "setClosureAndLinearSpeed";
420     public static final String COMMAND_SET_HEATINGLEVEL = "setHeatingLevel";
421     public static final String COMMAND_SET_PEDESTRIANPOSITION = "setPedestrianPosition";
422     public static final String COMMAND_SET_ROCKERPOSITION = "setRockerPosition";
423     public static final String COMMAND_SET_DEROGATION = "setDerogation";
424     public static final String COMMAND_UP = "up";
425     public static final String COMMAND_DOWN = "down";
426     public static final String COMMAND_OPEN = "open";
427     public static final String COMMAND_CLOSE = "close";
428     public static final String COMMAND_DEPLOY = "deploy";
429     public static final String COMMAND_UNDEPLOY = "undeploy";
430     public static final String COMMAND_OPEN_SLATS = "openSlats";
431     public static final String COMMAND_CLOSE_SLATS = "closeSlats";
432     public static final String COMMAND_STOP = "stop";
433     public static final String COMMAND_OFF = "off";
434     public static final String COMMAND_CHECK_TRIGGER = "checkEventTrigger";
435     public static final String COMMAND_SET_BOOST_MODE_DURATION = "setBoostModeDuration";
436     public static final String COMMAND_SET_WATER_HEATER_MODE = "setDHWMode";
437     public static final String COMMAND_SET_AWAY_MODE_DURATION = "setAwayModeDuration";
438     public static final String COMMAND_SET_CURRENT_OPERATING_MODE = "setCurrentOperatingMode";
439     public static final String COMMAND_SET_TARGET_TEMPERATURE = "setTargetTemperature";
440     public static final String COMMAND_REFRESH_DHWMODE = "refreshDHWMode";
441     public static final String COMMAND_REFRESH_BOOST_MODE_DURATION = "refreshBoostModeDuration";
442
443     // States
444     public static final String OPERATING_MODE_STATE = "core:OperatingModeState";
445     public static final String ELECTRIC_BOOSTER_OPERATING_TIME_STATE = "io:ElectricBoosterOperatingTimeState";
446     public static final String WATER_HEATER_MODE_STATE = "io:DHWModeState";
447     public static final String POWER_HEAT_ELEC_STATE = "io:PowerHeatElectricalState";
448     public static final String POWER_HEAT_PUMP_STATE = "io:PowerHeatPumpState";
449     public static final String HEAT_PUMP_OPERATING_TIME_STATE = "io:HeatPumpOperatingTimeState";
450     public static final String BOOST_MODE_DURATION_STATE = "core:BoostModeDurationState";
451     public static final String AWAY_MODE_DURATION_STATE = "io:AwayModeDurationState";
452     public static final String MIDDLE_WATER_TEMPERATURE_STATE = "io:MiddleWaterTemperatureState";
453     public static final String NAME_STATE = "core:NameState";
454     public static final String RSSI_LEVEL_STATE = "core:RSSILevelState";
455     public static final String STATUS_STATE = "core:StatusState";
456     public static final String ENERGY_CONSUMPTION_STATE = "core:ElectricEnergyConsumptionState";
457     public static final String CYCLIC_BUTTON_STATE = "core:CyclicButtonState";
458     public static final String BATTERY_STATUS_STATE = "internal:BatteryStatusState";
459     public static final String SLATE_ORIENTATION_STATE = "core:SlateOrientationState";
460     public static final String CLOSURE_OR_ROCKER_STATE = "core:ClosureOrRockerPositionState";
461     public static final String MYFOX_SHUTTER_STATUS_STATE = "myfox:ShutterStatusState";
462     public static final String TARGET_CLOSURE_STATE = "core:TargetClosureState";
463     public static final String WATER_DETECTION_STATE = "core:WaterDetectionState";
464     public static final String CLOUD_DEVICE_STATUS_STATE = "core:CloudDeviceStatusState";
465     public static final String BATTERY_LEVEL_STATE = "core:BatteryLevelState";
466     public static final String SIREN_STATUS_STATE = "internal:SirenStatusState";
467     public static final String TARGET_TEMPERATURE_STATE = "core:TargetTemperatureState";
468     public static final String TEMPERATURE_STATE = "core:TemperatureState";
469     public static final String TARGET_ROOM_TEMPERATURE_STATE = "core:TargetRoomTemperatureState";
470     public static final String SMOKE_STATE = "core:SmokeState";
471     public static final String SENSOR_DEFECT_STATE = "core:SensorDefectState";
472     public static final String RADIO_PART_BATTERY_STATE = "io:MaintenanceRadioPartBatteryState";
473     public static final String SENSOR_PART_BATTERY_STATE = "io:MaintenanceSensorPartBatteryState";
474     public static final String ZWAVE_SET_POINT_TYPE_STATE = "zwave:SetPointTypeState";
475     public static final String LUMINANCE_STATE = "core:LuminanceState";
476
477     // supported uiClasses
478     public static final String CLASS_ROLLER_SHUTTER = "RollerShutter";
479     public static final String CLASS_SHUTTER = "Shutter";
480     public static final String CLASS_SCREEN = "Screen";
481     public static final String CLASS_VENETIAN_BLIND = "VenetianBlind";
482     public static final String CLASS_EXTERIOR_SCREEN = "ExteriorScreen";
483     public static final String CLASS_EXTERIOR_VENETIAN_BLIND = "ExteriorVenetianBlind";
484     public static final String CLASS_GARAGE_DOOR = "GarageDoor";
485     public static final String CLASS_AWNING = "Awning";
486     public static final String CLASS_ON_OFF = "OnOff";
487     public static final String CLASS_LIGHT = "Light";
488     public static final String CLASS_LIGHT_SENSOR = "LightSensor";
489     public static final String CLASS_SMOKE_SENSOR = "SmokeSensor";
490     public static final String CLASS_CONTACT_SENSOR = "ContactSensor";
491     public static final String CLASS_OCCUPANCY_SENSOR = "OccupancySensor";
492     public static final String CLASS_HUMIDITY_SENSOR = "HumiditySensor";
493     public static final String CLASS_WINDOW = "Window";
494     public static final String CLASS_ALARM = "Alarm";
495     public static final String CLASS_POD = "Pod";
496     public static final String CLASS_HEATING_SYSTEM = "HeatingSystem";
497     public static final String CLASS_EXTERIOR_HEATING_SYSTEM = "ExteriorHeatingSystem";
498     public static final String CLASS_DOOR_LOCK = "DoorLock";
499     public static final String CLASS_PERGOLA = "Pergola";
500     public static final String CLASS_WINDOW_HANDLE = "WindowHandle";
501     public static final String CLASS_TEMPERATURE_SENSOR = "TemperatureSensor";
502     public static final String CLASS_GATE = "Gate";
503     public static final String CLASS_CURTAIN = "Curtain";
504     public static final String CLASS_ELECTRICITY_SENSOR = "ElectricitySensor";
505     public static final String CLASS_DOCK = "Dock";
506     public static final String CLASS_SIREN = "Siren";
507     public static final String CLASS_ADJUSTABLE_SLATS_ROLLER_SHUTTER = "AdjustableSlatsRollerShutter";
508     public static final String CLASS_CAMERA = "Camera";
509     public static final String CLASS_WATER_HEATING_SYSTEM = "WaterHeatingSystem";
510     public static final String CLASS_HITACHI_HEATING_SYSTEM = "HitachiHeatingSystem";
511     public static final String CLASS_RAIN_SENSOR = "RainSensor";
512     public static final String CLASS_CARBON_DIOXIDE_SENSOR = "CarbonDioxideSensor";
513     public static final String CLASS_NOISE_SENSOR = "NoiseSensor";
514
515     // unsupported uiClasses
516     public static final String THING_PROTOCOL_GATEWAY = "ProtocolGateway";
517     public static final String THING_REMOTE_CONTROLLER = "RemoteController";
518     public static final String THING_NETWORK_COMPONENT = "NetworkComponent";
519     public static final String THING_GENERIC = "Generic";
520     public static final String THING_CONFIGURATION_COMPONENT = "ConfigurationComponent";
521
522     // Event states
523     public static final String FAILED_EVENT = "FAILED";
524     public static final String COMPLETED_EVENT = "COMPLETED";
525
526     // supported thing types for discovery
527     public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = new HashSet<>(Arrays.asList(THING_TYPE_GATEWAY,
528             THING_TYPE_ROLLERSHUTTER, THING_TYPE_ROLLERSHUTTER_SILENT, THING_TYPE_SCREEN, THING_TYPE_VENETIANBLIND,
529             THING_TYPE_EXTERIORSCREEN, THING_TYPE_EXTERIORVENETIANBLIND, THING_TYPE_GARAGEDOOR, THING_TYPE_AWNING,
530             THING_TYPE_ACTIONGROUP, THING_TYPE_ONOFF, THING_TYPE_LIGHT, THING_TYPE_LIGHTSENSOR, THING_TYPE_SMOKESENSOR,
531             THING_TYPE_CONTACTSENSOR, THING_TYPE_OCCUPANCYSENSOR, THING_TYPE_WINDOW, THING_TYPE_INTERNAL_ALARM,
532             THING_TYPE_EXTERNAL_ALARM, THING_TYPE_POD, THING_TYPE_ZWAVE_HEATING_SYSTEM, THING_TYPE_ONOFF_HEATING_SYSTEM,
533             THING_TYPE_DOOR_LOCK, THING_TYPE_PERGOLA, THING_TYPE_WINDOW_HANDLE, THING_TYPE_TEMPERATURESENSOR,
534             THING_TYPE_GATE, THING_TYPE_CURTAIN, THING_TYPE_ELECTRICITYSENSOR, THING_TYPE_DOCK, THING_TYPE_SIREN,
535             THING_TYPE_ADJUSTABLE_SLATS_ROLLERSHUTTER, THING_TYPE_MYFOX_CAMERA, THING_TYPE_ROLLERSHUTTER_UNO,
536             THING_TYPE_WATERSENSOR, THING_TYPE_HUMIDITYSENSOR, THING_TYPE_MYFOX_ALARM, THING_TYPE_THERMOSTAT,
537             THING_TYPE_DIMMER_LIGHT, THING_TYPE_EXTERIOR_HEATING_SYSTEM, THING_TYPE_VALVE_HEATING_SYSTEM,
538             THING_TYPE_BIOCLIMATIC_PERGOLA, THING_TYPE_WATERHEATINGSYSTEM, THING_TYPE_HITACHI_ATWHZ,
539             THING_TYPE_HITACHI_DHW, THING_TYPE_HITACHI_ATWMC, THING_TYPE_RAINSENSOR, THING_TYPE_SHUTTER,
540             THING_TYPE_CARBON_DIOXIDE_SENSOR, THING_TYPE_NOISE_SENSOR));
541
542     // somfy gateways
543     public static Map<Integer, String> gatewayTypes = new HashMap<>() {
544         private static final long serialVersionUID = 7473481667820682573L;
545
546         {
547             put(0, "VIRTUAL_KIZBOX");
548             put(2, "KIZBOX_V1");
549             put(15, "TAHOMA");
550             put(20, "VERISURE_ALARM_SYSTEM");
551             put(21, "KIZBOX_MINI");
552             put(24, "KIZBOX_V2");
553             put(25, "MYFOX_ALARM_SYSTEM");
554             put(27, "KIZBOX_MINI_VMBUS");
555             put(28, "KIZBOX_MINI_IO");
556             put(29, "TAHOMA_V2");
557             put(30, "KIZBOX_V2_3H");
558             put(31, "KIZBOX_V2_2H");
559             put(32, "COZYTOUCH");
560             put(34, "CONNEXOON");
561             put(35, "JSW_CAMERA");
562             put(37, "KIZBOX_MINI_DAUGHTERBOARD");
563             put(38, "KIZBOX_MINI_DAUGHTERBOARD_ZWAVE");
564             put(39, "KIZBOX_MINI_DAUGHTERBOARD_ENOCEAN");
565             put(40, "KIZBOX_MINI_RAILDIN");
566             put(41, "TAHOMA_V2_RTS");
567             put(42, "KIZBOX_MINI_MODBUS");
568             put(43, "KIZBOX_MINI_OVP");
569             put(53, "CONNEXOON_RTS");
570             put(54, "OPENDOORS_LOCK_SYSTEM");
571             put(56, "CONNEXOON_RTS_JAPAN");
572             put(58, "HOME_PROTECT_SYSTEM");
573             put(62, "CONNEXOON_RTS_AUSTRALIA");
574             put(63, "THERMOSTAT_SOMFY_SYSTEM");
575             put(64, "BOX_ULTRA_LOW_COST_RTS");
576             put(65, "SMARTLY_MINI_DAUGHTERBOARD_ZWAVE");
577             put(66, "SMARTLY_MINIBOX_RAILDIN");
578             put(67, "TAHOMA_BEE");
579             put(72, "TAHOMA_RAIL_DIN");
580             put(77, "ELIOT");
581             put(88, "WISER");
582             put(92, "NETATMO");
583             put(99, "CONNECTIVITY KIT");
584         }
585     };
586 }