]> git.basschouten.com Git - openhab-addons.git/blob
ac233539d191e44bb1fc735f83ac9d1b08ce3db5
[openhab-addons.git] /
1 /**
2  * Copyright (c) 2010-2023 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.mercedesme.internal;
14
15 import javax.measure.Unit;
16 import javax.measure.quantity.Length;
17
18 import org.eclipse.jdt.annotation.NonNullByDefault;
19 import org.openhab.core.library.unit.MetricPrefix;
20 import org.openhab.core.library.unit.SIUnits;
21 import org.openhab.core.thing.ThingTypeUID;
22
23 /**
24  * The {@link Constants} class defines common constants, which are
25  * used across the whole binding.
26  *
27  * @author Bernd Weymann - Initial contribution
28  */
29 @NonNullByDefault
30 public class Constants {
31     public static final String BINDING_ID = "mercedesme";
32
33     public static final String COMBUSTION = "combustion";
34     public static final String HYBRID = "hybrid";
35     public static final String BEV = "bev";
36
37     // List of all Thing Type UIDs
38     public static final ThingTypeUID THING_TYPE_ACCOUNT = new ThingTypeUID(BINDING_ID, "account");
39     public static final ThingTypeUID THING_TYPE_COMB = new ThingTypeUID(BINDING_ID, COMBUSTION);
40     public static final ThingTypeUID THING_TYPE_HYBRID = new ThingTypeUID(BINDING_ID, HYBRID);
41     public static final ThingTypeUID THING_TYPE_BEV = new ThingTypeUID(BINDING_ID, BEV);
42
43     public static final String GROUP_RANGE = "range";
44     public static final String GROUP_DOORS = "doors";
45     public static final String GROUP_WINDOWS = "windows";
46     public static final String GROUP_LOCK = "lock";
47     public static final String GROUP_LIGHTS = "lights";
48     public static final String GROUP_LOCATION = "location";
49     public static final String GROUP_IMAGE = "image";
50
51     public static final String MB_AUTH_URL = "https://ssoalpha.dvb.corpinter.net/v1/auth";
52     public static final String MB_TOKEN_URL = "https://ssoalpha.dvb.corpinter.net/v1/token";
53     public static final String CALLBACK_ENDPOINT = "/mb-callback";
54     public static final String OAUTH_CLIENT_NAME = "#byocar";
55
56     // https://developer.mercedes-benz.com/products/electric_vehicle_status/docs
57     public static final String SCOPE_EV = "mb:vehicle:mbdata:evstatus";
58     // https://developer.mercedes-benz.com/products/fuel_status/docs
59     public static final String SCOPE_FUEL = "mb:vehicle:mbdata:fuelstatus";
60     // https://developer.mercedes-benz.com/products/pay_as_you_drive_insurance/docs
61     public static final String SCOPE_ODO = "mb:vehicle:mbdata:payasyoudrive";
62     // https://developer.mercedes-benz.com/products/vehicle_lock_status/docs
63     public static final String SCOPE_LOCK = "mb:vehicle:mbdata:vehiclelock";
64     // https://developer.mercedes-benz.com/products/vehicle_status/docs
65     public static final String SCOPE_STATUS = "mb:vehicle:mbdata:vehiclestatus";
66     public static final String SCOPE_OFFLINE = "offline_access";
67     public static final String SCOPE_OPENID = "openid";
68
69     public static final String BASE_URL = "https://api.mercedes-benz.com/vehicledata/v2";
70     public static final String ODO_URL = BASE_URL + "/vehicles/%s/containers/payasyoudrive";
71     public static final String STATUS_URL = BASE_URL + "/vehicles/%s/containers/vehiclestatus";
72     public static final String LOCK_URL = BASE_URL + "/vehicles/%s/containers/vehiclelockstatus";
73     public static final String FUEL_URL = BASE_URL + "/vehicles/%s/containers/fuelstatus";
74     public static final String EV_URL = BASE_URL + "/vehicles/%s/containers/electricvehicle";
75
76     // https://developer.mercedes-benz.com/content-page/api_migration_guide
77     public static final String IMAGE_BASE_URL = "https://api.mercedes-benz.com/vehicle_images/v2";
78     public static final String IMAGE_EXTERIOR_RESOURCE_URL = IMAGE_BASE_URL + "/vehicles/%s";
79
80     public static final String STATUS_TEXT_PREFIX = "@text/mercedesme.";
81     public static final String STATUS_AUTH_NEEDED = ".status.authorization-needed";
82     public static final String STATUS_IP_MISSING = ".status.ip-missing";
83     public static final String STATUS_PORT_MISSING = ".status.port-missing";
84     public static final String STATUS_CLIENT_ID_MISSING = ".status.client-id-missing";
85     public static final String STATUS_CLIENT_SECRET_MISSING = ".status.client-secret-missing";
86     public static final String STATUS_SERVER_RESTART = ".status.server-restart";
87     public static final String STATUS_BRIDGE_MISSING = ".status.bridge-missing";
88     public static final String STATUS_BRIDGE_ATHORIZATION = ".status.bridge-authoriziation";
89
90     public static final String SPACE = " ";
91     public static final String EMPTY = "";
92     public static final String COLON = ":";
93     public static final String NOT_SET = "not set";
94
95     public static final String CODE = "code";
96     public static final String MIME_PREFIX = "image/";
97
98     public static final Unit<Length> KILOMETRE_UNIT = MetricPrefix.KILO(SIUnits.METRE);
99 }