Fixed not moved ZWave classes
This commit is contained in:
parent
fa3b6f35f5
commit
c897c5ba60
2 changed files with 0 additions and 322 deletions
|
|
@ -1,230 +0,0 @@
|
||||||
/*******************************************************************************
|
|
||||||
* Copyright (c) 2013 Whizzo Software, LLC.
|
|
||||||
* All rights reserved. This program and the accompanying materials
|
|
||||||
* are made available under the terms of the Eclipse Public License v1.0
|
|
||||||
* which accompanies this distribution, and is available at
|
|
||||||
* http://www.eclipse.org/legal/epl-v10.html
|
|
||||||
*******************************************************************************/
|
|
||||||
package se.hal.plugin.zwave;
|
|
||||||
|
|
||||||
import com.whizzosoftware.wzwave.channel.*;
|
|
||||||
import com.whizzosoftware.wzwave.codec.ZWaveFrameDecoder;
|
|
||||||
import com.whizzosoftware.wzwave.codec.ZWaveFrameEncoder;
|
|
||||||
import com.whizzosoftware.wzwave.controller.ZWaveController;
|
|
||||||
import com.whizzosoftware.wzwave.controller.ZWaveControllerContext;
|
|
||||||
import com.whizzosoftware.wzwave.controller.ZWaveControllerListener;
|
|
||||||
import com.whizzosoftware.wzwave.controller.netty.NettyZWaveController;
|
|
||||||
import com.whizzosoftware.wzwave.frame.*;
|
|
||||||
import com.whizzosoftware.wzwave.node.*;
|
|
||||||
import org.slf4j.Logger;
|
|
||||||
import org.slf4j.LoggerFactory;
|
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A jSerialComm implementation of a ZWaveController.
|
|
||||||
*
|
|
||||||
* @author Ziver Koc
|
|
||||||
*/
|
|
||||||
public class JSCZWaveController implements ZWaveController, ZWaveControllerContext, ZWaveControllerListener, ZWaveChannelListener, NodeListener {
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(JSCZWaveController.class);
|
|
||||||
|
|
||||||
private String serialPort;
|
|
||||||
private String libraryVersion;
|
|
||||||
private int homeId;
|
|
||||||
private byte nodeId;
|
|
||||||
private ZWaveChannelInboundHandler inboundHandler;
|
|
||||||
private ZWaveControllerListener listener;
|
|
||||||
private final List<ZWaveNode> nodes = new ArrayList<ZWaveNode>();
|
|
||||||
private final Map<Byte,ZWaveNode> nodeMap = new HashMap<Byte,ZWaveNode>();
|
|
||||||
|
|
||||||
public JSCZWaveController(String serialPort) {
|
|
||||||
this.serialPort = serialPort;
|
|
||||||
this.inboundHandler = new ZWaveChannelInboundHandler(this);
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ZWaveController methods
|
|
||||||
*/
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setListener(ZWaveControllerListener listener) {
|
|
||||||
this.listener = listener;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void start() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void stop() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getHomeId() {
|
|
||||||
return homeId;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public byte getNodeId() {
|
|
||||||
return nodeId;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getLibraryVersion() {
|
|
||||||
return libraryVersion;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Collection<ZWaveNode> getNodes() {
|
|
||||||
return nodes;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void sendDataFrame(DataFrame dataFrame) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ZWaveControllerListener methods
|
|
||||||
*/
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onZWaveNodeAdded(ZWaveEndpoint node) {
|
|
||||||
if (listener != null) {
|
|
||||||
listener.onZWaveNodeAdded(node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onZWaveNodeUpdated(ZWaveEndpoint node) {
|
|
||||||
if (listener != null) {
|
|
||||||
listener.onZWaveNodeUpdated(node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onZWaveConnectionFailure(Throwable t) {
|
|
||||||
if (listener != null) {
|
|
||||||
listener.onZWaveConnectionFailure(t);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* ZWaveChannelListener methods
|
|
||||||
*/
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLibraryInfo(String libraryVersion) {
|
|
||||||
this.libraryVersion = libraryVersion;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onControllerInfo(int homeId, byte nodeId) {
|
|
||||||
this.homeId = homeId;
|
|
||||||
this.nodeId = nodeId;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onNodeProtocolInfo(byte nodeId, NodeProtocolInfo nodeProtocolInfo) {
|
|
||||||
try {
|
|
||||||
logger.trace("Received protocol info for node " + nodeId);
|
|
||||||
ZWaveNode node = ZWaveNodeFactory.createNode(this, nodeId, nodeProtocolInfo, this);
|
|
||||||
logger.trace("Created node [" + node.getNodeId() + "]: " + node);
|
|
||||||
nodes.add(node);
|
|
||||||
nodeMap.put(node.getNodeId(), node);
|
|
||||||
} catch (NodeCreationException e) {
|
|
||||||
logger.error("Unable to create node", e);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onSendData(SendData sendData) {
|
|
||||||
byte nodeId = sendData.getNodeId();
|
|
||||||
ZWaveNode node = nodeMap.get(nodeId);
|
|
||||||
if (node != null) {
|
|
||||||
node.onDataFrameReceived(this, sendData);
|
|
||||||
} else {
|
|
||||||
logger.error("Unable to find node " + nodeId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onApplicationCommand(ApplicationCommand applicationCommand) {
|
|
||||||
ZWaveNode node = nodeMap.get(applicationCommand.getNodeId());
|
|
||||||
if (node != null) {
|
|
||||||
node.onDataFrameReceived(this, applicationCommand);
|
|
||||||
if (listener != null && node.isStarted()) {
|
|
||||||
listener.onZWaveNodeUpdated(node);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
logger.error("Unable to find node " + applicationCommand.getNodeId());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onApplicationUpdate(ApplicationUpdate applicationUpdate) {
|
|
||||||
Byte nodeId = applicationUpdate.getNodeId();
|
|
||||||
|
|
||||||
if (applicationUpdate.didInfoRequestFail()) {
|
|
||||||
logger.trace("UPDATE_STATE_NODE_INFO_REQ_FAILED received");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (nodeId != null) {
|
|
||||||
ZWaveNode node = nodeMap.get(nodeId);
|
|
||||||
if (node != null) {
|
|
||||||
node.onDataFrameReceived(this, applicationUpdate);
|
|
||||||
if (listener != null && node.isStarted()) {
|
|
||||||
listener.onZWaveNodeUpdated(node);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
logger.error("Unable to find node " + applicationUpdate.getNodeId());
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
logger.error("Unable to determine node to route ApplicationUpdate to");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* NodeListener methods
|
|
||||||
*/
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onNodeStarted(ZWaveNode node) {
|
|
||||||
// when a node moves to the "started" state, alert listeners that it's ready to be added
|
|
||||||
if (listener != null) {
|
|
||||||
listener.onZWaveNodeAdded(node);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Test main
|
|
||||||
*/
|
|
||||||
|
|
||||||
public static void main(String[] args) throws Exception {
|
|
||||||
NettyZWaveController c = new NettyZWaveController("/dev/cu.SLAB_USBtoUART");
|
|
||||||
ZWaveControllerListener listener = new ZWaveControllerListener() {
|
|
||||||
@Override
|
|
||||||
public void onZWaveNodeAdded(ZWaveEndpoint node) {
|
|
||||||
System.out.println("onZWaveNodeAdded: " + node);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onZWaveNodeUpdated(ZWaveEndpoint node) {
|
|
||||||
System.out.println("onZWaveNodeUpdated: " + node);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onZWaveConnectionFailure(Throwable t) {
|
|
||||||
System.out.println("A connection error occurred: " + t.getLocalizedMessage());
|
|
||||||
}
|
|
||||||
};
|
|
||||||
c.setListener(listener);
|
|
||||||
c.start();
|
|
||||||
|
|
||||||
Thread.sleep(10000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -1,92 +0,0 @@
|
||||||
package se.hal.plugin.zwave;
|
|
||||||
|
|
||||||
import com.whizzosoftware.wzwave.controller.ZWaveController;
|
|
||||||
import com.whizzosoftware.wzwave.controller.ZWaveControllerListener;
|
|
||||||
import com.whizzosoftware.wzwave.controller.netty.NettyZWaveController;
|
|
||||||
import com.whizzosoftware.wzwave.node.ZWaveEndpoint;
|
|
||||||
import se.hal.HalContext;
|
|
||||||
import se.hal.intf.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
public class ZWaveSerialComm implements HalSensorController, HalEventController, HalAutoScannableController, ZWaveControllerListener {
|
|
||||||
|
|
||||||
private ZWaveController controller;
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isAvailable() {
|
|
||||||
return HalContext.getStringProperty("zwave.com_port") != null;
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public void initialize() throws Exception {
|
|
||||||
controller = new NettyZWaveController(HalContext.getStringProperty("zwave.com_port"));
|
|
||||||
controller.setListener(this);
|
|
||||||
controller.start();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void close() {
|
|
||||||
controller.stop();
|
|
||||||
controller = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
////////////// Z-WAVE CODE ////////////////////////
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onZWaveNodeAdded(ZWaveEndpoint zWaveEndpoint) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onZWaveNodeUpdated(ZWaveEndpoint zWaveEndpoint) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onZWaveConnectionFailure(Throwable throwable) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
////////////// HAL CODE ////////////////////////
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void register(HalSensorConfig sensor) {
|
|
||||||
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public void register(HalEventConfig event) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void deregister(HalSensorConfig sensor) {
|
|
||||||
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public void deregister(HalEventConfig event) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public int size() {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setListener(HalEventReportListener listener) {
|
|
||||||
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public void setListener(HalSensorReportListener listener) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void send(HalEventConfig eventConfig, HalEventData eventData) {
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue