[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 <edman007@edman007.com>
This commit is contained in:
Ed Martin 2023-09-09 09:58:51 -04:00 committed by GitHub
parent c775792896
commit edef832a84
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 3 deletions

View File

@ -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). | | 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). | | 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. | | 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). | | chargingTimeLeft | Number:Time | Y | Charging time left (seconds). |
| plugUnplugTime | DateTime | Y | Last time of either plug-in or plug-out. | | 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. | | targetTime | DateTime | N | “Start charging” start time, or time to start when overriding smart charging. |

View File

@ -156,8 +156,8 @@ public class JuiceNetApi {
Map<String, Object> params = new HashMap<>(); Map<String, Object> params = new HashMap<>();
params.put("energy_at_plugin", Integer.toString(energy_at_plugin)); params.put("energy_at_plugin", Integer.toString(energy_at_plugin));
params.put("override_time", Long.toString(energy_at_plugin)); params.put("override_time", Long.toString(override_time));
params.put("energy_to_add", Integer.toString(energy_at_plugin)); params.put("energy_to_add", Integer.toString(energy_to_add));
postApiCommand(ApiCommand.SET_OVERRIDE, token, params); postApiCommand(ApiCommand.SET_OVERRIDE, token, params);
} }

View File

@ -253,6 +253,13 @@ public class JuiceNetDeviceHandler extends BaseThingHandler {
api.setOverride(Objects.requireNonNull(token), energyAtPlugin, overrideTime, energyToAdd); 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; break;
} }
} }