Loading...
Searching...
No Matches
hueplusplus::sensors::DaylightSensor Class Reference

Daylight sensor to detect sunrise and sunset. More...

`#include <hueplusplus/Sensor.h>`

Inheritance diagram for hueplusplus::sensors::DaylightSensor:
[legend]
Collaboration diagram for hueplusplus::sensors::DaylightSensor:
[legend]

## Public Member Functions

| DaylightSensor (Sensor sensor)
| Construct from generic sensor.
bool | isOn () const
| Check if the sensor is on.
void | setOn (bool on)
| Enable or disable sensor.
bool | hasBatteryState () const
| Check whether the sensor has a battery state.
int | getBatteryState () const
| Get battery state.
void | setBatteryState (int percent)
| Set battery state.
void | setCoordinates (const std::string &latitude, const std::string &longitude)
| Set GPS coordinates for the calculation.
bool | isConfigured () const
| Check whether coordinates are configured.
int | getSunriseOffset () const
| Get time offset in minutes to sunrise.
void | setSunriseOffset (int minutes)
| Set sunrise offset time.
int | getSunsetOffset () const
| Get time offset in minutes to sunset.
void | setSunsetOffset (int minutes)
| Set sunset offset time.
bool | isDaylight () const
| Check whether it is daylight or not.
time::AbsoluteTime | getLastUpdated () const
| Get time of last status update.
Public Member Functions inherited from hueplusplus::BaseDevice
virtual | ~BaseDevice ()=default
| Virtual destructor.
virtual int | getId () const
| Const function that returns the id of this device.
virtual std::string | getType () const
| Const function that returns the device type.
virtual std::string | getName ()
| Function that returns the name of the device.
virtual std::string | getName () const
| Const function that returns the name of the device.
virtual std::string | getModelId () const
| Const function that returns the modelid of the device.
virtual std::string | getUId () const
| Const function that returns the uniqueid of the device.
virtual std::string | getManufacturername () const
| Const function that returns the manufacturername of the device.
virtual std::string | getProductname () const
| Const function that returns the productname of the device.
virtual std::string | getSwVersion ()
| Function that returns the software version of the device.
virtual std::string | getSwVersion () const
| Const function that returns the software version of the device.
virtual bool | setName (const std::string &name)
| Function that sets the name of the device.
virtual void | refresh (bool force=false)
| Refreshes internal cached state.
virtual void | setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
| Sets custom refresh interval for this device.

## Static Public Attributes

static constexpr const char * | typeStr = "Daylight"
| Daylight sensor type name.

## Additional Inherited Members

Protected Member Functions inherited from hueplusplus::BaseDevice
| BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
| Protected ctor that is used by subclasses, construct with shared cache.
| BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
| Protected ctor that is used by subclasses.
virtual nlohmann::json | sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
| Utility function to send a put request to the device.
Protected Attributes inherited from hueplusplus::BaseDevice
int | id
| holds the id of the device
APICache | state
| holds the current state of the device

## Detailed Description

Daylight sensor to detect sunrise and sunset.

Every bridge has a daylight sensor always available.

## Constructor & Destructor Documentation

## DaylightSensor()

hueplusplus::sensors::DaylightSensor::DaylightSensor | ( | Sensor | sensor | ) |

inline explicit

Construct from generic sensor.

## Member Function Documentation

## getBatteryState()

int hueplusplus::sensors::DaylightSensor::getBatteryState | ( |  | ) | const

Get battery state.

Returns
  Battery state in percent

Exceptions

  nlohmann::json::out_of_range | when sensor has no battery state.

## getLastUpdated()

time::AbsoluteTime hueplusplus::sensors::DaylightSensor::getLastUpdated | ( |  | ) | const

Get time of last status update.

Returns
  The last update time, or a time with a zero duration from epoch if the last update time is not set.

## getSunriseOffset()

int hueplusplus::sensors::DaylightSensor::getSunriseOffset | ( |  | ) | const

Get time offset in minutes to sunrise.

The daylight is true if it is `offset` minutes after sunrise.

## getSunsetOffset()

int hueplusplus::sensors::DaylightSensor::getSunsetOffset | ( |  | ) | const

Get time offset in minutes to sunset.

The daylight is false if it is `offset` minutes after sunset.

## hasBatteryState()

bool hueplusplus::sensors::DaylightSensor::hasBatteryState | ( |  | ) | const

Check whether the sensor has a battery state.

## isConfigured()

bool hueplusplus::sensors::DaylightSensor::isConfigured | ( |  | ) | const

Check whether coordinates are configured.

There is no way to retrieve the configured coordinates.

## isDaylight()

bool hueplusplus::sensors::DaylightSensor::isDaylight | ( |  | ) | const

Check whether it is daylight or not.

## isOn()

bool hueplusplus::sensors::DaylightSensor::isOn | ( |  | ) | const

Check if the sensor is on.

Sensors which are off do not change their status

## setBatteryState()

void hueplusplus::sensors::DaylightSensor::setBatteryState | ( | int | percent | ) |

Set battery state.

Exceptions

  std::system_error | when system or socket operations fail
  HueException | when response contained no body
  HueAPIResponseException | when response contains an error
  nlohmann::json::parse_error | when response could not be parsed

## setCoordinates()

void hueplusplus::sensors::DaylightSensor::setCoordinates | ( | const std::string & | latitude,
|  | const std::string & | longitude )

Set GPS coordinates for the calculation.

Parameters

  latitude | Decimal latitude coordinate "DDD.DDDD{N|S}" with leading zeros ending with N or S. "none" to reset. (Empty string is null, which may be used instead of none in the future)
  longitude | Longitude coordinate (same format as latitude), ending with W or E

Exceptions

  std::system_error | when system or socket operations fail
  HueException | when response contained no body
  HueAPIResponseException | when response contains an error
  nlohmann::json::parse_error | when response could not be parsed

## setOn()

void hueplusplus::sensors::DaylightSensor::setOn | ( | bool | on | ) |

Enable or disable sensor.

Exceptions

  std::system_error | when system or socket operations fail
  HueException | when response contained no body
  HueAPIResponseException | when response contains an error
  nlohmann::json::parse_error | when response could not be parsed

## setSunriseOffset()

void hueplusplus::sensors::DaylightSensor::setSunriseOffset | ( | int | minutes | ) |

Set sunrise offset time.

Parameters

  minutes | Minutes from -120 to 120

Exceptions

  std::system_error | when system or socket operations fail
  HueException | when response contained no body
  HueAPIResponseException | when response contains an error
  nlohmann::json::parse_error | when response could not be parsed

## setSunsetOffset()

void hueplusplus::sensors::DaylightSensor::setSunsetOffset | ( | int | minutes | ) |

Set sunset offset time.

Parameters

  minutes | Minutes from -120 to 120

Exceptions

  std::system_error | when system or socket operations fail
  HueException | when response contained no body
  HueAPIResponseException | when response contains an error
  nlohmann::json::parse_error | when response could not be parsed

## Member Data Documentation

## typeStr

const char * hueplusplus::sensors::DaylightSensor::typeStr = "Daylight"

static constexpr

Daylight sensor type name.

The documentation for this class was generated from the following files:

- include/hueplusplus/Sensor.h
- src/Sensor.cpp