2 * Copyright (c) 2010-2023 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.groupepsa.internal;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.core.thing.ThingTypeUID;
19 * The {@link GroupePSABindingConstants} class defines common constants, which
20 * are used across the whole binding.
22 * @author Arjan Mels - Initial contribution
25 public class GroupePSABindingConstants {
27 public static final String BINDING_ID = "groupepsa";
29 // List of all Thing Type UIDs
30 public static final ThingTypeUID THING_TYPE_BRIDGE = new ThingTypeUID(BINDING_ID, "bridge");
31 public static final ThingTypeUID THING_TYPE_VEHICLE = new ThingTypeUID(BINDING_ID, "vehicle");
34 public static final String VEHICLE_ID = "id";
35 public static final String VEHICLE_VIN = "vin";
36 public static final String VEHICLE_VENDOR = "vendor";
37 public static final String VEHICLE_MODEL = "model";
39 // List of all Channel ids
40 public static final String CHANNEL_BATTERY_CURRENT = "battery#current";
41 public static final String CHANNEL_BATTERY_VOLTAGE = "battery#voltage";
43 public static final String CHANNEL_TYPE_DOORLOCK = "doorLock";
44 public static final String CHANNEL_TYPE_DOOROPEN = "doorOpen";
46 public static final String CHANNEL_GROUP_DOORS = "doors";
47 public static final String CHANNEL_DOORS_LOCK = "doors#locked";
49 public static final String CHANNEL_ENVIRONMENT_TEMPERATURE = "environment#temperature";
50 public static final String CHANNEL_ENVIRONMENT_DAYTIME = "environment#daytime";
52 public static final String CHANNEL_MOTION_IGNITION = "motion#ignition";
53 public static final String CHANNEL_MOTION_ACCELERATION = "motion#acceleration";
54 public static final String CHANNEL_MOTION_MOVING = "motion#moving";
55 public static final String CHANNEL_MOTION_SPEED = "motion#speed";
56 public static final String CHANNEL_MOTION_MILEAGE = "motion#mileage";
58 public static final String CHANNEL_POSITION_POSITION = "position#position";
59 public static final String CHANNEL_POSITION_HEADING = "position#heading";
60 public static final String CHANNEL_POSITION_TYPE = "position#type";
61 public static final String CHANNEL_POSITION_SIGNALSTRENGTH = "position#signal";
63 public static final String CHANNEL_VARIOUS_LAST_UPDATED = "various#lastUpdated";
64 public static final String CHANNEL_VARIOUS_PRIVACY = "various#privacy";
65 public static final String CHANNEL_VARIOUS_BELT = "various#belt";
66 public static final String CHANNEL_VARIOUS_EMERGENCY = "various#emergency";
67 public static final String CHANNEL_VARIOUS_SERVICE = "various#service";
68 public static final String CHANNEL_VARIOUS_PRECONDITINING = "various#preconditioning";
69 public static final String CHANNEL_VARIOUS_PRECONDITINING_FAILURE = "various#preconditioningFailure";
71 public static final String CHANNEL_FUEL_AUTONOMY = "fuel#autonomy";
72 public static final String CHANNEL_FUEL_CONSUMPTION = "fuel#consumption";
73 public static final String CHANNEL_FUEL_LEVEL = "fuel#level";
75 public static final String CHANNEL_ELECTRIC_AUTONOMY = "electric#autonomy";
76 public static final String CHANNEL_ELECTRIC_LEVEL = "electric#level";
77 public static final String CHANNEL_ELECTRIC_RESIDUAL = "electric#residual";
79 public static final String CHANNEL_ELECTRIC_BATTERY_CAPACITY = "electric#batteryCapacity";
80 public static final String CHANNEL_ELECTRIC_BATTERY_HEALTH_CAPACITY = "electric#batteryHealthCapacity";
81 public static final String CHANNEL_ELECTRIC_BATTERY_HEALTH_RESISTANCE = "electric#batteryHealthResistance";
83 public static final String CHANNEL_ELECTRIC_CHARGING_STATUS = "electric#chargingStatus";
84 public static final String CHANNEL_ELECTRIC_CHARGING_MODE = "electric#chargingMode";
85 public static final String CHANNEL_ELECTRIC_CHARGING_PLUGGED = "electric#chargingPlugged";
86 public static final String CHANNEL_ELECTRIC_CHARGING_RATE = "electric#chargingRate";
87 public static final String CHANNEL_ELECTRIC_CHARGING_REMAININGTIME = "electric#chargingRemainingTime";
88 public static final String CHANNEL_ELECTRIC_CHARGING_NEXTDELAYEDTIME = "electric#chargingNextDelayedTime";
90 public enum VendorConstants {
91 PEUGEOT("https://idpcvs.peugeot.com/am/oauth2/access_token", "clientsB2CPeugeot"),
92 CITROEN("https://idpcvs.citroen.com/am/oauth2/access_token", "clientsB2CCitroen"),
93 DS("https://idpcvs.driveds.com/am/oauth2/access_token", "clientsB2CDS"),
94 OPEL("https://idpcvs.opel.com/am/oauth2/access_token", "clientsB2COpel"),
95 VAUXHALL("https://idpcvs.vauxhall.co.uk/am/oauth2/access_token", "clientsB2CVauxhall");
97 public final String url;
98 public final String realm;
99 public final String scope;
101 VendorConstants(String url, String realm) {
104 this.scope = "profile openid";
108 public static final String API_URL = "https://api.groupe-psa.com/connectedcar/v4";