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

x33g5p2x  于2022-02-05 转载在 其他  
字(11.8k)|赞(0)|评价(0)|浏览(85)

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

ZclColorControlCluster介绍

[英]Color Control cluster implementation (Cluster ID 0x0300).

This cluster provides an interface for changing the color of a light. Color is specified according to the Commission Internationale de l'Éclairage (CIE) specification CIE 1931 Color Space, [B4]. Color control is carried out in terms of x,y values, as defined by this specification.

Code is auto-generated. Modifications may be overwritten!
[中]颜色控制群集实现(群集ID 0x0300)。
该集群提供了一个用于更改灯光颜色的界面。颜色是根据国际埃克莱拉委员会(CIE)规范CIE 1931颜色空间[B4]规定的。颜色控制根据本规范定义的x、y值进行。
代码是自动生成的。修改可能会被覆盖!

代码示例

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

/**
 * Set reporting for the <i>EnhancedCurrentHue</i> attribute [attribute ID <b>16384</b>].
 * <p>
 * The EnhancedCurrentHueattribute represents non-equidistant steps along the CIE 1931 color
 * triangle, and it provides 16-bits precision. The upper 8 bits of this attribute SHALL be
 * used as an index in the implementation specific XY lookup table to provide the non-equidistance
 * steps (see the ZLL test specification for an example).  The lower 8 bits SHALL be used to
 * interpolate between these steps in a linear way in order to provide color zoom for the user.
 * <p>
 * The attribute is of type {@link Integer}.
 * <p>
 * The implementation of this attribute by a device is OPTIONAL
 *
 * @param minInterval {@link int} minimum reporting period
 * @param maxInterval {@link int} maximum reporting period
 * @param reportableChange {@link Object} delta required to trigger report
 * @return the {@link Future<CommandResult>} command result future
 */
public Future<CommandResult> setEnhancedCurrentHueReporting(final int minInterval, final int maxInterval, final Object reportableChange) {
  return setReporting(attributes.get(ATTR_ENHANCEDCURRENTHUE), minInterval, maxInterval, reportableChange);
}

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

@Override
public void handleRefresh() {
  clusterColorControl.getColorTemperature(0);
}

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

@Override
public void handleRefresh() {
  if (clusterOnOff != null) {
    clusterOnOff.getOnOff(0);
  }
  if (supportsHue) {
    clusterColorControl.getCurrentHue(0);
    clusterColorControl.getCurrentSaturation(0);
  } else {
    clusterColorControl.getCurrentX(0);
    clusterColorControl.getCurrentY(0);
  }
  if (clusterLevelControl != null) {
    clusterLevelControl.getCurrentLevel(0);
  }
}

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

