Password reset functionality, ZWave switch schedule improvement, support zwave controller on pi, support relay switches and security sensors.

This commit is contained in:
MarkBryanMilligan
2021-07-02 12:06:37 -05:00
parent 6c2b567536
commit de50645a2c
65 changed files with 27104 additions and 438 deletions

View File

@@ -0,0 +1,17 @@
package com.lanternsoftware.zwave;
import gnu.io.CommPortIdentifier;
import java.util.Enumeration;
public class PortEnum {
public static void main(String[] args) {
Enumeration<CommPortIdentifier> e = CommPortIdentifier.getPortIdentifiers();
while (e.hasMoreElements()) {
CommPortIdentifier id = e.nextElement();
if (id != null) {
System.out.println(id.getName());
}
}
}
}

View File

@@ -70,7 +70,7 @@ public enum CommandClass {
TIME_PARAMETERS((byte)0x8B, "TIME_PARAMETERS"),
GEOGRAPHIC_LOCATION((byte)0x8C, "GEOGRAPHIC_LOCATION"),
COMPOSITE((byte)0x8D, "COMPOSITE"),
MULTI_INSTANCE_ASSOCIATION((byte)0x8E, "MULTI_INSTANCE_ASSOCIATION"),
MULTI_CHANNEL_ASSOCIATION((byte)0x8E, "MULTI_CHANNEL_ASSOCIATION"),
MULTI_CMD((byte)0x8F, "MULTI_CMD"),
ENERGY_PRODUCTION((byte)0x90, "ENERGY_PRODUCTION"),
MANUFACTURER_PROPRIETARY((byte)0x91, "MANUFACTURER_PROPRIETARY"),

View File

@@ -0,0 +1,20 @@
package com.lanternsoftware.zwave.message.impl;
import com.lanternsoftware.zwave.message.CommandClass;
import com.lanternsoftware.zwave.message.ControllerMessageType;
import com.lanternsoftware.zwave.message.RequestMessage;
public class AssociationGetRequest extends RequestMessage {
public AssociationGetRequest() {
this((byte)0);
}
public AssociationGetRequest(byte _nodeId) {
super(_nodeId, ControllerMessageType.SendData, CommandClass.ASSOCIATION, (byte)0x02);
}
@Override
public String describe() {
return name() + " node: " + nodeId;
}
}

View File

@@ -0,0 +1,56 @@
package com.lanternsoftware.zwave.message.impl;
import com.lanternsoftware.zwave.message.CommandClass;
import com.lanternsoftware.zwave.message.ControllerMessageType;
import com.lanternsoftware.zwave.message.RequestMessage;
public class AssociationReportRequest extends RequestMessage {
private byte groupIdx;
private byte maxAssociations;
private byte numReportsToFollow;
public AssociationReportRequest() {
this((byte) 0);
}
public AssociationReportRequest(byte _nodeId) {
super(_nodeId, ControllerMessageType.ApplicationCommandHandler, CommandClass.ASSOCIATION, (byte) 0x03);
}
@Override
public void fromPayload(byte[] _payload) {
nodeId = _payload[5];
groupIdx = _payload[8];
maxAssociations = _payload[9];
numReportsToFollow = _payload[10];
}
public byte getGroupIdx() {
return groupIdx;
}
public void setGroupIdx(byte _groupIdx) {
groupIdx = _groupIdx;
}
public byte getMaxAssociations() {
return maxAssociations;
}
public void setMaxAssociations(byte _maxAssociations) {
maxAssociations = _maxAssociations;
}
public byte getNumReportsToFollow() {
return numReportsToFollow;
}
public void setNumReportsToFollow(byte _numReportsToFollow) {
numReportsToFollow = _numReportsToFollow;
}
@Override
public String describe() {
return name() + " node: " + nodeId;
}
}

View File

@@ -0,0 +1,45 @@
package com.lanternsoftware.zwave.message.impl;
import com.lanternsoftware.zwave.message.CommandClass;
import com.lanternsoftware.zwave.message.SendDataRequestMessage;
public class AssociationSetRequest extends SendDataRequestMessage {
private byte groupIdx;
private byte targetNodeId;
public AssociationSetRequest() {
this((byte)0, (byte)0, (byte)0);
}
public AssociationSetRequest(byte _nodeId, byte _groupIdx, byte _targetNodeId) {
super(_nodeId, CommandClass.ASSOCIATION, (byte) 0x01);
groupIdx = _groupIdx;
targetNodeId = _targetNodeId;
}
public byte getGroupIdx() {
return groupIdx;
}
public void setGroupIdx(byte _groupIdx) {
groupIdx = _groupIdx;
}
public byte getTargetNodeId() {
return targetNodeId;
}
public void setTargetNodeId(byte _targetNodeId) {
targetNodeId = _targetNodeId;
}
@Override
public byte[] getPayload() {
return asByteArray(groupIdx, targetNodeId);
}
@Override
public String describe() {
return name() + " node: " + nodeId + " groupIdx: " + groupIdx + " targetNodeIdx: " + targetNodeId;
}
}

View File

@@ -1,4 +1,6 @@
com.lanternsoftware.zwave.message.impl.ApplicationUpdateRequest
com.lanternsoftware.zwave.message.impl.AssociationGetRequest
com.lanternsoftware.zwave.message.impl.AssociationReportRequest
com.lanternsoftware.zwave.message.impl.BinarySwitchSetRequest
com.lanternsoftware.zwave.message.impl.BinarySwitchReportRequest
com.lanternsoftware.zwave.message.impl.ByteMessage