2 * Copyright (c) 2010-2022 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.venstarthermostat.internal;
15 import java.util.Collections;
18 import org.eclipse.jdt.annotation.NonNullByDefault;
19 import org.openhab.core.thing.ThingTypeUID;
22 * The {@link VenstarThermostatBinding} class defines common constants, which are
23 * used across the whole binding.
25 * @author William Welliver - Initial contribution
26 * @author Matthew Davies - added awayMode and awayModeRaw to include thermostat away mode in binding
27 * @author Matthew Davies - added more binding functionality to get close to the API functionality
30 public class VenstarThermostatBindingConstants {
32 public static final String BINDING_ID = "venstarthermostat";
34 // List of all Thing Type UIDs
35 public static final ThingTypeUID THING_TYPE_COLOR_TOUCH = new ThingTypeUID(BINDING_ID, "colorTouchThermostat");
37 public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES = Collections.singleton(THING_TYPE_COLOR_TOUCH);
38 // List of all Channel ids
39 public static final String CHANNEL_TEMPERATURE = "temperature";
40 public static final String CHANNEL_HUMIDITY = "humidity";
41 public static final String CHANNEL_EXTERNAL_TEMPERATURE = "outdoorTemperature";
43 public static final String CHANNEL_HEATING_SETPOINT = "heatingSetpoint";
44 public static final String CHANNEL_COOLING_SETPOINT = "coolingSetpoint";
45 public static final String CHANNEL_SYSTEM_STATE = "systemState";
46 public static final String CHANNEL_SYSTEM_MODE = "systemMode";
47 public static final String CHANNEL_SYSTEM_STATE_RAW = "systemStateRaw";
48 public static final String CHANNEL_SYSTEM_MODE_RAW = "systemModeRaw";
49 public static final String CHANNEL_AWAY_MODE = "awayMode";
50 public static final String CHANNEL_AWAY_MODE_RAW = "awayModeRaw";
51 public static final String CHANNEL_FAN_MODE = "fanMode";
52 public static final String CHANNEL_FAN_MODE_RAW = "fanModeRaw";
53 public static final String CHANNEL_FAN_STATE = "fanState";
54 public static final String CHANNEL_FAN_STATE_RAW = "fanStateRaw";
55 public static final String CHANNEL_SCHEDULE_MODE = "scheduleMode";
56 public static final String CHANNEL_SCHEDULE_MODE_RAW = "scheduleModeRaw";
57 public static final String CHANNEL_SCHEDULE_PART = "schedulePart";
58 public static final String CHANNEL_SCHEDULE_PART_RAW = "schedulePartRaw";
59 public static final String CHANNEL_TIMESTAMP_RUNTIME_DAY = "timestampDay";
60 public static final String CHANNEL_HEAT1_RUNTIME_DAY = "heat1RuntimeDay";
61 public static final String CHANNEL_HEAT2_RUNTIME_DAY = "heat2RuntimeDay";
62 public static final String CHANNEL_COOL1_RUNTIME_DAY = "cool1RuntimeDay";
63 public static final String CHANNEL_COOL2_RUNTIME_DAY = "cool2RuntimeDay";
64 public static final String CHANNEL_AUX1_RUNTIME_DAY = "aux1RuntimeDay";
65 public static final String CHANNEL_AUX2_RUNTIME_DAY = "aux2RuntimeDay";
66 public static final String CHANNEL_FC_RUNTIME_DAY = "freeCoolRuntimeDay";
67 // add query/runtimes and query/alerts - these will need an additional class similar to Venstar.infodata - more work
69 public static final String CONFIG_USERNAME = "username";
70 public static final String CONFIG_PASSWORD = "password";
71 public static final String CONFIG_REFRESH = "refresh";
73 public static final String PROPERTY_URL = "url";
74 public static final String PROPERTY_UUID = "uuid";
76 public static final String REFRESH_INVALID = "refresh-invalid";
77 public static final String EMPTY_INVALID = "empty-invalid";