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";
34 public static final String CHANNEL_GROUP_ID_HEATING = "heating";
36 // List of all Channel ids
37 public static final String CHANNEL_BATTERY_CAPACITY = "batteryCapacity";
38 public static final String CHANNEL_BATTERY_POWER = "batteryPower";
39 public static final String CHANNEL_BATTERY_SOC = "batterySoC";
40 public static final String CHANNEL_BATTERY_DISCHARGE_CONTROL = "batteryDischargeControl";
41 public static final String CHANNEL_BATTERY_MODE = "batteryMode";
42 public static final String CHANNEL_PRIORITY_SOC = "prioritySoC";
43 public static final String CHANNEL_BUFFER_SOC = "bufferSoC";
44 public static final String CHANNEL_BUFFER_START_SOC = "bufferStartSoC";
45 public static final String CHANNEL_RESIDUAL_POWER = "residualPower";
46 public static final String CHANNEL_GRID_POWER = "gridPower";
47 public static final String CHANNEL_HOME_POWER = "homePower";
48 public static final String CHANNEL_PV_POWER = "pvPower";
49 public static final String CHANNEL_VERSION = "version";
50 public static final String CHANNEL_AVAILABLE_VERSION = "availableVersion";
52 public static final String CHANNEL_LOADPOINT_ACTIVE_PHASES = "activePhases";
53 public static final String CHANNEL_LOADPOINT_CHARGE_CURRENT = "chargeCurrent";
54 public static final String CHANNEL_LOADPOINT_CHARGE_DURATION = "chargeDuration";
55 public static final String CHANNEL_LOADPOINT_CHARGE_POWER = "chargePower";
56 public static final String CHANNEL_LOADPOINT_CHARGE_REMAINING_DURATION = "chargeRemainingDuration";
57 public static final String CHANNEL_LOADPOINT_CHARGE_REMAINING_ENERGY = "chargeRemainingEnergy";
58 public static final String CHANNEL_LOADPOINT_CHARGED_ENERGY = "chargedEnergy";
59 public static final String CHANNEL_LOADPOINT_CHARGING = "charging";
60 public static final String CHANNEL_LOADPOINT_CONNECTED = "vehicleConnected";
61 public static final String CHANNEL_LOADPOINT_CONNECTED_DURATION = "vehicleConnectedDuration";
62 public static final String CHANNEL_LOADPOINT_ENABLED = "enabled";
63 public static final String CHANNEL_LOADPOINT_MAX_CURRENT = "maxCurrent";
64 public static final String CHANNEL_LOADPOINT_MIN_CURRENT = "minCurrent";
65 public static final String CHANNEL_LOADPOINT_MODE = "mode";
66 public static final String CHANNEL_LOADPOINT_PHASES = "phases";
67 public static final String CHANNEL_LOADPOINT_LIMIT_ENERGY = "limitEnergy";
68 public static final String CHANNEL_LOADPOINT_LIMIT_SOC = "limitSoC";
69 public static final String CHANNEL_LOADPOINT_LIMIT_TEMPERATURE = "limitTemperature";
70 public static final String CHANNEL_LOADPOINT_EFFECTIVE_LIMIT_SOC = "effectiveLimitSoC";
71 public static final String CHANNEL_LOADPOINT_EFFECTIVE_LIMIT_TEMPERATURE = "effectiveLimitTemperature";
72 public static final String CHANNEL_LOADPOINT_TITLE = "title";
73 public static final String CHANNEL_LOADPOINT_VEHICLE_CAPACITY = "vehicleCapacity";
74 public static final String CHANNEL_LOADPOINT_VEHICLE_ODOMETER = "vehicleOdometer";
75 public static final String CHANNEL_LOADPOINT_VEHICLE_PRESENT = "vehiclePresent";
76 public static final String CHANNEL_LOADPOINT_VEHICLE_RANGE = "vehicleRange";
77 public static final String CHANNEL_LOADPOINT_VEHICLE_SOC = "vehicleSoC";
78 public static final String CHANNEL_LOADPOINT_VEHICLE_TEMPERATURE = "vehicleTemperature";
79 public static final String CHANNEL_LOADPOINT_VEHICLE_NAME = "vehicleName";
80 public static final String CHANNEL_LOADPOINT_CHARGER_FEATURE_HEATING = "chargerFeatureHeating";
81 public static final String CHANNEL_LOADPOINT_CHARGER_FEATURE_INTEGRATED_DEVICE = "chargerFeatureIntegratedDevice";
83 public static final String CHANNEL_VEHICLE_TITLE = "vehicleTitle";
84 public static final String CHANNEL_HEATING_TITLE = "heatingTitle";
85 public static final String CHANNEL_VEHICLE_MIN_SOC = "vehicleMinSoC";
86 public static final String CHANNEL_HEATING_MIN_TEMPERATURE = "heatingMinTemperature";
87 public static final String CHANNEL_VEHICLE_LIMIT_SOC = "vehicleLimitSoC";
88 public static final String CHANNEL_HEATING_LIMIT_TEMPERATURE = "heatingLimitTemperature";
89 public static final String CHANNEL_VEHICLE_PLAN_ENABLED = "vehiclePlanEnabled";
90 public static final String CHANNEL_HEATING_PLAN_ENABLED = "heatingPlanEnabled";
91 public static final String CHANNEL_VEHICLE_PLAN_SOC = "vehiclePlanSoC";
92 public static final String CHANNEL_HEATING_PLAN_TEMPERATURE = "heatingPlanTemperature";
93 public static final String CHANNEL_VEHICLE_PLAN_TIME = "vehiclePlanTime";
94 public static final String CHANNEL_HEATING_PLAN_TIME = "heatingPlanTime";
96 // List of all Thing Type UIDs
97 public static final ThingTypeUID THING_TYPE_DEVICE = new ThingTypeUID(BINDING_ID, "device");
99 // List of all Channel Type UIDs
100 public static final ChannelTypeUID CHANNEL_TYPE_UID_BATTERY_CAPACITY = new ChannelTypeUID(BINDING_ID,
101 CHANNEL_BATTERY_CAPACITY);
102 public static final ChannelTypeUID CHANNEL_TYPE_UID_BATTERY_POWER = new ChannelTypeUID(BINDING_ID,
103 CHANNEL_BATTERY_POWER);
104 public static final ChannelTypeUID CHANNEL_TYPE_UID_BATTERY_SOC = new ChannelTypeUID(BINDING_ID,
105 CHANNEL_BATTERY_SOC);
106 public static final ChannelTypeUID CHANNEL_TYPE_UID_BATTERY_DISCHARGE_CONTROL = new ChannelTypeUID(BINDING_ID,
107 CHANNEL_BATTERY_DISCHARGE_CONTROL);
108 public static final ChannelTypeUID CHANNEL_TYPE_UID_BATTERY_MODE = new ChannelTypeUID(BINDING_ID,
109 CHANNEL_BATTERY_MODE);
110 public static final ChannelTypeUID CHANNEL_TYPE_UID_PRIORITY_SOC = new ChannelTypeUID(BINDING_ID,
111 CHANNEL_PRIORITY_SOC);
112 public static final ChannelTypeUID CHANNEL_TYPE_UID_BUFFER_SOC = new ChannelTypeUID(BINDING_ID, CHANNEL_BUFFER_SOC);
113 public static final ChannelTypeUID CHANNEL_TYPE_UID_BUFFER_START_SOC = new ChannelTypeUID(BINDING_ID,
114 CHANNEL_BUFFER_START_SOC);
115 public static final ChannelTypeUID CHANNEL_TYPE_UID_RESIDUAL_POWER = new ChannelTypeUID(BINDING_ID,
116 CHANNEL_RESIDUAL_POWER);
117 public static final ChannelTypeUID CHANNEL_TYPE_UID_GRID_POWER = new ChannelTypeUID(BINDING_ID, CHANNEL_GRID_POWER);
118 public static final ChannelTypeUID CHANNEL_TYPE_UID_HOME_POWER = new ChannelTypeUID(BINDING_ID, CHANNEL_HOME_POWER);
119 public static final ChannelTypeUID CHANNEL_TYPE_UID_PV_POWER = new ChannelTypeUID(BINDING_ID, CHANNEL_PV_POWER);
120 public static final ChannelTypeUID CHANNEL_TYPE_UID_VERSION = new ChannelTypeUID(BINDING_ID, CHANNEL_VERSION);
121 public static final ChannelTypeUID CHANNEL_TYPE_UID_AVAILABLE_VERSION = new ChannelTypeUID(BINDING_ID,
122 CHANNEL_AVAILABLE_VERSION);
124 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_ACTIVE_PHASES = new ChannelTypeUID(BINDING_ID,
125 CHANNEL_LOADPOINT_ACTIVE_PHASES);
126 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGE_CURRENT = new ChannelTypeUID(BINDING_ID,
127 CHANNEL_LOADPOINT_CHARGE_CURRENT);
128 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGE_DURATION = new ChannelTypeUID(BINDING_ID,
129 CHANNEL_LOADPOINT_CHARGE_DURATION);
130 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGE_POWER = new ChannelTypeUID(BINDING_ID,
131 CHANNEL_LOADPOINT_CHARGE_POWER);
132 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGE_REMAINING_DURATION = new ChannelTypeUID(
133 BINDING_ID, CHANNEL_LOADPOINT_CHARGE_REMAINING_DURATION);
134 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGE_REMAINING_ENERGY = new ChannelTypeUID(
135 BINDING_ID, CHANNEL_LOADPOINT_CHARGE_REMAINING_ENERGY);
136 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGED_ENERGY = new ChannelTypeUID(BINDING_ID,
137 CHANNEL_LOADPOINT_CHARGED_ENERGY);
138 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGING = new ChannelTypeUID(BINDING_ID,
139 CHANNEL_LOADPOINT_CHARGING);
140 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CONNECTED = new ChannelTypeUID(BINDING_ID,
141 CHANNEL_LOADPOINT_CONNECTED);
142 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CONNECTED_DURATION = new ChannelTypeUID(BINDING_ID,
143 CHANNEL_LOADPOINT_CONNECTED_DURATION);
144 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_ENABLED = new ChannelTypeUID(BINDING_ID,
145 CHANNEL_LOADPOINT_ENABLED);
146 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_MAX_CURRENT = new ChannelTypeUID(BINDING_ID,
147 CHANNEL_LOADPOINT_MAX_CURRENT);
148 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_MIN_CURRENT = new ChannelTypeUID(BINDING_ID,
149 CHANNEL_LOADPOINT_MIN_CURRENT);
150 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_MODE = new ChannelTypeUID(BINDING_ID,
151 CHANNEL_LOADPOINT_MODE);
152 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_PHASES = new ChannelTypeUID(BINDING_ID,
153 CHANNEL_LOADPOINT_PHASES);
154 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_LIMIT_ENERGY = new ChannelTypeUID(BINDING_ID,
155 CHANNEL_LOADPOINT_LIMIT_ENERGY);
156 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_LIMIT_SOC = new ChannelTypeUID(BINDING_ID,
157 CHANNEL_LOADPOINT_LIMIT_SOC);
158 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_LIMIT_TEMPERATURE = new ChannelTypeUID(BINDING_ID,
159 CHANNEL_LOADPOINT_LIMIT_TEMPERATURE);
160 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_EFFECTIVE_LIMIT_SOC = new ChannelTypeUID(BINDING_ID,
161 CHANNEL_LOADPOINT_EFFECTIVE_LIMIT_SOC);
162 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_EFFECTIVE_LIMIT_TEMPERATURE = new ChannelTypeUID(
163 BINDING_ID, CHANNEL_LOADPOINT_EFFECTIVE_LIMIT_TEMPERATURE);
164 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_TITLE = new ChannelTypeUID(BINDING_ID,
165 CHANNEL_LOADPOINT_TITLE);
166 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_CAPACITY = new ChannelTypeUID(BINDING_ID,
167 CHANNEL_LOADPOINT_VEHICLE_CAPACITY);
168 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_ODOMETER = new ChannelTypeUID(BINDING_ID,
169 CHANNEL_LOADPOINT_VEHICLE_ODOMETER);
170 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_PRESENT = new ChannelTypeUID(BINDING_ID,
171 CHANNEL_LOADPOINT_VEHICLE_PRESENT);
172 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_RANGE = new ChannelTypeUID(BINDING_ID,
173 CHANNEL_LOADPOINT_VEHICLE_RANGE);
174 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_SOC = new ChannelTypeUID(BINDING_ID,
175 CHANNEL_LOADPOINT_VEHICLE_SOC);
176 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_TEMPERATURE = new ChannelTypeUID(BINDING_ID,
177 CHANNEL_LOADPOINT_VEHICLE_TEMPERATURE);
178 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_NAME = new ChannelTypeUID(BINDING_ID,
179 CHANNEL_LOADPOINT_VEHICLE_NAME);
180 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGER_FEATURE_HEATING = new ChannelTypeUID(
181 BINDING_ID, CHANNEL_LOADPOINT_CHARGER_FEATURE_HEATING);
182 public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGER_FEATURE_INTEGRATED_DEVICE = new ChannelTypeUID(
183 BINDING_ID, CHANNEL_LOADPOINT_CHARGER_FEATURE_INTEGRATED_DEVICE);
185 public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_TITLE = new ChannelTypeUID(BINDING_ID,
186 CHANNEL_VEHICLE_TITLE);
187 public static final ChannelTypeUID CHANNEL_TYPE_UID_HEATING_TITLE = new ChannelTypeUID(BINDING_ID,
188 CHANNEL_HEATING_TITLE);
189 public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_MIN_SOC = new ChannelTypeUID(BINDING_ID,
190 CHANNEL_VEHICLE_MIN_SOC);
191 public static final ChannelTypeUID CHANNEL_TYPE_UID_HEATING_MIN_TEMPERATURE = new ChannelTypeUID(BINDING_ID,
192 CHANNEL_HEATING_MIN_TEMPERATURE);
193 public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_LIMIT_SOC = new ChannelTypeUID(BINDING_ID,
194 CHANNEL_VEHICLE_LIMIT_SOC);
195 public static final ChannelTypeUID CHANNEL_TYPE_UID_HEATING_LIMIT_TEMPERATURE = new ChannelTypeUID(BINDING_ID,
196 CHANNEL_HEATING_LIMIT_TEMPERATURE);
197 public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_PLAN_ENABLED = new ChannelTypeUID(BINDING_ID,
198 CHANNEL_VEHICLE_PLAN_ENABLED);
199 public static final ChannelTypeUID CHANNEL_TYPE_UID_HEATING_PLAN_ENABLED = new ChannelTypeUID(BINDING_ID,
200 CHANNEL_HEATING_PLAN_ENABLED);
201 public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_PLAN_SOC = new ChannelTypeUID(BINDING_ID,
202 CHANNEL_VEHICLE_PLAN_SOC);
203 public static final ChannelTypeUID CHANNEL_TYPE_UID_HEATING_PLAN_TEMPERATURE = new ChannelTypeUID(BINDING_ID,
204 CHANNEL_HEATING_PLAN_TEMPERATURE);
205 public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_PLAN_TIME = new ChannelTypeUID(BINDING_ID,
206 CHANNEL_VEHICLE_PLAN_TIME);
207 public static final ChannelTypeUID CHANNEL_TYPE_UID_HEATING_PLAN_TIME = new ChannelTypeUID(BINDING_ID,
208 CHANNEL_HEATING_PLAN_TIME);
210 public static final int CONNECTION_TIMEOUT_MILLISEC = 5000;
211 public static final int LONG_CONNECTION_TIMEOUT_MILLISEC = 60000;
212 public static final String EVCC_REST_API = "/api/";