hueplusplus  1.0.0
Namespaces | Classes | Enumerations | Functions | Variables
hueplusplus Namespace Reference

Namespace for the hueplusplus library. More...

Namespaces

 gamut
 Predefined ColorGamuts for Hue API.
 
 sensors
 Classes for specific sensor types.
 
 time
 Namespace for time/date related classes and functions.
 
 utils
 Utility functions used in multiple places.
 

Classes

class  Action
 Action executed by the bridge, e.g. as a Schedule command. More...
 
class  APICache
 Caches API GET requests and refreshes regularly. More...
 
class  BaseDevice
 Base class for physical devices connected to the bridge (sensor or light). More...
 
class  BaseHttpHandler
 Base class for classes that handle http requests and multicast requests. More...
 
class  Bridge
 Bridge class for a bridge. More...
 
class  BridgeConfig
 General bridge configuration properties. More...
 
class  BridgeFinder
 
class  BrightnessStrategy
 Virtual base class for all BrightnessStrategies. More...
 
struct  ColorGamut
 Triangle of representable colors in CIE. More...
 
class  ColorHueStrategy
 Virtual base class for all ColorHueStrategies. More...
 
class  ColorTemperatureStrategy
 Virtual base class for all ColorTemperatureStrategies. More...
 
class  Condition
 Condition for a Rule. More...
 
class  Config
 Configurable delays. More...
 
class  CreateableResourceList
 Handles a ResourceList where Resources can be added by the user. More...
 
class  CreateGroup
 Parameters necessary for creating a new Group. More...
 
class  CreateRule
 Parameters for creating a new Rule. More...
 
class  CreateScene
 Parameters for creating a new Scene. More...
 
class  CreateSchedule
 Parameters for creating a new Schedule. More...
 
class  CreateSensor
 Parameters for creating a new Sensor. More...
 
class  EntertainmentMode
 Class for Hue Entertainment Mode. More...
 
class  ExtendedColorHueStrategy
 
class  ExtendedColorTemperatureStrategy
 Class implementing the functions of ColorTemperatureStrategy. More...
 
struct  FileInfo
 Contains information about error location, use CURRENT_FILE_INFO to create. More...
 
class  Group
 Class for Groups of lights. More...
 
class  GroupResourceList
 Handles a group list with the special group 0. More...
 
class  HueAPIResponseException
 Exception caused by a Hue API "error" response with additional information. More...
 
class  HueCommandAPI
 
class  HueException
 Exception class with file information. Base class of all custom exception classes. More...
 
struct  HueSaturation
 Color in hue and saturation. More...
 
class  IHttpHandler
 Abstract class for classes that handle http requests and multicast requests. More...
 
class  Light
 Class for Hue Light fixtures. More...
 
class  LightFactory
 
class  LightState
 Immutable state of a light. More...
 
class  LightStateBuilder
 Builder to create LightState. More...
 
class  LinHttpHandler
 Class to handle http requests and multicast requests on linux systems. More...
 
class  NewDeviceList
 List of new devices found during the last scan. More...
 
class  ResourceList
 Handles a list of a certain API resource. More...
 
struct  RGB
 Color in RGB. More...
 
class  Rule
 Rule stored in the bridge. More...
 
class  Scene
 Scene stored in the bridge. More...
 
class  Schedule
 Schedule stored in the bridge. More...
 
class  SearchableResourceList
 Handles a ResourceList of physical devices which can be searched for. More...
 
class  Sensor
 Class for generic or unknown sensor types. More...
 
class  SensorList
 Handles a list of Sensors with type specific getters. More...
 
class  SimpleBrightnessStrategy
 Class implementing the functions of BrightnessStrategy. More...
 
class  SimpleColorHueStrategy
 
class  SimpleColorTemperatureStrategy
 Class implementing the functions of ColorTemperatureStrategy. More...
 
class  SocketCloser
 
class  StateTransaction
 Transaction class which can be used for either light or group state. More...
 
struct  TLSContext
 
class  UPnP
 Class that looks for UPnP devices using an m-search package. More...
 
struct  Version
 API version consisting of major, minor and patch version. More...
 
struct  WhitelistedUser
 User that is whitelisted for Hue API usage. More...
 
class  WinHttpHandler
 Class to handle http requests and multicast requests on windows systems. More...
 
struct  XY
 Color in CIE x and y coordinates. More...
 
struct  XYBrightness
 Color and brightness in CIE. More...
 

Enumerations

