HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
Simple Thermostat

This module contains the classes that define and implement the Simple Thermostat interface API. More...

+ Collaboration diagram for Simple Thermostat:

Data Structures

struct  HF::Interfaces::SimpleThermostat::SupportedModes
 Helper class to handle the Supported Modes attribute for the Simple Thermostat interface. More...
 
struct  HF::Interfaces::SimpleThermostat::HeatCoolMode
 Helper class to handle the Heat/Cool Mode attribute for the Simple Thermostat interface. More...
 
struct  HF::Interfaces::SimpleThermostat::FanMode
 Helper class to handle the Fan Mode attribute for the Simple Thermostat interface. More...
 
struct  HF::Interfaces::SimpleThermostat::Attribute< _ID >
 Helper template class to handle attributes for the Simple Thermostat interface. More...
 
struct  HF::Interfaces::SimpleThermostat::BoostDuration
 Helper class to handle the Boost Duration attribute for the Simple Thermostat interface. More...
 
struct  HF::Interfaces::SimpleThermostat::Base
 Simple Thermostat Interface : Parent. More...
 
class  HF::Interfaces::SimpleThermostat::Server
 Simple Thermostat Interface : Server side implementation. More...
 
struct  HF::Interfaces::SimpleThermostat::Client
 Simple Thermostat Interface : Client side implementation. More...
 

Typedefs

typedef Attribute< HEAT_MODE_TEMP_ATTRHF::Interfaces::SimpleThermostat::HeatModeTemperature
 Helper class to handle the Heat Mode temperature attribute for the Simple Thermostat interface.
 
typedef Attribute< COOL_MODE_TEMP_ATTRHF::Interfaces::SimpleThermostat::CoolModeTemperature
 Helper class to handle the Cool Mode temperature attribute for the Simple Thermostat interface.
 
typedef Attribute< AUTO_MODE_HEAT_TEMP_ATTRHF::Interfaces::SimpleThermostat::AutoModeHeatTemperature
 Helper class to handle the Heat/Cool Mode heat temperature attribute for the Simple Thermostat interface.
 
typedef Attribute< AUTO_MODE_COOL_TEMP_ATTRHF::Interfaces::SimpleThermostat::AutoModeCoolTemperature
 Helper class to handle the Heat/Cool Mode cool temperature attribute for the Simple Thermostat interface.
 
typedef Attribute< HEAT_MODE_TEMP_OFFSET_ATTRHF::Interfaces::SimpleThermostat::HeatModeTemperatureOffset
 Helper class to handle the Heat Mode temperature offset attribute for the Simple Thermostat interface.
 
typedef Attribute< COOL_MODE_TEMP_OFFSET_ATTRHF::Interfaces::SimpleThermostat::CoolModeTemperatureOffset
 Helper class to handle the Cool Mode temperature offset attribute for the Simple Thermostat interface.
 

Enumerations

enum  HF::Interfaces::SimpleThermostat::CMD
 Command IDs.
 
enum  HF::Interfaces::SimpleThermostat::Attributes {
  HF::Interfaces::SimpleThermostat::SUPPORTED_MODES_ATTR = 0x01, HF::Interfaces::SimpleThermostat::HEAT_COOL_MODE_ATTR = 0x02, HF::Interfaces::SimpleThermostat::FAN_MODE_ATTR = 0x03, HF::Interfaces::SimpleThermostat::HEAT_MODE_TEMP_ATTR = 0x04,
  HF::Interfaces::SimpleThermostat::COOL_MODE_TEMP_ATTR = 0x05, HF::Interfaces::SimpleThermostat::AUTO_MODE_HEAT_TEMP_ATTR = 0x06, HF::Interfaces::SimpleThermostat::AUTO_MODE_COOL_TEMP_ATTR = 0x07, HF::Interfaces::SimpleThermostat::HEAT_MODE_TEMP_OFFSET_ATTR = 0x08,
  HF::Interfaces::SimpleThermostat::COOL_MODE_TEMP_OFFSET_ATTR = 0x09, HF::Interfaces::SimpleThermostat::BOOST_DURATION_ATTR = 0x0A
}
 Attributes. More...
 
enum  HF::Interfaces::SimpleThermostat::SupportedModesMasks {
  HF::Interfaces::SimpleThermostat::HEAT_MODE = 0x01, HF::Interfaces::SimpleThermostat::COOL_MODE = 0x02, HF::Interfaces::SimpleThermostat::AUTO_MODE = 0x04, HF::Interfaces::SimpleThermostat::FAN_OFF_MODE = 0x10,
  HF::Interfaces::SimpleThermostat::FAN_ON_MODE = 0x20, HF::Interfaces::SimpleThermostat::FAN_AUTO_MODE = 0x40
}
 Masks for the Simple Thermostat supported modes. More...
 

Functions

HF::Attributes::IAttributeHF::Interfaces::create_attribute (SimpleThermostat::Server *server, uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. More...
 
HF::Attributes::IAttributeHF::Interfaces::SimpleThermostat::create_attribute (uint8_t uid)
 Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleThermostat::Server *,uint8_t) More...
 

Detailed Description

This module contains the classes that define and implement the Simple Thermostat interface API.

Enumeration Type Documentation

◆ Attributes

Attributes.

Enumerator
SUPPORTED_MODES_ATTR 

