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

The class to handle EEP a538 profiles. More...

#include <eoEEP_A538xx.h>

Inheritance diagram for eoEEP_A538xx:
Collaboration diagram for eoEEP_A538xx:

Public Member Functions

eoReturn SetType (uint8_t type)
 
virtual eoReturn GetValue (CHANNEL_TYPE type, uint32_t &value, uint8_t index)
 
virtual eoReturn SetValue (CHANNEL_TYPE type, uint32_t value, uint8_t index)
 
virtual eoReturn GetValue (CHANNEL_TYPE type, float &value, uint8_t index)
 Gets the Value as Floating point. More...
 
virtual eoReturn SetValue (CHANNEL_TYPE type, float value, uint8_t index)
 Gets the Value as a float. More...
 
virtual void ClearValues ()
 
eoReturn SetCommand (uint8_t cmd)
 
eoReturn Parse (const eoMessage &m)
 Parses a msg using learned in Profile from Device. More...
 
- Public Member Functions inherited from eoA5EEProfile
 eoA5EEProfile (uint16_t size=4)
 
virtual eoReturn Create (eoMessage &m)
 Generates an EEP Message. More...
 
virtual eoReturn CreateTeachIN (eoMessage &m)
 Generates an EEP Telegram(only not chained supported!!1) More...
 
bool Is4BSData (const eoMessage &m)
 
bool IsSecDData (const eoMessage &m)
 
- Public Member Functions inherited from eoEEProfile
 eoEEProfile (uint16_t size=4)
 
virtual eoReturn GetValue (CHANNEL_TYPE type, float &value)
 Gets the Value as Floating Point. More...
 
virtual eoReturn GetValue (CHANNEL_TYPE type, uint8_t &value)
 Sets the Value using a unsigned integer. More...
 
virtual eoReturn GetValue (CHANNEL_TYPE type, uint32_t &value)
 
virtual eoReturn GetValue (CHANNEL_TYPE type, uint8_t &value, uint8_t subFlag)
 Gets the Value as unsigned integer. More...
 
virtual eoReturn GetValue (CHANNEL_TYPE type, uint64_t &value, uint8_t subFlag)
 
virtual eoReturn SetValue (CHANNEL_TYPE type, float value)
 Sets the Value using a Floating Point. More...
 
virtual eoReturn SetValue (CHANNEL_TYPE type, uint8_t value)
 Sets the Value using a uint8_t. More...
 
virtual eoReturn SetValue (CHANNEL_TYPE type, uint32_t value)
 
virtual eoReturn SetValue (CHANNEL_TYPE type, uint8_t value, uint8_t subFlag)
 Gets the Value as unsigned integer. More...
 
virtual eoReturn SetValue (CHANNEL_TYPE type, uint64_t value, uint8_t subFlag)
 Sets the Value as a 64-bit. More...
 
virtual eoChannelInfoGetChannel (CHANNEL_TYPE type, uint8_t subType)
 
virtual eoChannelInfoGetChannel (CHANNEL_TYPE type)
 
virtual eoChannelInfoGetChannel (uint8_t channelNumber)
 
virtual eoReturn GetSubTypeChannel (CHANNEL_TYPE type, std::vector< eoEEPChannelInfo *> &vector)
 
virtual uint8_t GetChannelCount () const
 
- Public Member Functions inherited from eoProfile
 eoProfile (uint16_t size=0)
 
virtual bool operator== (const eoProfile &othProfile) const
 
virtual bool operator!= (const eoProfile &othProfile) const
 
virtual uint8_t Serialize (eoArchive &a)
 Serialization Function which will be called by the eoStorageManager. More...
 
eoReturn SetManufacturer (uint16_t manufacturerID)
 

Additional Inherited Members

- Public Attributes inherited from eoProfile
uint8_t rorg
 R-ORG.
 
uint8_t func
 Func.
 
uint8_t type
 Type.
 
uint16_t manufacturer
 Manufacturer.
 
- Static Protected Member Functions inherited from eoEEProfile
static void CopyItemToChannel (eoEEPChannelInfo &channel, EEP_ITEM const *item)
 
