]> git.basschouten.com Git - openhab-addons.git/blob
728ce5f166125d90f2d2d3597eb21b0e504c2555
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 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.sonos.internal;
14
15 import java.util.HashSet;
16 import java.util.Set;
17
18 import org.eclipse.jdt.annotation.NonNullByDefault;
19 import org.openhab.core.thing.ThingTypeUID;
20
21 /**
22  * The {@link SonosBindingConstants} class defines common constants, which are
23  * used across the whole binding.
24  *
25  * @author Karel Goderis - Initial contribution
26  * @author Kai Kreuzer - Changed ESH-PREFIX and cleaned up warnings
27  */
28 @NonNullByDefault
29 public class SonosBindingConstants {
30
31     public static final String BINDING_ID = "sonos";
32     public static final String TITLE_PREFIX = "smarthome-";
33
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 MOVE2_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "Move2");
55     public static final ThingTypeUID ROAM_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "Roam");
56     public static final ThingTypeUID ROAM_SL_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "RoamSL");
57     public static final ThingTypeUID ERA_100_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "Era100");
58     public static final ThingTypeUID ERA_300_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "Era300");
59     public static final ThingTypeUID ZONEPLAYER_THING_TYPE_UID = new ThingTypeUID(BINDING_ID, "zoneplayer");
60
61     public static final Set<ThingTypeUID> WITH_LINEIN_THING_TYPES_UIDS = Set.of(PLAY5_THING_TYPE_UID,
62             FIVE_THING_TYPE_UID, PLAYBAR_THING_TYPE_UID, PLAYBASE_THING_TYPE_UID, BEAM_THING_TYPE_UID,
63             CONNECT_THING_TYPE_UID, CONNECTAMP_THING_TYPE_UID, PORT_THING_TYPE_UID, ARC_THING_TYPE_UID,
64             ARC_SL_THING_TYPE_UID, MOVE2_THING_TYPE_UID, ERA_100_THING_TYPE_UID, ERA_300_THING_TYPE_UID);
65
66     public static final Set<ThingTypeUID> WITH_ANALOG_LINEIN_THING_TYPES_UIDS = Set.of(AMP_THING_TYPE_UID);
67
68     public static final Set<ThingTypeUID> WITH_DIGITAL_LINEIN_THING_TYPES_UIDS = Set.of(AMP_THING_TYPE_UID);
69
70     public static final Set<ThingTypeUID> SUPPORTED_KNOWN_THING_TYPES_UIDS = Set.of(ONE_THING_TYPE_UID,
71             ONE_SL_THING_TYPE_UID, PLAY1_THING_TYPE_UID, PLAY3_THING_TYPE_UID, PLAY5_THING_TYPE_UID,
72             FIVE_THING_TYPE_UID, PLAYBAR_THING_TYPE_UID, PLAYBASE_THING_TYPE_UID, BEAM_THING_TYPE_UID,
73             CONNECT_THING_TYPE_UID, CONNECTAMP_THING_TYPE_UID, PORT_THING_TYPE_UID, AMP_THING_TYPE_UID,
74             SYMFONISK_THING_TYPE_UID, ARC_THING_TYPE_UID, ARC_SL_THING_TYPE_UID, MOVE_THING_TYPE_UID,
75             MOVE2_THING_TYPE_UID, ROAM_THING_TYPE_UID, ROAM_SL_THING_TYPE_UID, ERA_100_THING_TYPE_UID,
76             ERA_300_THING_TYPE_UID);
77
78     public static final Set<String> UNSUPPORTED_KNOWN_IDS = Set.of("sub", "sonos sub mini");
79
80     public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = new HashSet<>(SUPPORTED_KNOWN_THING_TYPES_UIDS);
81     static {
82         SUPPORTED_THING_TYPES_UIDS.add(ZONEPLAYER_THING_TYPE_UID);
83     }
84
85     // List of all Channel ids
86     public static final String ADD = "add";
87     public static final String ALARM = "alarm";
88     public static final String ALARMPROPERTIES = "alarmproperties";
89     public static final String ALARMRUNNING = "alarmrunning";
90     public static final String BASS = "bass";
91     public static final String BATTERYCHARGING = "batterycharging";
92     public static final String BATTERYLEVEL = "batterylevel";
93     public static final String CLEARQUEUE = "clearqueue";
94     public static final String CODEC = "codec";
95     public static final String CONTROL = "control";
96     public static final String COORDINATOR = "coordinator";
97     public static final String CURRENTALBUM = "currentalbum";
98     public static final String CURRENTALBUMART = "currentalbumart";
99     public static final String CURRENTALBUMARTURL = "currentalbumarturl";
100     public static final String CURRENTARTIST = "currentartist";
101     public static final String CURRENTTITLE = "currenttitle";
102     public static final String CURRENTTRACK = "currenttrack";
103     public static final String CURRENTTRACKURI = "currenttrackuri";
104     public static final String CURRENTTRANSPORTURI = "currenttransporturi";
105     public static final String FAVORITE = "favorite";
106     public static final String HEIGHTLEVEL = "heightlevel";
107     public static final String LED = "led";
108     public static final String LINEIN = "linein";
109     public static final String ANALOGLINEIN = "analoglinein";
110     public static final String DIGITALLINEIN = "digitallinein";
111     public static final String LOCALCOORDINATOR = "localcoordinator";
112     public static final String LOUDNESS = "loudness";
113     public static final String MICROPHONE = "microphone";
114     public static final String MUTE = "mute";
115     public static final String NIGHTMODE = "nightmode";
116     public static final String NOTIFICATIONSOUND = "notificationsound";
117     public static final String PLAYLINEIN = "playlinein";
118     public static final String PLAYLIST = "playlist";
119     public static final String PLAYQUEUE = "playqueue";
120     public static final String PLAYTRACK = "playtrack";
121     public static final String PLAYURI = "playuri";
122     public static final String PUBLICADDRESS = "publicaddress";
123     public static final String PUBLICANALOGADDRESS = "publicanalogaddress";
124     public static final String PUBLICDIGITALADDRESS = "publicdigitaladdress";
125     public static final String RADIO = "radio";
126     public static final String REMOVE = "remove";
127     public static final String REPEAT = "repeat";
128     public static final String RESTORE = "restore";
129     public static final String RESTOREALL = "restoreall";
130     public static final String SAVE = "save";
131     public static final String SAVEALL = "saveall";
132     public static final String SHUFFLE = "shuffle";
133     public static final String SLEEPTIMER = "sleeptimer";
134     public static final String SNOOZE = "snooze";
135     public static final String SPEECHENHANCEMENT = "speechenhancement";
136     public static final String STANDALONE = "standalone";
137     public static final String STATE = "state";
138     public static final String STOP = "stop";
139     public static final String TREBLE = "treble";
140     public static final String SUBWOOFER = "subwoofer";
141     public static final String SUBWOOFERGAIN = "subwoofergain";
142     public static final String SURROUND = "surround";
143     public static final String SURROUNDMUSICMODE = "surroundmusicmode";
144     public static final String SURROUNDMUSICLEVEL = "surroundmusiclevel";
145     public static final String SURROUNDTVLEVEL = "surroundtvlevel";
146     public static final String TUNEINSTATIONID = "tuneinstationid";
147     public static final String VOLUME = "volume";
148     public static final String ZONEGROUPID = "zonegroupid";
149     public static final String ZONENAME = "zonename";
150     public static final String MODELID = "modelId";
151
152     // List of properties
153     public static final String IDENTIFICATION = "identification";
154     public static final String MAC_ADDRESS = "macAddress";
155     public static final String IP_ADDRESS = "ipAddress";
156 }