use of org.openremote.protocol.zwave.model.commandclasses.channel.value.Value in project openremote by openremote.
the class ZWaveProtocol method doUnlinkAttribute.
@Override
protected synchronized void doUnlinkAttribute(String assetId, Attribute<?> attribute, ZWaveAgentLink agentLink) {
if (network == null) {
return;
}
AttributeRef attributeRef = new AttributeRef(assetId, attribute.getName());
Consumer<Value> sensorValueConsumer = sensorValueConsumerMap.remove(attributeRef);
network.removeSensorValueConsumer(sensorValueConsumer);
}
use of org.openremote.protocol.zwave.model.commandclasses.channel.value.Value in project openremote by openremote.
the class ZWaveProtocol method doLinkAttribute.
@Override
protected synchronized void doLinkAttribute(String assetId, Attribute<?> attribute, ZWaveAgentLink agentLink) {
if (network == null) {
return;
}
int nodeId = agentLink.getDeviceNodeId().orElse(0);
int endpoint = agentLink.getDeviceEndpoint().orElse(0);
String linkName = agentLink.getDeviceValue().orElse("");
AttributeRef attributeRef = new AttributeRef(assetId, attribute.getName());
Class<?> clazz = (attribute == null ? null : attribute.getType().getType());
Consumer<Value> sensorValueConsumer = value -> updateLinkedAttribute(new AttributeState(attributeRef, toAttributeValue(value, clazz)));
sensorValueConsumerMap.put(attributeRef, sensorValueConsumer);
network.addSensorValueConsumer(nodeId, endpoint, linkName, sensorValueConsumer);
}
Aggregations