Skip to content

Commit d7ea627

Browse files
MikeTheTuxflorian-h05
authored andcommitted
[evcc] Add support of heating devices and three new channels (openhab#16378)
* added effectiveLimitSoC, chargerFeatureHeating and chargerFeatureIntegratedDevice channels support of heating devices (temperature) in addition to vehicles (SoC) Signed-off-by: Michael Weger <[email protected]> (cherry picked from commit f0f9cf9)
1 parent c87722e commit d7ea627

File tree

7 files changed

+615
-139
lines changed

7 files changed

+615
-139
lines changed

bundles/org.openhab.binding.evcc/README.md

+122-84
Large diffs are not rendered by default.

bundles/org.openhab.binding.evcc/src/main/java/org/openhab/binding/evcc/internal/EvccBindingConstants.java

+46
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public class EvccBindingConstants {
3131
public static final String CHANNEL_GROUP_ID_GENERAL = "general";
3232
public static final String CHANNEL_GROUP_ID_LOADPOINT = "loadpoint";
3333
public static final String CHANNEL_GROUP_ID_VEHICLE = "vehicle";
34+
public static final String CHANNEL_GROUP_ID_HEATING = "heating";
3435

3536
// List of all Channel ids
3637
public static final String CHANNEL_BATTERY_CAPACITY = "batteryCapacity";
@@ -45,6 +46,9 @@ public class EvccBindingConstants {
4546
public static final String CHANNEL_GRID_POWER = "gridPower";
4647
public static final String CHANNEL_HOME_POWER = "homePower";
4748
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";
51+
4852
public static final String CHANNEL_LOADPOINT_ACTIVE_PHASES = "activePhases";
4953
public static final String CHANNEL_LOADPOINT_CHARGE_CURRENT = "chargeCurrent";
5054
public static final String CHANNEL_LOADPOINT_CHARGE_DURATION = "chargeDuration";
@@ -62,19 +66,32 @@ public class EvccBindingConstants {
6266
public static final String CHANNEL_LOADPOINT_PHASES = "phases";
6367
public static final String CHANNEL_LOADPOINT_LIMIT_ENERGY = "limitEnergy";
6468
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";
6572
public static final String CHANNEL_LOADPOINT_TITLE = "title";
6673
public static final String CHANNEL_LOADPOINT_VEHICLE_CAPACITY = "vehicleCapacity";
6774
public static final String CHANNEL_LOADPOINT_VEHICLE_ODOMETER = "vehicleOdometer";
6875
public static final String CHANNEL_LOADPOINT_VEHICLE_PRESENT = "vehiclePresent";
6976
public static final String CHANNEL_LOADPOINT_VEHICLE_RANGE = "vehicleRange";
7077
public static final String CHANNEL_LOADPOINT_VEHICLE_SOC = "vehicleSoC";
78+
public static final String CHANNEL_LOADPOINT_VEHICLE_TEMPERATURE = "vehicleTemperature";
7179
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";
82+
7283
public static final String CHANNEL_VEHICLE_TITLE = "vehicleTitle";
84+
public static final String CHANNEL_HEATING_TITLE = "heatingTitle";
7385
public static final String CHANNEL_VEHICLE_MIN_SOC = "vehicleMinSoC";
86+
public static final String CHANNEL_HEATING_MIN_TEMPERATURE = "heatingMinTemperature";
7487
public static final String CHANNEL_VEHICLE_LIMIT_SOC = "vehicleLimitSoC";
88+
public static final String CHANNEL_HEATING_LIMIT_TEMPERATURE = "heatingLimitTemperature";
7589
public static final String CHANNEL_VEHICLE_PLAN_ENABLED = "vehiclePlanEnabled";
90+
public static final String CHANNEL_HEATING_PLAN_ENABLED = "heatingPlanEnabled";
7691
public static final String CHANNEL_VEHICLE_PLAN_SOC = "vehiclePlanSoC";
92+
public static final String CHANNEL_HEATING_PLAN_TEMPERATURE = "heatingPlanTemperature";
7793
public static final String CHANNEL_VEHICLE_PLAN_TIME = "vehiclePlanTime";
94+
public static final String CHANNEL_HEATING_PLAN_TIME = "heatingPlanTime";
7895

7996
// List of all Thing Type UIDs
8097
public static final ThingTypeUID THING_TYPE_DEVICE = new ThingTypeUID(BINDING_ID, "device");
@@ -100,6 +117,10 @@ public class EvccBindingConstants {
100117
public static final ChannelTypeUID CHANNEL_TYPE_UID_GRID_POWER = new ChannelTypeUID(BINDING_ID, CHANNEL_GRID_POWER);
101118
public static final ChannelTypeUID CHANNEL_TYPE_UID_HOME_POWER = new ChannelTypeUID(BINDING_ID, CHANNEL_HOME_POWER);
102119
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);
123+
103124
public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_ACTIVE_PHASES = new ChannelTypeUID(BINDING_ID,
104125
CHANNEL_LOADPOINT_ACTIVE_PHASES);
105126
public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_CHARGE_CURRENT = new ChannelTypeUID(BINDING_ID,
@@ -134,6 +155,12 @@ public class EvccBindingConstants {
134155
CHANNEL_LOADPOINT_LIMIT_ENERGY);
135156
public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_LIMIT_SOC = new ChannelTypeUID(BINDING_ID,
136157
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);
137164
public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_TITLE = new ChannelTypeUID(BINDING_ID,
138165
CHANNEL_LOADPOINT_TITLE);
139166
public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_CAPACITY = new ChannelTypeUID(BINDING_ID,
@@ -146,20 +173,39 @@ public class EvccBindingConstants {
146173
CHANNEL_LOADPOINT_VEHICLE_RANGE);
147174
public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_SOC = new ChannelTypeUID(BINDING_ID,
148175
CHANNEL_LOADPOINT_VEHICLE_SOC);
176+
public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_TEMPERATURE = new ChannelTypeUID(BINDING_ID,
177+
CHANNEL_LOADPOINT_VEHICLE_TEMPERATURE);
149178
public static final ChannelTypeUID CHANNEL_TYPE_UID_LOADPOINT_VEHICLE_NAME = new ChannelTypeUID(BINDING_ID,
150179
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);
184+
151185
public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_TITLE = new ChannelTypeUID(BINDING_ID,
152186
CHANNEL_VEHICLE_TITLE);
187+
public static final ChannelTypeUID CHANNEL_TYPE_UID_HEATING_TITLE = new ChannelTypeUID(BINDING_ID,
188+
CHANNEL_HEATING_TITLE);
153189
public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_MIN_SOC = new ChannelTypeUID(BINDING_ID,
154190
CHANNEL_VEHICLE_MIN_SOC);
191+
public static final ChannelTypeUID CHANNEL_TYPE_UID_HEATING_MIN_TEMPERATURE = new ChannelTypeUID(BINDING_ID,
192+
CHANNEL_HEATING_MIN_TEMPERATURE);
155193
public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_LIMIT_SOC = new ChannelTypeUID(BINDING_ID,
156194
CHANNEL_VEHICLE_LIMIT_SOC);
195+
public static final ChannelTypeUID CHANNEL_TYPE_UID_HEATING_LIMIT_TEMPERATURE = new ChannelTypeUID(BINDING_ID,
196+
CHANNEL_HEATING_LIMIT_TEMPERATURE);
157197
public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_PLAN_ENABLED = new ChannelTypeUID(BINDING_ID,
158198
CHANNEL_VEHICLE_PLAN_ENABLED);
199+
public static final ChannelTypeUID CHANNEL_TYPE_UID_HEATING_PLAN_ENABLED = new ChannelTypeUID(BINDING_ID,
200+
CHANNEL_HEATING_PLAN_ENABLED);
159201
public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_PLAN_SOC = new ChannelTypeUID(BINDING_ID,
160202
CHANNEL_VEHICLE_PLAN_SOC);
203+
public static final ChannelTypeUID CHANNEL_TYPE_UID_HEATING_PLAN_TEMPERATURE = new ChannelTypeUID(BINDING_ID,
204+
CHANNEL_HEATING_PLAN_TEMPERATURE);
161205
public static final ChannelTypeUID CHANNEL_TYPE_UID_VEHICLE_PLAN_TIME = new ChannelTypeUID(BINDING_ID,
162206
CHANNEL_VEHICLE_PLAN_TIME);
207+
public static final ChannelTypeUID CHANNEL_TYPE_UID_HEATING_PLAN_TIME = new ChannelTypeUID(BINDING_ID,
208+
CHANNEL_HEATING_PLAN_TIME);
163209

164210
public static final int CONNECTION_TIMEOUT_MILLISEC = 5000;
165211
public static final int LONG_CONNECTION_TIMEOUT_MILLISEC = 60000;

0 commit comments

Comments
 (0)