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.amazonechocontrol.internal;
15 import java.util.Arrays;
16 import java.util.HashSet;
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.openhab.core.thing.ThingTypeUID;
21 import org.openhab.core.thing.type.ChannelTypeUID;
24 * The {@link AmazonEchoControlBindingConstants} class defines common constants, which are
25 * used across the whole binding.
27 * @author Michael Geramb - Initial contribution
30 public class AmazonEchoControlBindingConstants {
31 public static final String BINDING_ID = "amazonechocontrol";
32 public static final String BINDING_NAME = "Amazon Echo Control";
34 // List of all Thing Type UIDs
35 public static final ThingTypeUID THING_TYPE_ACCOUNT = new ThingTypeUID(BINDING_ID, "account");
36 public static final ThingTypeUID THING_TYPE_ECHO = new ThingTypeUID(BINDING_ID, "echo");
37 public static final ThingTypeUID THING_TYPE_ECHO_SPOT = new ThingTypeUID(BINDING_ID, "echospot");
38 public static final ThingTypeUID THING_TYPE_ECHO_SHOW = new ThingTypeUID(BINDING_ID, "echoshow");
39 public static final ThingTypeUID THING_TYPE_ECHO_WHA = new ThingTypeUID(BINDING_ID, "wha");
41 public static final ThingTypeUID THING_TYPE_FLASH_BRIEFING_PROFILE = new ThingTypeUID(BINDING_ID,
42 "flashbriefingprofile");
44 public static final ThingTypeUID THING_TYPE_SMART_HOME_DEVICE = new ThingTypeUID(BINDING_ID, "smartHomeDevice");
45 public static final ThingTypeUID THING_TYPE_SMART_HOME_DEVICE_GROUP = new ThingTypeUID(BINDING_ID,
46 "smartHomeDeviceGroup");
48 public static final Set<ThingTypeUID> SUPPORTED_ECHO_THING_TYPES_UIDS = new HashSet<>(
49 Arrays.asList(THING_TYPE_ACCOUNT, THING_TYPE_ECHO, THING_TYPE_ECHO_SPOT, THING_TYPE_ECHO_SHOW,
50 THING_TYPE_ECHO_WHA, THING_TYPE_FLASH_BRIEFING_PROFILE));
52 public static final Set<ThingTypeUID> SUPPORTED_SMART_HOME_THING_TYPES_UIDS = new HashSet<>(
53 Arrays.asList(THING_TYPE_SMART_HOME_DEVICE, THING_TYPE_SMART_HOME_DEVICE_GROUP));
55 // List of all Channel ids
56 public static final String CHANNEL_PLAYER = "player";
57 public static final String CHANNEL_VOLUME = "volume";
58 public static final String CHANNEL_EQUALIZER_TREBLE = "equalizerTreble";
59 public static final String CHANNEL_EQUALIZER_MIDRANGE = "equalizerMidrange";
60 public static final String CHANNEL_EQUALIZER_BASS = "equalizerBass";
61 public static final String CHANNEL_ERROR = "error";
62 public static final String CHANNEL_SHUFFLE = "shuffle";
63 public static final String CHANNEL_LOOP = "loop";
64 public static final String CHANNEL_IMAGE_URL = "imageUrl";
65 public static final String CHANNEL_TITLE = "title";
66 public static final String CHANNEL_SUBTITLE1 = "subtitle1";
67 public static final String CHANNEL_SUBTITLE2 = "subtitle2";
68 public static final String CHANNEL_PROVIDER_DISPLAY_NAME = "providerDisplayName";
69 public static final String CHANNEL_BLUETOOTH_MAC = "bluetoothMAC";
70 public static final String CHANNEL_BLUETOOTH = "bluetooth";
71 public static final String CHANNEL_BLUETOOTH_DEVICE_NAME = "bluetoothDeviceName";
72 public static final String CHANNEL_RADIO_STATION_ID = "radioStationId";
73 public static final String CHANNEL_RADIO = "radio";
74 public static final String CHANNEL_AMAZON_MUSIC_TRACK_ID = "amazonMusicTrackId";
75 public static final String CHANNEL_AMAZON_MUSIC = "amazonMusic";
76 public static final String CHANNEL_AMAZON_MUSIC_PLAY_LIST_ID = "amazonMusicPlayListId";
77 public static final String CHANNEL_TEXT_TO_SPEECH = "textToSpeech";
78 public static final String CHANNEL_TEXT_TO_SPEECH_VOLUME = "textToSpeechVolume";
79 public static final String CHANNEL_TEXT_COMMAND = "textCommand";
80 public static final String CHANNEL_REMIND = "remind";
81 public static final String CHANNEL_PLAY_ALARM_SOUND = "playAlarmSound";
82 public static final String CHANNEL_START_ROUTINE = "startRoutine";
83 public static final String CHANNEL_MUSIC_PROVIDER_ID = "musicProviderId";
84 public static final String CHANNEL_PLAY_MUSIC_VOICE_COMMAND = "playMusicVoiceCommand";
85 public static final String CHANNEL_START_COMMAND = "startCommand";
86 public static final String CHANNEL_LAST_VOICE_COMMAND = "lastVoiceCommand";
87 public static final String CHANNEL_MEDIA_PROGRESS = "mediaProgress";
88 public static final String CHANNEL_MEDIA_LENGTH = "mediaLength";
89 public static final String CHANNEL_MEDIA_PROGRESS_TIME = "mediaProgressTime";
90 public static final String CHANNEL_ASCENDING_ALARM = "ascendingAlarm";
91 public static final String CHANNEL_NOTIFICATION_VOLUME = "notificationVolume";
92 public static final String CHANNEL_NEXT_REMINDER = "nextReminder";
93 public static final String CHANNEL_NEXT_ALARM = "nextAlarm";
94 public static final String CHANNEL_NEXT_MUSIC_ALARM = "nextMusicAlarm";
95 public static final String CHANNEL_NEXT_TIMER = "nextTimer";
97 public static final String CHANNEL_SAVE = "save";
98 public static final String CHANNEL_ACTIVE = "active";
99 public static final String CHANNEL_PLAY_ON_DEVICE = "playOnDevice";
101 // List of channel Type UIDs
102 public static final ChannelTypeUID CHANNEL_TYPE_BLUETHOOTH_MAC = new ChannelTypeUID(BINDING_ID, "bluetoothMAC");
103 public static final ChannelTypeUID CHANNEL_TYPE_AMAZON_MUSIC_PLAY_LIST_ID = new ChannelTypeUID(BINDING_ID,
104 "amazonMusicPlayListId");
105 public static final ChannelTypeUID CHANNEL_TYPE_PLAY_ALARM_SOUND = new ChannelTypeUID(BINDING_ID, "playAlarmSound");
106 public static final ChannelTypeUID CHANNEL_TYPE_CHANNEL_PLAY_ON_DEVICE = new ChannelTypeUID(BINDING_ID,
108 public static final ChannelTypeUID CHANNEL_TYPE_MUSIC_PROVIDER_ID = new ChannelTypeUID(BINDING_ID,
110 public static final ChannelTypeUID CHANNEL_TYPE_START_COMMAND = new ChannelTypeUID(BINDING_ID, "startCommand");
112 // List of all Properties
113 public static final String DEVICE_PROPERTY_SERIAL_NUMBER = "serialNumber";
114 public static final String DEVICE_PROPERTY_FAMILY = "deviceFamily";
115 public static final String DEVICE_PROPERTY_FLASH_BRIEFING_PROFILE = "configurationJson";
116 public static final String DEVICE_PROPERTY_ID = "id";
119 public static final String FLASH_BRIEFING_COMMAND_PREFIX = "FlashBriefing.";