]> git.basschouten.com Git - openhab-addons.git/blob
e9d90ef2890095799516c4d333501824e41ad60a
[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.heos.internal;
14
15 import java.util.Collections;
16 import java.util.Set;
17 import java.util.stream.Collectors;
18 import java.util.stream.Stream;
19
20 import org.eclipse.jdt.annotation.NonNullByDefault;
21 import org.openhab.binding.heos.internal.resources.HeosConstants;
22 import org.openhab.core.thing.ThingTypeUID;
23 import org.openhab.core.thing.type.ChannelTypeUID;
24
25 /**
26  * The {@link HeosBinding} class defines common constants, which are
27  * used across the whole binding.
28  *
29  * @author Johannes Einig - Initial contribution
30  */
31 @NonNullByDefault
32 public class HeosBindingConstants extends HeosConstants {
33
34     public static final String BINDING_ID = "heos";
35
36     // List of all Bridge Type UIDs
37
38     public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, "bridge");
39     public static final ThingTypeUID THING_TYPE_PLAYER = new ThingTypeUID(BINDING_ID, "player");
40     public static final ThingTypeUID THING_TYPE_GROUP = new ThingTypeUID(BINDING_ID, "group");
41
42     // List off all Channel Types
43     public static final ChannelTypeUID CH_TYPE_PLAYER = new ChannelTypeUID(BINDING_ID, "chPlayer");
44
45     // List of all Channel IDs
46     public static final String CH_ID_CONTROL = "Control";
47     public static final String CH_ID_VOLUME = "Volume";
48     public static final String CH_ID_MUTE = "Mute";
49     public static final String CH_ID_UNGROUP = "Ungroup";
50     public static final String CH_ID_SONG = "Title";
51     public static final String CH_ID_ARTIST = "Artist";
52     public static final String CH_ID_ALBUM = "Album";
53     public static final String CH_ID_BUILDGROUP = "BuildGroup";
54     public static final String CH_ID_REBOOT = "Reboot";
55     public static final String CH_ID_COVER = "Cover";
56     public static final String CH_ID_PLAYLISTS = "Playlists";
57     public static final String CH_ID_FAVORITES = "Favorites";
58     public static final String CH_ID_QUEUE = "Queue";
59     public static final String CH_ID_CLEAR_QUEUE = "ClearQueue";
60     public static final String CH_ID_INPUTS = "Inputs";
61     public static final String CH_ID_CUR_POS = "CurrentPosition";
62     public static final String CH_ID_DURATION = "Duration";
63     public static final String CH_ID_STATION = "Station";
64     public static final String CH_ID_RAW_COMMAND = "RawCommand";
65     public static final String CH_ID_TYPE = "Type";
66     public static final String CH_ID_PLAY_URL = "PlayUrl";
67     public static final String CH_ID_SHUFFLE_MODE = "Shuffle";
68     public static final String CH_ID_REPEAT_MODE = "RepeatMode";
69
70     // Values for Bridge, Player and Group Properties;
71     // Using this values to display the correct name
72     // within the thing properties.
73
74     public static final String PROP_PID = "pid";
75     public static final String PROP_GROUP_MEMBERS = "members";
76     public static final String PROP_NAME = "Name";
77     public static final String PROP_GID = "Group ID";
78     public static final String PROP_IP = "IP Address";
79     public static final String PROP_NETWORK = "Connection";
80     public static final String PROP_GROUP_HASH = "Members Hash value";
81     public static final String PROP_GROUP_LEADER = "Group leader";
82
83     public static final String USERNAME = "username";
84     public static final String PASSWORD = "password";
85     public static final String HEARTBEAT = "heartbeat";
86
87     public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Collections.unmodifiableSet(
88             Stream.of(THING_TYPE_BRIDGE, THING_TYPE_GROUP, THING_TYPE_PLAYER).collect(Collectors.toSet()));
89
90     public static final int FAILURE_COUNT_LIMIT = 5;
91 }