gpt4 book ai didi

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

转载 作者:知者 更新时间:2024-03-18 11:21:31 28 4
gpt4 key购买 nike

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

ZclOnOffCluster介绍

[英]On/Off cluster implementation (Cluster ID 0x0006).

Attributes and commands for switching devices between ‘On’ and ‘Off’ states.

Code is auto-generated. Modifications may be overwritten!
[中]开/关群集实现(群集ID 0x0006)。
用于在“开”和“关”状态之间切换设备的属性和命令。
代码是自动生成的。修改可能会被覆盖!

代码示例

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

/**
 * If we support the OnOff cluster then we should perform the same function as the SwitchOnoffConverter. Otherwise,
 * interpret ON commands as moving to level 100%, and OFF commands as moving to level 0%.
 */
private void handleOnOffCommand(OnOffType cmdOnOff) {
  if (clusterOnOff != null) {
    if (cmdOnOff == OnOffType.ON) {
      clusterOnOff.onCommand();
    } else {
      clusterOnOff.offCommand();
    }
  } else {
    if (cmdOnOff == OnOffType.ON) {
      moveToLevel(PercentType.HUNDRED);
    } else {
      moveToLevel(PercentType.ZERO);
    }
  }
}

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

@Override
public boolean initializeConverter() {
  clusterOnOffClient = (ZclOnOffCluster) endpoint.getOutputCluster(ZclOnOffCluster.CLUSTER_ID);
  clusterOnOffServer = (ZclOnOffCluster) endpoint.getInputCluster(ZclOnOffCluster.CLUSTER_ID);
  if (clusterOnOffClient == null && clusterOnOffServer == null) {
    logger.error("{}: Error opening device on/off controls", endpoint.getIeeeAddress());
    return false;
  }
  if (clusterOnOffServer != null) {
    // Add the listener
    clusterOnOffServer.addAttributeListener(this);
  }
  if (clusterOnOffClient != null) {
    // Add the command listener
    clusterOnOffClient.addCommandListener(this);
  }
  return true;
}

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

@Override
public void handleRefresh() {
  if (clusterOnOffServer != null) {
    clusterOnOffServer.getOnOff(0);
  }
}

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

@Override
public void disposeConverter() {
  logger.debug("{}: Closing device on/off cluster", endpoint.getIeeeAddress());
  if (clusterOnOffClient != null) {
    clusterOnOffClient.removeCommandListener(this);
  }
  if (clusterOnOffServer != null) {
    clusterOnOffServer.removeAttributeListener(this);
  }
}

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

