[lutron] Explicitly enable proper monitoring types for HomeWorks connections (#11726)
* [lutron] Set default monitoring types for HomeWorks Signed-off-by: Bob Adair <bob.github@att.net>
This commit is contained in:
parent
fccfae81ee
commit
25bfaa2372
@ -33,6 +33,7 @@ import org.openhab.binding.lutron.internal.protocol.LIPCommand;
|
|||||||
import org.openhab.binding.lutron.internal.protocol.LutronCommandNew;
|
import org.openhab.binding.lutron.internal.protocol.LutronCommandNew;
|
||||||
import org.openhab.binding.lutron.internal.protocol.lip.LutronCommandType;
|
import org.openhab.binding.lutron.internal.protocol.lip.LutronCommandType;
|
||||||
import org.openhab.binding.lutron.internal.protocol.lip.LutronOperation;
|
import org.openhab.binding.lutron.internal.protocol.lip.LutronOperation;
|
||||||
|
import org.openhab.binding.lutron.internal.protocol.lip.Monitoring;
|
||||||
import org.openhab.binding.lutron.internal.protocol.lip.TargetType;
|
import org.openhab.binding.lutron.internal.protocol.lip.TargetType;
|
||||||
import org.openhab.core.thing.Bridge;
|
import org.openhab.core.thing.Bridge;
|
||||||
import org.openhab.core.thing.ChannelUID;
|
import org.openhab.core.thing.ChannelUID;
|
||||||
@ -57,11 +58,6 @@ public class IPBridgeHandler extends LutronBridgeHandler {
|
|||||||
|
|
||||||
private static final String DB_UPDATE_DATE_FORMAT = "MM/dd/yyyy HH:mm:ss";
|
private static final String DB_UPDATE_DATE_FORMAT = "MM/dd/yyyy HH:mm:ss";
|
||||||
|
|
||||||
private static final Integer MONITOR_PROMPT = 12;
|
|
||||||
private static final Integer MONITOR_SYSVAR = 10;
|
|
||||||
private static final Integer MONITOR_ENABLE = 1;
|
|
||||||
private static final Integer MONITOR_DISABLE = 2;
|
|
||||||
|
|
||||||
private static final Integer SYSTEM_DBEXPORTDATETIME = 10;
|
private static final Integer SYSTEM_DBEXPORTDATETIME = 10;
|
||||||
|
|
||||||
private static final int MAX_LOGIN_ATTEMPTS = 2;
|
private static final int MAX_LOGIN_ATTEMPTS = 2;
|
||||||
@ -208,8 +204,9 @@ public class IPBridgeHandler extends LutronBridgeHandler {
|
|||||||
|
|
||||||
// Disable prompts
|
// Disable prompts
|
||||||
sendCommand(new LIPCommand(TargetType.BRIDGE, LutronOperation.EXECUTE, LutronCommandType.MONITORING, null,
|
sendCommand(new LIPCommand(TargetType.BRIDGE, LutronOperation.EXECUTE, LutronCommandType.MONITORING, null,
|
||||||
MONITOR_PROMPT, MONITOR_DISABLE));
|
Monitoring.PROMPT, Monitoring.ACTION_DISABLE));
|
||||||
|
|
||||||
|
initMonitoring();
|
||||||
if (requireSysvarMonitoring.get()) {
|
if (requireSysvarMonitoring.get()) {
|
||||||
setSysvarMonitoring(true);
|
setSysvarMonitoring(true);
|
||||||
}
|
}
|
||||||
@ -457,10 +454,17 @@ public class IPBridgeHandler extends LutronBridgeHandler {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void initMonitoring() {
|
||||||
|
for (Integer monitorType : Monitoring.REQUIRED_SET) {
|
||||||
|
sendCommand(new LIPCommand(TargetType.BRIDGE, LutronOperation.EXECUTE, LutronCommandType.MONITORING, null,
|
||||||
|
monitorType, Monitoring.ACTION_ENABLE));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void setSysvarMonitoring(boolean enable) {
|
private void setSysvarMonitoring(boolean enable) {
|
||||||
Integer setting = (enable) ? MONITOR_ENABLE : MONITOR_DISABLE;
|
Integer setting = (enable) ? Monitoring.ACTION_ENABLE : Monitoring.ACTION_DISABLE;
|
||||||
sendCommand(new LIPCommand(TargetType.BRIDGE, LutronOperation.EXECUTE, LutronCommandType.MONITORING, null,
|
sendCommand(new LIPCommand(TargetType.BRIDGE, LutronOperation.EXECUTE, LutronCommandType.MONITORING, null,
|
||||||
MONITOR_SYSVAR, setting));
|
Monitoring.SYSVAR, setting));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -0,0 +1,62 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) 2010-2021 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.lutron.internal.protocol.lip;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.eclipse.jdt.annotation.NonNullByDefault;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The {@link Monitoring} class defines constants for LIP Monitoring types
|
||||||
|
*
|
||||||
|
* @author Bob Adair - Initial contribution
|
||||||
|
*/
|
||||||
|
@NonNullByDefault
|
||||||
|
public class Monitoring {
|
||||||
|
// Monitoring Actions
|
||||||
|
public static final Integer ACTION_ENABLE = 1;
|
||||||
|
public static final Integer ACTION_DISABLE = 2;
|
||||||
|
|
||||||
|
// Monitoring Types
|
||||||
|
public static final Integer DIAG = 1;
|
||||||
|
public static final Integer EVENT = 2;
|
||||||
|
public static final Integer BUTTON = 3;
|
||||||
|
public static final Integer LED = 4;
|
||||||
|
public static final Integer ZONE = 5;
|
||||||
|
public static final Integer OCCUPANCY = 6;
|
||||||
|
public static final Integer PHOTOSENSOR = 7;
|
||||||
|
public static final Integer SCENE = 8;
|
||||||
|
public static final Integer TIMECLOCK = 9;
|
||||||
|
public static final Integer SYSVAR = 10;
|
||||||
|
public static final Integer REPLY = 11;
|
||||||
|
public static final Integer PROMPT = 12;
|
||||||
|
public static final Integer DEVICE = 14;
|
||||||
|
public static final Integer ADDRESS = 15;
|
||||||
|
public static final Integer SEQUENCE = 16;
|
||||||
|
public static final Integer HVAC = 17;
|
||||||
|
public static final Integer MODE = 18;
|
||||||
|
public static final Integer PRESET = 19;
|
||||||
|
public static final Integer L1RUNTIME = 20;
|
||||||
|
public static final Integer L2RUNTIME = 21;
|
||||||
|
public static final Integer DIAGERROR = 22;
|
||||||
|
public static final Integer SHADEGRP = 23;
|
||||||
|
public static final Integer PARTITION = 24;
|
||||||
|
public static final Integer SYSTEM = 25;
|
||||||
|
public static final Integer SENSORGROUP = 26;
|
||||||
|
public static final Integer TEMPSENSOR = 27;
|
||||||
|
public static final Integer ALL = 255;
|
||||||
|
|
||||||
|
/** Set of monitoring types which must be enabled */
|
||||||
|
public static final Set<Integer> REQUIRED_SET = Set.of(BUTTON, LED, ZONE, OCCUPANCY, SCENE, TIMECLOCK, REPLY, HVAC,
|
||||||
|
MODE);
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user