2 * Copyright (c) 2010-2024 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.evcc.internal;
15 import org.eclipse.jdt.annotation.NonNullByDefault;
16 import org.openhab.core.thing.ThingTypeUID;
17 import org.openhab.core.thing.type.ChannelTypeUID;
20 * The {@link EvccBindingConstants} class defines common constants, which are
21 * used across the whole binding.
23 * @author Florian Hotze - Initial contribution
24 * @author Luca Arnecke - Update to evcc version 0.123.1
27 public class EvccBindingConstants {
29 private static final String BINDING_ID = "evcc";
31 public static final String CHANNEL_GROUP_ID_GENERAL = "general";
32 public static final String CHANNEL_GROUP_ID_LOADPOINT = "loadpoint";
33 public static final String CHANNEL_GROUP_ID_VEHICLE = "vehicle";
35 // List of all Channel ids
36 public static final String CHANNEL_BATTERY_CAPACITY = "batteryCapacity";
37 public static final String CHANNEL_BATTERY_POWER = "batteryPower";
38 public static final String CHANNEL_BATTERY_SOC = "batterySoC";
39 public static final String CHANNEL_BATTERY_DISCHARGE_CONTROL = "batteryDischargeControl";
40 public static final String CHANNEL_BATTERY_MODE = "batteryMode";
41 public static final String CHANNEL_PRIORITY_SOC = "prioritySoC";
42 public static final String CHANNEL_BUFFER_SOC = "bufferSoC";
43 public static final String CHANNEL_BUFFER_START_SOC = "bufferStartSoC";
44 public static final String CHANNEL_RESIDUAL_POWER = "residualPower";
45 public static final String CHANNEL_GRID_POWER = "gridPower";
46 public static final String CHANNEL_HOME_POWER = "homePower";
47 public static final String CHANNEL_PV_POWER = "pvPower";
48 public static final String CHANNEL_LOADPOINT_ACTIVE_PHASES = "activePhases";
49 public static final String CHANNEL_LOADPOINT_CHARGE_CURRENT = "chargeCurrent";
50 public static final String CHANNEL_LOADPOINT_CHARGE_DURATION = "chargeDuration";
51 public static final String CHANNEL_LOADPOINT_CHARGE_POWER = "chargePower";
52 public static final String CHANNEL_LOADPOINT_CHARGE_REMAINING_DURATION = "chargeRemainingDuration";
53 public static final String CHANNEL_LOADPOINT_CHARGE_REMAINING_ENERGY = "chargeRemainingEnergy";
54 public static final String CHANNEL_LOADPOINT_CHARGED_ENERGY = "chargedEnergy";
55 public static final String CHANNEL_LOADPOINT_CHARGING = "charging";
56 public static final String CHANNEL_LOADPOINT_CONNECTED = "vehicleConnected";
57 public static final String CHANNEL_LOADPOINT_CONNECTED_DURATION = "vehicleConnectedDuration";
58 public static final String CHANNEL_LOADPOINT_ENABLED = "enabled";
59 public static final String CHANNEL_LOADPOINT_MAX_CURRENT = "maxCurrent";
60 public static final String CHANNEL_LOADPOINT_MIN_CURRENT = "minCurrent";
61 public static final String CHANNEL_LOADPOINT_MODE = "mode";
62 public static final String CHANNEL_LOADPOINT_PHASES = "phases";
63 public static final String CHANNEL_LOADPOINT_LIMIT_ENERGY = "limitEnergy";
64 public static final String CHANNEL_LOADPOINT_LIMIT_SOC = "limitSoC";
65 public static final String CHANNEL_LOADPOINT_TITLE = "title";
66 public static final String CHANNEL_LOADPOINT_VEHICLE_CAPACITY = "vehicleCapacity";
67 public static final String CHANNEL_LOADPOINT_VEHICLE_ODOMETER = "vehicleOdometer";
68 public static final String CHANNEL_LOADPOINT_VEHICLE_PRESENT = "vehiclePresent";
69 public static final String CHANNEL_LOADPOINT_VEHICLE_RANGE = "vehicleRange";
70 public static final String CHANNEL_LOADPOINT_VEHICLE_SOC = "vehicleSoC";
71 public static final String CHANNEL_LOADPOINT_VEHICLE_NAME = "vehicleName";
72 public static final String CHANNEL_VEHICLE_TITLE = "vehicleTitle";
73 public static final String CHANNEL_VEHICLE_MIN_SOC = "vehicleMinSoC";
74 public static final String CHANNEL_VEHICLE_LIMIT_SOC = "vehicleLimitSoC";
75 public static final String CHANNEL_VEHICLE_PLAN_ENABLED = "vehiclePlanEnabled";
76 public static final String CHANNEL_VEHICLE_PLAN_SOC = "vehiclePlanSoC";
77 public static final String CHANNEL_VEHICLE_PLAN_TIME = "vehiclePlanTime";
79 // List of all Thing Type UIDs
80 public static final ThingTypeUID THING_TYPE_DEVICE = new ThingTypeUID(BINDING_ID, "device");
82 // List of all Channel Type UIDs
83 public static final ChannelTypeUID CHANNEL_TYPE_UID_BATTERY_CAPACITY = new ChannelTypeUID(BINDING_ID,
84 CHANNEL_BATTERY_CAPACITY);
85 public static final ChannelTypeUID CHANNEL_TYPE_UID_BATTERY_POWER = new ChannelTypeUID(BINDING_ID,
86 CHANNEL_BATTERY_POWER);
87 public static final ChannelTypeUID CHANNEL_TYPE_UID_BATTERY_SOC = new ChannelTypeUID(BINDING_ID,
89 public static final ChannelTypeUID CHANNEL_TYPE_UID_BATTERY_DISCHARGE_CONTROL = new ChannelTypeUID(BINDING_ID,
90 CHANNEL_BATTERY_DISCHARGE_CONTROL);
91 public static final ChannelTypeUID CHANNEL_TYPE_UID_BATTERY_MODE = new ChannelTypeUID(BINDING_ID,
92 CHANNEL_BATTERY_MODE);
93 public static final ChannelTypeUID CHANNEL_TYPE_UID_PRIORITY_SOC = new ChannelTypeUID(BINDING_ID,
94 CHANNEL_PRIORITY_SOC);
95 public static final ChannelTypeUID CHANNEL_TYPE_UID_BUFFER_SOC = new ChannelTypeUID(BINDING_ID, CHANNEL_BUFFER_SOC);
96 public static final ChannelTypeUID CHANNEL_TYPE_UID_BUFFER_START_SOC = new ChannelTypeUID(BINDING_ID,
97 CHANNEL_BUFFER_START_SOC);
98 public static final ChannelTypeUID CHANNEL_TYPE_UID_RESIDUAL_POWER = new ChannelTypeUID(BINDING_ID,
99 CHANNEL_RESIDUAL_POWER);
100 public static final ChannelTypeUID CHANNEL_TYPE_UID_GRID_POWER = new ChannelTypeUID(BINDING_ID, CHANNEL_GRID_POWER);
101 public static final ChannelTypeUID CHANNEL_TYPE_UID_HOME_POWER = new ChannelTypeUID(BINDING_ID, CHANNEL_HOME_POWER);
102 public static final ChannelTypeUID CHANNEL_TYPE_UID_PV_POWER = new ChannelTypeUID(BINDING_ID, CHANNEL_PV_POWER);
103 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_ACTIVE_PHASES = new ChannelTypeUID(BINDING_ID,
104 CHANNEL_LOADPOINT_ACTIVE_PHASES);
105 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGE_CURRENT = new ChannelTypeUID(BINDING_ID,
106 CHANNEL_LOADPOINT_CHARGE_CURRENT);
107 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGE_DURATION = new ChannelTypeUID(BINDING_ID,
108 CHANNEL_LOADPOINT_CHARGE_DURATION);
109 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGE_POWER = new ChannelTypeUID(BINDING_ID,
110 CHANNEL_LOADPOINT_CHARGE_POWER);
111 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGE_REMAINING_DURATION = new ChannelTypeUID(
112 BINDING_ID, CHANNEL_LOADPOINT_CHARGE_REMAINING_DURATION);
113 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGE_REMAINING_ENERGY = new ChannelTypeUID(
114 BINDING_ID, CHANNEL_LOADPOINT_CHARGE_REMAINING_ENERGY);
115 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGED_ENERGY = new ChannelTypeUID(BINDING_ID,
116 CHANNEL_LOADPOINT_CHARGED_ENERGY);
117 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGING = new ChannelTypeUID(BINDING_ID,
118 CHANNEL_LOADPOINT_CHARGING);
119 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CONNECTED = new ChannelTypeUID(BINDING_ID,
120 CHANNEL_LOADPOINT_CONNECTED);
121 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CONNECTED_DURATION = new ChannelTypeUID(BINDING_ID,
122 CHANNEL_LOADPOINT_CONNECTED_DURATION);
123 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_ENABLED = new ChannelTypeUID(BINDING_ID,
124 CHANNEL_LOADPOINT_ENABLED);
125 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_MAX_CURRENT = new ChannelTypeUID(BINDING_ID,
126 CHANNEL_LOADPOINT_MAX_CURRENT);
127 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_MIN_CURRENT = new ChannelTypeUID(BINDING_ID,
128 CHANNEL_LOADPOINT_MIN_CURRENT);
129 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_MODE = new ChannelTypeUID(BINDING_ID,
130 CHANNEL_LOADPOINT_MODE);
131 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_PHASES = new ChannelTypeUID(BINDING_ID,
132 CHANNEL_LOADPOINT_PHASES);
133 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_LIMIT_ENERGY = new ChannelTypeUID(BINDING_ID,
134 CHANNEL_LOADPOINT_LIMIT_ENERGY);
135 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_LIMIT_SOC = new ChannelTypeUID(BINDING_ID,
136 CHANNEL_LOADPOINT_LIMIT_SOC);
137 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_TITLE = new ChannelTypeUID(BINDING_ID,
138 CHANNEL_LOADPOINT_TITLE);
139 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_CAPACITY = new ChannelTypeUID(BINDING_ID,
140 CHANNEL_LOADPOINT_VEHICLE_CAPACITY);
141 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_ODOMETER = new ChannelTypeUID(BINDING_ID,
142 CHANNEL_LOADPOINT_VEHICLE_ODOMETER);
143 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_PRESENT = new ChannelTypeUID(BINDING_ID,
144 CHANNEL_LOADPOINT_VEHICLE_PRESENT);
145 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_RANGE = new ChannelTypeUID(BINDING_ID,
146 CHANNEL_LOADPOINT_VEHICLE_RANGE);
147 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_SOC = new ChannelTypeUID(BINDING_ID,
148 CHANNEL_LOADPOINT_VEHICLE_SOC);
149 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_NAME = new ChannelTypeUID(BINDING_ID,
150 CHANNEL_LOADPOINT_VEHICLE_NAME);
151 public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_TITLE = new ChannelTypeUID(BINDING_ID,
152 CHANNEL_VEHICLE_TITLE);
153 public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_MIN_SOC = new ChannelTypeUID(BINDING_ID,
154 CHANNEL_VEHICLE_MIN_SOC);
155 public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_LIMIT_SOC = new ChannelTypeUID(BINDING_ID,
156 CHANNEL_VEHICLE_LIMIT_SOC);
157 public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_PLAN_ENABLED = new ChannelTypeUID(BINDING_ID,
158 CHANNEL_VEHICLE_PLAN_ENABLED);
159 public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_PLAN_SOC = new ChannelTypeUID(BINDING_ID,
160 CHANNEL_VEHICLE_PLAN_SOC);
161 public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_PLAN_TIME = new ChannelTypeUID(BINDING_ID,
162 CHANNEL_VEHICLE_PLAN_TIME);
164 public static final int CONNECTION_TIMEOUT_MILLISEC = 5000;
165 public static final int LONG_CONNECTION_TIMEOUT_MILLISEC = 60000;
166 public static final String EVCC_REST_API = "/api/";