enum  ColorType {
  ColorType::UNDEFINED, ColorType::NONE, ColorType::GAMUT_A, ColorType::GAMUT_B,
  ColorType::GAMUT_C, ColorType::TEMPERATURE, ColorType::GAMUT_A_TEMPERATURE, ColorType::GAMUT_B_TEMPERATURE,
  ColorType::GAMUT_C_TEMPERATURE, ColorType::GAMUT_OTHER, ColorType::GAMUT_OTHER_TEMPERATURE
}
 enum that specifies the color type of all HueLights More...
 
enum  Alert { Alert::none, Alert::select, Alert::lselect }
 Specifies light alert modes. More...
 

Functions

unsigned int kelvinToMired (unsigned int kelvin)
 Const function that converts Kelvin to Mired. More...
 
unsigned int miredToKelvin (unsigned int mired)
 Const function that converts Mired to Kelvin. More...
 
std::string getPictureOfModel (const std::string &modelId)
 Get the picture name of a given model id. More...
 
std::string alertToString (Alert alert)
 Convert alert to string form. More...
 
Alert alertFromString (const std::string &s)
 Convert string to Alert enum. More...
 
std::vector< char > hexToBytes (const std::string &hex)
 

Variables

constexpr std::chrono::steady_clock::duration c_refreshNever = std::chrono::steady_clock::duration::max()
 Maximum duration, used to indicate that the cache should never be refreshed automatically. More...
 
constexpr uint8_t HUE_ENTERTAINMENT_HEADER_SIZE = 16
 
constexpr uint8_t HUE_ENTERTAINMENT_LIGHT_SIZE = 9
 

Detailed Description

Namespace for the hueplusplus library.

Enumeration Type Documentation

◆ Alert

enum hueplusplus::Alert
strong

Specifies light alert modes.

Enumerator
none 

No alert.

select 

Select alert (breathe cycle)

lselect 

Long select alert (15s breathe)

◆ ColorType

enum that specifies the color type of all HueLights

Enumerator
UNDEFINED 

ColorType for this light is unknown or undefined.

NONE 

light has no specific ColorType

GAMUT_A 

light uses Gamut A

GAMUT_B 

light uses Gamut B

GAMUT_C 

light uses Gamut C

TEMPERATURE 

light has color temperature control

GAMUT_A_TEMPERATURE 

light uses Gamut A and has color temperature control

GAMUT_B_TEMPERATURE 

light uses Gamut B and has color temperature control

GAMUT_C_TEMPERATURE 

light uses Gamut C and has color temperature control

GAMUT_OTHER 

light uses capabilities to specify a different gamut

GAMUT_OTHER_TEMPERATURE 

light uses capabilities to specify a different gamut and has color temperature control

Function Documentation

◆ alertFromString()

Alert hueplusplus::alertFromString ( const std::string &  s)

Convert string to Alert enum.

Parameters
sString representation
Returns
Alert::select or Alert::lselect when s matches, otherwise Alert::none

◆ alertToString()

std::string hueplusplus::alertToString ( Alert  alert)

Convert alert to string form.

Parameters
alertEnum value
Returns
"none", "select" or "lselect"

◆ getPictureOfModel()

std::string hueplusplus::getPictureOfModel ( const std::string &  modelId)

Get the picture name of a given model id.

Note
This function will only return the filename without extension, because Philips provides different file types.
Parameters
modelIdModel Id of a device to get the picture of
Returns
String that either contains the filename of the picture of the device or an empty string if it was not found.

◆ hexToBytes()

std::vector<char> hueplusplus::hexToBytes ( const std::string &  hex)

◆ kelvinToMired()

unsigned int hueplusplus::kelvinToMired ( unsigned int  kelvin)

Const function that converts Kelvin to Mired.

Parameters
kelvinUnsigned integer value in Kelvin
Returns
Unsigned integer value in Mired

◆ miredToKelvin()

unsigned int hueplusplus::miredToKelvin ( unsigned int  mired)

Const function that converts Mired to Kelvin.

Parameters
miredUnsigned integer value in Mired
Returns
Unsigned integer value in Kelvin

Variable Documentation

◆ c_refreshNever

constexpr std::chrono::steady_clock::duration hueplusplus::c_refreshNever = std::chrono::steady_clock::duration::max()

Maximum duration, used to indicate that the cache should never be refreshed automatically.

◆ HUE_ENTERTAINMENT_HEADER_SIZE

constexpr uint8_t hueplusplus::HUE_ENTERTAINMENT_HEADER_SIZE = 16

◆ HUE_ENTERTAINMENT_LIGHT_SIZE

constexpr uint8_t hueplusplus::HUE_ENTERTAINMENT_LIGHT_SIZE = 9