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

ZigBee sensor detecting ambient light level. More...

`#include <hueplusplus/ZLLSensors.h>`

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

## Public Member Functions

| ZLLLightLevel (Sensor sensor)
| Construct from generic sensor.
bool | isOn () const
| Check if 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.
bool | isReachable () const
| Check whether the sensor is reachable.
int | getDarkThreshold () const
| Get threshold to detect darkness.
void | setDarkThreshold (int threshold)
| Set threshold to detect darkness.
int | getThresholdOffset () const
| Get offset over dark threshold to detect daylight.
void | setThresholdOffset (int offset)
| Set offset to detect daylight.
int | getLightLevel () const
| Get measured light level.
bool | isDark () const
| Check whether light level is below dark threshold.
bool | isDaylight () const
| Check whether light level is above light threshold.
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 = "ZLLLightLevel"
| ZLLLightLevel 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

ZigBee sensor detecting ambient light level.

## Constructor & Destructor Documentation

## ZLLLightLevel()

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

inline explicit

Construct from generic sensor.

## Member Function Documentation

## getBatteryState()

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

Get battery state.

Returns
  Battery state in percent

## getDarkThreshold()

int hueplusplus::sensors::ZLLLightLevel::getDarkThreshold | ( |  | ) | const

Get threshold to detect darkness.

## getLastUpdated()

time::AbsoluteTime hueplusplus::sensors::ZLLLightLevel::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.

## getLightLevel()

int hueplusplus::sensors::ZLLLightLevel::getLightLevel | ( |  | ) | const

Get measured light level.

Returns
  Light level in `10000*log10(lux)+1` (logarithmic scale)

## getThresholdOffset()

int hueplusplus::sensors::ZLLLightLevel::getThresholdOffset | ( |  | ) | const

Get offset over dark threshold to detect daylight.

## hasBatteryState()

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

Check whether the sensor has a battery state.

## isDark()

bool hueplusplus::sensors::ZLLLightLevel::isDark | ( |  | ) | const

Check whether light level is below dark threshold.

## isDaylight()

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

Check whether light level is above light threshold.

Light threshold is dark threshold + offset

## isOn()

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

Check if sensor is on.

Sensors which are off do not change their status

## isReachable()

bool hueplusplus::sensors::ZLLLightLevel::isReachable | ( |  | ) | const

Check whether the sensor is reachable.

## setDarkThreshold()

void hueplusplus::sensors::ZLLLightLevel::setDarkThreshold | ( | int | threshold | ) |

Set threshold to detect darkness.

Parameters

  threshold | Light level as reported by getLightLevel

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::ZLLLightLevel::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

## setThresholdOffset()

void hueplusplus::sensors::ZLLLightLevel::setThresholdOffset | ( | int | offset | ) |

Set offset to detect daylight.

Parameters

  offset | Offset to dark threshold to detect daylight. Must be greater than 1.

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::ZLLLightLevel::typeStr = "ZLLLightLevel"

static constexpr

ZLLLightLevel sensor type name.

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

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