EnOcean Link  1.14.0.0
Middleware to Connect EnOcean easily to other Projects
eoReCom Class Reference

Remote Commissioning interface class. More...

#include <eoReCom.h>

Public Member Functions

 eoReCom (eoGateway *gateway)
 
bool GetShallBeRepeated () const
 
void SetShallBeRepeated (bool repeat)
 
bool GetKeyToUse () const
 
void SetKeyToUse (uint8_t key)
 
eoReturn GetMetadata (uint32_t destinationID)
 
eoReturn ParseGetMetadataResponse (QUERY_METADATA_RESPONSE &response) const
 
eoReturn GetLinkTable (QUERY_LINK_TABLE const &query, uint32_t const destinationID)
 
eoReturn ParseGetLinkTableResponse (std::vector< LINK_TABLE > &response, RECOM_TABLE_DIR &tableDir) const
 
eoReturn SetLinkTable (std::vector< LINK_TABLE > const &query, RECOM_TABLE_DIR tableDir, uint32_t destinationID)
 
eoReturn GetGPLinkTable (GP_LINK_TABLE const &query, uint32_t destinationID)
 
eoReturn ParseGetGPLinkTableResponse (GP_LINK_TABLE &query) const
 
eoReturn SetGPLinkTable (GP_LINK_TABLE const &query, uint32_t destinationID)
 
eoReturn RemoteSetLearnMode (QUERY_SET_LEARN_MODE const &learnMode, uint32_t destinationID)
 
eoReturn TriggerOutboundTeachRequest (uint8_t channel, uint32_t destinationID)
 
eoReturn GetDeviceConfig (QUERY_DEVICE_CONFIG const &deviceConf, uint32_t destinationID)
 
eoReturn ParseDeviceConfigResponse (std::vector< DEVICE_CONFIG > &deviceConf) const
 
eoReturn SetDeviceConfig (std::vector< DEVICE_CONFIG > const &deviceConf, uint32_t destinationID)
 
eoReturn GetLinkBasedConfig (QUERY_LINK_BASED_CONFIG const &linkConfig, uint32_t destinationID)
 
eoReturn SetLinkBasedConfig (std::vector< LINK_BASED_CONFIG > const &linkConfig, uint32_t destinationID)
 
eoReturn ParseLinkBasedConfigResponse (std::vector< LINK_BASED_CONFIG > &linkConfig) const
 
eoReturn ApplyChanges (QUERY_APPLY_CHANGES const &changes, uint32_t destinationID)
 
eoReturn ResetDefaults (QUERY_RESET_DEFAULTS const &defaults, uint32_t destinationID)
 
eoReturn RadioLinkTest (QUERY_RADIO_LINK_TEST const &radioLink, uint32_t destinationID)
 
eoReturn GetProductID (uint32_t destinationID=BROADCAST_ID)
 
eoReturn ParseGetProductIDResponse (QUERY_PRODUCT_ID_RESPONSE &response) const
 
eoReturn GetRepeater (uint32_t destinationID)
 
eoReturn ParseGetRepeaterResponse (REPEATER_FUNCTIONS &response) const
 
eoReturn SetRepeater (REPEATER_FUNCTIONS const &repeaterFunc, uint32_t destinationID)
 
eoReturn SetRepeaterFilter (QUERY_SET_REPEATER_FILTER const &repeaterFunc, uint32_t destinationID)
 

Detailed Description

Remote Commissioning interface class.

This helper class, allows sending and parsing of different Remote Commissioning commands. The command parameter are wrapped in different parameter helper structs. For a detailed explanation of remote commissioning please consult the ReCom Spec.

Constructor & Destructor Documentation

◆ eoReCom()

eoReCom::eoReCom ( eoGateway gateway)

Constructor.

Parameters
gatewayeoGateway to be used for remote commissioning.

Member Function Documentation

◆ ApplyChanges()

eoReturn eoReCom::ApplyChanges ( QUERY_APPLY_CHANGES const &  changes,
uint32_t  destinationID 
)

Apply changes command. Unicast: yes Broadcast: no Command has paired response: no

Parameters
changesQUERY_APPLY_CHANGES structure
destinationIDThe device ID of the end device

◆ GetDeviceConfig()

eoReturn eoReCom::GetDeviceConfig ( QUERY_DEVICE_CONFIG const &  deviceConf,
uint32_t  destinationID 
)

Get device configuration query. Unicast: yes Broadcast: no Command has paired response: yes