- Static Protected Member Functions inherited from eoProfile
static float ScaleFromRAW (uint32_t rawValue, uint32_t rangeMin, uint32_t rangeMax, double scaleMin, double scaleMax)
 Creates floating Point from Raw Value. More...
 
static uint32_t ScaleToRAW (float value, uint32_t rangeMin, uint32_t rangeMax, double scaleMin, double scaleMax)
 Creates Raw Value from a floating Point. More...
 
static eoReturn GetRawValue (const eoMessage &msg, uint32_t &value, uint16_t offset, uint8_t size)
 Gives raw data Value from a Message. More...
 
static eoReturn SetRawValue (eoMessage &msg, uint32_t value, uint16_t offset, uint8_t size)
 Inserts raw data Value in a message. More...
 
- Protected Attributes inherited from eoEEProfile
eoEEPChannelInfochannel
 ChannelInfo list for direct Access to channels.
 
uint8_t channelCount
 Number of channels.
 
- Protected Attributes inherited from eoProfile
eoMessage msg
 helper function to convert bits
 
- Static Protected Attributes inherited from eoProfile
static const uint8_t maskArray [8]
 Mask array.
 

Detailed Description

The class to handle EEP a538 profiles.

Allows the user to handle EEP a538 profiles, the following profiles are available:

  • A5-38-08
  • A5-38-09
    NOTE: set the command ID.

The following channels are available in Switching:

Channel Index Channel Type Type Comment
0 S_TIME float
1 F_ON_OFF uint8_t Lock/Unlock, CC_LOCK_UNLOCK
2 F_ON_OFF uint8_t Delay or duration, CC_DELAY_DURATION
3 F_ON_OFF uint8_t Switching command, CC_SWITCHING_COMMAND


The following channels are available in Dimming:

Channel Index Channel Type Type Comment
0 S_DIMMING float
1 S_TIME float
2 F_ON_OFF uint8_t Dimming range, CC_DIMMING_RANGE
3 F_ON_OFF uint8_t Store final value, CC_STORE_FINAL_VAL
4 F_ON_OFF uint8_t Switching command, CC_SWITCHING_COMMAND


The following channels are available in Setpoint shift:

Channel Index Channel Type Type
0 S_SETPOINT float


The following channels are available in Basic Setpoint:

Channel Index Channel Type Type
0 S_TEMP_ABS float


The following channels are available in Control variable:

Channel Index Channel Type Type Comment
0 S_SETPOINT float
1 E_CONTROLLER_MODE CC_CONTROLLER_MODE
2 F_ON_OFF uint8_t Controller state, CC_CONTROLLER_STATE
3 F_ON_OFF uint8_t Energy hold-off, CC_ENERGY_HOLDOFF
4 E_OCCUPANCY CC_ROOM_OCCUPANCY


The following channels are available in Fan stage:

Channel Index Channel Type Type
0 E_FANSPEED


The following channels are available in Central Command:

Channel Index Channel Type Type Comment
0 S_PERCENTAGE float Blind position, CC_BLIND_POSITION
1 S_ANGLE float Blind angle, CC_ANGLE_BLIND_POSITION
2 S_TIME float Blind open position, CC_BLIND_OPEN_POSITION
3 S_TIME float Blind open angle, CC_BLIND_OPEN_ANGLE
4 S_TIME float Blind close position, CC_BLIND_CLOSE_POSITION
5 S_TIME float Blind close angle, CC_BLIND_CLOSE_ANGLE
6 S_TIME float Runtime value to close, CC_RUNTIME_CLOSE
7 S_TIME float Runtime value to open, CC_RUNTIME_OPEN
8 S_TIME float Sunblind reversion time, CC_SUNBLIND_REVERSION
9 S_PERCENTAGE float Set minimum position, CC_SET_MIN_POSITION
10 S_PERCENTAGE float Set maximum position, CC_SET_MAX_POSITION
11 S_ANGLE float Fully shut angle, CC_FULLY_SHUT_ANGLE
12 S_ANGLE float Fully open angle, CC_FULLY_OPEN_ANGLE
13 F_ON_OFF uint8_t Position logic, CC_POSITION_LOGIC
14 E_USER_ACTION CC_FUNCTIONS
15 F_ON_OFF uint8_t Send status flag
16 F_ON_OFF uint8_t Position and angle flag
17 F_ON_OFF uint8_t Service mode flag


