2 * Copyright (c) 2010-2020 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.volvooncall.internal;
16 import java.util.stream.Collectors;
17 import java.util.stream.Stream;
19 import org.eclipse.jdt.annotation.NonNullByDefault;
20 import org.openhab.core.thing.ThingTypeUID;
23 * The {@link VolvoOnCallBindingConstants} class defines common constants, which are
24 * used across the whole binding.
26 * @author Gaƫl L'hopital - Initial contribution
29 public class VolvoOnCallBindingConstants {
31 public static final String BINDING_ID = "volvooncall";
34 public static final String VIN = "vin";
36 // The URL to use to connect to VocAPI with.
37 // TODO : for North America and China syntax changes to vocapi-cn.xxx
38 public static final String SERVICE_URL = "https://vocapi.wirelesscar.net/customerapi/rest/v3.0/";
40 // The JSON content type used when talking to VocAPI.
41 public static final String JSON_CONTENT_TYPE = "application/json";
43 // List of Thing Type UIDs
44 public static final ThingTypeUID APIBRIDGE_THING_TYPE = new ThingTypeUID(BINDING_ID, "vocapi");
45 public static final ThingTypeUID VEHICLE_THING_TYPE = new ThingTypeUID(BINDING_ID, "vehicle");
47 // List of Channel groups
48 public static final String GROUP_DOORS = "doors";
49 public static final String GROUP_WINDOWS = "windows";
50 public static final String GROUP_TYRES = "tyrePressure";
51 public static final String GROUP_BATTERY = "battery";
53 // List of Channel id's
54 public static final String TAILGATE = "tailgate";
55 public static final String REAR_RIGHT = "rearRight";
56 public static final String REAR_LEFT = "rearLeft";
57 public static final String FRONT_RIGHT = "frontRight";
58 public static final String FRONT_LEFT = "frontLeft";
59 public static final String HOOD = "hood";
60 public static final String REAR_RIGHT_WND = "rearRightWnd";
61 public static final String REAR_LEFT_WND = "rearLeftWnd";
62 public static final String FRONT_RIGHT_WND = "frontRightWnd";
63 public static final String FRONT_LEFT_WND = "frontLeftWnd";
64 public static final String REAR_RIGHT_TYRE = "rearRightTyre";
65 public static final String REAR_LEFT_TYRE = "rearLeftTyre";
66 public static final String FRONT_RIGHT_TYRE = "frontRightTyre";
67 public static final String FRONT_LEFT_TYRE = "frontLeftTyre";
68 public static final String ODOMETER = "odometer";
69 public static final String TRIPMETER1 = "tripmeter1";
70 public static final String TRIPMETER2 = "tripmeter2";
71 public static final String DISTANCE_TO_EMPTY = "distanceToEmpty";
72 public static final String FUEL_AMOUNT = "fuelAmount";
73 public static final String FUEL_LEVEL = "fuelLevel";
74 public static final String FUEL_CONSUMPTION = "fuelConsumption";
75 public static final String FUEL_ALERT = "fuelAlert";
76 public static final String CALCULATED_LOCATION = "calculatedLocation";
77 public static final String ACTUAL_LOCATION = "location";
78 public static final String LOCATION_TIMESTAMP = "locationTimestamp";
79 public static final String HEADING = "heading";
80 public static final String CAR_LOCKED = "carLocked";
81 public static final String ENGINE_RUNNING = "engineRunning";
82 public static final String BRAKE_FLUID_LEVEL = "brakeFluidLevel";
83 public static final String WASHER_FLUID_LEVEL = "washerFluidLevel";
84 public static final String AVERAGE_SPEED = "averageSpeed";
85 public static final String SERVICE_WARNING = "serviceWarningStatus";
86 public static final String BATTERY_LEVEL = "batteryLevel";
87 public static final String BATTERY_DISTANCE_TO_EMPTY = "batteryDistanceToEmpty";
88 public static final String CHARGE_STATUS = "chargeStatus";
89 public static final String TIME_TO_BATTERY_FULLY_CHARGED = "timeToHVBatteryFullyCharged";
90 public static final String CHARGING_END = "chargingEnd";
91 public static final String BULB_FAILURE = "bulbFailure";
93 // Last Trip Channel Id's
94 public static final String LAST_TRIP_GROUP = "lasttrip";
95 public static final String TRIP_CONSUMPTION = "tripConsumption";
96 public static final String TRIP_DISTANCE = "tripDistance";
97 public static final String TRIP_DURATION = "tripDuration";
98 public static final String TRIP_START_TIME = "tripStartTime";
99 public static final String TRIP_END_TIME = "tripEndTime";
100 public static final String TRIP_START_ODOMETER = "tripStartOdometer";
101 public static final String TRIP_STOP_ODOMETER = "tripStopOdometer";
102 public static final String TRIP_START_POSITION = "startPosition";
103 public static final String TRIP_END_POSITION = "endPosition";
105 // Optional Channels depends upon car version
106 public static final String CAR_LOCATOR = "carLocator";
107 public static final String JOURNAL_LOG = "journalLog";
110 public static final String ENGINE_START = "engineStart";
111 public static final String UNLOCK = "unlock";
112 public static final String UNLOCK_TIME = "unlockTimeFrame";
113 public static final String LOCK = "lock";
114 public static final String HONK = "honk";
115 public static final String BLINK = "blink";
116 public static final String HONK_BLINK = "honkAndBlink";
117 public static final String HONK_AND_OR_BLINK = "honkAndOrBlink";
118 public static final String REMOTE_HEATER = "remoteHeater";
119 public static final String PRECLIMATIZATION = "preclimatization";
120 public static final String LAST_TRIP_ID = "lastTripId";
122 // List of all adressable things in OH = SUPPORTED_DEVICE_THING_TYPES_UIDS + the virtual bridge
123 public static final Set<ThingTypeUID> SUPPORTED_THING_TYPES_UIDS = Stream
124 .of(APIBRIDGE_THING_TYPE, VEHICLE_THING_TYPE).collect(Collectors.toSet());
126 // Default value for undefined integers
127 public static final int UNDEFINED = -1;