2 * Copyright (c) 2010-2021 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.kodi.internal;
15 import java.util.Collections;
18 import org.eclipse.jdt.annotation.NonNullByDefault;
19 import org.openhab.core.thing.ThingTypeUID;
22 * The {@link KodiBinding} class defines common constants, which are used across
25 * @author Paul Frank - Initial contribution
26 * @author Christoph Weitkamp - Added channels for opening PVR TV or Radio streams
27 * @author Andreas Reinhardt & Christoph Weitkamp - Added channels for thumbnail and fanart
28 * @author Christoph Weitkamp - Improvements for playing audio notifications
31 public class KodiBindingConstants {
33 public static final String BINDING_ID = "kodi";
35 // List of all Thing Type UIDs
36 public static final ThingTypeUID THING_TYPE_KODI = new ThingTypeUID(BINDING_ID, "kodi");
37 public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Collections.singleton(THING_TYPE_KODI);
39 // List of thing parameters names
40 public static final String HOST_PARAMETER = "ipAddress";
41 public static final String WS_PORT_PARAMETER = "port";
42 public static final String HTTP_PORT_PARAMETER = "httpPort";
43 public static final String HTTP_USER_PARAMETER = "httpUser";
44 public static final String HTTP_PASSWORD_PARAMETER = "httpPassword";
45 public static final String REFRESH_PARAMETER = "refreshInterval";
47 // List of all Channel ids
48 public static final String CHANNEL_MUTE = "mute";
49 public static final String CHANNEL_VOLUME = "volume";
50 public static final String CHANNEL_STOP = "stop";
51 public static final String CHANNEL_CONTROL = "control";
52 public static final String CHANNEL_PLAYURI = "playuri";
53 public static final String CHANNEL_PLAYFAVORITE = "playfavorite";
54 public static final String CHANNEL_PVR_OPEN_TV = "pvr-open-tv";
55 public static final String CHANNEL_PVR_OPEN_RADIO = "pvr-open-radio";
56 public static final String CHANNEL_SHOWNOTIFICATION = "shownotification";
57 public static final String CHANNEL_PLAYNOTIFICATION = "playnotification";
58 public static final String CHANNEL_PROFILE = "profile";
60 public static final String CHANNEL_INPUT = "input";
61 public static final String CHANNEL_INPUTTEXT = "inputtext";
62 public static final String CHANNEL_INPUTACTION = "inputaction";
63 public static final String CHANNEL_INPUTBUTTONEVENT = "inputbuttonevent";
65 public static final String CHANNEL_SYSTEMCOMMAND = "systemcommand";
67 public static final String CHANNEL_ARTIST = "artist";
68 public static final String CHANNEL_TITLE = "title";
69 public static final String CHANNEL_ORIGINALTITLE = "originaltitle";
70 public static final String CHANNEL_SHOWTITLE = "showtitle";
71 public static final String CHANNEL_ALBUM = "album";
72 public static final String CHANNEL_MEDIATYPE = "mediatype";
73 public static final String CHANNEL_MEDIAID = "mediaid";
74 public static final String CHANNEL_MEDIAFILE = "mediafile";
75 public static final String CHANNEL_GENRELIST = "genreList";
76 public static final String CHANNEL_PVR_CHANNEL = "pvr-channel";
77 public static final String CHANNEL_THUMBNAIL = "thumbnail";
78 public static final String CHANNEL_FANART = "fanart";
79 public static final String CHANNEL_AUDIO_CODEC = "audio-codec";
80 public static final String CHANNEL_AUDIO_CHANNELS = "audio-channels";
81 public static final String CHANNEL_AUDIO_INDEX = "audio-index";
82 public static final String CHANNEL_AUDIO_LANGUAGE = "audio-language";
83 public static final String CHANNEL_AUDIO_NAME = "audio-name";
84 public static final String CHANNEL_VIDEO_CODEC = "video-codec";
85 public static final String CHANNEL_VIDEO_INDEX = "video-index";
86 public static final String CHANNEL_VIDEO_HEIGHT = "video-height";
87 public static final String CHANNEL_VIDEO_WIDTH = "video-width";
88 public static final String CHANNEL_SUBTITLE_ENABLED = "subtitle-enabled";
89 public static final String CHANNEL_SUBTITLE_INDEX = "subtitle-index";
90 public static final String CHANNEL_SUBTITLE_LANGUAGE = "subtitle-language";
91 public static final String CHANNEL_SUBTITLE_NAME = "subtitle-name";
93 public static final String CHANNEL_CURRENTTIME = "currenttime";
94 public static final String CHANNEL_CURRENTTIMEPERCENTAGE = "currenttimepercentage";
95 public static final String CHANNEL_DURATION = "duration";
96 public static final String CHANNEL_UNIQUEID_IMDB = "uniqueid-imdb";
97 public static final String CHANNEL_UNIQUEID_IMDBTVSHOW = "uniqueid-imdbtvshow";
98 public static final String CHANNEL_UNIQUEID_TMDB = "uniqueid-tmdb";
99 public static final String CHANNEL_UNIQUEID_TMDBTVSHOW = "uniqueid-tmdbtvshow";
100 public static final String CHANNEL_UNIQUEID_TMDBEPISODE = "uniqueid-tmdbepisode";
101 public static final String CHANNEL_UNIQUEID_DOUBAN = "uniqueid-douban";
102 public static final String CHANNEL_MPAA = "mpaa";
103 public static final String CHANNEL_RATING = "rating";
104 public static final String CHANNEL_USERRATING = "userrating";
106 public static final String CHANNEL_SEASON = "season";
107 public static final String CHANNEL_EPISODE = "episode";
109 public static final String CHANNEL_TYPE_SHOWNOTIFICATION = "shownotification";
110 public static final String CHANNEL_TYPE_SHOWNOTIFICATION_PARAM_TITLE = "title";
111 public static final String CHANNEL_TYPE_SHOWNOTIFICATION_PARAM_DISPLAYTIME = "displayTime";
112 public static final String CHANNEL_TYPE_SHOWNOTIFICATION_PARAM_ICON = "icon";
115 public static final String PROPERTY_VERSION = "version";
117 // Used for Discovery service
118 public static final String MANUFACTURER = "XBMC Foundation";
119 public static final String UPNP_DEVICE_TYPE = "MediaRenderer";
121 public static final String PVR_TV = "tv";
122 public static final String PVR_RADIO = "radio";