]> git.basschouten.com Git - openhab-addons.git/blob
f75638e0cc866224971a2dc00b54f287eb34bc52
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2022 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.tesla.internal;
14
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.core.thing.ThingTypeUID;
17
18 /**
19  * The {@link TeslaBindingConstants} class defines common constants, which are
20  * used across the whole binding.
21  *
22  * @author Karel Goderis - Initial contribution
23  */
24 @NonNullByDefault
25 public class TeslaBindingConstants {
26
27     // REST URI constants
28     public static final String API_NAME = "Tesla Client API";
29     public static final String API_VERSION = "api/1/";
30     public static final String PATH_COMMAND = "command/{cmd}";
31     public static final String PATH_DATA_REQUEST = "data_request/{cmd}";
32     public static final String PATH_VEHICLE_ID = "/{vid}/";
33     public static final String PATH_WAKE_UP = "wake_up";
34     public static final String PATH_ACCESS_TOKEN = "oauth/token";
35     public static final String URI_EVENT = "wss://streaming.vn.teslamotors.com/streaming/";
36     public static final String URI_OWNERS = "https://owner-api.teslamotors.com";
37     public static final String VALETPIN = "valetpin";
38     public static final String VEHICLES = "vehicles";
39     public static final String VIN = "vin";
40
41     // SSO URI constants
42     public static final String SSO_SCOPES = "openid email offline_access";
43     public static final String URI_SSO = "https://auth.tesla.com/oauth2/v3";
44     public static final String PATH_AUTHORIZE = "authorize";
45     public static final String PATH_TOKEN = "token";
46     public static final String URI_CALLBACK = "https://auth.tesla.com/void/callback";
47     public static final String CLIENT_ID = "ownerapi";
48
49     // Tesla REST API commands
50     public static final String COMMAND_ACTUATE_TRUNK = "actuate_trunk";
51     public static final String COMMAND_AUTO_COND_START = "auto_conditioning_start";
52     public static final String COMMAND_AUTO_COND_STOP = "auto_conditioning_stop";
53     public static final String COMMAND_CHARGE_MAX = "charge_max_range";
54     public static final String COMMAND_CHARGE_START = "charge_start";
55     public static final String COMMAND_CHARGE_STD = "charge_standard";
56     public static final String COMMAND_CHARGE_STOP = "charge_stop";
57     public static final String COMMAND_DOOR_LOCK = "door_lock";
58     public static final String COMMAND_DOOR_UNLOCK = "door_unlock";
59     public static final String COMMAND_FLASH_LIGHTS = "flash_lights";
60     public static final String COMMAND_HONK_HORN = "honk_horn";
61     public static final String COMMAND_OPEN_CHARGE_PORT = "charge_port_door_open";
62     public static final String COMMAND_RESET_VALET_PIN = "reset_valet_pin";
63     public static final String COMMAND_SET_CHARGING_AMPS = "set_charging_amps";
64     public static final String COMMAND_SET_CHARGE_LIMIT = "set_charge_limit";
65     public static final String COMMAND_SET_SENTRY_MODE = "set_sentry_mode";
66     public static final String COMMAND_SET_TEMP = "set_temps";
67     public static final String COMMAND_SET_VALET_MODE = "set_valet_mode";
68     public static final String COMMAND_STEERING_WHEEL_HEATER = "remote_steering_wheel_heater_request";
69     public static final String COMMAND_SUN_ROOF = "sun_roof_control";
70     public static final String COMMAND_THROTTLE = "commandthrottle";
71     public static final String COMMAND_WAKE_UP = "wake_up";
72     public static final String DATA_THROTTLE = "datathrottle";
73
74     // Tesla REST API vehicle states
75     public static final String CHARGE_STATE = "charge_state";
76     public static final String CLIMATE_STATE = "climate_state";
77     public static final String DRIVE_STATE = "drive_state";
78     public static final String GUI_STATE = "gui_settings";
79     public static final String MOBILE_ENABLED_STATE = "mobile_enabled";
80     public static final String VEHICLE_STATE = "vehicle_state";
81     public static final String VEHICLE_CONFIG = "vehicle_config";
82
83     public static final String BINDING_ID = "tesla";
84
85     // List of all Thing Type UIDs
86     public static final ThingTypeUID THING_TYPE_ACCOUNT = new ThingTypeUID(BINDING_ID, "account");
87     public static final ThingTypeUID THING_TYPE_MODELS = new ThingTypeUID(BINDING_ID, "models");
88     public static final ThingTypeUID THING_TYPE_MODEL3 = new ThingTypeUID(BINDING_ID, "model3");
89     public static final ThingTypeUID THING_TYPE_MODELX = new ThingTypeUID(BINDING_ID, "modelx");
90     public static final ThingTypeUID THING_TYPE_MODELY = new ThingTypeUID(BINDING_ID, "modely");
91
92     public enum EventKeys {
93         timestamp,
94         odometer,
95         speed,
96         soc,
97         elevation,
98         est_heading,
99         est_lat,
100         est_lng,
101         power,
102         shift_state,
103         range,
104         est_range,
105         heading
106     }
107
108     public static final String CHANNEL_CHARGE = "charge";
109     public static final String CHANNEL_COMBINED_TEMP = "combinedtemp";
110
111     // thing configurations
112     public static final String CONFIG_ALLOWWAKEUP = "allowWakeup";
113     public static final String CONFIG_ALLOWWAKEUPFORCOMMANDS = "allowWakeupForCommands";
114     public static final String CONFIG_ENABLEEVENTS = "enableEvents";
115     public static final String CONFIG_REFRESHTOKEN = "refreshToken";
116     public static final String CONFIG_INACTIVITY = "inactivity";
117     public static final String CONFIG_USEDRIVESTATE = "useDriveState";
118     public static final String CONFIG_USEDADVANCEDSTATES = "useAdvancedStatesForPolling";
119 }