Class ZWaveProtocol
java.lang.Object
org.openremote.agent.protocol.AbstractProtocol<ZWaveAgent,ZWaveAgentLink>
org.openremote.agent.protocol.zwave.ZWaveProtocol
- All Implemented Interfaces:
org.openremote.model.asset.agent.Protocol<ZWaveAgent>,org.openremote.model.protocol.ProtocolAssetDiscovery
public class ZWaveProtocol
extends AbstractProtocol<ZWaveAgent,ZWaveAgentLink>
implements org.openremote.model.protocol.ProtocolAssetDiscovery
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Loggerprotected ZWaveNetworkstatic final Stringprotected Map<org.openremote.model.attribute.AttributeRef,Consumer<org.openremote.protocol.zwave.model.commandclasses.channel.value.Value>> Fields inherited from class org.openremote.agent.protocol.AbstractProtocol
agent, assetService, datapointService, dynamicAttributes, executorService, linkedAttributes, messageBrokerContext, predictedDatapointService, producerTemplate, timerServiceFields inherited from interface org.openremote.model.asset.agent.Protocol
ACTUATOR_TOPIC, ACTUATOR_TOPIC_TARGET_PROTOCOL, DYNAMIC_TIME_PLACEHOLDER_REGEXP, DYNAMIC_VALUE_PLACEHOLDER, DYNAMIC_VALUE_PLACEHOLDER_REGEXP, SENSOR_QUEUE, SENSOR_QUEUE_SOURCE_PROTOCOL -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voiddoLinkAttribute(String assetId, org.openremote.model.attribute.Attribute<?> attribute, ZWaveAgentLink agentLink) Link anAttributeto its linkedAgent.protected voiddoLinkedAttributeWrite(org.openremote.model.attribute.Attribute<?> attribute, ZWaveAgentLink agentLink, org.openremote.model.attribute.AttributeEvent event, Object processedValue) An Attribute event (write) has been requested for an attribute linked to this protocol.protected voiddoStart(org.openremote.model.Container container) Start this protocol instanceprotected voiddoStop(org.openremote.model.Container container) Stop this protocol instanceprotected voiddoUnlinkAttribute(String assetId, org.openremote.model.attribute.Attribute<?> attribute, ZWaveAgentLink agentLink) Unlink anAttributefrom its linkedAgent.Get a URI that describes this specific protocol instanceGet the name for this protocolstartAssetDiscovery(Consumer<org.openremote.model.asset.AssetTreeNode[]> assetConsumer) Start the process asynchronously; the implementation can make as many calls as it desires to the assetConsumer with the found assets; when the implementation has finished then the returned future will becomeFuture.isDone().Methods inherited from class org.openremote.agent.protocol.AbstractProtocol
getAgent, getLinkedAttributes, linkAttribute, processLinkedAttributeWrite, sendAttributeEvent, sendAttributeEvent, setConnectionStatus, start, stop, toString, unlinkAttribute, updateAgentAttribute, updateLinkedAttribute, updateLinkedAttributeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.openremote.model.asset.agent.Protocol
prefixLogMessage
-
Field Details
-
PROTOCOL_DISPLAY_NAME
- See Also:
-
LOG
-
network
-
sensorValueConsumerMap
-
-
Constructor Details
-
ZWaveProtocol
-
-
Method Details
-
getProtocolName
Description copied from interface:org.openremote.model.asset.agent.ProtocolGet the name for this protocol- Specified by:
getProtocolNamein interfaceorg.openremote.model.asset.agent.Protocol<ZWaveAgent>
-
getProtocolInstanceUri
Description copied from interface:org.openremote.model.asset.agent.ProtocolGet a URI that describes this specific protocol instance- Specified by:
getProtocolInstanceUriin interfaceorg.openremote.model.asset.agent.Protocol<ZWaveAgent>
-
doStart
Description copied from class:AbstractProtocolStart this protocol instance- Specified by:
doStartin classAbstractProtocol<ZWaveAgent,ZWaveAgentLink> - Throws:
Exception
-
doStop
Description copied from class:AbstractProtocolStop this protocol instance- Specified by:
doStopin classAbstractProtocol<ZWaveAgent,ZWaveAgentLink> - Throws:
Exception
-
doLinkAttribute
protected void doLinkAttribute(String assetId, org.openremote.model.attribute.Attribute<?> attribute, ZWaveAgentLink agentLink) Description copied from class:AbstractProtocolLink anAttributeto its linkedAgent.- Specified by:
doLinkAttributein classAbstractProtocol<ZWaveAgent,ZWaveAgentLink>
-
doUnlinkAttribute
protected void doUnlinkAttribute(String assetId, org.openremote.model.attribute.Attribute<?> attribute, ZWaveAgentLink agentLink) Description copied from class:AbstractProtocolUnlink anAttributefrom its linkedAgent.- Specified by:
doUnlinkAttributein classAbstractProtocol<ZWaveAgent,ZWaveAgentLink>
-
doLinkedAttributeWrite
protected void doLinkedAttributeWrite(org.openremote.model.attribute.Attribute<?> attribute, ZWaveAgentLink agentLink, org.openremote.model.attribute.AttributeEvent event, Object processedValue) Description copied from class:AbstractProtocolAn Attribute event (write) has been requested for an attribute linked to this protocol. The processedValue is the resulting value after applying standard outbound value processing (seeProtocolUtil.doOutboundValueProcessing(java.lang.String, org.openremote.model.attribute.Attribute<?>, org.openremote.model.asset.agent.AgentLink<?>, java.lang.Object, boolean)). Protocol implementations should generally use the processedValue but may also choose to use the original value for some purpose if required.- Specified by:
doLinkedAttributeWritein classAbstractProtocol<ZWaveAgent,ZWaveAgentLink>
-
startAssetDiscovery
public Future<Void> startAssetDiscovery(Consumer<org.openremote.model.asset.AssetTreeNode[]> assetConsumer) Description copied from interface:org.openremote.model.protocol.ProtocolAssetDiscoveryStart the process asynchronously; the implementation can make as many calls as it desires to the assetConsumer with the found assets; when the implementation has finished then the returned future will becomeFuture.isDone(). The callee can also cancel the future at any time. If for some reason the process cannot be started or encounters an error then this method should log more details before completing the future.- Specified by:
startAssetDiscoveryin interfaceorg.openremote.model.protocol.ProtocolAssetDiscovery
-