2 * Copyright (c) 2010-2023 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_SCREENSAVER = "screensaver";
49 public static final String CHANNEL_INPUTREQUESTED = "inputrequested";
50 public static final String CHANNEL_MUTE = "mute";
51 public static final String CHANNEL_VOLUME = "volume";
52 public static final String CHANNEL_STOP = "stop";
53 public static final String CHANNEL_CONTROL = "control";
54 public static final String CHANNEL_PLAYURI = "playuri";
55 public static final String CHANNEL_PLAYFAVORITE = "playfavorite";
56 public static final String CHANNEL_PVR_OPEN_TV = "pvr-open-tv";
57 public static final String CHANNEL_PVR_OPEN_RADIO = "pvr-open-radio";
58 public static final String CHANNEL_SHOWNOTIFICATION = "shownotification";
59 public static final String CHANNEL_PLAYNOTIFICATION = "playnotification";
60 public static final String CHANNEL_PROFILE = "profile";
62 public static final String CHANNEL_INPUT = "input";
63 public static final String CHANNEL_INPUTTEXT = "inputtext";
64 public static final String CHANNEL_INPUTACTION = "inputaction";
65 public static final String CHANNEL_INPUTBUTTONEVENT = "inputbuttonevent";
67 public static final String CHANNEL_SYSTEMCOMMAND = "systemcommand";
69 public static final String CHANNEL_ARTIST = "artist";
70 public static final String CHANNEL_TITLE = "title";
71 public static final String CHANNEL_ORIGINALTITLE = "originaltitle";
72 public static final String CHANNEL_SHOWTITLE = "showtitle";
73 public static final String CHANNEL_ALBUM = "album";
74 public static final String CHANNEL_MEDIATYPE = "mediatype";
75 public static final String CHANNEL_MEDIAID = "mediaid";
76 public static final String CHANNEL_MEDIAFILE = "mediafile";
77 public static final String CHANNEL_GENRELIST = "genreList";
78 public static final String CHANNEL_PVR_CHANNEL = "pvr-channel";
79 public static final String CHANNEL_THUMBNAIL = "thumbnail";
80 public static final String CHANNEL_FANART = "fanart";
81 public static final String CHANNEL_AUDIO_CODEC = "audio-codec";
82 public static final String CHANNEL_AUDIO_CHANNELS = "audio-channels";
83 public static final String CHANNEL_AUDIO_INDEX = "audio-index";
84 public static final String CHANNEL_AUDIO_LANGUAGE = "audio-language";
85 public static final String CHANNEL_AUDIO_NAME = "audio-name";
86 public static final String CHANNEL_VIDEO_CODEC = "video-codec";
87 public static final String CHANNEL_VIDEO_INDEX = "video-index";
88 public static final String CHANNEL_VIDEO_HEIGHT = "video-height";
89 public static final String CHANNEL_VIDEO_WIDTH = "video-width";
90 public static final String CHANNEL_SUBTITLE_ENABLED = "subtitle-enabled";
91 public static final String CHANNEL_SUBTITLE_INDEX = "subtitle-index";
92 public static final String CHANNEL_SUBTITLE_LANGUAGE = "subtitle-language";
93 public static final String CHANNEL_SUBTITLE_NAME = "subtitle-name";
95 public static final String CHANNEL_CURRENTTIME = "currenttime";
96 public static final String CHANNEL_CURRENTTIMEPERCENTAGE = "currenttimepercentage";
97 public static final String CHANNEL_DURATION = "duration";
98 public static final String CHANNEL_UNIQUEID_IMDB = "uniqueid-imdb";
99 public static final String CHANNEL_UNIQUEID_IMDBTVSHOW = "uniqueid-imdbtvshow";
100 public static final String CHANNEL_UNIQUEID_TMDB = "uniqueid-tmdb";
101 public static final String CHANNEL_UNIQUEID_TMDBTVSHOW = "uniqueid-tmdbtvshow";
102 public static final String CHANNEL_UNIQUEID_TMDBEPISODE = "uniqueid-tmdbepisode";
103 public static final String CHANNEL_UNIQUEID_DOUBAN = "uniqueid-douban";
104 public static final String CHANNEL_MPAA = "mpaa";
105 public static final String CHANNEL_RATING = "rating";
106 public static final String CHANNEL_USERRATING = "userrating";
108 public static final String CHANNEL_SEASON = "season";
109 public static final String CHANNEL_EPISODE = "episode";
111 public static final String CHANNEL_TYPE_SHOWNOTIFICATION = "shownotification";
112 public static final String CHANNEL_TYPE_SHOWNOTIFICATION_PARAM_TITLE = "title";
113 public static final String CHANNEL_TYPE_SHOWNOTIFICATION_PARAM_DISPLAYTIME = "displayTime";
114 public static final String CHANNEL_TYPE_SHOWNOTIFICATION_PARAM_ICON = "icon";
117 public static final String PROPERTY_VERSION = "version";
119 // Used for Discovery service
120 public static final String MANUFACTURER = "XBMC Foundation";
121 public static final String UPNP_DEVICE_TYPE = "MediaRenderer";
123 public static final String PVR_TV = "tv";
124 public static final String PVR_RADIO = "radio";