[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.lip.LutronCommandType;
|
||||
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.core.thing.Bridge;
|
||||
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 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 int MAX_LOGIN_ATTEMPTS = 2;
|
||||
@ -208,8 +204,9 @@ public class IPBridgeHandler extends LutronBridgeHandler {
|
||||
|
||||
// Disable prompts
|
||||
sendCommand(new LIPCommand(TargetType.BRIDGE, LutronOperation.EXECUTE, LutronCommandType.MONITORING, null,
|
||||
MONITOR_PROMPT, MONITOR_DISABLE));
|
||||
Monitoring.PROMPT, Monitoring.ACTION_DISABLE));
|
||||
|
||||
initMonitoring();
|
||||
if (requireSysvarMonitoring.get()) {
|
||||
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) {
|
||||
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,
|
||||
MONITOR_SYSVAR, setting));
|
||||
Monitoring.SYSVAR, setting));
|
||||
}
|
||||
|
||||
@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