From edef832a84647a69ef1d3bd54d19587705c7db46 Mon Sep 17 00:00:00 2001 From: Ed Martin Date: Sat, 9 Sep 2023 09:58:51 -0400 Subject: [PATCH] [Juicenet] Fix Charging state controls and override functionality (#15566) * [Juicenet] Fix typos in setOverride() Some obvious typos in setOverride() result in the timestamp being ignored which causes it to fail Fixes #15564 * [Juicenet] Allow disabling the override - The charger has default settings upon plugin, changing the current state sets the overide to Y, this makes override settable only in the N direction to remove whatever settings were previously applied * [Juicenet] Document new writable status of override --------- Signed-off-by: Ed Martin --- bundles/org.openhab.binding.juicenet/README.md | 2 +- .../openhab/binding/juicenet/internal/api/JuiceNetApi.java | 4 ++-- .../juicenet/internal/handler/JuiceNetDeviceHandler.java | 7 +++++++ 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/bundles/org.openhab.binding.juicenet/README.md b/bundles/org.openhab.binding.juicenet/README.md index 0379975822a..fc727d62f9d 100644 --- a/bundles/org.openhab.binding.juicenet/README.md +++ b/bundles/org.openhab.binding.juicenet/README.md @@ -33,7 +33,7 @@ A JuiceBox EV Charger requires a unitID which can also be found in the device se | chargingState | String | N | Current charging state (Start Charging, Smart Charging, Stop Charging). | | state | String | Y | This is the current device state (Available, Plugged-In, Charging, Error, Disconnected). | | message | String | Y | This is a message detailing the state of the EV charger. | -| override | Switch | Y | Smart charging is overridden. | +| override | Switch | N | Smart charging is overridden. Set to "OFF" to remove override. | | chargingTimeLeft | Number:Time | Y | Charging time left (seconds). | | plugUnplugTime | DateTime | Y | Last time of either plug-in or plug-out. | | targetTime | DateTime | N | “Start charging” start time, or time to start when overriding smart charging. | diff --git a/bundles/org.openhab.binding.juicenet/src/main/java/org/openhab/binding/juicenet/internal/api/JuiceNetApi.java b/bundles/org.openhab.binding.juicenet/src/main/java/org/openhab/binding/juicenet/internal/api/JuiceNetApi.java index e9e7ef15160..29785ddcc74 100644 --- a/bundles/org.openhab.binding.juicenet/src/main/java/org/openhab/binding/juicenet/internal/api/JuiceNetApi.java +++ b/bundles/org.openhab.binding.juicenet/src/main/java/org/openhab/binding/juicenet/internal/api/JuiceNetApi.java @@ -156,8 +156,8 @@ public class JuiceNetApi { Map params = new HashMap<>(); params.put("energy_at_plugin", Integer.toString(energy_at_plugin)); - params.put("override_time", Long.toString(energy_at_plugin)); - params.put("energy_to_add", Integer.toString(energy_at_plugin)); + params.put("override_time", Long.toString(override_time)); + params.put("energy_to_add", Integer.toString(energy_to_add)); postApiCommand(ApiCommand.SET_OVERRIDE, token, params); } diff --git a/bundles/org.openhab.binding.juicenet/src/main/java/org/openhab/binding/juicenet/internal/handler/JuiceNetDeviceHandler.java b/bundles/org.openhab.binding.juicenet/src/main/java/org/openhab/binding/juicenet/internal/handler/JuiceNetDeviceHandler.java index 214066ab6b3..aadc5a94162 100644 --- a/bundles/org.openhab.binding.juicenet/src/main/java/org/openhab/binding/juicenet/internal/handler/JuiceNetDeviceHandler.java +++ b/bundles/org.openhab.binding.juicenet/src/main/java/org/openhab/binding/juicenet/internal/handler/JuiceNetDeviceHandler.java @@ -253,6 +253,13 @@ public class JuiceNetDeviceHandler extends BaseThingHandler { api.setOverride(Objects.requireNonNull(token), energyAtPlugin, overrideTime, energyToAdd); + break; + } + case CHANNEL_OVERRIDE: { + if (command instanceof OnOffType onOffCommand && OnOffType.OFF.equals(onOffCommand)) { + api.setOverride(Objects.requireNonNull(token), 0, ((long) 0), 0); + } + break; } }