]> git.basschouten.com Git - openhab-addons.git/blob
3e5b05fd9b0fe5b0b542ffa91c50e2580289cc04
[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
19 /**
20  * The {@link PidTranslationUtils} supporting the translation from pairing IDs into openHAB types
21  *
22  * @author Andras Uhrin - Initial contribution
23  *
24  */
25 @NonNullByDefault
26 public class PidTranslationUtils {
27     public static final String PID_VALUETYPE_UNKNOWN = "unknown";
28     public static final String PID_VALUETYPE_BOOLEAN = "boolean";
29     public static final String PID_VALUETYPE_DECIMAL = "decimal";
30     public static final String PID_VALUETYPE_INTEGER = "integer";
31     public static final String PID_VALUETYPE_STRING = "string";
32     public static final String PID_VALUETYPE_SHUTTERMOVEMENT = "shuttermovement";
33     public static final String PID_VALUETYPE_ENUM = "enum";
34
35     public static final String CATEGORY_UNDEFINED = "-";
36     public static final String CATEGORY_BATTERY = "Battery";
37     public static final String CATEGORY_ALARM = "Alarm";
38     public static final String CATEGORY_HUMIDITY = "Humidity";
39     public static final String CATEGORY_TEMPERATURE = "Temperature";
40     public static final String CATEGORY_MOTION = "Motion";
41     public static final String CATEGORY_PRESSURE = "Pressure";
42     public static final String CATEGORY_SMOKE = "Smoke";
43     public static final String CATEGORY_WATER = "Water";
44     public static final String CATEGORY_WIND = "Wind";
45     public static final String CATEGORY_RAIN = "Rain";
46     public static final String CATEGORY_ENERGY = "Energy";
47     public static final String CATEGORY_BLINDS = "Blinds";
48     public static final String CATEGORY_CONTACT = "Contact";
49     public static final String CATEGORY_SWITCH = "Switch";
50
51     private static final Map<String, PIdContainerClass> MAP_PAIRING_ID = Map.ofEntries(
52             Map.entry("0x0001",
53                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "0", "1", "pid-switch-on-off",
54                             "pid-switch-on-off-text")),
55             Map.entry("0x0002",
56                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-timed-start-stop",
57                             "pid-timed-start-stop-text")),
58             Map.entry("0x0003",
59                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-force-position",
60                             "pid-force-position-text")),
61             Map.entry("0x0004",
62                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-scene-control",
63                             "pid-scene-control-text")),
64             Map.entry("0x0006",
65                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_MOTION, "", "",
66                             "pid-movement-under-consideration-of-brightness",
67                             "pid-movement-under-consideration-of-brightness-text")),
68             Map.entry("0x0007",
69                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_MOTION, "", "", "pid-presence",
70                             "pid-presence-text")),
71             Map.entry("0x0010",
72                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-relative-set-value",
73                             "pid-relative-set-value-text")),
74             Map.entry("0x0011",
75                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-absolute-set-value",
76                             "pid-absolute-set-value-text")),
77             Map.entry("0x0012",
78                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-night",
79                             "pid-night-text")),
80             Map.entry("0x0013",
81                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-invalid-string-id",
82                             "pid-invalid-string-id-text")),
83             Map.entry("0x0015",
84                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-rgb-color",
85                             "pid-rgb-color-text")),
86             Map.entry("0x0016",
87                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-color-temperature",
88                             "pid-color-temperature-text")),
89             Map.entry("0x0017",
90                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-hsv",
91                             "pid-hsv-text")),
92             Map.entry("0x0018",
93                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-hue",
94                             "pid-hue-text")),
95             Map.entry("0x0019",
96                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-saturation",
97                             "pid-saturation-text")),
98             Map.entry("0x0020",
99                     new PIdContainerClass(PID_VALUETYPE_SHUTTERMOVEMENT, CATEGORY_BLINDS, "", "", "pid-move-up-down",
100                             "pid-move-up-down-text")),
101             Map.entry("0x0021",
102                     new PIdContainerClass(PID_VALUETYPE_SHUTTERMOVEMENT, CATEGORY_BLINDS, "", "", "pid-adjust-up-down",
103                             "pid-adjust-up-down-text")),
104             Map.entry("0x0023",
105                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_BLINDS, "0", "100",
106                             "pid-set-absolute-position-blinds", "pid-set-absolute-position-blinds-text")),
107             Map.entry("0x0024",
108                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_BLINDS, "0", "100",
109                             "pid-set-absolute-position-slats", "pid-set-absolute-position-slats-text")),
110             Map.entry("0x0025",
111                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_WIND, "", "", "pid-wind-alarm",
112                             "pid-wind-alarm-text")),
113             Map.entry("0x0026",
114                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_TEMPERATURE, "", "", "pid-frost-alarm",
115                             "pid-frost-alarm-text")),
116             Map.entry("0x0027",
117                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_RAIN, "", "", "pid-rain-alarm",
118                             "pid-rain-alarm-text")),
119             Map.entry("0x0028",
120                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_UNDEFINED, "", "", "pid-force-position-blind",
121                             "pid-force-position-blind-text")),
122             Map.entry("0x0029",
123                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-window-door-position",
124                             "pid-window-door-position-text")),
125             Map.entry("0x0030",
126                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
127                             "pid-actuating-value-heating", "pid-actuating-value-heating-text")),
128             Map.entry("0x0031",
129                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-fan-level-heating",
130                             "pid-fan-level-heating-text")),
131             Map.entry("0x0032",
132                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
133                             "pid-actuating-value-cooling", "pid-actuating-value-cooling-text")),
134             Map.entry("0x0033",
135                     new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "7", "30",
136                             "pid-set-value-temperature", "pid-set-value-temperature-text")),
137             Map.entry("0x0034",
138                     new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "7", "30",
139                             "pid-relative-set-point-temperature", "pid-relative-set-point-temperature-text")),
140             Map.entry("0x0035",
141                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-window-door",
142                             "pid-window-door-text")),
143             Map.entry("0x0036",
144                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "", "pid-status-indication",
145                             "pid-status-indication-text")),
146             Map.entry("0x0037",
147                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "",
148                             "pid-fan-manual-heating-on-off", "pid-fan-manual-heating-on-off-text")),
149             Map.entry("0x0038",
150                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-controller-on-off",
151                             "pid-controller-on-off-text")),
152             Map.entry("0x0039",
153                     new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "7", "30",
154                             "pid-relative-set-point-request", "pid-relative-set-point-request-text")),
155             Map.entry("0x003A",
156                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-eco-mode-on-off-request",
157                             "pid-eco-mode-on-off-request-text")),
158             Map.entry("0x003B",
159                     new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "7", "30",
160                             "pid-comfort-temperature", "pid-comfort-temperature-text")),
161             Map.entry("0x0040",
162                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-fan-level-request",
163                             "pid-fan-level-request-text")),
164             Map.entry("0x0041",
165                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "",
166                             "pid-fan-manual-on-off-request", "pid-fan-manual-on-off-request-text")),
167             Map.entry("0x0042",
168                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "",
169                             "pid-controller-on-off-request", "pid-controller-on-off-request-text")),
170             Map.entry("0x0044",
171                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-eco-mode-on-off-request",
172                             "pid-eco-mode-on-off-request-text")),
173             Map.entry("0x0100",
174                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-info-on-off",
175                             "pid-info-on-off-text")),
176             Map.entry("0x0101",
177                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_UNDEFINED, "", "", "pid-force-position-info",
178                             "pid-force-position-info-text")),
179             Map.entry("0x0105",
180                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_UNDEFINED, "", "", "pid-sysap-infoonoff",
181                             "pid-sysap-infoonoff-text")),
182             Map.entry("0x0106",
183                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-sysap-infoforce",
184                             "pid-sysap-infoforce-text")),
185             Map.entry("0x0110",
186                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "",
187                             "pid-info-actual-dimming-value", "pid-info-actual-dimming-value-text")),
188             Map.entry("0x0111",
189                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-info-error",
190                             "pid-info-error-text")),
191             Map.entry("0x0115",
192                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "",
193                             "pid-sysap-infocurrentdimmingvalue", "pid-sysap-infocurrentdimmingvalue-text")),
194             Map.entry("0x0116",
195                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-sysap-infoerror",
196                             "pid-sysap-infoerror-text")),
197             Map.entry("0x0118",
198                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
199                             "pid-info-color-temperature", "pid-info-color-temperature-text")),
200             Map.entry("0x011A",
201                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
202                             "pid-sysap-info-color-temperature", "pid-sysap-info-color-temperature-text")),
203             Map.entry("0x011B",
204                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-hsv",
205                             "pid-info-hsv-text")),
206             Map.entry("0x011C",
207                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-sysap-info-hsv",
208                             "pid-sysap-info-hsv-text")),
209             Map.entry("0x011D",
210                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-color-mode",
211                             "pid-info-color-mode-text")),
212             Map.entry("0x011E",
213                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
214                             "pid-sysap-info-color-mode", "pid-sysap-info-color-mode-text")),
215             Map.entry("0x0120",
216                     new PIdContainerClass(PID_VALUETYPE_SHUTTERMOVEMENT, CATEGORY_BLINDS, "", "",
217                             "pid-info-move-up-down", "pid-info-move-up-down-text")),
218             Map.entry("0x0121",
219                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_BLINDS, "", "",
220                             "pid-current-absolute-position-blinds-percentage",
221                             "pid-current-absolute-position-blinds-percentage-text")),
222             Map.entry("0x0122",
223                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
224                             "pid-current-absolute-position-slats-percentage",
225                             "pid-current-absolute-position-slats-percentage-text")),
226             Map.entry("0x0125",
227                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-sysap-infomoveupdown",
228                             "pid-sysap-infomoveupdown-text")),
229             Map.entry("0x0126",
230                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
231                             "pid-sysap-infocurrentabsoluteblindspercentage",
232                             "pid-sysap-infocurrentabsoluteblindspercentage-text")),
233             Map.entry("0x0127",
234                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
235                             "pid-sysap-infocurrentabsoluteslatspercentage",
236                             "pid-sysap-infocurrentabsoluteslatspercentage-text")),
237             Map.entry("0x0130",
238                     new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "7", "30",
239                             "pid-measured-temperature", "pid-measured-temperature-text")),
240             Map.entry("0x0131",
241                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-value-heating",
242                             "pid-info-value-heating-text")),
243             Map.entry("0x0132",
244                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "", "pid-info-value-cooling",
245                             "pid-info-value-cooling-text")),
246             Map.entry("0x0135",
247                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
248                             "pid-switchover-heating-cooling", "pid-switchover-heating-cooling-text")),
249             Map.entry("0x0136",
250                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
251                             "pid-actuating-fan-stage-heating", "pid-actuating-fan-stage-heating-text")),
252             Map.entry("0x0140",
253                     new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "7", "30",
254                             "pid-absolute-setpoint-temperature", "pid-absolute-setpoint-temperature-text")),
255             Map.entry("0x0141",
256                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
257                             "pid-additional-heating-value-info", "pid-additional-heating-value-info-text")),
258             Map.entry("0x0142",
259                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
260                             "pid-additional-cooling-value-info", "pid-additional-cooling-value-info-text")),
261             Map.entry("0x0143",
262                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
263                             "pid-control-value-additional-heating", "pid-control-value-additional-heating-text")),
264             Map.entry("0x0144",
265                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
266                             "pid-control-value-additional-cooling", "pid-control-value-additional-cooling-text")),
267             Map.entry("0x0145",
268                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
269                             "pid-info-actuating-fan-stage-heating", "pid-info-actuating-fan-stage-heating-text")),
270             Map.entry("0x0146",
271                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
272                             "pid-info-actuating-fan-manual-on-off-heating",
273                             "pid-info-actuating-fan-manual-on-off-heating-text")),
274             Map.entry("0x0147",
275                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
276                             "pid-actuating-fan-stage-cooling", "pid-actuating-fan-stage-cooling-text")),
277             Map.entry("0x0149",
278                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
279                             "pid-info-fan-stage-cooling", "pid-info-fan-stage-cooling-text")),
280             Map.entry("0x014A",
281                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_TEMPERATURE, "", "",
282                             "pid-info-fan-manual-on-off-cooling", "pid-info-fan-manual-on-off-cooling-text")),
283             Map.entry("0x014B",
284                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "", "pid-heating-active",
285                             "pid-heating-active-text")),
286             Map.entry("0x014C",
287                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "", "pid-cooling-active",
288                             "pid-cooling-active-text")),
289             Map.entry("0x014D",
290                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "", "pid-heating-demand",
291                             "pid-heating-demand-text")),
292             Map.entry("0x014E",
293                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "", "pid-cooling-demand",
294                             "pid-cooling-demand-text")),
295             Map.entry("0x014F",
296                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
297                             "pid-heating-demand-feedback-signal", "pid-heating-demand-feedback-signal-text")),
298             Map.entry("0x0150",
299                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
300                             "pid-cooling-demand-feedback-signal", "pid-cooling-demand-feedback-signal-text")),
301             Map.entry("0x0151",
302                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_HUMIDITY, "", "", "pid-humidity",
303                             "pid-humidity-text")),
304             Map.entry("0x0152",
305                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-aux-on-off-request",
306                             "pid-aux-on-off-request-text")),
307             Map.entry("0x0153",
308                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-aux-on-off-response",
309                             "pid-aux-on-off-response-text")),
310             Map.entry("0x0154",
311                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-heating-on-off-request",
312                             "pid-heating-on-off-request-text")),
313             Map.entry("0x0155",
314                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-cooling-on-off-request",
315                             "pid-cooling-on-off-request-text")),
316             Map.entry("0x0156",
317                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-operation-mode",
318                             "pid-operation-mode-text")),
319             Map.entry("0x0157",
320                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-swing-h-v",
321                             "pid-swing-h-v-text")),
322             Map.entry("0x0158",
323                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-supported-features",
324                             "pid-supported-features-text")),
325             Map.entry("0x0159",
326                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
327                             "pid-extended-status-indication", "pid-extended-status-indication-text")),
328             Map.entry("0x015A",
329                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
330                             "pid-extended-status-indication", "pid-extended-status-indication-text")),
331             Map.entry("0x015B",
332                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
333                             "pid-aux-heating-on-off-request", "pid-aux-heating-on-off-request-text")),
334             Map.entry("0x015C",
335                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
336                             "pid-emergency-heating-on-off-request", "pid-emergency-heating-on-off-request-text")),
337             Map.entry("0x0160",
338                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
339                             "pid-relative-fan-speed-control", "pid-relative-fan-speed-control-text")),
340             Map.entry("0x0161",
341                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
342                             "pid-absolute-fan-speed-control", "pid-absolute-fan-speed-control-text")),
343             Map.entry("0x0162",
344                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
345                             "pid-info-absolute-fan-speed", "pid-info-absolute-fan-speed-text")),
346             Map.entry("0x0163",
347                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
348                             "pid-sysap-infoactualfanspeed", "pid-sysap-infoactualfanspeed-text")),
349             Map.entry("0x01A0",
350                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-notification-flags",
351                             "pid-notification-flags-text")),
352             Map.entry("0x0280",
353                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-power-rc",
354                             "pid-power-rc-text")),
355             Map.entry("0x0281",
356                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-power-rh",
357                             "pid-power-rh-text")),
358             Map.entry("0x0282",
359                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-proximity-status",
360                             "pid-proximity-status-text")),
361             Map.entry("0x0290",
362                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-brightness-sensor",
363                             "pid-brightness-sensor-text")),
364             Map.entry("0x0291",
365                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-last-touch",
366                             "pid-last-touch-text")),
367             Map.entry("0x0292",
368                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
369                             "pid-led-backlighting-night-mode", "pid-led-backlighting-night-mode-text")),
370             Map.entry("0x02C0",
371                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-locator-beep",
372                             "pid-locator-beep-text")),
373             Map.entry("0x02C1",
374                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-switch-test-alarm",
375                             "pid-switch-test-alarm-text")),
376             Map.entry("0x02C3",
377                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-fire-alarm-active",
378                             "pid-fire-alarm-active-text")),
379             Map.entry("0x0400",
380                     new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "", "",
381                             "pid-outside-temperature", "pid-outside-temperature-text")),
382             Map.entry("0x0401",
383                     new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_WIND, "", "", "pid-wind-force",
384                             "pid-wind-force-text")),
385             Map.entry("0x0402",
386                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_UNDEFINED, "", "", "pid-brightness-alarm",
387                             "pid-brightness-alarm-text")),
388             Map.entry("0x0403",
389                     new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_UNDEFINED, "", "", "pid-lux-value",
390                             "pid-lux-value-text")),
391             Map.entry("0x0404",
392                     new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_WIND, "", "", "pid-wind-speed",
393                             "pid-wind-speed-text")),
394             Map.entry("0x0405",
395                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_RAIN, "", "", "pid-rain-detection",
396                             "pid-rain-detection-text")),
397             Map.entry("0x0406",
398                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_RAIN, "", "", "pid-rain-sensor-frequency",
399                             "pid-rain-sensor-frequency-text")),
400             Map.entry("0x0440",
401                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-play",
402                             "pid-play-text")),
403             Map.entry("0x0441",
404                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-pause",
405                             "pid-pause-text")),
406             Map.entry("0x0442",
407                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-next",
408                             "pid-next-text")),
409             Map.entry("0x0443",
410                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-previous",
411                             "pid-previous-text")),
412             Map.entry("0x0444",
413                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-play-mode",
414                             "pid-play-mode-text")),
415             Map.entry("0x0445",
416                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-mute",
417                             "pid-mute-text")),
418             Map.entry("0x0446",
419                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
420                             "pid-relative-volume-control", "pid-relative-volume-control-text")),
421             Map.entry("0x0447",
422                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
423                             "pid-absolute-volume-control", "pid-absolute-volume-control-text")),
424             Map.entry("0x0448",
425                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-group-membership",
426                             "pid-group-membership-text")),
427             Map.entry("0x0449",
428                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-play-favorite",
429                             "pid-play-favorite-text")),
430             Map.entry("0x044A",
431                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-play-next-favorite",
432                             "pid-play-next-favorite-text")),
433             Map.entry("0x0460",
434                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-playback-status",
435                             "pid-playback-status-text")),
436             Map.entry("0x0461",
437                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
438                             "pid-current-item-metadata-info", "pid-current-item-metadata-info-text")),
439             Map.entry("0x0462",
440                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-mute",
441                             "pid-info-mute-text")),
442             Map.entry("0x0463",
443                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-actual-volume",
444                             "pid-info-actual-volume-text")),
445             Map.entry("0x0464",
446                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
447                             "pid-allowed-playback-actions", "pid-allowed-playback-actions-text")),
448             Map.entry("0x0465",
449                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
450                             "pid-info-group-membership", "pid-info-group-membership-text")),
451             Map.entry("0x0466",
452                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
453                             "pid-info-playing-favorite", "pid-info-playing-favorite-text")),
454             Map.entry("0x0467",
455                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
456                             "pid-absolute-group-volume-control", "pid-absolute-group-volume-control-text")),
457             Map.entry("0x0468",
458                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
459                             "pid-info-absolute-group-volume", "pid-info-absolute-group-volume-text")),
460             Map.entry("0x0469",
461                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-media-source",
462                             "pid-media-source-text")),
463             Map.entry("0x04A0",
464                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
465                             "pid-solar-power-production", "pid-solar-power-production-text")),
466             Map.entry("0x04A1",
467                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
468                             "pid-inverter-output-power", "pid-inverter-output-power-text")),
469             Map.entry("0x04A2",
470                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-solar-energy-(today)",
471                             "pid-solar-energy-(today)-text")),
472             Map.entry("0x04A3",
473                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
474                             "pid-injected-energy-(today)", "pid-injected-energy-(today)-text")),
475             Map.entry("0x04A4",
476                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
477                             "pid-purchased-energy-(today)", "pid-purchased-energy-(today)-text")),
478             Map.entry("0x04A5",
479                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-inverter-alarm",
480                             "pid-inverter-alarm-text")),
481             Map.entry("0x04A6",
482                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-self-consumption",
483                             "pid-self-consumption-text")),
484             Map.entry("0x04A7",
485                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-self-sufficiency",
486                             "pid-self-sufficiency-text")),
487             Map.entry("0x04A8",
488                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
489                             "pid-home-power-consumption", "pid-home-power-consumption-text")),
490             Map.entry("0x04A9",
491                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-power-to-grid",
492                             "pid-power-to-grid-text")),
493             Map.entry("0x04AA",
494                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
495                             "pid-consumed-energy-(today)", "pid-consumed-energy-(today)-text")),
496             Map.entry("0x04AB",
497                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-meter-alarm",
498                             "pid-meter-alarm-text")),
499             Map.entry("0x04AC",
500                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-battery-level",
501                             "pid-battery-level-text")),
502             Map.entry("0x04AD",
503                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-battery-power",
504                             "pid-battery-power-text")),
505             Map.entry("0x04B0",
506                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-boost",
507                             "pid-boost-text")),
508             Map.entry("0x04B1",
509                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
510                             "pid-stop-charging-reuqest", "pid-stop-charging-reuqest-text")),
511             Map.entry("0x04B2",
512                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
513                             "pid-enable-charging-reuqest", "pid-enable-charging-reuqest-text")),
514             Map.entry("0x04B3",
515                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-boost",
516                             "pid-info-boost-text")),
517             Map.entry("0x04B4",
518                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-wallbox-status",
519                             "pid-info-wallbox-status-text")),
520             Map.entry("0x04B5",
521                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-charging",
522                             "pid-info-charging-text")),
523             Map.entry("0x04B6",
524                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
525                             "pid-info-charging-enabled", "pid-info-charging-enabled-text")),
526             Map.entry("0x04B7",
527                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-installed-power",
528                             "pid-info-installed-power-text")),
529             Map.entry("0x04B8",
530                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
531                             "pid-info-transmitted-energy", "pid-info-transmitted-energy-text")),
532             Map.entry("0x04B9",
533                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-car-range",
534                             "pid-info-car-range-text")),
535             Map.entry("0x04BA",
536                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
537                             "pid-info-charging-duration", "pid-info-charging-duration-text")),
538             Map.entry("0x04BB",
539                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-current-limit",
540                             "pid-info-current-limit-text")),
541             Map.entry("0x04BC",
542                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
543                             "pid-info-current-limit-for-group", "pid-info-current-limit-for-group-text")),
544             Map.entry("0x04BD",
545                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-album-cover-url",
546                             "pid-album-cover-url-text")),
547             Map.entry("0x0501",
548                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
549                             "pid-secure@home-central-unit", "pid-secure@home-central-unit-text")),
550             Map.entry("0x0502",
551                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-domusdisarmcounter",
552                             "pid-domusdisarmcounter-text")),
553             Map.entry("0x0504",
554                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-intrusion-alarm",
555                             "pid-intrusion-alarm-text")),
556             Map.entry("0x0505",
557                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-safety-alarm",
558                             "pid-safety-alarm-text")),
559             Map.entry("0x0507",
560                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
561                             "pid-infoconfigurationstatus", "pid-infoconfigurationstatus-text")),
562             Map.entry("0x0508",
563                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-enable-configuration",
564                             "pid-enable-configuration-text")),
565             Map.entry("0x0509",
566                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-disarming-led",
567                             "pid-disarming-led-text")),
568             Map.entry("0x050A",
569                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-aes-key",
570                             "pid-aes-key-text")),
571             Map.entry("0x050B",
572                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-zone-status",
573                             "pid-zone-status-text")),
574             Map.entry("0x050E",
575                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-time",
576                             "pid-time-text")),
577             Map.entry("0x0600",
578                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-start-stop",
579                             "pid-start-stop-text")),
580             Map.entry("0x0601",
581                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-pause-resume",
582                             "pid-pause-resume-text")),
583             Map.entry("0x0602",
584                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-select-program",
585                             "pid-select-program-text")),
586             Map.entry("0x0603",
587                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-delayed-start-time",
588                             "pid-delayed-start-time-text")),
589             Map.entry("0x0604",
590                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-status",
591                             "pid-info-status-text")),
592             Map.entry("0x0605",
593                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
594                             "pid-info-remote-start-enabled", "pid-info-remote-start-enabled-text")),
595             Map.entry("0x0606",
596                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-program",
597                             "pid-info-program-text")),
598             Map.entry("0x0607",
599                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-finish-time",
600                             "pid-info-finish-time-text")),
601             Map.entry("0x0608",
602                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-delayed-start",
603                             "pid-info-delayed-start-text")),
604             Map.entry("0x0609",
605                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-door",
606                             "pid-info-door-text")),
607             Map.entry("0x060A",
608                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-door-alarm",
609                             "pid-info-door-alarm-text")),
610             Map.entry("0x060B",
611                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-switch-supercool",
612                             "pid-switch-supercool-text")),
613             Map.entry("0x060C",
614                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-switch-superfreeze",
615                             "pid-switch-superfreeze-text")),
616             Map.entry("0x060D",
617                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
618                             "pid-info-switch-supercool", "pid-info-switch-supercool-text")),
619             Map.entry("0x060E",
620                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
621                             "pid-info-switch-superfreeze", "pid-info-switch-superfreeze-text")),
622             Map.entry("0x060F",
623                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-measured-temperature",
624                             "pid-measured-temperature-text")),
625             Map.entry("0x0610",
626                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-measured-temperature",
627                             "pid-measured-temperature-text")),
628             Map.entry("0x0611",
629                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
630                             "pid-set-value-temperature", "pid-set-value-temperature-text")),
631             Map.entry("0x0612",
632                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
633                             "pid-set-value-temperature", "pid-set-value-temperature-text")),
634             Map.entry("0x0613",
635                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-change-operation",
636                             "pid-change-operation-text")),
637             Map.entry("0x0614",
638                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-detailed-status-info",
639                             "pid-detailed-status-info-text")),
640             Map.entry("0x0615",
641                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-remaining-time",
642                             "pid-info-remaining-time-text")),
643             Map.entry("0x0616",
644                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
645                             "pid-time-of-last-status-change", "pid-time-of-last-status-change-text")),
646             Map.entry("0x0618",
647                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
648                             "pid-lock-unlock-door-command", "pid-lock-unlock-door-command-text")),
649             Map.entry("0x0619",
650                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-locked-unlocked",
651                             "pid-info-locked-unlocked-text")),
652             Map.entry("0xF001",
653                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-time",
654                             "pid-time-text")),
655             Map.entry("0xF002",
656                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-date",
657                             "pid-date-text")),
658             Map.entry("0xF003",
659                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-notification",
660                             "pid-notification-text")),
661             Map.entry("0xF101",
662                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-switch-entity-on-off",
663                             "pid-switch-entity-on-off-text")),
664             Map.entry("0xF102",
665                     new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "",
666                             "pid-info-switch-entity-on-off", "pid-info-switch-entity-on-off-text")),
667             Map.entry("0xF104",
668                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-consistency-tag",
669                             "pid-consistency-tag-text")),
670             Map.entry("0xF105",
671                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-battery-status",
672                             "pid-battery-status-text")),
673             Map.entry("0xF106",
674                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-stay-awake",
675                             "pid-stay-awake-text")),
676             Map.entry("0xF107",
677                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-proxy-switch",
678                             "pid-proxy-switch-text")),
679             Map.entry("0xF108",
680                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-proxy1",
681                             "pid-proxy1-text")),
682             Map.entry("0xF109",
683                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-proxy2",
684                             "pid-proxy2-text")),
685             Map.entry("0xF10A",
686                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-proxy4",
687                             "pid-proxy4-text")),
688             Map.entry("0xF10B",
689                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-cyclic-sleep-time",
690                             "pid-cyclic-sleep-time-text")),
691             Map.entry("0xF10C",
692                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-presence",
693                             "pid-presence-text")),
694             Map.entry("0xF10D",
695                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
696                             "pid-measured-temperature-1", "pid-measured-temperature-1-text")),
697             Map.entry("0xF10E",
698                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-standby-statistics",
699                             "pid-standby-statistics-text")),
700             Map.entry("0xF10F",
701                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-heartbeat-delay",
702                             "pid-heartbeat-delay-text")),
703             Map.entry("0xF110",
704                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-heartbeat-delay",
705                             "pid-info-heartbeat-delay-text")),
706             Map.entry("0xFF01",
707                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
708                             "pid-measured-temperature-1", "pid-measured-temperature-1-text")),
709             Map.entry("0xFF02",
710                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
711                             "pid-measured-temperature-2", "pid-measured-temperature-2-text")),
712             Map.entry("0xFF03",
713                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
714                             "pid-measured-temperature-3", "pid-measured-temperature-3-text")),
715             Map.entry("0xFF04",
716                     new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
717                             "pid-measured-temperature-4", "pid-measured-temperature-4-text")),
718             Map.entry("0x061A",
719                     new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_PRESSURE, "", "",
720                             "pid-air-quality-pressure-value", "pid-air-quality-pressure-value-text")),
721             Map.entry("0x061B",
722                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "",
723                             "pid-air-quality-co2-value", "pid-air-quality-co2-value-text")),
724             Map.entry("0x061C",
725                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-air-quality-co-value",
726                             "pid-air-quality-co-value-text")),
727             Map.entry("0x061D",
728                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "",
729                             "pid-air-quality-no2-value", "pid-air-quality-no2-value-text")),
730             Map.entry("0x061E",
731                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-air-quality-o3-value",
732                             "pid-air-quality-o3-value-text")),
733             Map.entry("0x061F",
734                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "",
735                             "pid-air-quality-pm10-value", "pid-air-quality-pm10-value-text")),
736             Map.entry("0x0620",
737                     new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "",
738                             "pid-air-quality-pm25-value", "pid-air-quality-pm25-value-text")),
739             Map.entry("0x0621", new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "",
740                     "pid-air-quality-voc-value", "pid-air-quality-voc-value-text")));
741
742     public static String getShortTextForPairingId(String Key) throws FreeAtHomeGeneralException {
743         PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
744
745         if (desc == null) {
746             throw new FreeAtHomeGeneralException(0,
747                     String.format("%s - Key:%s", "PID is not in the translation table", Key));
748         }
749
750         return desc.label;
751     }
752
753     public static String getDescriptionTextForPairingId(String Key) throws FreeAtHomeGeneralException {
754         PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
755
756         if (desc == null) {
757             throw new FreeAtHomeGeneralException(0,
758                     String.format("%s - Key:%s", "PID is not in the translation table", Key));
759         }
760
761         return desc.description;
762     }
763
764     public static String getValueTypeForPairingId(String Key) throws FreeAtHomeGeneralException {
765         PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
766
767         if (desc == null) {
768             throw new FreeAtHomeGeneralException(0,
769                     String.format("%s - Key:%s", "PID is not in the translation table", Key));
770         }
771
772         return desc.valueType;
773     }
774
775     public static String getItemTypeForPairingId(String Key) throws FreeAtHomeGeneralException {
776         PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
777
778         if (desc == null) {
779             throw new FreeAtHomeGeneralException(0,
780                     String.format("%s - Key:%s", "PID is not in the translation table", Key));
781         }
782
783         return desc.category;
784     }
785
786     public static String getCategoryForPairingId(String Key) throws FreeAtHomeGeneralException {
787         PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
788
789         if (desc == null) {
790             throw new FreeAtHomeGeneralException(0,
791                     String.format("%s - Key:%s", "PID is not in the translation table", Key));
792         }
793
794         return desc.category;
795     }
796
797     public static String getPatternForPairingId(String Key) throws FreeAtHomeGeneralException {
798         PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
799
800         if (desc == null) {
801             throw new FreeAtHomeGeneralException(0,
802                     String.format("%s - Key:%s", "PID is not in the translation table", Key));
803         }
804
805         return desc.category;
806     }
807
808     public static int getMax(String Key) throws FreeAtHomeGeneralException {
809         PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
810
811         if (desc == null) {
812             throw new FreeAtHomeGeneralException(0,
813                     String.format("%s - Key:%s", "PID is not in the translation table", Key));
814         }
815
816         return desc.max;
817     }
818
819     public static int getMin(String Key) throws FreeAtHomeGeneralException {
820         PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
821
822         if (desc == null) {
823             throw new FreeAtHomeGeneralException(0,
824                     String.format("%s - Key:%s", "PID is not in the translation table", Key));
825         }
826
827         return desc.min;
828     }
829 }