[Konnected] Using default onvalue if configured is null (#13354)

* Using default onvalue if configured is null
* Using DTO for channel configuration. Changing channel config parameter names to camel case

Signed-off-by: Haavar Valeur <haavar@haavar.com>
This commit is contained in:
Haavar Valeur 2022-09-06 11:24:33 -07:00 committed by GitHub
parent bbaf1e782a
commit fe25216ea6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 150 additions and 156 deletions

View File

@ -95,16 +95,16 @@ Thing konnected:wifi-module:generic "Konnected Module" [baseUrl="http://192.168.
Type switch : switch-wifi "Front Door" [zone=1]
Type actuator : actuator-wifi "Siren" [zone=2, momentary = 50, times = 2, pause = 50]
Type humidity : humidity-wifi "DHT - Humidity" [zone=3]
Type temperature : temperature-wifi "DHT Temperature" [zone=4, tempsensorType = true, pollinterval = 1]
Type temperature : temperature-wifi "DS18B20 Temperature" [zone=5, tempsensorType = false, pollinterval = 1, ds18b20_address = "XX:XX:XX:XX:XX:XX:XX"]
Type temperature : temperature-wifi "DHT Temperature" [zone=4, dht22 = true, pollInterval = 1]
Type temperature : temperature-wifi "DS18B20 Temperature" [zone=5, dht22 = false, pollInterval = 1, ds18b20Address = "XX:XX:XX:XX:XX:XX:XX"]
}
Thing konnected:pro-module:generic "Konnected Module" [baseUrl="http://192.168.30.154:9586", macAddress="1684597"]{
Type switch : switch-pro "Front Door" [zone=1]
Type actuator : actuator-pro "Siren" [zone=2, momentary = 50, times = 2, pause = 50]
Type humidity : humidity-pro "DHT - Humidity" [zone=3]
Type temperature : temperature-pro "DHT Temperature" [zone=4, tempsensorType = true, pollinterval = 1]
Type temperature : temperature-pro "DS18B20 Temperature" [zone=5, tempsensorType = false, pollinterval = 1, ds18b20_address = "XX:XX:XX:XX:XX:XX:XX"]
Type temperature : temperature-pro "DHT Temperature" [zone=4, dht22 = true, pollInterval = 1]
Type temperature : temperature-pro "DS18B20 Temperature" [zone=5, dht22 = false, pollInterval = 1, ds18b20Address = "XX:XX:XX:XX:XX:XX:XX"]
}
```

View File

@ -49,21 +49,9 @@ public class KonnectedBindingConstants {
public static final Map<Integer, String> ESP8266_PIN_TO_ZONE = ESP8266_ZONE_TO_PIN.entrySet().stream()
.collect(Collectors.toMap(Map.Entry::getValue, Map.Entry::getKey));
public static final String CHANNEL_ZONE = "zone";
// channeltypeids
public static final String CHANNEL_SWITCH = "konnected:switch";
public static final String CHANNEL_ACTUATOR = "konnected:actuator";
public static final String CHANNEL_TEMPERATURE = "konnected:temperature";
public static final String CHANNEL_HUMIDITY = "konnected:humidity";
public static final String CHANNEL_TEMPERATURE_TYPE = "tempsensorType";
public static final String CHANNEL_TEMPERATURE_DS18B20_ADDRESS = "ds18b20_address";
public static final String CHANNEL_TEMPERATRUE_POLL = "pollinterval";
public static final String CHANNEL_ACTUATOR_TIMES = "times";
public static final String CHANNEL_ACTUATOR_MOMENTARY = "momentary";
public static final String CHANNEL_ACTUATOR_PAUSE = "pause";
public static final String CHANNEL_ONVALUE = "onvalue";
}

View File

@ -0,0 +1,37 @@
/**
* Copyright (c) 2010-2022 Contributors to the openHAB project
*
* See the NOTICE file(s) distributed with this work for additional
* information.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*/
package org.openhab.binding.konnected.internal;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
/**
* The {@link ZoneConfiguration} class contains the configuration parameters for the zone.
*
* @author Haavar Valeur
*/
@NonNullByDefault
public class ZoneConfiguration {
public String zone = "";
public boolean dht22 = true;
@Nullable
public String ds18b20Address;
public int pollInterval = 3;
@Nullable
public Integer times;
@Nullable
public Integer momentary;
@Nullable
public Integer pause;
public int onValue = 1;
}

View File

@ -32,9 +32,9 @@ public class KonnectedModuleGson {
private Integer state;
@SerializedName("Auth_Token")
private String authToken;
private String momentary;
private String pause;
private String times;
private Integer momentary;
private Integer pause;
private Integer times;
@SerializedName("poll_interval")
private Integer pollInterval;
private String addr;
@ -91,27 +91,27 @@ public class KonnectedModuleGson {
return authToken;
}
public String getMomentary() {
public Integer getMomentary() {
return momentary;
}
public void setMomentary(String setMomentary) {
public void setMomentary(Integer setMomentary) {
this.momentary = setMomentary;
}
public String getPause() {
public Integer getPause() {
return pause;
}
public void setPause(String setPause) {
public void setPause(Integer setPause) {
this.pause = setPause;
}
public String getTimes() {
public Integer getTimes() {
return times;
}
public void setTimes(String setTimes) {
public void setTimes(Integer setTimes) {
this.times = setTimes;
}

View File

@ -14,7 +14,6 @@ package org.openhab.binding.konnected.internal.handler;
import static org.openhab.binding.konnected.internal.KonnectedBindingConstants.*;
import java.math.BigDecimal;
import java.util.Map;
import java.util.Map.Entry;
import java.util.concurrent.TimeUnit;
@ -22,6 +21,7 @@ import java.util.concurrent.TimeUnit;
import org.openhab.binding.konnected.internal.KonnectedConfiguration;
import org.openhab.binding.konnected.internal.KonnectedHTTPUtils;
import org.openhab.binding.konnected.internal.KonnectedHttpRetryExceeded;
import org.openhab.binding.konnected.internal.ZoneConfiguration;
import org.openhab.binding.konnected.internal.gson.KonnectedModuleGson;
import org.openhab.binding.konnected.internal.gson.KonnectedModulePayload;
import org.openhab.core.config.core.Configuration;
@ -84,7 +84,8 @@ public class KonnectedHandler extends BaseThingHandler {
// get the zone number in integer form
Channel channel = this.getThing().getChannel(channelUID.getId());
String channelType = channel.getChannelTypeUID().getAsString();
String zone = (String) channel.getConfiguration().get(CHANNEL_ZONE);
ZoneConfiguration zoneConfig = channel.getConfiguration().as(ZoneConfiguration.class);
String zone = zoneConfig.zone;
logger.debug("The channelUID is: {} and the zone is : {}", channelUID.getAsString(), zone);
// if the command is OnOfftype
if (command instanceof OnOffType) {
@ -125,10 +126,10 @@ public class KonnectedHandler extends BaseThingHandler {
zone);
getThing().getChannels().forEach(channel -> {
ChannelUID channelId = channel.getUID();
String zoneNumber = (String) channel.getConfiguration().get(CHANNEL_ZONE);
ZoneConfiguration zoneConfig = channel.getConfiguration().as(ZoneConfiguration.class);
// if the string zone that was sent equals the last digit of the channelId found process it as the
// channelId else do nothing
if (zone.equalsIgnoreCase(zoneNumber)) {
if (zone.equalsIgnoreCase(zoneConfig.zone)) {
logger.debug(
"The configrued zone of channelID: {} was a match for the zone sent by the alarm panel: {} on thing: {}",
channelId, zone, this.getThing().getUID().getId());
@ -140,35 +141,34 @@ public class KonnectedHandler extends BaseThingHandler {
Integer state = event.getState();
logger.debug("The event state is: {}", state);
if (state != null) {
OnOffType onOffType = state == getOnState(channel) ? OnOffType.ON : OnOffType.OFF;
OnOffType onOffType = state == zoneConfig.onValue ? OnOffType.ON : OnOffType.OFF;
updateState(channelId, onOffType);
}
} else if (channelType.contains(CHANNEL_HUMIDITY)) {
// if the state is of type number then this means it is the humidity channel of the dht22
updateState(channelId, new QuantityType<>(Double.parseDouble(event.getHumi()), Units.PERCENT));
} else if (channelType.contains(CHANNEL_TEMPERATURE)) {
Configuration configuration = channel.getConfiguration();
if (((Boolean) configuration.get(CHANNEL_TEMPERATURE_TYPE))) {
if (zoneConfig.dht22) {
updateState(channelId,
new QuantityType<>(Double.parseDouble(event.getTemp()), SIUnits.CELSIUS));
} else {
// need to check to make sure right dsb1820 address
logger.debug("The address of the DSB1820 sensor received from modeule {} is: {}",
logger.debug("The address of the DSB1820 sensor received from module {} is: {}",
this.thing.getUID(), event.getAddr());
if (event.getAddr()
.equalsIgnoreCase((String) (configuration.get(CHANNEL_TEMPERATURE_DS18B20_ADDRESS)))) {
if (event.getAddr().equalsIgnoreCase(zoneConfig.ds18b20Address)) {
updateState(channelId,
new QuantityType<>(Double.parseDouble(event.getTemp()), SIUnits.CELSIUS));
} else {
logger.debug("The address of {} does not match {} not updating this channel",
event.getAddr(), (configuration.get(CHANNEL_TEMPERATURE_DS18B20_ADDRESS)));
event.getAddr(), zoneConfig.ds18b20Address);
}
}
}
} else {
logger.trace(
"The zone number sent by the alarm panel: {} was not a match the configured zone for channelId: {} for thing {}",
zone, channelId, getThing().getThingTypeUID().toString());
zone, channelId, getThing().getThingTypeUID());
}
});
}
@ -238,7 +238,6 @@ public class KonnectedHandler extends BaseThingHandler {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, e.getMessage());
}
});
value = false;
} else if (cfg[1].equals("removewifi") && value instanceof Boolean && (Boolean) value) {
scheduler.execute(() -> {
try {
@ -247,13 +246,12 @@ public class KonnectedHandler extends BaseThingHandler {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, e.getMessage());
}
});
value = false;
} else if (cfg[1].equals("sendConfig") && value instanceof Boolean && (Boolean) value) {
scheduler.execute(() -> {
try {
String response = updateKonnectedModule();
logger.trace("The response from the konnected module with thingID {} was {}",
getThing().getUID().toString(), response);
getThing().getUID(), response);
if (response == null) {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR,
"Unable to communicate with Konnected Module.");
@ -264,7 +262,6 @@ public class KonnectedHandler extends BaseThingHandler {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR, e.getMessage());
}
});
value = false;
}
}
}
@ -274,8 +271,8 @@ public class KonnectedHandler extends BaseThingHandler {
{
String response = updateKonnectedModule();
logger.trace("The response from the konnected module with thingID {} was {}",
getThing().getUID().toString(), response);
logger.trace("The response from the konnected module with thingID {} was {}", getThing().getUID(),
response);
if (response == null) {
updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.COMMUNICATION_ERROR,
"Unable to communicate with Konnected Module confirm settings.");
@ -338,7 +335,7 @@ public class KonnectedHandler extends BaseThingHandler {
// adds linked channels to list based on last value of Channel ID
// which is set to a number
// get the zone number in integer form
String zone = (String) channel.getConfiguration().get(CHANNEL_ZONE);
ZoneConfiguration zoneConfig = channel.getConfiguration().as(ZoneConfiguration.class);
// if the pin is an actuator add to actuator string
// else add to sensor string
// This is determined based off of the accepted item type, contact types are sensors
@ -346,46 +343,38 @@ public class KonnectedHandler extends BaseThingHandler {
String channelType = channel.getChannelTypeUID().getAsString();
logger.debug("The channeltypeID is: {}", channelType);
KonnectedModuleGson module = new KonnectedModuleGson();
module.setZone(thingID, zone);
module.setZone(thingID, zoneConfig.zone);
if (channelType.contains(CHANNEL_SWITCH)) {
payload.addSensor(module);
logger.trace("Channel {} will be configured on the konnected alarm panel as a switch",
channel.toString());
logger.trace("Channel {} will be configured on the konnected alarm panel as a switch", channel);
} else if (channelType.contains(CHANNEL_ACTUATOR)) {
payload.addActuators(module);
logger.trace("Channel {} will be configured on the konnected alarm panel as an actuator",
channel.toString());
logger.trace("Channel {} will be configured on the konnected alarm panel as an actuator", channel);
} else if (channelType.contains(CHANNEL_HUMIDITY)) {
// the humidity channels do not need to be added because the supported sensor (dht22) is added under
// the temp sensor
logger.trace("Channel {} is a humidity channel.", channel.toString());
logger.trace("Channel {} is a humidity channel.", channel);
} else if (channelType.contains(CHANNEL_TEMPERATURE)) {
logger.trace("Channel {} will be configured on the konnected alarm panel as a temperature sensor",
channel.toString());
Configuration configuration = channel.getConfiguration();
if (configuration.get(CHANNEL_TEMPERATRUE_POLL) == null) {
module.setPollInterval(3);
} else {
module.setPollInterval(((BigDecimal) configuration.get(CHANNEL_TEMPERATRUE_POLL)).intValue());
}
logger.trace("The Temperature Sensor Type is: {} ",
configuration.get(CHANNEL_TEMPERATURE_TYPE).toString());
if ((boolean) configuration.get(CHANNEL_TEMPERATURE_TYPE)) {
channel);
module.setPollInterval(zoneConfig.pollInterval);
logger.trace("The Temperature Sensor Type is: {} ", zoneConfig.dht22);
if (zoneConfig.dht22) {
// add it as a dht22 module
payload.addDht22(module);
logger.trace(
"Channel {} will be configured on the konnected alarm panel as a DHT22 temperature sensor",
channel.toString());
channel);
} else {
// add to payload as a DS18B20 module if the parameter is false
payload.addDs18b20(module);
logger.trace(
"Channel {} will be configured on the konnected alarm panel as a DS18B20 temperature sensor",
channel.toString());
channel);
}
} else {
logger.debug("Channel {} is of type {} which is not supported by the konnected binding",
channel.toString(), channelType);
logger.debug("Channel {} is of type {} which is not supported by the konnected binding", channel,
channelType);
}
} else {
logger.debug("The Channel {} is not linked to an item", channel.getUID());
@ -421,10 +410,10 @@ public class KonnectedHandler extends BaseThingHandler {
private void sendActuatorCommand(Integer scommand, String zone, ChannelUID channelId) {
try {
Channel channel = getThing().getChannel(channelId.getId());
if (!(channel == null)) {
if (channel != null) {
logger.debug("getasstring: {} getID: {} getGroupId: {} toString:{}", channelId.getAsString(),
channelId.getId(), channelId.getGroupId(), channelId.toString());
Configuration configuration = channel.getConfiguration();
channelId.getId(), channelId.getGroupId(), channelId);
ZoneConfiguration zoneConfig = channel.getConfiguration().as(ZoneConfiguration.class);
KonnectedModuleGson payload = new KonnectedModuleGson();
payload.setState(scommand);
@ -432,34 +421,16 @@ public class KonnectedHandler extends BaseThingHandler {
// check to see if this is an On Command type, if so add the momentary, pause, times to the payload if
// they exist on the configuration.
if (scommand == getOnState(channel)) {
if (configuration.get(CHANNEL_ACTUATOR_TIMES) == null) {
logger.debug(
"The times configuration was not set for channelID: {}, not adding it to the payload.",
channelId.toString());
} else {
payload.setTimes(configuration.get(CHANNEL_ACTUATOR_TIMES).toString());
logger.debug("The times configuration was set to: {} for channelID: {}.",
configuration.get(CHANNEL_ACTUATOR_TIMES).toString(), channelId.toString());
}
if (configuration.get(CHANNEL_ACTUATOR_MOMENTARY) == null) {
logger.debug(
"The momentary configuration was not set for channelID: {}, not adding it to the payload.",
channelId.toString());
} else {
payload.setMomentary(configuration.get(CHANNEL_ACTUATOR_MOMENTARY).toString());
logger.debug("The momentary configuration set to: {} channelID: {}.",
configuration.get(CHANNEL_ACTUATOR_MOMENTARY).toString(), channelId.toString());
}
if (configuration.get(CHANNEL_ACTUATOR_PAUSE) == null) {
logger.debug(
"The pause configuration was not set for channelID: {}, not adding it to the payload.",
channelId.toString());
} else {
payload.setPause(configuration.get(CHANNEL_ACTUATOR_PAUSE).toString());
logger.debug("The pause configuration was set to: {} for channelID: {}.",
configuration.get(CHANNEL_ACTUATOR_PAUSE).toString(), channelId.toString());
}
if (scommand == zoneConfig.onValue) {
payload.setTimes(zoneConfig.times);
logger.debug("The times configuration was set to: {} for channelID: {}.", zoneConfig.times,
channelId);
payload.setMomentary(zoneConfig.momentary);
logger.debug("The momentary configuration set to: {} channelID: {}.", zoneConfig.momentary,
channelId);
payload.setPause(zoneConfig.pause);
logger.debug("The pause configuration was set to: {} for channelID: {}.", zoneConfig.pause,
channelId);
}
String payloadString = gson.toJson(payload);
logger.debug("The command payload is: {}", payloadString);
@ -474,8 +445,7 @@ public class KonnectedHandler extends BaseThingHandler {
}
http.doPut(baseUrl + path, payloadString, retryCount);
} else {
logger.debug("The channel {} returned null for channelId.getID(): {}", channelId.toString(),
channelId.getId());
logger.debug("The channel {} returned null for channelId.getID(): {}", channelId, channelId.getId());
}
} catch (KonnectedHttpRetryExceeded e) {
logger.debug("Attempting to set the state of the actuator on thing {} failed: {}",
@ -489,7 +459,7 @@ public class KonnectedHandler extends BaseThingHandler {
Channel channel = getThing().getChannel(channelId.getId());
if (!(channel == null)) {
logger.debug("getasstring: {} getID: {} getGroupId: {} toString:{}", channelId.getAsString(),
channelId.getId(), channelId.getGroupId(), channelId.toString());
channelId.getId(), channelId.getGroupId(), channelId);
KonnectedModuleGson payload = new KonnectedModuleGson();
payload.setZone(thingID, zone);
String payloadString = gson.toJson(payload);
@ -511,8 +481,7 @@ public class KonnectedHandler extends BaseThingHandler {
}, 2, TimeUnit.MINUTES);
}
} else {
logger.debug("The channel {} returned null for channelId.getID(): {}", channelId.toString(),
channelId.getId());
logger.debug("The channel {} returned null for channelId.getID(): {}", channelId, channelId.getId());
}
}
@ -524,8 +493,4 @@ public class KonnectedHandler extends BaseThingHandler {
this.handleWebHookEvent(event);
}
}
private int getOnState(Channel channel) {
return ((Number) channel.getConfiguration().get(CHANNEL_ONVALUE)).intValue();
}
}

View File

@ -55,10 +55,10 @@ channel-type.konnected.temperature-wifi.description = This zone measures tempera
channel-type.config.konnected.actuator-pro.momentary.label = Momentary
channel-type.config.konnected.actuator-pro.momentary.description = The duration of the pulse in milliseconds
channel-type.config.konnected.actuator-pro.onvalue.label = On Value
channel-type.config.konnected.actuator-pro.onvalue.description = The value that will be treated by the binding as an on command. For actuators that activate with a high command set to 1 and actuators that activate with a low value set to 0.
channel-type.config.konnected.actuator-pro.onvalue.option.0 = 0
channel-type.config.konnected.actuator-pro.onvalue.option.1 = 1
channel-type.config.konnected.actuator-pro.onValue.label = On Value
channel-type.config.konnected.actuator-pro.onValue.description = The value that will be treated by the binding as an on command. For actuators that activate with a high command set to 1 and actuators that activate with a low value set to 0.
channel-type.config.konnected.actuator-pro.onValue.option.0 = 0
channel-type.config.konnected.actuator-pro.onValue.option.1 = 1
channel-type.config.konnected.actuator-pro.pause.label = Pause
channel-type.config.konnected.actuator-pro.pause.description = The time between pulses in milliseconds
channel-type.config.konnected.actuator-pro.times.label = Times
@ -78,10 +78,10 @@ channel-type.config.konnected.actuator-pro.zone.option.out1 = Output1
channel-type.config.konnected.actuator-pro.zone.option.alarm2_out2 = Alarm2/Out2
channel-type.config.konnected.actuator-wifi.momentary.label = Momentary
channel-type.config.konnected.actuator-wifi.momentary.description = The duration of the pulse in millisecods
channel-type.config.konnected.actuator-wifi.onvalue.label = On Value
channel-type.config.konnected.actuator-wifi.onvalue.description = The value that will be treated by the binding as an on command. For actuators that activate with a high command set to 1 and actuators that activate with a low value set to 0.
channel-type.config.konnected.actuator-wifi.onvalue.option.0 = 0
channel-type.config.konnected.actuator-wifi.onvalue.option.1 = 1
channel-type.config.konnected.actuator-wifi.onValue.label = On Value
channel-type.config.konnected.actuator-wifi.onValue.description = The value that will be treated by the binding as an on command. For actuators that activate with a high command set to 1 and actuators that activate with a low value set to 0.
channel-type.config.konnected.actuator-wifi.onValue.option.0 = 0
channel-type.config.konnected.actuator-wifi.onValue.option.1 = 1
channel-type.config.konnected.actuator-wifi.pause.label = Pause
channel-type.config.konnected.actuator-wifi.pause.description = The time between pulses in millisecods
channel-type.config.konnected.actuator-wifi.times.label = Times
@ -114,10 +114,10 @@ channel-type.config.konnected.humidity-wifi.zone.option.4 = 4
channel-type.config.konnected.humidity-wifi.zone.option.5 = 5
channel-type.config.konnected.humidity-wifi.zone.option.6 = 6
channel-type.config.konnected.humidity-wifi.zone.option.alarm_out = Alarm/Out
channel-type.config.konnected.switch-pro.onvalue.label = On Value
channel-type.config.konnected.switch-pro.onvalue.description = The value that will be treated by the binding as the on value. For sensors that activate with a high value, leave at the default of 1 and sensors that activate with a low value set to 0.
channel-type.config.konnected.switch-pro.onvalue.option.0 = 0
channel-type.config.konnected.switch-pro.onvalue.option.1 = 1
channel-type.config.konnected.switch-pro.onValue.label = On Value
channel-type.config.konnected.switch-pro.onValue.description = The value that will be treated by the binding as the on value. For sensors that activate with a high value, leave at the default of 1 and sensors that activate with a low value set to 0.
channel-type.config.konnected.switch-pro.onValue.option.0 = 0
channel-type.config.konnected.switch-pro.onValue.option.1 = 1
channel-type.config.konnected.switch-pro.zone.label = Zone Number
channel-type.config.konnected.switch-pro.zone.description = The zone number of the channel.
channel-type.config.konnected.switch-pro.zone.option.1 = 1
@ -132,10 +132,10 @@ channel-type.config.konnected.switch-pro.zone.option.9 = 9
channel-type.config.konnected.switch-pro.zone.option.10 = 10
channel-type.config.konnected.switch-pro.zone.option.11 = 11
channel-type.config.konnected.switch-pro.zone.option.12 = 12
channel-type.config.konnected.switch-wifi.onvalue.label = On Value
channel-type.config.konnected.switch-wifi.onvalue.description = The value that will be treated by the binding as the on value. For sensors that activate with a high value leave at the default of 1 and sensors that activate with a low value set to 0.
channel-type.config.konnected.switch-wifi.onvalue.option.0 = 0
channel-type.config.konnected.switch-wifi.onvalue.option.1 = 1
channel-type.config.konnected.switch-wifi.onValue.label = On Value
channel-type.config.konnected.switch-wifi.onValue.description = The value that will be treated by the binding as the on value. For sensors that activate with a high value leave at the default of 1 and sensors that activate with a low value set to 0.
channel-type.config.konnected.switch-wifi.onValue.option.0 = 0
channel-type.config.konnected.switch-wifi.onValue.option.1 = 1
channel-type.config.konnected.switch-wifi.zone.label = Zone Number
channel-type.config.konnected.switch-wifi.zone.description = The Zone Number of the channel.
channel-type.config.konnected.switch-wifi.zone.option.1 = 1
@ -145,12 +145,12 @@ channel-type.config.konnected.switch-wifi.zone.option.4 = 4
channel-type.config.konnected.switch-wifi.zone.option.5 = 5
channel-type.config.konnected.switch-wifi.zone.option.6 = 6
channel-type.config.konnected.switch-wifi.zone.option.alarm_out = Alarm/Out
channel-type.config.konnected.temperature-pro.ds18b20_address.label = DS18b20 Address
channel-type.config.konnected.temperature-pro.ds18b20_address.description = This is the unique address of the sensor on the one wire bus.
channel-type.config.konnected.temperature-pro.pollinterval.label = Poll Interval
channel-type.config.konnected.temperature-pro.pollinterval.description = The interval in minutes to poll the sensor.
channel-type.config.konnected.temperature-pro.tempsensorType.label = DHT22
channel-type.config.konnected.temperature-pro.tempsensorType.description = Is the sensor a dht22 or a ds18b20? Set to true for dht22 sensor
channel-type.config.konnected.temperature-pro.ds18b20Address.label = DS18b20 Address
channel-type.config.konnected.temperature-pro.ds18b20Address.description = This is the unique address of the sensor on the one wire bus.
channel-type.config.konnected.temperature-pro.pollInterval.label = Poll Interval
channel-type.config.konnected.temperature-pro.pollInterval.description = The interval in minutes to poll the sensor.
channel-type.config.konnected.temperature-pro.v.label = DHT22
channel-type.config.konnected.temperature-pro.dht22.description = Is the sensor a dht22 or a ds18b20? Set to true for dht22 sensor
channel-type.config.konnected.temperature-pro.zone.label = Zone Number
channel-type.config.konnected.temperature-pro.zone.description = The Zone Number of the channel.
channel-type.config.konnected.temperature-pro.zone.option.1 = 1
@ -161,12 +161,12 @@ channel-type.config.konnected.temperature-pro.zone.option.5 = 5
channel-type.config.konnected.temperature-pro.zone.option.6 = 6
channel-type.config.konnected.temperature-pro.zone.option.7 = 7
channel-type.config.konnected.temperature-pro.zone.option.8 = 8
channel-type.config.konnected.temperature-wifi.ds18b20_address.label = DS18b20 Address
channel-type.config.konnected.temperature-wifi.ds18b20_address.description = This is the unique address of the sensor on the one wire bus.
channel-type.config.konnected.temperature-wifi.pollinterval.label = Poll Interval
channel-type.config.konnected.temperature-wifi.pollinterval.description = The interval in minutes to poll the sensor.
channel-type.config.konnected.temperature-wifi.tempsensorType.label = DHT22
channel-type.config.konnected.temperature-wifi.tempsensorType.description = Is the sensor a dht22 or a ds18b20? Set to true for dht22 sensor
channel-type.config.konnected.temperature-wifi.ds18b20Address.label = DS18b20 Address
channel-type.config.konnected.temperature-wifi.ds18b20Address.description = This is the unique address of the sensor on the one wire bus.
channel-type.config.konnected.temperature-wifi.pollInterval.label = Poll Interval
channel-type.config.konnected.temperature-wifi.pollInterval.description = The interval in minutes to poll the sensor.
channel-type.config.konnected.temperature-wifi.dht22.label = DHT22
channel-type.config.konnected.temperature-wifi.dht22.description = Is the sensor a dht22 or a ds18b20? Set to true for dht22 sensor
channel-type.config.konnected.temperature-wifi.zone.label = Zone Number
channel-type.config.konnected.temperature-wifi.zone.description = The Zone Number of the channel.
channel-type.config.konnected.temperature-wifi.zone.option.1 = 1
@ -200,10 +200,10 @@ channel-type.konnected.temperature.description = This zone measures temperature
channel-type.config.konnected.actuator.momentary.label = Momentary
channel-type.config.konnected.actuator.momentary.description = The duration of the pulse in millisecods
channel-type.config.konnected.actuator.onvalue.label = On Value
channel-type.config.konnected.actuator.onvalue.description = The value that will be treated by the binding as an on command. For actuators that activate with a high command set to 1 and actuators that activate with a low value set to 0.
channel-type.config.konnected.actuator.onvalue.option.0 = 0
channel-type.config.konnected.actuator.onvalue.option.1 = 1
channel-type.config.konnected.actuator.onValue.label = On Value
channel-type.config.konnected.actuator.onValue.description = The value that will be treated by the binding as an on command. For actuators that activate with a high command set to 1 and actuators that activate with a low value set to 0.
channel-type.config.konnected.actuator.onValue.option.0 = 0
channel-type.config.konnected.actuator.onValue.option.1 = 1
channel-type.config.konnected.actuator.pause.label = Pause
channel-type.config.konnected.actuator.pause.description = The time between pulses in millisecods
channel-type.config.konnected.actuator.times.label = Times
@ -226,10 +226,10 @@ channel-type.config.konnected.humidity.zone.option.4 = 4
channel-type.config.konnected.humidity.zone.option.5 = 5
channel-type.config.konnected.humidity.zone.option.6 = 6
channel-type.config.konnected.humidity.zone.option.7 = Out
channel-type.config.konnected.switch.onvalue.label = On Value
channel-type.config.konnected.switch.onvalue.description = The value that will be treated by the binding as the on value. For sensors that activate with a high value leave at the default of 1 and sensors that activate with a low value set to 0.
channel-type.config.konnected.switch.onvalue.option.0 = 0
channel-type.config.konnected.switch.onvalue.option.1 = 1
channel-type.config.konnected.switch.onValue.label = On Value
channel-type.config.konnected.switch.onValue.description = The value that will be treated by the binding as the on value. For sensors that activate with a high value leave at the default of 1 and sensors that activate with a low value set to 0.
channel-type.config.konnected.switch.onValue.option.0 = 0
channel-type.config.konnected.switch.onValue.option.1 = 1
channel-type.config.konnected.switch.zone.label = Zone Number
channel-type.config.konnected.switch.zone.description = The Zone Number of the channel.
channel-type.config.konnected.switch.zone.option.1 = 1
@ -239,12 +239,12 @@ channel-type.config.konnected.switch.zone.option.4 = 4
channel-type.config.konnected.switch.zone.option.5 = 5
channel-type.config.konnected.switch.zone.option.6 = 6
channel-type.config.konnected.switch.zone.option.7 = Out
channel-type.config.konnected.temperature.ds18b20_address.label = DS18b20 Address
channel-type.config.konnected.temperature.ds18b20_address.description = This is the unique address of the sensor on the one wire bus.
channel-type.config.konnected.temperature.pollinterval.label = Poll Interval
channel-type.config.konnected.temperature.pollinterval.description = The interval in minutes to poll the sensor.
channel-type.config.konnected.temperature.tempsensorType.label = DHT22
channel-type.config.konnected.temperature.tempsensorType.description = Is the sensor a dht22 or a ds18b20? Set to true for dht22 sensor
channel-type.config.konnected.temperature.ds18b20Address.label = DS18b20 Address
channel-type.config.konnected.temperature.ds18b20Address.description = This is the unique address of the sensor on the one wire bus.
channel-type.config.konnected.temperature.pollInterval.label = Poll Interval
channel-type.config.konnected.temperature.pollInterval.description = The interval in minutes to poll the sensor.
channel-type.config.konnected.temperature.dht22.label = DHT22
channel-type.config.konnected.temperature.dht22.description = Is the sensor a dht22 or a ds18b20? Set to true for dht22 sensor
channel-type.config.konnected.temperature.zone.label = Zone Number
channel-type.config.konnected.temperature.zone.description = The Zone Number of the channel.
channel-type.config.konnected.temperature.zone.option.1 = 1

View File

@ -36,7 +36,7 @@
<option value="alarm_out">Alarm/Out</option>
</options>
</parameter>
<parameter name="onvalue" type="integer">
<parameter name="onValue" type="integer">
<label>On Value</label>
<description>The value that will be treated by the binding as the on value. For sensors that activate with a high
value leave at the default of 1 and sensors that activate with a low value set to 0.</description>
@ -67,15 +67,17 @@
<option value="alarm_out">Alarm/Out</option>
</options>
</parameter>
<parameter name="tempsensorType" type="boolean">
<parameter name="dht22" type="boolean">
<label>DHT22</label>
<description>Is the sensor a dht22 or a ds18b20? Set to true for dht22 sensor</description>
<default>true</default>
</parameter>
<parameter name="pollinterval" type="integer">
<parameter name="pollInterval" type="integer">
<label>Poll Interval</label>
<description>The interval in minutes to poll the sensor.</description>
<default>3</default>
</parameter>
<parameter name="ds18b20_address" type="text">
<parameter name="ds18b20Address" type="text">
<label>DS18b20 Address</label>
<description>This is the unique address of the sensor on the one wire bus.</description>
</parameter>
@ -120,7 +122,7 @@
<option value="alarm_out">Alarm/Out</option>
</options>
</parameter>
<parameter name="onvalue" type="integer">
<parameter name="onValue" type="integer">
<label>On Value</label>
<description>The value that will be treated by the binding as an on command. For actuators that activate with a high
command set to 1 and actuators that activate with a low value set to 0.</description>
@ -168,7 +170,7 @@
<option value="12">12</option>
</options>
</parameter>
<parameter name="onvalue" type="integer">
<parameter name="onValue" type="integer">
<label>On Value</label>
<description>The value that will be treated by the binding as the on value. For sensors that activate with a high
value, leave at the default of 1 and sensors that activate with a low value set to 0.</description>
@ -202,7 +204,7 @@
<option value="alarm2_out2">Alarm2/Out2</option>
</options>
</parameter>
<parameter name="onvalue" type="integer">
<parameter name="onValue" type="integer">
<label>On Value</label>
<description>The value that will be treated by the binding as an on command. For actuators that activate with a high
command set to 1 and actuators that activate with a low value set to 0.</description>
@ -246,15 +248,17 @@
<option value="8">8</option>
</options>
</parameter>
<parameter name="tempsensorType" type="boolean">
<parameter name="dht22" type="boolean">
<label>DHT22</label>
<description>Is the sensor a dht22 or a ds18b20? Set to true for dht22 sensor</description>
<default>true</default>
</parameter>
<parameter name="pollinterval" type="integer">
<parameter name="pollInterval" type="integer">
<label>Poll Interval</label>
<description>The interval in minutes to poll the sensor.</description>
<default>3</default>
</parameter>
<parameter name="ds18b20_address" type="text">
<parameter name="ds18b20Address" type="text">
<label>DS18b20 Address</label>
<description>This is the unique address of the sensor on the one wire bus.</description>
</parameter>