2 * Copyright (c) 2010-2021 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.Time;
20 import org.eclipse.jdt.annotation.NonNullByDefault;
21 import org.openhab.core.library.unit.Units;
22 import org.openhab.core.thing.ThingTypeUID;
25 * The {@link RokuBindingConstants} class defines common constants, which are
26 * used across the whole binding.
28 * @author Michael Lobstein - Initial contribution
31 public class RokuBindingConstants {
32 public static final String BINDING_ID = "roku";
33 public static final String PROPERTY_UUID = "uuid";
34 public static final String PROPERTY_HOST_NAME = "hostName";
35 public static final String PROPERTY_PORT = "port";
36 public static final String PROPERTY_MODEL_NAME = "Model Name";
37 public static final String PROPERTY_MODEL_NUMBER = "Model Number";
38 public static final String PROPERTY_DEVICE_LOCAITON = "Device Location";
39 public static final String PROPERTY_SERIAL_NUMBER = "Serial Number";
40 public static final String PROPERTY_DEVICE_ID = "Device Id";
41 public static final String PROPERTY_SOFTWARE_VERSION = "Software Version";
43 // List of all Thing Type UIDs
44 public static final ThingTypeUID THING_TYPE_ROKU_PLAYER = new ThingTypeUID(BINDING_ID, "roku_player");
45 public static final ThingTypeUID THING_TYPE_ROKU_TV = new ThingTypeUID(BINDING_ID, "roku_tv");
46 public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Set.of(THING_TYPE_ROKU_PLAYER,
49 // List of all Channel id's
50 public static final String ACTIVE_APP = "activeApp";
51 public static final String BUTTON = "button";
52 public static final String PLAY_MODE = "playMode";
53 public static final String TIME_ELAPSED = "timeElapsed";
54 public static final String TIME_TOTAL = "timeTotal";
56 // Units of measurement of the data delivered by the API
57 public static final Unit<Time> API_SECONDS_UNIT = Units.SECOND;
59 public static final String STOP = "stop";
60 public static final String CLOSE = "close";
61 public static final String EMPTY = "";
62 public static final String ROKU_HOME = "Roku Home";
63 public static final String ROKU_HOME_ID = "-1";
64 public static final String ROKU_HOME_BUTTON = "Home";
65 public static final String NON_DIGIT_PATTERN = "[^\\d]";