2 * Copyright (c) 2010-2024 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.freeathomesystem.internal.util;
17 import org.eclipse.jdt.annotation.NonNullByDefault;
20 * The {@link PidTranslationUtils} supporting the translation from pairing IDs into openHAB types
22 * @author Andras Uhrin - Initial contribution
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";
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";
51 private static final Map<String, PIdContainerClass> MAP_PAIRING_ID = Map.ofEntries(
53 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "0", "1", "pid-switch-on-off",
54 "pid-switch-on-off-text")),
56 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-timed-start-stop",
57 "pid-timed-start-stop-text")),
59 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-force-position",
60 "pid-force-position-text")),
62 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-scene-control",
63 "pid-scene-control-text")),
65 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_MOTION, "", "",
66 "pid-movement-under-consideration-of-brightness",
67 "pid-movement-under-consideration-of-brightness-text")),
69 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_MOTION, "", "", "pid-presence",
70 "pid-presence-text")),
72 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-relative-set-value",
73 "pid-relative-set-value-text")),
75 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-absolute-set-value",
76 "pid-absolute-set-value-text")),
78 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-night",
81 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-invalid-string-id",
82 "pid-invalid-string-id-text")),
84 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-rgb-color",
85 "pid-rgb-color-text")),
87 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-color-temperature",
88 "pid-color-temperature-text")),
90 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-hsv",
93 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-hue",
96 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-saturation",
97 "pid-saturation-text")),
99 new PIdContainerClass(PID_VALUETYPE_SHUTTERMOVEMENT, CATEGORY_BLINDS, "", "", "pid-move-up-down",
100 "pid-move-up-down-text")),
102 new PIdContainerClass(PID_VALUETYPE_SHUTTERMOVEMENT, CATEGORY_BLINDS, "", "", "pid-adjust-up-down",
103 "pid-adjust-up-down-text")),
105 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_BLINDS, "0", "100",
106 "pid-set-absolute-position-blinds", "pid-set-absolute-position-blinds-text")),
108 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_BLINDS, "0", "100",
109 "pid-set-absolute-position-slats", "pid-set-absolute-position-slats-text")),
111 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_WIND, "", "", "pid-wind-alarm",
112 "pid-wind-alarm-text")),
114 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_TEMPERATURE, "", "", "pid-frost-alarm",
115 "pid-frost-alarm-text")),
117 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_RAIN, "", "", "pid-rain-alarm",
118 "pid-rain-alarm-text")),
120 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_UNDEFINED, "", "", "pid-force-position-blind",
121 "pid-force-position-blind-text")),
123 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-window-door-position",
124 "pid-window-door-position-text")),
126 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
127 "pid-actuating-value-heating", "pid-actuating-value-heating-text")),
129 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-fan-level-heating",
130 "pid-fan-level-heating-text")),
132 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
133 "pid-actuating-value-cooling", "pid-actuating-value-cooling-text")),
135 new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "7", "30",
136 "pid-set-value-temperature", "pid-set-value-temperature-text")),
138 new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "7", "30",
139 "pid-relative-set-point-temperature", "pid-relative-set-point-temperature-text")),
141 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-window-door",
142 "pid-window-door-text")),
144 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "", "pid-status-indication",
145 "pid-status-indication-text")),
147 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "",
148 "pid-fan-manual-heating-on-off", "pid-fan-manual-heating-on-off-text")),
150 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-controller-on-off",
151 "pid-controller-on-off-text")),
153 new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "7", "30",
154 "pid-relative-set-point-request", "pid-relative-set-point-request-text")),
156 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-eco-mode-on-off-request",
157 "pid-eco-mode-on-off-request-text")),
159 new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "7", "30",
160 "pid-comfort-temperature", "pid-comfort-temperature-text")),
162 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-fan-level-request",
163 "pid-fan-level-request-text")),
165 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "",
166 "pid-fan-manual-on-off-request", "pid-fan-manual-on-off-request-text")),
168 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "",
169 "pid-controller-on-off-request", "pid-controller-on-off-request-text")),
171 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-eco-mode-on-off-request",
172 "pid-eco-mode-on-off-request-text")),
174 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-info-on-off",
175 "pid-info-on-off-text")),
177 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_UNDEFINED, "", "", "pid-force-position-info",
178 "pid-force-position-info-text")),
180 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_UNDEFINED, "", "", "pid-sysap-infoonoff",
181 "pid-sysap-infoonoff-text")),
183 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-sysap-infoforce",
184 "pid-sysap-infoforce-text")),
186 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "",
187 "pid-info-actual-dimming-value", "pid-info-actual-dimming-value-text")),
189 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-info-error",
190 "pid-info-error-text")),
192 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "",
193 "pid-sysap-infocurrentdimmingvalue", "pid-sysap-infocurrentdimmingvalue-text")),
195 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-sysap-infoerror",
196 "pid-sysap-infoerror-text")),
198 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
199 "pid-info-color-temperature", "pid-info-color-temperature-text")),
201 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
202 "pid-sysap-info-color-temperature", "pid-sysap-info-color-temperature-text")),
204 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-hsv",
205 "pid-info-hsv-text")),
207 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-sysap-info-hsv",
208 "pid-sysap-info-hsv-text")),
210 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-color-mode",
211 "pid-info-color-mode-text")),
213 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
214 "pid-sysap-info-color-mode", "pid-sysap-info-color-mode-text")),
216 new PIdContainerClass(PID_VALUETYPE_SHUTTERMOVEMENT, CATEGORY_BLINDS, "", "",
217 "pid-info-move-up-down", "pid-info-move-up-down-text")),
219 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_BLINDS, "", "",
220 "pid-current-absolute-position-blinds-percentage",
221 "pid-current-absolute-position-blinds-percentage-text")),
223 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
224 "pid-current-absolute-position-slats-percentage",
225 "pid-current-absolute-position-slats-percentage-text")),
227 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-sysap-infomoveupdown",
228 "pid-sysap-infomoveupdown-text")),
230 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
231 "pid-sysap-infocurrentabsoluteblindspercentage",
232 "pid-sysap-infocurrentabsoluteblindspercentage-text")),
234 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
235 "pid-sysap-infocurrentabsoluteslatspercentage",
236 "pid-sysap-infocurrentabsoluteslatspercentage-text")),
238 new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "7", "30",
239 "pid-measured-temperature", "pid-measured-temperature-text")),
241 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-value-heating",
242 "pid-info-value-heating-text")),
244 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "", "pid-info-value-cooling",
245 "pid-info-value-cooling-text")),
247 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
248 "pid-switchover-heating-cooling", "pid-switchover-heating-cooling-text")),
250 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
251 "pid-actuating-fan-stage-heating", "pid-actuating-fan-stage-heating-text")),
253 new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "7", "30",
254 "pid-absolute-setpoint-temperature", "pid-absolute-setpoint-temperature-text")),
256 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
257 "pid-additional-heating-value-info", "pid-additional-heating-value-info-text")),
259 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
260 "pid-additional-cooling-value-info", "pid-additional-cooling-value-info-text")),
262 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
263 "pid-control-value-additional-heating", "pid-control-value-additional-heating-text")),
265 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
266 "pid-control-value-additional-cooling", "pid-control-value-additional-cooling-text")),
268 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
269 "pid-info-actuating-fan-stage-heating", "pid-info-actuating-fan-stage-heating-text")),
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")),
275 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
276 "pid-actuating-fan-stage-cooling", "pid-actuating-fan-stage-cooling-text")),
278 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
279 "pid-info-fan-stage-cooling", "pid-info-fan-stage-cooling-text")),
281 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_TEMPERATURE, "", "",
282 "pid-info-fan-manual-on-off-cooling", "pid-info-fan-manual-on-off-cooling-text")),
284 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "", "pid-heating-active",
285 "pid-heating-active-text")),
287 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "", "pid-cooling-active",
288 "pid-cooling-active-text")),
290 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "", "pid-heating-demand",
291 "pid-heating-demand-text")),
293 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "", "pid-cooling-demand",
294 "pid-cooling-demand-text")),
296 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
297 "pid-heating-demand-feedback-signal", "pid-heating-demand-feedback-signal-text")),
299 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_TEMPERATURE, "", "",
300 "pid-cooling-demand-feedback-signal", "pid-cooling-demand-feedback-signal-text")),
302 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_HUMIDITY, "", "", "pid-humidity",
303 "pid-humidity-text")),
305 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-aux-on-off-request",
306 "pid-aux-on-off-request-text")),
308 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-aux-on-off-response",
309 "pid-aux-on-off-response-text")),
311 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-heating-on-off-request",
312 "pid-heating-on-off-request-text")),
314 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-cooling-on-off-request",
315 "pid-cooling-on-off-request-text")),
317 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-operation-mode",
318 "pid-operation-mode-text")),
320 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-swing-h-v",
321 "pid-swing-h-v-text")),
323 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-supported-features",
324 "pid-supported-features-text")),
326 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
327 "pid-extended-status-indication", "pid-extended-status-indication-text")),
329 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
330 "pid-extended-status-indication", "pid-extended-status-indication-text")),
332 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
333 "pid-aux-heating-on-off-request", "pid-aux-heating-on-off-request-text")),
335 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
336 "pid-emergency-heating-on-off-request", "pid-emergency-heating-on-off-request-text")),
338 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
339 "pid-relative-fan-speed-control", "pid-relative-fan-speed-control-text")),
341 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
342 "pid-absolute-fan-speed-control", "pid-absolute-fan-speed-control-text")),
344 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
345 "pid-info-absolute-fan-speed", "pid-info-absolute-fan-speed-text")),
347 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
348 "pid-sysap-infoactualfanspeed", "pid-sysap-infoactualfanspeed-text")),
350 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-notification-flags",
351 "pid-notification-flags-text")),
353 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-power-rc",
354 "pid-power-rc-text")),
356 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-power-rh",
357 "pid-power-rh-text")),
359 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-proximity-status",
360 "pid-proximity-status-text")),
362 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-brightness-sensor",
363 "pid-brightness-sensor-text")),
365 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-last-touch",
366 "pid-last-touch-text")),
368 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
369 "pid-led-backlighting-night-mode", "pid-led-backlighting-night-mode-text")),
371 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-locator-beep",
372 "pid-locator-beep-text")),
374 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-switch-test-alarm",
375 "pid-switch-test-alarm-text")),
377 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-fire-alarm-active",
378 "pid-fire-alarm-active-text")),
380 new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_TEMPERATURE, "", "",
381 "pid-outside-temperature", "pid-outside-temperature-text")),
383 new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_WIND, "", "", "pid-wind-force",
384 "pid-wind-force-text")),
386 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_UNDEFINED, "", "", "pid-brightness-alarm",
387 "pid-brightness-alarm-text")),
389 new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_UNDEFINED, "", "", "pid-lux-value",
390 "pid-lux-value-text")),
392 new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_WIND, "", "", "pid-wind-speed",
393 "pid-wind-speed-text")),
395 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_RAIN, "", "", "pid-rain-detection",
396 "pid-rain-detection-text")),
398 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_RAIN, "", "", "pid-rain-sensor-frequency",
399 "pid-rain-sensor-frequency-text")),
401 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-play",
404 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-pause",
407 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-next",
410 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-previous",
411 "pid-previous-text")),
413 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-play-mode",
414 "pid-play-mode-text")),
416 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-mute",
419 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
420 "pid-relative-volume-control", "pid-relative-volume-control-text")),
422 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
423 "pid-absolute-volume-control", "pid-absolute-volume-control-text")),
425 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-group-membership",
426 "pid-group-membership-text")),
428 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-play-favorite",
429 "pid-play-favorite-text")),
431 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-play-next-favorite",
432 "pid-play-next-favorite-text")),
434 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-playback-status",
435 "pid-playback-status-text")),
437 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
438 "pid-current-item-metadata-info", "pid-current-item-metadata-info-text")),
440 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-mute",
441 "pid-info-mute-text")),
443 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-actual-volume",
444 "pid-info-actual-volume-text")),
446 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
447 "pid-allowed-playback-actions", "pid-allowed-playback-actions-text")),
449 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
450 "pid-info-group-membership", "pid-info-group-membership-text")),
452 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
453 "pid-info-playing-favorite", "pid-info-playing-favorite-text")),
455 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
456 "pid-absolute-group-volume-control", "pid-absolute-group-volume-control-text")),
458 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
459 "pid-info-absolute-group-volume", "pid-info-absolute-group-volume-text")),
461 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-media-source",
462 "pid-media-source-text")),
464 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
465 "pid-solar-power-production", "pid-solar-power-production-text")),
467 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
468 "pid-inverter-output-power", "pid-inverter-output-power-text")),
470 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-solar-energy-(today)",
471 "pid-solar-energy-(today)-text")),
473 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
474 "pid-injected-energy-(today)", "pid-injected-energy-(today)-text")),
476 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
477 "pid-purchased-energy-(today)", "pid-purchased-energy-(today)-text")),
479 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-inverter-alarm",
480 "pid-inverter-alarm-text")),
482 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-self-consumption",
483 "pid-self-consumption-text")),
485 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-self-sufficiency",
486 "pid-self-sufficiency-text")),
488 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
489 "pid-home-power-consumption", "pid-home-power-consumption-text")),
491 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-power-to-grid",
492 "pid-power-to-grid-text")),
494 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
495 "pid-consumed-energy-(today)", "pid-consumed-energy-(today)-text")),
497 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-meter-alarm",
498 "pid-meter-alarm-text")),
500 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-battery-level",
501 "pid-battery-level-text")),
503 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-battery-power",
504 "pid-battery-power-text")),
506 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-boost",
509 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
510 "pid-stop-charging-reuqest", "pid-stop-charging-reuqest-text")),
512 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
513 "pid-enable-charging-reuqest", "pid-enable-charging-reuqest-text")),
515 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-boost",
516 "pid-info-boost-text")),
518 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-wallbox-status",
519 "pid-info-wallbox-status-text")),
521 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-charging",
522 "pid-info-charging-text")),
524 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
525 "pid-info-charging-enabled", "pid-info-charging-enabled-text")),
527 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-installed-power",
528 "pid-info-installed-power-text")),
530 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
531 "pid-info-transmitted-energy", "pid-info-transmitted-energy-text")),
533 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-car-range",
534 "pid-info-car-range-text")),
536 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
537 "pid-info-charging-duration", "pid-info-charging-duration-text")),
539 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-current-limit",
540 "pid-info-current-limit-text")),
542 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
543 "pid-info-current-limit-for-group", "pid-info-current-limit-for-group-text")),
545 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-album-cover-url",
546 "pid-album-cover-url-text")),
548 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
549 "pid-secure@home-central-unit", "pid-secure@home-central-unit-text")),
551 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-domusdisarmcounter",
552 "pid-domusdisarmcounter-text")),
554 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-intrusion-alarm",
555 "pid-intrusion-alarm-text")),
557 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-safety-alarm",
558 "pid-safety-alarm-text")),
560 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
561 "pid-infoconfigurationstatus", "pid-infoconfigurationstatus-text")),
563 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-enable-configuration",
564 "pid-enable-configuration-text")),
566 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-disarming-led",
567 "pid-disarming-led-text")),
569 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-aes-key",
570 "pid-aes-key-text")),
572 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-zone-status",
573 "pid-zone-status-text")),
575 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-time",
578 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-start-stop",
579 "pid-start-stop-text")),
581 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-pause-resume",
582 "pid-pause-resume-text")),
584 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-select-program",
585 "pid-select-program-text")),
587 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-delayed-start-time",
588 "pid-delayed-start-time-text")),
590 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-status",
591 "pid-info-status-text")),
593 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
594 "pid-info-remote-start-enabled", "pid-info-remote-start-enabled-text")),
596 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-program",
597 "pid-info-program-text")),
599 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-finish-time",
600 "pid-info-finish-time-text")),
602 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-delayed-start",
603 "pid-info-delayed-start-text")),
605 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-door",
606 "pid-info-door-text")),
608 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-door-alarm",
609 "pid-info-door-alarm-text")),
611 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-switch-supercool",
612 "pid-switch-supercool-text")),
614 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-switch-superfreeze",
615 "pid-switch-superfreeze-text")),
617 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
618 "pid-info-switch-supercool", "pid-info-switch-supercool-text")),
620 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
621 "pid-info-switch-superfreeze", "pid-info-switch-superfreeze-text")),
623 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-measured-temperature",
624 "pid-measured-temperature-text")),
626 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-measured-temperature",
627 "pid-measured-temperature-text")),
629 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
630 "pid-set-value-temperature", "pid-set-value-temperature-text")),
632 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
633 "pid-set-value-temperature", "pid-set-value-temperature-text")),
635 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-change-operation",
636 "pid-change-operation-text")),
638 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-detailed-status-info",
639 "pid-detailed-status-info-text")),
641 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-remaining-time",
642 "pid-info-remaining-time-text")),
644 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
645 "pid-time-of-last-status-change", "pid-time-of-last-status-change-text")),
647 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
648 "pid-lock-unlock-door-command", "pid-lock-unlock-door-command-text")),
650 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-locked-unlocked",
651 "pid-info-locked-unlocked-text")),
653 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-time",
656 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-date",
659 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-notification",
660 "pid-notification-text")),
662 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "", "pid-switch-entity-on-off",
663 "pid-switch-entity-on-off-text")),
665 new PIdContainerClass(PID_VALUETYPE_BOOLEAN, CATEGORY_SWITCH, "", "",
666 "pid-info-switch-entity-on-off", "pid-info-switch-entity-on-off-text")),
668 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-consistency-tag",
669 "pid-consistency-tag-text")),
671 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-battery-status",
672 "pid-battery-status-text")),
674 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-stay-awake",
675 "pid-stay-awake-text")),
677 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-proxy-switch",
678 "pid-proxy-switch-text")),
680 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-proxy1",
683 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-proxy2",
686 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-proxy4",
689 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-cyclic-sleep-time",
690 "pid-cyclic-sleep-time-text")),
692 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-presence",
693 "pid-presence-text")),
695 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
696 "pid-measured-temperature-1", "pid-measured-temperature-1-text")),
698 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-standby-statistics",
699 "pid-standby-statistics-text")),
701 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-heartbeat-delay",
702 "pid-heartbeat-delay-text")),
704 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "", "pid-info-heartbeat-delay",
705 "pid-info-heartbeat-delay-text")),
707 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
708 "pid-measured-temperature-1", "pid-measured-temperature-1-text")),
710 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
711 "pid-measured-temperature-2", "pid-measured-temperature-2-text")),
713 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
714 "pid-measured-temperature-3", "pid-measured-temperature-3-text")),
716 new PIdContainerClass(PID_VALUETYPE_UNKNOWN, CATEGORY_UNDEFINED, "", "",
717 "pid-measured-temperature-4", "pid-measured-temperature-4-text")),
719 new PIdContainerClass(PID_VALUETYPE_DECIMAL, CATEGORY_PRESSURE, "", "",
720 "pid-air-quality-pressure-value", "pid-air-quality-pressure-value-text")),
722 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "",
723 "pid-air-quality-co2-value", "pid-air-quality-co2-value-text")),
725 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-air-quality-co-value",
726 "pid-air-quality-co-value-text")),
728 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "",
729 "pid-air-quality-no2-value", "pid-air-quality-no2-value-text")),
731 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "", "pid-air-quality-o3-value",
732 "pid-air-quality-o3-value-text")),
734 new PIdContainerClass(PID_VALUETYPE_INTEGER, CATEGORY_UNDEFINED, "", "",
735 "pid-air-quality-pm10-value", "pid-air-quality-pm10-value-text")),
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")));
742 public static String getShortTextForPairingId(String Key) throws FreeAtHomeGeneralException {
743 PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
746 throw new FreeAtHomeGeneralException(0,
747 String.format("%s - Key:%s", "PID is not in the translation table", Key));
753 public static String getDescriptionTextForPairingId(String Key) throws FreeAtHomeGeneralException {
754 PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
757 throw new FreeAtHomeGeneralException(0,
758 String.format("%s - Key:%s", "PID is not in the translation table", Key));
761 return desc.description;
764 public static String getValueTypeForPairingId(String Key) throws FreeAtHomeGeneralException {
765 PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
768 throw new FreeAtHomeGeneralException(0,
769 String.format("%s - Key:%s", "PID is not in the translation table", Key));
772 return desc.valueType;
775 public static String getItemTypeForPairingId(String Key) throws FreeAtHomeGeneralException {
776 PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
779 throw new FreeAtHomeGeneralException(0,
780 String.format("%s - Key:%s", "PID is not in the translation table", Key));
783 return desc.category;
786 public static String getCategoryForPairingId(String Key) throws FreeAtHomeGeneralException {
787 PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
790 throw new FreeAtHomeGeneralException(0,
791 String.format("%s - Key:%s", "PID is not in the translation table", Key));
794 return desc.category;
797 public static String getPatternForPairingId(String Key) throws FreeAtHomeGeneralException {
798 PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
801 throw new FreeAtHomeGeneralException(0,
802 String.format("%s - Key:%s", "PID is not in the translation table", Key));
805 return desc.category;
808 public static int getMax(String Key) throws FreeAtHomeGeneralException {
809 PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
812 throw new FreeAtHomeGeneralException(0,
813 String.format("%s - Key:%s", "PID is not in the translation table", Key));
819 public static int getMin(String Key) throws FreeAtHomeGeneralException {
820 PIdContainerClass desc = MAP_PAIRING_ID.get(Key);
823 throw new FreeAtHomeGeneralException(0,
824 String.format("%s - Key:%s", "PID is not in the translation table", Key));