Fixed not moved ZWave classes

This commit is contained in:
Ziver Koc 2017-05-16 17:54:13 +02:00
parent fa3b6f35f5
commit c897c5ba60
2 changed files with 0 additions and 322 deletions

View file

@ -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);
}
}

View file

@ -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) {
}
}