HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
simple_thermostat.h File Reference

This file contains the definitions for the Simple Thermostat interface. More...

#include "hanfun/protocol.h"
#include "hanfun/interface.h"
+ Include dependency graph for simple_thermostat.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

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...
 

Namespaces

 HF
 Top-level namespace for the HAN-FUN library.
 
 HF::Interfaces
 This is the top-level namespace for the implemented Interfaces.
 
 HF::Interfaces::SimpleThermostat
 This namespace contains the implementation of the Simple Thermostat interface.
 

Typedefs

typedef Attribute< HEAT_MODE_TEMP_ATTR > HF::Interfaces::SimpleThermostat::HeatModeTemperature
 Helper class to handle the Heat Mode temperature attribute for the Simple Thermostat interface.
 
typedef Attribute< COOL_MODE_TEMP_ATTR > HF::Interfaces::SimpleThermostat::CoolModeTemperature
 Helper class to handle the Cool Mode temperature attribute for the Simple Thermostat interface.
 
typedef Attribute< AUTO_MODE_HEAT_TEMP_ATTR > HF::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_ATTR > HF::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_ATTR > HF::Interfaces::SimpleThermostat::HeatModeTemperatureOffset
 Helper class to handle the Heat Mode temperature offset attribute for the Simple Thermostat interface.
 
typedef Attribute< COOL_MODE_TEMP_OFFSET_ATTR > HF::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...
 
std::ostream & operator<< (std::ostream &stream, const HF::Interfaces::SimpleThermostat::CMD command)
 Convert the given command into a string and write it to the given stream. More...
 
std::ostream & operator<< (std::ostream &stream, const HF::Interfaces::SimpleThermostat::Attributes attribute)
 Convert the given attribute into a string and write it to the given stream. More...
 

Detailed Description

This file contains the definitions for the Simple Thermostat interface.

Version
1.5.3

For licensing information, please see the file 'LICENSE' in the root folder.

Initial development by Bithium S.A. [http://www.bithium.com]

Definition in file simple_thermostat.h.