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