gpt4 book ai didi

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

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

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

ZigBeeNode介绍

[英]Defines a ZigBee Node. A node is a physical entity on the network and will contain one or more ZigBeeEndpoints.
[中]定义ZigBee节点。节点是网络上的物理实体,将包含一个或多个端点。

代码示例

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

for (final ZigBeeEndpoint endpoint : node.getEndpoints()) {
  endpointIds.add(endpoint.getEndpointId());
out.println("IEEE Address     : " + node.getIeeeAddress());
out.println("Network Address  : " + node.getNetworkAddress());
out.println("Node Descriptor  : " + node.getNodeDescriptor());
out.println("Power Descriptor : " + node.getPowerDescriptor());
out.println("Associations     : " + node.getAssociatedDevices().toString());
out.println("Endpoints        : ");
for (Integer endpointId : endpointIds) {
  ZigBeeEndpoint endpoint = node.getEndpoint(endpointId);
  out.print(String.format("            %-3d  : ", endpoint.getEndpointId()));
  outputEndpoint(out, endpoint);
for (NeighborTable neighbor : node.getNeighbors()) {
  out.println(neighbor.toString());
for (RoutingTable route : node.getRoutes()) {
  out.println(route.toString());

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

/**
   * Updates {@link ZigBeeNode} and adds it to the {@link ZigBeeNetworkManager}
   *
   * @param ieeeAddress the {@link IeeeAddress} of the newly announced node
   * @param networkAddress the network address of the newly announced node
   */
  private void addNode(final IeeeAddress ieeeAddress, int networkAddress) {
    logger.debug("{}: NWK Discovery add node {}", ieeeAddress, networkAddress);
    ZigBeeNode node = networkManager.getNode(ieeeAddress);
    if (node != null) {
      if (node.getNetworkAddress() != networkAddress) {
        logger.debug("{}: NWK Discovery updated network address to {}", ieeeAddress, networkAddress);
      }
      node.setNodeState(ZigBeeNodeState.ONLINE);
      node.setNetworkAddress(networkAddress);
      networkManager.updateNode(node);
      return;
    }

    node = new ZigBeeNode(networkManager, ieeeAddress);
    node.setNetworkAddress(networkAddress);

    // Add the node to the network...
    networkManager.addNode(node);
  }
}

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

@Override
public void nodeUpdated(ZigBeeNode node) {
  // We need to handle the cases where the node changes to ONLINE, or to OFFLINE
  if (node.getNodeState() == ZigBeeNodeState.ONLINE && !nodeDiscovery.containsKey(node.getIeeeAddress())) {
    // If the state is ONLINE, then ensure discovery is running
    startDiscovery(node);
  } else if (node.getNodeState() != ZigBeeNodeState.ONLINE && nodeDiscovery.containsKey(node.getIeeeAddress())) {
    // If state is not ONLINE, then stop discovery
    stopDiscovery(node);
  }
}

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

logger.debug("{}: Node {} is removed from the network", node.getIeeeAddress(), node.getNetworkAddress());
nodeDiscoveryComplete.remove(node.getIeeeAddress());
  if (!networkNodes.containsKey(node.getIeeeAddress())) {
    return;
  networkNodes.remove(node.getIeeeAddress());
  node.shutdown();

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

/**
 * Starts service discovery for the node in order to update the mesh. This adds the
 * {@link NodeDiscoveryTask#NEIGHBORS} and {@link NodeDiscoveryTask#ROUTES} tasks to the task list.
 * <p>
 * Note that {@link NodeDiscoveryTask#ROUTES} is not added for end devices.
 */
public void updateMesh() {
  logger.debug("{}: Node SVC Discovery: Update mesh", node.getIeeeAddress());
  Set<NodeDiscoveryTask> tasks = new HashSet<NodeDiscoveryTask>();
  tasks.add(NodeDiscoveryTask.NEIGHBORS);
  if (node.getNodeDescriptor().getLogicalType() != LogicalType.END_DEVICE) {
    tasks.add(NodeDiscoveryTask.ROUTES);
  }
  startDiscovery(tasks);
}

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

if (!node.getIeeeAddress().equals(ieeeAddress)) {
  return false;
if (!networkAddress.equals(node.getNetworkAddress())) {
  logger.debug("{}: Network address updated from {} to {}", ieeeAddress, networkAddress,
      node.getNetworkAddress());
  updated = true;
  networkAddress = node.getNetworkAddress();
if (!nodeDescriptor.equals(node.getNodeDescriptor())) {
  updated = true;
  nodeDescriptor = node.getNodeDescriptor();
if (!powerDescriptor.equals(node.getPowerDescriptor())) {
  updated = true;
  powerDescriptor = node.getPowerDescriptor();
  if (!associatedDevices.equals(node.getAssociatedDevices())) {
    updated = true;
    associatedDevices.clear();
    associatedDevices.addAll(node.getAssociatedDevices());
  if (!bindingTable.equals(node.getBindingTable())) {
    updated = true;
    bindingTable.clear();
    bindingTable.addAll(node.getBindingTable());
  if (!neighbors.equals(node.getNeighbors())) {
    updated = true;

代码示例来源:origin: openhab/org.openhab.binding.zigbee

@Override
public void nodeUpdated(ZigBeeNode node) {
  if (!node.getIeeeAddress().equals(nodeIeeeAddress)) {
    return;
  jsonBuilder.append('[');
  boolean first = true;
  for (NeighborTable neighbor : node.getNeighbors()) {
    if (!first) {
      jsonBuilder.append(',');
  jsonBuilder.append('[');
  first = true;
  for (RoutingTable route : node.getRoutes()) {
    if (!first) {
      jsonBuilder.append(',');
  properties.put(ZigBeeBindingConstants.THING_PROPERTY_ASSOCIATEDDEVICES, node.getAssociatedDevices().toString());
  properties.put(ZigBeeBindingConstants.THING_PROPERTY_LASTUPDATE,
      ZigBeeBindingConstants.getISO8601StringForDate(node.getLastUpdateTime()));
  properties.put(ZigBeeBindingConstants.THING_PROPERTY_NETWORKADDRESS, node.getNetworkAddress().toString());
  properties.put(ZigBeeBindingConstants.THING_PROPERTY_STACKCOMPLIANCE,
      Integer.toString(node.getNodeDescriptor().getStackCompliance()));

代码示例来源:origin: openhab/org.openhab.binding.zigbee

if (node.getNetworkAddress() != 0) {
  return;
  macAddressSet = true;
  try {
    nodeIeeeAddress = node.getIeeeAddress();
    configuration.put(CONFIGURATION_MACADDRESS, node.getIeeeAddress().toString());
    updateConfiguration(configuration);
  } catch (IllegalStateException e) {
jsonBuilder.append("[");
boolean first = true;
for (NeighborTable neighbor : node.getNeighbors()) {
  if (!first) {
    jsonBuilder.append(",");
jsonBuilder.append("[");
first = true;
for (RoutingTable route : node.getRoutes()) {
  if (!first) {
    jsonBuilder.append(",");
properties.put(ZigBeeBindingConstants.THING_PROPERTY_ASSOCIATEDDEVICES, node.getAssociatedDevices().toString());
properties.put(ZigBeeBindingConstants.THING_PROPERTY_LASTUPDATE,
    ZigBeeBindingConstants.getISO8601StringForDate(node.getLastUpdateTime()));
properties.put(ZigBeeBindingConstants.THING_PROPERTY_NETWORKADDRESS, node.getNetworkAddress().toString());
properties.put(ZigBeeBindingConstants.THING_PROPERTY_LOGICALTYPE, node.getLogicalType().toString());

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

/**
 * Starts service discovery for the node.
 */
public void startDiscovery() {
  logger.debug("{}: Node SVC Discovery: start discovery", node.getIeeeAddress());
  Set<NodeDiscoveryTask> tasks = new HashSet<NodeDiscoveryTask>();
  // Always request the network address - in case it's changed
  tasks.add(NodeDiscoveryTask.NWK_ADDRESS);
  if (node.getNodeDescriptor().getLogicalType() == LogicalType.UNKNOWN) {
    tasks.add(NodeDiscoveryTask.NODE_DESCRIPTOR);
  }
  if (node.getPowerDescriptor().getCurrentPowerMode() == CurrentPowerModeType.UNKNOWN) {
    tasks.add(NodeDiscoveryTask.POWER_DESCRIPTOR);
  }
  if (node.getEndpoints().size() == 0 && node.getNetworkAddress() != networkManager.getLocalNwkAddress()) {
    tasks.add(NodeDiscoveryTask.ACTIVE_ENDPOINTS);
  }
  tasks.add(NodeDiscoveryTask.NEIGHBORS);
  startDiscovery(tasks);
}

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

@Test
public void isDiscovered() {
  ZigBeeNode node = new ZigBeeNode(Mockito.mock(ZigBeeNetworkManager.class), new IeeeAddress("1234567890"));
  ZigBeeNetworkEndpointListener listener = Mockito.mock(ZigBeeNetworkEndpointListener.class);
  node.addNetworkEndpointListener(listener);
  assertFalse(node.isDiscovered());
  assertNotNull(node.getEndpoints());
  NodeDescriptor descriptor = new NodeDescriptor(0, 3333, 74, true, 6666, 0, 6, 4444, true, 8);
  node.setNodeDescriptor(descriptor);
  assertFalse(node.isDiscovered());
  ZigBeeEndpoint endpoint = new ZigBeeEndpoint(node, 1);
  node.addEndpoint(endpoint);
  assertTrue(node.isDiscovered());
  Mockito.verify(listener, Mockito.timeout(TIMEOUT)).deviceAdded(endpoint);
  assertEquals(endpoint, node.getEndpoint(1));
  assertEquals(1, node.getEndpoints().size());
  node.removeEndpoint(1);
  assertEquals(0, node.getEndpoints().size());
  Mockito.verify(listener, Mockito.timeout(TIMEOUT)).deviceRemoved(endpoint);
  node.removeNetworkEndpointListener(listener);
}

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

nodeIds.add(node.getNetworkAddress());
for (Integer nodeId : nodeIds) {
  ZigBeeNode node = networkManager.getNode(nodeId);
  out.print(String.format("%-6d  %04X  %s  %-12s  ", node.getNetworkAddress(), node.getNetworkAddress(),
      node.getIeeeAddress(), node.getLogicalType()));
  List<Integer> endpointIds = new ArrayList<Integer>();
  for (final ZigBeeEndpoint endpoint : node.getEndpoints()) {
    endpointIds.add(endpoint.getEndpointId());
    ZigBeeEndpoint endpoint = node.getEndpoint(endpointId);
    out.println(String.format("%-3d  %-25s  %s", endpoint.getEndpointId(),
        ZigBeeProfileType.getByValue(endpoint.getProfileId()),

代码示例来源:origin: openhab/org.openhab.binding.zigbee

logger.debug("{}: ZigBee node property discovery start", node.getIeeeAddress());
Collection<ZigBeeEndpoint> endpoints = node.getEndpoints();
  logger.debug("{}: Node has no endpoints", node.getIeeeAddress());
  return properties;
  logger.debug("{}: Node doesn't support basic cluster", node.getIeeeAddress());
  return properties;
logger.debug("{}: ZigBee node property discovery using {}", node.getIeeeAddress(),
    basicCluster.getZigBeeAddress());
      break;
    } else {
      logger.debug("{}: Manufacturer request failed (retry {})", node.getIeeeAddress(), retry);
      break;
    } else {
      logger.debug("{}: Model request failed (retry {})", node.getIeeeAddress(), retry);
    properties.put(Thing.PROPERTY_HARDWARE_VERSION, hwVersion.toString());
  } else {
    logger.debug("{}: Hardware version failed", node.getIeeeAddress());
    properties.put(ZigBeeBindingConstants.THING_PROPERTY_STKVERSION, stkVersion.toString());
  } else {
    logger.debug("{}: Stack version failed", node.getIeeeAddress());

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

@Override
  public void process(ZigBeeNetworkManager networkManager, String[] args, PrintStream out)
      throws IllegalArgumentException {
    if (args.length > 3) {
      throw new IllegalArgumentException("Invalid number of arguments");
    }

    ZigBeeNode leaver = getNode(networkManager, args[1]);

    if (args.length == 2) {
      networkManager.leave(leaver.getNetworkAddress(), leaver.getIeeeAddress());
      return;
    }

    if (args.length == 3) {
      ZigBeeNode parent = getNode(networkManager, args[2]);
      networkManager.leave(parent.getNetworkAddress(), leaver.getIeeeAddress());
      return;
    }
  }
}

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

@Test
public void testAddDescriptors() {
  ZigBeeNode node = new ZigBeeNode(Mockito.mock(ZigBeeNetworkManager.class), new IeeeAddress());
  // Not null by default
  assertNotNull(node.getNodeDescriptor());
  assertNotNull(node.getPowerDescriptor());
  node.setPowerDescriptor(null);
  assertEquals(null, node.getPowerDescriptor());
  node.setNodeDescriptor(null);
  assertEquals(null, node.getPowerDescriptor());
  System.out.println(node.toString());
}

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

@Test
public void testDeviceTypes() {
  ZigBeeNode node = new ZigBeeNode(Mockito.mock(ZigBeeNetworkManager.class), new IeeeAddress());
  assertFalse(node.isFullFuntionDevice());
  assertFalse(node.isReducedFuntionDevice());
  assertFalse(node.isPrimaryTrustCenter());
  assertFalse(node.isSecurityCapable());
  assertEquals(LogicalType.UNKNOWN, node.getLogicalType());
  NodeDescriptor nodeDescriptor = new NodeDescriptor();
  node.setNodeDescriptor(nodeDescriptor);
  assertFalse(node.isFullFuntionDevice());
  assertFalse(node.isReducedFuntionDevice());
  assertFalse(node.isPrimaryTrustCenter());
  assertFalse(node.isSecurityCapable());
  nodeDescriptor = new NodeDescriptor(0, 0, 0xff, false, 0, 0, 0xff, 0, false, 0);
  node.setNodeDescriptor(nodeDescriptor);
  assertNotNull(node.getNodeDescriptor());
  assertTrue(node.isFullFuntionDevice());
  assertFalse(node.isReducedFuntionDevice());
  assertTrue(node.isPrimaryTrustCenter());
  assertTrue(node.isSecurityCapable());
  nodeDescriptor = new NodeDescriptor(0, 0, 0x00, false, 0, 0, 0xff, 0, false, 0);
  node.setNodeDescriptor(nodeDescriptor);
  assertFalse(node.isFullFuntionDevice());
  assertTrue(node.isReducedFuntionDevice());
  assertEquals(LogicalType.COORDINATOR, node.getLogicalType());
}

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

return;
logger.debug("{}: Node {} update", node.getIeeeAddress(), node.getNetworkAddress());
  currentNode = networkNodes.get(node.getIeeeAddress());
    logger.debug("{}: Node {} is not known - can't be updated", node.getIeeeAddress(),
        node.getNetworkAddress());
    return;
  if (!currentNode.updateNode(node)) {
final boolean updated = nodeDiscoveryComplete.contains(node.getIeeeAddress());
if (!updated && node.isDiscovered() || node.getIeeeAddress().equals(localIeeeAddress)) {
  nodeDiscoveryComplete.add(node.getIeeeAddress());

代码示例来源:origin: openhab/org.openhab.binding.zigbee

if (!node.isDiscovered()) {
  logger.debug("{}: Node has not finished discovery", nodeIeeeAddress);
  updateStatus(ThingStatus.OFFLINE, ThingStatusDetail.NONE,
  ZigBeeEndpoint endpoint = node.getEndpoint(endpointId);
  if (endpoint == null) {
    int profileId;
    endpoint = new ZigBeeEndpoint(node, endpointId);
    endpoint.setProfileId(profileId);
    node.addEndpoint(endpoint);
    node.updateEndpoint(endpoint);
        node.getIeeeAddress(),
        Integer.parseInt(properties.get(ZigBeeBindingConstants.CHANNEL_PROPERTY_ENDPOINT)));
    if (handler == null) {
  if (node.updateBindingTable().get() == false) {
    logger.debug("{}: Error getting binding table", nodeIeeeAddress);

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

@Test
public void testUpdated() {
  ZigBeeNode node = new ZigBeeNode(Mockito.mock(ZigBeeNetworkManager.class), new IeeeAddress("1234567890"));
  ZigBeeNode newNode = new ZigBeeNode(Mockito.mock(ZigBeeNetworkManager.class), new IeeeAddress("1234567890"));
  ZigBeeNode invalidNode = new ZigBeeNode(Mockito.mock(ZigBeeNetworkManager.class),
      new IeeeAddress("ABCDEF1234567890"));
  node.setNetworkAddress(1234);
  newNode.setNetworkAddress(1234);
  assertFalse(node.updateNode(invalidNode));
  assertFalse(node.updateNode(newNode));
  newNode.setNetworkAddress(5678);
  assertTrue(node.updateNode(newNode));
  associated.add(2);
  associated.add(3);
  node.setAssociatedDevices(associated);
  associated = new HashSet<Integer>();
  associated.add(1);
  associated.add(2);
  associated.add(3);
  newNode.setAssociatedDevices(associated);
  assertFalse(node.updateNode(newNode));
  associated.add(2);
  associated.add(1);
  newNode.setAssociatedDevices(associated);
  assertFalse(node.updateNode(newNode));

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

/**
 * Gets the {@link IeeeAddress} for this endpoint from it's parent {@link ZigBeeNode}
 *
 * @return the node {@link IeeeAddress}
 */
public IeeeAddress getIeeeAddress() {
  return node.getIeeeAddress();
}

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

Mockito.when(node.getNodeDescriptor()).thenReturn(initialNodeDescriptor);
Mockito.when(node.getPowerDescriptor()).thenReturn(initialPowerDescriptor);
Mockito.when(node.getNetworkAddress()).thenReturn(123);
Mockito.verify(node, Mockito.timeout(TIMEOUT).times(1)).addEndpoint(endpointCapture.capture());

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