2 * Copyright (c) 2010-2023 Contributors to the openHAB project
4 * See the NOTICE file(s) distributed with this work for additional
7 * This program and the accompanying materials are made available under the
8 * terms of the Eclipse Public License 2.0 which is available at
9 * http://www.eclipse.org/legal/epl-2.0
11 * SPDX-License-Identifier: EPL-2.0
13 package org.openhab.binding.oppo.internal.communication;
15 import java.util.Arrays;
16 import java.util.HashSet;
19 import org.eclipse.jdt.annotation.NonNullByDefault;
22 * Represents the different kinds of commands
24 * @author Michael Lobstein - Initial contribution
27 public enum OppoCommand {
37 QUERY_POWER_STATUS("QPW"),
38 QUERY_FIRMWARE_VERSION("QVR"),
40 QUERY_HDMI_RESOLUTION("QHD"),
41 QUERY_HDR_SETTING("QHR"),
42 QUERY_PLAYBACK_STATUS("QPL"),
43 QUERY_TITLE_TRACK("QTK"),
45 QUERY_TITLE_ELAPSED("QTE"),
46 QUERY_TITLE_REMAIN("QTR"),
47 QUERY_CHAPTER_ELAPSED("QCE"),
48 QUERY_CHAPTER_REMAIN("QCR"),
49 QUERY_DISC_TYPE("QDT"),
50 QUERY_AUDIO_TYPE("QAT"),
51 QUERY_SUBTITLE_TYPE("QST"),
52 QUERY_SUBTITLE_SHIFT("QSH"),
53 QUERY_OSD_POSITION("QOP"),
54 QUERY_REPEAT_MODE("QRP"),
55 QUERY_ZOOM_MODE("QZM"),
56 QUERY_INPUT_SOURCE("QIS"),
57 SET_VERBOSE_MODE("SVM"),
60 SET_ZOOM_RATIO("SZM"),
61 SET_VOLUME_LEVEL("SVL"),
63 SET_SUBTITLE_SHIFT("SSH"),
64 SET_OSD_POSITION("SOP"),
65 SET_TIME_DISPLAY("STC"),
66 SET_INPUT_SOURCE("SIS"),
69 private final String value;
71 public static final Set<OppoCommand> QUERY_COMMANDS = new HashSet<>(
72 Arrays.asList(QUERY_VOLUME, QUERY_HDMI_RESOLUTION, QUERY_HDR_SETTING, QUERY_PLAYBACK_STATUS,
73 QUERY_DISC_TYPE, QUERY_AUDIO_TYPE, QUERY_SUBTITLE_SHIFT, QUERY_OSD_POSITION, QUERY_REPEAT_MODE,
74 QUERY_ZOOM_MODE, QUERY_INPUT_SOURCE, QUERY_FIRMWARE_VERSION));
76 OppoCommand(String value) {
81 * Get the command name
83 * @return the command name
85 public String getValue() {