Supported Modes.

HEAT_COOL_MODE_ATTR 

Heat/Cool Mode.

FAN_MODE_ATTR 

FAN Mode.

HEAT_MODE_TEMP_ATTR 

Heat Mode Temperature.

COOL_MODE_TEMP_ATTR 

Cool Mode Temperature.

AUTO_MODE_HEAT_TEMP_ATTR 

Heat/Cool Mode Heat Temperature.

AUTO_MODE_COOL_TEMP_ATTR 

Heat/Cool Mode Cool Temperature.

HEAT_MODE_TEMP_OFFSET_ATTR 

Heat Mode Temperature Offset.

COOL_MODE_TEMP_OFFSET_ATTR 

Cool Mode Temperature Offset.

BOOST_DURATION_ATTR 

Boost Duration.

Definition at line 70 of file simple_thermostat.h.

71  {
72  SUPPORTED_MODES_ATTR = 0x01,
73  HEAT_COOL_MODE_ATTR = 0x02,
74  FAN_MODE_ATTR = 0x03,
75  HEAT_MODE_TEMP_ATTR = 0x04,
76  COOL_MODE_TEMP_ATTR = 0x05,
81  BOOST_DURATION_ATTR = 0x0A,
82  __LAST_ATTR__ = BOOST_DURATION_ATTR
83  } Attributes;

◆ SupportedModesMasks

Masks for the Simple Thermostat supported modes.

Enumerator
HEAT_MODE 

Heat only support.

COOL_MODE 

Cool only support.

AUTO_MODE 

Heat/Cool support.

FAN_OFF_MODE 

Fan not working.

FAN_ON_MODE 

Fan working.

FAN_AUTO_MODE 

Fan has/is in automatic mode.

Definition at line 86 of file simple_thermostat.h.

87  {
88  HEAT_MODE = 0x01,
89  COOL_MODE = 0x02,
90  AUTO_MODE = 0x04,
91  FAN_OFF_MODE = 0x10,
92  FAN_ON_MODE = 0x20,
93  FAN_AUTO_MODE = 0x40,
94  ALL_MODES_MASK = HEAT_MODE | COOL_MODE | AUTO_MODE | FAN_ON_MODE |
SupportedModesMasks
Masks for the Simple Thermostat supported modes.

Function Documentation

◆ create_attribute() [1/2]

HF::Attributes::IAttribute* HF::Interfaces::create_attribute ( SimpleThermostat::Server server,
uint8_t  uid 
)

Create an attribute object that can hold the attribute with the given uid.

If server is not equal to nullptr then initialize it with the current value.

Parameters
[in]serverpointer to the object to read the current value from.
[in]uidattribute's UID to create the attribute object for.
Returns
pointer to an attribute object or nullptr if the attribute UID does not exist.

◆ create_attribute() [2/2]

HF::Attributes::IAttribute* HF::Interfaces::SimpleThermostat::create_attribute ( uint8_t  uid)
inline

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleThermostat::Server *,uint8_t)

See also
HF::Interfaces::create_attribute (HF::Interfaces::SimpleThermostat::Server *,uint8_t)
Parameters
[in]uidattribute UID to create the attribute object for.
Return values
pointerto an attribute object
<tt>nullptr</tt>if the attribute UID does not exist.

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleThermostat::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimplePowerMeter::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleLightSensor::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleKeypad::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleButton::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleAirPressure::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::OnOff::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::LevelControl::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::ColourControl::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::Alert::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::Scheduling::Weekly::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::Time::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SUOTA::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::RSSI::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::GroupTable::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid.

Create an attribute object that can hold the attribute with the given uid. (HF::Core::Scheduling::Event::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::DeviceManagement::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::DeviceInformation::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BindManagement::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BatchProgramManagement::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::AttributeReporting::Server *,uint8_t)

See also
HF::Interfaces::create_attribute (HF::Interfaces::SimpleHumidity::Server *,uint8_t)
Parameters
[in]uidattribute UID to create the attribute object for.
Returns
pointer to an attribute object or nullptr if the attribute UID does not exist.

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleThermostat::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimplePowerMeter::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleLightSensor::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleKeypad::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleButton::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleAirPressure::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::OnOff::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::LevelControl::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::ColourControl::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::Alert::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::Scheduling::Weekly::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::Time::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SUOTA::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::RSSI::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::GroupTable::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid.

Create an attribute object that can hold the attribute with the given uid. (HF::Core::Scheduling::Event::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::DeviceManagement::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::DeviceInformation::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BindManagement::Server *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::BatchProgramManagement::IServer *,uint8_t)

Create an attribute object that can hold the attribute with the given uid. (HF::Core::AttributeReporting::Server *,uint8_t)

See also
HF::Interfaces::create_attribute (HF::Interfaces::SimpleTemperature::Server *,uint8_t)
Parameters
[in]uidattribute UID to create the attribute object for.
Return values
pointerto an attribute object
<tt>nullptr</tt>if the attribute UID does not exist.

Definition at line 108 of file simple_humidity.h.

109  {
110  return Interfaces::create_attribute(static_cast<SimpleHumidity::Server *>(nullptr),
111  uid);
112  }
HF::Attributes::IAttribute * create_attribute(uint8_t uid)
Create an attribute object that can hold the attribute with the given uid. (HF::Interfaces::SimpleHum...