gpt4 book ai didi

com.zsmartsystems.zigbee.zcl.ZclTransactionMatcher类的使用及代码示例

转载 作者:知者 更新时间:2024-03-20 16:08:31 27 4
gpt4 key购买 nike

本文整理了Java中com.zsmartsystems.zigbee.zcl.ZclTransactionMatcher类的一些代码示例,展示了ZclTransactionMatcher类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZclTransactionMatcher类的具体详情如下:
包路径:com.zsmartsystems.zigbee.zcl.ZclTransactionMatcher
类名称:ZclTransactionMatcher

ZclTransactionMatcher介绍

[英]The ZCL transaction response matcher.

Implements ZigBeeTransactionMatcher to check if a ZCL transaction matches a request. The matcher will return true if the request and response transaction IDs match and the request destination address, and response source address match.
[中]ZCL事务响应匹配器。
实现ZigBeetTransactionMatcher以检查ZCL事务是否与请求匹配。如果请求和响应事务ID匹配,并且请求目标地址和响应源地址匹配,那么匹配器将返回true。

代码示例

代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee

protected Future<CommandResult> send(ZclCommand command) {
  if (isClient()) {
    command.setCommandDirection(ZclCommandDirection.SERVER_TO_CLIENT);
  }
  command.setApsSecurity(apsSecurityRequired);
  return zigbeeEndpoint.sendTransaction(command, new ZclTransactionMatcher());
}

代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee

@Test
  public void testMatch() {
    ZclTransactionMatcher matcher = new ZclTransactionMatcher();

    ZclCommand zclCommand = new OnCommand();
    zclCommand.setDestinationAddress(new ZigBeeEndpointAddress(1234, 5));
    ZclCommand zclResponse = new DefaultResponse();
    zclResponse.setSourceAddress(new ZigBeeEndpointAddress(1234, 5));

    assertFalse(matcher.isTransactionMatch(zclCommand, zclResponse));

    zclCommand.setTransactionId(22);
    zclResponse.setTransactionId(22);
    assertTrue(matcher.isTransactionMatch(zclCommand, zclResponse));

    zclResponse.setTransactionId(222);
    assertFalse(matcher.isTransactionMatch(zclCommand, zclResponse));

    ZdoCommand zdoResponse = new DeviceAnnounce();
    assertFalse(matcher.isTransactionMatch(zclCommand, zdoResponse));

    zclResponse.setTransactionId(22);
    assertTrue(matcher.isTransactionMatch(zclCommand, zclResponse));

    zclResponse.setSourceAddress(new ZigBeeEndpointAddress(1234, 6));
    assertFalse(matcher.isTransactionMatch(zclCommand, zclResponse));
  }
}

代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee

/**
 * Gets group memberships from device.
 *
 * @param device the device
 * @return the command result future
 */
public Future<CommandResult> getGroupMemberships(final ZigBeeEndpoint device) {
  final GetGroupMembershipCommand command = new GetGroupMembershipCommand();
  command.setGroupCount(0);
  command.setGroupList(Collections.<Integer> emptyList());
  command.setDestinationAddress(device.getEndpointAddress());
  return networkManager.sendTransaction(command, new ZclTransactionMatcher());
}

代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee

/**
 * Sends {@link ZclCommand} command to {@link ZigBeeAddress}.
 *
 * @param destination the destination
 * @param command the {@link ZclCommand}
 * @return the command result future
 */
public Future<CommandResult> send(ZigBeeAddress destination, ZclCommand command) {
  command.setDestinationAddress(destination);
  if (destination.isGroup()) {
    return broadcast(command);
  } else {
    final ZigBeeTransactionMatcher responseMatcher = new ZclTransactionMatcher();
    return sendTransaction(command, responseMatcher);
  }
}

代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee

/**
 * Views group membership from device.
 *
 * @param device the device
 * @param groupId the group ID
 * @return the command result future
 */
public Future<CommandResult> viewMembership(final ZigBeeEndpoint device, final int groupId) {
  final ViewGroupCommand command = new ViewGroupCommand();
  command.setGroupId(groupId);
  command.setDestinationAddress(device.getEndpointAddress());
  return networkManager.sendTransaction(command, new ZclTransactionMatcher());
}

代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee

/**
   * Removes group membership from device.
   *
   * @param device the device
   * @param groupId the group ID
   * @return the command result future
   */
  public Future<CommandResult> removeMembership(final ZigBeeEndpoint device, final int groupId) {
    final RemoveGroupCommand command = new RemoveGroupCommand();
    command.setGroupId(groupId);

    command.setDestinationAddress(device.getEndpointAddress());

    return networkManager.sendTransaction(command, new ZclTransactionMatcher());
  }
}

代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee

/**
 * Adds group membership to device.
 *
 * @param device the device
 * @param groupId the group ID
 * @param groupName the group name
 * @return the command result future
 */
public Future<CommandResult> addMembership(final ZigBeeEndpoint device, final int groupId, final String groupName) {
  final AddGroupCommand command = new AddGroupCommand();
  command.setGroupId(groupId);
  command.setGroupName(groupName);
  command.setDestinationAddress(device.getEndpointAddress());
  return networkManager.sendTransaction(command, new ZclTransactionMatcher());
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com