diff --git a/bundles/org.openhab.binding.keba/README.md b/bundles/org.openhab.binding.keba/README.md index 66ceb6567..1250d0246 100644 --- a/bundles/org.openhab.binding.keba/README.md +++ b/bundles/org.openhab.binding.keba/README.md @@ -18,7 +18,8 @@ All devices support the following channels: | Channel ID | Item Type | Read-only | Description | | ----------------------- | ------------------------ | --------- | ----------------------------------------------------------------------- | | state | Number | yes | current operational state of the wallbox | -| enabled | Switch | no | activation state of the wallbox | +| enabledsystem | Switch | yes | activation state of the wallbox (System) | +| enableduser | Switch | no | activation state of the wallbox (User) | | maxpresetcurrent | Number:ElectricCurrent | no | maximum current the charging station should deliver to the EV in A | | maxpresetcurrentrange | Number:Dimensionless | no | maximum current the charging station should deliver to the EV in % | | power | Number:Power | yes | active power delivered by the charging station | @@ -63,7 +64,8 @@ Number:ElectricCurrent KebaCurrent "Maximum supply current [%.3f A] Number:ElectricCurrent KebaSystemCurrent "Maximum system supply current [%.3f A]" {channel="keba:kecontact:1:maxsystemcurrent"} Number:ElectricCurrent KebaFailSafeCurrent "Failsafe supply current [%.3f A]" {channel="keba:kecontact:1:failsafecurrent"} Number KebaState "Operating State [%s]" {channel="keba:kecontact:1:state"} -Switch KebaSwitch "Enabled" {channel="keba:kecontact:1:enabled"} +Switch KebaEnabledSystem "Enabled (System)" {channel="keba:kecontact:1:enabledsystem"} +Switch KebaEnabledUser "Enabled (User)" {channel="keba:kecontact:1:enableduser"} Switch KebaWallboxPlugged "Plugged into wallbox" {channel="keba:kecontact:1:wallbox"} Switch KebaVehiclePlugged "Plugged into vehicle" {channel="keba:kecontact:1:vehicle"} Switch KebaPlugLocked "Plug locked" {channel="keba:kecontact:1:locked"} @@ -90,7 +92,8 @@ sitemap demo label="Main Menu" Text label="Charging Station" { Text item=KebaState Text item=KebaUptime - Switch item=KebaSwitch + Switch item=KebaEnabledSystem + Switch item=KebaEnabledUser Switch item=KebaWallboxPlugged Switch item=KebaVehiclePlugged Switch item=KebaPlugLocked diff --git a/bundles/org.openhab.binding.keba/src/main/java/org/openhab/binding/keba/internal/KebaBindingConstants.java b/bundles/org.openhab.binding.keba/src/main/java/org/openhab/binding/keba/internal/KebaBindingConstants.java index 417225b93..e722399f5 100644 --- a/bundles/org.openhab.binding.keba/src/main/java/org/openhab/binding/keba/internal/KebaBindingConstants.java +++ b/bundles/org.openhab.binding.keba/src/main/java/org/openhab/binding/keba/internal/KebaBindingConstants.java @@ -41,7 +41,8 @@ public class KebaBindingConstants { public static final String CHANNEL_WALLBOX = "wallbox"; public static final String CHANNEL_VEHICLE = "vehicle"; public static final String CHANNEL_PLUG_LOCKED = "locked"; - public static final String CHANNEL_ENABLED = "enabled"; + public static final String CHANNEL_ENABLED_SYSTEM = "enabledsystem"; + public static final String CHANNEL_ENABLED_USER = "enableduser"; public static final String CHANNEL_PILOT_CURRENT = "maxpilotcurrent"; public static final String CHANNEL_PILOT_PWM = "maxpilotcurrentdutycyle"; public static final String CHANNEL_MAX_SYSTEM_CURRENT = "maxsystemcurrent"; diff --git a/bundles/org.openhab.binding.keba/src/main/java/org/openhab/binding/keba/internal/handler/KeContactHandler.java b/bundles/org.openhab.binding.keba/src/main/java/org/openhab/binding/keba/internal/handler/KeContactHandler.java index 49bb33352..5e62eada3 100644 --- a/bundles/org.openhab.binding.keba/src/main/java/org/openhab/binding/keba/internal/handler/KeContactHandler.java +++ b/bundles/org.openhab.binding.keba/src/main/java/org/openhab/binding/keba/internal/handler/KeContactHandler.java @@ -323,17 +323,11 @@ public class KeContactHandler extends BaseThingHandler { break; } case "Enable sys": { - int state = entry.getValue().getAsInt(); - switch (state) { - case 1: { - updateState(CHANNEL_ENABLED, OnOffType.ON); - break; - } - default: { - updateState(CHANNEL_ENABLED, OnOffType.OFF); - break; - } - } + updateState(CHANNEL_ENABLED_SYSTEM, OnOffType.from(entry.getValue().getAsInt() == 1)); + break; + } + case "Enable user": { + updateState(CHANNEL_ENABLED_USER, OnOffType.from(entry.getValue().getAsInt() == 1)); break; } case "Curr HW": { @@ -558,7 +552,7 @@ public class KeContactHandler extends BaseThingHandler { } break; } - case CHANNEL_ENABLED: { + case CHANNEL_ENABLED_USER: { if (command instanceof OnOffType) { if (command == OnOffType.ON) { transceiver.send("ena 1", this); diff --git a/bundles/org.openhab.binding.keba/src/main/resources/OH-INF/i18n/keba.properties b/bundles/org.openhab.binding.keba/src/main/resources/OH-INF/i18n/keba.properties index a43c6673c..a3b59b6d1 100644 --- a/bundles/org.openhab.binding.keba/src/main/resources/OH-INF/i18n/keba.properties +++ b/bundles/org.openhab.binding.keba/src/main/resources/OH-INF/i18n/keba.properties @@ -35,8 +35,10 @@ channel-type.keba.current_settable.label = Preset Current channel-type.keba.current_settable.description = Preset Current channel-type.keba.display.label = Display channel-type.keba.display.description = Text to show on the P30 Series C or X display -channel-type.keba.enabled.label = Enabled -channel-type.keba.enabled.description = Activation state of the wallbox +channel-type.keba.enabledsystem.label = Enabled (System) +channel-type.keba.enabledsystem.description = Activation state of the wallbox (System) +channel-type.keba.enableduser.label = Enabled (User) +channel-type.keba.enableduser.description = Activation state of the wallbox (User) channel-type.keba.energy.label = Energy Session channel-type.keba.energy.description = Power consumption channel-type.keba.error1.label = Error Code 1 diff --git a/bundles/org.openhab.binding.keba/src/main/resources/OH-INF/thing/kecontact.xml b/bundles/org.openhab.binding.keba/src/main/resources/OH-INF/thing/kecontact.xml index cccbe07bc..c474648c7 100644 --- a/bundles/org.openhab.binding.keba/src/main/resources/OH-INF/thing/kecontact.xml +++ b/bundles/org.openhab.binding.keba/src/main/resources/OH-INF/thing/kecontact.xml @@ -9,7 +9,8 @@ A KeContact EV Charging Station - + + @@ -57,6 +58,10 @@ + + 1 + + @@ -115,10 +120,16 @@ Indicator if the plug is locked by the electrical vehicle - + Switch - - Activation state of the wallbox + + Activation state of the wallbox (System) + + + + Switch + + Activation state of the wallbox (User) diff --git a/bundles/org.openhab.binding.keba/src/main/resources/OH-INF/update/kecontact-enabled.xml b/bundles/org.openhab.binding.keba/src/main/resources/OH-INF/update/kecontact-enabled.xml new file mode 100644 index 000000000..015e98f11 --- /dev/null +++ b/bundles/org.openhab.binding.keba/src/main/resources/OH-INF/update/kecontact-enabled.xml @@ -0,0 +1,18 @@ + + + + + + + + keba:enabledsystem + + + keba:enableduser + + + + +