mirror of
https://github.com/openhab/openhab-addons.git
synced 2025-01-10 15:11:59 +01:00
[Konnected] Taking configured onValue into account when sending status to actuator (#13360)
* Taking configured onvalue into account when sending status to actuator * Added documentation for onValue configuration Signed-off-by: Haavar Valeur <haavar@haavar.com>
This commit is contained in:
parent
ce6b0a876d
commit
9c534e37a8
@ -48,6 +48,11 @@ You will need to add channels for the zones that you have connected and configur
|
||||
You will need to configure each channel with the appropriate zone number corresponding to the zone on The Konnected Alarm Panel.
|
||||
Then you need to link the corresponding item to the channel.
|
||||
|
||||
Switches and actuators can be configured as high or low level triggered.
|
||||
This is done though setting the parameter onValue to 1 for high level trigger or 0 for low level trigger.
|
||||
The default setting is high level triggered (1).
|
||||
It may for example be useful to set channel to low level trigger when using a low level trigger relay board, to avoid inverting the switch logic.
|
||||
|
||||
For the actuator type channels you can also add configuration parameters times, pause and momentary which will be added to the payload that is sent to the Konnected Alarm Panel.
|
||||
These parameters will tell the module to pulse the actuator for certain time period.
|
||||
A momentary switch actuates a switch for a specified time (in milliseconds) and then reverts it back to the off state.
|
||||
|
@ -92,10 +92,7 @@ public class KonnectedHandler extends BaseThingHandler {
|
||||
if (channelType.contains(CHANNEL_SWITCH)) {
|
||||
logger.debug("A command was sent to a sensor type so we are ignoring the command");
|
||||
} else {
|
||||
int sendCommand = (OnOffType.OFF.compareTo((OnOffType) command));
|
||||
logger.debug("The command being sent to zone {} for channel:{} is {}", zone, channelUID.getAsString(),
|
||||
sendCommand);
|
||||
sendActuatorCommand(sendCommand, zone, channelUID);
|
||||
sendActuatorCommand((OnOffType) command, zone, channelUID);
|
||||
}
|
||||
} else if (command instanceof RefreshType) {
|
||||
// check to see if handler has been initialized before attempting to get state of pin, else wait one minute
|
||||
@ -404,10 +401,10 @@ public class KonnectedHandler extends BaseThingHandler {
|
||||
/**
|
||||
* Sends a command to the module via {@link KonnectedHTTPUtils}
|
||||
*
|
||||
* @param scommand the string command, either 0 or 1 to send to the actutor pin on the Konnected module
|
||||
* @param command the state to send to the actuator
|
||||
* @param zone the zone to send the command to on the Konnected Module
|
||||
*/
|
||||
private void sendActuatorCommand(Integer scommand, String zone, ChannelUID channelId) {
|
||||
private void sendActuatorCommand(OnOffType command, String zone, ChannelUID channelId) {
|
||||
try {
|
||||
Channel channel = getThing().getChannel(channelId.getId());
|
||||
if (channel != null) {
|
||||
@ -415,23 +412,17 @@ public class KonnectedHandler extends BaseThingHandler {
|
||||
channelId.getId(), channelId.getGroupId(), channelId);
|
||||
ZoneConfiguration zoneConfig = channel.getConfiguration().as(ZoneConfiguration.class);
|
||||
KonnectedModuleGson payload = new KonnectedModuleGson();
|
||||
payload.setState(scommand);
|
||||
|
||||
payload.setZone(thingID, zone);
|
||||
|
||||
// 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 == zoneConfig.onValue) {
|
||||
if (command == OnOffType.ON) {
|
||||
payload.setState(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);
|
||||
} else {
|
||||
payload.setState(zoneConfig.onValue == 1 ? 0 : 1);
|
||||
}
|
||||
|
||||
String payloadString = gson.toJson(payload);
|
||||
logger.debug("The command payload is: {}", payloadString);
|
||||
String path = "";
|
||||
|
Loading…
Reference in New Issue
Block a user