]> git.basschouten.com Git - openhab-addons.git/commitdiff
bugfixes/improvements (#14637)
authoralexf2015 <alexf2015@users.noreply.github.com>
Sun, 19 Mar 2023 15:02:33 +0000 (16:02 +0100)
committerGitHub <noreply@github.com>
Sun, 19 Mar 2023 15:02:33 +0000 (16:02 +0100)
Signed-off-by: Alexander Friese <af944580@googlemail.com>
bundles/org.openhab.binding.easee/README.md
bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/EaseeBindingConstants.java
bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/handler/EaseeChargerHandler.java
bundles/org.openhab.binding.easee/src/main/java/org/openhab/binding/easee/internal/model/CustomResponseTransformer.java

index 00e879eac88229966e55af7929de8728dc9c8d9a..7df0a3c5ac153a4e3e2b1839a8bbe79d4b69f8ea 100644 (file)
@@ -73,7 +73,7 @@ The settings that start with "dynamic" can be changed frequently, the others are
 | state#outputCurrent                         | Number:ElectricCurrent   | no       |                                                      |                                                                                                                                                              |
 | state#isOnline                              | Switch                   | no       |                                                      |                                                                                                                                                              |
 | state#dynamicChargerCurrent                 | Number:ElectricCurrent   | yes      |                                                      | 0, 6-32                                                                                                                                                      |
-| state#reasonForNoCurrent                    | Number                   | no       |                                                      |                                                                                                                                                              |
+| state#reasonForNoCurrent                    | Number                   | no       | 2=NoCurrent, 27=Charging, 52=Paused, 55=NotAuthorized, 79=BatteryFull |                                                                                                                                                              |
 | state#lifetimeEnergy                        | Number:Energy            | no       |                                                      |                                                                                                                                                              |
 | state#errorCode                             | Number                   | no       |                                                      |                                                                                                                                                              |
 | state#fatalErrorCode                        | Number                   | no       |                                                      |                                                                                                                                                              |
index 044babf17663fead09da47e8eb824fbd78430d3f..c2614bc4199acd09c8f4e1f00f395834f2bfdea9 100644 (file)
@@ -104,6 +104,7 @@ public class EaseeBindingConstants {
     public static final String COMMAND_CHANGE_CONFIGURATION = "ChangeConfiguration";
     public static final String COMMAND_SEND_COMMAND = "SendCommand";
     public static final String COMMAND_SEND_COMMAND_START_STOP = "SendCommandStartStop";
+    public static final String COMMAND_SEND_COMMAND_PAUSE_RESUME = "SendCommandPauseResume";
     public static final String COMMAND_SET_CIRCUIT_SETTINGS = "SetCircuitSettings";
     public static final String COMMAND_SET_DYNAMIC_CIRCUIT_CURRENTS = "SetDynamicCircuitCurrents";
     public static final String COMMAND_SET_MAX_CIRCUIT_CURRENTS = "SetMaxCircuitCurrents";
@@ -151,6 +152,7 @@ public class EaseeBindingConstants {
     public static final int CHARGER_OP_STATE_WAITING = 2;
     public static final int CHARGER_OP_STATE_CHARGING = 3;
     public static final double CHARGER_DYNAMIC_CURRENT_PAUSE = 0;
+    public static final int CHARGER_REASON_FOR_NO_CURRENT_DYNAMIC_0KW = 2;
     public static final int CHARGER_REASON_FOR_NO_CURRENT_PAUSED = 52;
 
     public static final String THING_CONFIG_ID = "id";
index 7d3d461425614df9e7b0938f5d5e5bc2d20ec71c..9ac3e1fa5d405d9d756bb63b5fbc4f619fd839a4 100644 (file)
@@ -31,6 +31,7 @@ import org.openhab.binding.easee.internal.command.charger.ChargerState;
 import org.openhab.binding.easee.internal.command.charger.GetConfiguration;
 import org.openhab.binding.easee.internal.command.charger.LatestChargingSession;
 import org.openhab.binding.easee.internal.command.charger.SendCommand;
+import org.openhab.binding.easee.internal.command.charger.SendCommandPauseResume;
 import org.openhab.binding.easee.internal.command.charger.SendCommandStartStop;
 import org.openhab.binding.easee.internal.config.EaseeConfiguration;
 import org.openhab.binding.easee.internal.connector.CommunicationStatus;
@@ -218,6 +219,8 @@ public class EaseeChargerHandler extends BaseThingHandler implements EaseeThingH
                 return new SendCommand(this, chargerId, channel, command);
             case COMMAND_SEND_COMMAND_START_STOP:
                 return new SendCommandStartStop(this, chargerId, channel, command);
+            case COMMAND_SEND_COMMAND_PAUSE_RESUME:
+                return new SendCommandPauseResume(this, chargerId, channel, command);
             default:
                 // this should not happen
                 logger.error("write command '{}' not found for channel '{}'", command.toString(),
index 0393f573814641ecfde66827181a993e9eb1f474..f224ace4df1b79e1acc2e517e9294ed6a1afbb04 100644 (file)
@@ -87,9 +87,18 @@ class CustomResponseTransformer {
 
             String rfnc = Utils.getAsString(rawData, CHANNEL_CHARGER_REASON_FOR_NO_CURRENT);
             int reasonForNoCurrent = Integer.valueOf(rfnc == null ? "-1" : rfnc);
-            boolean paused = (val == CHARGER_OP_STATE_WAITING
-                    && reasonForNoCurrent == CHARGER_REASON_FOR_NO_CURRENT_PAUSED);
-
+            boolean paused = false;
+            if (val == CHARGER_OP_STATE_WAITING) {
+                switch (reasonForNoCurrent) {
+                    case CHARGER_REASON_FOR_NO_CURRENT_PAUSED:
+                    case CHARGER_REASON_FOR_NO_CURRENT_DYNAMIC_0KW:
+                        paused = true;
+                        break;
+                    default:
+                        paused = false;
+                        break;
+                }
+            }
             result.put(channel, OnOffType.from(charging || paused));
         }
     }