本文整理了Java中com.zsmartsystems.zigbee.ZigBeeApsFrame.getCluster()
方法的一些代码示例,展示了ZigBeeApsFrame.getCluster()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZigBeeApsFrame.getCluster()
方法的具体详情如下:
包路径:com.zsmartsystems.zigbee.ZigBeeApsFrame
类名称:ZigBeeApsFrame
方法名:getCluster
暂无
代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee
private ZigBeeCommand receiveZdoCommand(final ZclFieldDeserializer fieldDeserializer,
final ZigBeeApsFrame apsFrame) {
ZdoCommandType commandType = ZdoCommandType.getValueById(apsFrame.getCluster());
if (commandType == null) {
return null;
}
ZigBeeCommand command;
try {
Class<? extends ZdoCommand> commandClass = commandType.getCommandClass();
Constructor<? extends ZdoCommand> constructor;
constructor = commandClass.getConstructor();
command = constructor.newInstance();
} catch (NoSuchMethodException | SecurityException | InstantiationException | IllegalAccessException
| IllegalArgumentException | InvocationTargetException e) {
logger.debug("Error instantiating ZDO command", e);
return null;
}
command.deserialize(fieldDeserializer);
return command;
}
代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee
private ZigBeeCommand receiveZclCommand(final ZclFieldDeserializer fieldDeserializer,
final ZigBeeApsFrame apsFrame) {
// Process the ZCL header
ZclHeader zclHeader = new ZclHeader(fieldDeserializer);
logger.debug("RX ZCL: {}", zclHeader);
// Get the command type
ZclCommandType commandType = null;
if (zclHeader.getFrameType() == ZclFrameType.ENTIRE_PROFILE_COMMAND) {
commandType = ZclCommandType.getGeneric(zclHeader.getCommandId());
} else {
commandType = ZclCommandType.getCommandType(apsFrame.getCluster(), zclHeader.getCommandId(),
zclHeader.getDirection());
}
if (commandType == null) {
logger.debug("No command type found for {}, cluster={}, command={}, direction={}", zclHeader.getFrameType(),
apsFrame.getCluster(), zclHeader.getCommandId(), zclHeader.getDirection());
return null;
}
ZclCommand command = commandType.instantiateCommand();
if (command == null) {
logger.debug("No command found for {}, cluster={}, command={}", zclHeader.getFrameType(),
apsFrame.getCluster(), zclHeader.getCommandId());
return null;
}
command.setCommandDirection(zclHeader.getDirection());
command.deserialize(fieldDeserializer);
command.setClusterId(apsFrame.getCluster());
command.setTransactionId(zclHeader.getSequenceNumber());
return command;
}
代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee
@Override
public void sendCommand(final ZigBeeApsFrame apsFrame) {
synchronized (networkManager) {
final short sender;
if (apsFrame.getProfile() == 0) {
sender = 0;
} else {
sender = (short) getSendingEndpoint(apsFrame.getProfile());
}
// TODO: How to differentiate group and device addressing?????
boolean groupCommand = false;
if (!groupCommand) {
networkManager.sendCommand(new AF_DATA_REQUEST(apsFrame.getDestinationAddress(),
(short) apsFrame.getDestinationEndpoint(), sender, apsFrame.getCluster(),
apsFrame.getApsCounter(), (byte) 0x30, (byte) apsFrame.getRadius(), apsFrame.getPayload()));
} else {
networkManager.sendCommand(new AF_DATA_REQUEST_EXT(apsFrame.getDestinationAddress(), sender,
apsFrame.getCluster(), apsFrame.getApsCounter(), (byte) (0), (byte) 0, apsFrame.getPayload()));
}
}
}
代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee
@Test
public void testReceive() {
ZToolPacket data = getPacket("FE 15 45 FF 00 00 00 01 80 00 00 00 1B 00 5B 23 EB 09 00 4B 12 00 00 00 00 F6");
ZigBeeApsFrame apsFrame = ZdoCallbackIncoming.create(data);
assertEquals(0x8001, apsFrame.getCluster());
assertEquals(0x0000, apsFrame.getSourceAddress());
assertEquals(0, apsFrame.getProfile());
assertEquals(0, apsFrame.getDestinationEndpoint());
assertTrue(Arrays.equals(getPacketData("1B 00 5B 23 EB 09 00 4B 12 00 00 00 00"), apsFrame.getPayload()));
}
代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee
@Test
public void testSendCommandZCL() {
ZigBeeNetworkManager networkManager = mockZigBeeNetworkManager();
networkManager.setSerializer(DefaultSerializer.class, DefaultDeserializer.class);
ZigBeeEndpointAddress deviceAddress = new ZigBeeEndpointAddress(1234, 56);
OnCommand cmd = new OnCommand();
cmd.setClusterId(6);
cmd.setDestinationAddress(deviceAddress);
boolean error = false;
networkManager.sendCommand(cmd);
assertFalse(error);
assertEquals(1, mockedApsFrameListener.getAllValues().size());
ZigBeeApsFrame apsFrame = mockedApsFrameListener.getValue();
assertEquals(ZigBeeNwkAddressMode.DEVICE, apsFrame.getAddressMode());
assertEquals(1234, apsFrame.getDestinationAddress());
assertEquals(0, apsFrame.getSourceAddress());
assertEquals(0x104, apsFrame.getProfile());
assertEquals(6, apsFrame.getCluster());
assertEquals(56, apsFrame.getDestinationEndpoint());
}
代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee
@Override
public void sendCommand(final ZigBeeApsFrame apsFrame) {
ConBeeEnqueueSendDataRequest request = new ConBeeEnqueueSendDataRequest();
request.setRequestId(apsFrame.getApsCounter());
request.setClusterId(apsFrame.getCluster());
switch (apsFrame.getAddressMode()) {
case DEVICE:
request.setDestinationAddress(
new ZigBeeEndpointAddress(apsFrame.getDestinationAddress(), apsFrame.getDestinationEndpoint()));
request.setDestinationAddressMode(ConBeeAddressMode.NWK);
if (apsFrame.getDestinationAddress() > 0xfff8) {
//
request.setTxOptions(0);
}
break;
case GROUP:
request.setDestinationAddress(new ZigBeeGroupAddress(apsFrame.getDestinationAddress()));
request.setDestinationAddressMode(ConBeeAddressMode.GROUP);
break;
default:
break;
}
request.setProfileId(apsFrame.getProfile());
request.setRadius(apsFrame.getRadius());
request.setSourceEndpoint(apsFrame.getSourceEndpoint());
// request.setTxOptions(txOptions);
request.setAdsuData(apsFrame.getPayload());
conbeeHandler.queueFrame(request);
}
内容来源于网络,如有侵权,请联系作者删除!