Skip to content

Commit 080f997

Browse files
committed
[ONECTA]
Fix for setting headpump items Signed-off-by: Alexander Drent <Alex@Drent-ict.nl>
1 parent 4843b92 commit 080f997

8 files changed

Lines changed: 44 additions & 38 deletions

File tree

bundles/org.openhab.binding.onecta/src/main/java/org/openhab/binding/onecta/internal/api/OnectaConnectionClient.java

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -210,29 +210,27 @@ public JsonObject getRawData(String unitId) {
210210
return new JsonObject();
211211
}
212212

213-
public void setPowerOnOff(String unitId, Enums.ManagementPoint managementPointType, Enums.OnOff value) {
214-
logger.debug("setPowerOnOff : {}, {}, {}", unitId, managementPointType.getValue(), value);
213+
public void setPowerOnOff(String unitId, String embeddedId, Enums.OnOff value) {
214+
logger.debug("setPowerOnOff : {}, {}, {}", unitId, embeddedId, value);
215215
CommandOnOf commandOnOf = new CommandOnOf(value);
216-
doBearerRequestPatch(getUrlOnOff(unitId, managementPointType), commandOnOf);
216+
doBearerRequestPatch(getUrlOnOff(unitId, embeddedId), commandOnOf);
217217
}
218218

219-
public void setPowerfulModeOnOff(String unitId, Enums.ManagementPoint managementPointType, Enums.OnOff value) {
220-
logger.debug("setPowerfulModeOnOff : {}, {}, {}", unitId, managementPointType.getValue(), value);
219+
public void setPowerfulModeOnOff(String unitId, String embeddedId, Enums.OnOff value) {
220+
logger.debug("setPowerfulModeOnOff : {}, {}, {}", unitId, embeddedId, value);
221221
CommandOnOf commandOnOf = new CommandOnOf(value);
222-
doBearerRequestPatch(getUrlPowerfulModeOnOff(unitId, managementPointType), commandOnOf);
222+
doBearerRequestPatch(getUrlPowerfulModeOnOff(unitId, embeddedId), commandOnOf);
223223
}
224224

225-
public void setEconoMode(String unitId, Enums.ManagementPoint managementPointType, Enums.OnOff value) {
226-
logger.debug("setEconoMode: {}, {}, {}", unitId, managementPointType.getValue(), value);
225+
public void setEconoMode(String unitId, String embeddedId, Enums.OnOff value) {
226+
logger.debug("setEconoMode: {}, {}, {}", unitId, embeddedId, value);
227227
CommandOnOf commandOnOf = new CommandOnOf(value);
228-
doBearerRequestPatch(getEconoMode(unitId, managementPointType), commandOnOf);
228+
doBearerRequestPatch(getEconoMode(unitId, embeddedId), commandOnOf);
229229
}
230230

231-
public void setCurrentOperationMode(String unitId, Enums.ManagementPoint managementPointType,
232-
Enums.OperationMode operationMode) {
233-
logger.debug("setCurrentOperationMode : {}, {}, {}", unitId, managementPointType.getValue(),
234-
operationMode.getValue());
235-
doBearerRequestPatch(getOperationModeUrl(unitId, managementPointType), getOperationModeCommand(operationMode));
231+
public void setCurrentOperationMode(String unitId, String embeddedId, Enums.OperationMode operationMode) {
232+
logger.debug("setCurrentOperationMode : {}, {}, {}", unitId, embeddedId, operationMode.getValue());
233+
doBearerRequestPatch(getOperationModeUrl(unitId, embeddedId), getOperationModeCommand(operationMode));
236234
}
237235

238236
public void setCurrentTemperatureRoomSet(String unitId, String embeddedId, Enums.OperationMode currentMode,

bundles/org.openhab.binding.onecta/src/main/java/org/openhab/binding/onecta/internal/api/OnectaProperties.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -52,22 +52,20 @@ public static String getBaseUrl(String unitId) {
5252
return StringUtils.removeEnd(String.format(BASE_URL, unitId), "/");
5353
}
5454

55-
public static String getUrlOnOff(String unitId, Enums.ManagementPoint managementPointType) {
56-
return String.format(getBaseUrl(unitId) + BASE_URL_COMMAND, managementPointType.getValue(), COMMAND_ONOFFMODE);
55+
public static String getUrlOnOff(String unitId, String embeddedId) {
56+
return String.format(getBaseUrl(unitId) + BASE_URL_COMMAND, embeddedId, COMMAND_ONOFFMODE);
5757
}
5858

59-
public static String getUrlPowerfulModeOnOff(String unitId, Enums.ManagementPoint managementPointType) {
60-
return String.format(getBaseUrl(unitId) + BASE_URL_COMMAND, managementPointType.getValue(),
61-
COMMAND_POWERFULMODE);
59+
public static String getUrlPowerfulModeOnOff(String unitId, String embeddedId) {
60+
return String.format(getBaseUrl(unitId) + BASE_URL_COMMAND, embeddedId, COMMAND_POWERFULMODE);
6261
}
6362

64-
public static String getEconoMode(String unitId, Enums.ManagementPoint managementPointType) {
65-
return String.format(getBaseUrl(unitId) + BASE_URL_COMMAND, managementPointType.getValue(), COMMAND_ECONOMODE);
63+
public static String getEconoMode(String unitId, String embeddedId) {
64+
return String.format(getBaseUrl(unitId) + BASE_URL_COMMAND, embeddedId, COMMAND_ECONOMODE);
6665
}
6766

68-
public static String getOperationModeUrl(String unitId, Enums.ManagementPoint managementPointType) {
69-
return String.format(getBaseUrl(unitId) + BASE_URL_COMMAND, managementPointType.getValue(),
70-
COMMAND_OPERATIONMODE);
67+
public static String getOperationModeUrl(String unitId, String embeddedId) {
68+
return String.format(getBaseUrl(unitId) + BASE_URL_COMMAND, embeddedId, COMMAND_OPERATIONMODE);
7169
}
7270

7371
public static CommandFloat getTargetTemperaturCommand(float value) {

bundles/org.openhab.binding.onecta/src/main/java/org/openhab/binding/onecta/internal/service/DataTransportService.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ public Enums.HeatupMode getHeatupMode() {
8383
}
8484

8585
public void setCurrentOperationMode(Enums.OperationMode value) {
86-
onectaConnectionClient.setCurrentOperationMode(unitId, managementPointType, value);
86+
onectaConnectionClient.setCurrentOperationMode(unitId, getEmbeddedId(), value);
8787
}
8888

8989
public Enums.FanSpeed getCurrentFanspeed() {
@@ -175,11 +175,11 @@ && getManagementPoint(managementPointType).getPowerfulMode() != null) {
175175
}
176176

177177
public void setPowerOnOff(Enums.OnOff value) {
178-
onectaConnectionClient.setPowerOnOff(unitId, managementPointType, value);
178+
onectaConnectionClient.setPowerOnOff(unitId, getEmbeddedId(), value);
179179
}
180180

181181
public void setPowerfulModeOnOff(Enums.OnOff value) {
182-
onectaConnectionClient.setPowerfulModeOnOff(unitId, managementPointType, value);
182+
onectaConnectionClient.setPowerfulModeOnOff(unitId, getEmbeddedId(), value);
183183
}
184184

185185
public String getEconoMode() {
@@ -190,7 +190,7 @@ public String getEconoMode() {
190190
}
191191

192192
public void setEconoMode(Enums.OnOff value) {
193-
onectaConnectionClient.setEconoMode(unitId, managementPointType, value);
193+
onectaConnectionClient.setEconoMode(unitId, getEmbeddedId(), value);
194194
}
195195

196196
public String getUnitName() {

bundles/org.openhab.binding.onecta/src/test/java/org/openhab/binding/onecta/internal/api/OnectaPropertiesTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,16 @@ public void startScanTest() {
3232

3333
assertEquals(
3434
"https://api.onecta.daikineurope.com/v1/gateway-devices/1ce8c13f-5271-4343-ac9f-a1b2c3d4e5f6/management-points/climateControl/characteristics/onOffMode",
35-
OnectaProperties.getUrlOnOff(UNITID, MANAGEMENTPOINTTYPE));
35+
OnectaProperties.getUrlOnOff(UNITID, MANAGEMENTPOINTTYPE.getValue()));
3636
assertEquals(
3737
"https://api.onecta.daikineurope.com/v1/gateway-devices/1ce8c13f-5271-4343-ac9f-a1b2c3d4e5f6/management-points/climateControl/characteristics/powerfulMode",
38-
OnectaProperties.getUrlPowerfulModeOnOff(UNITID, MANAGEMENTPOINTTYPE));
38+
OnectaProperties.getUrlPowerfulModeOnOff(UNITID, MANAGEMENTPOINTTYPE.getValue()));
3939
assertEquals(
4040
"https://api.onecta.daikineurope.com/v1/gateway-devices/1ce8c13f-5271-4343-ac9f-a1b2c3d4e5f6/management-points/climateControl/characteristics/econoMode",
41-
OnectaProperties.getEconoMode(UNITID, MANAGEMENTPOINTTYPE));
41+
OnectaProperties.getEconoMode(UNITID, MANAGEMENTPOINTTYPE.getValue()));
4242
assertEquals(
4343
"https://api.onecta.daikineurope.com/v1/gateway-devices/1ce8c13f-5271-4343-ac9f-a1b2c3d4e5f6/management-points/climateControl/characteristics/operationMode",
44-
OnectaProperties.getOperationModeUrl(UNITID, MANAGEMENTPOINTTYPE));
44+
OnectaProperties.getOperationModeUrl(UNITID, MANAGEMENTPOINTTYPE.getValue()));
4545

4646
assertEquals(20f, OnectaProperties.getTargetTemperaturCommand(20f).value);
4747
assertEquals(null, OnectaProperties.getTargetTemperaturCommand(20f).path);

bundles/org.openhab.binding.onecta/src/test/java/org/openhab/binding/onecta/internal/handler/OnectaDeviceHandlerTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import org.mockito.junit.jupiter.MockitoExtension;
3535
import org.openhab.binding.onecta.internal.OnectaConfiguration;
3636
import org.openhab.binding.onecta.internal.api.Enums;
37+
import org.openhab.binding.onecta.internal.api.OnectaConnectionClient;
3738
import org.openhab.binding.onecta.internal.service.ChannelsRefreshDelay;
3839
import org.openhab.binding.onecta.internal.service.DataTransportService;
3940
import org.openhab.core.config.core.Configuration;
@@ -63,6 +64,8 @@ public class OnectaDeviceHandlerTest {
6364

6465
@Mock
6566
private OnectaConfiguration onectaConfigMock;
67+
@Mock
68+
private OnectaConnectionClient onectaConnectionClientMock;
6669

6770
@Mock
6871
private DataTransportService dataTransServiceMock;
@@ -78,6 +81,8 @@ public void setUp()
7881
Configuration thingConfiguration = new Configuration();
7982
thingConfiguration.setProperties(Map.of("unitID", "ThisIsDummyID", "refreshDelay", "10"));
8083
when(thingMock.getConfiguration()).thenReturn(thingConfiguration);
84+
when(onectaConfigMock.getOnectaConnectionClient()).thenReturn(onectaConnectionClientMock);
85+
8186
handler = new OnectaDeviceHandler(thingMock, onectaConfigMock);
8287
handler.setCallback(callbackMock);
8388

bundles/org.openhab.binding.onecta/src/test/java/org/openhab/binding/onecta/internal/handler/OnectaGatewayHandlerTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.mockito.Mock;
2828
import org.mockito.junit.jupiter.MockitoExtension;
2929
import org.openhab.binding.onecta.internal.OnectaConfiguration;
30+
import org.openhab.binding.onecta.internal.api.OnectaConnectionClient;
3031
import org.openhab.binding.onecta.internal.service.DataTransportService;
3132
import org.openhab.core.config.core.Configuration;
3233
import org.openhab.core.library.types.DecimalType;
@@ -56,6 +57,9 @@ public class OnectaGatewayHandlerTest {
5657
@Mock
5758
private OnectaConfiguration onectaConfigurationMock;
5859

60+
@Mock
61+
private OnectaConnectionClient onectaConnectionClientMock;
62+
5963
@Mock
6064
private Thing thingMock;
6165

@@ -70,6 +74,7 @@ public void setUp() throws NoSuchFieldException, IllegalAccessException {
7074
Configuration thingConfiguration = new Configuration();
7175
thingConfiguration.setProperties(Map.of("unitID", "ThisIsDummyID", "refreshDelay", "10"));
7276
when(thingMock.getConfiguration()).thenReturn(thingConfiguration);
77+
when(onectaConfigurationMock.getOnectaConnectionClient()).thenReturn(onectaConnectionClientMock);
7378
handler = new OnectaGatewayHandler(thingMock, onectaConfigurationMock);
7479
handler.setCallback(callbackMock);
7580

bundles/org.openhab.binding.onecta/src/test/java/org/openhab/binding/onecta/internal/handler/OnectaWaterTankHandlerTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public void setUp() throws NoSuchFieldException, IllegalAccessException {
7171
Configuration thingConfiguration = new Configuration();
7272
thingConfiguration.setProperties(Map.of("unitID", "ThisIsDummyID", "refreshDelay", "10"));
7373
when(thingMock.getConfiguration()).thenReturn(thingConfiguration);
74+
when(onectaConfigurationMock.getOnectaConnectionClient()).thenReturn(onectaConnectionClientMock);
7475
handler = new OnectaWaterTankHandler(thingMock, onectaConfigurationMock);
7576
handler.setCallback(callbackMock);
7677

@@ -84,8 +85,6 @@ public void setUp() throws NoSuchFieldException, IllegalAccessException {
8485
privateChannelsRefreshDelayField.setAccessible(true);
8586
privateChannelsRefreshDelayField.set(handler, channelsRefreshDelayMock);
8687

87-
when(onectaConfigurationMock.getOnectaConnectionClient()).thenReturn(onectaConnectionClientMock);
88-
8988
lenient().when(thingMock.getUID()).thenReturn(new ThingUID("onecta", "domesticHotWaterTank", "bridge"));
9089
}
9190

bundles/org.openhab.binding.onecta/src/test/java/org/openhab/binding/onecta/internal/service/DataTransportServiceTest.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,8 @@ public void settersClimatecontrolTest() throws NoSuchFieldException, IllegalAcce
277277
dataTransportService.refreshUnit();
278278

279279
dataTransportService.setCurrentOperationMode(Enums.OperationMode.AUTO);
280-
verify(onectaConnectionClientMock).setCurrentOperationMode(UNITID, MANAGEMENTPOINT, Enums.OperationMode.AUTO);
280+
verify(onectaConnectionClientMock).setCurrentOperationMode(UNITID, MANAGEMENTPOINT.getValue(),
281+
Enums.OperationMode.AUTO);
281282

282283
dataTransportService.setFanSpeed(Enums.FanSpeed.LEVEL_3);
283284
verify(onectaConnectionClientMock).setFanSpeed(UNITID, MANAGEMENTPOINT.getValue(), Enums.OperationMode.COLD,
@@ -296,13 +297,13 @@ public void settersClimatecontrolTest() throws NoSuchFieldException, IllegalAcce
296297
Enums.OperationMode.COLD, Enums.FanMovementVer.WINDNICE);
297298

298299
dataTransportService.setPowerOnOff(Enums.OnOff.OFF);
299-
verify(onectaConnectionClientMock).setPowerOnOff(UNITID, MANAGEMENTPOINT, Enums.OnOff.OFF);
300+
verify(onectaConnectionClientMock).setPowerOnOff(UNITID, MANAGEMENTPOINT.getValue(), Enums.OnOff.OFF);
300301

301302
dataTransportService.setPowerfulModeOnOff(Enums.OnOff.OFF);
302-
verify(onectaConnectionClientMock).setPowerfulModeOnOff(UNITID, MANAGEMENTPOINT, Enums.OnOff.OFF);
303+
verify(onectaConnectionClientMock).setPowerfulModeOnOff(UNITID, MANAGEMENTPOINT.getValue(), Enums.OnOff.OFF);
303304

304305
dataTransportService.setEconoMode(Enums.OnOff.OFF);
305-
verify(onectaConnectionClientMock).setEconoMode(UNITID, MANAGEMENTPOINT, Enums.OnOff.OFF);
306+
verify(onectaConnectionClientMock).setEconoMode(UNITID, MANAGEMENTPOINT.getValue(), Enums.OnOff.OFF);
306307

307308
dataTransportService.setStreamerMode(Enums.OnOff.OFF);
308309
verify(onectaConnectionClientMock).setStreamerMode(UNITID, MANAGEMENTPOINT.getValue(), Enums.OnOff.OFF);

0 commit comments

Comments
 (0)