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.onkyo.internal;
15 import java.util.Arrays;
17 import java.util.stream.Collectors;
18 import java.util.stream.Stream;
20 import org.eclipse.jdt.annotation.NonNullByDefault;
21 import org.openhab.core.thing.ThingTypeUID;
24 * The {@link OnkyoBindingConstants} class defines common constants, which are
25 * used across the whole binding.
27 * @author Paul Frank - Initial contribution
28 * @author Pauli Anttila - update for openhab 2
29 * @author Stewart Cossey - add additional receiver models
30 * @author Wouter Born - Enumerate supported models using OnkyoModel enum
33 public class OnkyoBindingConstants {
35 public static final String BINDING_ID = "onkyo";
37 // List of Thing Type UIDs
38 public static final ThingTypeUID THING_TYPE_ONKYOAV = new ThingTypeUID(BINDING_ID, "onkyoAVR");
39 public static final ThingTypeUID THING_TYPE_ONKYO_UNSUPPORTED = new ThingTypeUID(BINDING_ID, "onkyoUnsupported");
41 public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Stream
42 .concat(Stream.of(THING_TYPE_ONKYOAV, THING_TYPE_ONKYO_UNSUPPORTED),
43 Arrays.stream(OnkyoModel.values()).map(model -> new ThingTypeUID(BINDING_ID, model.getId())))
44 .collect(Collectors.toSet());
46 // List of thing parameters names
47 public static final String HOST_PARAMETER = "ipAddress";
48 public static final String TCP_PORT_PARAMETER = "port";
49 public static final String UDN_PARAMETER = "udn";
50 public static final String REFRESH_INTERVAL = "refreshInterval";
52 // List of all Channel ids
53 public static final String CHANNEL_POWER = "zone1#power";
54 public static final String CHANNEL_INPUT = "zone1#input";
55 public static final String CHANNEL_MUTE = "zone1#mute";
56 public static final String CHANNEL_VOLUME = "zone1#volume";
58 public static final String CHANNEL_POWERZONE2 = "zone2#power";
59 public static final String CHANNEL_INPUTZONE2 = "zone2#input";
60 public static final String CHANNEL_MUTEZONE2 = "zone2#mute";
61 public static final String CHANNEL_VOLUMEZONE2 = "zone2#volume";
63 public static final String CHANNEL_POWERZONE3 = "zone3#power";
64 public static final String CHANNEL_INPUTZONE3 = "zone3#input";
65 public static final String CHANNEL_MUTEZONE3 = "zone3#mute";
66 public static final String CHANNEL_VOLUMEZONE3 = "zone3#volume";
68 public static final String CHANNEL_CONTROL = "player#control";
69 public static final String CHANNEL_CURRENTPLAYINGTIME = "player#currentPlayingTime";
70 public static final String CHANNEL_ARTIST = "player#artist";
71 public static final String CHANNEL_TITLE = "player#title";
72 public static final String CHANNEL_ALBUM = "player#album";
73 public static final String CHANNEL_ALBUM_ART = "player#albumArt";
74 public static final String CHANNEL_ALBUM_ART_URL = "player#albumArtUrl";
75 public static final String CHANNEL_LISTENMODE = "player#listenmode";
76 public static final String CHANNEL_AUDIOINFO = "player#audioinfo";
77 public static final String CHANNEL_PLAY_URI = "player#playuri";
79 public static final String CHANNEL_NET_MENU_TITLE = "netmenu#title";
80 public static final String CHANNEL_NET_MENU_CONTROL = "netmenu#control";
81 public static final String CHANNEL_NET_MENU_SELECTION = "netmenu#selection";
82 public static final String CHANNEL_NET_MENU0 = "netmenu#item0";
83 public static final String CHANNEL_NET_MENU1 = "netmenu#item1";
84 public static final String CHANNEL_NET_MENU2 = "netmenu#item2";
85 public static final String CHANNEL_NET_MENU3 = "netmenu#item3";
86 public static final String CHANNEL_NET_MENU4 = "netmenu#item4";
87 public static final String CHANNEL_NET_MENU5 = "netmenu#item5";
88 public static final String CHANNEL_NET_MENU6 = "netmenu#item6";
89 public static final String CHANNEL_NET_MENU7 = "netmenu#item7";
90 public static final String CHANNEL_NET_MENU8 = "netmenu#item8";
91 public static final String CHANNEL_NET_MENU9 = "netmenu#item9";
93 public static final String CHANNEL_AUDIO_IN_INFO = "info#audioIn";
94 public static final String CHANNEL_AUDIO_OUT_INFO = "info#audioOut";
95 public static final String CHANNEL_VIDEO_IN_INFO = "info#videoIn";
96 public static final String CHANNEL_VIDEO_OUT_INFO = "info#videoOut";
98 // Used for Discovery service
99 public static final String MANUFACTURER = "ONKYO";
100 public static final String UPNP_DEVICE_TYPE = "MediaRenderer";