2 * Copyright (c) 2010-2022 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.sonos.internal;
15 import java.util.HashSet;
18 import org.eclipse.jdt.annotation.NonNullByDefault;
19 import org.openhab.core.thing.ThingTypeUID;
22 * The {@link SonosBinding} class defines common constants, which are
23 * used across the whole binding.
25 * @author Karel Goderis - Initial contribution
26 * @author Kai Kreuzer - Changed ESH-PREFIX and cleaned up warnings
29 public class SonosBindingConstants {
31 public static final String BINDING_ID = "sonos";
32 public static final String TITLE_PREFIX = "smarthome-";
34 // List of all Thing Type UIDs
35 // Column (:) is not used for PLAY:1, PLAY:3, PLAY:5 and CONNECT:AMP because of
36 // ThingTypeUID and device pairing name restrictions
37 public static final ThingTypeUID ONE_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "One");
38 public static final ThingTypeUID ONE_SL_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "OneSL");
39 public static final ThingTypeUID PLAY1_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "PLAY1");
40 public static final ThingTypeUID PLAY3_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "PLAY3");
41 public static final ThingTypeUID PLAY5_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "PLAY5");
42 public static final ThingTypeUID FIVE_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "Five");
43 public static final ThingTypeUID PLAYBAR_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "PLAYBAR");
44 public static final ThingTypeUID PLAYBASE_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "PLAYBASE");
45 public static final ThingTypeUID BEAM_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "Beam");
46 public static final ThingTypeUID CONNECT_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "CONNECT");
47 public static final ThingTypeUID PORT_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "Port");
48 public static final ThingTypeUID CONNECTAMP_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "CONNECTAMP");
49 public static final ThingTypeUID AMP_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "Amp");
50 public static final ThingTypeUID SYMFONISK_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "SYMFONISK");
51 public static final ThingTypeUID ARC_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "Arc");
52 public static final ThingTypeUID ARC_SL_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "ArcSL");
53 public static final ThingTypeUID MOVE_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "Move");
54 public static final ThingTypeUID ROAM_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "Roam");
55 public static final ThingTypeUID ROAM_SL_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "RoamSL");
56 public static final ThingTypeUID ZONEPLAYER_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "zoneplayer");
58 public static final Set<ThingTypeUID> WITH_LINEIN_THING_TYPES_UIDS = Set.of(PLAY5_THING_TYPE_UID,
59 FIVE_THING_TYPE_UID, PLAYBAR_THING_TYPE_UID, PLAYBASE_THING_TYPE_UID, BEAM_THING_TYPE_UID,
60 CONNECT_THING_TYPE_UID, CONNECTAMP_THING_TYPE_UID, PORT_THING_TYPE_UID, ARC_THING_TYPE_UID,
61 ARC_SL_THING_TYPE_UID);
63 public static final Set<ThingTypeUID> WITH_ANALOG_LINEIN_THING_TYPES_UIDS = Set.of(AMP_THING_TYPE_UID);
65 public static final Set<ThingTypeUID> WITH_DIGITAL_LINEIN_THING_TYPES_UIDS = Set.of(AMP_THING_TYPE_UID);
67 public static final Set<ThingTypeUID> SUPPORTED_KNOWN_THING_TYPES_UIDS = Set.of(ONE_THING_TYPE_UID,
68 ONE_SL_THING_TYPE_UID, PLAY1_THING_TYPE_UID, PLAY3_THING_TYPE_UID, PLAY5_THING_TYPE_UID,
69 FIVE_THING_TYPE_UID, PLAYBAR_THING_TYPE_UID, PLAYBASE_THING_TYPE_UID, BEAM_THING_TYPE_UID,
70 CONNECT_THING_TYPE_UID, CONNECTAMP_THING_TYPE_UID, PORT_THING_TYPE_UID, AMP_THING_TYPE_UID,
71 SYMFONISK_THING_TYPE_UID, ARC_THING_TYPE_UID, ARC_SL_THING_TYPE_UID, MOVE_THING_TYPE_UID,
72 ROAM_THING_TYPE_UID, ROAM_SL_THING_TYPE_UID);
74 public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = new HashSet<>(SUPPORTED_KNOWN_THING_TYPES_UIDS);
76 SUPPORTED_THING_TYPES_UIDS.add(ZONEPLAYER_THING_TYPE_UID);
79 // List of all Channel ids
80 public static final String ADD = "add";
81 public static final String ALARM = "alarm";
82 public static final String ALARMPROPERTIES = "alarmproperties";
83 public static final String ALARMRUNNING = "alarmrunning";
84 public static final String BASS = "bass";
85 public static final String BATTERYCHARGING = "batterycharging";
86 public static final String BATTERYLEVEL = "batterylevel";
87 public static final String CLEARQUEUE = "clearqueue";
88 public static final String CODEC = "codec";
89 public static final String CONTROL = "control";
90 public static final String COORDINATOR = "coordinator";
91 public static final String CURRENTALBUM = "currentalbum";
92 public static final String CURRENTALBUMART = "currentalbumart";
93 public static final String CURRENTALBUMARTURL = "currentalbumarturl";
94 public static final String CURRENTARTIST = "currentartist";
95 public static final String CURRENTTITLE = "currenttitle";
96 public static final String CURRENTTRACK = "currenttrack";
97 public static final String CURRENTTRACKURI = "currenttrackuri";
98 public static final String CURRENTTRANSPORTURI = "currenttransporturi";
99 public static final String FAVORITE = "favorite";
100 public static final String HEIGHTLEVEL = "heightlevel";
101 public static final String LED = "led";
102 public static final String LINEIN = "linein";
103 public static final String ANALOGLINEIN = "analoglinein";
104 public static final String DIGITALLINEIN = "digitallinein";
105 public static final String LOCALCOORDINATOR = "localcoordinator";
106 public static final String LOUDNESS = "loudness";
107 public static final String MICROPHONE = "microphone";
108 public static final String MUTE = "mute";
109 public static final String NIGHTMODE = "nightmode";
110 public static final String NOTIFICATIONSOUND = "notificationsound";
111 public static final String PLAYLINEIN = "playlinein";
112 public static final String PLAYLIST = "playlist";
113 public static final String PLAYQUEUE = "playqueue";
114 public static final String PLAYTRACK = "playtrack";
115 public static final String PLAYURI = "playuri";
116 public static final String PUBLICADDRESS = "publicaddress";
117 public static final String PUBLICANALOGADDRESS = "publicanalogaddress";
118 public static final String PUBLICDIGITALADDRESS = "publicdigitaladdress";
119 public static final String RADIO = "radio";
120 public static final String REMOVE = "remove";
121 public static final String REPEAT = "repeat";
122 public static final String RESTORE = "restore";
123 public static final String RESTOREALL = "restoreall";
124 public static final String SAVE = "save";
125 public static final String SAVEALL = "saveall";
126 public static final String SHUFFLE = "shuffle";
127 public static final String SLEEPTIMER = "sleeptimer";
128 public static final String SNOOZE = "snooze";
129 public static final String SPEECHENHANCEMENT = "speechenhancement";
130 public static final String STANDALONE = "standalone";
131 public static final String STATE = "state";
132 public static final String STOP = "stop";
133 public static final String TREBLE = "treble";
134 public static final String SUBWOOFER = "subwoofer";
135 public static final String SUBWOOFERGAIN = "subwoofergain";
136 public static final String SURROUND = "surround";
137 public static final String SURROUNDMUSICMODE = "surroundmusicmode";
138 public static final String SURROUNDMUSICLEVEL = "surroundmusiclevel";
139 public static final String SURROUNDTVLEVEL = "surroundtvlevel";
140 public static final String TUNEINSTATIONID = "tuneinstationid";
141 public static final String VOLUME = "volume";
142 public static final String ZONEGROUPID = "zonegroupid";
143 public static final String ZONENAME = "zonename";
144 public static final String MODELID = "modelId";
146 // List of properties
147 public static final String IDENTIFICATION = "identification";
148 public static final String MAC_ADDRESS = "macAddress";
149 public static final String IP_ADDRESS = "ipAddress";