if (!clusterColorControl.discoverAttributes(false).get()) {
    logger.warn("{}: Cannot determine whether device supports RGB color. Assuming it supports HUE/SAT",
        endpoint.getIeeeAddress());
    supportsHue = true;
  } else if (clusterColorControl.getSupportedAttributes().contains(ZclColorControlCluster.ATTR_CURRENTHUE)) {
    logger.debug("{}: Device supports Hue/Saturation color set of commands", endpoint.getIeeeAddress());
    supportsHue = true;
  } else if (clusterColorControl.getSupportedAttributes().contains(ZclColorControlCluster.ATTR_CURRENTX)) {
    logger.debug("{}: Device supports XY color set of commands", endpoint.getIeeeAddress());
    supportsHue = false;
clusterColorControl.addAttributeListener(this);
        .setCurrentHueReporting(1, REPORTING_PERIOD_DEFAULT_MAX, 1).get();
    if (!reportResponse.isSuccess()) {
      pollingPeriod = POLLING_PERIOD_HIGH;
    reportResponse = clusterColorControl.setCurrentSaturationReporting(1, REPORTING_PERIOD_DEFAULT_MAX, 1)
        .get();
    if (!reportResponse.isSuccess()) {
    clusterColorControl.setCurrentXReporting(1, REPORTING_PERIOD_DEFAULT_MAX, 1).get();
    clusterColorControl.setCurrentYReporting(1, REPORTING_PERIOD_DEFAULT_MAX, 1).get();
ZclAttribute colorModeAttribute = clusterColorControl.getAttribute(ZclColorControlCluster.ATTR_COLORMODE);
clusterColorControl.setReporting(colorModeAttribute, 1, REPORTING_PERIOD_DEFAULT_MAX, 1);

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

Integer minTemperatureInMired = clusterColorControl.getColorTemperatureMin(Long.MAX_VALUE);
Integer maxTemperatureInMired = clusterColorControl.getColorTemperatureMax(Long.MAX_VALUE);
clusterColorControl.addAttributeListener(this);
clusterColorControl.setColorTemperatureReporting(1, REPORTING_PERIOD_DEFAULT_MAX, 1);
    .getAttribute(ZclColorControlCluster.ATTR_COLORMODE);
clusterColorControl.setReporting(colorModeAttribute, 1, REPORTING_PERIOD_DEFAULT_MAX, 1);

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

if (!clusterColorControl.discoverAttributes(false).get()) {
  Integer capabilities = clusterColorControl.getColorCapabilities(Long.MAX_VALUE);
  if (capabilities == null && clusterColorControl.getCurrentX(Long.MAX_VALUE) == null
      && clusterColorControl.getCurrentHue(Long.MAX_VALUE) == null) {
    logger.trace("{}: Color control XY and Hue returned null", endpoint.getIeeeAddress());
    return null;
    return null;
} else if (clusterColorControl.isAttributeSupported(ZclColorControlCluster.ATTR_COLORCAPABILITIES)) {
  Integer capabilities = clusterColorControl.getColorCapabilities(Long.MAX_VALUE);
  if ((capabilities != null) && (capabilities & (ColorCapabilitiesEnum.HUE_AND_SATURATION.getKey()
      | ColorCapabilitiesEnum.XY_ATTRIBUTE.getKey())) == 0) {
    return null;
} else if (!clusterColorControl.isAttributeSupported(ZclColorControlCluster.ATTR_CURRENTHUE)
    && !clusterColorControl.isAttributeSupported(ZclColorControlCluster.ATTR_CURRENTX)) {
  logger.trace("{}: Color control XY and Hue attributes not supported", endpoint.getIeeeAddress());
  return null;

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

if (!clusterColorControl.discoverAttributes(false).get()) {
  Integer capabilities = clusterColorControl.getColorCapabilities(Long.MAX_VALUE);
  if (capabilities == null && clusterColorControl.getColorTemperature(Long.MAX_VALUE) == null) {
    logger.trace("{}: Color control color temperature attribute returned null on endpoint {}",
        endpoint.getIeeeAddress(), endpoint.getEndpointId());
    return null;
} else if (clusterColorControl.isAttributeSupported(ZclColorControlCluster.ATTR_COLORCAPABILITIES)) {
  Integer capabilities = clusterColorControl.getColorCapabilities(Long.MAX_VALUE);
  if (capabilities != null && (capabilities & ColorCapabilitiesEnum.COLOR_TEMPERATURE.getKey()) == 0) {
    return null;
} else if (!clusterColorControl.isAttributeSupported(ZclColorControlCluster.ATTR_COLORTEMPERATURE)) {
  logger.trace("{}: Color control color temperature attribute not supported on endpoint {}",
      endpoint.getIeeeAddress(), endpoint.getEndpointId());

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

/**
 * Set reporting for the <i>CurrentSaturation</i> attribute [attribute ID <b>1</b>].
 * <p>
 * The CurrentSaturation attribute holds the current saturation value of the light. It is
 * updated as fast as practical during commands that change the saturation.
 * The saturation shall be related to the CurrentSaturation attribute by the
 * relationship
 * Saturation = CurrentSaturation/254 (CurrentSaturation in the range 0 - 254 inclusive)
 * If this attribute is implemented then the CurrentHue and ColorMode attributes
 * shall also be implemented.
 * <p>
 * The attribute is of type {@link Integer}.
 * <p>
 * The implementation of this attribute by a device is OPTIONAL
 *
 * @param minInterval {@link int} minimum reporting period
 * @param maxInterval {@link int} maximum reporting period
 * @param reportableChange {@link Object} delta required to trigger report
 * @return the {@link Future<CommandResult>} command result future
 */
public Future<CommandResult> setCurrentSaturationReporting(final int minInterval, final int maxInterval, final Object reportableChange) {
  return setReporting(attributes.get(ATTR_CURRENTSATURATION), minInterval, maxInterval, reportableChange);
}

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

/**
 * Set reporting for the <i>CurrentX</i> attribute [attribute ID <b>3</b>].
 * <p>
 * The CurrentX attribute contains the current value of the normalized chromaticity
 * value x, as defined in the CIE xyY Color Space. It is updated as fast as practical
 * during commands that change the color.
 * <p>
 * The value of x shall be related to the CurrentX attribute by the relationship
 * <p>
 * x = CurrentX / 65535 (CurrentX in the range 0 to 65279 inclusive)
 * <p>
 * The attribute is of type {@link Integer}.
 * <p>
 * The implementation of this attribute by a device is MANDATORY
 *
 * @param minInterval {@link int} minimum reporting period
 * @param maxInterval {@link int} maximum reporting period
 * @param reportableChange {@link Object} delta required to trigger report
 * @return the {@link Future<CommandResult>} command result future
 */
public Future<CommandResult> setCurrentXReporting(final int minInterval, final int maxInterval, final Object reportableChange) {
  return setReporting(attributes.get(ATTR_CURRENTX), minInterval, maxInterval, reportableChange);
}

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

/**
 * Set reporting for the <i>CurrentY</i> attribute [attribute ID <b>4</b>].
 * <p>
 * The CurrentY attribute contains the current value of the normalized chromaticity
 * value y, as defined in the CIE xyY Color Space. It is updated as fast as practical
 * during commands that change the color.
 * <p>
 * The value of y shall be related to the CurrentY attribute by the relationship
 * <p>
 * y = CurrentY / 65535 (CurrentY in the range 0 to 65279 inclusive)
 * <p>
 * The attribute is of type {@link Integer}.
 * <p>
 * The implementation of this attribute by a device is MANDATORY
 *
 * @param minInterval {@link int} minimum reporting period
 * @param maxInterval {@link int} maximum reporting period
 * @param reportableChange {@link Object} delta required to trigger report
 * @return the {@link Future<CommandResult>} command result future
 */
public Future<CommandResult> setCurrentYReporting(final int minInterval, final int maxInterval, final Object reportableChange) {
  return setReporting(attributes.get(ATTR_CURRENTY), minInterval, maxInterval, reportableChange);
}

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

/**
 * Set reporting for the <i>CurrentHue</i> attribute [attribute ID <b>0</b>].
 * <p>
 * The CurrentHue attribute contains the current hue value of the light. It is updated
 * as fast as practical during commands that change the hue.
 * <p>
 * The hue in degrees shall be related to the CurrentHue attribute by the relationship
 * Hue = CurrentHue x 360 / 254 (CurrentHue in the range 0 - 254 inclusive)
 * <p>
 * If this attribute is implemented then the CurrentSaturation and ColorMode
 * attributes shall also be implemented.
 * <p>
 * The attribute is of type {@link Integer}.
 * <p>
 * The implementation of this attribute by a device is OPTIONAL
 *
 * @param minInterval {@link int} minimum reporting period
 * @param maxInterval {@link int} maximum reporting period
 * @param reportableChange {@link Object} delta required to trigger report
 * @return the {@link Future<CommandResult>} command result future
 */
public Future<CommandResult> setCurrentHueReporting(final int minInterval, final int maxInterval, final Object reportableChange) {
  return setReporting(attributes.get(ATTR_CURRENTHUE), minInterval, maxInterval, reportableChange);
}

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

/**
 * Set reporting for the <i>ColorTemperature</i> attribute [attribute ID <b>7</b>].
 * <p>
 * The ColorTemperature attribute contains a scaled inverse of the current value of
 * the color temperature. It is updated as fast as practical during commands that
 * change the color.
 * <p>
 * The color temperature value in Kelvins shall be related to the ColorTemperature
 * attribute by the relationship
 * <p>
 * Color temperature = 1,000,000 / ColorTemperature (ColorTemperature in the
 * range 1 to 65279 inclusive, giving a color temperature range from 1,000,000
 * Kelvins to 15.32 Kelvins).
 * <p>
 * The value ColorTemperature = 0 indicates an undefined value. The value
 * ColorTemperature = 65535 indicates an invalid value.
 * <p>
 * The attribute is of type {@link Integer}.
 * <p>
 * The implementation of this attribute by a device is OPTIONAL
 *
 * @param minInterval {@link int} minimum reporting period
 * @param maxInterval {@link int} maximum reporting period
 * @param reportableChange {@link Object} delta required to trigger report
 * @return the {@link Future<CommandResult>} command result future
 */
public Future<CommandResult> setColorTemperatureReporting(final int minInterval, final int maxInterval, final Object reportableChange) {
  return setReporting(attributes.get(ATTR_COLORTEMPERATURE), minInterval, maxInterval, reportableChange);
}

相关文章

ZclColorControlCluster类方法