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.nuvo.internal;
15 import java.util.List;
17 import org.eclipse.jdt.annotation.NonNullByDefault;
18 import org.openhab.core.thing.ThingTypeUID;
21 * The {@link NuvoBindingConstants} class defines common constants, which are
22 * used across the whole binding.
24 * @author Michael Lobstein - Initial contribution
27 public class NuvoBindingConstants {
29 public static final String BINDING_ID = "nuvo";
31 // List of all Thing Type UIDs
32 public static final ThingTypeUID THING_TYPE_AMP = new ThingTypeUID(BINDING_ID, "amplifier");
34 // List of all Channel types
36 public static final String CHANNEL_TYPE_ALLOFF = "alloff";
37 public static final String CHANNEL_TYPE_ALLMUTE = "allmute";
38 public static final String CHANNEL_TYPE_PAGE = "page";
39 public static final String CHANNEL_TYPE_SENDCMD = "sendcmd";
40 public static final String CHANNEL_TYPE_BUTTONPRESS = "buttonpress";
43 public static final String CHANNEL_TYPE_POWER = "power";
44 public static final String CHANNEL_TYPE_SOURCE = "source";
45 public static final String CHANNEL_TYPE_FAVORITE = "favorite";
46 public static final String CHANNEL_TYPE_VOLUME = "volume";
47 public static final String CHANNEL_TYPE_MUTE = "mute";
48 public static final String CHANNEL_TYPE_CONTROL = "control";
49 public static final String CHANNEL_TYPE_TREBLE = "treble";
50 public static final String CHANNEL_TYPE_BASS = "bass";
51 public static final String CHANNEL_TYPE_BALANCE = "balance";
52 public static final String CHANNEL_TYPE_LOUDNESS = "loudness";
53 public static final String CHANNEL_TYPE_DND = "dnd";
54 public static final String CHANNEL_TYPE_LOCK = "lock";
55 public static final String CHANNEL_TYPE_PARTY = "party";
58 public static final String CHANNEL_DISPLAY_LINE = "display_line";
59 public static final String CHANNEL_DISPLAY_LINE1 = "display_line1";
60 public static final String CHANNEL_DISPLAY_LINE2 = "display_line2";
61 public static final String CHANNEL_DISPLAY_LINE3 = "display_line3";
62 public static final String CHANNEL_DISPLAY_LINE4 = "display_line4";
63 public static final String CHANNEL_PLAY_MODE = "play_mode";
64 public static final String CHANNEL_TRACK_LENGTH = "track_length";
65 public static final String CHANNEL_TRACK_POSITION = "track_position";
66 public static final String CHANNEL_BUTTON_PRESS = "button_press";
67 public static final String CHANNEL_ART_URL = "art_url";
68 public static final String CHANNEL_ALBUM_ART = "album_art";
71 public static final String TYPE_VERSION = "version";
72 public static final String TYPE_ALLOFF = "alloff";
73 public static final String TYPE_ALLMUTE = "allmute";
74 public static final String TYPE_PAGE = "page";
75 public static final String TYPE_SOURCE_UPDATE = "source_update";
76 public static final String TYPE_ZONE_UPDATE = "zone_update";
77 public static final String TYPE_ZONE_CONFIG = "zone_config";
78 public static final String TYPE_ZONE_SOURCE_BUTTON = "zone_source_button";
79 public static final String TYPE_NN_BUTTON = "nn_button";
80 public static final String TYPE_NN_MENUREQ = "nn_menureq";
81 public static final String TYPE_NN_MENU_ITEM_SELECTED = "nn_menu_item_selected";
82 public static final String TYPE_NN_ALBUM_ART_REQ = "nn_album_art_req";
83 public static final String TYPE_NN_ALBUM_ART_FRAG_REQ = "nn_album_art_frag_req";
84 public static final String TYPE_NN_FAVORITE_REQ = "nn_favorite_req";
87 public static final String ON = "ON";
88 public static final String OFF = "OFF";
89 public static final String ALLOFF = "ALLOFF";
90 public static final String TWO = "2";
91 public static final String ONE = "1";
92 public static final String ZERO = "0";
93 public static final String BLANK = "";
94 public static final String SPACE = " ";
95 public static final String COMMA = ",";
96 public static final String DISPLINE = "DISPLINE";
97 public static final String DISPINFO = "DISPINFO,"; // yes comma here
98 public static final String DISP_INFO_TWO = "DISPINFOTWO";
99 public static final String NAME_QUOTE = "NAME\"";
100 public static final String MUTE = "MUTE";
101 public static final String VOL = "VOL";
102 public static final String OFFSET_ZERO = "0x";
103 public static final String ZERO_COMMA = "0,0";
106 public static final String TYPE_PING = "PING";
107 public static final String TYPE_RESTART = "RESTART";
108 public static final String DISABLE = "disable";
109 public static final String ALBUM_ART_ID = "albumartid";
110 public static final String ALBUM_ART_AVAILABLE = "ALBUMARTAVAILABLE";
111 public static final String ALBUM_ART_FRAG = "ALBUMARTFRAG";
112 public static final String HTTP = "http://";
113 public static final String HTTPS = "https://";
114 public static final String PLAY_MUSIC_PRESET = "PLAY_MUSIC_PRESET:";
116 public static final List<String> MPS4_PLAYING_MODES = List.of("2", "6", "7", "8");
117 public static final List<String> MPS4_IDLE_MODES = List.of("0", "1");
119 public static final String GET_MCS_INSTANCE = "http://%s/api/Script/MRAD.SetZone%%20Zone_%s/MRAD.GetStatus/?clientId=%s";
120 public static final String GET_MCS_STATUS = "http://%s/api/Script/SetInstance%%20%s/GetStatus?clientId=%s";
121 public static final String GET_MCS_JSON = "http://%s/api/?clientId=%s";
122 public static final String GET_MCS_ART = "http://%s/getArt?guid=%s&instance=%s&h=143&w=143&changed=true&c=1&fmt=jpg";