The following channels are available in Extended Lightning control:

Channel Index Channel Type Type Comment
1 S_TIME float Up ramping time, CC_UP_RAMPING_TIME
2 S_TIME float Down ramping time, CC_DOWN_RAMPING_TIME
3 S_DIMMING float Dimming value, CC_DIMMING_VALUE
4 S_TIME float Set ramping time, CC_SET_RAMPING_TIME
5 S_RGB float RGB red, CC_RGB_RED
6 S_RGB float RGB green, CC_RGB_GREEN
7 S_RGB float RGB blue, CC_RGB_BLUE
8 F_ON_OFF uint8_t Scene function, CC_SCENE
9 S_VALUE float Scene number, CC_SCENE_NUMBER
10 S_DIMMING float Minimum dimming value, CC_MIN_DIM_VALUE
11 S_DIMMING float Maximum dimming value, CC_MAX_DIM_VALUE
12 S_TIME float Lamp operating hours, CC_LAMP_OPERATING_HOUR
13 E_STATE CC_LOCKING_OPERATIONS
14 S_VALUE float Energy metering value, CC_ENERGY_METERING_VALUE
15 E_UNITS CC_ENERGY_UNITS
16 E_USER_ACTION CC_FUNCTIONS
17 F_ON_OFF uint8_t Send status flag, CC_SEND_STATUS
18 F_ON_OFF uint8_t Store final value, CC_STORE_FINAL_VAL
19 F_ON_OFF uint8_t Service mode flag, CC_SERVICE_MODE


Member Function Documentation

◆ ClearValues()

virtual void eoEEP_A538xx::ClearValues ( )
virtual

All raw values of the internal Message will be set to zero.

Reimplemented from eoProfile.

◆ GetValue()

virtual eoReturn eoEEP_A538xx::GetValue ( CHANNEL_TYPE  type,
float &  value,
uint8_t  subFlag 
)
virtual

Gets the Value as Floating point.

Using the CHANNEL_TYPE type information, this information gets the unsigned integer value accordingly, if the Profile does not support the requested CHANNEL_TYPE NOT_SUPPORTED is returned, if the functions is not implemented for the chosen profile, NOT_IMPLEMENTED is returned

Parameters
typeCHANNEL_TYPE
valueReference to floating point
subFlagSub flag
Returns
eoReturn EO_OK,NOT_SUPPORTED,NOT_IMPLEMENTED

Reimplemented from eoEEProfile.

◆ Parse()

eoReturn eoEEP_A538xx::Parse ( const eoMessage msg)
virtual

Parses a msg using learned in Profile from Device.

This function will parse the Message msg using the Profile Specific data

Parameters
msgMessage to parse
Returns
eoReturn EO_OK,NOT_SUPPORTED,NOT_IMPLEMENTED

Reimplemented from eoA5EEProfile.

◆ SetCommand()

eoReturn eoEEP_A538xx::SetCommand ( uint8_t  cmd)

Sets and checks if the specified command is supported

Parameters
cmd
Returns
eoReturn EO_OK or NOT_SUPPORTED

◆ SetType()

eoReturn eoEEP_A538xx::SetType ( uint8_t  type)
virtual

Sets and checks if the specified [EEP] type is supported

Parameters
type
Returns
eoReturn EO_OK or NOT_SUPPORTED

Reimplemented from eoProfile.

◆ SetValue()

virtual eoReturn eoEEP_A538xx::SetValue ( CHANNEL_TYPE  type,
float  value,
uint8_t  subFlag 
)
virtual

Gets the Value as a float.

Using the CHANNEL_TYPE type information, this information gets the unsigned integer value accordingly, if the Profile does not support the requested CHANNEL_TYPE NOT_SUPPORTED is returned, if the functions is not implemented for the chosen profile, NOT_IMPLEMENTED is returned

Parameters
typeCHANNEL_TYPE
valueReference to floating point
subFlagSub flag
Returns
eoReturn EO_OK,NOT_SUPPORTED,NOT_IMPLEMENTED

Reimplemented from eoEEProfile.