Daylight sensor to detect sunrise and sunset.
More...
#include <hueplusplus/Sensor.h>
|
| 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.
|
|
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 constexpr const char * | typeStr = "Daylight" |
| Daylight sensor type name.
|
|
|
| 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 ¤tState) |
| 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.
|
|
int | id |
| holds the id of the device
|
|
APICache | state |
| holds the current state of the device
|
|
Daylight sensor to detect sunrise and sunset.
Every bridge has a daylight sensor always available.
◆ DaylightSensor()
hueplusplus::sensors::DaylightSensor::DaylightSensor |
( |
Sensor |
sensor | ) |
|
|
inlineexplicit |
Construct from generic sensor.
◆ 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()
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 |
◆ typeStr
constexpr const char * hueplusplus::sensors::DaylightSensor::typeStr = "Daylight" |
|
staticconstexpr |
Daylight sensor type name.
The documentation for this class was generated from the following files: