- 使用 Spring Initializr 创建 Spring Boot 应用程序
- 在Spring Boot中配置Cassandra
- 在 Spring Boot 上配置 Tomcat 连接池
- 将Camel消息路由到嵌入WildFly的Artemis上
本文整理了Java中com.zsmartsystems.zigbee.zcl.ZclAttribute.getLastValue()
方法的一些代码示例,展示了ZclAttribute.getLastValue()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZclAttribute.getLastValue()
方法的具体详情如下:
包路径:com.zsmartsystems.zigbee.zcl.ZclAttribute
类名称:ZclAttribute
方法名:getLastValue
[英]Gets the last reported value of this attribute
[中]获取此属性上次报告的值
代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee
/**
* Synchronously get the <i>APSTxUcastRetry</i> attribute [attribute ID <b>266</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 MANDATORY
*
* @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 getApsTxUcastRetry(final long refreshPeriod) {
if (attributes.get(ATTR_APSTXUCASTRETRY).isLastValueCurrent(refreshPeriod)) {
return (Integer) attributes.get(ATTR_APSTXUCASTRETRY).getLastValue();
}
return (Integer) readSync(attributes.get(ATTR_APSTXUCASTRETRY));
}
代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee
/**
* Synchronously get the <i>NeighborStale</i> attribute [attribute ID <b>271</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 MANDATORY
*
* @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 getNeighborStale(final long refreshPeriod) {
if (attributes.get(ATTR_NEIGHBORSTALE).isLastValueCurrent(refreshPeriod)) {
return (Integer) attributes.get(ATTR_NEIGHBORSTALE).getLastValue();
}
return (Integer) readSync(attributes.get(ATTR_NEIGHBORSTALE));
}
代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee
/**
* Synchronously get the <i>JoinIndication</i> attribute [attribute ID <b>272</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 MANDATORY
*
* @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 getJoinIndication(final long refreshPeriod) {
if (attributes.get(ATTR_JOININDICATION).isLastValueCurrent(refreshPeriod)) {
return (Integer) attributes.get(ATTR_JOININDICATION).getLastValue();
}
return (Integer) readSync(attributes.get(ATTR_JOININDICATION));
}
代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee
/**
* Synchronously get the <i>APSUnauthorizedKey</i> attribute [attribute ID <b>276</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 MANDATORY
*
* @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 getApsUnauthorizedKey(final long refreshPeriod) {
if (attributes.get(ATTR_APSUNAUTHORIZEDKEY).isLastValueCurrent(refreshPeriod)) {
return (Integer) attributes.get(ATTR_APSUNAUTHORIZEDKEY).getLastValue();
}
return (Integer) readSync(attributes.get(ATTR_APSUNAUTHORIZEDKEY));
}
代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee
/**
* Synchronously get the <i>APSDecryptFailures</i> attribute [attribute ID <b>278</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 MANDATORY
*
* @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 getApsDecryptFailures(final long refreshPeriod) {
if (attributes.get(ATTR_APSDECRYPTFAILURES).isLastValueCurrent(refreshPeriod)) {
return (Integer) attributes.get(ATTR_APSDECRYPTFAILURES).getLastValue();
}
return (Integer) readSync(attributes.get(ATTR_APSDECRYPTFAILURES));
}
代码示例来源:origin: openhab/org.openhab.binding.zigbee
@Override
public synchronized void attributeUpdated(ZclAttribute attribute) {
logger.debug("{}: ZigBee attribute reports {}", endpoint.getIeeeAddress(), attribute);
if (attribute.getCluster() == ZclClusterType.LEVEL_CONTROL
&& attribute.getId() == ZclLevelControlCluster.ATTR_CURRENTLEVEL) {
lastLevel = levelToPercent((Integer) attribute.getLastValue());
if (currentOnOffState.get()) {
// Note that state is only updated if the current On/Off state is TRUE (ie ON)
updateChannelState(lastLevel);
}
} else if (attribute.getCluster() == ZclClusterType.ON_OFF && attribute.getId() == ZclOnOffCluster.ATTR_ONOFF) {
if (attribute.getLastValue() != null) {
currentOnOffState.set((Boolean) attribute.getLastValue());
updateChannelState(currentOnOffState.get() ? lastLevel : OnOffType.OFF);
}
}
}
}
代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee
private void printAttributes(final ZclCluster cluster, final PrintStream out) {
Map<Integer, ZclAttribute> attributeTree = new TreeMap<Integer, ZclAttribute>();
for (ZclAttribute attribute : cluster.getAttributes()) {
attributeTree.put(attribute.getId(), attribute);
}
for (ZclAttribute attribute : attributeTree.values()) {
out.println(String.format(" %s %5d %s%s%s %s %-40s %s %s",
(cluster.getSupportedAttributes().contains(attribute.getId()) ? "S" : "U"), attribute.getId(),
(attribute.isReadable() ? "r" : "-"), (attribute.isWritable() ? "w" : "-"),
(attribute.isReportable() ? "s" : "-"), printZclDataType(attribute.getDataType()),
attribute.getName(),
(attribute.getLastValue() == null ? "" : attribute.getLastReportTime().getTime()),
(attribute.getLastValue() == null ? "" : attribute.getLastValue())));
}
}
}
代码示例来源:origin: openhab/org.openhab.binding.zigbee
@Override
public void attributeUpdated(ZclAttribute attribute) {
logger.debug("{}: ZigBee attribute reports {}", endpoint.getIeeeAddress(), attribute);
if (attribute.getCluster() == ZclClusterType.RELATIVE_HUMIDITY_MEASUREMENT
&& attribute.getId() == ZclRelativeHumidityMeasurementCluster.ATTR_MEASUREDVALUE) {
Integer value = (Integer) attribute.getLastValue();
if (value != null) {
updateChannelState(new DecimalType(BigDecimal.valueOf(value, 2)));
}
}
}
}
代码示例来源:origin: openhab/org.openhab.binding.zigbee
@Override
public void attributeUpdated(ZclAttribute attribute) {
logger.debug("{}: ZigBee attribute reports {}", endpoint.getIeeeAddress(), attribute);
if (attribute.getCluster() == ZclClusterType.ILLUMINANCE_MEASUREMENT
&& attribute.getId() == ZclIlluminanceMeasurementCluster.ATTR_MEASUREDVALUE) {
Integer value = (Integer) attribute.getLastValue();
if (value != null) {
updateChannelState(new DecimalType(BigDecimal.valueOf(value, 2)));
}
}
}
}
代码示例来源:origin: openhab/org.openhab.binding.zigbee
@Override
public void attributeUpdated(ZclAttribute attribute) {
logger.debug("{}: ZigBee attribute reports {}", endpoint.getIeeeAddress(), attribute);
if (attribute.getCluster() == ZclClusterType.IAS_ZONE
&& attribute.getId() == ZclIasZoneCluster.ATTR_ZONESTATUS) {
updateChannelState((Integer) attribute.getLastValue());
}
}
代码示例来源:origin: openhab/org.openhab.binding.zigbee
@Override
public void attributeUpdated(ZclAttribute attribute) {
logger.debug("{}: ZigBee attribute reports {}", endpoint.getIeeeAddress(), attribute);
if (attribute.getCluster() == ZclClusterType.TEMPERATURE_MEASUREMENT
&& attribute.getId() == ZclTemperatureMeasurementCluster.ATTR_MEASUREDVALUE) {
Integer value = (Integer) attribute.getLastValue();
if (value != null) {
updateChannelState(new QuantityType<>(BigDecimal.valueOf(value, 2), SIUnits.CELSIUS));
}
}
}
}
代码示例来源:origin: openhab/org.openhab.binding.zigbee
@Override
public void attributeUpdated(ZclAttribute attribute) {
logger.debug("{}: ZigBee attribute reports {}", endpoint.getIeeeAddress(), attribute);
if (attribute.getCluster() == ZclClusterType.ELECTRICAL_MEASUREMENT
&& attribute.getId() == ZclElectricalMeasurementCluster.ATTR_RMSVOLTAGE) {
Integer value = (Integer) attribute.getLastValue();
if (value != null) {
BigDecimal valueInVolts = BigDecimal.valueOf(value * multiplier / divisor);
updateChannelState(new QuantityType<ElectricPotential>(valueInVolts, SmartHomeUnits.VOLT));
}
}
}
}
代码示例来源:origin: openhab/org.openhab.binding.zigbee
@Override
public void attributeUpdated(ZclAttribute attribute) {
logger.debug("{}: ZigBee attribute reports {}", endpoint.getIeeeAddress(), attribute);
if (attribute.getCluster() == ZclClusterType.ELECTRICAL_MEASUREMENT
&& attribute.getId() == ZclElectricalMeasurementCluster.ATTR_ACTIVEPOWER) {
Integer value = (Integer) attribute.getLastValue();
if (value != null) {
BigDecimal valueInWatt = BigDecimal.valueOf(value * multiplier / divisor);
updateChannelState(new QuantityType<Power>(valueInWatt, SmartHomeUnits.WATT));
}
}
}
}
代码示例来源:origin: openhab/org.openhab.binding.zigbee
@Override
public void attributeUpdated(ZclAttribute attribute) {
logger.debug("{}: ZigBee attribute reports {}", endpoint.getIeeeAddress(), attribute);
if (attribute.getCluster() == ZclClusterType.ELECTRICAL_MEASUREMENT
&& attribute.getId() == ZclElectricalMeasurementCluster.ATTR_RMSCURRENT) {
Integer value = (Integer) attribute.getLastValue();
if (value != null) {
BigDecimal valueInAmpere = BigDecimal.valueOf(value * multiplier / divisor);
updateChannelState(new QuantityType<ElectricCurrent>(valueInAmpere, SmartHomeUnits.AMPERE));
}
}
}
}
代码示例来源:origin: openhab/org.openhab.binding.zigbee
@Override
public void attributeUpdated(ZclAttribute attribute) {
logger.debug("{}: ZigBee attribute reports {}", endpoint.getIeeeAddress(), attribute);
if (attribute.getCluster() == ZclClusterType.POWER_CONFIGURATION
&& attribute.getId() == ZclPowerConfigurationCluster.ATTR_BATTERYVOLTAGE) {
Integer value = (Integer) attribute.getLastValue();
if (value == null || value == 0xFF) {
// The value 0xFF indicates an invalid or unknown reading.
return;
}
BigDecimal valueInVolt = BigDecimal.valueOf(value, 1);
updateChannelState(new QuantityType<ElectricPotential>(valueInVolt, SmartHomeUnits.VOLT));
}
}
}
代码示例来源:origin: openhab/org.openhab.binding.zigbee
@Override
public void attributeUpdated(ZclAttribute attribute) {
logger.debug("{}: ZigBee attribute reports {}", endpoint.getIeeeAddress(), attribute);
if (attribute.getCluster() == ZclClusterType.ON_OFF && attribute.getId() == ZclOnOffCluster.ATTR_ONOFF) {
Boolean value = (Boolean) attribute.getLastValue();
if (value != null && value) {
updateChannelState(OnOffType.ON);
} else {
updateChannelState(OnOffType.OFF);
}
}
}
代码示例来源:origin: openhab/org.openhab.binding.zigbee
@Override
public void attributeUpdated(ZclAttribute attribute) {
logger.debug("{}: ZigBee attribute reports {}", endpoint.getIeeeAddress(), attribute);
if (attribute.getCluster() == ZclClusterType.OCCUPANCY_SENSING
&& attribute.getId() == ZclOccupancySensingCluster.ATTR_OCCUPANCY) {
Integer value = (Integer) attribute.getLastValue();
if (value != null && value == 1) {
updateChannelState(OnOffType.ON);
} else {
updateChannelState(OnOffType.OFF);
}
}
}
}
代码示例来源:origin: openhab/org.openhab.binding.zigbee
@Override
public void attributeUpdated(ZclAttribute attribute) {
logger.debug("{}: ZigBee attribute reports {}", endpoint.getIeeeAddress(), attribute);
if (attribute.getCluster() == ZclClusterType.POWER_CONFIGURATION
&& attribute.getId() == ZclPowerConfigurationCluster.ATTR_BATTERYPERCENTAGEREMAINING) {
Integer value = (Integer) attribute.getLastValue();
if (value == null) {
return;
}
updateChannelState(new DecimalType(value / 2));
}
}
}
代码示例来源:origin: openhab/org.openhab.binding.zigbee
@Override
public void attributeUpdated(ZclAttribute attribute) {
logger.debug("{}: ZigBee attribute reports {}", endpoint.getIeeeAddress(), attribute);
if (attribute.getCluster() == ZclClusterType.DOOR_LOCK
&& attribute.getId() == ZclDoorLockCluster.ATTR_LOCKSTATE) {
Integer value = (Integer) attribute.getLastValue();
if (value != null && value == 1) {
updateChannelState(OnOffType.ON);
} else {
updateChannelState(OnOffType.OFF);
}
}
}
}
代码示例来源:origin: zsmartsystems/com.zsmartsystems.zigbee
@Test
public void getLastReportTime() {
ZclAttribute attribute = new ZclAttribute(ZclClusterType.ON_OFF, 0, "Test Name",
ZclDataType.UNSIGNED_8_BIT_INTEGER, false, false, false, false);
// No value has been set, so should always be false
assertFalse(attribute.isLastValueCurrent(Long.MAX_VALUE));
Calendar start = Calendar.getInstance();
attribute.updateValue(0);
Calendar stop = Calendar.getInstance();
assertEquals(0, attribute.getLastValue());
assertTrue(attribute.getLastReportTime().compareTo(start) >= 0);
assertTrue(attribute.getLastReportTime().compareTo(stop) <= 0);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
assertFalse(attribute.isLastValueCurrent(50));
assertTrue(attribute.isLastValueCurrent(Long.MAX_VALUE));
}
}
Zigbee 和 Zigbee PRO 之间有什么区别(如果有)? 我在维基百科和 official Zigbee site 上找不到任何具体内容这一切都归结为一些优化。 实际使用上有什么区别吗? 最
是否可以使用 XBee PRO S2B 与 ZigBee HA(家庭自动化)配置文件传感器进行通信?如果可以,如何进行通信?有谁知道我在哪里可以找到有关 ZigBee HA 配置文件的规范? 非常感谢
我已经有一段时间不了解 ZigBee 了。谁拥有最成熟的 Zigbee 堆栈?是 Microchip、Chipcon 还是 Atmel? 是否有价格低于 10 美元的 RF 模块? 我记得不久前某些堆
我之前的经验是能够接收我的温度/湿度zigbee传感器发送的数据。此外,我还可以发送命令来控制 zigbee 功率计/开关。 我购买了一个运动检测传感器,其中包含一行 IAS 数据包的文档。我知道这是
我之前的经验是能够接收我的温度/湿度zigbee传感器发送的数据。此外,我还可以发送命令来控制 zigbee 功率计/开关。 我购买了一个运动检测传感器,其中包含一行 IAS 数据包的文档。我知道这是
我目前正在研究 ZigBee,我遇到了以下问题: 每个 ZigBee 设备都有一个 16 位短地址,这意味着我最多可以连接 2^16=65536 个不同的设备(当然减去一些保留地址)。现在每个设备最多
关于这个问题,我询问了一些从事ZigBee应用开发的开发人员。他们告诉我,一个 radio 模块(对我来说,这是指一个节点,同一件事)在形成网络时只能有一个配置文件。 但是,当我阅读“Drew Gis
智能家居连接,不仅仅只有 Wi-Fi 和蓝牙这些大家熟悉的技术,还有一些更加符合智能家居应用的行业专有协议,比如Zigbee,Z-Wave 和 Thread等等。 当谈到家庭自动化时
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeApsFrame类的一些代码示例,展示了ZigBeeApsFrame类的具体用法。这些代码示例主要来源于Github/
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeEndpointAddress类的一些代码示例,展示了ZigBeeEndpointAddress类的具体用法。这些代码
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeChannel类的一些代码示例,展示了ZigBeeChannel类的具体用法。这些代码示例主要来源于Github/St
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeNetworkManager类的一些代码示例,展示了ZigBeeNetworkManager类的具体用法。这些代码示例
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeEndpoint类的一些代码示例,展示了ZigBeeEndpoint类的具体用法。这些代码示例主要来源于Github/
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeNode类的一些代码示例,展示了ZigBeeNode类的具体用法。这些代码示例主要来源于Github/Stackove
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeProfileType类的一些代码示例,展示了ZigBeeProfileType类的具体用法。这些代码示例主要来源于G
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeAddress类的一些代码示例,展示了ZigBeeAddress类的具体用法。这些代码示例主要来源于Github/St
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeGroupAddress类的一些代码示例,展示了ZigBeeGroupAddress类的具体用法。这些代码示例主要来源
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeCommand类的一些代码示例,展示了ZigBeeCommand类的具体用法。这些代码示例主要来源于Github/St
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeNetworkNodeListener类的一些代码示例,展示了ZigBeeNetworkNodeListener类的具
本文整理了Java中com.zsmartsystems.zigbee.ZigBeeBroadcastDestination类的一些代码示例,展示了ZigBeeBroadcastDestination类
我是一名优秀的程序员,十分优秀!