Parameters
deviceConfdevice configuration query arguments
destinationIDThe device ID of the end device

◆ GetGPLinkTable()

eoReturn eoReCom::GetGPLinkTable ( GP_LINK_TABLE const &  query,
uint32_t  destinationID 
)

Get GP Link table command. Unicast: yes Broadcast: no Device response to command: yes

Parameters
queryGP_LINK_TABLE
destinationIDID of the recom device to modify

◆ GetKeyToUse()

bool eoReCom::GetKeyToUse ( ) const
inline

If greater 0, use the key x to encrypt

◆ GetLinkBasedConfig()

eoReturn eoReCom::GetLinkBasedConfig ( QUERY_LINK_BASED_CONFIG const &  linkConfig,
uint32_t  destinationID 
)

Get link based configuration query. Unicast: yes Broadcast: no Command has paired response: yes

Parameters
linkConfigQUERY_LINK_BASED_CONFIG structure
destinationIDThe device ID of the end device

◆ GetLinkTable()

eoReturn eoReCom::GetLinkTable ( QUERY_LINK_TABLE const &  query,
uint32_t const  destinationID 
)

Get link table command. Unicast: yes Broadcast: no Command has paired response: yes

Parameters
queryQUERY_LINK_TABLE structure
destinationIDThe device ID of the end device

◆ GetMetadata()

eoReturn eoReCom::GetMetadata ( uint32_t  destinationID)

Get link table metadata command. Unicast: yes Broadcast: no Command has paired response: yes

Parameters
destinationIDThe device ID of the end device

◆ GetProductID()

eoReturn eoReCom::GetProductID ( uint32_t  destinationID = BROADCAST_ID)

Get prodcut ID. Unicast: yes Broadcast: yes Command has paired response: yes

Parameters
destinationIDThe device ID of the end device

◆ GetRepeater()

eoReturn eoReCom::GetRepeater ( uint32_t  destinationID)

Get repeater functions query. Unicast: yes Broadcast: no Command has paired response: yes

Note
To stop the beaconing of the Get Product ID Response, an addressed reman message needs to be send.
Parameters
destinationIDThe device ID of the end device

◆ GetShallBeRepeated()

bool eoReCom::GetShallBeRepeated ( ) const
inline

If true the send telegrams are set in such a state that they can be repeated

◆ ParseDeviceConfigResponse()

eoReturn eoReCom::ParseDeviceConfigResponse ( std::vector< DEVICE_CONFIG > &  deviceConf) const

Parses the device config response

Parameters
deviceConfvector to store the response, new elements will be pushed to the back of the vector
Returns

◆ ParseGetGPLinkTableResponse()

eoReturn eoReCom::ParseGetGPLinkTableResponse ( GP_LINK_TABLE query) const

Parses the GP Link table response

Parameters
queryresponse parsed
Note
the data array inside of the query, will be deleted and a new block of memory will be allocated!
Returns

◆ ParseGetLinkTableResponse()

eoReturn eoReCom::ParseGetLinkTableResponse ( std::vector< LINK_TABLE > &  response,
RECOM_TABLE_DIR tableDir 
) const

With this command the actor parse the remote commission message into a LINK_TABLE structure. Unicast: yes Broadcast: no Command has paired response: yes

Parameters
[out]responseLink Table response will be added to this pointer
[out]tableDirThe table direction of the returned entries

◆ ParseGetMetadataResponse()

eoReturn eoReCom::ParseGetMetadataResponse ( QUERY_METADATA_RESPONSE response) const

With this command the actor parse the remote commission message into a QUERY_METADATA_RESPONSE structure. Unicast: yes Broadcast: no Command has paired response: yes

Parameters
[out]responseMetadata response

◆ ParseGetProductIDResponse()

eoReturn eoReCom::ParseGetProductIDResponse ( QUERY_PRODUCT_ID_RESPONSE response) const

With this command the actor parse the remote commission message into a QUERY_PRODUCT_ID_RESPONSE structure. Unicast: yes Broadcast: yes Command has paired response: yes

Note
After sending a productID Request, each ReCom device sends ProductID Response in beaconing mode, until an addressed reman answer has been sent.
Parameters
[out]responseQUERY_PRODUCT_ID_RESPONSE structure

◆ ParseGetRepeaterResponse()

eoReturn eoReCom::ParseGetRepeaterResponse ( REPEATER_FUNCTIONS &  response) const