@Override
  public void run() {
    int cnt = 0;
    while (true) {
      print("STRESSING 4 CNT: " + cnt++, out);
      ZclOnOffCluster cluster = (ZclOnOffCluster) endpoint
          .getInputCluster(ZclOnOffCluster.CLUSTER_ID);
      cluster.onCommand();
      try {
        Thread.sleep(187);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
}).start();

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

@Test
public void testNodeNetworkAddressUpdate() {
  mockedTransport = Mockito.mock(ZigBeeTransportTransmit.class);
  mockedApsFrameListener = ArgumentCaptor.forClass(ZigBeeApsFrame.class);
  ZigBeeNetworkManager networkManager = new ZigBeeNetworkManager(mockedTransport);
  ZigBeeNode node = new ZigBeeNode(networkManager, new IeeeAddress("12345678990ABCDEF"));
  node.setNetworkAddress(12345);
  ZigBeeEndpoint endpoint = new ZigBeeEndpoint(node, 1);
  ZclOnOffCluster cluster = new ZclOnOffCluster(endpoint);
  networkManager.setSerializer(DefaultSerializer.class, DefaultDeserializer.class);
  Mockito.doNothing().when(mockedTransport).sendCommand(mockedApsFrameListener.capture());
  cluster.onCommand();
  assertEquals(12345, mockedApsFrameListener.getValue().getDestinationAddress());
  node.setNetworkAddress(54321);
  cluster.offCommand();
  assertEquals(54321, mockedApsFrameListener.getValue().getDestinationAddress());
}

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

@Test
public void send() {
  createEndpoint();
  ZclOnOffCluster cluster = new ZclOnOffCluster(endpoint);
  cluster.setApsSecurityRequired(true);
  cluster.onCommand();
  assertEquals(1, commandCapture.getAllValues().size());
  ZigBeeCommand command = commandCapture.getValue();
  assertNotNull(command);
  System.out.println(command);
  assertTrue(command instanceof OnCommand);
  OnCommand onCommand = (OnCommand) command;
  assertEquals(true, onCommand.getApsSecurity());
  assertEquals(ZclCommandDirection.CLIENT_TO_SERVER, onCommand.getCommandDirection());
  cluster.setApsSecurityRequired(false);
  cluster.onCommand();
  assertEquals(2, commandCapture.getAllValues().size());
  command = commandCapture.getValue();
  assertNotNull(command);
  System.out.println(command);
  assertTrue(command instanceof OnCommand);
  onCommand = (OnCommand) command;
  assertEquals(false, onCommand.getApsSecurity());
  assertEquals(ZclCommandDirection.CLIENT_TO_SERVER, onCommand.getCommandDirection());
}

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

@Test
public void getClusterId() {
  createEndpoint();
  ZclCluster cluster = new ZclOnOffCluster(endpoint);
  assertEquals(Integer.valueOf(6), cluster.getClusterId());
}

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

private void moveToLevel(PercentType percent) {
  if (clusterOnOff != null) {
    if (percent.equals(PercentType.ZERO)) {
      clusterOnOff.offCommand();
    } else {
      clusterLevelControl.moveToLevelWithOnOffCommand(percentToLevel(percent),
          configLevelControl.getDefaultTransitionTime());
    }
  } else {
    clusterLevelControl.moveToLevelCommand(percentToLevel(percent),
        configLevelControl.getDefaultTransitionTime());
  }
}

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

if (bindResponse.isSuccess()) {
    CommandResult reportingResponse = clusterOnOff.setOnOffReporting(1, REPORTING_PERIOD_DEFAULT_MAX)
        .get();
    if (reportingResponse.isError()) {
clusterOnOff.addAttributeListener(this);

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

/**
 * Get the <i>OffTime</i> attribute [attribute ID <b>16385</b>].
 * <p>
 * The attribute is of type {@link Integer}.
 * <p>
 * The implementation of this attribute by a device is 
 *
 * @return the {@link Future<CommandResult>} command result future
 */
public Future<CommandResult> getOffTimeAsync() {
  return read(attributes.get(ATTR_OFFTIME));
}

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

/**
 * Synchronously get the <i>OffTime</i> attribute [attribute ID <b>16385</b>].
 * <p>
 * This method can return cached data if the attribute has already been received.
 * The parameter <i>refreshPeriod</i> is used to control this. If the attribute has been received
 * within <i>refreshPeriod</i> milliseconds, then the method will immediately return the last value
 * received. If <i>refreshPeriod</i> is set to 0, then the attribute will always be updated.
 * <p>
 * This method will block until the response is received or a timeout occurs unless the current value is returned.
 * <p>
 * The attribute is of type {@link Integer}.
 * <p>
 * The implementation of this attribute by a device is 
 *
 * @param refreshPeriod the maximum age of the data (in milliseconds) before an update is needed
 * @return the {@link Integer} attribute value, or null on error
 */
public Integer getOffTime(final long refreshPeriod) {
  if (attributes.get(ATTR_OFFTIME).isLastValueCurrent(refreshPeriod)) {
    return (Integer) attributes.get(ATTR_OFFTIME).getLastValue();
  }
  return (Integer) readSync(attributes.get(ATTR_OFFTIME));
}

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

@Override
public void disposeConverter() {
  clusterLevelControl.removeAttributeListener(this);
  if (clusterOnOff != null) {
    clusterOnOff.removeAttributeListener(this);
  }
}

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

@Override
  public void run() {
    int cnt = 0;
    while (true) {
      print("STRESSING 1 CNT: " + cnt++, out);
      ZclOnOffCluster cluster = (ZclOnOffCluster) endpoint
          .getInputCluster(ZclOnOffCluster.CLUSTER_ID);
      cluster.onCommand();
      try {
        Thread.sleep(167);
      } catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
  }
}).start();

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

@Test
public void handleCommandReport() {
  createEndpoint();
  ZclCluster cluster = new ZclOnOffCluster(endpoint);
  ZclCommand command = Mockito.mock(ZclCommand.class);
  ZclCommandListener listenerMock = Mockito.mock(ZclCommandListener.class);
  cluster.addCommandListener(listenerMock);
  cluster.addCommandListener(listenerMock);
  cluster.handleCommand(command);
  Mockito.verify(listenerMock, Mockito.timeout(1000).times(1)).commandReceived(command);
  cluster.removeCommandListener(listenerMock);
}

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

private void changeBrightness(PercentType brightness) throws InterruptedException, ExecutionException {
  if (clusterLevelControl == null) {
    if (clusterOnOff != null) {
      changeOnOff(brightness.intValue() == 0 ? OnOffType.OFF : OnOffType.ON);
    } else {
      logger.warn("{}: ignoring brightness command", endpoint.getIeeeAddress());
    }
    return;
  }
  HSBType oldHSB = currentHSB;
  currentHSB = new HSBType(oldHSB.getHue(), oldHSB.getSaturation(), brightness);
  lastBrightness = brightness;
  int level = percentToLevel(brightness);
  if (clusterOnOff != null) {
    if (brightness.equals(PercentType.ZERO)) {
      clusterOnOff.offCommand();
    } else {
      clusterLevelControl.moveToLevelWithOnOffCommand(level, configLevelControl.getDefaultTransitionTime())
          .get();
    }
  } else {
    clusterLevelControl.moveToLevelCommand(level, configLevelControl.getDefaultTransitionTime()).get();
  }
}

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

clusterOnOff.addAttributeListener(this);
try {
  CommandResult bindResponse = bind(clusterOnOff).get();
    pollingPeriod = POLLING_PERIOD_HIGH;
  CommandResult reportResponse = clusterOnOff.setOnOffReporting(1, REPORTING_PERIOD_DEFAULT_MAX).get();
  if (!reportResponse.isSuccess()) {
    pollingPeriod = POLLING_PERIOD_HIGH;

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

/**
 * Get the <i>OnOff</i> attribute [attribute ID <b>0</b>].
 * <p>
 * The OnOff attribute has the following values: 0 = Off, 1 = On
 * <p>
 * The attribute is of type {@link Boolean}.
 * <p>
 * The implementation of this attribute by a device is MANDATORY
 *
 * @return the {@link Future<CommandResult>} command result future
 */
public Future<CommandResult> getOnOffAsync() {
  return read(attributes.get(ATTR_ONOFF));
}

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

/**
 * Synchronously get the <i>OnOff</i> attribute [attribute ID <b>0</b>].
 * <p>
 * The OnOff attribute has the following values: 0 = Off, 1 = On
 * <p>
 * This method can return cached data if the attribute has already been received.
 * The parameter <i>refreshPeriod</i> is used to control this. If the attribute has been received
 * within <i>refreshPeriod</i> milliseconds, then the method will immediately return the last value
 * received. If <i>refreshPeriod</i> is set to 0, then the attribute will always be updated.
 * <p>
 * This method will block until the response is received or a timeout occurs unless the current value is returned.
 * <p>
 * The attribute is of type {@link Boolean}.
 * <p>
 * The implementation of this attribute by a device is MANDATORY
 *
 * @param refreshPeriod the maximum age of the data (in milliseconds) before an update is needed
 * @return the {@link Boolean} attribute value, or null on error
 */
public Boolean getOnOff(final long refreshPeriod) {
  if (attributes.get(ATTR_ONOFF).isLastValueCurrent(refreshPeriod)) {
    return (Boolean) attributes.get(ATTR_ONOFF).getLastValue();
  }
  return (Boolean) readSync(attributes.get(ATTR_ONOFF));
}

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

@Override
public void disposeConverter() {
  // Stop the timer and shutdown the scheduler
  if (colorUpdateTimer != null) {
    colorUpdateTimer.cancel(true);
    colorUpdateTimer = null;
  }
  colorUpdateScheduler.shutdownNow();
  clusterColorControl.removeAttributeListener(this);
  if (clusterLevelControl != null) {
    clusterLevelControl.removeAttributeListener(this);
  }
  if (clusterOnOff != null) {
    clusterOnOff.removeAttributeListener(this);
  }
  synchronized (colorUpdateSync) {
    if (colorUpdateTimer != null) {
      colorUpdateTimer.cancel(true);
    }
  }
}

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