]> git.basschouten.com Git - openhab-addons.git/blob
c4d1ce7a87976ca4b484008c67032d81465f852a
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2021 Contributors to the openHAB project
3  *
4  * See the NOTICE file(s) distributed with this work for additional
5  * information.
6  *
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
10  *
11  * SPDX-License-Identifier: EPL-2.0
12  */
13 package org.openhab.binding.tado.internal;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.core.thing.ThingTypeUID;
17
18 /**
19  * The {@link TadoBinding} class defines common constants, which are
20  * used across the whole binding.
21  *
22  * @author Dennis Frommknecht - Initial contribution
23  * @author Andrew Fiddian-Green - Added Low Battery Alarm, A/C Power and Open Window channels
24  *
25  */
26 @NonNullByDefault
27 public class TadoBindingConstants {
28
29     public static final String BINDING_ID = "tado";
30
31     // List of all Thing Type UIDs
32     public static final ThingTypeUID THING_TYPE_HOME = new ThingTypeUID(BINDING_ID, "home");
33     public static final ThingTypeUID THING_TYPE_ZONE = new ThingTypeUID(BINDING_ID, "zone");
34     public static final ThingTypeUID THING_TYPE_MOBILE_DEVICE = new ThingTypeUID(BINDING_ID, "mobiledevice");
35
36     // List of all Channel IDs
37     public static final String PROPERTY_HOME_TEMPERATURE_UNIT = "temperatureUnit";
38
39     public static enum TemperatureUnit {
40         CELSIUS,
41         FAHRENHEIT
42     }
43
44     public static final String CHANNEL_HOME_PRESENCE_MODE = "homePresence";
45
46     public static final String CHANNEL_ZONE_CURRENT_TEMPERATURE = "currentTemperature";
47     public static final String CHANNEL_ZONE_HUMIDITY = "humidity";
48
49     public static final String CHANNEL_ZONE_HEATING_POWER = "heatingPower";
50     // air conditioning power
51     public static final String CHANNEL_ZONE_AC_POWER = "acPower";
52
53     public static final String CHANNEL_ZONE_HVAC_MODE = "hvacMode";
54
55     public static enum HvacMode {
56         OFF,
57         HEAT,
58         COOL,
59         DRY,
60         FAN,
61         AUTO
62     }
63
64     public static final String CHANNEL_ZONE_TARGET_TEMPERATURE = "targetTemperature";
65
66     public static final String CHANNEL_ZONE_SWING = "swing";
67
68     public static final String CHANNEL_ZONE_FAN_SPEED = "fanspeed";
69
70     public static enum FanSpeed {
71         LOW,
72         MIDDLE,
73         HIGH,
74         AUTO
75     }
76
77     public static final String CHANNEL_ZONE_OPERATION_MODE = "operationMode";
78
79     public static enum OperationMode {
80         SCHEDULE,
81         TIMER,
82         MANUAL,
83         UNTIL_CHANGE
84     }
85
86     public static final String CHANNEL_ZONE_TIMER_DURATION = "timerDuration";
87     public static final String CHANNEL_ZONE_OVERLAY_EXPIRY = "overlayExpiry";
88
89     // battery low alarm channel
90     public static final String CHANNEL_ZONE_BATTERY_LOW_ALARM = "batteryLowAlarm";
91     // open window detected channel
92     public static final String CHANNEL_ZONE_OPEN_WINDOW_DETECTED = "openWindowDetected";
93
94     public static final String CHANNEL_MOBILE_DEVICE_AT_HOME = "atHome";
95
96     // Configuration
97     public static final String CONFIG_ZONE_ID = "id";
98     public static final String CONFIG_MOBILE_DEVICE_ID = "id";
99
100     // Properties
101     public static final String PROPERTY_ZONE_NAME = "name";
102     public static final String PROPERTY_ZONE_TYPE = "type";
103
104     public static enum ZoneType {
105         HEATING,
106         AIR_CONDITIONING,
107         HOT_WATER
108     }
109
110     public static final String PROPERTY_MOBILE_DEVICE_NAME = "name";
111 }