With this command the actor parse the remote commission message into a REPEATER_FUNCTIONS structure. Unicast: yes Broadcast: no Command has paired response: yes

Parameters
[out]responseREPEATER_FUNCTIONS structure

◆ ParseLinkBasedConfigResponse()

eoReturn eoReCom::ParseLinkBasedConfigResponse ( std::vector< LINK_BASED_CONFIG > &  linkConfig) const

Parses the device config response

Parameters
linkConfigvector to store the response, new elements will be pushed to the back of the vector
Returns

◆ RadioLinkTest()

eoReturn eoReCom::RadioLinkTest ( QUERY_RADIO_LINK_TEST const &  radioLink,
uint32_t  destinationID 
)

Radio link test control. Unicast: yes Broadcast: no Command has paired response: yes

Parameters
radioLinkQUERY_RADIO_LINK_TEST structure
destinationIDThe device ID of the end device

◆ RemoteSetLearnMode()

eoReturn eoReCom::RemoteSetLearnMode ( QUERY_SET_LEARN_MODE const &  learnMode,
uint32_t  destinationID 
)

Remote set learn mode. Unicast: yes Broadcast: yes Command has paired response: no

Parameters
learnModeDevice learn mode
destinationIDThe device ID of the end device

◆ ResetDefaults()

eoReturn eoReCom::ResetDefaults ( QUERY_RESET_DEFAULTS const &  defaults,
uint32_t  destinationID 
)

Reset to defaults. Unicast: yes Broadcast: yes Command has paired response: no

Parameters
defaultsQUERY_RESET_DEFAULTS structure
destinationIDThe device ID of the end device

◆ SetDeviceConfig()

eoReturn eoReCom::SetDeviceConfig ( std::vector< DEVICE_CONFIG > const &  deviceConf,
uint32_t  destinationID 
)

Set device configuration. Unicast: yes Broadcast: no Command has paired response: no

Parameters
deviceConflist of config parameters
destinationIDdevice ID
Returns

◆ SetGPLinkTable()

eoReturn eoReCom::SetGPLinkTable ( GP_LINK_TABLE const &  query,
uint32_t  destinationID 
)

Set link table content command. Unicast: yes Broadcast: yes Command has paired response: no

Parameters
query
destinationID
Returns

◆ SetKeyToUse()

void eoReCom::SetKeyToUse ( uint8_t  key)
inline
Parameters
ifgreater 0, use the key x to encrypt

◆ SetLinkBasedConfig()

eoReturn eoReCom::SetLinkBasedConfig ( std::vector< LINK_BASED_CONFIG > const &  linkConfig,
uint32_t  destinationID 
)

Set Link based configuration query Unicast: yes Broadcast: no

Parameters
linkConfigvector containing the parameters
Note
Warning the direction and table index will be taken from the first entry, entries which have a different direction or table index will be skipped!
Parameters
destinationID
Returns

◆ SetLinkTable()

eoReturn eoReCom::SetLinkTable ( std::vector< LINK_TABLE > const &  query,
RECOM_TABLE_DIR  tableDir,
uint32_t  destinationID 
)

Set link table content command. Unicast: yes Broadcast: yes Command has paired response: yes

Parameters
queryLINK_TABLE structures in a vector.
tableDirThe table direction of the entries
destinationIDThe device ID of the end device

◆ SetRepeater()

eoReturn eoReCom::SetRepeater ( REPEATER_FUNCTIONS const &  repeaterFunc,
uint32_t  destinationID 
)

Set repeater function. Unicast: yes Broadcast: no Command has paired response: no

Parameters
repeaterFuncparamters to set
destinationIDThe device ID of the end device

◆ SetRepeaterFilter()

eoReturn eoReCom::SetRepeaterFilter ( QUERY_SET_REPEATER_FILTER const &  repeaterFunc,
uint32_t  destinationID 
)

Set repeater function. Unicast: yes Broadcast: no Command has paired response: no

Parameters
repeaterFuncfilter to set
destinationIDThe device ID of the end device

◆ SetShallBeRepeated()

void eoReCom::SetShallBeRepeated ( bool  repeat)
inline
Parameters
repeat= if true, the send telegrams can be repeated

◆ TriggerOutboundTeachRequest()

eoReturn eoReCom::TriggerOutboundTeachRequest ( uint8_t  channel,
uint32_t  destinationID 
)

Trigger outbound remote teach request. Unicast: yes Broadcast: no Command has paired response: yes

Parameters
channelChannel selection
destinationIDThe device ID of the end device