]> git.basschouten.com Git - openhab-addons.git/blob
96ff6bcaa3b1092abdbf51421340b09ee5800b21
[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.freeathomesystem.internal.util;
14
15 import java.util.Map;
16
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18 import org.eclipse.jdt.annotation.Nullable;
19
20 /**
21  * The {@link FidTranslationUtils} having constant values for json parsing
22  *
23  * @author Andras Uhrin - Initial contribution
24  *
25  */
26 @NonNullByDefault
27 public class FidTranslationUtils {
28
29     public static final int FID_UNKNOWN = 0xFFFFAAFF; // Unknown
30
31     // free@home constants
32     public static final int FID_SWITCH_SENSOR = 0x0000; // Control element
33     public static final int FID_DIMMING_SENSOR = 0x0001; // Dimming sensor
34     public static final int FID_BLIND_SENSOR = 0x0003; // Blind sensor
35     public static final int FID_STAIRCASE_LIGHT_SENSOR = 0x0004; // Stairwell light sensor
36     public static final int FID_FORCE_ON_OFF_SENSOR = 0x0005; // Force On/Off sensor
37     public static final int FID_SCENE_SENSOR = 0x0006; // Scene sensor
38     public static final int FID_SWITCH_ACTUATOR = 0x0007; // Switch actuator
39     public static final int FID_SHUTTER_ACTUATOR = 0x0009; // Blind actuator
40     public static final int FID_ROOM_TEMPERATURE_CONTROLLER_MASTER_WITH_FAN = 0x000A; // Room temperature controller
41                                                                                       // with fan speed level
42     public static final int FID_ROOM_TEMPERATURE_CONTROLLER_SLAVE = 0x000B; // Room temperature controller extension
43                                                                             // unit
44     public static final int FID_WIND_ALARM_SENSOR = 0x000C; // Wind Alarm
45     public static final int FID_FROST_ALARM_SENSOR = 0x000D; // Frost Alarm
46     public static final int FID_RAIN_ALARM_SENSOR = 0x000E; // Rain Alarm
47     public static final int FID_WINDOW_DOOR_SENSOR = 0x000F; // Window sensor
48     public static final int FID_MOVEMENT_DETECTOR = 0x0011; // Movement Detector
49     public static final int FID_DIMMING_ACTUATOR = 0x0012; // Dim actuator
50     public static final int FID_RADIATOR_ACTUATOR = 0x0014; // Radiator
51     public static final int FID_UNDERFLOOR_HEATING = 0x0015; // Underfloor heating
52     public static final int FID_FAN_COIL = 0x0016; // Fan Coil
53     public static final int FID_TWO_LEVEL_CONTROLLER = 0x0017; // Two-level controller
54     public static final int FID_DES_DOOR_OPENER_ACTUATOR = 0x001A; // Door opener
55     public static final int FID_PROXY = 0x001B; // Proxy
56     public static final int FID_DES_LEVEL_CALL_ACTUATOR = 0x001D; // Door Map.entry System Call Level Actuator
57     public static final int FID_DES_LEVEL_CALL_SENSOR = 0x001E; // Door Map.entry System Call Level Sensor
58     public static final int FID_DES_DOOR_RINGING_SENSOR = 0x001F; // Door call
59     public static final int FID_DES_AUTOMATIC_DOOR_OPENER_ACTUATOR = 0x0020; // Automatic door opener
60     public static final int FID_DES_LIGHT_SWITCH_ACTUATOR = 0x0021; // Corridor light
61     public static final int FID_ROOM_TEMPERATURE_CONTROLLER_MASTER_WITHOUT_FAN = 0x0023; // Room temperature controller
62     public static final int FID_COOLING_ACTUATOR = 0x0024; // Cooling mode
63     public static final int FID_HEATING_ACTUATOR = 0x0027; // Heating mode
64     public static final int FID_FORCE_UP_DOWN_SENSOR = 0x0028; // Force-position blind
65     public static final int FID_HEATING_COOLING_ACTUATOR = 0x0029; // Auto. heating/cooling mode
66     public static final int FID_HEATING_COOLING_SENSOR = 0x002A; // Switchover heating/cooling
67     public static final int FID_DES_DEVICE_SETTINGS = 0x002B; // Device settings
68     public static final int FID_RGB_W_ACTUATOR = 0x002E; // Dim actuator
69     public static final int FID_RGB_ACTUATOR = 0x002F; // Dim actuator
70     public static final int FID_PANEL_SWITCH_SENSOR = 0x0030; // Control element
71     public static final int FID_PANEL_DIMMING_SENSOR = 0x0031; // Dimming sensor
72     public static final int FID_PANEL_BLIND_SENSOR = 0x0033; // Blind sensor
73     public static final int FID_PANEL_STAIRCASE_LIGHT_SENSOR = 0x0034; // Stairwell light sensor
74     public static final int FID_PANEL_FORCE_ON_OFF_SENSOR = 0x0035; // Force On/Off sensor
75     public static final int FID_PANEL_FORCE_UP_DOWN_SENSOR = 0x0036; // Force-position blind
76     public static final int FID_PANEL_SCENE_SENSOR = 0x0037; // Scene sensor
77     public static final int FID_PANEL_ROOM_TEMPERATURE_CONTROLLER_SLAVE = 0x0038; // Room temperature controller
78                                                                                   // extension unit
79     public static final int FID_PANEL_FAN_COIL_SENSOR = 0x0039; // Fan coil sensor
80     public static final int FID_PANEL_RGB_CT_SENSOR = 0x003A; // RGB + warm white/cold white sensor
81     public static final int FID_PANEL_RGB_SENSOR = 0x003B; // RGB sensor
82     public static final int FID_PANEL_CT_SENSOR = 0x003C; // Warm white/cold white sensor
83     public static final int FID_ADDITIONAL_HEATING_ACTUATOR = 0x003D; // Add. stage for heating mode
84     public static final int FID_RADIATOR_ACTUATOR_MASTER = 0x003E; // Radiator thermostate
85     public static final int FID_RADIATOR_ACTUATOR_SLAVE = 0x003F; // Room temperature controller extension unit
86     public static final int FID_BRIGHTNESS_SENSOR = 0x0041; // Brightness sensor
87     public static final int FID_RAIN_SENSOR = 0x0042; // Rain sensor
88     public static final int FID_TEMPERATURE_SENSOR = 0x0043; // Temperature sensor
89     public static final int FID_WIND_SENSOR = 0x0044; // Wind sensor
90     public static final int FID_TRIGGER = 0x0045; // Trigger
91     public static final int FID_FCA_2_PIPE_HEATING = 0x0047; // Heating mode
92     public static final int FID_FCA_2_PIPE_COOLING = 0x0048; // Cooling mode
93     public static final int FID_FCA_2_PIPE_HEATING_COOLING = 0x0049; // Auto. heating/cooling mode
94     public static final int FID_FCA_4_PIPE_HEATING_AND_COOLING = 0x004A; // Two valves for heating and cooling
95     public static final int FID_WINDOW_DOOR_ACTUATOR = 0x004B; // Window/Door
96     public static final int FID_INVERTER_INFO = 0x004E; // ABC
97     public static final int FID_METER_INFO = 0x004F; // ABD
98     public static final int FID_BATTERY_INFO = 0x0050; // ACD
99     public static final int FID_PANEL_TIMER_PROGRAM_SWITCH_SENSOR = 0x0051; // Timer program switch sensor
100     public static final int FID_DOMUSTECH_ZONE = 0x0055; // Zone
101     public static final int FID_CENTRAL_HEATING_ACTUATOR = 0x0056; // Central heating actuator
102     public static final int FID_CENTRAL_COOLING_ACTUATOR = 0x0057; // Central cooling actuator
103     public static final int FID_HOUSE_KEEPING = 0x0059; // Housekeeping
104     public static final int FID_MEDIA_PLAYER = 0x005A; // Media Player
105     public static final int FID_PANEL_ROOM_TEMPERATURE_CONTROLLER_SLAVE_FOR_BATTERY_DEVICE = 0x005B; // Panel Room
106                                                                                                      // Temperature
107                                                                                                      // Controller Slave
108                                                                                                      // For Battery
109                                                                                                      // Device
110     public static final int FID_PANEL_MEDIA_PLAYER_SENSOR = 0x0060; // Media Player Sensor
111     public static final int FID_BLIND_ACTUATOR = 0x0061; // Roller blind actuator
112     public static final int FID_ATTIC_WINDOW_ACTUATOR = 0x0062; // Attic window actuator
113     public static final int FID_AWNING_ACTUATOR = 0x0063; // Awning actuator
114     public static final int FID_WINDOW_DOOR_POSITION_SENSOR = 0x0064; // WindowDoor Position Sensor
115     public static final int FID_WINDOW_DOOR_POSITION_ACTUATOR = 0x0065; // Window/Door position
116     public static final int FID_MEDIA_PLAYBACK_CONTROL_SENSOR = 0x0066; // Media playback control sensor
117     public static final int FID_MEDIA_VOLUME_SENSOR = 0x0067; // Media volume sensor
118     public static final int FID_DISHWASHER = 0x0068; // Dishwasher
119     public static final int FID_LAUNDRY = 0x0069; // Laundry
120     public static final int FID_DRYER = 0x006A; // Dryer
121     public static final int FID_OVEN = 0x006B; // Oven
122     public static final int FID_FRIDGE = 0x006C; // Fridge
123     public static final int FID_FREEZER = 0x006D; // Freezer
124     public static final int FID_HOOD = 0x006E; // Hood
125     public static final int FID_COFFEE_MACHINE = 0x006F; // Coffee machine
126     public static final int FID_FRIDGE_FREEZER = 0x0070; // Fridge/Freezer
127     public static final int FID_TIMER_PROGRAM_OR_ALERT_SWITCH_SENSOR = 0x0071; // Timer program switch sensor
128     public static final int FID_CEILING_FAN_ACTUATOR = 0x0073; // Ceiling fan actuator
129     public static final int FID_CEILING_FAN_SENSOR = 0x0074; // Ceiling fan sensor
130     public static final int FID_SPLIT_UNIT_GATEWAY = 0x0075; // Room temperature controller with fan speed level
131     public static final int FID_ZONE = 0x0076; // Zone
132     public static final int FID_24H_ZONE = 0x0077; // Safety
133     public static final int FID_EXTERNAL_IR_SENSOR_BX80 = 0x0078; // External IR Sensor BX80
134     public static final int FID_EXTERNAL_IR_SENSOR_VXI = 0x0079; // External IR Sensor VXI
135     public static final int FID_EXTERNAL_IR_SENSOR_MINI = 0x007A; // External IR Sensor Mini
136     public static final int FID_EXTERNAL_IR_SENSOR_HIGH_ALTITUDE = 0x007B; // External IR Sensor High Altitude
137     public static final int FID_EXTERNAL_IR_SENSOR_CURTAIN = 0x007C; // External IR Sensor Curtain
138     public static final int FID_SMOKE_DETECTOR = 0x007D; // Smoke Detector
139     public static final int FID_CARBON_MONOXIDE_SENSOR = 0x007E; // Carbon Monoxide Sensor
140     public static final int FID_METHANE_DETECTOR = 0x007F; // Methane Detector
141     public static final int FID_GAS_SENSOR_LPG = 0x0080; // Gas Sensor LPG
142     public static final int FID_FLOOD_DETECTION = 0x0081; // Flood Detection
143     public static final int FID_DOMUS_CENTRAL_UNIT_NEXTGEN = 0x0082; // secure@home Central Unit
144     public static final int FID_THERMOSTAT = 0x0083; // Thermostat
145     public static final int FID_PANEL_DOMUS_ZONE_SENSOR = 0x0084; // secure@home Zone Sensor
146     public static final int FID_THERMOSTAT_SLAVE = 0x0085; // Slave thermostat
147     public static final int FID_DOMUS_SECURE_INTEGRATION = 0x0086; // secure@home Integration Logic
148     public static final int FID_ADDITIONAL_COOLING_ACTUATOR = 0x0087; // Add. stage for cooling mode
149     public static final int FID_TWO_LEVEL_HEATING_ACTUATOR = 0x0088; // Two Level Heating Actuator
150     public static final int FID_TWO_LEVEL_COOLING_ACTUATOR = 0x0089; // Two Level Cooling Actuator
151     public static final int FID_GLOBAL_ZONE = 0x008E; // Zone
152     public static final int FID_VOLUME_UP_SENSOR = 0x008F; // Volume up
153     public static final int FID_VOLUME_DOWN_SENSOR = 0x0090; // Volume down
154     public static final int FID_PLAY_PAUSE_SENSOR = 0x0091; // Play/pause
155     public static final int FID_NEXT_FAVORITE_SENSOR = 0x0092; // Next favorite
156     public static final int FID_NEXT_SONG_SENSOR = 0x0093; // Next song
157     public static final int FID_PREVIOUS_SONG_SENSOR = 0x0094; // Previous song
158     public static final int FID_HOME_APPLIANCE_SENSOR = 0x0095; // Home appliance sensor
159     public static final int FID_HEAT_SENSOR = 0x0096; // Heat sensor
160     public static final int FID_ZONE_SWITCHING = 0x0097; // Zone switching
161     public static final int FID_SECURE_AT_HOME_FUNCTION = 0x0098; // Button function
162     public static final int FID_COMPLEX_CONFIGURATION = 0x0099; // Advanced configuration
163     public static final int FID_DOMUS_CENTRAL_UNIT_BASIC = 0x009A; // secure@home Central Unit Basic
164     public static final int FID_DOMUS_REPEATER = 0x009B; // Repeater
165     public static final int FID_DOMUS_SCENE_TRIGGER = 0x009C; // Remote scene control
166     public static final int FID_DOMUSWINDOWCONTACT = 0x009D; // Window sensor
167     public static final int FID_DOMUSMOVEMENTDETECTOR = 0x009E; // Movement Detector
168     public static final int FID_DOMUSCURTAINDETECTOR = 0x009F; // External IR Sensor Curtain
169     public static final int FID_DOMUSSMOKEDETECTOR = 0x00A0; // Smoke Detector
170     public static final int FID_DOMUSFLOODDETECTOR = 0x00A1; // Flood Detection
171     public static final int FID_PANEL_SUG_SENSOR = 0x00A3; // Sensor for air-conditioning unit
172     public static final int FID_TWO_LEVEL_HEATING_COOLING_ACTUATOR = 0x00A4; // Two-point controller for heating or
173                                                                              // cooling
174     public static final int FID_PANEL_THERMOSTAT_CONTROLLER_SLAVE = 0x00A5; // Slave thermostat
175     public static final int FID_WALLBOX = 0x00A6; // Wallbox
176     public static final int FID_PANEL_WALLBOX = 0x00A7; // Wallbox
177     public static final int FID_DOOR_LOCK_CONTROL = 0x00A8; // Door lock control
178     public static final int FID_VRV_GATEWAY = 0x00AA; // Room temperature controller with fan speed level
179
180     public static final int FID_SCENE_TRIGGER = 0x4800; // Scene trigger
181     public static final int FID_RULE_SWITCH = 0x4A00; // Scene trigger
182
183     // FID added based on tests
184     public static final int FID_AIRQUALITYSENSOR_PRESSURE = 0x0E017;
185     public static final int FID_AIRQUALITYSENSOR_CO2 = 0x0E018;
186     public static final int FID_AIRQUALITYSENSOR_CO = 0x0E019;
187     public static final int FID_AIRQUALITYSENSOR_NO2 = 0x0E01A;
188     public static final int FID_AIRQUALITYSENSOR_O3 = 0x0E01B;
189     public static final int FID_AIRQUALITYSENSOR_PM10 = 0x0E01C;
190     public static final int FID_AIRQUALITYSENSOR_PM25 = 0x0E01D;
191     public static final int FID_AIRQUALITYSENSOR_VOC = 0x0E01E;
192     public static final int FID_AIRQUALITYSENSOR_HUMIDITY = 0x0B03F;
193
194     public static final int FID_MOVEMENT_DETECTOR_FLEX = 0x1090;
195     public static final int FID_DIMMING_ACTUATOR_FLEX = 0x1810;
196
197     private static final Map<String, String> MAP_FUNCTION_ID = Map.ofEntries(Map.entry("0x0000", "fid-control-element"), // FID_SWITCH_SENSOR
198             Map.entry("0x0001", "fid-dimming-sensor"), // FID_DIMMING_SENSOR
199             Map.entry("0x0003", "fid-blind-sensor"), // FID_BLIND_SENSOR
200             Map.entry("0x0004", "fid-stairwell-light-sensor"), // FID_STAIRCASE_LIGHT_SENSOR
201             Map.entry("0x0005", "fid-force-on/off-sensor"), // FID_FORCE_ON_OFF_SENSOR
202             Map.entry("0x0006", "fid-scene-sensor"), // FID_SCENE_SENSOR
203             Map.entry("0x0007", "fid-switch-actuator"), // FID_SWITCH_ACTUATOR
204             Map.entry("0x0009", "fid-blind-actuator"), // FID_SHUTTER_ACTUATOR
205             Map.entry("0x000A", "fid-room-temperature-controller-with-fan-speed-level"), // FID_ROOM_TEMPERATURE_CONTROLLER_MASTER_WITH_FAN
206             Map.entry("0x000B", "fid-room-temperature-controller-extension-unit"), // FID_ROOM_TEMPERATURE_CONTROLLER_SLAVE
207             Map.entry("0x000C", "fid-wind-alarm"), // FID_WIND_ALARM_SENSOR
208             Map.entry("0x000D", "fid-frost-alarm"), // FID_FROST_ALARM_SENSOR
209             Map.entry("0x000E", "fid-rain-alarm"), // FID_RAIN_ALARM_SENSOR
210             Map.entry("0x000F", "fid-window-sensor"), // FID_WINDOW_DOOR_SENSOR
211             Map.entry("0x0011", "fid-movement-detector"), // FID_MOVEMENT_DETECTOR
212             Map.entry("0x0012", "fid-dim-actuator"), // FID_DIMMING_ACTUATOR
213             Map.entry("0x0014", "fid-radiator"), // FID_RADIATOR_ACTUATOR
214             Map.entry("0x0015", "fid-underfloor-heating"), // FID_UNDERFLOOR_HEATING
215             Map.entry("0x0016", "fid-fan-coil"), // FID_FAN_COIL
216             Map.entry("0x0017", "fid-two-level-controller"), // FID_TWO_LEVEL_CONTROLLER
217             Map.entry("0x001A", "fid-door-opener"), // FID_DES_DOOR_OPENER_ACTUATOR
218             Map.entry("0x001B", "fid-proxy"), // FID_PROXY
219             Map.entry("0x001D", "fid-door-map.entry-system-call-level-actuator"), // FID_DES_LEVEL_CALL_ACTUATOR
220             Map.entry("0x001E", "fid-door-map.entry-system-call-level-sensor"), // FID_DES_LEVEL_CALL_SENSOR
221             Map.entry("0x001F", "fid-door-call"), // FID_DES_DOOR_RINGING_SENSOR
222             Map.entry("0x0020", "fid-automatic-door-opener"), // FID_DES_AUTOMATIC_DOOR_OPENER_ACTUATOR
223             Map.entry("0x0021", "fid-corridor-light"), // FID_DES_LIGHT_SWITCH_ACTUATOR
224             Map.entry("0x0023", "fid-room-temperature-controller"), // FID_ROOM_TEMPERATURE_CONTROLLER_MASTER_WITHOUT_FAN
225             Map.entry("0x0024", "fid-cooling-mode"), // FID_COOLING_ACTUATOR
226             Map.entry("0x0027", "fid-heating-mode"), // FID_HEATING_ACTUATOR
227             Map.entry("0x0028", "fid-force-position-blind"), // FID_FORCE_UP_DOWN_SENSOR
228             Map.entry("0x0029", "fid-auto.-heating/cooling-mode"), // FID_HEATING_COOLING_ACTUATOR
229             Map.entry("0x002A", "fid-switchover-heating/cooling"), // FID_HEATING_COOLING_SENSOR
230             Map.entry("0x002B", "fid-device-settings"), // FID_DES_DEVICE_SETTINGS
231             Map.entry("0x002E", "fid-dim-actuator"), // FID_RGB_W_ACTUATOR
232             Map.entry("0x002F", "fid-dim-actuator"), // FID_RGB_ACTUATOR
233             Map.entry("0x0030", "fid-control-element"), // FID_PANEL_SWITCH_SENSOR
234             Map.entry("0x0031", "fid-dimming-sensor"), // FID_PANEL_DIMMING_SENSOR
235             Map.entry("0x0033", "fid-blind-sensor"), // FID_PANEL_BLIND_SENSOR
236             Map.entry("0x0034", "fid-stairwell-light-sensor"), // FID_PANEL_STAIRCASE_LIGHT_SENSOR
237             Map.entry("0x0035", "fid-force-on/off-sensor"), // FID_PANEL_FORCE_ON_OFF_SENSOR
238             Map.entry("0x0036", "fid-force-position-blind"), // FID_PANEL_FORCE_UP_DOWN_SENSOR
239             Map.entry("0x0037", "fid-scene-sensor"), // FID_PANEL_SCENE_SENSOR
240             Map.entry("0x0038", "fid-room-temperature-controller-extension-unit"), // FID_PANEL_ROOM_TEMPERATURE_CONTROLLER_SLAVE
241             Map.entry("0x0039", "fid-fan-coil-sensor"), // FID_PANEL_FAN_COIL_SENSOR
242             Map.entry("0x003A", "fid-rgb-+-warm-white/cold-white-sensor"), // FID_PANEL_RGB_CT_SENSOR
243             Map.entry("0x003B", "fid-rgb-sensor"), // FID_PANEL_RGB_SENSOR
244             Map.entry("0x003C", "fid-warm-white/cold-white-sensor"), // FID_PANEL_CT_SENSOR
245             Map.entry("0x003D", "fid-add.-stage-for-heating-mode"), // FID_ADDITIONAL_HEATING_ACTUATOR
246             Map.entry("0x003E", "fid-radiator-thermostate"), // FID_RADIATOR_ACTUATOR_MASTER
247             Map.entry("0x003F", "fid-room-temperature-controller-extension-unit"), // FID_RADIATOR_ACTUATOR_SLAVE
248             Map.entry("0x0041", "fid-brightness-sensor"), // FID_BRIGHTNESS_SENSOR
249             Map.entry("0x0042", "fid-rain-sensor"), // FID_RAIN_SENSOR
250             Map.entry("0x0043", "fid-temperature-sensor"), // FID_TEMPERATURE_SENSOR
251             Map.entry("0x0044", "fid-wind-sensor"), // FID_WIND_SENSOR
252             Map.entry("0x0045", "fid-trigger"), // FID_TRIGGER
253             Map.entry("0x0047", "fid-heating-mode"), // FID_FCA_2_PIPE_HEATING
254             Map.entry("0x0048", "fid-cooling-mode"), // FID_FCA_2_PIPE_COOLING
255             Map.entry("0x0049", "fid-auto.-heating/cooling-mode"), // FID_FCA_2_PIPE_HEATING_COOLING
256             Map.entry("0x004A", "fid-two-valves-for-heating-and-cooling"), // FID_FCA_4_PIPE_HEATING_AND_COOLING
257             Map.entry("0x004B", "fid-window/door"), // FID_WINDOW_DOOR_ACTUATOR
258             Map.entry("0x004E", "fid-abc"), // FID_INVERTER_INFO
259             Map.entry("0x004F", "fid-abd"), // FID_METER_INFO
260             Map.entry("0x0050", "fid-acd"), // FID_BATTERY_INFO
261             Map.entry("0x0051", "fid-timer-program-switch-sensor"), // FID_PANEL_TIMER_PROGRAM_SWITCH_SENSOR
262             Map.entry("0x0055", "fid-zone"), // FID_DOMUSTECH_ZONE
263             Map.entry("0x0056", "fid-central-heating-actuator"), // FID_CENTRAL_HEATING_ACTUATOR
264             Map.entry("0x0057", "fid-central-cooling-actuator"), // FID_CENTRAL_COOLING_ACTUATOR
265             Map.entry("0x0059", "fid-housekeeping"), // FID_HOUSE_KEEPING
266             Map.entry("0x005A", "fid-media-player"), // FID_MEDIA_PLAYER
267             Map.entry("0x005B", "fid-panel-room-temperature-controller-slave-for-battery-device"), // FID_PANEL_ROOM_TEMPERATURE_CONTROLLER_SLAVE_FOR_BATTERY_DEVICE
268             Map.entry("0x0060", "fid-media-player-sensor"), // FID_PANEL_MEDIA_PLAYER_SENSOR
269             Map.entry("0x0061", "fid-roller-blind-actuator"), // FID_BLIND_ACTUATOR
270             Map.entry("0x0062", "fid-attic-window-actuator"), // FID_ATTIC_WINDOW_ACTUATOR
271             Map.entry("0x0063", "fid-awning-actuator"), // FID_AWNING_ACTUATOR
272             Map.entry("0x0064", "fid-windowdoor-position-sensor"), // FID_WINDOW_DOOR_POSITION_SENSOR
273             Map.entry("0x0065", "fid-window/door-position"), // FID_WINDOW_DOOR_POSITION_ACTUATOR
274             Map.entry("0x0066", "fid-media-playback-control-sensor"), // FID_MEDIA_PLAYBACK_CONTROL_SENSOR
275             Map.entry("0x0067", "fid-media-volume-sensor"), // FID_MEDIA_VOLUME_SENSOR
276             Map.entry("0x0068", "fid-dishwasher"), // FID_DISHWASHER
277             Map.entry("0x0069", "fid-laundry"), // FID_LAUNDRY
278             Map.entry("0x006A", "fid-dryer"), // FID_DRYER
279             Map.entry("0x006B", "fid-oven"), // FID_OVEN
280             Map.entry("0x006C", "fid-fridge"), // FID_FRIDGE
281             Map.entry("0x006D", "fid-freezer"), // FID_FREEZER
282             Map.entry("0x006E", "fid-hood"), // FID_HOOD
283             Map.entry("0x006F", "fid-coffee-machine"), // FID_COFFEE_MACHINE
284             Map.entry("0x0070", "fid-fridge/freezer"), // FID_FRIDGE_FREEZER
285             Map.entry("0x0071", "fid-timer-program-switch-sensor"), // FID_TIMER_PROGRAM_OR_ALERT_SWITCH_SENSOR
286             Map.entry("0x0073", "fid-ceiling-fan-actuator"), // FID_CEILING_FAN_ACTUATOR
287             Map.entry("0x0074", "fid-ceiling-fan-sensor"), // FID_CEILING_FAN_SENSOR
288             Map.entry("0x0075", "fid-room-temperature-controller-with-fan-speed-level"), // FID_SPLIT_UNIT_GATEWAY
289             Map.entry("0x0076", "fid-zone"), // FID_ZONE
290             Map.entry("0x0077", "fid-safety"), // FID_24H_ZONE
291             Map.entry("0x0078", "fid-external-ir-sensor-bx80"), // FID_EXTERNAL_IR_SENSOR_BX80
292             Map.entry("0x0079", "fid-external-ir-sensor-vxi"), // FID_EXTERNAL_IR_SENSOR_VXI
293             Map.entry("0x007A", "fid-external-ir-sensor-mini"), // FID_EXTERNAL_IR_SENSOR_MINI
294             Map.entry("0x007B", "fid-external-ir-sensor-high-altitude"), // FID_EXTERNAL_IR_SENSOR_HIGH_ALTITUDE
295             Map.entry("0x007C", "fid-external-ir-sensor-curtain"), // FID_EXTERNAL_IR_SENSOR_CURTAIN
296             Map.entry("0x007D", "fid-smoke-detector"), // FID_SMOKE_DETECTOR
297             Map.entry("0x007E", "fid-carbon-monoxide-sensor"), // FID_CARBON_MONOXIDE_SENSOR
298             Map.entry("0x007F", "fid-methane-detector"), // FID_METHANE_DETECTOR
299             Map.entry("0x0080", "fid-gas-sensor-lpg"), // FID_GAS_SENSOR_LPG
300             Map.entry("0x0081", "fid-flood-detection"), // FID_FLOOD_DETECTION
301             Map.entry("0x0082", "fid-secure@home-central-unit"), // FID_DOMUS_CENTRAL_UNIT_NEXTGEN
302             Map.entry("0x0083", "fid-thermostat"), // FID_THERMOSTAT
303             Map.entry("0x0084", "fid-secure@home-zone-sensor"), // FID_PANEL_DOMUS_ZONE_SENSOR
304             Map.entry("0x0085", "fid-slave-thermostat"), // FID_THERMOSTAT_SLAVE
305             Map.entry("0x0086", "fid-secure@home-integration-logic"), // FID_DOMUS_SECURE_INTEGRATION
306             Map.entry("0x0087", "fid-add.-stage-for-cooling-mode"), // FID_ADDITIONAL_COOLING_ACTUATOR
307             Map.entry("0x0088", "fid-two-level-heating-actuator"), // FID_TWO_LEVEL_HEATING_ACTUATOR
308             Map.entry("0x0089", "fid-two-level-cooling-actuator"), // FID_TWO_LEVEL_COOLING_ACTUATOR
309             Map.entry("0x008E", "fid-zone"), // FID_GLOBAL_ZONE
310             Map.entry("0x008F", "fid-volume-up"), // FID_VOLUME_UP_SENSOR
311             Map.entry("0x0090", "fid-volume-down"), // FID_VOLUME_DOWN_SENSOR
312             Map.entry("0x0091", "fid-play/pause"), // FID_PLAY_PAUSE_SENSOR
313             Map.entry("0x0092", "fid-next-favorite"), // FID_NEXT_FAVORITE_SENSOR
314             Map.entry("0x0093", "fid-next-song"), // FID_NEXT_SONG_SENSOR
315             Map.entry("0x0094", "fid-previous-song"), // FID_PREVIOUS_SONG_SENSOR
316             Map.entry("0x0095", "fid-home-appliance-sensor"), // FID_HOME_APPLIANCE_SENSOR
317             Map.entry("0x0096", "fid-heat-sensor"), // FID_HEAT_SENSOR
318             Map.entry("0x0097", "fid-zone-switching"), // FID_ZONE_SWITCHING
319             Map.entry("0x0098", "fid-button-function"), // FID_SECURE_AT_HOME_FUNCTION
320             Map.entry("0x0099", "fid-advanced-configuration"), // FID_COMPLEX_CONFIGURATION
321             Map.entry("0x009A", "fid-secure@home-central-unit-basic"), // FID_DOMUS_CENTRAL_UNIT_BASIC
322             Map.entry("0x009B", "fid-repeater"), // FID_DOMUS_REPEATER
323             Map.entry("0x009C", "fid-remote-scene-control"), // FID_DOMUS_SCENE_TRIGGER
324             Map.entry("0x009D", "fid-window-sensor"), // FID_DOMUSWINDOWCONTACT
325             Map.entry("0x009E", "fid-movement-detector"), // FID_DOMUSMOVEMENTDETECTOR
326             Map.entry("0x009F", "fid-external-ir-sensor-curtain"), // FID_DOMUSCURTAINDETECTOR
327             Map.entry("0x00A0", "fid-smoke-detector"), // FID_DOMUSSMOKEDETECTOR
328             Map.entry("0x00A1", "fid-flood-detection"), // FID_DOMUSFLOODDETECTOR
329             Map.entry("0x00A3", "fid-sensor-for-air-conditioning-unit"), // FID_PANEL_SUG_SENSOR
330             Map.entry("0x00A4", "fid-two-point-controller-for-heating-or-cooling"), // FID_TWO_LEVEL_HEATING_COOLING_ACTUATOR
331             Map.entry("0x00A5", "fid-slave-thermostat"), // FID_PANEL_THERMOSTAT_CONTROLLER_SLAVE
332             Map.entry("0x00A6", "fid-wallbox"), // FID_WALLBOX
333             Map.entry("0x00A7", "fid-wallbox"), // FID_PANEL_WALLBOX
334             Map.entry("0x00A8", "fid-door-lock-control"), // FID_DOOR_LOCK_CONTROL
335             Map.entry("0x00AA", "fid-room-temperature-controller-with-fan-speed-level"), // FID_VRV_GATEWAY
336             Map.entry("0x4800", "fid-scene-trigger"), // FID_SCENE_TRIGGER
337             Map.entry("0x4A00", "fid-rule-switch"), // FID_RULE_SWITCH
338             Map.entry("0xE017", "fid-air-quality-sensor-pressure"), // FID_AIRQUALITYSENSOR_PRESSURE
339             Map.entry("0xE018", "fid-air-quality-sensor-co2"), // FID_AIRQUALITYSENSOR_CO2
340             Map.entry("0xE019", "fid-air-quality-sensor-co"), // FID_AIRQUALITYSENSOR_CO
341             Map.entry("0xE01A", "fid-air-quality-sensor-no2"), // FID_AIRQUALITYSENSOR_NO2
342             Map.entry("0xE01B", "fid-air-quality-sensor-o3"), // FID_AIRQUALITYSENSOR_O3
343             Map.entry("0xE01C", "fid-air-quality-sensor-pm10"), // FID_AIRQUALITYSENSOR_PM10
344             Map.entry("0xE01D", "fid-air-quality-sensor-pm25"), // FID_AIRQUALITYSENSOR_PM25
345             Map.entry("0xE01E", "fid-air-quality-sensor-voc"), // FID_AIRQUALITYSENSOR_VOC
346             Map.entry("0xB03F", "fid-air-quality-sensor-humidity"), // FID_AIRQUALITYSENSOR_HUMIDITY
347             Map.entry("0x1090", "fid-movement-detector-flex"), // FID_MOVEMENT_DETECTOR_FLEX
348             Map.entry("0x1810", "fid-dim-actuator-flex") // FID_SWITCH_ACTUATOR_FLEX
349     );
350
351     @Nullable
352     public static String getFunctionIdText(String Key) throws FreeAtHomeGeneralException {
353         String result = MAP_FUNCTION_ID.get(Key);
354
355         if (result != null) {
356             return MAP_FUNCTION_ID.get(Key);
357         } else {
358             throw new FreeAtHomeGeneralException(0,
359                     String.format("%s - Key:%s", "FID is not in the translation table", Key));
360         }
361     }
362 }