]> git.basschouten.com Git - openhab-addons.git/blob
351fdcd8c941545c3cf68b8fd47b634011b04aab
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2024 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 = "vehicle_data";
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     public static final String BINDING_ID = "tesla";
75
76     // List of all Thing Type UIDs
77     public static final ThingTypeUID THING_TYPE_ACCOUNT = new ThingTypeUID(BINDING_ID, "account");
78     public static final ThingTypeUID THING_TYPE_VEHICLE = new ThingTypeUID(BINDING_ID, "vehicle");
79     public static final ThingTypeUID THING_TYPE_MODELS = new ThingTypeUID(BINDING_ID, "models");
80     public static final ThingTypeUID THING_TYPE_MODEL3 = new ThingTypeUID(BINDING_ID, "model3");
81     public static final ThingTypeUID THING_TYPE_MODELX = new ThingTypeUID(BINDING_ID, "modelx");
82     public static final ThingTypeUID THING_TYPE_MODELY = new ThingTypeUID(BINDING_ID, "modely");
83
84     public enum EventKeys {
85         timestamp,
86         odometer,
87         speed,
88         soc,
89         elevation,
90         est_heading,
91         est_lat,
92         est_lng,
93         power,
94         shift_state,
95         range,
96         est_range,
97         heading
98     }
99
100     public static final String CHANNEL_CHARGE = "charge";
101     public static final String CHANNEL_COMBINED_TEMP = "combinedtemp";
102     public static final String CHANNEL_EVENTSTAMP = "eventstamp";
103
104     public static final String CHANNEL_SOFTWARE_UPDATE_AVAILABLE = "softwareupdateavailable";
105
106     // thing configurations
107     public static final String CONFIG_ALLOWWAKEUP = "allowWakeup";
108     public static final String CONFIG_ALLOWWAKEUPFORCOMMANDS = "allowWakeupForCommands";
109     public static final String CONFIG_ENABLEEVENTS = "enableEvents";
110     public static final String CONFIG_REFRESHTOKEN = "refreshToken";
111     public static final String CONFIG_INACTIVITY = "inactivity";
112     public static final String CONFIG_USEDRIVESTATE = "useDriveState";
113     public static final String CONFIG_USEDADVANCEDSTATES = "useAdvancedStatesForPolling";
114 }