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.roku.internal;
17 import javax.measure.Unit;
18 import javax.measure.quantity.Dimensionless;
19 import javax.measure.quantity.Time;
21 import org.eclipse.jdt.annotation.NonNullByDefault;
22 import org.openhab.core.library.unit.Units;
23 import org.openhab.core.thing.ThingTypeUID;
26 * The {@link RokuBindingConstants} class defines common constants, which are
27 * used across the whole binding.
29 * @author Michael Lobstein - Initial contribution
32 public class RokuBindingConstants {
33 public static final String BINDING_ID = "roku";
34 public static final String PROPERTY_UUID = "uuid";
35 public static final String PROPERTY_HOST_NAME = "hostName";
36 public static final String PROPERTY_PORT = "port";
37 public static final String PROPERTY_MODEL_NAME = "Model Name";
38 public static final String PROPERTY_MODEL_NUMBER = "Model Number";
39 public static final String PROPERTY_DEVICE_LOCAITON = "Device Location";
40 public static final String PROPERTY_SERIAL_NUMBER = "Serial Number";
41 public static final String PROPERTY_DEVICE_ID = "Device Id";
42 public static final String PROPERTY_SOFTWARE_VERSION = "Software Version";
44 // List of all Thing Type UIDs
45 public static final ThingTypeUID THING_TYPE_ROKU_PLAYER = new ThingTypeUID(BINDING_ID, "roku_player");
46 public static final ThingTypeUID THING_TYPE_ROKU_TV = new ThingTypeUID(BINDING_ID, "roku_tv");
47 public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_ROKU_PLAYER,
50 // List of all Channel id's
51 public static final String ACTIVE_APP = "activeApp";
52 public static final String BUTTON = "button";
53 public static final String PLAY_MODE = "playMode";
54 public static final String TIME_ELAPSED = "timeElapsed";
55 public static final String TIME_TOTAL = "timeTotal";
56 public static final String ACTIVE_CHANNEL = "activeChannel";
57 public static final String SIGNAL_MODE = "signalMode";
58 public static final String SIGNAL_QUALITY = "signalQuality";
59 public static final String CHANNEL_NAME = "channelName";
60 public static final String PROGRAM_TITLE = "programTitle";
61 public static final String PROGRAM_DESCRIPTION = "programDescription";
62 public static final String PROGRAM_RATING = "programRating";
64 // Units of measurement of the data delivered by the API
65 public static final Unit<Time> API_SECONDS_UNIT = Units.SECOND;
66 public static final Unit<Dimensionless> API_PERCENT_UNIT = Units.PERCENT;
68 public static final String STOP = "stop";
69 public static final String CLOSE = "close";
70 public static final String EMPTY = "";
71 public static final String ROKU_HOME = "Roku Home";
72 public static final String ROKU_HOME_ID = "-1";
73 public static final String ROKU_HOME_ID_562859 = "562859";
74 public static final String ROKU_HOME_BUTTON = "Home";
75 public static final String NON_DIGIT_PATTERN = "[^\\d]";
76 public static final String TV_APP = "tvinput.dtv";
77 public static final String TV_INPUT = "tvinput";