Class TradfriProtocol
java.lang.Object
org.openremote.agent.protocol.AbstractProtocol<TradfriAgent,org.openremote.model.asset.agent.DefaultAgentLink>
org.openremote.agent.protocol.tradfri.TradfriProtocol
- All Implemented Interfaces:
org.openremote.model.asset.agent.Protocol<TradfriAgent>
public class TradfriProtocol
extends AbstractProtocol<TradfriAgent,org.openremote.model.asset.agent.DefaultAgentLink>
Protocol for communicating with the IKEA TRÅDFRI gateway; devices are represented as
Asset
s under the linked
Agent
; Asset
s are automatically added/removed depending on whether they are available on the gateway,
for a given Agent
a device Asset
will have a consistent ID.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
The display name for the IKEA TRÅDFRI protocol.protected TradfriConnection
Fields inherited from class org.openremote.agent.protocol.AbstractProtocol
agent, assetService, datapointService, dynamicAttributes, executorService, linkedAttributes, messageBrokerContext, predictedDatapointService, processorLock, producerTemplate, scheduledExecutorService, timerService
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
addDevice
(TradfriAsset asset, Device device) protected void
doLinkAttribute
(String assetId, org.openremote.model.attribute.Attribute<?> attribute, org.openremote.model.asset.agent.DefaultAgentLink agentLink) Link anAttribute
to its linkedAgent
.protected void
doLinkedAttributeWrite
(org.openremote.model.asset.agent.DefaultAgentLink agentLink, org.openremote.model.attribute.AttributeEvent event, Object processedValue) An Attribute event (write) has been requested for an attribute linked to this protocol.protected void
doStart
(org.openremote.model.Container container) Start this protocol instanceprotected void
doStop
(org.openremote.model.Container container) Stop this protocol instanceprotected void
doUnlinkAttribute
(String assetId, org.openremote.model.attribute.Attribute<?> attribute, org.openremote.model.asset.agent.DefaultAgentLink agentLink) Unlink anAttribute
from its linkedAgent
.protected String
getDeviceAssetId
(Device device) Get a URI that describes this specific protocol instanceGet the name for this protocolprotected void
removeDevice
(String assetId) protected void
synchroniseAssets
(Device[] devices) Methods inherited from class org.openremote.agent.protocol.AbstractProtocol
getAgent, getLinkedAttributes, linkAttribute, onAgentAttributeChanged, processLinkedAttributeWrite, sendAttributeEvent, sendAttributeEvent, setAssetService, setConnectionStatus, start, stop, toString, unlinkAttribute, updateLinkedAttribute, updateLinkedAttribute
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.openremote.model.asset.agent.Protocol
prefixLogMessage
-
Field Details
-
PROTOCOL_DISPLAY_NAME
The display name for the IKEA TRÅDFRI protocol.- See Also:
-
tradfriConnection
-
tradfriDevices
-
-
Constructor Details
-
TradfriProtocol
-
-
Method Details
-
getProtocolName
Description copied from interface:org.openremote.model.asset.agent.Protocol
Get the name for this protocol -
getProtocolInstanceUri
Description copied from interface:org.openremote.model.asset.agent.Protocol
Get a URI that describes this specific protocol instance -
doStart
Description copied from class:AbstractProtocol
Start this protocol instance- Specified by:
doStart
in classAbstractProtocol<TradfriAgent,
org.openremote.model.asset.agent.DefaultAgentLink> - Throws:
Exception
-
doStop
Description copied from class:AbstractProtocol
Stop this protocol instance- Specified by:
doStop
in classAbstractProtocol<TradfriAgent,
org.openremote.model.asset.agent.DefaultAgentLink> - Throws:
Exception
-
doLinkAttribute
protected void doLinkAttribute(String assetId, org.openremote.model.attribute.Attribute<?> attribute, org.openremote.model.asset.agent.DefaultAgentLink agentLink) Description copied from class:AbstractProtocol
Link anAttribute
to its linkedAgent
.- Specified by:
doLinkAttribute
in classAbstractProtocol<TradfriAgent,
org.openremote.model.asset.agent.DefaultAgentLink>
-
doUnlinkAttribute
protected void doUnlinkAttribute(String assetId, org.openremote.model.attribute.Attribute<?> attribute, org.openremote.model.asset.agent.DefaultAgentLink agentLink) Description copied from class:AbstractProtocol
Unlink anAttribute
from its linkedAgent
.- Specified by:
doUnlinkAttribute
in classAbstractProtocol<TradfriAgent,
org.openremote.model.asset.agent.DefaultAgentLink>
-
doLinkedAttributeWrite
protected void doLinkedAttributeWrite(org.openremote.model.asset.agent.DefaultAgentLink agentLink, org.openremote.model.attribute.AttributeEvent event, Object processedValue) Description copied from class:AbstractProtocol
An 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(org.openremote.model.attribute.AttributeRef, org.openremote.model.asset.agent.AgentLink<?>, java.lang.Object, boolean, java.time.Instant)
). Protocol implementations should generally use the processedValue but may also choose to use the original value for some purpose if required.- Specified by:
doLinkedAttributeWrite
in classAbstractProtocol<TradfriAgent,
org.openremote.model.asset.agent.DefaultAgentLink>
-
synchroniseAssets
-
addDevice
-
removeDevice
-
getDeviceAssetId
-