diff --git b/.nojekyll a/.nojekyll
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ a/.nojekyll
diff --git b/_a_p_i_cache_8cpp.html a/_a_p_i_cache_8cpp.html
new file mode 100644
index 0000000..f1140d5
--- /dev/null
+++ a/_a_p_i_cache_8cpp.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+hueplusplus: src/APICache.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
+
+
+
diff --git b/_a_p_i_cache_8cpp__incl.map a/_a_p_i_cache_8cpp__incl.map
new file mode 100644
index 0000000..804d2e1
--- /dev/null
+++ a/_a_p_i_cache_8cpp__incl.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git b/_a_p_i_cache_8cpp__incl.md5 a/_a_p_i_cache_8cpp__incl.md5
new file mode 100644
index 0000000..a887da6
--- /dev/null
+++ a/_a_p_i_cache_8cpp__incl.md5
@@ -0,0 +1 @@
+d665b78d29128b9c94c965868b777ed9
\ No newline at end of file
diff --git b/_a_p_i_cache_8cpp__incl.png a/_a_p_i_cache_8cpp__incl.png
new file mode 100644
index 0000000..74e2fc8
--- /dev/null
+++ a/_a_p_i_cache_8cpp__incl.png
diff --git b/_a_p_i_cache_8h.html a/_a_p_i_cache_8h.html
new file mode 100644
index 0000000..9d7a25a
--- /dev/null
+++ a/_a_p_i_cache_8h.html
@@ -0,0 +1,178 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/APICache.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <chrono>
+
#include <string>
+
#include "HueCommandAPI.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+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. More...
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+Copyright (C) 2020 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_a_p_i_cache_8h__dep__incl.map a/_a_p_i_cache_8h__dep__incl.map
new file mode 100644
index 0000000..b585015
--- /dev/null
+++ a/_a_p_i_cache_8h__dep__incl.map
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_a_p_i_cache_8h__dep__incl.md5 a/_a_p_i_cache_8h__dep__incl.md5
new file mode 100644
index 0000000..4deb8e5
--- /dev/null
+++ a/_a_p_i_cache_8h__dep__incl.md5
@@ -0,0 +1 @@
+a8b17b354015080ca58bf31174c06c39
\ No newline at end of file
diff --git b/_a_p_i_cache_8h__dep__incl.png a/_a_p_i_cache_8h__dep__incl.png
new file mode 100644
index 0000000..950c89d
--- /dev/null
+++ a/_a_p_i_cache_8h__dep__incl.png
diff --git b/_a_p_i_cache_8h__incl.map a/_a_p_i_cache_8h__incl.map
new file mode 100644
index 0000000..48df004
--- /dev/null
+++ a/_a_p_i_cache_8h__incl.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/_a_p_i_cache_8h__incl.md5 a/_a_p_i_cache_8h__incl.md5
new file mode 100644
index 0000000..5fe1ba3
--- /dev/null
+++ a/_a_p_i_cache_8h__incl.md5
@@ -0,0 +1 @@
+ab0740629d2b2f42a1ff7b7844da28a4
\ No newline at end of file
diff --git b/_a_p_i_cache_8h__incl.png a/_a_p_i_cache_8h__incl.png
new file mode 100644
index 0000000..b8501d4
--- /dev/null
+++ a/_a_p_i_cache_8h__incl.png
diff --git b/_a_p_i_cache_8h_source.html a/_a_p_i_cache_8h_source.html
new file mode 100644
index 0000000..cba7071
--- /dev/null
+++ a/_a_p_i_cache_8h_source.html
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/APICache.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_API_CACHE_H 24 #define INCLUDE_API_CACHE_H 34 constexpr std::chrono::steady_clock::duration
c_refreshNever = std::chrono::steady_clock::duration::max();
48 std::shared_ptr<APICache> baseCache,
const std::string& subEntry, std::chrono::steady_clock::duration
refresh );
55 APICache (
const std::string& path,
const HueCommandAPI & commands, std::chrono::steady_clock::duration refresh,
56 const nlohmann::json& initial);
75 const nlohmann::json&
getValue ()
const ;
102 std::shared_ptr<APICache> base;
105 std::chrono::steady_clock::duration refreshDuration;
106 std::chrono::steady_clock::time_point lastRefresh;
107 nlohmann::json value;
Definition: HueCommandAPI.h:37
+
HueCommandAPI & getCommandAPI()
Get HueCommandAPI used for requests.
Definition: APICache.cpp:127
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
Caches API GET requests and refreshes regularly.
Definition: APICache.h:37
+
void refresh()
Refresh cache now.
Definition: APICache.cpp:47
+
+
APICache(std::shared_ptr< APICache > baseCache, const std::string &subEntry, std::chrono::steady_clock::duration refresh)
Constructs APICache which forwards to a base cache.
Definition: APICache.cpp:29
+
void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)
Set duration after which the cache is refreshed.
Definition: APICache.cpp:117
+
constexpr std::chrono::steady_clock::duration c_refreshNever
Maximum duration, used to indicate that the cache should never be refreshed automatically.
Definition: APICache.h:34
+
nlohmann::json & getValue()
Get cached value, refresh if necessary.
Definition: APICache.cpp:69
+
std::string getRequestPath() const
Get path the cache is refreshed from.
Definition: APICache.cpp:166
+
std::chrono::steady_clock::duration getRefreshDuration() const
Get duration between refreshes.
Definition: APICache.cpp:122
+
+
+
+
+
diff --git b/_action_8cpp.html a/_action_8cpp.html
new file mode 100644
index 0000000..588af7c
--- /dev/null
+++ a/_action_8cpp.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+hueplusplus: src/Action.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_action_8cpp__incl.map a/_action_8cpp__incl.map
new file mode 100644
index 0000000..b9f2bbc
--- /dev/null
+++ a/_action_8cpp__incl.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/_action_8cpp__incl.md5 a/_action_8cpp__incl.md5
new file mode 100644
index 0000000..f1371c7
--- /dev/null
+++ a/_action_8cpp__incl.md5
@@ -0,0 +1 @@
+ceadb6818415d9f41eefd4a3ed909470
\ No newline at end of file
diff --git b/_action_8cpp__incl.png a/_action_8cpp__incl.png
new file mode 100644
index 0000000..0310a7a
--- /dev/null
+++ a/_action_8cpp__incl.png
diff --git b/_action_8h.html a/_action_8h.html
new file mode 100644
index 0000000..93eed06
--- /dev/null
+++ a/_action_8h.html
@@ -0,0 +1,153 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Action.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_action_8h__dep__incl.map a/_action_8h__dep__incl.map
new file mode 100644
index 0000000..9bceaa5
--- /dev/null
+++ a/_action_8h__dep__incl.map
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_action_8h__dep__incl.md5 a/_action_8h__dep__incl.md5
new file mode 100644
index 0000000..5ba90fb
--- /dev/null
+++ a/_action_8h__dep__incl.md5
@@ -0,0 +1 @@
+78251dd2f173152b1d64c6d073770f57
\ No newline at end of file
diff --git b/_action_8h__dep__incl.png a/_action_8h__dep__incl.png
new file mode 100644
index 0000000..f10ab24
--- /dev/null
+++ a/_action_8h__dep__incl.png
diff --git b/_action_8h__incl.map a/_action_8h__incl.map
new file mode 100644
index 0000000..a7934f1
--- /dev/null
+++ a/_action_8h__incl.map
@@ -0,0 +1,2 @@
+
+
diff --git b/_action_8h__incl.md5 a/_action_8h__incl.md5
new file mode 100644
index 0000000..2008f29
--- /dev/null
+++ a/_action_8h__incl.md5
@@ -0,0 +1 @@
+ca2f4d5987d77a5262ea0d5ca3b496a8
\ No newline at end of file
diff --git b/_action_8h__incl.png a/_action_8h__incl.png
new file mode 100644
index 0000000..a3875b4
--- /dev/null
+++ a/_action_8h__incl.png
diff --git b/_action_8h_source.html a/_action_8h_source.html
new file mode 100644
index 0000000..84063ca
--- /dev/null
+++ a/_action_8h_source.html
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Action.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 22 #ifndef INCLUDE_HUEPLUSPLUS_ACTION_H 23 #define INCLUDE_HUEPLUSPLUS_ACTION_H 25 #include "json/json.hpp" 40 explicit Action (
const nlohmann::json& json);
55 const nlohmann::json&
getBody ()
const ;
58 const nlohmann::json&
toJson ()
const ;
Method getMethod() const
Get request method.
Definition: Action.cpp:35
+
Action executed by the bridge, e.g. as a Schedule command.
Definition: Action.h:35
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
static Method parseMethod(const std::string &s)
Parse Method from string.
Definition: Action.cpp:50
+
const nlohmann::json & toJson() const
Get json object of command.
Definition: Action.cpp:45
+
+
Method
Method used for the command.
Definition: Action.h:43
+
+
static std::string methodToString(Method m)
Get string from Method.
Definition: Action.cpp:67
+
const nlohmann::json & getBody() const
Get request body.
Definition: Action.cpp:40
+
+
std::string getAddress() const
Get address the request is made to.
Definition: Action.cpp:30
+
Action(const nlohmann::json &json)
Create Action from json.
Definition: Action.cpp:28
+
+
+
+
+
diff --git b/_base_device_8cpp.html a/_base_device_8cpp.html
new file mode 100644
index 0000000..28dc0ea
--- /dev/null
+++ a/_base_device_8cpp.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+hueplusplus: src/BaseDevice.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "hueplusplus/BaseDevice.h "
+
#include <cmath>
+
#include <iostream>
+
#include <thread>
+
#include "hueplusplus/HueExceptionMacro.h "
+
#include "hueplusplus/Utils.h "
+
#include "json/json.hpp"
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Stefan Herbrechtsmeier - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_base_device_8cpp__incl.map a/_base_device_8cpp__incl.map
new file mode 100644
index 0000000..962e0d9
--- /dev/null
+++ a/_base_device_8cpp__incl.map
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git b/_base_device_8cpp__incl.md5 a/_base_device_8cpp__incl.md5
new file mode 100644
index 0000000..54262b5
--- /dev/null
+++ a/_base_device_8cpp__incl.md5
@@ -0,0 +1 @@
+9419e2e1146e3d9848b45b8bdf5ae5ed
\ No newline at end of file
diff --git b/_base_device_8cpp__incl.png a/_base_device_8cpp__incl.png
new file mode 100644
index 0000000..d6d32c9
--- /dev/null
+++ a/_base_device_8cpp__incl.png
diff --git b/_base_device_8h.html a/_base_device_8h.html
new file mode 100644
index 0000000..efcec95
--- /dev/null
+++ a/_base_device_8h.html
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/BaseDevice.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <memory>
+
#include "APICache.h "
+
#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_base_device_8h__dep__incl.map a/_base_device_8h__dep__incl.map
new file mode 100644
index 0000000..de0f85c
--- /dev/null
+++ a/_base_device_8h__dep__incl.map
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_base_device_8h__dep__incl.md5 a/_base_device_8h__dep__incl.md5
new file mode 100644
index 0000000..8e3bfa2
--- /dev/null
+++ a/_base_device_8h__dep__incl.md5
@@ -0,0 +1 @@
+34de8a697766416073fd9d96b4c784c9
\ No newline at end of file
diff --git b/_base_device_8h__dep__incl.png a/_base_device_8h__dep__incl.png
new file mode 100644
index 0000000..2f65f34
--- /dev/null
+++ a/_base_device_8h__dep__incl.png
diff --git b/_base_device_8h__incl.map a/_base_device_8h__incl.map
new file mode 100644
index 0000000..93bc659
--- /dev/null
+++ a/_base_device_8h__incl.map
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git b/_base_device_8h__incl.md5 a/_base_device_8h__incl.md5
new file mode 100644
index 0000000..bccdc13
--- /dev/null
+++ a/_base_device_8h__incl.md5
@@ -0,0 +1 @@
+0c74e4275e47141a5a12c0291e94b192
\ No newline at end of file
diff --git b/_base_device_8h__incl.png a/_base_device_8h__incl.png
new file mode 100644
index 0000000..2655bc5
--- /dev/null
+++ a/_base_device_8h__incl.png
diff --git b/_base_device_8h_source.html a/_base_device_8h_source.html
new file mode 100644
index 0000000..738b903
--- /dev/null
+++ a/_base_device_8h_source.html
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/BaseDevice.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_THING_H 24 #define INCLUDE_HUEPLUSPLUS_HUE_THING_H 30 #include "json/json.hpp" 44 virtual int getId ()
const ;
49 virtual std::string
getType ()
const ;
64 virtual std::string
getName ()
const ;
75 virtual std::string
getUId ()
const ;
111 virtual bool setName (
const std::string& name);
120 virtual void refresh (
bool force =
false );
130 BaseDevice (
int id ,
const std::shared_ptr<APICache>& baseCache);
139 std::chrono::steady_clock::duration refreshDuration,
const nlohmann::json& currentState);
151 virtual nlohmann::json
sendPutRequest (
const std::string& subPath,
const nlohmann::json& request,
FileInfo fileInfo);
Definition: HueCommandAPI.h:37
+
int id
holds the id of the device
Definition: BaseDevice.h:154
+
virtual int getId() const
Const function that returns the id of this device.
Definition: BaseDevice.cpp:34
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
virtual std::string getManufacturername() const
Const function that returns the manufacturername of the device.
Definition: BaseDevice.cpp:64
+
Caches API GET requests and refreshes regularly.
Definition: APICache.h:37
+
virtual std::string getUId() const
Const function that returns the uniqueid of the device.
Definition: BaseDevice.cpp:59
+
Base class for physical devices connected to the bridge (sensor or light).
Definition: BaseDevice.h:35
+
virtual std::string getProductname() const
Const function that returns the productname of the device.
Definition: BaseDevice.cpp:69
+
virtual std::string getName()
Function that returns the name of the device.
Definition: BaseDevice.cpp:44
+
Contains information about error location, use CURRENT_FILE_INFO to create.
Definition: HueException.h:34
+
APICache state
holds the current state of the device
Definition: BaseDevice.h:155
+
virtual void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)
Sets custom refresh interval for this device.
Definition: BaseDevice.cpp:123
+
virtual std::string getSwVersion()
Function that returns the software version of the device.
Definition: BaseDevice.cpp:74
+
virtual std::string getType() const
Const function that returns the device type.
Definition: BaseDevice.cpp:39
+
virtual ~BaseDevice()=default
Virtual destructor.
+
virtual void refresh(bool force=false)
Refreshes internal cached state.
Definition: BaseDevice.cpp:111
+
virtual std::string getModelId() const
Const function that returns the modelid of the device.
Definition: BaseDevice.cpp:54
+
+
virtual bool setName(const std::string &name)
Function that sets the name of the device.
Definition: BaseDevice.cpp:84
+
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)
Protected ctor that is used by subclasses, construct with shared cache.
Definition: BaseDevice.cpp:94
+
virtual nlohmann::json sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
Utility function to send a put request to the device.
Definition: BaseDevice.cpp:106
+
+
+
+
+
diff --git b/_base_http_handler_8cpp.html a/_base_http_handler_8cpp.html
new file mode 100644
index 0000000..03d6639
--- /dev/null
+++ a/_base_http_handler_8cpp.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+hueplusplus: src/BaseHttpHandler.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+Copyright (C) 2020 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_base_http_handler_8cpp__incl.map a/_base_http_handler_8cpp__incl.map
new file mode 100644
index 0000000..b7911c2
--- /dev/null
+++ a/_base_http_handler_8cpp__incl.map
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git b/_base_http_handler_8cpp__incl.md5 a/_base_http_handler_8cpp__incl.md5
new file mode 100644
index 0000000..15cc020
--- /dev/null
+++ a/_base_http_handler_8cpp__incl.md5
@@ -0,0 +1 @@
+45a7894c46c26a8643e9887fa883a661
\ No newline at end of file
diff --git b/_base_http_handler_8cpp__incl.png a/_base_http_handler_8cpp__incl.png
new file mode 100644
index 0000000..9df854e
--- /dev/null
+++ a/_base_http_handler_8cpp__incl.png
diff --git b/_base_http_handler_8h.html a/_base_http_handler_8h.html
new file mode 100644
index 0000000..5927e96
--- /dev/null
+++ a/_base_http_handler_8h.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/BaseHttpHandler.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <iostream>
+
#include <memory>
+
#include <string>
+
#include <vector>
+
#include "IHttpHandler.h "
+
#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+Copyright (C) 2020 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_base_http_handler_8h__dep__incl.map a/_base_http_handler_8h__dep__incl.map
new file mode 100644
index 0000000..ff6e96b
--- /dev/null
+++ a/_base_http_handler_8h__dep__incl.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_base_http_handler_8h__dep__incl.md5 a/_base_http_handler_8h__dep__incl.md5
new file mode 100644
index 0000000..b29f76f
--- /dev/null
+++ a/_base_http_handler_8h__dep__incl.md5
@@ -0,0 +1 @@
+8797b43038afbfa1efe28542213ab408
\ No newline at end of file
diff --git b/_base_http_handler_8h__dep__incl.png a/_base_http_handler_8h__dep__incl.png
new file mode 100644
index 0000000..3795d5d
--- /dev/null
+++ a/_base_http_handler_8h__dep__incl.png
diff --git b/_base_http_handler_8h__incl.map a/_base_http_handler_8h__incl.map
new file mode 100644
index 0000000..5f1ebbd
--- /dev/null
+++ a/_base_http_handler_8h__incl.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/_base_http_handler_8h__incl.md5 a/_base_http_handler_8h__incl.md5
new file mode 100644
index 0000000..709e6e4
--- /dev/null
+++ a/_base_http_handler_8h__incl.md5
@@ -0,0 +1 @@
+d66f592a661c3841e3192049758f79ac
\ No newline at end of file
diff --git b/_base_http_handler_8h__incl.png a/_base_http_handler_8h__incl.png
new file mode 100644
index 0000000..b8f03a5
--- /dev/null
+++ a/_base_http_handler_8h__incl.png
diff --git b/_base_http_handler_8h_source.html a/_base_http_handler_8h_source.html
new file mode 100644
index 0000000..f73f82e
--- /dev/null
+++ a/_base_http_handler_8h_source.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/BaseHttpHandler.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_BASE_HTTP_HANDLER_H 24 #define INCLUDE_HUEPLUSPLUS_BASE_HTTP_HANDLER_H 33 #include "json/json.hpp" 52 std::string
sendGetHTTPBody (
const std::string& msg,
const std::string& adr,
int port = 80)
const override ;
65 std::string
sendHTTPRequest (
const std::string& method,
const std::string& uri,
const std::string& contentType,
66 const std::string& body,
const std::string& adr,
int port = 80)
const override ;
79 std::string
GETString (
const std::string& uri,
const std::string& contentType,
const std::string& body,
80 const std::string& adr,
int port = 80)
const override ;
93 std::string
POSTString (
const std::string& uri,
const std::string& contentType,
const std::string& body,
94 const std::string& adr,
int port = 80)
const override ;
107 std::string
PUTString (
const std::string& uri,
const std::string& contentType,
const std::string& body,
108 const std::string& adr,
int port = 80)
const override ;
121 std::string
DELETEString (
const std::string& uri,
const std::string& contentType,
const std::string& body,
122 const std::string& adr,
int port = 80)
const override ;
135 const std::string& uri,
const nlohmann::json& body,
const std::string& adr,
int port = 80)
const override ;
148 const std::string& uri,
const nlohmann::json& body,
const std::string& adr,
int port = 80)
const override ;
161 const std::string& uri,
const nlohmann::json& body,
const std::string& adr,
int port = 80)
const override ;
174 const std::string& uri,
const nlohmann::json& body,
const std::string& adr,
int port = 80)
const override ;
std::string DELETEString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
Send a HTTP DELETE request to the specified host and return the body of the response.
Definition: BaseHttpHandler.cpp:97
+
virtual ~BaseHttpHandler()=default
Virtual dtor.
+
std::string POSTString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
Send a HTTP POST request to the specified host and return the body of the response.
Definition: BaseHttpHandler.cpp:85
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
nlohmann::json POSTJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
Send a HTTP POST request to the specified host and return the body of the response parsed as JSON...
Definition: BaseHttpHandler.cpp:109
+
Abstract class for classes that handle http requests and multicast requests.
Definition: IHttpHandler.h:37
+
nlohmann::json GETJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
Send a HTTP GET request to the specified host and return the body of the response parsed as JSON...
Definition: BaseHttpHandler.cpp:103
+
+
std::string GETString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
Send a HTTP GET request to the specified host and return the body of the response.
Definition: BaseHttpHandler.cpp:79
+
nlohmann::json PUTJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
Send a HTTP PUT request to the specified host and return the body of the response parsed as JSON...
Definition: BaseHttpHandler.cpp:115
+
std::string sendHTTPRequest(const std::string &method, const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
Send a HTTP request with the given method to the specified host and return the body of the response...
Definition: BaseHttpHandler.cpp:46
+
std::string sendGetHTTPBody(const std::string &msg, const std::string &adr, int port=80) const override
Send a message to a specified host and return the body of the response.
Definition: BaseHttpHandler.cpp:29
+
nlohmann::json DELETEJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
Send a HTTP DELETE request to the specified host and return the body of the response parsed as JSON...
Definition: BaseHttpHandler.cpp:121
+
std::string PUTString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
Send a HTTP PUT request to the specified host and return the body of the response.
Definition: BaseHttpHandler.cpp:91
+
Base class for classes that handle http requests and multicast requests.
Definition: BaseHttpHandler.h:38
+
+
+
+
+
diff --git b/_bridge_8cpp.html a/_bridge_8cpp.html
new file mode 100644
index 0000000..b8507f0
--- /dev/null
+++ a/_bridge_8cpp.html
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+hueplusplus: src/Bridge.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "hueplusplus/Bridge.h "
+
#include <algorithm>
+
#include <cctype>
+
#include <chrono>
+
#include <cstring>
+
#include <iostream>
+
#include <locale>
+
#include <stdexcept>
+
#include <thread>
+
#include "hueplusplus/HueExceptionMacro.h "
+
#include "hueplusplus/LibConfig.h "
+
#include "hueplusplus/UPnP.h "
+
#include "hueplusplus/Utils.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_bridge_8cpp__incl.map a/_bridge_8cpp__incl.map
new file mode 100644
index 0000000..8abf233
--- /dev/null
+++ a/_bridge_8cpp__incl.map
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_bridge_8cpp__incl.md5 a/_bridge_8cpp__incl.md5
new file mode 100644
index 0000000..078e9a0
--- /dev/null
+++ a/_bridge_8cpp__incl.md5
@@ -0,0 +1 @@
+6b0c5bbd5f5443a36b43c830322be83d
\ No newline at end of file
diff --git b/_bridge_8cpp__incl.png a/_bridge_8cpp__incl.png
new file mode 100644
index 0000000..e3341f5
--- /dev/null
+++ a/_bridge_8cpp__incl.png
diff --git b/_bridge_8h.html a/_bridge_8h.html
new file mode 100644
index 0000000..61043c7
--- /dev/null
+++ a/_bridge_8h.html
@@ -0,0 +1,181 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Bridge.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <map>
+
#include <memory>
+
#include <string>
+
#include <utility>
+
#include <vector>
+
#include "APICache.h "
+
#include "BridgeConfig.h "
+
#include "BrightnessStrategy.h "
+
#include "ColorHueStrategy.h "
+
#include "ColorTemperatureStrategy.h "
+
#include "Group.h "
+
#include "HueCommandAPI.h "
+
#include "HueDeviceTypes.h "
+
#include "IHttpHandler.h "
+
#include "Light.h "
+
#include "ResourceList.h "
+
#include "Rule.h "
+
#include "Scene.h "
+
#include "Schedule.h "
+
#include "Sensor.h "
+
#include "SensorList.h "
+
#include "Utils.h "
+
#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_bridge_8h__dep__incl.map a/_bridge_8h__dep__incl.map
new file mode 100644
index 0000000..59b5762
--- /dev/null
+++ a/_bridge_8h__dep__incl.map
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git b/_bridge_8h__dep__incl.md5 a/_bridge_8h__dep__incl.md5
new file mode 100644
index 0000000..b9eeaff
--- /dev/null
+++ a/_bridge_8h__dep__incl.md5
@@ -0,0 +1 @@
+72d7c73a0aa39ae30c4c79f04e33cc24
\ No newline at end of file
diff --git b/_bridge_8h__dep__incl.png a/_bridge_8h__dep__incl.png
new file mode 100644
index 0000000..5939e4e
--- /dev/null
+++ a/_bridge_8h__dep__incl.png
diff --git b/_bridge_8h__incl.map a/_bridge_8h__incl.map
new file mode 100644
index 0000000..36a3a53
--- /dev/null
+++ a/_bridge_8h__incl.map
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_bridge_8h__incl.md5 a/_bridge_8h__incl.md5
new file mode 100644
index 0000000..736c430
--- /dev/null
+++ a/_bridge_8h__incl.md5
@@ -0,0 +1 @@
+e204a2e55caf80ba25815a8e2561a167
\ No newline at end of file
diff --git b/_bridge_8h__incl.png a/_bridge_8h__incl.png
new file mode 100644
index 0000000..235adcf
--- /dev/null
+++ a/_bridge_8h__incl.png
diff --git b/_bridge_8h_source.html a/_bridge_8h_source.html
new file mode 100644
index 0000000..6486e4e
--- /dev/null
+++ a/_bridge_8h_source.html
@@ -0,0 +1,118 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Bridge.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_H 24 #define INCLUDE_HUEPLUSPLUS_HUE_H 50 #include "json/json.hpp" 75 BridgeFinder (std::shared_ptr<const IHttpHandler> handler);
83 std::vector<BridgeIdentification>
findBridges ()
const ;
107 void addClientKey (
const std::string&
mac ,
const std::string& clientkey);
126 static std::string parseDescription(
const std::string& description);
128 std::map<std::string, std::string> usernames;
129 std::map<std::string, std::string> clientkeys;
131 std::shared_ptr<const IHttpHandler> http_handler;
161 std::shared_ptr<const IHttpHandler> handler,
const std::string& clientkey =
"" ,
162 std::chrono::steady_clock::duration refreshDuration = std::chrono::seconds(10),
bool sharedState =
false );
180 void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration);
185 std::string getBridgeIP()
const ;
190 bool startStreaming(std::string group_identifier);
195 bool stopStreaming(std::string group_identifier);
200 int getBridgePort()
const ;
211 std::string requestUsername();
216 std::string getUsername()
const ;
221 std::string getClientKey()
const ;
226 void setIP(
const std::string& ip);
232 void setPort(
const int port);
284 void setHttpHandler(std::shared_ptr<const IHttpHandler> handler);
290 std::string clientkey;
293 std::shared_ptr<const IHttpHandler> http_handler;
294 std::chrono::steady_clock::duration refreshDuration;
296 std::shared_ptr<APICache> stateCache;
297 detail::MakeCopyable<LightList> lightList;
298 detail::MakeCopyable<GroupList> groupList;
299 detail::MakeCopyable<ScheduleList> scheduleList;
300 detail::MakeCopyable<SceneList> sceneList;
301 detail::MakeCopyable<SensorList> sensorList;
302 detail::MakeCopyable<RuleList> ruleList;
303 detail::MakeCopyable<BridgeConfig> bridgeConfig;
void addClientKey(const std::string &mac, const std::string &clientkey)
Function that adds a client key to the clientkeys map.
Definition: Bridge.cpp:114
+
Parameters for creating a new Schedule.
Definition: Schedule.h:150
+
Handles a ResourceList where Resources can be added by the user.
Definition: ResourceList.h:285
+
Bridge getBridge(const BridgeIdentification &identification, bool sharedState=false)
Gets a Hue bridge based on its identification.
Definition: Bridge.cpp:78
+
+
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
+
int port
Definition: Bridge.h:67
+
std::string mac
Definition: Bridge.h:68
+
void addUsername(const std::string &mac, const std::string &username)
Function that adds a username to the usernames map.
Definition: Bridge.cpp:109
+
Parameters for creating a new Rule.
Definition: Rule.h:150
+
Handles a group list with the special group 0.
Definition: ResourceList.h:331
+
+
+
+
+
+
+
const std::map< std::string, std::string > & getAllUsernames() const
Function that returns a map of mac addresses and usernames.
Definition: Bridge.cpp:119
+
Parameters for creating a new Scene.
Definition: Scene.h:267
+
const std::string username
Definition: BridgeSetup.cpp:47
+
+
Bridge class for a bridge.
Definition: Bridge.h:138
+
+
+
static std::string normalizeMac(std::string input)
Normalizes mac address to plain hex number.
Definition: Bridge.cpp:124
+
+
+
std::vector< BridgeIdentification > findBridges() const
Finds all bridges in the network and returns them.
Definition: Bridge.cpp:43
+
+
General bridge configuration properties.
Definition: BridgeConfig.h:55
+
+
Handles a list of Sensors with type specific getters.
Definition: SensorList.h:33
+
BridgeFinder(std::shared_ptr< const IHttpHandler > handler)
Constructor of BridgeFinder class.
Definition: Bridge.cpp:41
+
+
std::string ip
Definition: Bridge.h:66
+
+
+
Handles a ResourceList of physical devices which can be searched for.
Definition: ResourceList.h:239
+
+
+
+
+
diff --git b/_bridge_config_8cpp.html a/_bridge_config_8cpp.html
new file mode 100644
index 0000000..292e7a9
--- /dev/null
+++ a/_bridge_config_8cpp.html
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+hueplusplus: src/BridgeConfig.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_bridge_config_8cpp__incl.map a/_bridge_config_8cpp__incl.map
new file mode 100644
index 0000000..e36fc9c
--- /dev/null
+++ a/_bridge_config_8cpp__incl.map
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git b/_bridge_config_8cpp__incl.md5 a/_bridge_config_8cpp__incl.md5
new file mode 100644
index 0000000..f03c19c
--- /dev/null
+++ a/_bridge_config_8cpp__incl.md5
@@ -0,0 +1 @@
+85d9358f390c6845c481ccb9bb296091
\ No newline at end of file
diff --git b/_bridge_config_8cpp__incl.png a/_bridge_config_8cpp__incl.png
new file mode 100644
index 0000000..7a03281
--- /dev/null
+++ a/_bridge_config_8cpp__incl.png
diff --git b/_bridge_config_8h.html a/_bridge_config_8h.html
new file mode 100644
index 0000000..94df8e3
--- /dev/null
+++ a/_bridge_config_8h.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/BridgeConfig.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <string>
+
#include <vector>
+
#include "APICache.h "
+
#include "TimePattern.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_bridge_config_8h__dep__incl.map a/_bridge_config_8h__dep__incl.map
new file mode 100644
index 0000000..fb37200
--- /dev/null
+++ a/_bridge_config_8h__dep__incl.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_bridge_config_8h__dep__incl.md5 a/_bridge_config_8h__dep__incl.md5
new file mode 100644
index 0000000..86e4c27
--- /dev/null
+++ a/_bridge_config_8h__dep__incl.md5
@@ -0,0 +1 @@
+a3ad948829da1aebff643e29d20c0e21
\ No newline at end of file
diff --git b/_bridge_config_8h__dep__incl.png a/_bridge_config_8h__dep__incl.png
new file mode 100644
index 0000000..82b5625
--- /dev/null
+++ a/_bridge_config_8h__dep__incl.png
diff --git b/_bridge_config_8h__incl.map a/_bridge_config_8h__incl.map
new file mode 100644
index 0000000..ca5ebe0
--- /dev/null
+++ a/_bridge_config_8h__incl.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git b/_bridge_config_8h__incl.md5 a/_bridge_config_8h__incl.md5
new file mode 100644
index 0000000..a771576
--- /dev/null
+++ a/_bridge_config_8h__incl.md5
@@ -0,0 +1 @@
+23975a12c2ebce5a21ad013248c07fdb
\ No newline at end of file
diff --git b/_bridge_config_8h__incl.png a/_bridge_config_8h__incl.png
new file mode 100644
index 0000000..330e5fc
--- /dev/null
+++ a/_bridge_config_8h__incl.png
diff --git b/_bridge_config_8h_source.html a/_bridge_config_8h_source.html
new file mode 100644
index 0000000..d7470c7
--- /dev/null
+++ a/_bridge_config_8h_source.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/BridgeConfig.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 22 #ifndef INCLUDE_HUEPLUSPLUS_BRIDGE_CONFIG_H 23 #define INCLUDE_HUEPLUSPLUS_BRIDGE_CONFIG_H 59 BridgeConfig (std::shared_ptr<APICache> baseCache, std::chrono::steady_clock::duration refreshDuration);
68 void refresh(
bool force =
false );
72 void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration);
76 std::vector<WhitelistedUser> getWhitelistedUsers()
const ;
83 void removeUser(
const std::string& userKey);
89 bool getLinkButton()
const ;
91 void pressLinkButton();
97 std::string getMACAddress()
const ;
102 std::string getTimezone()
const ;
User that is whitelisted for Hue API usage.
Definition: BridgeConfig.h:42
+
int patch
Definition: BridgeConfig.h:38
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
Caches API GET requests and refreshes regularly.
Definition: APICache.h:37
+
int minor
Definition: BridgeConfig.h:37
+
int major
Definition: BridgeConfig.h:36
+
One-time, absolute time point.
Definition: TimePattern.h:72
+
+
std::string name
Name provided on user creation.
Definition: BridgeConfig.h:47
+
API version consisting of major, minor and patch version.
Definition: BridgeConfig.h:34
+
+
General bridge configuration properties.
Definition: BridgeConfig.h:55
+
std::string key
API username of the user.
Definition: BridgeConfig.h:45
+
time::AbsoluteTime created
Time the user was created.
Definition: BridgeConfig.h:51
+
time::AbsoluteTime lastUsed
Last time the user was used.
Definition: BridgeConfig.h:49
+
+
+
+
+
diff --git b/_bridge_setup_8cpp.html a/_bridge_setup_8cpp.html
new file mode 100644
index 0000000..b3eeeaa
--- /dev/null
+++ a/_bridge_setup_8cpp.html
@@ -0,0 +1,240 @@
+
+
+
+
+
+
+
+hueplusplus: examples/BridgeSetup.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <algorithm>
+
#include <iostream>
+
#include <hueplusplus/Bridge.h >
+
#include <hueplusplus/LinHttpHandler.h >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Copyright Notice
+Copyright (C) 2021 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
◆ SystemHttpHandler
+
+
+
+
+
◆ connectToBridge()
+
+
+
+
◆ main()
+
+
+
+
+
+ int main
+ (
+ int
+ argc ,
+
+
+
+
+ char **
+ argv
+
+
+
+ )
+
+
+
+
+
+
+
+
+
+
◆ macAddress
+
+
+
+
+
+ const std::string macAddress = ""
+
+
+
+
+
+
+
+
◆ username
+
+
+
+
+
+ const std::string username = ""
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_bridge_setup_8cpp__incl.map a/_bridge_setup_8cpp__incl.map
new file mode 100644
index 0000000..f185eaa
--- /dev/null
+++ a/_bridge_setup_8cpp__incl.map
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_bridge_setup_8cpp__incl.md5 a/_bridge_setup_8cpp__incl.md5
new file mode 100644
index 0000000..c5fedb0
--- /dev/null
+++ a/_bridge_setup_8cpp__incl.md5
@@ -0,0 +1 @@
+f560fe83914326f18b03dd8b8978c32f
\ No newline at end of file
diff --git b/_bridge_setup_8cpp__incl.png a/_bridge_setup_8cpp__incl.png
new file mode 100644
index 0000000..b37bfa3
--- /dev/null
+++ a/_bridge_setup_8cpp__incl.png
diff --git b/_brightness_strategy_8h.html a/_brightness_strategy_8h.html
new file mode 100644
index 0000000..cee0784
--- /dev/null
+++ a/_brightness_strategy_8h.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/BrightnessStrategy.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <cstdint>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_brightness_strategy_8h__dep__incl.map a/_brightness_strategy_8h__dep__incl.map
new file mode 100644
index 0000000..fc33322
--- /dev/null
+++ a/_brightness_strategy_8h__dep__incl.map
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_brightness_strategy_8h__dep__incl.md5 a/_brightness_strategy_8h__dep__incl.md5
new file mode 100644
index 0000000..92c6533
--- /dev/null
+++ a/_brightness_strategy_8h__dep__incl.md5
@@ -0,0 +1 @@
+c8b7fa0e41340d412b7fcf955d910359
\ No newline at end of file
diff --git b/_brightness_strategy_8h__dep__incl.png a/_brightness_strategy_8h__dep__incl.png
new file mode 100644
index 0000000..8b28f1e
--- /dev/null
+++ a/_brightness_strategy_8h__dep__incl.png
diff --git b/_brightness_strategy_8h__incl.map a/_brightness_strategy_8h__incl.map
new file mode 100644
index 0000000..9b25ab7
--- /dev/null
+++ a/_brightness_strategy_8h__incl.map
@@ -0,0 +1,2 @@
+
+
diff --git b/_brightness_strategy_8h__incl.md5 a/_brightness_strategy_8h__incl.md5
new file mode 100644
index 0000000..872eb91
--- /dev/null
+++ a/_brightness_strategy_8h__incl.md5
@@ -0,0 +1 @@
+eb83d23a1ed206e03011e01946b89d75
\ No newline at end of file
diff --git b/_brightness_strategy_8h__incl.png a/_brightness_strategy_8h__incl.png
new file mode 100644
index 0000000..fa84eeb
--- /dev/null
+++ a/_brightness_strategy_8h__incl.png
diff --git b/_brightness_strategy_8h_source.html a/_brightness_strategy_8h_source.html
new file mode 100644
index 0000000..efc4576
--- /dev/null
+++ a/_brightness_strategy_8h_source.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/BrightnessStrategy.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_BRIGHTNESS_STRATEGY_H 24 #define INCLUDE_HUEPLUSPLUS_BRIGHTNESS_STRATEGY_H 43 virtual bool setBrightness (
unsigned int bri, uint8_t transition,
Light & light)
const = 0;
Namespace for the hueplusplus library.
Definition: Action.h:27
+
virtual bool setBrightness(unsigned int bri, uint8_t transition, Light &light) const =0
Virtual function for changing a lights brightness with a specified transition.
+
Virtual base class for all BrightnessStrategies.
Definition: BrightnessStrategy.h:33
+
Class for Hue Light fixtures.
Definition: Light.h:60
+
virtual unsigned int getBrightness(Light &light) const =0
Virtual function that returns the current brightnessof the light.
+
virtual ~BrightnessStrategy()=default
Virtual dtor.
+
+
+
+
+
diff --git b/_build_8md.html a/_build_8md.html
new file mode 100644
index 0000000..a2e0827
--- /dev/null
+++ a/_build_8md.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+hueplusplus: doc/markdown/Build.md File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_c_l_i_p_sensors_8cpp.html a/_c_l_i_p_sensors_8cpp.html
new file mode 100644
index 0000000..8d05e39
--- /dev/null
+++ a/_c_l_i_p_sensors_8cpp.html
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+hueplusplus: src/CLIPSensors.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_c_l_i_p_sensors_8cpp__incl.map a/_c_l_i_p_sensors_8cpp__incl.map
new file mode 100644
index 0000000..2e97ca9
--- /dev/null
+++ a/_c_l_i_p_sensors_8cpp__incl.map
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_c_l_i_p_sensors_8cpp__incl.md5 a/_c_l_i_p_sensors_8cpp__incl.md5
new file mode 100644
index 0000000..f5f483a
--- /dev/null
+++ a/_c_l_i_p_sensors_8cpp__incl.md5
@@ -0,0 +1 @@
+ef088e45be0cd2e94bb07f396db152dc
\ No newline at end of file
diff --git b/_c_l_i_p_sensors_8cpp__incl.png a/_c_l_i_p_sensors_8cpp__incl.png
new file mode 100644
index 0000000..b4c9470
--- /dev/null
+++ a/_c_l_i_p_sensors_8cpp__incl.png
diff --git b/_c_l_i_p_sensors_8h.html a/_c_l_i_p_sensors_8h.html
new file mode 100644
index 0000000..cd24ed6
--- /dev/null
+++ a/_c_l_i_p_sensors_8h.html
@@ -0,0 +1,171 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/CLIPSensors.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_c_l_i_p_sensors_8h__dep__incl.map a/_c_l_i_p_sensors_8h__dep__incl.map
new file mode 100644
index 0000000..3cb811c
--- /dev/null
+++ a/_c_l_i_p_sensors_8h__dep__incl.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/_c_l_i_p_sensors_8h__dep__incl.md5 a/_c_l_i_p_sensors_8h__dep__incl.md5
new file mode 100644
index 0000000..0ea492b
--- /dev/null
+++ a/_c_l_i_p_sensors_8h__dep__incl.md5
@@ -0,0 +1 @@
+b75067236c27c78118ce45fac85527ef
\ No newline at end of file
diff --git b/_c_l_i_p_sensors_8h__dep__incl.png a/_c_l_i_p_sensors_8h__dep__incl.png
new file mode 100644
index 0000000..7c2640a
--- /dev/null
+++ a/_c_l_i_p_sensors_8h__dep__incl.png
diff --git b/_c_l_i_p_sensors_8h__incl.map a/_c_l_i_p_sensors_8h__incl.map
new file mode 100644
index 0000000..2d4ee56
--- /dev/null
+++ a/_c_l_i_p_sensors_8h__incl.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git b/_c_l_i_p_sensors_8h__incl.md5 a/_c_l_i_p_sensors_8h__incl.md5
new file mode 100644
index 0000000..19b12bf
--- /dev/null
+++ a/_c_l_i_p_sensors_8h__incl.md5
@@ -0,0 +1 @@
+4d19486547993632d7f7360b1f289bb5
\ No newline at end of file
diff --git b/_c_l_i_p_sensors_8h__incl.png a/_c_l_i_p_sensors_8h__incl.png
new file mode 100644
index 0000000..718e71c
--- /dev/null
+++ a/_c_l_i_p_sensors_8h__incl.png
diff --git b/_c_l_i_p_sensors_8h_source.html a/_c_l_i_p_sensors_8h_source.html
new file mode 100644
index 0000000..3b7456d
--- /dev/null
+++ a/_c_l_i_p_sensors_8h_source.html
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/CLIPSensors.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 22 #ifndef INCLUDE_HUEPLUSPLUS_CLIP_SENSORS_H 23 #define INCLUDE_HUEPLUSPLUS_CLIP_SENSORS_H 66 std::string
getURL ()
const ;
72 void setURL (
const std::string& url);
92 int getButtonEvent()
const ;
98 void setButtonEvent(
int code);
101 static constexpr
const char * typeStr =
"CLIPSwitch" ;
120 void setOpen(
bool open);
123 static constexpr
const char * typeStr =
"CLIPOpenClose" ;
136 bool getPresence()
const ;
142 void setPresence(
bool presence);
145 static constexpr
const char * typeStr =
"CLIPPresence" ;
157 int getTemperature()
const ;
164 void setTemperature(
int temperature);
167 static constexpr
const char * typeStr =
"CLIPTemperature" ;
179 int getHumidity()
const ;
186 void setHumidity(
int humidity);
189 static constexpr
const char * typeStr =
"CLIPHumidity" ;
202 int getDarkThreshold()
const ;
209 void setDarkThreshold(
int threshold);
212 int getThresholdOffset()
const ;
219 void setThresholdOffset(
int offset);
223 int getLightLevel()
const ;
230 void setLightLevel(
int level);
236 bool isDaylight()
const ;
239 static constexpr
const char * typeStr =
"CLIPLightLevel" ;
252 bool getFlag()
const ;
258 void setFlag(
bool flag);
261 static constexpr
const char * typeStr =
"CLIPGenericFlag" ;
276 int getStatus()
const ;
282 void setStatus(
int status);
285 static constexpr
const char * typeStr =
"CLIPGenericStatus" ;
bool isReachable() const
Check whether the sensor is reachable.
Definition: CLIPSensors.cpp:51
+
void setOn(bool on)
Enable or disable sensor.
Definition: CLIPSensors.cpp:35
+
CLIP sensor to detect presence.
Definition: CLIPSensors.h:129
+
CLIP sensor for button presses.
Definition: CLIPSensors.h:85
+
CLIP sensor for humidity.
Definition: CLIPSensors.h:171
+
CLIPGenericStatus(Sensor sensor)
Construct from generic sensor.
Definition: CLIPSensors.h:273
+
void setURL(const std::string &url)
Set sensor URL.
Definition: CLIPSensors.cpp:64
+
void setBatteryState(int percent)
Set battery state.
Definition: CLIPSensors.cpp:47
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
detail::ConditionHelper< bool > makeCondition(const CLIPOpenClose &sensor)
Definition: CLIPSensors.cpp:103
+
CLIPLightLevel(Sensor sensor)
Construct from generic sensor.
Definition: CLIPSensors.h:199
+
bool hasURL() const
Check whether the sensor has a URL.
Definition: CLIPSensors.cpp:56
+
Base class for physical devices connected to the bridge (sensor or light).
Definition: BaseDevice.h:35
+
bool isOn() const
Check if sensor is on.
Definition: CLIPSensors.cpp:30
+
CLIPTemperature(Sensor sensor)
Construct from generic sensor.
Definition: CLIPSensors.h:153
+
CLIP sensor detecting whether a contact is open or closed.
Definition: CLIPSensors.h:105
+
CLIPSwitch(Sensor sensor)
Construct from generic sensor.
Definition: CLIPSensors.h:89
+
Common methods for CLIP sensors.
Definition: CLIPSensors.h:32
+
One-time, absolute time point.
Definition: TimePattern.h:72
+
CLIPHumidity(Sensor sensor)
Construct from generic sensor.
Definition: CLIPSensors.h:175
+
CLIPPresence(Sensor sensor)
Construct from generic sensor.
Definition: CLIPSensors.h:133
+
time::AbsoluteTime getLastUpdated() const
Get time of last status update.
Definition: CLIPSensors.cpp:69
+
CLIPGenericFlag(Sensor sensor)
Construct from generic sensor.
Definition: CLIPSensors.h:249
+
Class for generic or unknown sensor types.
Definition: Sensor.h:59
+
BaseCLIP(Sensor sensor)
Protected constructor to be used by subclasses.
Definition: CLIPSensors.h:81
+
CLIP sensor for light level.
Definition: CLIPSensors.h:195
+
+
CLIPOpenClose(Sensor sensor)
Construct from generic sensor.
Definition: CLIPSensors.h:109
+
std::string getURL() const
Get sensor URL.
Definition: CLIPSensors.cpp:60
+
CLIP sensor for a generic 3rd party sensor.
Definition: CLIPSensors.h:245
+
CLIP sensor for a generic 3rd party status.
Definition: CLIPSensors.h:269
+
int getBatteryState() const
Get battery state.
Definition: CLIPSensors.cpp:43
+
CLIP sensor for temperature.
Definition: CLIPSensors.h:149
+
bool hasBatteryState() const
Check whether the sensor has a battery state.
Definition: CLIPSensors.cpp:39
+
+
+
+
+
diff --git b/_color_hue_strategy_8h.html a/_color_hue_strategy_8h.html
new file mode 100644
index 0000000..23e2648
--- /dev/null
+++ a/_color_hue_strategy_8h.html
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ColorHueStrategy.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <cstdint>
+
#include <memory>
+
#include "ColorUnits.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_color_hue_strategy_8h__dep__incl.map a/_color_hue_strategy_8h__dep__incl.map
new file mode 100644
index 0000000..8989012
--- /dev/null
+++ a/_color_hue_strategy_8h__dep__incl.map
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_color_hue_strategy_8h__dep__incl.md5 a/_color_hue_strategy_8h__dep__incl.md5
new file mode 100644
index 0000000..312ce70
--- /dev/null
+++ a/_color_hue_strategy_8h__dep__incl.md5
@@ -0,0 +1 @@
+6a1ad61448e674dce8c3f79b84e7e1a4
\ No newline at end of file
diff --git b/_color_hue_strategy_8h__dep__incl.png a/_color_hue_strategy_8h__dep__incl.png
new file mode 100644
index 0000000..36ea15b
--- /dev/null
+++ a/_color_hue_strategy_8h__dep__incl.png
diff --git b/_color_hue_strategy_8h__incl.map a/_color_hue_strategy_8h__incl.map
new file mode 100644
index 0000000..a4a48b1
--- /dev/null
+++ a/_color_hue_strategy_8h__incl.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/_color_hue_strategy_8h__incl.md5 a/_color_hue_strategy_8h__incl.md5
new file mode 100644
index 0000000..f195723
--- /dev/null
+++ a/_color_hue_strategy_8h__incl.md5
@@ -0,0 +1 @@
+b819422b555051a3856d1ed249bc7fe9
\ No newline at end of file
diff --git b/_color_hue_strategy_8h__incl.png a/_color_hue_strategy_8h__incl.png
new file mode 100644
index 0000000..b3d985f
--- /dev/null
+++ a/_color_hue_strategy_8h__incl.png
diff --git b/_color_hue_strategy_8h_source.html a/_color_hue_strategy_8h_source.html
new file mode 100644
index 0000000..e37ff5e
--- /dev/null
+++ a/_color_hue_strategy_8h_source.html
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ColorHueStrategy.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef _COLOR_HUE_STRATEGY_H 24 #define _COLOR_HUE_STRATEGY_H virtual bool setColorHueSaturation(const HueSaturation &hueSat, uint8_t transition, Light &light) const =0
Virtual function for changing a lights color in hue and saturation format with a specified transition...
+
virtual bool setColorHue(uint16_t hue, uint8_t transition, Light &light) const =0
Virtual function for changing a lights color in hue with a specified transition.
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
Virtual base class for all ColorHueStrategies.
Definition: ColorHueStrategy.h:36
+
virtual XYBrightness getColorXY(Light &light) const =0
Virtual function that returns the current color of the light as xy.
+
virtual HueSaturation getColorHueSaturation(Light &light) const =0
Virtual function that returns the current color of the light as hue and saturation.
+
virtual bool setColorXY(const XYBrightness &xy, uint8_t transition, Light &light) const =0
Virtual function for changing a lights color in CIE format with a specified transition.
+
virtual bool setColorLoop(bool on, Light &light) const =0
Virtual function for turning on/off the color loop feature of a light.
+
+
Color and brightness in CIE.
Definition: ColorUnits.h:62
+
virtual bool alertHueSaturation(const HueSaturation &hueSat, Light &light) const =0
Virtual function that lets the light perform one breath cycle in the specified color.
+
virtual bool setColorSaturation(uint8_t sat, uint8_t transition, Light &light) const =0
Virtual function for changing a lights color in saturation with a specified transition.
+
Class for Hue Light fixtures.
Definition: Light.h:60
+
virtual ~ColorHueStrategy()=default
Virtual dtor.
+
Color in hue and saturation.
Definition: ColorUnits.h:31
+
virtual bool alertXY(const XYBrightness &xy, Light &light) const =0
Virtual function that lets the light perform one breath cycle in the specified color.
+
+
+
+
+
diff --git b/_color_temperature_strategy_8h.html a/_color_temperature_strategy_8h.html
new file mode 100644
index 0000000..be21437
--- /dev/null
+++ a/_color_temperature_strategy_8h.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ColorTemperatureStrategy.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <stdint.h>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_color_temperature_strategy_8h__dep__incl.map a/_color_temperature_strategy_8h__dep__incl.map
new file mode 100644
index 0000000..2ef5e56
--- /dev/null
+++ a/_color_temperature_strategy_8h__dep__incl.map
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_color_temperature_strategy_8h__dep__incl.md5 a/_color_temperature_strategy_8h__dep__incl.md5
new file mode 100644
index 0000000..b547579
--- /dev/null
+++ a/_color_temperature_strategy_8h__dep__incl.md5
@@ -0,0 +1 @@
+bb9d3c4ca247b6d31a5f9865276c69e2
\ No newline at end of file
diff --git b/_color_temperature_strategy_8h__dep__incl.png a/_color_temperature_strategy_8h__dep__incl.png
new file mode 100644
index 0000000..638b703
--- /dev/null
+++ a/_color_temperature_strategy_8h__dep__incl.png
diff --git b/_color_temperature_strategy_8h__incl.map a/_color_temperature_strategy_8h__incl.map
new file mode 100644
index 0000000..4fdb413
--- /dev/null
+++ a/_color_temperature_strategy_8h__incl.map
@@ -0,0 +1,2 @@
+
+
diff --git b/_color_temperature_strategy_8h__incl.md5 a/_color_temperature_strategy_8h__incl.md5
new file mode 100644
index 0000000..7c2165c
--- /dev/null
+++ a/_color_temperature_strategy_8h__incl.md5
@@ -0,0 +1 @@
+04fb2935563f82d8b2ac93dc777777e4
\ No newline at end of file
diff --git b/_color_temperature_strategy_8h__incl.png a/_color_temperature_strategy_8h__incl.png
new file mode 100644
index 0000000..8d7e651
--- /dev/null
+++ a/_color_temperature_strategy_8h__incl.png
diff --git b/_color_temperature_strategy_8h_source.html a/_color_temperature_strategy_8h_source.html
new file mode 100644
index 0000000..84300c8
--- /dev/null
+++ a/_color_temperature_strategy_8h_source.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ColorTemperatureStrategy.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_COLOR_TEMPERATURE_STRATEGY_H 24 #define INCLUDE_HUEPLUSPLUS_COLOR_TEMPERATURE_STRATEGY_H Virtual base class for all ColorTemperatureStrategies.
Definition: ColorTemperatureStrategy.h:33
+
virtual bool setColorTemperature(unsigned int mired, uint8_t transition, Light &light) const =0
Virtual function for changing a lights color temperature in mired with a specified transition...
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
virtual ~ColorTemperatureStrategy()=default
Virtual dtor.
+
Class for Hue Light fixtures.
Definition: Light.h:60
+
virtual bool alertTemperature(unsigned int mired, Light &light) const =0
Virtual function that lets the light perform one breath cycle in the specified color.
+
virtual unsigned int getColorTemperature(Light &light) const =0
Virtual function that returns the current color temperature of the light.
+
+
+
+
+
diff --git b/_color_units_8cpp.html a/_color_units_8cpp.html
new file mode 100644
index 0000000..da8e2fc
--- /dev/null
+++ a/_color_units_8cpp.html
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+hueplusplus: src/ColorUnits.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <algorithm>
+
#include <cmath>
+
#include <hueplusplus/ColorUnits.h >
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_color_units_8cpp__incl.map a/_color_units_8cpp__incl.map
new file mode 100644
index 0000000..9eee775
--- /dev/null
+++ a/_color_units_8cpp__incl.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/_color_units_8cpp__incl.md5 a/_color_units_8cpp__incl.md5
new file mode 100644
index 0000000..7df2831
--- /dev/null
+++ a/_color_units_8cpp__incl.md5
@@ -0,0 +1 @@
+650166681f57df1bdb3cc0a5529addcb
\ No newline at end of file
diff --git b/_color_units_8cpp__incl.png a/_color_units_8cpp__incl.png
new file mode 100644
index 0000000..f0feeb2
--- /dev/null
+++ a/_color_units_8cpp__incl.png
diff --git b/_color_units_8h.html a/_color_units_8h.html
new file mode 100644
index 0000000..c081650
--- /dev/null
+++ a/_color_units_8h.html
@@ -0,0 +1,194 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ColorUnits.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <cstdint>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+constexpr ColorGamut hueplusplus::gamut::gamutA {{0.704f, 0.296f}, {0.2151f, 0.7106f}, {0.138f, 0.08f}}
+ Gamut A, used by most Color Lights. More...
+
+constexpr ColorGamut hueplusplus::gamut::gamutB {{0.675f, 0.322f}, {0.409f, 0.518f}, {0.167f, 0.04f}}
+ Gamut B, used by older Extended Color Lights. More...
+
+constexpr ColorGamut hueplusplus::gamut::gamutC {{0.692f, 0.308f}, {0.17f, 0.7f}, {0.153f, 0.048f}}
+ Gamut C, used by newer Extended Color Lights. More...
+
+constexpr ColorGamut hueplusplus::gamut::maxGamut {{1.f, 0.f}, {0.f, 1.f}, {0.f, 0.f}}
+ Maximal gamut to be used when unknown. More...
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_color_units_8h__dep__incl.map a/_color_units_8h__dep__incl.map
new file mode 100644
index 0000000..fc32278
--- /dev/null
+++ a/_color_units_8h__dep__incl.map
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_color_units_8h__dep__incl.md5 a/_color_units_8h__dep__incl.md5
new file mode 100644
index 0000000..75bcdd8
--- /dev/null
+++ a/_color_units_8h__dep__incl.md5
@@ -0,0 +1 @@
+9f85171b31bf1bff39a8d8f477854fcd
\ No newline at end of file
diff --git b/_color_units_8h__dep__incl.png a/_color_units_8h__dep__incl.png
new file mode 100644
index 0000000..f97acd5
--- /dev/null
+++ a/_color_units_8h__dep__incl.png
diff --git b/_color_units_8h__incl.map a/_color_units_8h__incl.map
new file mode 100644
index 0000000..5afa2f4
--- /dev/null
+++ a/_color_units_8h__incl.map
@@ -0,0 +1,2 @@
+
+
diff --git b/_color_units_8h__incl.md5 a/_color_units_8h__incl.md5
new file mode 100644
index 0000000..7987b06
--- /dev/null
+++ a/_color_units_8h__incl.md5
@@ -0,0 +1 @@
+11f9b4ff6b32c198813668517616e703
\ No newline at end of file
diff --git b/_color_units_8h__incl.png a/_color_units_8h__incl.png
new file mode 100644
index 0000000..555c927
--- /dev/null
+++ a/_color_units_8h__incl.png
diff --git b/_color_units_8h_source.html a/_color_units_8h_source.html
new file mode 100644
index 0000000..efcbef4
--- /dev/null
+++ a/_color_units_8h_source.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ColorUnits.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_UNITS_H 24 #define INCLUDE_HUEPLUSPLUS_UNITS_H 54 bool operator== (
const XY & other)
const {
return x == other.
x && y == other.
y ; }
55 bool operator!= (
const XY & other)
const {
return !(*
this == other); }
87 bool contains(
const XY & xy)
const ;
90 XY corrected(
const XY & xy)
const ;
118 bool operator== (
const RGB & other)
const {
return r == other.
r && g == other.
g && b == other.
b ; }
bool operator!=(const XYBrightness &other) const
Definition: ColorUnits.h:70
+
bool operator!=(const HueSaturation &other) const
Definition: ColorUnits.h:43
+
Color in RGB.
Definition: ColorUnits.h:109
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
constexpr ColorGamut maxGamut
Maximal gamut to be used when unknown.
Definition: ColorUnits.h:105
+
bool operator!=(const XY &other) const
Definition: ColorUnits.h:55
+
float y
y coordinate in CIE, 0 to 1
Definition: ColorUnits.h:52
+
uint8_t r
Red amount from 0 to 255.
Definition: ColorUnits.h:112
+
bool operator==(const RGB &other) const
Definition: ColorUnits.h:118
+
bool operator==(const XY &other) const
Definition: ColorUnits.h:54
+
unsigned int miredToKelvin(unsigned int mired)
Const function that converts Mired to Kelvin.
Definition: ColorUnits.cpp:243
+
int hue
Color hue.
Definition: ColorUnits.h:36
+
int saturation
Color saturation.
Definition: ColorUnits.h:40
+
constexpr ColorGamut gamutC
Gamut C, used by newer Extended Color Lights.
Definition: ColorUnits.h:101
+
uint8_t b
Blue amount from 0 to 255.
Definition: ColorUnits.h:116
+
bool operator==(const XYBrightness &other) const
Definition: ColorUnits.h:69
+
Color and brightness in CIE.
Definition: ColorUnits.h:62
+
XY blueCorner
Blue corner in the color triangle.
Definition: ColorUnits.h:84
+
XY redCorner
Red corner in the color triangle.
Definition: ColorUnits.h:80
+
uint8_t g
Green amount from 0 to 255.
Definition: ColorUnits.h:114
+
bool operator!=(const RGB &other) const
Definition: ColorUnits.h:119
+
XY greenCorner
Green corner in the color triangle.
Definition: ColorUnits.h:82
+
Color in CIE x and y coordinates.
Definition: ColorUnits.h:47
+
float brightness
Brightness from 0 to 1.
Definition: ColorUnits.h:67
+
Triangle of representable colors in CIE.
Definition: ColorUnits.h:77
+
bool operator==(const HueSaturation &other) const
Definition: ColorUnits.h:42
+
XY xy
XY color.
Definition: ColorUnits.h:65
+
constexpr ColorGamut gamutA
Gamut A, used by most Color Lights.
Definition: ColorUnits.h:97
+
Color in hue and saturation.
Definition: ColorUnits.h:31
+
unsigned int kelvinToMired(unsigned int kelvin)
Const function that converts Kelvin to Mired.
Definition: ColorUnits.cpp:238
+
float x
x coordinate in CIE, 0 to 1
Definition: ColorUnits.h:50
+
constexpr ColorGamut gamutB
Gamut B, used by older Extended Color Lights.
Definition: ColorUnits.h:99
+
+
+
+
+
diff --git b/_condition_8h.html a/_condition_8h.html
new file mode 100644
index 0000000..42751d4
--- /dev/null
+++ a/_condition_8h.html
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Condition.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "TimePattern.h "
+
#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_condition_8h__dep__incl.map a/_condition_8h__dep__incl.map
new file mode 100644
index 0000000..3e26419
--- /dev/null
+++ a/_condition_8h__dep__incl.map
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_condition_8h__dep__incl.md5 a/_condition_8h__dep__incl.md5
new file mode 100644
index 0000000..bd4999a
--- /dev/null
+++ a/_condition_8h__dep__incl.md5
@@ -0,0 +1 @@
+de55211ad7d95bd78893909d1330fb31
\ No newline at end of file
diff --git b/_condition_8h__dep__incl.png a/_condition_8h__dep__incl.png
new file mode 100644
index 0000000..00554d7
--- /dev/null
+++ a/_condition_8h__dep__incl.png
diff --git b/_condition_8h__incl.map a/_condition_8h__incl.map
new file mode 100644
index 0000000..8e0e287
--- /dev/null
+++ a/_condition_8h__incl.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/_condition_8h__incl.md5 a/_condition_8h__incl.md5
new file mode 100644
index 0000000..fd27769
--- /dev/null
+++ a/_condition_8h__incl.md5
@@ -0,0 +1 @@
+b53f53c545ff3cb876b0811a44525e1f
\ No newline at end of file
diff --git b/_condition_8h__incl.png a/_condition_8h__incl.png
new file mode 100644
index 0000000..31bb81a
--- /dev/null
+++ a/_condition_8h__incl.png
diff --git b/_condition_8h_source.html a/_condition_8h_source.html
new file mode 100644
index 0000000..a982cb6
--- /dev/null
+++ a/_condition_8h_source.html
@@ -0,0 +1,101 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Condition.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 22 #ifndef INCLUDE_HUEPLUSPLUS_CONDITION_H 23 #define INCLUDE_HUEPLUSPLUS_CONDITION_H 27 #include "json/json.hpp" 70 nlohmann::json
toJson ()
const ;
94 class GeneralConditionHelper
97 explicit GeneralConditionHelper(
const std::string& address) : address(address) { }
111 class ConditionHelper<int> :
public GeneralConditionHelper
114 using GeneralConditionHelper::GeneralConditionHelper;
125 class ConditionHelper<bool> :
public GeneralConditionHelper
128 using GeneralConditionHelper::GeneralConditionHelper;
137 class ConditionHelper<time::AbsoluteTime> :
public GeneralConditionHelper
140 using GeneralConditionHelper::GeneralConditionHelper;
155 template <
typename ... Ts>
161 template <
typename ... Ts>
162 using void_t =
typename make_void<Ts...>::type;
Condition for a Rule.
Definition: Condition.h:37
+
Time is in the given interval (triggered on start time, local time)
+
Stable for a given time. Does not trigger a rule change.
+
std::string getValue() const
Get value the attribute is checked against.
Definition: Rule.cpp:38
+
std::string toString() const
Get formatted string as expected by Hue API.
Definition: TimePattern.cpp:159
+
Operator
Specifies which operation is used to check the condition.
Definition: Condition.h:41
+
Condition(const std::string &address, Operator op, const std::string &value)
Create a condition from any address on the bridge.
Definition: Rule.cpp:27
+
Time interval repeated daily to weekly.
Definition: TimePattern.h:260
+
Delayed attribute has changed (no value given)
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
std::string getAddress() const
Get address on the bridge.
Definition: Rule.cpp:30
+
std::string toString() const
Get formatted string as expected by Hue API.
Definition: TimePattern.cpp:379
+
Operator getOperator() const
Get used operator.
Definition: Rule.cpp:34
+
One-time, absolute time point.
Definition: TimePattern.h:72
+
static Condition parse(const nlohmann::json &json)
Parse condition from json value.
Definition: Rule.cpp:87
+
+
Attribute is less than specified value (for int)
+
Not stable for a given time. Does not trigger a rule change.
+
Attribute is greater than specified value (for int)
+
Attribute is equal to specified value (for bool and int)
+
Time is not in the interval (triggered on end time, local time)
+
nlohmann::json toJson() const
Create the json form of the condition.
Definition: Rule.cpp:43
+
Attribute has changed (no value given)
+
+
+
+
+
diff --git b/_entertainment_mode_8cpp.html a/_entertainment_mode_8cpp.html
new file mode 100644
index 0000000..1991154
--- /dev/null
+++ a/_entertainment_mode_8cpp.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+hueplusplus: src/EntertainmentMode.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "hueplusplus/EntertainmentMode.h "
+
#include "mbedtls/certs.h"
+
#include "mbedtls/ctr_drbg.h"
+
#include "mbedtls/debug.h"
+
#include "mbedtls/entropy.h"
+
#include "mbedtls/error.h"
+
#include "mbedtls/net_sockets.h"
+
#include "mbedtls/ssl.h"
+
#include "mbedtls/timing.h"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Adam Honse - developer
+Copyright (C) 2021 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_entertainment_mode_8cpp__incl.map a/_entertainment_mode_8cpp__incl.map
new file mode 100644
index 0000000..7680f9a
--- /dev/null
+++ a/_entertainment_mode_8cpp__incl.map
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_entertainment_mode_8cpp__incl.md5 a/_entertainment_mode_8cpp__incl.md5
new file mode 100644
index 0000000..2262c46
--- /dev/null
+++ a/_entertainment_mode_8cpp__incl.md5
@@ -0,0 +1 @@
+4d96083a399acaff4d263454820b6e9f
\ No newline at end of file
diff --git b/_entertainment_mode_8cpp__incl.png a/_entertainment_mode_8cpp__incl.png
new file mode 100644
index 0000000..a3c0320
--- /dev/null
+++ a/_entertainment_mode_8cpp__incl.png
diff --git b/_entertainment_mode_8h.html a/_entertainment_mode_8h.html
new file mode 100644
index 0000000..dbbdd89
--- /dev/null
+++ a/_entertainment_mode_8h.html
@@ -0,0 +1,151 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/EntertainmentMode.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "Bridge.h "
+
#include "Group.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Adam Honse - developer
+Copyright (C) 2021 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_entertainment_mode_8h__dep__incl.map a/_entertainment_mode_8h__dep__incl.map
new file mode 100644
index 0000000..de24471
--- /dev/null
+++ a/_entertainment_mode_8h__dep__incl.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/_entertainment_mode_8h__dep__incl.md5 a/_entertainment_mode_8h__dep__incl.md5
new file mode 100644
index 0000000..b2c52dd
--- /dev/null
+++ a/_entertainment_mode_8h__dep__incl.md5
@@ -0,0 +1 @@
+d00824e3429e1928d309a648e5978213
\ No newline at end of file
diff --git b/_entertainment_mode_8h__dep__incl.png a/_entertainment_mode_8h__dep__incl.png
new file mode 100644
index 0000000..dc56d17
--- /dev/null
+++ a/_entertainment_mode_8h__dep__incl.png
diff --git b/_entertainment_mode_8h__incl.map a/_entertainment_mode_8h__incl.map
new file mode 100644
index 0000000..bb076f9
--- /dev/null
+++ a/_entertainment_mode_8h__incl.map
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_entertainment_mode_8h__incl.md5 a/_entertainment_mode_8h__incl.md5
new file mode 100644
index 0000000..8986a97
--- /dev/null
+++ a/_entertainment_mode_8h__incl.md5
@@ -0,0 +1 @@
+61f7cf26dae81237242a178dd1e82f72
\ No newline at end of file
diff --git b/_entertainment_mode_8h__incl.png a/_entertainment_mode_8h__incl.png
new file mode 100644
index 0000000..182af7a
--- /dev/null
+++ a/_entertainment_mode_8h__incl.png
diff --git b/_entertainment_mode_8h_source.html a/_entertainment_mode_8h_source.html
new file mode 100644
index 0000000..520eeda
--- /dev/null
+++ a/_entertainment_mode_8h_source.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/EntertainmentMode.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_ENTERTAINMENT_MODE_H 24 #define INCLUDE_HUEPLUSPLUS_HUE_ENTERTAINMENT_MODE_H 71 bool setColorRGB (uint8_t light_index, uint8_t red, uint8_t green, uint8_t blue);
Group * group
Associated group.
Definition: EntertainmentMode.h:81
+
bool connect()
Connect and start streaming.
Definition: EntertainmentMode.cpp:137
+
Class for Hue Entertainment Mode.
Definition: EntertainmentMode.h:36
+
+
~EntertainmentMode()
Destroy the Entertainment Mode object.
Definition: EntertainmentMode.cpp:127
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
bool setColorRGB(uint8_t light_index, uint8_t red, uint8_t green, uint8_t blue)
Set the color of the given light in RGB format.
Definition: EntertainmentMode.cpp:268
+
+
std::vector< uint8_t > entertainment_msg
buffer containing the entertainment mode packet data
Definition: EntertainmentMode.h:83
+
bool update()
Update all set colors by setColorRGB.
Definition: EntertainmentMode.cpp:289
+
uint8_t entertainment_num_lights
number of lights in entertainment mode group
Definition: EntertainmentMode.h:84
+
bool disconnect()
Disconnect and stop streaming.
Definition: EntertainmentMode.cpp:262
+
Bridge class for a bridge.
Definition: Bridge.h:138
+
EntertainmentMode(Bridge &b, Group &g)
Constructor.
Definition: EntertainmentMode.cpp:63
+
std::unique_ptr< TLSContext > tls_context
tls context
Definition: EntertainmentMode.h:86
+
Bridge * bridge
Associated bridge.
Definition: EntertainmentMode.h:80
+
Class for Groups of lights.
Definition: Group.h:41
+
+
+
+
+
diff --git b/_extended_color_hue_strategy_8cpp.html a/_extended_color_hue_strategy_8cpp.html
new file mode 100644
index 0000000..4c098ec
--- /dev/null
+++ a/_extended_color_hue_strategy_8cpp.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+hueplusplus: src/ExtendedColorHueStrategy.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "hueplusplus/ExtendedColorHueStrategy.h "
+
#include <cmath>
+
#include <iostream>
+
#include <thread>
+
#include "hueplusplus/LibConfig.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_extended_color_hue_strategy_8cpp__incl.map a/_extended_color_hue_strategy_8cpp__incl.map
new file mode 100644
index 0000000..5f8d9e6
--- /dev/null
+++ a/_extended_color_hue_strategy_8cpp__incl.map
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_extended_color_hue_strategy_8cpp__incl.md5 a/_extended_color_hue_strategy_8cpp__incl.md5
new file mode 100644
index 0000000..e37b3c9
--- /dev/null
+++ a/_extended_color_hue_strategy_8cpp__incl.md5
@@ -0,0 +1 @@
+31cbc719f98dbb5d8789c009871b92f7
\ No newline at end of file
diff --git b/_extended_color_hue_strategy_8cpp__incl.png a/_extended_color_hue_strategy_8cpp__incl.png
new file mode 100644
index 0000000..ce21aad
--- /dev/null
+++ a/_extended_color_hue_strategy_8cpp__incl.png
diff --git b/_extended_color_hue_strategy_8h.html a/_extended_color_hue_strategy_8h.html
new file mode 100644
index 0000000..c8658af
--- /dev/null
+++ a/_extended_color_hue_strategy_8h.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ExtendedColorHueStrategy.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_extended_color_hue_strategy_8h__dep__incl.map a/_extended_color_hue_strategy_8h__dep__incl.map
new file mode 100644
index 0000000..e42b512
--- /dev/null
+++ a/_extended_color_hue_strategy_8h__dep__incl.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/_extended_color_hue_strategy_8h__dep__incl.md5 a/_extended_color_hue_strategy_8h__dep__incl.md5
new file mode 100644
index 0000000..cd9a46f
--- /dev/null
+++ a/_extended_color_hue_strategy_8h__dep__incl.md5
@@ -0,0 +1 @@
+e3e03c11a9ac8639a3f57aa4df29f189
\ No newline at end of file
diff --git b/_extended_color_hue_strategy_8h__dep__incl.png a/_extended_color_hue_strategy_8h__dep__incl.png
new file mode 100644
index 0000000..9022ea7
--- /dev/null
+++ a/_extended_color_hue_strategy_8h__dep__incl.png
diff --git b/_extended_color_hue_strategy_8h__incl.map a/_extended_color_hue_strategy_8h__incl.map
new file mode 100644
index 0000000..5233ea2
--- /dev/null
+++ a/_extended_color_hue_strategy_8h__incl.map
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_extended_color_hue_strategy_8h__incl.md5 a/_extended_color_hue_strategy_8h__incl.md5
new file mode 100644
index 0000000..80bb06d
--- /dev/null
+++ a/_extended_color_hue_strategy_8h__incl.md5
@@ -0,0 +1 @@
+ed1a416b3484e18b25c1d3f143cf851b
\ No newline at end of file
diff --git b/_extended_color_hue_strategy_8h__incl.png a/_extended_color_hue_strategy_8h__incl.png
new file mode 100644
index 0000000..db4e618
--- /dev/null
+++ a/_extended_color_hue_strategy_8h__incl.png
diff --git b/_extended_color_hue_strategy_8h_source.html a/_extended_color_hue_strategy_8h_source.html
new file mode 100644
index 0000000..2206a51
--- /dev/null
+++ a/_extended_color_hue_strategy_8h_source.html
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ExtendedColorHueStrategy.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_EXTENDED_COLOR_HUE_STRATEGY_H 24 #define INCLUDE_HUEPLUSPLUS_EXTENDED_COLOR_HUE_STRATEGY_H
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
Definition: SimpleColorHueStrategy.h:34
+
+
bool alertXY(const XYBrightness &xy, Light &light) const override
Function that lets the light perform one breath cycle in the specified color.
Definition: ExtendedColorHueStrategy.cpp:60
+
Color and brightness in CIE.
Definition: ColorUnits.h:62
+
Definition: ExtendedColorHueStrategy.h:34
+
bool alertHueSaturation(const HueSaturation &hueSat, Light &light) const override
Function that lets the light perform one breath cycle in the specified color.
Definition: ExtendedColorHueStrategy.cpp:33
+
Class for Hue Light fixtures.
Definition: Light.h:60
+
Color in hue and saturation.
Definition: ColorUnits.h:31
+
+
+
+
+
diff --git b/_extended_color_temperature_strategy_8cpp.html a/_extended_color_temperature_strategy_8cpp.html
new file mode 100644
index 0000000..b3f1bc5
--- /dev/null
+++ a/_extended_color_temperature_strategy_8cpp.html
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+hueplusplus: src/ExtendedColorTemperatureStrategy.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_extended_color_temperature_strategy_8cpp__incl.map a/_extended_color_temperature_strategy_8cpp__incl.map
new file mode 100644
index 0000000..7cc575b
--- /dev/null
+++ a/_extended_color_temperature_strategy_8cpp__incl.map
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_extended_color_temperature_strategy_8cpp__incl.md5 a/_extended_color_temperature_strategy_8cpp__incl.md5
new file mode 100644
index 0000000..d35e501
--- /dev/null
+++ a/_extended_color_temperature_strategy_8cpp__incl.md5
@@ -0,0 +1 @@
+9cf776d8a62e91dd72232fc8bc4bb197
\ No newline at end of file
diff --git b/_extended_color_temperature_strategy_8cpp__incl.png a/_extended_color_temperature_strategy_8cpp__incl.png
new file mode 100644
index 0000000..20f8b52
--- /dev/null
+++ a/_extended_color_temperature_strategy_8cpp__incl.png
diff --git b/_extended_color_temperature_strategy_8h.html a/_extended_color_temperature_strategy_8h.html
new file mode 100644
index 0000000..ac3bdd2
--- /dev/null
+++ a/_extended_color_temperature_strategy_8h.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ExtendedColorTemperatureStrategy.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_extended_color_temperature_strategy_8h__dep__incl.map a/_extended_color_temperature_strategy_8h__dep__incl.map
new file mode 100644
index 0000000..6658fe2
--- /dev/null
+++ a/_extended_color_temperature_strategy_8h__dep__incl.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/_extended_color_temperature_strategy_8h__dep__incl.md5 a/_extended_color_temperature_strategy_8h__dep__incl.md5
new file mode 100644
index 0000000..0ea115c
--- /dev/null
+++ a/_extended_color_temperature_strategy_8h__dep__incl.md5
@@ -0,0 +1 @@
+5976701a97fa1893a14f78ff94cb45ed
\ No newline at end of file
diff --git b/_extended_color_temperature_strategy_8h__dep__incl.png a/_extended_color_temperature_strategy_8h__dep__incl.png
new file mode 100644
index 0000000..4386bd0
--- /dev/null
+++ a/_extended_color_temperature_strategy_8h__dep__incl.png
diff --git b/_extended_color_temperature_strategy_8h__incl.map a/_extended_color_temperature_strategy_8h__incl.map
new file mode 100644
index 0000000..fd02c11
--- /dev/null
+++ a/_extended_color_temperature_strategy_8h__incl.map
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_extended_color_temperature_strategy_8h__incl.md5 a/_extended_color_temperature_strategy_8h__incl.md5
new file mode 100644
index 0000000..f2d91cd
--- /dev/null
+++ a/_extended_color_temperature_strategy_8h__incl.md5
@@ -0,0 +1 @@
+fcd2d7bf0b11ce05bc4dc73e15abf904
\ No newline at end of file
diff --git b/_extended_color_temperature_strategy_8h__incl.png a/_extended_color_temperature_strategy_8h__incl.png
new file mode 100644
index 0000000..b4e5799
--- /dev/null
+++ a/_extended_color_temperature_strategy_8h__incl.png
diff --git b/_extended_color_temperature_strategy_8h_source.html a/_extended_color_temperature_strategy_8h_source.html
new file mode 100644
index 0000000..df1e7fb
--- /dev/null
+++ a/_extended_color_temperature_strategy_8h_source.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ExtendedColorTemperatureStrategy.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_EXTENDED_COLOR_TEMPERATURE_STRATEGY_H 24 #define INCLUDE_HUEPLUSPLUS_EXTENDED_COLOR_TEMPERATURE_STRATEGY_H Class implementing the functions of ColorTemperatureStrategy.
Definition: ExtendedColorTemperatureStrategy.h:32
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
+
bool alertTemperature(unsigned int mired, Light &light) const override
Function that lets the light perform one breath cycle in the specified color.
Definition: ExtendedColorTemperatureStrategy.cpp:35
+
Class for Hue Light fixtures.
Definition: Light.h:60
+
+
Class implementing the functions of ColorTemperatureStrategy.
Definition: SimpleColorTemperatureStrategy.h:32
+
+
+
+
+
diff --git b/_getting___started_8md.html a/_getting___started_8md.html
new file mode 100644
index 0000000..4ea7040
--- /dev/null
+++ a/_getting___started_8md.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+hueplusplus: doc/markdown/Getting_Started.md File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_group_8cpp.html a/_group_8cpp.html
new file mode 100644
index 0000000..30ab501
--- /dev/null
+++ a/_group_8cpp.html
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+hueplusplus: src/Group.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
+
+
+
diff --git b/_group_8cpp__incl.map a/_group_8cpp__incl.map
new file mode 100644
index 0000000..3952fdf
--- /dev/null
+++ a/_group_8cpp__incl.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_group_8cpp__incl.md5 a/_group_8cpp__incl.md5
new file mode 100644
index 0000000..81019dc
--- /dev/null
+++ a/_group_8cpp__incl.md5
@@ -0,0 +1 @@
+9e40618807767c91ca78cc910743d747
\ No newline at end of file
diff --git b/_group_8cpp__incl.png a/_group_8cpp__incl.png
new file mode 100644
index 0000000..ea11d01
--- /dev/null
+++ a/_group_8cpp__incl.png
diff --git b/_group_8h.html a/_group_8h.html
new file mode 100644
index 0000000..d8a868a
--- /dev/null
+++ a/_group_8h.html
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Group.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <string>
+
#include <vector>
+
#include "APICache.h "
+
#include "Action.h "
+
#include "HueCommandAPI.h "
+
#include "StateTransaction.h "
+
#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+Copyright (C) 2020 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_group_8h__dep__incl.map a/_group_8h__dep__incl.map
new file mode 100644
index 0000000..f9d3752
--- /dev/null
+++ a/_group_8h__dep__incl.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_group_8h__dep__incl.md5 a/_group_8h__dep__incl.md5
new file mode 100644
index 0000000..4f56f9c
--- /dev/null
+++ a/_group_8h__dep__incl.md5
@@ -0,0 +1 @@
+916b12b9b756732e4aefdd073dfda58e
\ No newline at end of file
diff --git b/_group_8h__dep__incl.png a/_group_8h__dep__incl.png
new file mode 100644
index 0000000..39d5a96
--- /dev/null
+++ a/_group_8h__dep__incl.png
diff --git b/_group_8h__incl.map a/_group_8h__incl.map
new file mode 100644
index 0000000..3ba47c0
--- /dev/null
+++ a/_group_8h__incl.map
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git b/_group_8h__incl.md5 a/_group_8h__incl.md5
new file mode 100644
index 0000000..6421a56
--- /dev/null
+++ a/_group_8h__incl.md5
@@ -0,0 +1 @@
+b4ac339916ec7681bb5855d8624d61b2
\ No newline at end of file
diff --git b/_group_8h__incl.png a/_group_8h__incl.png
new file mode 100644
index 0000000..d30ba4b
--- /dev/null
+++ a/_group_8h__incl.png
diff --git b/_group_8h_source.html a/_group_8h_source.html
new file mode 100644
index 0000000..6a28b86
--- /dev/null
+++ a/_group_8h_source.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Group.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_GROUP_H 24 #define INCLUDE_HUEPLUSPLUS_GROUP_H 34 #include "json/json.hpp" 47 Group (
int id ,
const std::shared_ptr<APICache>& baseCache);
53 Group (
int id ,
const HueCommandAPI & commands, std::chrono::steady_clock::duration refreshDuration,
const nlohmann::json& currentState);
62 void refresh (
bool force =
false );
97 void setName (
const std::string& name);
104 void setLights (
const std::vector<int>& ids);
255 void setOn (
bool on, uint8_t transition = 4);
258 void setBrightness (uint8_t brightness, uint8_t transition = 4);
276 void setScene (
const std::string& scene);
298 nlohmann::json
sendPutRequest (
const std::string& subPath,
const nlohmann::json& request,
FileInfo fileInfo);
318 static CreateGroup LightGroup(
const std::vector<int>& lights,
const std::string& name =
"" );
327 const std::vector<int>& lights,
const std::string& name =
"" ,
const std::string& roomType =
"" );
334 static CreateGroup Entertainment(
const std::vector<int>& lights,
const std::string& name =
"" );
341 static CreateGroup Zone(
const std::vector<int>& lights,
const std::string& name =
"" );
345 nlohmann::json getRequest()
const ;
354 const std::vector<int>& lights,
const std::string& name,
const std::string& type,
const std::string& roomType);
357 std::vector<int> lights;
360 std::string roomType;
int getId() const
Get the group id.
Definition: Group.cpp:36
+
StateTransaction transaction()
Create a transaction for this group.
Definition: Group.cpp:163
+
Parameters necessary for creating a new Group.
Definition: Group.h:310
+
void setColor(const HueSaturation &hueSat, uint8_t transition=4)
Convenience function to set hue and saturation.
Definition: Group.cpp:179
+
Definition: HueCommandAPI.h:37
+
void setName(const std::string &name)
Set group name.
Definition: Group.cpp:67
+
Action executed by the bridge, e.g. as a Schedule command.
Definition: Action.h:35
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
Action createSceneAction(const std::string &scene) const
Get Action to set scene.
Definition: Group.cpp:204
+
Group(int id, const std::shared_ptr< APICache > &baseCache)
Creates group with shared cache.
Definition: Group.cpp:7
+
void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)
Sets custom refresh interval for this group.
Definition: Group.cpp:30
+
Caches API GET requests and refreshes regularly.
Definition: APICache.h:37
+
void setOn(bool on, uint8_t transition=4)
Convenience function to turn lights on.
Definition: Group.cpp:169
+
+
void setScene(const std::string &scene)
Recall scene for the group.
Definition: Group.cpp:199
+
void refresh(bool force=false)
Refreshes internal cached state.
Definition: Group.cpp:18
+
std::string getType() const
Get the group type.
Definition: Group.cpp:46
+
void setRoomType(const std::string &type)
Set room type, only for type room.
Definition: Group.cpp:222
+
bool getActionOn()
Get on state of one light in the group.
Definition: Group.cpp:103
+
Contains information about error location, use CURRENT_FILE_INFO to create.
Definition: HueException.h:34
+
+
std::string getRoomType() const
Get room type, only for type room.
Definition: Group.cpp:217
+
+
void setLights(const std::vector< int > &ids)
Set group lights.
Definition: Group.cpp:74
+
void setBrightness(uint8_t brightness, uint8_t transition=4)
Convenience function to set brightness.
Definition: Group.cpp:174
+
bool getAllOn()
Get whether all lights are on.
Definition: Group.cpp:85
+
Color and brightness in CIE.
Definition: ColorUnits.h:62
+
unsigned int getActionBrightness()
Get brightness of one light in the group.
Definition: Group.cpp:125
+
std::pair< uint16_t, uint8_t > getActionHueSaturation()
Get hue and saturation of one light in the group.
Definition: Group.cpp:112
+
void setColorLoop(bool on, uint8_t transition=4)
Convenience function to set color loop.
Definition: Group.cpp:194
+
std::string getName() const
Get the group name.
Definition: Group.cpp:41
+
bool getAnyOn()
Get whether any light is on.
Definition: Group.cpp:94
+
Transaction class which can be used for either light or group state.
Definition: StateTransaction.h:61
+
+
int id
Definition: Group.h:301
+
std::pair< float, float > getActionColorXY()
Get color coordinates of one light in the group.
Definition: Group.cpp:143
+
void setColorTemperature(unsigned int mired, uint8_t transition=4)
Convenience function to set color temperature.
Definition: Group.cpp:189
+
std::vector< int > getLightIds() const
Get lights in the group.
Definition: Group.cpp:51
+
nlohmann::json sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
Utility function to send a put request to the group.
Definition: Group.cpp:212
+
Class for Groups of lights.
Definition: Group.h:41
+
std::string getUniqueId() const
Get luminaire model id, only for type luminaire or lightsource.
Definition: Group.cpp:233
+
APICache state
Definition: Group.h:302
+
Color in hue and saturation.
Definition: ColorUnits.h:31
+
unsigned int getActionColorTemperature()
Get color temperature of one light in the group.
Definition: Group.cpp:134
+
std::string getModelId() const
Get luminaire model id, only for type luminaire.
Definition: Group.cpp:228
+
std::string getActionColorMode()
Get color mode of one light in the group.
Definition: Group.cpp:154
+
+
+
+
+
diff --git b/_hue_command_a_p_i_8cpp.html a/_hue_command_a_p_i_8cpp.html
new file mode 100644
index 0000000..62d5483
--- /dev/null
+++ a/_hue_command_a_p_i_8cpp.html
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+hueplusplus: src/HueCommandAPI.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
+
+
+
diff --git b/_hue_command_a_p_i_8cpp__incl.map a/_hue_command_a_p_i_8cpp__incl.map
new file mode 100644
index 0000000..81bbc60
--- /dev/null
+++ a/_hue_command_a_p_i_8cpp__incl.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git b/_hue_command_a_p_i_8cpp__incl.md5 a/_hue_command_a_p_i_8cpp__incl.md5
new file mode 100644
index 0000000..62724c2
--- /dev/null
+++ a/_hue_command_a_p_i_8cpp__incl.md5
@@ -0,0 +1 @@
+4cd95a3ed1998761b926f1a0049b1391
\ No newline at end of file
diff --git b/_hue_command_a_p_i_8cpp__incl.png a/_hue_command_a_p_i_8cpp__incl.png
new file mode 100644
index 0000000..095c781
--- /dev/null
+++ a/_hue_command_a_p_i_8cpp__incl.png
diff --git b/_hue_command_a_p_i_8h.html a/_hue_command_a_p_i_8h.html
new file mode 100644
index 0000000..6c39cf5
--- /dev/null
+++ a/_hue_command_a_p_i_8h.html
@@ -0,0 +1,175 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/HueCommandAPI.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <atomic>
+
#include <chrono>
+
#include <mutex>
+
#include "HueException.h "
+
#include "IHttpHandler.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2018 Jan Rogall - developer
+Copyright (C) 2018 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_hue_command_a_p_i_8h__dep__incl.map a/_hue_command_a_p_i_8h__dep__incl.map
new file mode 100644
index 0000000..4388163
--- /dev/null
+++ a/_hue_command_a_p_i_8h__dep__incl.map
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_hue_command_a_p_i_8h__dep__incl.md5 a/_hue_command_a_p_i_8h__dep__incl.md5
new file mode 100644
index 0000000..b052dd1
--- /dev/null
+++ a/_hue_command_a_p_i_8h__dep__incl.md5
@@ -0,0 +1 @@
+5745c6ddb56f16b768a15b9e58f3bff9
\ No newline at end of file
diff --git b/_hue_command_a_p_i_8h__dep__incl.png a/_hue_command_a_p_i_8h__dep__incl.png
new file mode 100644
index 0000000..52784c3
--- /dev/null
+++ a/_hue_command_a_p_i_8h__dep__incl.png
diff --git b/_hue_command_a_p_i_8h__incl.map a/_hue_command_a_p_i_8h__incl.map
new file mode 100644
index 0000000..bafddf9
--- /dev/null
+++ a/_hue_command_a_p_i_8h__incl.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/_hue_command_a_p_i_8h__incl.md5 a/_hue_command_a_p_i_8h__incl.md5
new file mode 100644
index 0000000..6b37341
--- /dev/null
+++ a/_hue_command_a_p_i_8h__incl.md5
@@ -0,0 +1 @@
+cdf5bee476ee5f8e9a50cd892b0c3744
\ No newline at end of file
diff --git b/_hue_command_a_p_i_8h__incl.png a/_hue_command_a_p_i_8h__incl.png
new file mode 100644
index 0000000..505ce45
--- /dev/null
+++ a/_hue_command_a_p_i_8h__incl.png
diff --git b/_hue_command_a_p_i_8h_source.html a/_hue_command_a_p_i_8h_source.html
new file mode 100644
index 0000000..936b814
--- /dev/null
+++ a/_hue_command_a_p_i_8h_source.html
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/HueCommandAPI.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_HUECOMMANDAPI_H 24 #define INCLUDE_HUEPLUSPLUS_HUECOMMANDAPI_H 47 const std::string& ip,
int port,
const std::string& username, std::shared_ptr<const IHttpHandler> httpHandler);
73 nlohmann::json
PUTRequest (
const std::string& path,
const nlohmann::json& request,
FileInfo fileInfo)
const ;
75 nlohmann::json
PUTRequest (
const std::string& path,
const nlohmann::json& request)
const ;
88 nlohmann::json
GETRequest (
const std::string& path,
const nlohmann::json& request,
FileInfo fileInfo)
const ;
90 nlohmann::json
GETRequest (
const std::string& path,
const nlohmann::json& request)
const ;
103 nlohmann::json
DELETERequest (
const std::string& path,
const nlohmann::json& request,
FileInfo fileInfo)
const ;
105 nlohmann::json
DELETERequest (
const std::string& path,
const nlohmann::json& request)
const ;
118 nlohmann::json
POSTRequest (
const std::string& path,
const nlohmann::json& request,
FileInfo fileInfo)
const ;
120 nlohmann::json
POSTRequest (
const std::string& path,
const nlohmann::json& request)
const ;
124 std::string
combinedPath (
const std::string& path)
const ;
128 std::chrono::steady_clock::time_point timeout;
135 nlohmann::json HandleError(
FileInfo fileInfo,
const nlohmann::json& response)
const ;
140 std::string username;
141 std::shared_ptr<const IHttpHandler> httpHandler;
142 std::shared_ptr<TimeoutData> timeout;
Definition: HueCommandAPI.h:37
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
nlohmann::json PUTRequest(const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const
Sends a HTTP PUT request to the bridge and returns the response.
Definition: HueCommandAPI.cpp:80
+
HueCommandAPI & operator=(const HueCommandAPI &)=default
Copy assign from other HueCommandAPI.
+
+
Contains information about error location, use CURRENT_FILE_INFO to create.
Definition: HueException.h:34
+
+
std::string combinedPath(const std::string &path) const
Combines path with api prefix and username.
Definition: HueCommandAPI.cpp:146
+
nlohmann::json POSTRequest(const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const
Sends a HTTP POST request to the bridge and returns the response.
Definition: HueCommandAPI.cpp:119
+
HueCommandAPI(const std::string &ip, int port, const std::string &username, std::shared_ptr< const IHttpHandler > httpHandler)
Construct from ip, username and HttpHandler.
Definition: HueCommandAPI.cpp:66
+
nlohmann::json DELETERequest(const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const
Sends a HTTP DELETE request to the bridge and returns the response.
Definition: HueCommandAPI.cpp:106
+
nlohmann::json GETRequest(const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const
Sends a HTTP GET request to the bridge and returns the response.
Definition: HueCommandAPI.cpp:93
+
+
+
+
+
diff --git b/_hue_device_types_8cpp.html a/_hue_device_types_8cpp.html
new file mode 100644
index 0000000..aa304e5
--- /dev/null
+++ a/_hue_device_types_8cpp.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+hueplusplus: src/HueDeviceTypes.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_hue_device_types_8cpp__incl.map a/_hue_device_types_8cpp__incl.map
new file mode 100644
index 0000000..ac2228d
--- /dev/null
+++ a/_hue_device_types_8cpp__incl.map
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_hue_device_types_8cpp__incl.md5 a/_hue_device_types_8cpp__incl.md5
new file mode 100644
index 0000000..927644d
--- /dev/null
+++ a/_hue_device_types_8cpp__incl.md5
@@ -0,0 +1 @@
+f450ab15d4af672861ea482e8d8470a7
\ No newline at end of file
diff --git b/_hue_device_types_8cpp__incl.png a/_hue_device_types_8cpp__incl.png
new file mode 100644
index 0000000..f2008f1
--- /dev/null
+++ a/_hue_device_types_8cpp__incl.png
diff --git b/_hue_device_types_8h.html a/_hue_device_types_8h.html
new file mode 100644
index 0000000..a056651
--- /dev/null
+++ a/_hue_device_types_8h.html
@@ -0,0 +1,145 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/HueDeviceTypes.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <memory>
+
#include <string>
+
#include "Light.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+Copyright (C) 2020 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_hue_device_types_8h__dep__incl.map a/_hue_device_types_8h__dep__incl.map
new file mode 100644
index 0000000..84579be
--- /dev/null
+++ a/_hue_device_types_8h__dep__incl.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_hue_device_types_8h__dep__incl.md5 a/_hue_device_types_8h__dep__incl.md5
new file mode 100644
index 0000000..1379c75
--- /dev/null
+++ a/_hue_device_types_8h__dep__incl.md5
@@ -0,0 +1 @@
+c52682437f9efe3f4f7eef4cb8a20aa9
\ No newline at end of file
diff --git b/_hue_device_types_8h__dep__incl.png a/_hue_device_types_8h__dep__incl.png
new file mode 100644
index 0000000..e045c53
--- /dev/null
+++ a/_hue_device_types_8h__dep__incl.png
diff --git b/_hue_device_types_8h__incl.map a/_hue_device_types_8h__incl.map
new file mode 100644
index 0000000..c767d94
--- /dev/null
+++ a/_hue_device_types_8h__incl.map
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_hue_device_types_8h__incl.md5 a/_hue_device_types_8h__incl.md5
new file mode 100644
index 0000000..1294526
--- /dev/null
+++ a/_hue_device_types_8h__incl.md5
@@ -0,0 +1 @@
+c183815e7dd4a55e12affb00c1ef27cf
\ No newline at end of file
diff --git b/_hue_device_types_8h__incl.png a/_hue_device_types_8h__incl.png
new file mode 100644
index 0000000..cacee78
--- /dev/null
+++ a/_hue_device_types_8h__incl.png
diff --git b/_hue_device_types_8h_source.html a/_hue_device_types_8h_source.html
new file mode 100644
index 0000000..62a1ded
--- /dev/null
+++ a/_hue_device_types_8h_source.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/HueDeviceTypes.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_HUEDEVICETYPES_H 24 #define INCLUDE_HUEPLUSPLUS_HUEDEVICETYPES_H 50 Light createLight (
const nlohmann::json& lightState,
int id ,
const std::shared_ptr<APICache>& baseCache = {});
59 ColorType getColorType(
const nlohmann::json& lightState,
bool hasCt)
const ;
63 std::chrono::steady_clock::duration refreshDuration;
64 std::shared_ptr<BrightnessStrategy> simpleBrightness;
65 std::shared_ptr<ColorTemperatureStrategy> simpleColorTemperature;
66 std::shared_ptr<ColorTemperatureStrategy> extendedColorTemperature;
67 std::shared_ptr<ColorHueStrategy> simpleColorHue;
68 std::shared_ptr<ColorHueStrategy> extendedColorHue;
ColorType
enum that specifies the color type of all HueLights
Definition: Light.h:42
+
Definition: HueCommandAPI.h:37
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
LightFactory(const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration)
Create a factory for Lights.
Definition: HueDeviceTypes.cpp:62
+
+
Definition: HueDeviceTypes.h:33
+
Light createLight(const nlohmann::json &lightState, int id, const std::shared_ptr< APICache > &baseCache={})
Create a Light with the correct type from the JSON state.
Definition: HueDeviceTypes.cpp:72
+
Class for Hue Light fixtures.
Definition: Light.h:60
+
+
+
+
+
diff --git b/_hue_exception_8cpp.html a/_hue_exception_8cpp.html
new file mode 100644
index 0000000..549271d
--- /dev/null
+++ a/_hue_exception_8cpp.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+hueplusplus: src/HueException.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+Copyright (C) 2020 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_hue_exception_8cpp__incl.map a/_hue_exception_8cpp__incl.map
new file mode 100644
index 0000000..590cc00
--- /dev/null
+++ a/_hue_exception_8cpp__incl.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/_hue_exception_8cpp__incl.md5 a/_hue_exception_8cpp__incl.md5
new file mode 100644
index 0000000..6ebf28f
--- /dev/null
+++ a/_hue_exception_8cpp__incl.md5
@@ -0,0 +1 @@
+98a449c70608049d7529cfb95109b35a
\ No newline at end of file
diff --git b/_hue_exception_8cpp__incl.png a/_hue_exception_8cpp__incl.png
new file mode 100644
index 0000000..b7af22c
--- /dev/null
+++ a/_hue_exception_8cpp__incl.png
diff --git b/_hue_exception_8h.html a/_hue_exception_8h.html
new file mode 100644
index 0000000..0ecdfd9
--- /dev/null
+++ a/_hue_exception_8h.html
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/HueException.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <exception>
+#include <string>
+#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+Copyright (C) 2020 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_hue_exception_8h__dep__incl.map a/_hue_exception_8h__dep__incl.map
new file mode 100644
index 0000000..c48a112
--- /dev/null
+++ a/_hue_exception_8h__dep__incl.map
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_hue_exception_8h__dep__incl.md5 a/_hue_exception_8h__dep__incl.md5
new file mode 100644
index 0000000..7ab47d0
--- /dev/null
+++ a/_hue_exception_8h__dep__incl.md5
@@ -0,0 +1 @@
+444635fec359b7f46429e13b72bb2593
\ No newline at end of file
diff --git b/_hue_exception_8h__dep__incl.png a/_hue_exception_8h__dep__incl.png
new file mode 100644
index 0000000..3ce7b46
--- /dev/null
+++ a/_hue_exception_8h__dep__incl.png
diff --git b/_hue_exception_8h__incl.map a/_hue_exception_8h__incl.map
new file mode 100644
index 0000000..48570e0
--- /dev/null
+++ a/_hue_exception_8h__incl.map
@@ -0,0 +1,2 @@
+
+
diff --git b/_hue_exception_8h__incl.md5 a/_hue_exception_8h__incl.md5
new file mode 100644
index 0000000..6744ce4
--- /dev/null
+++ a/_hue_exception_8h__incl.md5
@@ -0,0 +1 @@
+a8cfd41943c58df218a95c12b08f1f92
\ No newline at end of file
diff --git b/_hue_exception_8h__incl.png a/_hue_exception_8h__incl.png
new file mode 100644
index 0000000..887711b
--- /dev/null
+++ a/_hue_exception_8h__incl.png
diff --git b/_hue_exception_8h_source.html a/_hue_exception_8h_source.html
new file mode 100644
index 0000000..ed2eb40
--- /dev/null
+++ a/_hue_exception_8h_source.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/HueException.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_EXCEPTION_H 24 #define INCLUDE_HUEPLUSPLUS_HUE_EXCEPTION_H 29 #include "json/json.hpp" 60 const char * what()
const noexcept
override ;
63 const FileInfo & GetFile()
const noexcept;
76 std::string whatMessage;
97 int GetErrorNumber()
const noexcept;
99 const std::string& GetAddress()
const noexcept;
101 const std::string& GetDescription()
const noexcept;
112 static std::string GetMessage(
int error,
const std::string& addr,
const std::string& description);
117 std::string description;
Exception class with file information. Base class of all custom exception classes.
Definition: HueException.h:49
+
std::string func
Current function from func. Empty if unknown.
Definition: HueException.h:41
+
std::string ToString() const
String representation of func, file and line.
Definition: HueException.cpp:104
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
std::string filename
Current file name from FILE. Empty if unknown.
Definition: HueException.h:37
+
Contains information about error location, use CURRENT_FILE_INFO to create.
Definition: HueException.h:34
+
int line
Current line number from LINE. -1 if unknown.
Definition: HueException.h:39
+
Exception caused by a Hue API "error" response with additional information.
Definition: HueException.h:83
+
+
+
+
+
diff --git b/_hue_exception_macro_8h.html a/_hue_exception_macro_8h.html
new file mode 100644
index 0000000..951c842
--- /dev/null
+++ a/_hue_exception_macro_8h.html
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/HueExceptionMacro.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+
+
◆ CURRENT_FILE_INFO
+
+
+
+
+
Creates the FileInfo for the current line.
+
+
+
+
+
+
+
+
diff --git b/_hue_exception_macro_8h__dep__incl.map a/_hue_exception_macro_8h__dep__incl.map
new file mode 100644
index 0000000..98f2278
--- /dev/null
+++ a/_hue_exception_macro_8h__dep__incl.map
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_hue_exception_macro_8h__dep__incl.md5 a/_hue_exception_macro_8h__dep__incl.md5
new file mode 100644
index 0000000..f4d8508
--- /dev/null
+++ a/_hue_exception_macro_8h__dep__incl.md5
@@ -0,0 +1 @@
+c602534afe94d1595039f96af20e85af
\ No newline at end of file
diff --git b/_hue_exception_macro_8h__dep__incl.png a/_hue_exception_macro_8h__dep__incl.png
new file mode 100644
index 0000000..da81efb
--- /dev/null
+++ a/_hue_exception_macro_8h__dep__incl.png
diff --git b/_hue_exception_macro_8h__incl.map a/_hue_exception_macro_8h__incl.map
new file mode 100644
index 0000000..cd3e80d
--- /dev/null
+++ a/_hue_exception_macro_8h__incl.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/_hue_exception_macro_8h__incl.md5 a/_hue_exception_macro_8h__incl.md5
new file mode 100644
index 0000000..a821545
--- /dev/null
+++ a/_hue_exception_macro_8h__incl.md5
@@ -0,0 +1 @@
+0f298feede18cb9d7d4f7284230a40cf
\ No newline at end of file
diff --git b/_hue_exception_macro_8h__incl.png a/_hue_exception_macro_8h__incl.png
new file mode 100644
index 0000000..929a829
--- /dev/null
+++ a/_hue_exception_macro_8h__incl.png
diff --git b/_hue_exception_macro_8h_source.html a/_hue_exception_macro_8h_source.html
new file mode 100644
index 0000000..197a9f7
--- /dev/null
+++ a/_hue_exception_macro_8h_source.html
@@ -0,0 +1,79 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/HueExceptionMacro.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 27 #ifndef CURRENT_FILE_INFO 28 #define CURRENT_FILE_INFO (::hueplusplus::FileInfo{__FILE__, __LINE__, __func__})
+
+
+
+
+
diff --git b/_i_http_handler_8h.html a/_i_http_handler_8h.html
new file mode 100644
index 0000000..10db797
--- /dev/null
+++ a/_i_http_handler_8h.html
@@ -0,0 +1,177 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/IHttpHandler.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <chrono>
+#include <iostream>
+#include <memory>
+#include <string>
+#include <vector>
+#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_i_http_handler_8h__dep__incl.map a/_i_http_handler_8h__dep__incl.map
new file mode 100644
index 0000000..e0712cc
--- /dev/null
+++ a/_i_http_handler_8h__dep__incl.map
@@ -0,0 +1,51 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_i_http_handler_8h__dep__incl.md5 a/_i_http_handler_8h__dep__incl.md5
new file mode 100644
index 0000000..a4013fd
--- /dev/null
+++ a/_i_http_handler_8h__dep__incl.md5
@@ -0,0 +1 @@
+1e31565dc14d2ed407783c9a74916399
\ No newline at end of file
diff --git b/_i_http_handler_8h__dep__incl.png a/_i_http_handler_8h__dep__incl.png
new file mode 100644
index 0000000..3a15070
--- /dev/null
+++ a/_i_http_handler_8h__dep__incl.png
diff --git b/_i_http_handler_8h__incl.map a/_i_http_handler_8h__incl.map
new file mode 100644
index 0000000..1793ced
--- /dev/null
+++ a/_i_http_handler_8h__incl.map
@@ -0,0 +1,2 @@
+
+
diff --git b/_i_http_handler_8h__incl.md5 a/_i_http_handler_8h__incl.md5
new file mode 100644
index 0000000..4312557
--- /dev/null
+++ a/_i_http_handler_8h__incl.md5
@@ -0,0 +1 @@
+740523e6d024da27551f2463f6a516b6
\ No newline at end of file
diff --git b/_i_http_handler_8h__incl.png a/_i_http_handler_8h__incl.png
new file mode 100644
index 0000000..c08c772
--- /dev/null
+++ a/_i_http_handler_8h__incl.png
diff --git b/_i_http_handler_8h_source.html a/_i_http_handler_8h_source.html
new file mode 100644
index 0000000..cc93c0e
--- /dev/null
+++ a/_i_http_handler_8h_source.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/IHttpHandler.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_IHTTPHANDLER_H 24 #define INCLUDE_HUEPLUSPLUS_IHTTPHANDLER_H 32 #include "json/json.hpp" 50 virtual std::string
send (
const std::string& msg,
const std::string& adr,
int port = 80)
const = 0;
60 virtual std::string
sendGetHTTPBody (
const std::string& msg,
const std::string& adr,
int port = 80)
const = 0;
73 virtual std::vector<std::string>
sendMulticast (
const std::string& msg,
const std::string& adr =
"239.255.255.250" ,
74 int port = 1900, std::chrono::steady_clock::duration timeout = std::chrono::seconds(5))
const = 0;
87 virtual std::string
sendHTTPRequest (
const std::string& method,
const std::string& uri,
88 const std::string& contentType,
const std::string& body,
const std::string& adr,
int port = 80)
const = 0;
101 virtual std::string
GETString (
const std::string& uri,
const std::string& contentType,
const std::string& body,
102 const std::string& adr,
int port = 80)
const = 0;
115 virtual std::string
POSTString (
const std::string& uri,
const std::string& contentType,
const std::string& body,
116 const std::string& adr,
int port = 80)
const = 0;
129 virtual std::string
PUTString (
const std::string& uri,
const std::string& contentType,
const std::string& body,
130 const std::string& adr,
int port = 80)
const = 0;
143 virtual std::string
DELETEString (
const std::string& uri,
const std::string& contentType,
const std::string& body,
144 const std::string& adr,
int port = 80)
const = 0;
156 virtual nlohmann::json
GETJson (
157 const std::string& uri,
const nlohmann::json& body,
const std::string& adr,
int port = 80)
const = 0;
170 const std::string& uri,
const nlohmann::json& body,
const std::string& adr,
int port = 80)
const = 0;
182 virtual nlohmann::json
PUTJson (
183 const std::string& uri,
const nlohmann::json& body,
const std::string& adr,
int port = 80)
const = 0;
196 const std::string& uri,
const nlohmann::json& body,
const std::string& adr,
int port = 80)
const = 0;
virtual std::string POSTString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0
Send a HTTP POST request to the specified host and return the body of the response.
+
virtual std::string DELETEString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0
Send a HTTP DELETE request to the specified host and return the body of the response.
+
virtual nlohmann::json PUTJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0
Send a HTTP PUT request to the specified host and return the body of the response parsed as JSON...
+
virtual ~IHttpHandler()=default
Virtual dtor.
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
virtual std::vector< std::string > sendMulticast(const std::string &msg, const std::string &adr="239.255.255.250", int port=1900, std::chrono::steady_clock::duration timeout=std::chrono::seconds(5)) const =0
Send a multicast request with a specified message.
+
Abstract class for classes that handle http requests and multicast requests.
Definition: IHttpHandler.h:37
+
virtual std::string send(const std::string &msg, const std::string &adr, int port=80) const =0
Send a message to a specified host and return the response.
+
virtual nlohmann::json POSTJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0
Send a HTTP POST request to the specified host and return the body of the response parsed as JSON...
+
virtual nlohmann::json GETJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0
Send a HTTP GET request to the specified host and return the body of the response parsed as JSON...
+
virtual std::string sendGetHTTPBody(const std::string &msg, const std::string &adr, int port=80) const =0
Send a message to a specified host and return the body of the response.
+
virtual std::string GETString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0
Send a HTTP GET request to the specified host and return the body of the response.
+
virtual std::string PUTString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0
Send a HTTP PUT request to the specified host and return the body of the response.
+
virtual nlohmann::json DELETEJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0
Send a HTTP DELETE request to the specified host and return the body of the response parsed as JSON...
+
virtual std::string sendHTTPRequest(const std::string &method, const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0
Send a HTTP request with the given method to the specified host and return the body of the response...
+
+
+
+
+
diff --git b/_lib_config_8h.html a/_lib_config_8h.html
new file mode 100644
index 0000000..d90846e
--- /dev/null
+++ a/_lib_config_8h.html
@@ -0,0 +1,130 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/LibConfig.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <chrono>
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_lib_config_8h__dep__incl.map a/_lib_config_8h__dep__incl.map
new file mode 100644
index 0000000..c54a729
--- /dev/null
+++ a/_lib_config_8h__dep__incl.map
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git b/_lib_config_8h__dep__incl.md5 a/_lib_config_8h__dep__incl.md5
new file mode 100644
index 0000000..6bee22b
--- /dev/null
+++ a/_lib_config_8h__dep__incl.md5
@@ -0,0 +1 @@
+9797458ee12161fd8397f1b7b30e5109
\ No newline at end of file
diff --git b/_lib_config_8h__dep__incl.png a/_lib_config_8h__dep__incl.png
new file mode 100644
index 0000000..76984e1
--- /dev/null
+++ a/_lib_config_8h__dep__incl.png
diff --git b/_lib_config_8h__incl.map a/_lib_config_8h__incl.map
new file mode 100644
index 0000000..51413a6
--- /dev/null
+++ a/_lib_config_8h__incl.map
@@ -0,0 +1,2 @@
+
+
diff --git b/_lib_config_8h__incl.md5 a/_lib_config_8h__incl.md5
new file mode 100644
index 0000000..0fffe15
--- /dev/null
+++ a/_lib_config_8h__incl.md5
@@ -0,0 +1 @@
+98061fb3e7cb7999f3e7068ffab4517d
\ No newline at end of file
diff --git b/_lib_config_8h__incl.png a/_lib_config_8h__incl.png
new file mode 100644
index 0000000..15f2f5b
--- /dev/null
+++ a/_lib_config_8h__incl.png
diff --git b/_lib_config_8h_source.html a/_lib_config_8h_source.html
new file mode 100644
index 0000000..904db07
--- /dev/null
+++ a/_lib_config_8h_source.html
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/LibConfig.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_CONFIG_H 24 #define INCLUDE_HUEPLUSPLUS_HUE_CONFIG_H 36 using duration = std::chrono::steady_clock::duration;
duration getBridgeRequestDelay() const
Delay between bridge requests.
Definition: LibConfig.h:48
+
duration upnpTimeout
Definition: LibConfig.h:68
+
duration bridgeRequestDelay
Definition: LibConfig.h:69
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
static Config & instance()
Get config instance.
Definition: LibConfig.h:57
+
Configurable delays.
Definition: LibConfig.h:33
+
duration getRequestUsernameAttemptInterval() const
Interval in which username requests are attempted.
Definition: LibConfig.h:54
+
+
duration getRequestUsernameTimeout() const
Timeout for Bridge::requestUsername, waits until link button was pressed.
Definition: LibConfig.h:51
+
duration preAlertDelay
Definition: LibConfig.h:66
+
duration requestUsernameAttemptInterval
Definition: LibConfig.h:71
+
duration getUPnPTimeout() const
Timeout for UPnP multicast request.
Definition: LibConfig.h:45
+
duration requestUsernameDelay
Definition: LibConfig.h:70
+
duration postAlertDelay
Definition: LibConfig.h:67
+
duration getPostAlertDelay() const
Delay for advanced alerts after the actual alert.
Definition: LibConfig.h:42
+
duration getPreAlertDelay() const
Delay for advanced alerts before the actual alert.
Definition: LibConfig.h:40
+
+
+
+
+
diff --git b/_light_8cpp.html a/_light_8cpp.html
new file mode 100644
index 0000000..6f5d5b3
--- /dev/null
+++ a/_light_8cpp.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+hueplusplus: src/Light.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <cmath>
+
#include <iostream>
+
#include <thread>
+
#include "hueplusplus/HueExceptionMacro.h "
+
#include "hueplusplus/Light.h "
+
#include "hueplusplus/Utils.h "
+
#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_light_8cpp__incl.map a/_light_8cpp__incl.map
new file mode 100644
index 0000000..d0581ef
--- /dev/null
+++ a/_light_8cpp__incl.map
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_light_8cpp__incl.md5 a/_light_8cpp__incl.md5
new file mode 100644
index 0000000..a32a7c6
--- /dev/null
+++ a/_light_8cpp__incl.md5
@@ -0,0 +1 @@
+964e81d500068e46104bb7b306662f20
\ No newline at end of file
diff --git b/_light_8cpp__incl.png a/_light_8cpp__incl.png
new file mode 100644
index 0000000..8a9ab93
--- /dev/null
+++ a/_light_8cpp__incl.png
diff --git b/_light_8h.html a/_light_8h.html
new file mode 100644
index 0000000..9f0c7f0
--- /dev/null
+++ a/_light_8h.html
@@ -0,0 +1,185 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Light.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <memory>
+
#include "APICache.h "
+
#include "BaseDevice.h "
+
#include "BrightnessStrategy.h "
+
#include "ColorHueStrategy.h "
+
#include "ColorTemperatureStrategy.h "
+
#include "HueCommandAPI.h "
+
#include "StateTransaction.h "
+
#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+enum hueplusplus::ColorType {
+ hueplusplus::ColorType::UNDEFINED ,
+hueplusplus::ColorType::NONE ,
+hueplusplus::ColorType::GAMUT_A ,
+hueplusplus::ColorType::GAMUT_B ,
+
+ hueplusplus::ColorType::GAMUT_C ,
+hueplusplus::ColorType::TEMPERATURE ,
+hueplusplus::ColorType::GAMUT_A_TEMPERATURE ,
+hueplusplus::ColorType::GAMUT_B_TEMPERATURE ,
+
+ hueplusplus::ColorType::GAMUT_C_TEMPERATURE ,
+hueplusplus::ColorType::GAMUT_OTHER ,
+hueplusplus::ColorType::GAMUT_OTHER_TEMPERATURE
+
+ } enum that specifies the color type of all HueLights More...
+
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_light_8h__dep__incl.map a/_light_8h__dep__incl.map
new file mode 100644
index 0000000..e7de792
--- /dev/null
+++ a/_light_8h__dep__incl.map
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_light_8h__dep__incl.md5 a/_light_8h__dep__incl.md5
new file mode 100644
index 0000000..d1b7834
--- /dev/null
+++ a/_light_8h__dep__incl.md5
@@ -0,0 +1 @@
+5f0c1d6125456d04820210efd2f247bb
\ No newline at end of file
diff --git b/_light_8h__dep__incl.png a/_light_8h__dep__incl.png
new file mode 100644
index 0000000..57d5c72
--- /dev/null
+++ a/_light_8h__dep__incl.png
diff --git b/_light_8h__incl.map a/_light_8h__incl.map
new file mode 100644
index 0000000..c6e6422
--- /dev/null
+++ a/_light_8h__incl.map
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_light_8h__incl.md5 a/_light_8h__incl.md5
new file mode 100644
index 0000000..e2ad419
--- /dev/null
+++ a/_light_8h__incl.md5
@@ -0,0 +1 @@
+d10729a13d05a510d86a5261d6acdcca
\ No newline at end of file
diff --git b/_light_8h__incl.png a/_light_8h__incl.png
new file mode 100644
index 0000000..e125cd8
--- /dev/null
+++ a/_light_8h__incl.png
diff --git b/_light_8h_source.html a/_light_8h_source.html
new file mode 100644
index 0000000..d48ac06
--- /dev/null
+++ a/_light_8h_source.html
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Light.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_LIGHT_H 24 #define INCLUDE_HUEPLUSPLUS_HUE_LIGHT_H 36 #include "json/json.hpp" 77 virtual std::string getLuminaireUId()
const ;
100 virtual bool on(uint8_t transition = 4);
110 virtual bool off(uint8_t transition = 4);
125 virtual bool isOn()
const ;
160 if (brightnessStrategy)
162 return brightnessStrategy->setBrightness(bri, transition, *
this );
175 if (brightnessStrategy)
177 return brightnessStrategy->getBrightness(*
this );
194 if (brightnessStrategy)
196 return brightnessStrategy->getBrightness(*
this );
215 if (colorTemperatureStrategy)
217 return colorTemperatureStrategy->setColorTemperature(mired, transition, *
this );
233 if (colorTemperatureStrategy)
235 return colorTemperatureStrategy->getColorTemperature(*
this );
254 if (colorTemperatureStrategy)
256 return colorTemperatureStrategy->getColorTemperature(*
this );
275 if (colorHueStrategy)
277 return colorHueStrategy->setColorHue(hue, transition, *
this );
296 if (colorHueStrategy)
298 return colorHueStrategy->setColorSaturation(sat, transition, *
this );
317 if (colorHueStrategy)
319 return colorHueStrategy->setColorHueSaturation(hueSat, transition, *
this );
337 if (colorHueStrategy)
339 return colorHueStrategy->getColorHueSaturation(*
this );
357 if (colorHueStrategy)
359 return colorHueStrategy->getColorHueSaturation(*
this );
377 if (colorHueStrategy)
379 return colorHueStrategy->setColorXY(xy, transition, *
this );
392 if (colorHueStrategy)
394 return colorHueStrategy->getColorXY(*
this );
411 if (colorHueStrategy)
413 return colorHueStrategy->getColorXY(*
this );
433 if (colorHueStrategy)
435 return colorHueStrategy->setColorXY(rgb.
toXY (getColorGamut()), transition, *
this );
448 virtual bool alert();
463 if (colorTemperatureStrategy)
465 return colorTemperatureStrategy->alertTemperature(mired, *
this );
483 if (colorHueStrategy)
485 return colorHueStrategy->alertHueSaturation(hueSat, *
this );
503 if (colorHueStrategy)
505 return colorHueStrategy->alertXY(xy, *
this );
527 if (colorHueStrategy)
529 return colorHueStrategy->setColorLoop(on, *
this );
561 Light (
int id ,
const std::shared_ptr<APICache>& baseCache);
578 Light (
int id ,
const HueCommandAPI & commands, std::shared_ptr<const BrightnessStrategy> brightnessStrategy,
579 std::shared_ptr<const ColorTemperatureStrategy> colorTempStrategy,
580 std::shared_ptr<const ColorHueStrategy> colorHueStrategy, std::chrono::steady_clock::duration refreshDuration,
581 const nlohmann::json& currentState);
590 brightnessStrategy = std::move(strat);
600 colorTemperatureStrategy = std::move(strat);
609 colorHueStrategy = std::move(strat);
615 std::shared_ptr<const BrightnessStrategy>
617 std::shared_ptr<const ColorTemperatureStrategy>
619 std::shared_ptr<const ColorHueStrategy>
virtual bool hasTemperatureControl() const
Const function to check whether this light has color temperature control.
Definition: Light.h:138
+
ColorType
enum that specifies the color type of all HueLights
Definition: Light.h:42
+
virtual bool setColorRGB(const RGB &rgb, uint8_t transition=4)
Function to set the color of this light with red green and blue values.
Definition: Light.h:431
+
light uses Gamut A and has color temperature control
+
Definition: HueCommandAPI.h:37
+
Color in RGB.
Definition: ColorUnits.h:109
+
virtual void setColorHueStrategy(std::shared_ptr< const ColorHueStrategy > strat)
Protected function that sets the colorHue strategy.
Definition: Light.h:607
+
light uses capabilities to specify a different gamut and has color temperature control ...
+
virtual bool setColorHueSaturation(const HueSaturation &hueSat, uint8_t transition=4)
Function to set the color of this light with specified hue and saturation.
Definition: Light.h:315
+
std::shared_ptr< const ColorHueStrategy > colorHueStrategy
holds a reference to the strategy that handles all color commands
Definition: Light.h:620
+
light has color temperature control
+
Class implementing the functions of ColorTemperatureStrategy.
Definition: ExtendedColorTemperatureStrategy.h:32
+
virtual bool hasColorControl() const
Connst function to check whether this light has full color control.
Definition: Light.h:144
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
+
light uses Gamut C and has color temperature control
+
virtual bool alertTemperature(unsigned int mired)
Function that lets the light perform one breath cycle in specified color temperature.
Definition: Light.h:461
+
ColorType for this light is unknown or undefined.
+
virtual unsigned int getColorTemperature()
Function that returns the current color temperature of the light.
Definition: Light.h:252
+
+
+
virtual bool alertXY(const XYBrightness &xy)
Function that lets the light perform one breath cycle in specified color.
Definition: Light.h:501
+
Definition: SimpleColorHueStrategy.h:34
+
virtual unsigned int getBrightness() const
Const function that returns the brightness of this light.
Definition: Light.h:173
+
+
light has no specific ColorType
+
std::shared_ptr< const BrightnessStrategy > brightnessStrategy
holds a reference to the strategy that handles brightness commands
Definition: Light.h:616
+
virtual HueSaturation getColorHueSaturation()
Function that returns the current color of the light as hue and saturation.
Definition: Light.h:355
+
Base class for physical devices connected to the bridge (sensor or light).
Definition: BaseDevice.h:35
+
virtual XYBrightness getColorXY()
Function that returns the current color of the light as xy.
Definition: Light.h:409
+
Definition: HueDeviceTypes.h:33
+
+
+
virtual bool hasBrightnessControl() const
Const function to check whether this light has brightness control.
Definition: Light.h:131
+
+
Color and brightness in CIE.
Definition: ColorUnits.h:62
+
Class implementing the functions of BrightnessStrategy.
Definition: SimpleBrightnessStrategy.h:32
+
light uses capabilities to specify a different gamut
+
virtual bool setColorTemperature(unsigned int mired, uint8_t transition=4)
Function that sets the color temperature of this light in mired.
Definition: Light.h:213
+
virtual bool setColorSaturation(uint8_t sat, uint8_t transition=4)
Function to set the color of this light with specified saturation.
Definition: Light.h:294
+
Definition: ExtendedColorHueStrategy.h:34
+
ColorType colorType
holds the ColorType of the light
Definition: Light.h:610
+
virtual bool alertHueSaturation(const HueSaturation &hueSat)
Function that lets the light perform one breath cycle in specified color.
Definition: Light.h:481
+
Transaction class which can be used for either light or group state.
Definition: StateTransaction.h:61
+
+
+
virtual bool setBrightness(unsigned int bri, uint8_t transition=4)
Function that sets the brightness of this light.
Definition: Light.h:158
+
virtual void setColorTemperatureStrategy(std::shared_ptr< const ColorTemperatureStrategy > strat)
Protected function that sets the colorTemperature strategy.
Definition: Light.h:598
+
Class for Hue Light fixtures.
Definition: Light.h:60
+
virtual unsigned int getColorTemperature() const
Const function that returns the current color temperature of the light.
Definition: Light.h:231
+
virtual unsigned int getBrightness()
Function that returns the brightness of this light.
Definition: Light.h:192
+
virtual XYBrightness getColorXY() const
Const function that returns the current color of the light as xy.
Definition: Light.h:390
+
virtual bool setColorHue(uint16_t hue, uint8_t transition=4)
Function to set the color of this light with specified hue.
Definition: Light.h:273
+
std::shared_ptr< const ColorTemperatureStrategy > colorTemperatureStrategy
holds a reference to the strategy that handles colortemperature commands
Definition: Light.h:618
+
virtual void setBrightnessStrategy(std::shared_ptr< const BrightnessStrategy > strat)
Protected function that sets the brightness strategy.
Definition: Light.h:588
+
virtual bool setColorXY(const XYBrightness &xy, uint8_t transition=4)
Function to set the color of this light in CIE with specified x y.
Definition: Light.h:375
+
Triangle of representable colors in CIE.
Definition: ColorUnits.h:77
+
Color in hue and saturation.
Definition: ColorUnits.h:31
+
+
virtual HueSaturation getColorHueSaturation() const
Const function that returns the current color of the light as hue and saturation. ...
Definition: Light.h:335
+
light uses Gamut B and has color temperature control
+
Class implementing the functions of ColorTemperatureStrategy.
Definition: SimpleColorTemperatureStrategy.h:32
+
XYBrightness toXY() const
Convert to XYBrightness without clamping.
Definition: ColorUnits.cpp:109
+
virtual bool setColorLoop(bool on)
Function to turn colorloop effect on/off.
Definition: Light.h:525
+
+
+
+
+
diff --git b/_lights_off_8cpp.html a/_lights_off_8cpp.html
new file mode 100644
index 0000000..07199e8
--- /dev/null
+++ a/_lights_off_8cpp.html
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+
+hueplusplus: examples/LightsOff.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Copyright Notice
+Copyright (C) 2021 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
◆ SystemHttpHandler
+
+
+
+
+
◆ connectToBridge()
+
+
+
+
◆ lightsOff()
+
+
+
+
◆ main()
+
+
+
+
+
+ int main
+ (
+ int
+ argc ,
+
+
+
+
+ char **
+ argv
+
+
+
+ )
+
+
+
+
+
+
+
+
+
+
◆ macAddress
+
+
+
+
+
+ const std::string macAddress = ""
+
+
+
+
+
+
+
+
◆ username
+
+
+
+
+
+ const std::string username = ""
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_lights_off_8cpp__incl.map a/_lights_off_8cpp__incl.map
new file mode 100644
index 0000000..cc907a8
--- /dev/null
+++ a/_lights_off_8cpp__incl.map
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_lights_off_8cpp__incl.md5 a/_lights_off_8cpp__incl.md5
new file mode 100644
index 0000000..e5d83a5
--- /dev/null
+++ a/_lights_off_8cpp__incl.md5
@@ -0,0 +1 @@
+1834e23cd1424619ec34ca3ce342d747
\ No newline at end of file
diff --git b/_lights_off_8cpp__incl.png a/_lights_off_8cpp__incl.png
new file mode 100644
index 0000000..c935e44
--- /dev/null
+++ a/_lights_off_8cpp__incl.png
diff --git b/_lin_http_handler_8cpp.html a/_lin_http_handler_8cpp.html
new file mode 100644
index 0000000..3105706
--- /dev/null
+++ a/_lin_http_handler_8cpp.html
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+hueplusplus: src/LinHttpHandler.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "hueplusplus/LinHttpHandler.h "
+
#include <chrono>
+
#include <cstring>
+
#include <iostream>
+
#include <memory>
+
#include <stdexcept>
+
#include <system_error>
+
#include <arpa/inet.h>
+
#include <netdb.h>
+
#include <netinet/in.h>
+
#include <stdio.h>
+
#include <stdlib.h>
+
#include <string.h>
+
#include <sys/socket.h>
+
#include <unistd.h>
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_lin_http_handler_8cpp__incl.map a/_lin_http_handler_8cpp__incl.map
new file mode 100644
index 0000000..bdb67f2
--- /dev/null
+++ a/_lin_http_handler_8cpp__incl.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/_lin_http_handler_8cpp__incl.md5 a/_lin_http_handler_8cpp__incl.md5
new file mode 100644
index 0000000..b13d28c
--- /dev/null
+++ a/_lin_http_handler_8cpp__incl.md5
@@ -0,0 +1 @@
+7dedff55368c44ffcd0561ec71fd535e
\ No newline at end of file
diff --git b/_lin_http_handler_8cpp__incl.png a/_lin_http_handler_8cpp__incl.png
new file mode 100644
index 0000000..2d97e8b
--- /dev/null
+++ a/_lin_http_handler_8cpp__incl.png
diff --git b/_lin_http_handler_8h.html a/_lin_http_handler_8h.html
new file mode 100644
index 0000000..7b7b157
--- /dev/null
+++ a/_lin_http_handler_8h.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/LinHttpHandler.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <string>
+
#include <vector>
+
#include "BaseHttpHandler.h "
+
#include "json/json.hpp"
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_lin_http_handler_8h__dep__incl.map a/_lin_http_handler_8h__dep__incl.map
new file mode 100644
index 0000000..6811d14
--- /dev/null
+++ a/_lin_http_handler_8h__dep__incl.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git b/_lin_http_handler_8h__dep__incl.md5 a/_lin_http_handler_8h__dep__incl.md5
new file mode 100644
index 0000000..f92674f
--- /dev/null
+++ a/_lin_http_handler_8h__dep__incl.md5
@@ -0,0 +1 @@
+226a761594e9d1c33d8e0d0ce8b06ff2
\ No newline at end of file
diff --git b/_lin_http_handler_8h__dep__incl.png a/_lin_http_handler_8h__dep__incl.png
new file mode 100644
index 0000000..7238232
--- /dev/null
+++ a/_lin_http_handler_8h__dep__incl.png
diff --git b/_lin_http_handler_8h__incl.map a/_lin_http_handler_8h__incl.map
new file mode 100644
index 0000000..3e06f36
--- /dev/null
+++ a/_lin_http_handler_8h__incl.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/_lin_http_handler_8h__incl.md5 a/_lin_http_handler_8h__incl.md5
new file mode 100644
index 0000000..fc200c1
--- /dev/null
+++ a/_lin_http_handler_8h__incl.md5
@@ -0,0 +1 @@
+45763135600489315c04e45294f4b582
\ No newline at end of file
diff --git b/_lin_http_handler_8h__incl.png a/_lin_http_handler_8h__incl.png
new file mode 100644
index 0000000..4bbbe73
--- /dev/null
+++ a/_lin_http_handler_8h__incl.png
diff --git b/_lin_http_handler_8h_source.html a/_lin_http_handler_8h_source.html
new file mode 100644
index 0000000..8a3bdcf
--- /dev/null
+++ a/_lin_http_handler_8h_source.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/LinHttpHandler.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_LINHTTPHANDLER_H 24 #define INCLUDE_HUEPLUSPLUS_LINHTTPHANDLER_H 31 #include "json/json.hpp" 47 virtual std::string
send (
const std::string& msg,
const std::string& adr,
int port = 80)
const override ;
58 std::vector<std::string>
sendMulticast (
const std::string& msg,
const std::string& adr =
"239.255.255.250" ,
59 int port = 1900, std::chrono::steady_clock::duration timeout = std::chrono::seconds(5))
const override ;
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
std::vector< std::string > sendMulticast(const std::string &msg, const std::string &adr="239.255.255.250", int port=1900, std::chrono::steady_clock::duration timeout=std::chrono::seconds(5)) const override
Function that sends a multicast request with the specified message.
Definition: LinHttpHandler.cpp:141
+
virtual std::string send(const std::string &msg, const std::string &adr, int port=80) const override
Function that sends a given message to the specified host and returns the response.
Definition: LinHttpHandler.cpp:53
+
Class to handle http requests and multicast requests on linux systems.
Definition: LinHttpHandler.h:36
+
Base class for classes that handle http requests and multicast requests.
Definition: BaseHttpHandler.h:38
+
+
+
+
+
diff --git b/_mainpage_8md.html a/_mainpage_8md.html
new file mode 100644
index 0000000..b4683df
--- /dev/null
+++ a/_mainpage_8md.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+hueplusplus: doc/markdown/Mainpage.md File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_model_pictures_8cpp.html a/_model_pictures_8cpp.html
new file mode 100644
index 0000000..89b9c2f
--- /dev/null
+++ a/_model_pictures_8cpp.html
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+hueplusplus: src/ModelPictures.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_model_pictures_8cpp__incl.map a/_model_pictures_8cpp__incl.map
new file mode 100644
index 0000000..be4237e
--- /dev/null
+++ a/_model_pictures_8cpp__incl.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/_model_pictures_8cpp__incl.md5 a/_model_pictures_8cpp__incl.md5
new file mode 100644
index 0000000..e9631ee
--- /dev/null
+++ a/_model_pictures_8cpp__incl.md5
@@ -0,0 +1 @@
+11ea18a94fb729f97a772475b07a9452
\ No newline at end of file
diff --git b/_model_pictures_8cpp__incl.png a/_model_pictures_8cpp__incl.png
new file mode 100644
index 0000000..163df76
--- /dev/null
+++ a/_model_pictures_8cpp__incl.png
diff --git b/_model_pictures_8h.html a/_model_pictures_8h.html
new file mode 100644
index 0000000..d2709c7
--- /dev/null
+++ a/_model_pictures_8h.html
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ModelPictures.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <string>
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_model_pictures_8h__dep__incl.map a/_model_pictures_8h__dep__incl.map
new file mode 100644
index 0000000..8a63d6f
--- /dev/null
+++ a/_model_pictures_8h__dep__incl.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/_model_pictures_8h__dep__incl.md5 a/_model_pictures_8h__dep__incl.md5
new file mode 100644
index 0000000..58a3c2a
--- /dev/null
+++ a/_model_pictures_8h__dep__incl.md5
@@ -0,0 +1 @@
+051a9ea6aa8f433477cd79b62c663dc0
\ No newline at end of file
diff --git b/_model_pictures_8h__dep__incl.png a/_model_pictures_8h__dep__incl.png
new file mode 100644
index 0000000..146dc88
--- /dev/null
+++ a/_model_pictures_8h__dep__incl.png
diff --git b/_model_pictures_8h__incl.map a/_model_pictures_8h__incl.map
new file mode 100644
index 0000000..3030eb7
--- /dev/null
+++ a/_model_pictures_8h__incl.map
@@ -0,0 +1,2 @@
+
+
diff --git b/_model_pictures_8h__incl.md5 a/_model_pictures_8h__incl.md5
new file mode 100644
index 0000000..ee57c85
--- /dev/null
+++ a/_model_pictures_8h__incl.md5
@@ -0,0 +1 @@
+ffd35bd01d4b5edea845fbda23c670b9
\ No newline at end of file
diff --git b/_model_pictures_8h__incl.png a/_model_pictures_8h__incl.png
new file mode 100644
index 0000000..509e857
--- /dev/null
+++ a/_model_pictures_8h__incl.png
diff --git b/_model_pictures_8h_source.html a/_model_pictures_8h_source.html
new file mode 100644
index 0000000..3a7c9a8
--- /dev/null
+++ a/_model_pictures_8h_source.html
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ModelPictures.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 22 #ifndef INCLUDE_HUEPLUSPLUS_MODEL_PICTURES_H 23 #define INCLUDE_HUEPLUSPLUS_MODEL_PICTURES_H Namespace for the hueplusplus library.
Definition: Action.h:27
+
std::string getPictureOfModel(const std::string &modelId)
Get the picture name of a given model id.
Definition: ModelPictures.cpp:26
+
+
+
+
+
diff --git b/_new_device_list_8cpp.html a/_new_device_list_8cpp.html
new file mode 100644
index 0000000..5275587
--- /dev/null
+++ a/_new_device_list_8cpp.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+hueplusplus: src/NewDeviceList.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_new_device_list_8cpp__incl.map a/_new_device_list_8cpp__incl.map
new file mode 100644
index 0000000..ddce3d8
--- /dev/null
+++ a/_new_device_list_8cpp__incl.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/_new_device_list_8cpp__incl.md5 a/_new_device_list_8cpp__incl.md5
new file mode 100644
index 0000000..3f30149
--- /dev/null
+++ a/_new_device_list_8cpp__incl.md5
@@ -0,0 +1 @@
+2cb2a860dbf75a42de7e96e2018b946a
\ No newline at end of file
diff --git b/_new_device_list_8cpp__incl.png a/_new_device_list_8cpp__incl.png
new file mode 100644
index 0000000..2a26421
--- /dev/null
+++ a/_new_device_list_8cpp__incl.png
diff --git b/_new_device_list_8h.html a/_new_device_list_8h.html
new file mode 100644
index 0000000..24c1b5f
--- /dev/null
+++ a/_new_device_list_8h.html
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/NewDeviceList.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <map>
+
#include <string>
+
#include "TimePattern.h "
+
#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_new_device_list_8h__dep__incl.map a/_new_device_list_8h__dep__incl.map
new file mode 100644
index 0000000..a0668f8
--- /dev/null
+++ a/_new_device_list_8h__dep__incl.map
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_new_device_list_8h__dep__incl.md5 a/_new_device_list_8h__dep__incl.md5
new file mode 100644
index 0000000..d139577
--- /dev/null
+++ a/_new_device_list_8h__dep__incl.md5
@@ -0,0 +1 @@
+1587f5f737cef5b5241798368f857b8f
\ No newline at end of file
diff --git b/_new_device_list_8h__dep__incl.png a/_new_device_list_8h__dep__incl.png
new file mode 100644
index 0000000..0c04298
--- /dev/null
+++ a/_new_device_list_8h__dep__incl.png
diff --git b/_new_device_list_8h__incl.map a/_new_device_list_8h__incl.map
new file mode 100644
index 0000000..aa8265b
--- /dev/null
+++ a/_new_device_list_8h__incl.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/_new_device_list_8h__incl.md5 a/_new_device_list_8h__incl.md5
new file mode 100644
index 0000000..1bf0f01
--- /dev/null
+++ a/_new_device_list_8h__incl.md5
@@ -0,0 +1 @@
+e64b8c51a9d150312c2ba07fb17a2413
\ No newline at end of file
diff --git b/_new_device_list_8h__incl.png a/_new_device_list_8h__incl.png
new file mode 100644
index 0000000..85d782b
--- /dev/null
+++ a/_new_device_list_8h__incl.png
diff --git b/_new_device_list_8h_source.html a/_new_device_list_8h_source.html
new file mode 100644
index 0000000..90b6370
--- /dev/null
+++ a/_new_device_list_8h_source.html
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/NewDeviceList.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 22 #ifndef INCLUDE_HUEPLUSPLUS_NEW_DEVICE_LIST_H 23 #define INCLUDE_HUEPLUSPLUS_NEW_DEVICE_LIST_H 30 #include "json/json.hpp" 39 NewDeviceList (
const std::string& lastScan,
const std::map<int, std::string>& devices);
65 std::map<int, std::string> devices;
time::AbsoluteTime getLastScanTime() const
Get time when last scan was completed.
Definition: NewDeviceList.cpp:41
+
static NewDeviceList parse(const nlohmann::json &json)
Parse from json response.
Definition: NewDeviceList.cpp:45
+
bool isScanActive()
Get whether scan is currently active.
Definition: NewDeviceList.cpp:37
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
List of new devices found during the last scan.
Definition: NewDeviceList.h:35
+
const std::map< int, std::string > & getNewDevices() const
Get a map of id and name of new devices.
Definition: NewDeviceList.cpp:29
+
One-time, absolute time point.
Definition: TimePattern.h:72
+
+
NewDeviceList(const std::string &lastScan, const std::map< int, std::string > &devices)
Construct from data.
Definition: NewDeviceList.cpp:26
+
bool hasLastScanTime() const
Get whether a last scan time is available.
Definition: NewDeviceList.cpp:33
+
+
+
+
+
diff --git b/_resource_list_8h.html a/_resource_list_8h.html
new file mode 100644
index 0000000..6ccf03e
--- /dev/null
+++ a/_resource_list_8h.html
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ResourceList.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <functional>
+
#include <map>
+
#include <string>
+
#include <vector>
+
#include "APICache.h "
+
#include "HueException.h "
+
#include "NewDeviceList.h "
+
#include "Utils.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_resource_list_8h__dep__incl.map a/_resource_list_8h__dep__incl.map
new file mode 100644
index 0000000..817cab5
--- /dev/null
+++ a/_resource_list_8h__dep__incl.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_resource_list_8h__dep__incl.md5 a/_resource_list_8h__dep__incl.md5
new file mode 100644
index 0000000..8687e9d
--- /dev/null
+++ a/_resource_list_8h__dep__incl.md5
@@ -0,0 +1 @@
+abeb51becdec73d85d1acc91814b7cb0
\ No newline at end of file
diff --git b/_resource_list_8h__dep__incl.png a/_resource_list_8h__dep__incl.png
new file mode 100644
index 0000000..1a6f612
--- /dev/null
+++ a/_resource_list_8h__dep__incl.png
diff --git b/_resource_list_8h__incl.map a/_resource_list_8h__incl.map
new file mode 100644
index 0000000..d394d94
--- /dev/null
+++ a/_resource_list_8h__incl.map
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git b/_resource_list_8h__incl.md5 a/_resource_list_8h__incl.md5
new file mode 100644
index 0000000..ea9c2a7
--- /dev/null
+++ a/_resource_list_8h__incl.md5
@@ -0,0 +1 @@
+5834eeb95477f42e11b63caeaece0a7b
\ No newline at end of file
diff --git b/_resource_list_8h__incl.png a/_resource_list_8h__incl.png
new file mode 100644
index 0000000..f0f5f49
--- /dev/null
+++ a/_resource_list_8h__incl.png
diff --git b/_resource_list_8h_source.html a/_resource_list_8h_source.html
new file mode 100644
index 0000000..28549a2
--- /dev/null
+++ a/_resource_list_8h_source.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ResourceList.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 22 #ifndef INCLUDE_HUEPLUSPLUS_RESOURCE_LIST_H 23 #define INCLUDE_HUEPLUSPLUS_RESOURCE_LIST_H 45 template <
typename Resource,
typename IdT>
51 static_assert(std::is_integral<IdType>::value || std::is_same<std::string, IdType>::value,
52 "IdType must be integral or string" );
61 ResourceList (std::shared_ptr<APICache> baseCache,
const std::string& cacheEntry,
62 std::chrono::steady_clock::duration refreshDuration,
bool sharedState =
false ,
63 const std::function<Resource(
IdType ,
const nlohmann::json&,
const std::shared_ptr<APICache>&)>&
factory 77 std::chrono::steady_clock::duration refreshDuration,
78 const std::function<Resource(
IdType ,
const nlohmann::json&,
const std::shared_ptr<APICache>&)>&
factory 98 stateCache ->setRefreshDuration(refreshDuration);
109 nlohmann::json& state =
stateCache ->getValue();
110 std::vector<Resource> result;
111 result.reserve(state.size());
112 for (
auto it = state.begin(); it != state.end(); ++it)
128 const nlohmann::json& state =
stateCache ->getValue();
130 if (!state.count(key))
165 nlohmann::json result =
stateCache ->getCommandAPI().DELETERequest(
166 requestPath, nlohmann::json::object(),
FileInfo {__FILE__, __LINE__, __func__});
183 std::is_constructible<Resource,
IdType ,
HueCommandAPI , std::chrono::steady_clock::duration,
184 const nlohmann::json&> {});
194 Resource
construct (
const IdType &
id ,
const nlohmann::json& state, std::true_type)
213 Resource
construct (
const IdType &
id ,
const nlohmann::json& state, std::false_type)
218 "Resource is not constructable with default parameters, but no factory given" );
224 static IdType maybeStoi (
const std::string& key, std::true_type) {
return std::stoi(key); }
225 static IdType maybeStoi (
const std::string& key, std::false_type) {
return key; }
231 std::function<Resource(IdType, const nlohmann::json&, const std::shared_ptr<APICache>&)>
factory ;
238 template <
typename Resource>
248 void search (
const std::vector<std::string>& deviceIds = {})
250 std::string requestPath = this->
path ;
252 requestPath.pop_back();
253 if (deviceIds.empty())
255 this->
stateCache ->getCommandAPI().POSTRequest(
256 requestPath, nlohmann::json::object(),
FileInfo {__FILE__, __LINE__, __func__});
260 this->
stateCache ->getCommandAPI().POSTRequest(
261 requestPath, nlohmann::json {{
"deviceid" , deviceIds}},
FileInfo {__FILE__, __LINE__, __func__});
268 nlohmann::json response = this->
stateCache ->getCommandAPI().GETRequest(
269 this->
path +
"new" , nlohmann::json::object(),
FileInfo {__FILE__, __LINE__, __func__});
284 template <
typename BaseResourceList,
typename CreateType>
288 using BaseResourceList::BaseResourceList;
298 typename BaseResourceList::IdType
create (
const CreateType& params)
300 std::string requestPath = this->
path ;
302 requestPath.pop_back();
303 nlohmann::json response = this->
stateCache ->getCommandAPI().POSTRequest(
304 requestPath, params.getRequest(),
FileInfo {__FILE__, __LINE__, __func__});
308 std::string idStr =
id .get<std::string>();
309 if (idStr.find(this->path) == 0)
311 idStr.erase(0, this->
path .size());
316 return typename BaseResourceList::IdType {};
330 template <
typename Resource,
typename CreateType>
339 Resource
get (
const int & id)
341 const nlohmann::json& state = this->
stateCache ->getValue();
343 if (!state.count(key) &&
id != 0)
347 return this->
construct (
id ,
id == 0 ? nlohmann::json {
nullptr } : state[key]);
351 bool exists (
int id )
const {
return id == 0 || Base::exists(
id ); }
bool exists(int id) const
Get group, specially handles group 0.
Definition: ResourceList.h:351
+
void search(const std::vector< std::string > &deviceIds={})
Start search for new devices.
Definition: ResourceList.h:248
+
void refresh()
Refreshes internal state now.
Definition: ResourceList.h:92
+
Definition: HueCommandAPI.h:37
+
Exception class with file information. Base class of all custom exception classes.
Definition: HueException.h:49
+
Handles a ResourceList where Resources can be added by the user.
Definition: ResourceList.h:285
+
static NewDeviceList parse(const nlohmann::json &json)
Parse from json response.
Definition: NewDeviceList.cpp:45
+
std::shared_ptr< APICache > stateCache
Definition: ResourceList.h:230
+
ResourceList & operator=(const ResourceList &)=delete
Deleted copy assignment.
+
bool exists(const IdType &id) const
Checks whether resource with id exists.
Definition: ResourceList.h:151
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
ResourceList(std::shared_ptr< APICache > baseCache, const std::string &cacheEntry, std::chrono::steady_clock::duration refreshDuration, bool sharedState=false, const std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)
Construct ResourceList using a base cache and optional factory function.
Definition: ResourceList.h:61
+
Caches API GET requests and refreshes regularly.
Definition: APICache.h:37
+
List of new devices found during the last scan.
Definition: NewDeviceList.h:35
+
std::vector< Resource > getAll()
Get all resources that exist.
Definition: ResourceList.h:107
+
Handles a group list with the special group 0.
Definition: ResourceList.h:331
+
Handles a list of a certain API resource.
Definition: ResourceList.h:46
+
+
+
Contains information about error location, use CURRENT_FILE_INFO to create.
Definition: HueException.h:34
+
std::string path
Definition: ResourceList.h:232
+
std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> factory
Definition: ResourceList.h:231
+
NewDeviceList getNewDevices() const
Get devices found in last search.
Definition: ResourceList.h:266
+
void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)
Sets custom refresh interval for this list and all resources created.
Definition: ResourceList.h:96
+
bool exists(const IdType &id)
Checks whether resource with id exists.
Definition: ResourceList.h:144
+
BaseResourceList::IdType create(const CreateType ¶ms)
Create a new resource.
Definition: ResourceList.h:298
+
Resource ResourceType
Definition: ResourceList.h:49
+
int IdType
Definition: ResourceList.h:50
+
nlohmann::json safeGetMember(const nlohmann::json &json, Paths &&... paths)
Returns the object/array member or null if it does not exist.
Definition: Utils.h:92
+
static IdType maybeStoi(const std::string &key)
Calls std::stoi if IdType is int.
Definition: ResourceList.h:173
+
+
Resource construct(const IdType &id, const nlohmann::json &state)
Constructs resource using factory or constructor, if available.
Definition: ResourceList.h:180
+
bool sharedState
Definition: ResourceList.h:233
+
ResourceList(const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)
Construct ResourceList with a separate cache and optional factory function.
Definition: ResourceList.h:76
+
static std::string maybeToString(const IdType &id)
Calls std::to_string if IdType is int.
Definition: ResourceList.h:176
+
+
Handles a ResourceList of physical devices which can be searched for.
Definition: ResourceList.h:239
+
+
+
+
+
diff --git b/_rule_8cpp.html a/_rule_8cpp.html
new file mode 100644
index 0000000..f90847d
--- /dev/null
+++ a/_rule_8cpp.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+hueplusplus: src/Rule.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_rule_8cpp__incl.map a/_rule_8cpp__incl.map
new file mode 100644
index 0000000..40f0412
--- /dev/null
+++ a/_rule_8cpp__incl.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_rule_8cpp__incl.md5 a/_rule_8cpp__incl.md5
new file mode 100644
index 0000000..fa4dc44
--- /dev/null
+++ a/_rule_8cpp__incl.md5
@@ -0,0 +1 @@
+a422b45ebba1f9bbdc87db4b53ebf589
\ No newline at end of file
diff --git b/_rule_8cpp__incl.png a/_rule_8cpp__incl.png
new file mode 100644
index 0000000..5a31759
--- /dev/null
+++ a/_rule_8cpp__incl.png
diff --git b/_rule_8h.html a/_rule_8h.html
new file mode 100644
index 0000000..7846922
--- /dev/null
+++ a/_rule_8h.html
@@ -0,0 +1,146 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Rule.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <string>
+
#include "APICache.h "
+
#include "Action.h "
+
#include "Condition.h "
+
#include "HueCommandAPI.h "
+
#include "TimePattern.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_rule_8h__dep__incl.map a/_rule_8h__dep__incl.map
new file mode 100644
index 0000000..f8a05fe
--- /dev/null
+++ a/_rule_8h__dep__incl.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_rule_8h__dep__incl.md5 a/_rule_8h__dep__incl.md5
new file mode 100644
index 0000000..3c0c32e
--- /dev/null
+++ a/_rule_8h__dep__incl.md5
@@ -0,0 +1 @@
+c0ecd6e0cc33fbf6d8d5587d10afc059
\ No newline at end of file
diff --git b/_rule_8h__dep__incl.png a/_rule_8h__dep__incl.png
new file mode 100644
index 0000000..a7c883d
--- /dev/null
+++ a/_rule_8h__dep__incl.png
diff --git b/_rule_8h__incl.map a/_rule_8h__incl.map
new file mode 100644
index 0000000..c89c1c2
--- /dev/null
+++ a/_rule_8h__incl.map
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git b/_rule_8h__incl.md5 a/_rule_8h__incl.md5
new file mode 100644
index 0000000..4fead6b
--- /dev/null
+++ a/_rule_8h__incl.md5
@@ -0,0 +1 @@
+7e61220bd0edf225aa94bf614903d08c
\ No newline at end of file
diff --git b/_rule_8h__incl.png a/_rule_8h__incl.png
new file mode 100644
index 0000000..9140d0c
--- /dev/null
+++ a/_rule_8h__incl.png
diff --git b/_rule_8h_source.html a/_rule_8h_source.html
new file mode 100644
index 0000000..9afee69
--- /dev/null
+++ a/_rule_8h_source.html
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Rule.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 22 #ifndef INCLUDE_HUEPLUSPLUS_RULE_H 23 #define INCLUDE_HUEPLUSPLUS_RULE_H 48 Rule (
int id ,
const std::shared_ptr<APICache>& baseCache);
54 Rule (
int id ,
const HueCommandAPI & commands, std::chrono::steady_clock::duration refreshDuration,
const nlohmann::json& currentState);
63 void refresh (
bool force =
false );
84 void setName (
const std::string& name);
124 void setConditions (
const std::vector<Condition>& conditions);
128 void setActions (
const std::vector<Action>& actions);
140 nlohmann::json sendPutRequest(
const nlohmann::json& request,
FileInfo fileInfo);
156 CreateRule (
const std::vector<Condition>& conditions,
const std::vector<Action>& actions);
167 nlohmann::json getRequest()
const ;
170 nlohmann::json request;
void setConditions(const std::vector< Condition > &conditions)
Set conditions for the rule.
Definition: Rule.cpp:235
+
Definition: HueCommandAPI.h:37
+
Rule(int id, const std::shared_ptr< APICache > &baseCache)
Creates rule with shared cache.
Definition: Rule.cpp:133
+
Rule stored in the bridge.
Definition: Rule.h:42
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
Caches API GET requests and refreshes regularly.
Definition: APICache.h:37
+
void refresh(bool force=false)
Refreshes internal cached state.
Definition: Rule.cpp:143
+
+
std::string getOwner() const
Get user that created or last changed the rule.
Definition: Rule.cpp:208
+
Parameters for creating a new Rule.
Definition: Rule.h:150
+
Contains information about error location, use CURRENT_FILE_INFO to create.
Definition: HueException.h:34
+
+
One-time, absolute time point.
Definition: TimePattern.h:72
+
void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)
Sets custom refresh interval for this rule.
Definition: Rule.cpp:155
+
+
void setEnabled(bool enabled)
Enable or disable rule.
Definition: Rule.cpp:202
+
int getTimesTriggered() const
Get the number of times the rule was triggered.
Definition: Rule.cpp:192
+
+
void setActions(const std::vector< Action > &actions)
Set actions for the rule.
Definition: Rule.cpp:247
+
bool isEnabled() const
Get whether rule is enabled or disabled.
Definition: Rule.cpp:197
+
std::vector< Action > getActions() const
Get the actions that are executed.
Definition: Rule.cpp:224
+
time::AbsoluteTime getLastTriggered() const
Get time the rule was last triggered.
Definition: Rule.cpp:182
+
void setName(const std::string &name)
Set rule name.
Definition: Rule.cpp:170
+
std::string getName() const
Get rule name.
Definition: Rule.cpp:165
+
time::AbsoluteTime getCreated() const
Get created time.
Definition: Rule.cpp:177
+
int getId() const
Get rule identifier.
Definition: Rule.cpp:160
+
std::vector< Condition > getConditions() const
Get the conditions that have to be met.
Definition: Rule.cpp:213
+
+
+
+
+
+
diff --git b/_scene_8cpp.html a/_scene_8cpp.html
new file mode 100644
index 0000000..180bba7
--- /dev/null
+++ a/_scene_8cpp.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+hueplusplus: src/Scene.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_scene_8cpp__incl.map a/_scene_8cpp__incl.map
new file mode 100644
index 0000000..b35aafc
--- /dev/null
+++ a/_scene_8cpp__incl.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git b/_scene_8cpp__incl.md5 a/_scene_8cpp__incl.md5
new file mode 100644
index 0000000..a6cc161
--- /dev/null
+++ a/_scene_8cpp__incl.md5
@@ -0,0 +1 @@
+9fbcc169ff6b9fa5b4932f5ffeb6c431
\ No newline at end of file
diff --git b/_scene_8cpp__incl.png a/_scene_8cpp__incl.png
new file mode 100644
index 0000000..9f6645d
--- /dev/null
+++ a/_scene_8cpp__incl.png
diff --git b/_scene_8h.html a/_scene_8h.html
new file mode 100644
index 0000000..2d52e5e
--- /dev/null
+++ a/_scene_8h.html
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Scene.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <map>
+
#include <string>
+
#include <vector>
+
#include <json/json.hpp>
+
#include "APICache.h "
+
#include "ColorUnits.h "
+
#include "TimePattern.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_scene_8h__dep__incl.map a/_scene_8h__dep__incl.map
new file mode 100644
index 0000000..d0241cd
--- /dev/null
+++ a/_scene_8h__dep__incl.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_scene_8h__dep__incl.md5 a/_scene_8h__dep__incl.md5
new file mode 100644
index 0000000..b564525
--- /dev/null
+++ a/_scene_8h__dep__incl.md5
@@ -0,0 +1 @@
+bf46d7adb6b9ba7737b035a672040f69
\ No newline at end of file
diff --git b/_scene_8h__dep__incl.png a/_scene_8h__dep__incl.png
new file mode 100644
index 0000000..8365ca2
--- /dev/null
+++ a/_scene_8h__dep__incl.png
diff --git b/_scene_8h__incl.map a/_scene_8h__incl.map
new file mode 100644
index 0000000..b3027c9
--- /dev/null
+++ a/_scene_8h__incl.map
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git b/_scene_8h__incl.md5 a/_scene_8h__incl.md5
new file mode 100644
index 0000000..598b151
--- /dev/null
+++ a/_scene_8h__incl.md5
@@ -0,0 +1 @@
+a8222440802b24256408d0778ded420f
\ No newline at end of file
diff --git b/_scene_8h__incl.png a/_scene_8h__incl.png
new file mode 100644
index 0000000..2455d0a
--- /dev/null
+++ a/_scene_8h__incl.png
diff --git b/_scene_8h_source.html a/_scene_8h_source.html
new file mode 100644
index 0000000..fa20561
--- /dev/null
+++ a/_scene_8h_source.html
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Scene.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 22 #ifndef INCLUDE_HUEPLUSPLUS_SCENE_H 23 #define INCLUDE_HUEPLUSPLUS_SCENE_H 29 #include <json/json.hpp> 43 explicit LightState (
const nlohmann::json& state);
83 nlohmann::json
toJson ()
const ;
109 nlohmann::json state;
129 Scene (
const std::string&
id ,
const std::shared_ptr<APICache>& baseCache);
135 Scene (
const std::string&
id ,
const HueCommandAPI & commands, std::chrono::steady_clock::duration refreshDuration,
const nlohmann::json& currentState);
144 void refresh(
bool force =
false );
148 void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration);
151 std::string getId()
const ;
155 std::string getName()
const ;
163 void setName(
const std::string& name);
167 Type getType()
const ;
171 int getGroupId()
const ;
176 std::vector<int> getLightIds()
const ;
185 void setLightIds(
const std::vector<int>& ids);
188 std::string getOwner()
const ;
190 bool getRecycle()
const ;
192 bool isLocked()
const ;
195 std::string getAppdata()
const ;
197 int getAppdataVersion()
const ;
205 void setAppdata(
const std::string& data,
int version);
210 std::string getPicture()
const ;
216 int getVersion()
const ;
220 std::map<int, LightState> getLightStates()
const ;
228 void setLightStates(
const std::map<int, LightState>& states);
235 void storeCurrentLightState();
242 void storeCurrentLightState(
int transition);
257 void sendPutRequest(
const std::string& path,
const nlohmann::json& request,
FileInfo fileInfo);
282 CreateScene & setLightIds(
const std::vector<int>& ids);
289 CreateScene & setAppdata(
const std::string& data,
int version);
294 CreateScene & setLightStates(
const std::map<int, LightState>& states);
298 nlohmann::json getRequest()
const ;
301 nlohmann::json request;
Type
Type of the scen.
Definition: Scene.h:119
+
bool hasBrightness() const
Get whether a brightness is stored.
Definition: Scene.cpp:34
+
Definition: HueCommandAPI.h:37
+
bool isOn() const
Get whether the light is on.
Definition: Scene.cpp:29
+
int getTransitionTime() const
Get transition time to this light state.
Definition: Scene.cpp:85
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
Caches API GET requests and refreshes regularly.
Definition: APICache.h:37
+
bool operator==(const LightState &other) const
Equality comparison.
Definition: Scene.cpp:95
+
bool hasHueSat() const
Get whether hue and saturation is stored.
Definition: Scene.cpp:44
+
Contains information about error location, use CURRENT_FILE_INFO to create.
Definition: HueException.h:34
+
Parameters for creating a new Scene.
Definition: Scene.h:267
+
+
One-time, absolute time point.
Definition: TimePattern.h:72
+
int getCt() const
Get color temperature of the light.
Definition: Scene.cpp:70
+
Color and brightness in CIE.
Definition: ColorUnits.h:62
+
+
+
int getBrightness() const
Get brightness of the light.
Definition: Scene.cpp:39
+
bool getColorloop() const
Get whether colorloop effect is active.
Definition: Scene.cpp:80
+
bool hasEffect() const
Get whether effect is stored.
Definition: Scene.cpp:75
+
nlohmann::json toJson() const
Convert to json representation.
Definition: Scene.cpp:90
+
Color in CIE x and y coordinates.
Definition: ColorUnits.h:47
+
bool operator!=(const LightState &other) const
Inequality comparison.
Definition: Scene.cpp:100
+
HueSaturation getHueSat() const
Get hue and saturation of the light.
Definition: Scene.cpp:49
+
Immutable state of a light.
Definition: Scene.h:38
+
bool hasXY() const
Get whether xy color is stored.
Definition: Scene.cpp:54
+
Builder to create LightState.
Definition: Scene.h:95
+
Color in hue and saturation.
Definition: ColorUnits.h:31
+
LightState(const nlohmann::json &state)
Create LightState from json.
Definition: Scene.cpp:27
+
bool hasCt() const
Get whether color temperature is stored.
Definition: Scene.cpp:65
+
Scene stored in the bridge.
Definition: Scene.h:115
+
XYBrightness getXY() const
Get xy color of the light.
Definition: Scene.cpp:59
+
+
+
+
+
diff --git b/_schedule_8cpp.html a/_schedule_8cpp.html
new file mode 100644
index 0000000..cd77793
--- /dev/null
+++ a/_schedule_8cpp.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+hueplusplus: src/Schedule.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_schedule_8cpp__incl.map a/_schedule_8cpp__incl.map
new file mode 100644
index 0000000..bbceb52
--- /dev/null
+++ a/_schedule_8cpp__incl.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git b/_schedule_8cpp__incl.md5 a/_schedule_8cpp__incl.md5
new file mode 100644
index 0000000..a64e479
--- /dev/null
+++ a/_schedule_8cpp__incl.md5
@@ -0,0 +1 @@
+fdb87c618f17a8ed528d0b156625423b
\ No newline at end of file
diff --git b/_schedule_8cpp__incl.png a/_schedule_8cpp__incl.png
new file mode 100644
index 0000000..1ef40fb
--- /dev/null
+++ a/_schedule_8cpp__incl.png
diff --git b/_schedule_8h.html a/_schedule_8h.html
new file mode 100644
index 0000000..bb57295
--- /dev/null
+++ a/_schedule_8h.html
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Schedule.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "APICache.h "
+
#include "Action.h "
+
#include "TimePattern.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_schedule_8h__dep__incl.map a/_schedule_8h__dep__incl.map
new file mode 100644
index 0000000..dc80743
--- /dev/null
+++ a/_schedule_8h__dep__incl.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_schedule_8h__dep__incl.md5 a/_schedule_8h__dep__incl.md5
new file mode 100644
index 0000000..37a3391
--- /dev/null
+++ a/_schedule_8h__dep__incl.md5
@@ -0,0 +1 @@
+7575efdcd9c0748818bfe19ca92989d4
\ No newline at end of file
diff --git b/_schedule_8h__dep__incl.png a/_schedule_8h__dep__incl.png
new file mode 100644
index 0000000..8582d0a
--- /dev/null
+++ a/_schedule_8h__dep__incl.png
diff --git b/_schedule_8h__incl.map a/_schedule_8h__incl.map
new file mode 100644
index 0000000..f81f703
--- /dev/null
+++ a/_schedule_8h__incl.map
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
diff --git b/_schedule_8h__incl.md5 a/_schedule_8h__incl.md5
new file mode 100644
index 0000000..7b4883b
--- /dev/null
+++ a/_schedule_8h__incl.md5
@@ -0,0 +1 @@
+e557eb8b905ba66ac0d5350449f5da13
\ No newline at end of file
diff --git b/_schedule_8h__incl.png a/_schedule_8h__incl.png
new file mode 100644
index 0000000..20f8477
--- /dev/null
+++ a/_schedule_8h__incl.png
diff --git b/_schedule_8h_source.html a/_schedule_8h_source.html
new file mode 100644
index 0000000..5d37f66
--- /dev/null
+++ a/_schedule_8h_source.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Schedule.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 22 #ifndef INCLUDE_HUEPLUSPLUS_SCHEDULE_H 23 #define INCLUDE_HUEPLUSPLUS_SCHEDULE_H 40 Schedule (
int id ,
const std::shared_ptr<APICache>& baseCache);
46 Schedule (
int id ,
const HueCommandAPI & commands, std::chrono::steady_clock::duration refreshDuration,
const nlohmann::json& currentState);
95 void setName (
const std::string& name);
140 void sendPutRequest(
const nlohmann::json& request,
FileInfo fileInfo);
178 nlohmann::json getRequest()
const ;
181 nlohmann::json request;
void setName(const std::string &name)
Set schedule name.
Definition: Schedule.cpp:98
+
Parameters for creating a new Schedule.
Definition: Schedule.h:150
+
Definition: HueCommandAPI.h:37
+
Schedule stored in the bridge.
Definition: Schedule.h:34
+
void refresh()
Refreshes internal cached state.
Definition: Schedule.cpp:37
+
Action executed by the bridge, e.g. as a Schedule command.
Definition: Action.h:35
+
std::string getName() const
Get schedule name.
Definition: Schedule.cpp:52
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
void setCommand(const Action &command)
Set schedule command.
Definition: Schedule.cpp:110
+
Caches API GET requests and refreshes regularly.
Definition: APICache.h:37
+
time::AbsoluteTime getStartTime() const
Get start time for timers.
Definition: Schedule.cpp:93
+
Holds different time representations.
Definition: TimePattern.h:351
+
+
Contains information about error location, use CURRENT_FILE_INFO to create.
Definition: HueException.h:34
+
time::AbsoluteTime getCreated() const
Get created time.
Definition: Schedule.cpp:88
+
One-time, absolute time point.
Definition: TimePattern.h:72
+
time::TimePattern getTime() const
Get time when the event(s) will occur.
Definition: Schedule.cpp:67
+
void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)
Sets custom refresh interval for this schedule.
Definition: Schedule.cpp:42
+
Action getCommand() const
Get schedule command.
Definition: Schedule.cpp:62
+
+
void setTime(const time::TimePattern &timePattern)
Set new time when the event will occur.
Definition: Schedule.cpp:116
+
+
Schedule(int id, const std::shared_ptr< APICache > &baseCache)
Creates schedule with shared cache.
Definition: Schedule.cpp:27
+
void setEnabled(bool enabled)
Enable or disable schedule.
Definition: Schedule.cpp:130
+
std::string getDescription() const
Get schedule description.
Definition: Schedule.cpp:57
+
bool isEnabled() const
Check whether schedule is enabled or disabled.
Definition: Schedule.cpp:74
+
void setDescription(const std::string &description)
Set schedule description.
Definition: Schedule.cpp:104
+
int getId() const
Get schedule identifier.
Definition: Schedule.cpp:47
+
bool getAutodelete() const
Get autodelete.
Definition: Schedule.cpp:83
+
void setAutodelete(bool autodelete)
Set autodelete.
Definition: Schedule.cpp:136
+
+
+
+
+
diff --git b/_sensor_8cpp.html a/_sensor_8cpp.html
new file mode 100644
index 0000000..2c369d4
--- /dev/null
+++ a/_sensor_8cpp.html
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+hueplusplus: src/Sensor.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Stefan Herbrechtsmeier - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_sensor_8cpp__incl.map a/_sensor_8cpp__incl.map
new file mode 100644
index 0000000..e9c0709
--- /dev/null
+++ a/_sensor_8cpp__incl.map
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_sensor_8cpp__incl.md5 a/_sensor_8cpp__incl.md5
new file mode 100644
index 0000000..297a233
--- /dev/null
+++ a/_sensor_8cpp__incl.md5
@@ -0,0 +1 @@
+cdbc39f43721bd0ed09fd41131b25c8b
\ No newline at end of file
diff --git b/_sensor_8cpp__incl.png a/_sensor_8cpp__incl.png
new file mode 100644
index 0000000..cea9479
--- /dev/null
+++ a/_sensor_8cpp__incl.png
diff --git b/_sensor_8h.html a/_sensor_8h.html
new file mode 100644
index 0000000..f0df80d
--- /dev/null
+++ a/_sensor_8h.html
@@ -0,0 +1,192 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Sensor.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <memory>
+
#include "BaseDevice.h "
+
#include "Condition.h "
+
#include "HueCommandAPI.h "
+
#include "TimePattern.h "
+
#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+
Copyright Notice
+Copyright (C) 2020 Stefan Herbrechtsmeier - developer
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_sensor_8h__dep__incl.map a/_sensor_8h__dep__incl.map
new file mode 100644
index 0000000..6b5bb12
--- /dev/null
+++ a/_sensor_8h__dep__incl.map
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_sensor_8h__dep__incl.md5 a/_sensor_8h__dep__incl.md5
new file mode 100644
index 0000000..b365a60
--- /dev/null
+++ a/_sensor_8h__dep__incl.md5
@@ -0,0 +1 @@
+1923655eb7b277a43f65f4af323b83a7
\ No newline at end of file
diff --git b/_sensor_8h__dep__incl.png a/_sensor_8h__dep__incl.png
new file mode 100644
index 0000000..215b6fd
--- /dev/null
+++ a/_sensor_8h__dep__incl.png
diff --git b/_sensor_8h__incl.map a/_sensor_8h__incl.map
new file mode 100644
index 0000000..61c249e
--- /dev/null
+++ a/_sensor_8h__incl.map
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git b/_sensor_8h__incl.md5 a/_sensor_8h__incl.md5
new file mode 100644
index 0000000..0ec3cc2
--- /dev/null
+++ a/_sensor_8h__incl.md5
@@ -0,0 +1 @@
+4cf0130dca255299915c4d16e005fd24
\ No newline at end of file
diff --git b/_sensor_8h__incl.png a/_sensor_8h__incl.png
new file mode 100644
index 0000000..1563dde
--- /dev/null
+++ a/_sensor_8h__incl.png
diff --git b/_sensor_8h_source.html a/_sensor_8h_source.html
new file mode 100644
index 0000000..3c8e400
--- /dev/null
+++ a/_sensor_8h_source.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Sensor.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_SENSOR_H 24 #define INCLUDE_HUEPLUSPLUS_HUE_SENSOR_H 33 #include "json/json.hpp" 65 Sensor (
int id ,
const std::shared_ptr<APICache>& baseCache);
72 Sensor (
int id ,
const HueCommandAPI & commands, std::chrono::steady_clock::duration refreshDuration,
const nlohmann::json& currentState);
92 bool hasBatteryState()
const ;
96 int getBatteryState()
const ;
102 void setBatteryState(
int percent);
105 bool hasAlert()
const ;
109 Alert getLastAlert()
const ;
115 void sendAlert(
Alert type);
118 bool hasReachable()
const ;
121 bool isReachable()
const ;
124 bool hasUserTest()
const ;
133 void setUserTest(
bool enabled);
140 std::string getURL()
const ;
146 void setURL(
const std::string& url);
153 std::vector<std::string> getPendingConfig()
const ;
156 bool hasLEDIndication()
const ;
159 bool getLEDIndication()
const ;
165 void setLEDIndication(
bool on);
169 nlohmann::json getConfig()
const ;
175 void setConfigAttribute(
const std::string& key,
const nlohmann::json& value);
185 nlohmann::json getState()
const ;
191 void setStateAttribute(
const std::string& key,
const nlohmann::json& value);
196 std::string getStateAddress(
const std::string& key)
const ;
199 bool isCertified()
const ;
204 bool isPrimary()
const ;
209 template <
typename T>
212 if (getType() != T::typeStr)
214 throw HueException (
FileInfo {__FILE__, __LINE__, __func__},
"Sensor type does not match: " + getType());
223 template <
typename T>
226 if (getType() != T::typeStr)
228 throw HueException (
FileInfo {__FILE__, __LINE__, __func__},
"Sensor type does not match: " + getType());
230 return T(std::move(*
this ));
248 CreateSensor (
const std::string& name,
const std::string& modelid,
const std::string& swversion,
249 const std::string& type,
const std::string& uniqueid,
const std::string& manufacturername);
265 nlohmann::json getRequest()
const ;
298 bool hasBatteryState()
const ;
302 int getBatteryState()
const ;
308 void setBatteryState(
int percent);
318 void setCoordinates(
const std::string& latitude,
const std::string& longitude);
322 bool isConfigured()
const ;
327 int getSunriseOffset()
const ;
334 void setSunriseOffset(
int minutes);
339 int getSunsetOffset()
const ;
346 void setSunsetOffset(
int minutes);
349 bool isDaylight()
const ;
357 static constexpr
const char * typeStr =
"Daylight" ;
362 template <
typename SensorT, detail::
void _t<decltype(std::declval<const SensorT>().getLastUpdated())>* =
nullptr >
365 return detail::ConditionHelper<time::AbsoluteTime>(
366 "/sensors/" + std::to_string(sensor.getId()) +
"/state/lastupdated" );
369 template <
typename ButtonSensor, detail::
void _t<decltype(std::declval<const ButtonSensor>().getButtonEvent())>* =
nullptr >
372 return detail::ConditionHelper<int>(
373 "/sensors/" + std::to_string(sensor.getId()) +
"/state/buttonevent" );
376 template <
typename PresenceSensor, detail::
void _t<decltype(std::declval<const PresenceSensor>().getPresence())>* =
nullptr >
379 return detail::ConditionHelper<bool>(
380 "/sensors/" + std::to_string(sensor.getId()) +
"/state/presence" );
383 template <
typename TemperatureSensor, detail::
void _t<decltype(std::declval<const TemperatureSensor>().getPresence())>* =
nullptr >
386 return detail::ConditionHelper<int>(
387 "/sensors/" + std::to_string(sensor.getId()) +
"/state/temperature" );
Definition: HueCommandAPI.h:37
+
Exception class with file information. Base class of all custom exception classes.
Definition: HueException.h:49
+
Long select alert (15s breathe)
+
DaylightSensor(Sensor sensor)
Construct from generic sensor.
Definition: Sensor.h:283
+
T asSensorType() &&
Convert sensor to a specific type.
Definition: Sensor.h:224
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
std::string alertToString(Alert alert)
Convert alert to string form.
Definition: Sensor.cpp:30
+
Alert
Specifies light alert modes.
Definition: Sensor.h:38
+
+
Base class for physical devices connected to the bridge (sensor or light).
Definition: BaseDevice.h:35
+
Contains information about error location, use CURRENT_FILE_INFO to create.
Definition: HueException.h:34
+
+
One-time, absolute time point.
Definition: TimePattern.h:72
+
nlohmann::json request
Definition: Sensor.h:268
+
Daylight sensor to detect sunrise and sunset.
Definition: Sensor.h:279
+
+
Class for generic or unknown sensor types.
Definition: Sensor.h:59
+
Alert alertFromString(const std::string &s)
Convert string to Alert enum.
Definition: Sensor.cpp:44
+
Select alert (breathe cycle)
+
T asSensorType() const &
Convert sensor to a specific type.
Definition: Sensor.h:210
+
Parameters for creating a new Sensor.
Definition: Sensor.h:237
+
+
detail::ConditionHelper< int > makeCondition(const TemperatureSensor &sensor)
Definition: Sensor.h:384
+
detail::ConditionHelper< time::AbsoluteTime > makeConditionLastUpdate(const SensorT &sensor)
Definition: Sensor.h:363
+
+
+
+
+
+
diff --git b/_sensor_list_8h.html a/_sensor_list_8h.html
new file mode 100644
index 0000000..1ccf17e
--- /dev/null
+++ a/_sensor_list_8h.html
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/SensorList.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "ResourceList.h "
+
#include "Sensor.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_sensor_list_8h__dep__incl.map a/_sensor_list_8h__dep__incl.map
new file mode 100644
index 0000000..7328397
--- /dev/null
+++ a/_sensor_list_8h__dep__incl.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git b/_sensor_list_8h__dep__incl.md5 a/_sensor_list_8h__dep__incl.md5
new file mode 100644
index 0000000..ca82208
--- /dev/null
+++ a/_sensor_list_8h__dep__incl.md5
@@ -0,0 +1 @@
+156eda18fc7cebef8db685bef07968e1
\ No newline at end of file
diff --git b/_sensor_list_8h__dep__incl.png a/_sensor_list_8h__dep__incl.png
new file mode 100644
index 0000000..42a191c
--- /dev/null
+++ a/_sensor_list_8h__dep__incl.png
diff --git b/_sensor_list_8h__incl.map a/_sensor_list_8h__incl.map
new file mode 100644
index 0000000..8e2c71c
--- /dev/null
+++ a/_sensor_list_8h__incl.map
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_sensor_list_8h__incl.md5 a/_sensor_list_8h__incl.md5
new file mode 100644
index 0000000..9cd5fa5
--- /dev/null
+++ a/_sensor_list_8h__incl.md5
@@ -0,0 +1 @@
+9c19cb621df129531a7d44ff10eaaf2a
\ No newline at end of file
diff --git b/_sensor_list_8h__incl.png a/_sensor_list_8h__incl.png
new file mode 100644
index 0000000..53ac2c4
--- /dev/null
+++ a/_sensor_list_8h__incl.png
diff --git b/_sensor_list_8h_source.html a/_sensor_list_8h_source.html
new file mode 100644
index 0000000..e438668
--- /dev/null
+++ a/_sensor_list_8h_source.html
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/SensorList.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 22 #ifndef INCLUDE_HUEPLUSPLUS_SENSOR_LIST_H 23 #define INCLUDE_HUEPLUSPLUS_SENSOR_LIST_H 49 return get (id).asSensorType<T>();
61 nlohmann::json state = this->
stateCache ->getValue();
62 std::vector<T> result;
63 for (
auto it = state.begin(); it != state.end(); ++it)
66 if (it->value(
"type" ,
"" ) == T::typeStr)
68 result.push_back(
get (
maybeStoi (it.key())).asSensorType<T>());
Handles a ResourceList where Resources can be added by the user.
Definition: ResourceList.h:285
+
std::shared_ptr< APICache > stateCache
Definition: ResourceList.h:230
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
std::vector< T > getAllByType()
Get all sensors of type T.
Definition: SensorList.h:59
+
static IdType maybeStoi(const std::string &key)
Calls std::stoi if IdType is int.
Definition: ResourceList.h:173
+
+
+
Handles a list of Sensors with type specific getters.
Definition: SensorList.h:33
+
T getAsType(int id)
Get sensor specified by id, convert to T.
Definition: SensorList.h:47
+
CreateableResourceList(CreateableResourceList &&)=default
Protected defaulted move constructor.
+
SensorList(SensorList &&)=default
Protected defaulted move constructor.
+
SensorList & operator=(SensorList &&)=default
Protected defaulted move assignment.
+
+
+
+
+
diff --git b/_sensors_8md.html a/_sensors_8md.html
new file mode 100644
index 0000000..1c76faa
--- /dev/null
+++ a/_sensors_8md.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+hueplusplus: doc/markdown/Sensors.md File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_shared___state_8md.html a/_shared___state_8md.html
new file mode 100644
index 0000000..b5945d6
--- /dev/null
+++ a/_shared___state_8md.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+hueplusplus: doc/markdown/Shared_State.md File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_simple_brightness_strategy_8cpp.html a/_simple_brightness_strategy_8cpp.html
new file mode 100644
index 0000000..e0304e5
--- /dev/null
+++ a/_simple_brightness_strategy_8cpp.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+hueplusplus: src/SimpleBrightnessStrategy.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "hueplusplus/SimpleBrightnessStrategy.h "
+
#include <cmath>
+
#include <iostream>
+
#include <thread>
+
#include "hueplusplus/HueExceptionMacro.h "
+
#include "hueplusplus/Utils.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_simple_brightness_strategy_8cpp__incl.map a/_simple_brightness_strategy_8cpp__incl.map
new file mode 100644
index 0000000..2afd5d6
--- /dev/null
+++ a/_simple_brightness_strategy_8cpp__incl.map
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_simple_brightness_strategy_8cpp__incl.md5 a/_simple_brightness_strategy_8cpp__incl.md5
new file mode 100644
index 0000000..c7af481
--- /dev/null
+++ a/_simple_brightness_strategy_8cpp__incl.md5
@@ -0,0 +1 @@
+5b7ddbeedce21bb5a10cf49040838f78
\ No newline at end of file
diff --git b/_simple_brightness_strategy_8cpp__incl.png a/_simple_brightness_strategy_8cpp__incl.png
new file mode 100644
index 0000000..a01b54a
--- /dev/null
+++ a/_simple_brightness_strategy_8cpp__incl.png
diff --git b/_simple_brightness_strategy_8h.html a/_simple_brightness_strategy_8h.html
new file mode 100644
index 0000000..6296f10
--- /dev/null
+++ a/_simple_brightness_strategy_8h.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/SimpleBrightnessStrategy.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_simple_brightness_strategy_8h__dep__incl.map a/_simple_brightness_strategy_8h__dep__incl.map
new file mode 100644
index 0000000..c181b64
--- /dev/null
+++ a/_simple_brightness_strategy_8h__dep__incl.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/_simple_brightness_strategy_8h__dep__incl.md5 a/_simple_brightness_strategy_8h__dep__incl.md5
new file mode 100644
index 0000000..20518ed
--- /dev/null
+++ a/_simple_brightness_strategy_8h__dep__incl.md5
@@ -0,0 +1 @@
+700b476a8cd037052c46f1b6819154ed
\ No newline at end of file
diff --git b/_simple_brightness_strategy_8h__dep__incl.png a/_simple_brightness_strategy_8h__dep__incl.png
new file mode 100644
index 0000000..66a1dcc
--- /dev/null
+++ a/_simple_brightness_strategy_8h__dep__incl.png
diff --git b/_simple_brightness_strategy_8h__incl.map a/_simple_brightness_strategy_8h__incl.map
new file mode 100644
index 0000000..843d9e6
--- /dev/null
+++ a/_simple_brightness_strategy_8h__incl.map
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_simple_brightness_strategy_8h__incl.md5 a/_simple_brightness_strategy_8h__incl.md5
new file mode 100644
index 0000000..7da1541
--- /dev/null
+++ a/_simple_brightness_strategy_8h__incl.md5
@@ -0,0 +1 @@
+5bd4d54cb954c4b6616e1442ba9ca32b
\ No newline at end of file
diff --git b/_simple_brightness_strategy_8h__incl.png a/_simple_brightness_strategy_8h__incl.png
new file mode 100644
index 0000000..2195854
--- /dev/null
+++ a/_simple_brightness_strategy_8h__incl.png
diff --git b/_simple_brightness_strategy_8h_source.html a/_simple_brightness_strategy_8h_source.html
new file mode 100644
index 0000000..987497e
--- /dev/null
+++ a/_simple_brightness_strategy_8h_source.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/SimpleBrightnessStrategy.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_SIMPLE_BRIGHTNESS_STRATEGY_H 24 #define INCLUDE_HUEPLUSPLUS_SIMPLE_BRIGHTNESS_STRATEGY_H unsigned int getBrightness(Light &light) const override
Function that returns the current brightness of the light.
Definition: SimpleBrightnessStrategy.cpp:40
+
bool setBrightness(unsigned int bri, uint8_t transition, Light &light) const override
Function for changing a lights brightness with a specified transition.
Definition: SimpleBrightnessStrategy.cpp:34
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
+
Virtual base class for all BrightnessStrategies.
Definition: BrightnessStrategy.h:33
+
Class implementing the functions of BrightnessStrategy.
Definition: SimpleBrightnessStrategy.h:32
+
Class for Hue Light fixtures.
Definition: Light.h:60
+
+
+
+
+
+
diff --git b/_simple_color_hue_strategy_8cpp.html a/_simple_color_hue_strategy_8cpp.html
new file mode 100644
index 0000000..6654f83
--- /dev/null
+++ a/_simple_color_hue_strategy_8cpp.html
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+hueplusplus: src/SimpleColorHueStrategy.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "hueplusplus/SimpleColorHueStrategy.h "
+
#include <cmath>
+
#include <iostream>
+
#include <thread>
+
#include "hueplusplus/LibConfig.h "
+
#include "hueplusplus/HueExceptionMacro.h "
+
#include "hueplusplus/Utils.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_simple_color_hue_strategy_8cpp__incl.map a/_simple_color_hue_strategy_8cpp__incl.map
new file mode 100644
index 0000000..df70557
--- /dev/null
+++ a/_simple_color_hue_strategy_8cpp__incl.map
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_simple_color_hue_strategy_8cpp__incl.md5 a/_simple_color_hue_strategy_8cpp__incl.md5
new file mode 100644
index 0000000..861cb99
--- /dev/null
+++ a/_simple_color_hue_strategy_8cpp__incl.md5
@@ -0,0 +1 @@
+691475718e38d003a608fe2435215cbf
\ No newline at end of file
diff --git b/_simple_color_hue_strategy_8cpp__incl.png a/_simple_color_hue_strategy_8cpp__incl.png
new file mode 100644
index 0000000..bca7f10
--- /dev/null
+++ a/_simple_color_hue_strategy_8cpp__incl.png
diff --git b/_simple_color_hue_strategy_8h.html a/_simple_color_hue_strategy_8h.html
new file mode 100644
index 0000000..ad58a56
--- /dev/null
+++ a/_simple_color_hue_strategy_8h.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/SimpleColorHueStrategy.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "ColorHueStrategy.h "
+
#include "Light.h "
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_simple_color_hue_strategy_8h__dep__incl.map a/_simple_color_hue_strategy_8h__dep__incl.map
new file mode 100644
index 0000000..18d00c7
--- /dev/null
+++ a/_simple_color_hue_strategy_8h__dep__incl.map
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git b/_simple_color_hue_strategy_8h__dep__incl.md5 a/_simple_color_hue_strategy_8h__dep__incl.md5
new file mode 100644
index 0000000..ad44bf3
--- /dev/null
+++ a/_simple_color_hue_strategy_8h__dep__incl.md5
@@ -0,0 +1 @@
+d2871b84020d8345089ba594b741101e
\ No newline at end of file
diff --git b/_simple_color_hue_strategy_8h__dep__incl.png a/_simple_color_hue_strategy_8h__dep__incl.png
new file mode 100644
index 0000000..a86031c
--- /dev/null
+++ a/_simple_color_hue_strategy_8h__dep__incl.png
diff --git b/_simple_color_hue_strategy_8h__incl.map a/_simple_color_hue_strategy_8h__incl.map
new file mode 100644
index 0000000..38334df
--- /dev/null
+++ a/_simple_color_hue_strategy_8h__incl.map
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_simple_color_hue_strategy_8h__incl.md5 a/_simple_color_hue_strategy_8h__incl.md5
new file mode 100644
index 0000000..6bb2330
--- /dev/null
+++ a/_simple_color_hue_strategy_8h__incl.md5
@@ -0,0 +1 @@
+614afd0f5986e90d1e0a32435b81baf2
\ No newline at end of file
diff --git b/_simple_color_hue_strategy_8h__incl.png a/_simple_color_hue_strategy_8h__incl.png
new file mode 100644
index 0000000..b9327bb
--- /dev/null
+++ a/_simple_color_hue_strategy_8h__incl.png
diff --git b/_simple_color_hue_strategy_8h_source.html a/_simple_color_hue_strategy_8h_source.html
new file mode 100644
index 0000000..c4a0a2d
--- /dev/null
+++ a/_simple_color_hue_strategy_8h_source.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/SimpleColorHueStrategy.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_SIMPLE_COLOR_HUE_STRATEGY_H 24 #define INCLUDE_HUEPLUSPLUS_SIMPLE_COLOR_HUE_STRATEGY_H HueSaturation getColorHueSaturation(Light &light) const override
Function that returns the current color of the light as hue and saturation.
Definition: SimpleColorHueStrategy.cpp:149
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
bool setColorXY(const XYBrightness &xy, uint8_t transition, Light &light) const override
Function for changing a lights color in CIE format with a specified transition.
Definition: SimpleColorHueStrategy.cpp:51
+
Virtual base class for all ColorHueStrategies.
Definition: ColorHueStrategy.h:36
+
Definition: SimpleColorHueStrategy.h:34
+
+
bool setColorSaturation(uint8_t sat, uint8_t transition, Light &light) const override
Function for changing a lights color in saturation with a specified transition.
Definition: SimpleColorHueStrategy.cpp:40
+
bool setColorLoop(bool on, Light &light) const override
Function for turning on/off the color loop feature of a light.
Definition: SimpleColorHueStrategy.cpp:56
+
Color and brightness in CIE.
Definition: ColorUnits.h:62
+
+
bool alertHueSaturation(const HueSaturation &hueSat, Light &light) const override
Function that lets the light perform one breath cycle in the specified color.
Definition: SimpleColorHueStrategy.cpp:61
+
Class for Hue Light fixtures.
Definition: Light.h:60
+
bool alertXY(const XYBrightness &xy, Light &light) const override
Function that lets the light perform one breath cycle in the specified color.
Definition: SimpleColorHueStrategy.cpp:104
+
bool setColorHueSaturation(const HueSaturation &hueSat, uint8_t transition, Light &light) const override
Function for changing a lights color in hue and saturation format with a specified transition...
Definition: SimpleColorHueStrategy.cpp:45
+
Color in hue and saturation.
Definition: ColorUnits.h:31
+
XYBrightness getColorXY(Light &light) const override
Function that returns the current color of the light as xy.
Definition: SimpleColorHueStrategy.cpp:162
+
bool setColorHue(uint16_t hue, uint8_t transition, Light &light) const override
Function for changing a lights color in hue with a specified transition.
Definition: SimpleColorHueStrategy.cpp:35
+
+
+
+
+
diff --git b/_simple_color_temperature_strategy_8cpp.html a/_simple_color_temperature_strategy_8cpp.html
new file mode 100644
index 0000000..7626572
--- /dev/null
+++ a/_simple_color_temperature_strategy_8cpp.html
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+hueplusplus: src/SimpleColorTemperatureStrategy.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_simple_color_temperature_strategy_8cpp__incl.map a/_simple_color_temperature_strategy_8cpp__incl.map
new file mode 100644
index 0000000..5cee66d
--- /dev/null
+++ a/_simple_color_temperature_strategy_8cpp__incl.map
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_simple_color_temperature_strategy_8cpp__incl.md5 a/_simple_color_temperature_strategy_8cpp__incl.md5
new file mode 100644
index 0000000..4ac9384
--- /dev/null
+++ a/_simple_color_temperature_strategy_8cpp__incl.md5
@@ -0,0 +1 @@
+9f718f7a2e70b2359de3fb30595e8337
\ No newline at end of file
diff --git b/_simple_color_temperature_strategy_8cpp__incl.png a/_simple_color_temperature_strategy_8cpp__incl.png
new file mode 100644
index 0000000..e5df467
--- /dev/null
+++ a/_simple_color_temperature_strategy_8cpp__incl.png
diff --git b/_simple_color_temperature_strategy_8h.html a/_simple_color_temperature_strategy_8h.html
new file mode 100644
index 0000000..c3972b4
--- /dev/null
+++ a/_simple_color_temperature_strategy_8h.html
@@ -0,0 +1,140 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/SimpleColorTemperatureStrategy.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_simple_color_temperature_strategy_8h__dep__incl.map a/_simple_color_temperature_strategy_8h__dep__incl.map
new file mode 100644
index 0000000..ed84aa3
--- /dev/null
+++ a/_simple_color_temperature_strategy_8h__dep__incl.map
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git b/_simple_color_temperature_strategy_8h__dep__incl.md5 a/_simple_color_temperature_strategy_8h__dep__incl.md5
new file mode 100644
index 0000000..5553bef
--- /dev/null
+++ a/_simple_color_temperature_strategy_8h__dep__incl.md5
@@ -0,0 +1 @@
+911a36eaef9e60085986da2ddb724120
\ No newline at end of file
diff --git b/_simple_color_temperature_strategy_8h__dep__incl.png a/_simple_color_temperature_strategy_8h__dep__incl.png
new file mode 100644
index 0000000..0d65e89
--- /dev/null
+++ a/_simple_color_temperature_strategy_8h__dep__incl.png
diff --git b/_simple_color_temperature_strategy_8h__incl.map a/_simple_color_temperature_strategy_8h__incl.map
new file mode 100644
index 0000000..88e3518
--- /dev/null
+++ a/_simple_color_temperature_strategy_8h__incl.map
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_simple_color_temperature_strategy_8h__incl.md5 a/_simple_color_temperature_strategy_8h__incl.md5
new file mode 100644
index 0000000..274e8cb
--- /dev/null
+++ a/_simple_color_temperature_strategy_8h__incl.md5
@@ -0,0 +1 @@
+b9fe4d3cceb021da7ea68898c6d1c158
\ No newline at end of file
diff --git b/_simple_color_temperature_strategy_8h__incl.png a/_simple_color_temperature_strategy_8h__incl.png
new file mode 100644
index 0000000..f8c0b16
--- /dev/null
+++ a/_simple_color_temperature_strategy_8h__incl.png
diff --git b/_simple_color_temperature_strategy_8h_source.html a/_simple_color_temperature_strategy_8h_source.html
new file mode 100644
index 0000000..cfe6c84
--- /dev/null
+++ a/_simple_color_temperature_strategy_8h_source.html
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/SimpleColorTemperatureStrategy.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_SIMPLE_COLOR_TEMPERATURE_STRATEGY_H 24 #define INCLUDE_HUEPLUSPLUS_SIMPLE_COLOR_TEMPERATURE_STRATEGY_H Virtual base class for all ColorTemperatureStrategies.
Definition: ColorTemperatureStrategy.h:33
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
+
+
unsigned int getColorTemperature(Light &light) const override
Function that returns the current color temperature of the light.
Definition: SimpleColorTemperatureStrategy.cpp:67
+
bool setColorTemperature(unsigned int mired, uint8_t transition, Light &light) const override
Function for changing a lights color temperature in mired with a specified transition.
Definition: SimpleColorTemperatureStrategy.cpp:35
+
bool alertTemperature(unsigned int mired, Light &light) const override
Function that lets the light perform one breath cycle in the specified color.
Definition: SimpleColorTemperatureStrategy.cpp:40
+
Class for Hue Light fixtures.
Definition: Light.h:60
+
Class implementing the functions of ColorTemperatureStrategy.
Definition: SimpleColorTemperatureStrategy.h:32
+
+
+
+
+
diff --git b/_snippets_8cpp.html a/_snippets_8cpp.html
new file mode 100644
index 0000000..99edd4d
--- /dev/null
+++ a/_snippets_8cpp.html
@@ -0,0 +1,278 @@
+
+
+
+
+
+
+
+hueplusplus: examples/Snippets.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Contains code snippets used in the documentation, performs no useful functions.
+More...
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Contains code snippets used in the documentation, performs no useful functions.
+
Copyright Notice
+Copyright (C) 2021 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
◆ main()
+
+
+
+
+
+ int main
+ (
+ int
+ argc ,
+
+
+
+
+ char **
+ argv
+
+
+
+ )
+
+
+
+
+
+
+
+
+
◆ snippet1()
+
+
+
+
+
+ void snippet1
+ (
+ )
+
+
+
+
+
[search-bridge]
+
[search-bridge] [get-bridge-2]
+
[get-bridge-1]
+
[get-bridge-1] [get-bridge-2] [light-1]
+
[light-1] [light-2]
+
[light-2] [light-3]
+
[light-3] [light-4]
+
[light-4] [light-5]
+
[light-5]
+
[control-lights]
+
[control-lights] [control-groups]
+
[control-groups]
+
[sensor-conditions] [known-sensor-1]
+
[known-sensor-1]
+
[sensor-conditions] [known-sensor-2]
+
[known-sensor-2] [generic-sensor-1]
+
[generic-sensor-1]
+
[transaction-lights]
+
[transaction-lights]
+
[transaction-advanced]
+
[transaction-advanced] [transaction-groups]
+
[transaction-groups]
+
[transaction-action]
+
[transaction-action]
+
+
+
+
+
◆ snippet2()
+
+
+
+
+
+ void snippet2
+ (
+ )
+
+
+
+
+
[get-bridge-3]
+
[get-bridge-3]
+
[generic-sensor-2]
+
[generic-sensor-2]
+
+
+
+
+
◆ snippet3()
+
+
+
+
+
+ void snippet3
+ (
+ )
+
+
+
+
+
[shared-bridge-1]
+
[shared-bridge-1] [refresh-example]
+
[refresh-example]
+
+
+
+
+
◆ snippet4()
+
+
+
+
+
+ void snippet4
+ (
+ )
+
+
+
+
+
[shared-bridge-2]
+
[shared-bridge-2]
+
+
+
+
+
+
+
+
diff --git b/_snippets_8cpp__incl.map a/_snippets_8cpp__incl.map
new file mode 100644
index 0000000..e36cbc4
--- /dev/null
+++ a/_snippets_8cpp__incl.map
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_snippets_8cpp__incl.md5 a/_snippets_8cpp__incl.md5
new file mode 100644
index 0000000..256984d
--- /dev/null
+++ a/_snippets_8cpp__incl.md5
@@ -0,0 +1 @@
+38f75fba9e146828264a16d4963cc81e
\ No newline at end of file
diff --git b/_snippets_8cpp__incl.png a/_snippets_8cpp__incl.png
new file mode 100644
index 0000000..5bd4b0a
--- /dev/null
+++ a/_snippets_8cpp__incl.png
diff --git b/_state_transaction_8cpp.html a/_state_transaction_8cpp.html
new file mode 100644
index 0000000..a81e212
--- /dev/null
+++ a/_state_transaction_8cpp.html
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+hueplusplus: src/StateTransaction.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+Copyright (C) 2020 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_state_transaction_8cpp__incl.map a/_state_transaction_8cpp__incl.map
new file mode 100644
index 0000000..14399da
--- /dev/null
+++ a/_state_transaction_8cpp__incl.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git b/_state_transaction_8cpp__incl.md5 a/_state_transaction_8cpp__incl.md5
new file mode 100644
index 0000000..fab5f10
--- /dev/null
+++ a/_state_transaction_8cpp__incl.md5
@@ -0,0 +1 @@
+3b1ae8bf03dd811bf070667d9143cba3
\ No newline at end of file
diff --git b/_state_transaction_8cpp__incl.png a/_state_transaction_8cpp__incl.png
new file mode 100644
index 0000000..07de4fb
--- /dev/null
+++ a/_state_transaction_8cpp__incl.png
diff --git b/_state_transaction_8h.html a/_state_transaction_8h.html
new file mode 100644
index 0000000..694295a
--- /dev/null
+++ a/_state_transaction_8h.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/StateTransaction.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <string>
+
#include "Action.h "
+
#include "ColorUnits.h "
+
#include "HueCommandAPI.h "
+
#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+Copyright (C) 2020 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_state_transaction_8h__dep__incl.map a/_state_transaction_8h__dep__incl.map
new file mode 100644
index 0000000..b5e5d44
--- /dev/null
+++ a/_state_transaction_8h__dep__incl.map
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_state_transaction_8h__dep__incl.md5 a/_state_transaction_8h__dep__incl.md5
new file mode 100644
index 0000000..b039092
--- /dev/null
+++ a/_state_transaction_8h__dep__incl.md5
@@ -0,0 +1 @@
+3c15c99a8f2a72156033efc4649f7f7f
\ No newline at end of file
diff --git b/_state_transaction_8h__dep__incl.png a/_state_transaction_8h__dep__incl.png
new file mode 100644
index 0000000..60babd3
--- /dev/null
+++ a/_state_transaction_8h__dep__incl.png
diff --git b/_state_transaction_8h__incl.map a/_state_transaction_8h__incl.map
new file mode 100644
index 0000000..c3f1e9c
--- /dev/null
+++ a/_state_transaction_8h__incl.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git b/_state_transaction_8h__incl.md5 a/_state_transaction_8h__incl.md5
new file mode 100644
index 0000000..eb3c7e0
--- /dev/null
+++ a/_state_transaction_8h__incl.md5
@@ -0,0 +1 @@
+a28749b75a9e0aeba6e775ca20172f38
\ No newline at end of file
diff --git b/_state_transaction_8h__incl.png a/_state_transaction_8h__incl.png
new file mode 100644
index 0000000..871d259
--- /dev/null
+++ a/_state_transaction_8h__incl.png
diff --git b/_state_transaction_8h_source.html a/_state_transaction_8h_source.html
new file mode 100644
index 0000000..f7e90a2
--- /dev/null
+++ a/_state_transaction_8h_source.html
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/StateTransaction.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_STATE_TRANSACTION_H 24 #define INCLUDE_HUEPLUSPLUS_STATE_TRANSACTION_H 32 #include "json/json.hpp" Definition: HueCommandAPI.h:37
+
StateTransaction & incrementBrightness(int increment)
Increment/Decrement brightness.
Definition: StateTransaction.cpp:153
+
Action executed by the bridge, e.g. as a Schedule command.
Definition: Action.h:35
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
nlohmann::json * state
Definition: StateTransaction.h:197
+
StateTransaction & setColor(const HueSaturation &hueSat)
Set light color in hue and saturation.
Definition: StateTransaction.cpp:117
+
Action toAction()
Create an Action from the transaction.
Definition: StateTransaction.cpp:85
+
+
StateTransaction & stopAlert()
Stop an ongoing long alert.
Definition: StateTransaction.cpp:201
+
StateTransaction & longAlert()
Trigger a long alert (15s).
Definition: StateTransaction.cpp:196
+
StateTransaction & setColorTemperature(unsigned int mired)
Set light color temperature.
Definition: StateTransaction.cpp:140
+
nlohmann::json request
Definition: StateTransaction.h:198
+
StateTransaction & setBrightness(uint8_t brightness)
Set light brightness.
Definition: StateTransaction.cpp:97
+
+
+
Color and brightness in CIE.
Definition: ColorUnits.h:62
+
StateTransaction & incrementSaturation(int increment)
Increment/Decrement saturaction.
Definition: StateTransaction.cpp:159
+
StateTransaction & setOn(bool on)
Turn light on or off.
Definition: StateTransaction.cpp:91
+
StateTransaction(const HueCommandAPI &commands, const std::string &path, nlohmann::json *currentState)
Creates a StateTransaction to a group or light state.
Definition: StateTransaction.cpp:32
+
StateTransaction & setColorSaturation(uint8_t saturation)
Set light saturation.
Definition: StateTransaction.cpp:104
+
bool commit(bool trimRequest=true)
Commit transaction and make request.
Definition: StateTransaction.cpp:36
+
Transaction class which can be used for either light or group state.
Definition: StateTransaction.h:61
+
void trimRequest()
Remove parts from request that are already set in state.
Definition: StateTransaction.cpp:207
+
StateTransaction & alert()
Trigger an alert.
Definition: StateTransaction.cpp:191
+
const HueCommandAPI & commands
Definition: StateTransaction.h:195
+
Color in CIE x and y coordinates.
Definition: ColorUnits.h:47
+
StateTransaction & incrementHue(int increment)
Increment/Decrement hue.
Definition: StateTransaction.cpp:165
+
StateTransaction & incrementColorXY(float xInc, float yInc)
Increment/Decrement color xy.
Definition: StateTransaction.cpp:177
+
StateTransaction & setColorLoop(bool on)
Enables or disables color loop.
Definition: StateTransaction.cpp:147
+
std::string path
Definition: StateTransaction.h:196
+
StateTransaction & incrementColorTemperature(int increment)
Increment/Decrement color temperature.
Definition: StateTransaction.cpp:171
+
StateTransaction & setTransition(uint16_t transition)
Set transition time for the request.
Definition: StateTransaction.cpp:183
+
Color in hue and saturation.
Definition: ColorUnits.h:31
+
StateTransaction & setColorHue(uint16_t hue)
Set light hue.
Definition: StateTransaction.cpp:111
+
+
+
+
+
diff --git b/_time_pattern_8cpp.html a/_time_pattern_8cpp.html
new file mode 100644
index 0000000..40d4146
--- /dev/null
+++ a/_time_pattern_8cpp.html
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+hueplusplus: src/TimePattern.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <cstdlib>
+
#include <ctime>
+
#include <hueplusplus/HueExceptionMacro.h >
+
#include <hueplusplus/TimePattern.h >
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_time_pattern_8cpp__incl.map a/_time_pattern_8cpp__incl.map
new file mode 100644
index 0000000..bf3f32b
--- /dev/null
+++ a/_time_pattern_8cpp__incl.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/_time_pattern_8cpp__incl.md5 a/_time_pattern_8cpp__incl.md5
new file mode 100644
index 0000000..04a48ed
--- /dev/null
+++ a/_time_pattern_8cpp__incl.md5
@@ -0,0 +1 @@
+425fcd4b7587f6df21dbd6b3053044d8
\ No newline at end of file
diff --git b/_time_pattern_8cpp__incl.png a/_time_pattern_8cpp__incl.png
new file mode 100644
index 0000000..aee4a1e
--- /dev/null
+++ a/_time_pattern_8cpp__incl.png
diff --git b/_time_pattern_8h.html a/_time_pattern_8h.html
new file mode 100644
index 0000000..4f63044
--- /dev/null
+++ a/_time_pattern_8h.html
@@ -0,0 +1,191 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/TimePattern.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <chrono>
+#include <string>
+#include <cstddef>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_time_pattern_8h__dep__incl.map a/_time_pattern_8h__dep__incl.map
new file mode 100644
index 0000000..65126e1
--- /dev/null
+++ a/_time_pattern_8h__dep__incl.map
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_time_pattern_8h__dep__incl.md5 a/_time_pattern_8h__dep__incl.md5
new file mode 100644
index 0000000..19e829f
--- /dev/null
+++ a/_time_pattern_8h__dep__incl.md5
@@ -0,0 +1 @@
+f7267d4d08ae4558861e13370ebee853
\ No newline at end of file
diff --git b/_time_pattern_8h__dep__incl.png a/_time_pattern_8h__dep__incl.png
new file mode 100644
index 0000000..e0b8a0c
--- /dev/null
+++ a/_time_pattern_8h__dep__incl.png
diff --git b/_time_pattern_8h__incl.map a/_time_pattern_8h__incl.map
new file mode 100644
index 0000000..bd188b1
--- /dev/null
+++ a/_time_pattern_8h__incl.map
@@ -0,0 +1,2 @@
+
+
diff --git b/_time_pattern_8h__incl.md5 a/_time_pattern_8h__incl.md5
new file mode 100644
index 0000000..3ef6a54
--- /dev/null
+++ a/_time_pattern_8h__incl.md5
@@ -0,0 +1 @@
+e2442620adfa05a978fae528af87d74b
\ No newline at end of file
diff --git b/_time_pattern_8h__incl.png a/_time_pattern_8h__incl.png
new file mode 100644
index 0000000..e5b7087
--- /dev/null
+++ a/_time_pattern_8h__incl.png
diff --git b/_time_pattern_8h_source.html a/_time_pattern_8h_source.html
new file mode 100644
index 0000000..0cf3c02
--- /dev/null
+++ a/_time_pattern_8h_source.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/TimePattern.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 22 #ifndef INCLUDE_HUEPLUSPLUS_TIME_PATTERN 23 #define INCLUDE_HUEPLUSPLUS_TIME_PATTERN 49 std::chrono::system_clock::time_point
parseTimestamp (
const std::string& timestamp);
57 std::chrono::system_clock::time_point
parseUTCTimestamp (
const std::string& timestamp);
69 std::chrono::system_clock::duration
parseDuration (
const std::string& hourMinSec);
74 using clock = std::chrono::system_clock;
102 clock::time_point base;
110 using clock = std::chrono::system_clock;
117 explicit AbsoluteVariedTime (clock::time_point baseTime, clock::duration variation = std::chrono::seconds(0));
122 clock::duration getRandomVariation()
const ;
138 clock::duration variation;
158 bool isMonday()
const ;
160 bool isTuesday()
const ;
162 bool isWednesday()
const ;
164 bool isThursday()
const ;
166 bool isFriday()
const ;
168 bool isSaturday()
const ;
170 bool isSunday()
const ;
223 using clock = std::chrono::system_clock;
231 explicit RecurringTime (clock::duration daytime,
Weekdays days, clock::duration variation = std::chrono::seconds(0));
234 clock::duration getDaytime()
const ;
238 clock::duration getRandomVariation()
const ;
251 clock::duration time;
252 clock::duration variation;
262 using clock = std::chrono::system_clock;
272 clock::duration getStartTime()
const ;
274 clock::duration getEndTime()
const ;
287 clock::duration start;
298 using clock = std::chrono::system_clock;
302 static constexpr
int infiniteExecutions = 0;
307 Timer (clock::duration duration, clock::duration variation = std::chrono::seconds(0));
312 Timer (clock::duration duration,
int numExecutions, clock::duration variation = std::chrono::seconds(0));
315 bool isRecurring()
const ;
319 int getNumberOfExecutions()
const ;
321 clock::duration getExpiryTime()
const ;
325 clock::duration getRandomVariation()
const ;
342 clock::duration expires;
343 clock::duration variation;
386 Type getType()
const ;
402 Timer asTimer()
const ;
clock::time_point getBaseTime() const
Get base time point.
Definition: TimePattern.cpp:155
+
Timer timer
Definition: TimePattern.h:430
+
std::string toString() const
Get formatted string as expected by Hue API.
Definition: TimePattern.cpp:159
+
std::nullptr_t undefined
Definition: TimePattern.h:426
+
Time interval repeated daily to weekly.
Definition: TimePattern.h:260
+
AbsoluteTime(clock::time_point baseTime)
Create absolute time point.
Definition: TimePattern.cpp:153
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
Weekdays(int num)
Create with the day num.
Definition: TimePattern.h:151
+
Any number of days of the week.
Definition: TimePattern.h:144
+
Holds different time representations.
Definition: TimePattern.h:351
+
static Weekdays all()
Creates set of all days.
Definition: TimePattern.cpp:278
+
std::chrono::system_clock::time_point parseUTCTimestamp(const std::string ×tamp)
Converts an UTC timestamp to a time_point.
Definition: TimePattern.cpp:90
+
static AbsoluteTime parseUTC(const std::string &s)
Parse AbsoluteTime from formatted UTC string.
Definition: TimePattern.cpp:171
+
std::string timepointToTimestamp(std::chrono::system_clock::time_point time)
Converts a time_point to a timestamp string.
Definition: TimePattern.cpp:58
+
Type
Currently active type.
Definition: TimePattern.h:355
+
std::string durationTo_hh_mm_ss(std::chrono::system_clock::duration duration)
Converts duration to a time string.
Definition: TimePattern.cpp:126
+
std::chrono::system_clock::time_point parseTimestamp(const std::string ×tamp)
Converts a timestamp to a time_point.
Definition: TimePattern.cpp:79
+
Time repeated weekly to daily, with possible random variation.
Definition: TimePattern.h:221
+
static AbsoluteTime parse(const std::string &s)
Parse AbsoluteTime from formatted string in local timezone.
Definition: TimePattern.cpp:164
+
One-time, absolute time point.
Definition: TimePattern.h:72
+
AbsoluteVariedTime absolute
Definition: TimePattern.h:427
+
Definition: TimePattern.h:108
+
TimeInterval interval
Definition: TimePattern.h:429
+
Weekdays operator|(Weekdays other) const
Create set union with other Weekdays.
Definition: TimePattern.h:178
+
std::chrono::system_clock::duration parseDuration(const std::string &hourMinSec)
Converts time string to a duration.
Definition: TimePattern.cpp:144
+
Timer that is started and triggers after specified delay.
Definition: TimePattern.h:296
+
+
RecurringTime recurring
Definition: TimePattern.h:428
+
bool operator==(const Weekdays &other) const
Check whether all days are equal.
Definition: TimePattern.h:209
+
Weekdays()
Create with no days.
Definition: TimePattern.h:148
+
bool operator!=(const Weekdays &other) const
Check whether not all days are equal.
Definition: TimePattern.h:211
+
+
+
+
+
diff --git b/_transactions_8md.html a/_transactions_8md.html
new file mode 100644
index 0000000..83120d2
--- /dev/null
+++ a/_transactions_8md.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+hueplusplus: doc/markdown/Transactions.md File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_u_pn_p_8cpp.html a/_u_pn_p_8cpp.html
new file mode 100644
index 0000000..715894b
--- /dev/null
+++ a/_u_pn_p_8cpp.html
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+hueplusplus: src/UPnP.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "hueplusplus/UPnP.h "
+
#include <algorithm>
+
#include <iostream>
+
#include "hueplusplus/LibConfig.h "
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_u_pn_p_8cpp__incl.map a/_u_pn_p_8cpp__incl.map
new file mode 100644
index 0000000..1d0cdf8
--- /dev/null
+++ a/_u_pn_p_8cpp__incl.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/_u_pn_p_8cpp__incl.md5 a/_u_pn_p_8cpp__incl.md5
new file mode 100644
index 0000000..5e3f51d
--- /dev/null
+++ a/_u_pn_p_8cpp__incl.md5
@@ -0,0 +1 @@
+56fbf3dd137d73457c3c71bfe2059f9e
\ No newline at end of file
diff --git b/_u_pn_p_8cpp__incl.png a/_u_pn_p_8cpp__incl.png
new file mode 100644
index 0000000..0f19feb
--- /dev/null
+++ a/_u_pn_p_8cpp__incl.png
diff --git b/_u_pn_p_8h.html a/_u_pn_p_8h.html
new file mode 100644
index 0000000..40ce19f
--- /dev/null
+++ a/_u_pn_p_8h.html
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/UPnP.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <memory>
+
#include <string>
+
#include <vector>
+
#include "IHttpHandler.h "
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_u_pn_p_8h__dep__incl.map a/_u_pn_p_8h__dep__incl.map
new file mode 100644
index 0000000..52bbaba
--- /dev/null
+++ a/_u_pn_p_8h__dep__incl.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/_u_pn_p_8h__dep__incl.md5 a/_u_pn_p_8h__dep__incl.md5
new file mode 100644
index 0000000..0e8e3f9
--- /dev/null
+++ a/_u_pn_p_8h__dep__incl.md5
@@ -0,0 +1 @@
+6390357662c4831d254a919f8f09156b
\ No newline at end of file
diff --git b/_u_pn_p_8h__dep__incl.png a/_u_pn_p_8h__dep__incl.png
new file mode 100644
index 0000000..a6a5f79
--- /dev/null
+++ a/_u_pn_p_8h__dep__incl.png
diff --git b/_u_pn_p_8h__incl.map a/_u_pn_p_8h__incl.map
new file mode 100644
index 0000000..39f9b68
--- /dev/null
+++ a/_u_pn_p_8h__incl.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/_u_pn_p_8h__incl.md5 a/_u_pn_p_8h__incl.md5
new file mode 100644
index 0000000..26c2c8d
--- /dev/null
+++ a/_u_pn_p_8h__incl.md5
@@ -0,0 +1 @@
+6ca788cdc6c917ff4e7e16da87125373
\ No newline at end of file
diff --git b/_u_pn_p_8h__incl.png a/_u_pn_p_8h__incl.png
new file mode 100644
index 0000000..c25bcc4
--- /dev/null
+++ a/_u_pn_p_8h__incl.png
diff --git b/_u_pn_p_8h_source.html a/_u_pn_p_8h_source.html
new file mode 100644
index 0000000..daa27ee
--- /dev/null
+++ a/_u_pn_p_8h_source.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/UPnP.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_UPNP_H 24 #define INCLUDE_HUEPLUSPLUS_UPNP_H 45 std::vector<std::pair<std::string, std::string>>
getDevices (std::shared_ptr<const IHttpHandler> handler);
std::vector< std::pair< std::string, std::string > > getDevices(std::shared_ptr< const IHttpHandler > handler)
Searches for UPnP devices and returns all found ones.
Definition: UPnP.cpp:32
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
+
Class that looks for UPnP devices using an m-search package.
Definition: UPnP.h:35
+
+
+
+
+
diff --git b/_username_config_8cpp.html a/_username_config_8cpp.html
new file mode 100644
index 0000000..e806ad2
--- /dev/null
+++ a/_username_config_8cpp.html
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+
+hueplusplus: examples/UsernameConfig.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <algorithm>
+
#include <fstream>
+
#include <iomanip>
+
#include <iostream>
+
#include <hueplusplus/Bridge.h >
+
#include <hueplusplus/LinHttpHandler.h >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Copyright Notice
+Copyright (C) 2021 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
◆ SystemHttpHandler
+
+
+
+
+
◆ connectToBridge()
+
+
+
+
+
+ hue::Bridge connectToBridge
+ (
+ const std::string &
+ username ,
+
+
+
+
+ const std::string &
+ macAddress
+
+
+
+ )
+
+
+
+
+
+
+
+
+
◆ main()
+
+
+
+
+
+ int main
+ (
+ int
+ argc ,
+
+
+
+
+ char **
+ argv
+
+
+
+ )
+
+
+
+
+
+
+
+
+
◆ readConfigFile()
+
+
+
+
+
+ nlohmann::json readConfigFile
+ (
+ const std::string &
+ filename )
+
+
+
+
+
+
+
+
+
◆ saveConfigFile()
+
+
+
+
+
+ void saveConfigFile
+ (
+ const std::string &
+ filename ,
+
+
+
+
+ const nlohmann::json &
+ config
+
+
+
+ )
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_username_config_8cpp__incl.map a/_username_config_8cpp__incl.map
new file mode 100644
index 0000000..977fd55
--- /dev/null
+++ a/_username_config_8cpp__incl.map
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_username_config_8cpp__incl.md5 a/_username_config_8cpp__incl.md5
new file mode 100644
index 0000000..60d5ef7
--- /dev/null
+++ a/_username_config_8cpp__incl.md5
@@ -0,0 +1 @@
+09c97667c5f7dd37699046f2960ac685
\ No newline at end of file
diff --git b/_username_config_8cpp__incl.png a/_username_config_8cpp__incl.png
new file mode 100644
index 0000000..2282d86
--- /dev/null
+++ a/_username_config_8cpp__incl.png
diff --git b/_utils_8cpp.html a/_utils_8cpp.html
new file mode 100644
index 0000000..87c831d
--- /dev/null
+++ a/_utils_8cpp.html
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+hueplusplus: src/Utils.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "hueplusplus/Utils.h "
+
#include <iostream>
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+Copyright (C) 2020 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_utils_8cpp__incl.map a/_utils_8cpp__incl.map
new file mode 100644
index 0000000..099edb4
--- /dev/null
+++ a/_utils_8cpp__incl.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/_utils_8cpp__incl.md5 a/_utils_8cpp__incl.md5
new file mode 100644
index 0000000..0a308cf
--- /dev/null
+++ a/_utils_8cpp__incl.md5
@@ -0,0 +1 @@
+7918eafd7b81850be39ef9b0fb40c31a
\ No newline at end of file
diff --git b/_utils_8cpp__incl.png a/_utils_8cpp__incl.png
new file mode 100644
index 0000000..3af5c17
--- /dev/null
+++ a/_utils_8cpp__incl.png
diff --git b/_utils_8h.html a/_utils_8h.html
new file mode 100644
index 0000000..5b14de9
--- /dev/null
+++ a/_utils_8h.html
@@ -0,0 +1,155 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Utils.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "json/json.hpp"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+Copyright (C) 2020 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_utils_8h__dep__incl.map a/_utils_8h__dep__incl.map
new file mode 100644
index 0000000..fe31357
--- /dev/null
+++ a/_utils_8h__dep__incl.map
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_utils_8h__dep__incl.md5 a/_utils_8h__dep__incl.md5
new file mode 100644
index 0000000..7941ba7
--- /dev/null
+++ a/_utils_8h__dep__incl.md5
@@ -0,0 +1 @@
+c8753fd5e6606e443044db257e4fa56c
\ No newline at end of file
diff --git b/_utils_8h__dep__incl.png a/_utils_8h__dep__incl.png
new file mode 100644
index 0000000..a3ab6f3
--- /dev/null
+++ a/_utils_8h__dep__incl.png
diff --git b/_utils_8h__incl.map a/_utils_8h__incl.map
new file mode 100644
index 0000000..21144a9
--- /dev/null
+++ a/_utils_8h__incl.map
@@ -0,0 +1,2 @@
+
+
diff --git b/_utils_8h__incl.md5 a/_utils_8h__incl.md5
new file mode 100644
index 0000000..b62f9a7
--- /dev/null
+++ a/_utils_8h__incl.md5
@@ -0,0 +1 @@
+38d771dff904dcfea2038920ba725772
\ No newline at end of file
diff --git b/_utils_8h__incl.png a/_utils_8h__incl.png
new file mode 100644
index 0000000..71b2142
--- /dev/null
+++ a/_utils_8h__incl.png
diff --git b/_utils_8h_source.html a/_utils_8h_source.html
new file mode 100644
index 0000000..6ebd5f3
--- /dev/null
+++ a/_utils_8h_source.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/Utils.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_UTILS_H 24 #define INCLUDE_HUEPLUSPLUS_UTILS_H 26 #include "json/json.hpp" 36 template <
typename KeyT,
typename ... Paths>
37 nlohmann::json safeGetMemberHelper(
const nlohmann::json& json, std::size_t index, Paths&&... otherPaths);
39 inline nlohmann::json safeGetMemberHelper(
const nlohmann::json& json)
44 template <
typename KeyT,
typename ... Paths,
45 std::enable_if_t<!std::is_integral<std::remove_reference_t<KeyT>>::value>* =
nullptr >
46 nlohmann::json safeGetMemberHelper(
const nlohmann::json& json, KeyT&& key, Paths&&... otherPaths)
48 auto memberIt = json.find(std::forward<KeyT>(key));
49 if (memberIt == json.end())
53 return safeGetMemberHelper(*memberIt, std::forward<Paths>(otherPaths)...);
57 template <
typename ... Paths>
58 nlohmann::json safeGetMemberHelper(
const nlohmann::json& json, std::size_t index, Paths&&... otherPaths)
60 if (!json.is_array() || json.size() <= index)
64 return safeGetMemberHelper(json[index], std::forward<Paths>(otherPaths)...);
74 bool validatePUTReply (
const std::string& path,
const nlohmann::json& request,
const nlohmann::json& reply);
83 return std::abs(lhs - rhs) <= 1E-4f;
91 template <
typename ... Paths>
92 nlohmann::json
safeGetMember (
const nlohmann::json& json, Paths&&... paths)
94 return detail::safeGetMemberHelper(json, std::forward<Paths>(paths)...);
106 template <
typename T>
107 class MakeCopyable :
public T
Namespace for the hueplusplus library.
Definition: Action.h:27
+
bool validateReplyForLight(const nlohmann::json &request, const nlohmann::json &reply, int lightId)
Definition: Utils.cpp:89
+
bool validatePUTReply(const std::string &path, const nlohmann::json &request, const nlohmann::json &reply)
Function for validating that a request was executed correctly.
Definition: Utils.cpp:31
+
bool floatEquals(float lhs, float rhs)
Checks equality to 4 decimal places.
Definition: Utils.h:81
+
nlohmann::json safeGetMember(const nlohmann::json &json, Paths &&... paths)
Returns the object/array member or null if it does not exist.
Definition: Utils.h:92
+
+
+
+
+
diff --git b/_win_http_handler_8cpp.html a/_win_http_handler_8cpp.html
new file mode 100644
index 0000000..62df97c
--- /dev/null
+++ a/_win_http_handler_8cpp.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+hueplusplus: src/WinHttpHandler.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include "hueplusplus/WinHttpHandler.h "
+
#include <chrono>
+
#include <iostream>
+
#include <memory>
+
#include <system_error>
+
#include <stdio.h>
+
#include <ws2tcpip.h>
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_win_http_handler_8cpp__incl.map a/_win_http_handler_8cpp__incl.map
new file mode 100644
index 0000000..8085057
--- /dev/null
+++ a/_win_http_handler_8cpp__incl.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/_win_http_handler_8cpp__incl.md5 a/_win_http_handler_8cpp__incl.md5
new file mode 100644
index 0000000..f0605db
--- /dev/null
+++ a/_win_http_handler_8cpp__incl.md5
@@ -0,0 +1 @@
+e7eac2cf460d95b3d8d9d8f68877b07b
\ No newline at end of file
diff --git b/_win_http_handler_8cpp__incl.png a/_win_http_handler_8cpp__incl.png
new file mode 100644
index 0000000..797fa6a
--- /dev/null
+++ a/_win_http_handler_8cpp__incl.png
diff --git b/_win_http_handler_8h.html a/_win_http_handler_8h.html
new file mode 100644
index 0000000..b335828
--- /dev/null
+++ a/_win_http_handler_8h.html
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/WinHttpHandler.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <string>
+
#include <vector>
+
#include <winsock2.h>
+
#include "BaseHttpHandler.h "
+
+
Go to the source code of this file.
+
+
+ hueplusplus
+ Namespace for the hueplusplus library.
+
+
+
+
Copyright Notice
+Copyright (C) 2017 Jan Rogall - developer
+Copyright (C) 2017 Moritz Wirger - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_win_http_handler_8h__dep__incl.map a/_win_http_handler_8h__dep__incl.map
new file mode 100644
index 0000000..6c12dc1
--- /dev/null
+++ a/_win_http_handler_8h__dep__incl.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/_win_http_handler_8h__dep__incl.md5 a/_win_http_handler_8h__dep__incl.md5
new file mode 100644
index 0000000..9ac7f56
--- /dev/null
+++ a/_win_http_handler_8h__dep__incl.md5
@@ -0,0 +1 @@
+603a2bae8fcef84c9d9240a5424f92ba
\ No newline at end of file
diff --git b/_win_http_handler_8h__dep__incl.png a/_win_http_handler_8h__dep__incl.png
new file mode 100644
index 0000000..6b80063
--- /dev/null
+++ a/_win_http_handler_8h__dep__incl.png
diff --git b/_win_http_handler_8h__incl.map a/_win_http_handler_8h__incl.map
new file mode 100644
index 0000000..5048a26
--- /dev/null
+++ a/_win_http_handler_8h__incl.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/_win_http_handler_8h__incl.md5 a/_win_http_handler_8h__incl.md5
new file mode 100644
index 0000000..7e0ba6d
--- /dev/null
+++ a/_win_http_handler_8h__incl.md5
@@ -0,0 +1 @@
+448b6ef37802cba2cccb2a4a6e9e372e
\ No newline at end of file
diff --git b/_win_http_handler_8h__incl.png a/_win_http_handler_8h__incl.png
new file mode 100644
index 0000000..1aefc5f
--- /dev/null
+++ a/_win_http_handler_8h__incl.png
diff --git b/_win_http_handler_8h_source.html a/_win_http_handler_8h_source.html
new file mode 100644
index 0000000..4b7beec
--- /dev/null
+++ a/_win_http_handler_8h_source.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/WinHttpHandler.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 23 #ifndef INCLUDE_HUEPLUSPLUS_WINHTTPHANDLER_H 24 #define INCLUDE_HUEPLUSPLUS_WINHTTPHANDLER_H 53 std::string
send (
const std::string& msg,
const std::string& adr,
int port = 80)
const override ;
64 std::vector<std::string>
sendMulticast (
const std::string& msg,
const std::string& adr =
"239.255.255.250" ,
65 int port = 1900, std::chrono::steady_clock::duration timeout = std::chrono::seconds(5))
const override ;
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
std::vector< std::string > sendMulticast(const std::string &msg, const std::string &adr="239.255.255.250", int port=1900, std::chrono::steady_clock::duration timeout=std::chrono::seconds(5)) const override
Function that sends a multicast request with the specified message.
Definition: WinHttpHandler.cpp:175
+
~WinHttpHandler()
Dtor needed for wsaData cleanup.
Definition: WinHttpHandler.cpp:70
+
WinHttpHandler()
Ctor needed for initializing wsaData.
Definition: WinHttpHandler.cpp:59
+
Base class for classes that handle http requests and multicast requests.
Definition: BaseHttpHandler.h:38
+
Class to handle http requests and multicast requests on windows systems.
Definition: WinHttpHandler.h:36
+
std::string send(const std::string &msg, const std::string &adr, int port=80) const override
Function that sends a given message to the specified host and returns the response.
Definition: WinHttpHandler.cpp:75
+
+
+
+
+
diff --git b/_z_l_l_sensors_8cpp.html a/_z_l_l_sensors_8cpp.html
new file mode 100644
index 0000000..5a97b49
--- /dev/null
+++ a/_z_l_l_sensors_8cpp.html
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+hueplusplus: src/ZLLSensors.cpp File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_z_l_l_sensors_8cpp__incl.map a/_z_l_l_sensors_8cpp__incl.map
new file mode 100644
index 0000000..088ecb9
--- /dev/null
+++ a/_z_l_l_sensors_8cpp__incl.map
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/_z_l_l_sensors_8cpp__incl.md5 a/_z_l_l_sensors_8cpp__incl.md5
new file mode 100644
index 0000000..4cc9d2d
--- /dev/null
+++ a/_z_l_l_sensors_8cpp__incl.md5
@@ -0,0 +1 @@
+c1f9355ee88ca7634d5e70e1df3dd5d2
\ No newline at end of file
diff --git b/_z_l_l_sensors_8cpp__incl.png a/_z_l_l_sensors_8cpp__incl.png
new file mode 100644
index 0000000..381e795
--- /dev/null
+++ a/_z_l_l_sensors_8cpp__incl.png
diff --git b/_z_l_l_sensors_8h.html a/_z_l_l_sensors_8h.html
new file mode 100644
index 0000000..55647a2
--- /dev/null
+++ a/_z_l_l_sensors_8h.html
@@ -0,0 +1,157 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ZLLSensors.h File Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the source code of this file.
+
+
+
Copyright Notice
+Copyright (C) 2020 Jan Rogall - developer
+ This file is part of hueplusplus.
+
hueplusplus is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+
hueplusplus is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
+
You should have received a copy of the GNU Lesser General Public License along with hueplusplus. If not, see http://www.gnu.org/licenses/ .
+
+
+
+
+
diff --git b/_z_l_l_sensors_8h__dep__incl.map a/_z_l_l_sensors_8h__dep__incl.map
new file mode 100644
index 0000000..665931e
--- /dev/null
+++ a/_z_l_l_sensors_8h__dep__incl.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/_z_l_l_sensors_8h__dep__incl.md5 a/_z_l_l_sensors_8h__dep__incl.md5
new file mode 100644
index 0000000..f3c78cb
--- /dev/null
+++ a/_z_l_l_sensors_8h__dep__incl.md5
@@ -0,0 +1 @@
+45373a7734b8a1c8959f9f13cafc33de
\ No newline at end of file
diff --git b/_z_l_l_sensors_8h__dep__incl.png a/_z_l_l_sensors_8h__dep__incl.png
new file mode 100644
index 0000000..1d1af61
--- /dev/null
+++ a/_z_l_l_sensors_8h__dep__incl.png
diff --git b/_z_l_l_sensors_8h__incl.map a/_z_l_l_sensors_8h__incl.map
new file mode 100644
index 0000000..86c9296
--- /dev/null
+++ a/_z_l_l_sensors_8h__incl.map
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git b/_z_l_l_sensors_8h__incl.md5 a/_z_l_l_sensors_8h__incl.md5
new file mode 100644
index 0000000..214f9c3
--- /dev/null
+++ a/_z_l_l_sensors_8h__incl.md5
@@ -0,0 +1 @@
+fc4b128c0eb5e104ee5bbafba4ac52da
\ No newline at end of file
diff --git b/_z_l_l_sensors_8h__incl.png a/_z_l_l_sensors_8h__incl.png
new file mode 100644
index 0000000..934f01c
--- /dev/null
+++ a/_z_l_l_sensors_8h__incl.png
diff --git b/_z_l_l_sensors_8h_source.html a/_z_l_l_sensors_8h_source.html
new file mode 100644
index 0000000..bda1660
--- /dev/null
+++ a/_z_l_l_sensors_8h_source.html
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus/ZLLSensors.h Source File
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the documentation of this file. 22 #ifndef INCLUDE_HUEPLUSPLUS_ZLL_SENSORS_H 23 #define INCLUDE_HUEPLUSPLUS_ZLL_SENSORS_H 64 static constexpr
const char *
typeStr =
"ZGPSwitch" ;
86 bool hasBatteryState()
const ;
89 int getBatteryState()
const ;
93 Alert getLastAlert()
const ;
99 void sendAlert(
Alert type);
102 bool isReachable()
const ;
115 static constexpr
int c_ON_INITIAL_PRESS = 1000;
117 static constexpr
int c_ON_HOLD = 1001;
119 static constexpr
int c_ON_SHORT_RELEASED = 1002;
121 static constexpr
int c_ON_LONG_RELEASED = 1003;
123 static constexpr
int c_UP_INITIAL_PRESS = 2000;
125 static constexpr
int c_UP_HOLD = 2001;
127 static constexpr
int c_UP_SHORT_RELEASED = 2002;
129 static constexpr
int c_UP_LONG_RELEASED = 2003;
131 static constexpr
int c_DOWN_INITIAL_PRESS = 3000;
133 static constexpr
int c_DOWN_HOLD = 3001;
135 static constexpr
int c_DOWN_SHORT_RELEASED = 3002;
137 static constexpr
int c_DOWN_LONG_RELEASED = 3003;
139 static constexpr
int c_OFF_INITIAL_PRESS = 4000;
141 static constexpr
int c_OFF_HOLD = 4001;
143 static constexpr
int c_OFF_SHORT_RELEASED = 4002;
145 static constexpr
int c_OFF_LONG_RELEASED = 4003;
148 static constexpr
const char *
typeStr =
"ZLLSwitch" ;
170 bool hasBatteryState()
const ;
173 int getBatteryState()
const ;
177 Alert getLastAlert()
const ;
183 void sendAlert(
Alert type);
186 bool isReachable()
const ;
189 int getSensitivity()
const ;
191 int getMaxSensitivity()
const ;
194 void setSensitivity(
int sensitivity);
197 bool getPresence()
const ;
205 static constexpr
const char *
typeStr =
"ZLLPresence" ;
227 bool hasBatteryState()
const ;
230 int getBatteryState()
const ;
234 Alert getLastAlert()
const ;
240 void sendAlert(
Alert type);
243 bool isReachable()
const ;
247 int getTemperature()
const ;
255 static constexpr
const char *
typeStr =
"ZLLTemperature" ;
277 bool hasBatteryState()
const ;
280 int getBatteryState()
const ;
283 bool isReachable()
const ;
286 int getDarkThreshold()
const ;
293 void setDarkThreshold(
int threshold);
295 int getThresholdOffset()
const ;
302 void setThresholdOffset(
int offset);
306 int getLightLevel()
const ;
312 bool isDaylight()
const ;
320 static constexpr
const char *
typeStr =
"ZLLLightLevel" ;
static constexpr int c_button1
Code for tap button 1.
Definition: ZLLSensors.h:55
+
ZigBee temperature sensor.
Definition: ZLLSensors.h:209
+
bool isOn() const
Check if sensor is on.
Definition: ZLLSensors.cpp:37
+
ZigBee sensor detecting ambient light level.
Definition: ZLLSensors.h:259
+
ZLLPresence(Sensor sensor)
Construct from generic sensor.
Definition: ZLLSensors.h:156
+
detail::ConditionHelper< bool > makeConditionDaylight(const ZLLLightLevel &sensor)
Definition: ZLLSensors.cpp:302
+
void setOn(bool on)
Enable or disable sensor.
Definition: ZLLSensors.cpp:42
+
Namespace for the hueplusplus library.
Definition: Action.h:27
+
Alert
Specifies light alert modes.
Definition: Sensor.h:38
+
ZigBee sensor reporting button presses.
Definition: ZLLSensors.h:68
+
Base class for physical devices connected to the bridge (sensor or light).
Definition: BaseDevice.h:35
+
Sensor detecting presence in the vicinity.
Definition: ZLLSensors.h:152
+
ZLLTemperature(Sensor sensor)
Construct from generic sensor.
Definition: ZLLSensors.h:213
+
ZGPSwitch(Sensor sensor)
Construct from generic sensor.
Definition: ZLLSensors.h:36
+
One-time, absolute time point.
Definition: TimePattern.h:72
+
static constexpr const char * typeStr
ZGPSwitch sensor type name.
Definition: ZLLSensors.h:64
+
static constexpr int c_button4
Code for tap button 4.
Definition: ZLLSensors.h:61
+
static constexpr int c_button3
Code for tap button 3.
Definition: ZLLSensors.h:59
+
Class for generic or unknown sensor types.
Definition: Sensor.h:59
+
ZigBee Green Power sensor for button presses.
Definition: ZLLSensors.h:32
+
ZLLSwitch(Sensor sensor)
Construct from generic sensor.
Definition: ZLLSensors.h:72
+
+
ZLLLightLevel(Sensor sensor)
Construct from generic sensor.
Definition: ZLLSensors.h:263
+
static constexpr int c_button2
Code for tap button 2.
Definition: ZLLSensors.h:57
+
int getButtonEvent() const
Get the code of the last switch event.
Definition: ZLLSensors.cpp:47
+
detail::ConditionHelper< bool > makeConditionDark(const ZLLLightLevel &sensor)
Definition: ZLLSensors.cpp:297
+
detail::ConditionHelper< int > makeConditionLightLevel(const ZLLLightLevel &sensor)
Definition: ZLLSensors.cpp:307
+
+
+
+
+
diff --git b/annotated.html a/annotated.html
new file mode 100644
index 0000000..c6653bb
--- /dev/null
+++ a/annotated.html
@@ -0,0 +1,160 @@
+
+
+
+
+
+
+
+hueplusplus: Class List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
+
+
+
+
diff --git b/bc_s.png a/bc_s.png
new file mode 100644
index 0000000..224b29a
--- /dev/null
+++ a/bc_s.png
diff --git b/bdwn.png a/bdwn.png
new file mode 100644
index 0000000..940a0b9
--- /dev/null
+++ a/bdwn.png
diff --git b/build.html a/build.html
new file mode 100644
index 0000000..ab5f47d
--- /dev/null
+++ a/build.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+hueplusplus: Build and install
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Basic installation
+
+Clone from github
+
To get the newest version of the hueplusplus library, clone it directly from github . The master branch contains the latest tested and stable version, while the development branch is more unstable.
~ $ git clone https://github.com/enwi/hueplusplus.git
This creates a folder hueplusplus with the library sources.
+
When you want to update the library for a new version, use pull with rebase.
~/hueplusplus $ git pull --rebase
+Build with CMake
+
To build the library, you need to use CMake version 3.8 or higher. It is easiest to create a separate build directory where the build files are stored.
~/hueplusplus $ mkdir build
~/hueplusplus $ cd build
~/hueplusplus/build $ cmake ..
~/hueplusplus/build $ make
To install or uninstall the library use the make targets.
~/hueplusplus/build $ make install
~/hueplusplus/build $ make uninstall
+Use in a CMake project
+
If you have a project that already uses CMake you probably want to add the hueplusplus library directly in your cmake file. For that the best way is to use find_package().
find_package(hueplusplus REQUIRED)
But this will only work if the hueplusplus library is already installed. Instead, if you have the hueplusplus repository included in your project repository (as a submodule) or know where the folder lives you can do the following:
find_package(hueplusplus QUIET)
if(NOT hueplusplus_FOUND)
message(STATUS "-- hueplusplus not found, building it")
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/<path to directory>/hueplusplus" "${CMAKE_CURRENT_BINARY_DIR}/hueplusplus")
endif()
This will check if the hueplusplus library was found by find_package() and if not it will use the specified path to the library source and compile it during the build process.
+
The cmake project defines two library targets: hueplusplusstatic to link as a static library and hueplusplusshared to link as a shared library.
target_link_libraries(<executable> PUBLIC hueplusplusstatic)
+Use in another project
+
When you are not using CMake, you have to install hueplusplus and change your build configuration to link to the compiled library. The header files in the include directory need to be added to the include path. How you do this depends on the build system.
+
+Building tests
+
If you additionally want to run the tests use cmake with the option -Dhueplusplus_TESTS=ON. Testing is done with Google gtest and gmock. Note that you wont need to install gtest/gmock yourself, because cmake will automatically download them and include them during the build. The custom target unittest compiles and executes all tests.
mkdir build
cd build
cmake .. -Dhueplusplus_TESTS=ON
make unittest
If you also want to execute coverage tests you will need to install gcov and lcov yourself. To run the coverage test use
+Building examples
+
There are some small example programs using this library in the examples folder. To build them, set hueplusplus_EXAMPLES=ON. The target hueplusplus_examples builds all examples into build/examples.
mkdir build
cd build
cmake .. -Dhueplusplus_EXAMPLES=ON
make hueplusplus_examples
+
+
+
+
diff --git b/classes.html a/classes.html
new file mode 100644
index 0000000..d799b81
--- /dev/null
+++ a/classes.html
@@ -0,0 +1,124 @@
+
+
+
+
+
+
+
+hueplusplus: Class Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/classhueplusplus_1_1_a_p_i_cache-members.html a/classhueplusplus_1_1_a_p_i_cache-members.html
new file mode 100644
index 0000000..8ee85e8
--- /dev/null
+++ a/classhueplusplus_1_1_a_p_i_cache-members.html
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::APICache , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_a_p_i_cache.html a/classhueplusplus_1_1_a_p_i_cache.html
new file mode 100644
index 0000000..2c99990
--- /dev/null
+++ a/classhueplusplus_1_1_a_p_i_cache.html
@@ -0,0 +1,410 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::APICache Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Caches API GET requests and refreshes regularly.
+ More...
+
+
#include <hueplusplus/APICache.h >
+
+
+
Caches API GET requests and refreshes regularly.
+
+
+
◆ APICache() [1/2]
+
+
+
+
+
+ hueplusplus::APICache::APICache
+ (
+ std::shared_ptr< APICache >
+ baseCache ,
+
+
+
+
+ const std::string &
+ subEntry ,
+
+
+
+
+ std::chrono::steady_clock::duration
+ refresh
+
+
+
+ )
+
+
+
+
+
+
Constructs APICache which forwards to a base cache.
+
Parameters
+
+ baseCache Base cache providing a parent state, must not be nullptr
+ subEntry Key of the child to use in the base cache
+ refresh Interval between cache refreshing. May be 0 to always refresh. This is independent from the base cache refresh rate.
+
+
+
+
Refreshes only part of the base cache.
+
+
+
+
+
◆ APICache() [2/2]
+
+
+
+
+
+ hueplusplus::APICache::APICache
+ (
+ const std::string &
+ path ,
+
+
+
+
+ const HueCommandAPI &
+ commands ,
+
+
+
+
+ std::chrono::steady_clock::duration
+ refresh ,
+
+
+
+
+ const nlohmann::json &
+ initial
+
+
+
+ )
+
+
+
+
+
+
Constructs APICache with an own internal json cache.
+
Parameters
+
+ path URL appended after username, may be empty.
+ commands HueCommandAPI for making API requests.
+ refresh Interval between cache refreshing. May be 0 to always refresh.
+ initial Initial value, may be null. If present, assumes the value is up to date.
+
+
+
+
+
+
+
+
+
◆ getCommandAPI() [1/2]
+
+
+
+
+
+ HueCommandAPI & hueplusplus::APICache::getCommandAPI
+ (
+ )
+
+
+
+
+
+
+
◆ getCommandAPI() [2/2]
+
+
+
+
+
+ const HueCommandAPI & hueplusplus::APICache::getCommandAPI
+ (
+ )
+ const
+
+
+
+
+
+
◆ getRefreshDuration()
+
+
+
+
+
+ std::chrono::steady_clock::duration hueplusplus::APICache::getRefreshDuration
+ (
+ )
+ const
+
+
+
+
+
Get duration between refreshes.
+
+
+
+
+
◆ getRequestPath()
+
+
+
+
+
+ std::string hueplusplus::APICache::getRequestPath
+ (
+ )
+ const
+
+
+
+
+
+
◆ getValue() [1/2]
+
+
+
+
+
+ nlohmann::json & hueplusplus::APICache::getValue
+ (
+ )
+
+
+
+
+
+
Get cached value, refresh if necessary.
+
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
+
+
+
+
+
+
+
+
◆ getValue() [2/2]
+
+
+
+
+
+ const nlohmann::json & hueplusplus::APICache::getValue
+ (
+ )
+ const
+
+
+
+
+
Get cached value, does not refresh.
+
Exceptions
+
+
+
+
+
+
+
+
◆ refresh()
+
+
+
+
+
+ void hueplusplus::APICache::refresh
+ (
+ )
+
+
+
+
+
+
Refresh cache now.
+
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
+
+
+
+
If there is a base cache, refreshes only the used part of that cache.
+
+
+
+
+
◆ setRefreshDuration()
+
+
+
+
+
+ void hueplusplus::APICache::setRefreshDuration
+ (
+ std::chrono::steady_clock::duration
+ refreshDuration )
+
+
+
+
+
+
Set duration after which the cache is refreshed.
+
Parameters
+
+ refreshDuration Interval between cache refreshing. May be 0 to always refresh, or c_refreshNever to never refresh.
+
+
+
+
If the new refresh duration is exceeded, does not refresh immediately. Instead, the next non-const getValue() call will refresh the value. This is to reduce the number of unneccessary requests.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_action-members.html a/classhueplusplus_1_1_action-members.html
new file mode 100644
index 0000000..5b88952
--- /dev/null
+++ a/classhueplusplus_1_1_action-members.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::Action , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_action.html a/classhueplusplus_1_1_action.html
new file mode 100644
index 0000000..432f6c8
--- /dev/null
+++ a/classhueplusplus_1_1_action.html
@@ -0,0 +1,341 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::Action Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Action executed by the bridge, e.g. as a Schedule command.
+ More...
+
+
#include <hueplusplus/Action.h >
+
+
+
Action executed by the bridge, e.g. as a Schedule command.
+
The action makes either a POST, PUT or DELETE request with a given body to an address on the bridge.
+
The Action can also be created by StateTransaction::toAction() .
+
+
+
◆ Method
+
+
+
+
+
Method used for the command.
+
+Enumerator post POST request.
+
+ put PUT request.
+
+ deleteMethod DELETE request.
+
+
+
+
+
+
+
+
◆ Action()
+
+
+
+
+
+
+
+
+ hueplusplus::Action::Action
+ (
+ const nlohmann::json &
+ json )
+
+
+
+
+
+explicit
+
+
+
+
+
Create Action from json.
+
Parameters
+
+ json JSON object with address, method and body
+
+
+
+
+
+
+
+
+
◆ getAddress()
+
+
+
+
+
+ std::string hueplusplus::Action::getAddress
+ (
+ )
+ const
+
+
+
+
+
Get address the request is made to.
+
+
+
+
+
◆ getBody()
+
+
+
+
+
+ const nlohmann::json & hueplusplus::Action::getBody
+ (
+ )
+ const
+
+
+
+
+
+
◆ getMethod()
+
+
+
+
+
Get request method.
+
+
+
+
+
◆ methodToString()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::Action::methodToString
+ (
+ Method
+ m )
+
+
+
+
+
+static
+
+
+
+
+
Get string from Method.
+
Returns POST, PUT or DELETE
+
+
+
+
+
◆ parseMethod()
+
+
+
+
+
+
+
+
+ Action::Method hueplusplus::Action::parseMethod
+ (
+ const std::string &
+ s )
+
+
+
+
+
+static
+
+
+
+
+
Parse Method from string.
+
Parameters
+
+
+
+
+
+
+
+
◆ toJson()
+
+
+
+
+
+ const nlohmann::json & hueplusplus::Action::toJson
+ (
+ )
+ const
+
+
+
+
+
Get json object of command.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_base_device-members.html a/classhueplusplus_1_1_base_device-members.html
new file mode 100644
index 0000000..07e1569
--- /dev/null
+++ a/classhueplusplus_1_1_base_device-members.html
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::BaseDevice , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_base_device.html a/classhueplusplus_1_1_base_device.html
new file mode 100644
index 0000000..e017001
--- /dev/null
+++ a/classhueplusplus_1_1_base_device.html
@@ -0,0 +1,866 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::BaseDevice Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Base class for physical devices connected to the bridge (sensor or light).
+ More...
+
+
#include <hueplusplus/BaseDevice.h >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+virtual ~BaseDevice ()=default
+ Virtual destructor. More...
+
+virtual int getId () const
+ Const function that returns the id of this device. More...
+
+virtual std::string getType () const
+ Const function that returns the device type. More...
+
+virtual std::string getName ()
+ Function that returns the name of the device. More...
+
+virtual std::string getName () const
+ Const function that returns the name of the device. More...
+
+virtual std::string getModelId () const
+ Const function that returns the modelid of the device. More...
+
+virtual std::string getUId () const
+ Const function that returns the uniqueid of the device. More...
+
+virtual std::string getManufacturername () const
+ Const function that returns the manufacturername of the device. More...
+
+virtual std::string getProductname () const
+ Const function that returns the productname of the device. More...
+
+virtual std::string getSwVersion ()
+ Function that returns the software version of the device. More...
+
+virtual std::string getSwVersion () const
+ Const function that returns the software version of the device. More...
+
+virtual bool setName (const std::string &name)
+ Function that sets the name of the device. More...
+
+virtual void refresh (bool force=false)
+ Refreshes internal cached state. More...
+
+virtual void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+ Sets custom refresh interval for this device. More...
+
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+
+
Base class for physical devices connected to the bridge (sensor or light).
+
+
+
◆ ~BaseDevice()
+
+
+
+
+
+
+
+
+ virtual hueplusplus::BaseDevice::~BaseDevice
+ (
+ )
+
+
+
+
+
+virtual default
+
+
+
+
+
Virtual destructor.
+
+
+
+
+
◆ BaseDevice() [1/2]
+
+
+
+
+
+
+
+
+ hueplusplus::BaseDevice::BaseDevice
+ (
+ int
+ id ,
+
+
+
+
+ const std::shared_ptr< APICache > &
+ baseCache
+
+
+
+ )
+
+
+
+
+
+protected
+
+
+
+
+
Protected ctor that is used by subclasses, construct with shared cache.
+
Parameters
+
+ id Integer that specifies the id of this device
+ baseCache Cache of the ResourceList containing this device (must not be null).
+
+
+
+
+
+
+
+
◆ BaseDevice() [2/2]
+
+
+
+
+
+
+
+
+ hueplusplus::BaseDevice::BaseDevice
+ (
+ int
+ id ,
+
+
+
+
+ const HueCommandAPI &
+ commands ,
+
+
+
+
+ const std::string &
+ path ,
+
+
+
+
+ std::chrono::steady_clock::duration
+ refreshDuration ,
+
+
+
+
+ const nlohmann::json &
+ currentState
+
+
+
+ )
+
+
+
+
+
+protected
+
+
+
+
+
Protected ctor that is used by subclasses.
+
Parameters
+
+ id Integer that specifies the id of this device
+ commands HueCommandAPI for communication with the bridge
+ path Base path for the resource type, ending with a '/'. Example: "/lights/"
+ refreshDuration Time between refreshing the cached state.
+ currentState Current state of the device, may be null.
+
+
+
+
+
+
+
+
+
◆ getId()
+
+
+
+
+
+
+
+
+ int hueplusplus::BaseDevice::getId
+ (
+ )
+ const
+
+
+
+
+virtual
+
+
+
+
+
Const function that returns the id of this device.
+
Returns integer representing the device id
+
+
+
+
+
◆ getManufacturername()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseDevice::getManufacturername
+ (
+ )
+ const
+
+
+
+
+virtual
+
+
+
+
+
Const function that returns the manufacturername of the device.
+
Note Only working on bridges with versions starting at 1.7
+
Returns String containing the manufacturername or an empty string when the function is not supported
+
+
+
+
+
◆ getModelId()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseDevice::getModelId
+ (
+ )
+ const
+
+
+
+
+virtual
+
+
+
+
+
Const function that returns the modelid of the device.
+
Returns String containing the modelid
+
+
+
+
+
◆ getName() [1/2]
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseDevice::getName
+ (
+ )
+
+
+
+
+
+virtual
+
+
+
+
+
Function that returns the name of the device.
+
Returns String containig the name of the device
+
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
+
+
+
+
+
+
+
+
◆ getName() [2/2]
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseDevice::getName
+ (
+ )
+ const
+
+
+
+
+virtual
+
+
+
+
+
Const function that returns the name of the device.
+
Note This will not refresh the device state
+
Returns String containig the name of the thing
+
+
+
+
+
◆ getProductname()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseDevice::getProductname
+ (
+ )
+ const
+
+
+
+
+virtual
+
+
+
+
+
Const function that returns the productname of the device.
+
Note Only working on bridges with versions starting at 1.24
+
Returns String containing the productname or an empty string when the function is not supported
+
+
+
+
+
◆ getSwVersion() [1/2]
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseDevice::getSwVersion
+ (
+ )
+
+
+
+
+
+virtual
+
+
+
+
+
Function that returns the software version of the device.
+
Returns String containing the software version
+
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
+
+
+
+
+
+
+
+
◆ getSwVersion() [2/2]
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseDevice::getSwVersion
+ (
+ )
+ const
+
+
+
+
+virtual
+
+
+
+
+
Const function that returns the software version of the device.
+
Note This will not refresh the device state
+
Returns String containing the software version
+
+
+
+
+
◆ getType()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseDevice::getType
+ (
+ )
+ const
+
+
+
+
+virtual
+
+
+
+
+
Const function that returns the device type.
+
Returns String containing the type
+
+
+
+
+
◆ getUId()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseDevice::getUId
+ (
+ )
+ const
+
+
+
+
+virtual
+
+
+
+
+
Const function that returns the uniqueid of the device.
+
Note Only working on bridges with versions starting at 1.4
+
Returns String containing the uniqueid or an empty string when the function is not supported
+
+
+
+
+
◆ refresh()
+
+
+
+
+
+
+
+
+ void hueplusplus::BaseDevice::refresh
+ (
+ bool
+ force = false)
+
+
+
+
+
+virtual
+
+
+
+
+
Refreshes internal cached state.
+
Parameters
+
+ force true forces a refresh, regardless of how long the last refresh was ago. false to only refresh when enough time has passed (needed e.g. when calling only const methods).
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ sendPutRequest()
+
+
+
+
+
+
+
+
+ nlohmann::json hueplusplus::BaseDevice::sendPutRequest
+ (
+ const std::string &
+ subPath ,
+
+
+
+
+ const nlohmann::json &
+ request ,
+
+
+
+
+ FileInfo
+ fileInfo
+
+
+
+ )
+
+
+
+
+
+protected virtual
+
+
+
+
+
Utility function to send a put request to the device.
+
Parameters
+
+ subPath A path that is appended to the uri, note it should always start with a slash ("/")
+ request A nlohmann::json aka the request to send
+ fileInfo FileInfo from calling function for exception details.
+
+
+
+
Returns The parsed reply
+
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
+
+
+
+
+
+
+
+
◆ setName()
+
+
+
+
+
+
+
+
+ bool hueplusplus::BaseDevice::setName
+ (
+ const std::string &
+ name )
+
+
+
+
+
+virtual
+
+
+
+
+
Function that sets the name of the device.
+
Returns Bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ setRefreshDuration()
+
+
+
+
+
+
+
+
+ void hueplusplus::BaseDevice::setRefreshDuration
+ (
+ std::chrono::steady_clock::duration
+ refreshDuration )
+
+
+
+
+
+virtual
+
+
+
+
+
Sets custom refresh interval for this device.
+
Parameters
+
+ refreshDuration The new minimum duration between refreshes. May be 0 or c_refreshNever .
+
+
+
+
+
+
+
+
+
◆ id
+
+
+
+
+
+
+
+
+ int hueplusplus::BaseDevice::id
+
+
+
+
+protected
+
+
+
+
+
holds the id of the device
+
+
+
+
+
◆ state
+
+
+
+
+
+
+
+
+ APICache hueplusplus::BaseDevice::state
+
+
+
+
+protected
+
+
+
+
+
holds the current state of the device
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_base_device__coll__graph.map a/classhueplusplus_1_1_base_device__coll__graph.map
new file mode 100644
index 0000000..a5e417e
--- /dev/null
+++ a/classhueplusplus_1_1_base_device__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_base_device__coll__graph.md5 a/classhueplusplus_1_1_base_device__coll__graph.md5
new file mode 100644
index 0000000..3bc2568
--- /dev/null
+++ a/classhueplusplus_1_1_base_device__coll__graph.md5
@@ -0,0 +1 @@
+eebec7344482b12fb8393abb78b11108
\ No newline at end of file
diff --git b/classhueplusplus_1_1_base_device__coll__graph.png a/classhueplusplus_1_1_base_device__coll__graph.png
new file mode 100644
index 0000000..630a13a
--- /dev/null
+++ a/classhueplusplus_1_1_base_device__coll__graph.png
diff --git b/classhueplusplus_1_1_base_device__inherit__graph.map a/classhueplusplus_1_1_base_device__inherit__graph.map
new file mode 100644
index 0000000..c12e5e6
--- /dev/null
+++ a/classhueplusplus_1_1_base_device__inherit__graph.map
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/classhueplusplus_1_1_base_device__inherit__graph.md5 a/classhueplusplus_1_1_base_device__inherit__graph.md5
new file mode 100644
index 0000000..792231e
--- /dev/null
+++ a/classhueplusplus_1_1_base_device__inherit__graph.md5
@@ -0,0 +1 @@
+d96c6e12a566e3dcef01ef919158f1af
\ No newline at end of file
diff --git b/classhueplusplus_1_1_base_device__inherit__graph.png a/classhueplusplus_1_1_base_device__inherit__graph.png
new file mode 100644
index 0000000..d7fa980
--- /dev/null
+++ a/classhueplusplus_1_1_base_device__inherit__graph.png
diff --git b/classhueplusplus_1_1_base_http_handler-members.html a/classhueplusplus_1_1_base_http_handler-members.html
new file mode 100644
index 0000000..ee71a8e
--- /dev/null
+++ a/classhueplusplus_1_1_base_http_handler-members.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::BaseHttpHandler , including all inherited members.
+
+ DELETEJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ DELETEString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ GETJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ GETString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ POSTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ POSTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ PUTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ PUTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ send (const std::string &msg, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandler pure virtual
+ sendGetHTTPBody (const std::string &msg, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ sendHTTPRequest (const std::string &method, const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ sendMulticast (const std::string &msg, const std::string &adr="239.255.255.250", int port=1900, std::chrono::steady_clock::duration timeout=std::chrono::seconds(5)) const =0hueplusplus::IHttpHandler pure virtual
+ ~BaseHttpHandler ()=defaulthueplusplus::BaseHttpHandler virtual
+ ~IHttpHandler ()=defaulthueplusplus::IHttpHandler virtual
+
+
+
+
+
diff --git b/classhueplusplus_1_1_base_http_handler.html a/classhueplusplus_1_1_base_http_handler.html
new file mode 100644
index 0000000..ba0efb8
--- /dev/null
+++ a/classhueplusplus_1_1_base_http_handler.html
@@ -0,0 +1,919 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::BaseHttpHandler Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Base class for classes that handle http requests and multicast requests.
+ More...
+
+
#include <hueplusplus/BaseHttpHandler.h >
+
+
+
+
+
+
+
+
+
+
+virtual ~BaseHttpHandler ()=default
+ Virtual dtor. More...
+
+std::string sendGetHTTPBody (const std::string &msg, const std::string &adr, int port=80) const override
+ Send a message to a specified host and return the body of the response. More...
+
+std::string sendHTTPRequest (const std::string &method, const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP request with the given method to the specified host and return the body of the response. More...
+
+std::string GETString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP GET request to the specified host and return the body of the response. More...
+
+std::string POSTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP POST request to the specified host and return the body of the response. More...
+
+std::string PUTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP PUT request to the specified host and return the body of the response. More...
+
+std::string DELETEString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP DELETE request to the specified host and return the body of the response. More...
+
+nlohmann::json GETJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
+ Send a HTTP GET request to the specified host and return the body of the response parsed as JSON. More...
+
+nlohmann::json POSTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
+ Send a HTTP POST request to the specified host and return the body of the response parsed as JSON. More...
+
+nlohmann::json PUTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
+ Send a HTTP PUT request to the specified host and return the body of the response parsed as JSON. More...
+
+nlohmann::json DELETEJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
+ Send a HTTP DELETE request to the specified host and return the body of the response parsed as JSON. More...
+
+ Public Member Functions inherited from hueplusplus::IHttpHandler
+virtual ~IHttpHandler ()=default
+ Virtual dtor. More...
+
+virtual std::string send (const std::string &msg, const std::string &adr, int port=80) const =0
+ Send a message to a specified host and return the response. More...
+
+virtual std::vector< std::string > sendMulticast (const std::string &msg, const std::string &adr="239.255.255.250", int port=1900, std::chrono::steady_clock::duration timeout=std::chrono::seconds(5)) const =0
+ Send a multicast request with a specified message. More...
+
+
+
+
Base class for classes that handle http requests and multicast requests.
+
+
+
◆ ~BaseHttpHandler()
+
+
+
+
+
+
+
+
+ virtual hueplusplus::BaseHttpHandler::~BaseHttpHandler
+ (
+ )
+
+
+
+
+
+virtual default
+
+
+
+
+
+
+
◆ DELETEJson()
+
+
+
+
+
+
+
+
+ nlohmann::json hueplusplus::BaseHttpHandler::DELETEJson
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const nlohmann::json &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Send a HTTP DELETE request to the specified host and return the body of the response parsed as JSON.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80
+
+
+
+
Returns Parsed body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+ nlohmann::json::parse_error when the body could not be parsed
+
+
+
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
+
◆ DELETEString()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseHttpHandler::DELETEString
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const std::string &
+ contentType ,
+
+
+
+
+ const std::string &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Send a HTTP DELETE request to the specified host and return the body of the response.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ contentType MIME type of the body data e.g. "text/html", "application/json", ...
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80 that specifies the port to which the request is sent to. Default is 80
+
+
+
+
Returns Body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+
+
+
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
+
◆ GETJson()
+
+
+
+
+
+
+
+
+ nlohmann::json hueplusplus::BaseHttpHandler::GETJson
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const nlohmann::json &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Send a HTTP GET request to the specified host and return the body of the response parsed as JSON.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80
+
+
+
+
Returns Parsed body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+ nlohmann::json::parse_error when the body could not be parsed
+
+
+
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
+
◆ GETString()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseHttpHandler::GETString
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const std::string &
+ contentType ,
+
+
+
+
+ const std::string &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Send a HTTP GET request to the specified host and return the body of the response.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ contentType MIME type of the body data e.g. "text/html", "application/json", ...
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80 that specifies the port to which the request is sent to. Default is 80
+
+
+
+
Returns Body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+
+
+
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
+
◆ POSTJson()
+
+
+
+
+
+
+
+
+ nlohmann::json hueplusplus::BaseHttpHandler::POSTJson
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const nlohmann::json &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Send a HTTP POST request to the specified host and return the body of the response parsed as JSON.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80
+
+
+
+
Returns Parsed body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+ nlohmann::json::parse_error when the body could not be parsed
+
+
+
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
+
◆ POSTString()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseHttpHandler::POSTString
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const std::string &
+ contentType ,
+
+
+
+
+ const std::string &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Send a HTTP POST request to the specified host and return the body of the response.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ contentType MIME type of the body data e.g. "text/html", "application/json", ...
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80 that specifies the port to which the request is sent to. Default is 80
+
+
+
+
Returns Body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+
+
+
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
+
◆ PUTJson()
+
+
+
+
+
+
+
+
+ nlohmann::json hueplusplus::BaseHttpHandler::PUTJson
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const nlohmann::json &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Send a HTTP PUT request to the specified host and return the body of the response parsed as JSON.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80
+
+
+
+
Returns Parsed body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+ nlohmann::json::parse_error when the body could not be parsed
+
+
+
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
+
◆ PUTString()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseHttpHandler::PUTString
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const std::string &
+ contentType ,
+
+
+
+
+ const std::string &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Send a HTTP PUT request to the specified host and return the body of the response.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ contentType MIME type of the body data e.g. "text/html", "application/json", ...
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80 that specifies the port to which the request is sent to. Default is 80
+
+
+
+
Returns Body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+
+
+
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
+
◆ sendGetHTTPBody()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseHttpHandler::sendGetHTTPBody
+ (
+ const std::string &
+ msg ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Send a message to a specified host and return the body of the response.
+
Parameters
+
+ msg The message that should sent to the specified address
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80
+
+
+
+
Returns The body of the response of the host as a string
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+
+
+
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
+
◆ sendHTTPRequest()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BaseHttpHandler::sendHTTPRequest
+ (
+ const std::string &
+ method ,
+
+
+
+
+ const std::string &
+ uri ,
+
+
+
+
+ const std::string &
+ contentType ,
+
+
+
+
+ const std::string &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Send a HTTP request with the given method to the specified host and return the body of the response.
+
Parameters
+
+ method HTTP method type e.g. GET, HEAD, POST, PUT, DELETE, ...
+ uri Uniform Resource Identifier in the request
+ contentType MIME type of the body data e.g. "text/html", "application/json", ...
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80
+
+
+
+
Returns Body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+
+
+
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_base_http_handler__coll__graph.map a/classhueplusplus_1_1_base_http_handler__coll__graph.map
new file mode 100644
index 0000000..ad5c2aa
--- /dev/null
+++ a/classhueplusplus_1_1_base_http_handler__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_base_http_handler__coll__graph.md5 a/classhueplusplus_1_1_base_http_handler__coll__graph.md5
new file mode 100644
index 0000000..567a1a2
--- /dev/null
+++ a/classhueplusplus_1_1_base_http_handler__coll__graph.md5
@@ -0,0 +1 @@
+f3db1c6ce6b743d41d333f78766610c9
\ No newline at end of file
diff --git b/classhueplusplus_1_1_base_http_handler__coll__graph.png a/classhueplusplus_1_1_base_http_handler__coll__graph.png
new file mode 100644
index 0000000..508a0a2
--- /dev/null
+++ a/classhueplusplus_1_1_base_http_handler__coll__graph.png
diff --git b/classhueplusplus_1_1_base_http_handler__inherit__graph.map a/classhueplusplus_1_1_base_http_handler__inherit__graph.map
new file mode 100644
index 0000000..880d204
--- /dev/null
+++ a/classhueplusplus_1_1_base_http_handler__inherit__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/classhueplusplus_1_1_base_http_handler__inherit__graph.md5 a/classhueplusplus_1_1_base_http_handler__inherit__graph.md5
new file mode 100644
index 0000000..8be0263
--- /dev/null
+++ a/classhueplusplus_1_1_base_http_handler__inherit__graph.md5
@@ -0,0 +1 @@
+dbfaa741cb60b306ec4c25e58f375c54
\ No newline at end of file
diff --git b/classhueplusplus_1_1_base_http_handler__inherit__graph.png a/classhueplusplus_1_1_base_http_handler__inherit__graph.png
new file mode 100644
index 0000000..a8a962d
--- /dev/null
+++ a/classhueplusplus_1_1_base_http_handler__inherit__graph.png
diff --git b/classhueplusplus_1_1_bridge-members.html a/classhueplusplus_1_1_bridge-members.html
new file mode 100644
index 0000000..819afaa
--- /dev/null
+++ a/classhueplusplus_1_1_bridge-members.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::Bridge , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_bridge.html a/classhueplusplus_1_1_bridge.html
new file mode 100644
index 0000000..8ae9318
--- /dev/null
+++ a/classhueplusplus_1_1_bridge.html
@@ -0,0 +1,894 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::Bridge Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Bridge class for a bridge.
+ More...
+
+
#include <hueplusplus/Bridge.h >
+
+
+
Bridge class for a bridge.
+
This is the main class used to interact with the Hue bridge.
+
+
+
◆ GroupList
+
+
+
+
◆ LightList
+
+
+
+
◆ RuleList
+
+
+
+
◆ SceneList
+
+
+
+
◆ ScheduleList
+
+
+
+
+
◆ Bridge()
+
+
+
+
+
+ hueplusplus::Bridge::Bridge
+ (
+ const std::string &
+ ip ,
+
+
+
+
+ const int
+ port ,
+
+
+
+
+ const std::string &
+ username ,
+
+
+
+
+ std::shared_ptr< const IHttpHandler >
+ handler ,
+
+
+
+
+ const std::string &
+ clientkey = "",
+
+
+
+
+ std::chrono::steady_clock::duration
+ refreshDuration = std::chrono::seconds(10),
+
+
+
+
+ bool
+ sharedState = false
+
+
+
+ )
+
+
+
+
+
+
Constructor of Bridge class.
+
Parameters
+
+ ip IP address in dotted decimal notation like "192.168.2.1"
+ port Port of the hue bridge
+ username String that specifies the username that is used to control the bridge. Can be left empty and acquired in requestUsername .
+ handler HttpHandler for communication with the bridge
+ clientkey Optional client key for streaming
+ refreshDuration Time between refreshing the cached state.
+ sharedState Uses a single, shared cache for all objects on the bridge.
+
+
+
+
+
+
+
+
+
◆ config() [1/2]
+
+
+
+
+
+ BridgeConfig & hueplusplus::Bridge::config
+ (
+ )
+
+
+
+
+
+
Provides access to the configuration of the bridge.
+
+
+
+
+
◆ config() [2/2]
+
+
+
+
+
+ const BridgeConfig & hueplusplus::Bridge::config
+ (
+ )
+ const
+
+
+
+
+
Provides access to the configuration of the bridge.
+
Note Does not refresh state.
+
+
+
+
+
◆ getBridgeIP()
+
+
+
+
+
+ std::string hueplusplus::Bridge::getBridgeIP
+ (
+ )
+ const
+
+
+
+
+
Function to get the ip address of the hue bridge.
+
Returns string containing ip
+
+
+
+
+
◆ getBridgePort()
+
+
+
+
+
+ int hueplusplus::Bridge::getBridgePort
+ (
+ )
+ const
+
+
+
+
+
Function to get the port of the hue bridge.
+
Returns integer containing port
+
+
+
+
+
◆ getClientKey()
+
+
+
+
+
+ std::string hueplusplus::Bridge::getClientKey
+ (
+ )
+ const
+
+
+
+
+
Function that returns the client key.
+
Returns The client key used for Entertainment Mode API access
+
+
+
+
+
◆ getUsername()
+
+
+
+
+
+ std::string hueplusplus::Bridge::getUsername
+ (
+ )
+ const
+
+
+
+
+
Function that returns the username.
+
Returns The username used for API access
+
+
+
+
+
◆ groups() [1/2]
+
+
+
+
+
Provides access to the Group s on the bridge.
+
+
+
+
+
◆ groups() [2/2]
+
+
+
+
+
Provides access to the Group s on the bridge.
+
Note Does not refresh state.
+
+
+
+
+
◆ lights() [1/2]
+
+
+
+
+
Provides access to the Light s on the bridge.
+
+
+
+
+
◆ lights() [2/2]
+
+
+
+
+
Provides access to the Light s on the bridge.
+
Note Does not refresh state.
+
+
+
+
+
◆ refresh()
+
+
+
+
+
+ void hueplusplus::Bridge::refresh
+ (
+ )
+
+
+
+
+
+
Refreshes the bridge state.
+
Should only be called rarely, as a full refresh is costly and usually not necessary. Instead refresh only the parts you are interested in or rely on periodic refreshes that happen automatically when calling non-const methods.
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
+
+
+
+
+
+
+
+
◆ requestUsername()
+
+
+
+
+
+ std::string hueplusplus::Bridge::requestUsername
+ (
+ )
+
+
+
+
+
+
Send a username request to the Hue bridge.
+
Blocks for about 30 seconds and 5 seconds to prepare. It automatically sets the username variable according to the username received and returns the username received. This function should only be called once to acquire a username to control the bridge and the username should be saved for future use.
Returns username for API usage
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+ HueAPIResponseException when response contains an error except link button not pressed.
+ nlohmann::json::parse_error when response could not be parsed
+
+
+
+
+
+
+
+
◆ rules() [1/2]
+
+
+
+
+
Provides access to the Rule s on the bridge.
+
+
+
+
+
◆ rules() [2/2]
+
+
+
+
+
Provides access to the Rule s on the bridge.
+
Note Does not refresh state.
+
+
+
+
+
◆ scenes() [1/2]
+
+
+
+
+
Provides access to the Scene s on the bridge.
+
+
+
+
+
◆ scenes() [2/2]
+
+
+
+
+
Provides access to the Scene s on the bridge.
+
Note Does not refresh state.
+
+
+
+
+
◆ schedules() [1/2]
+
+
+
+
+
Provides access to the Schedule s on the bridge.
+
+
+
+
+
◆ schedules() [2/2]
+
+
+
+
+
Provides access to the Schedule s on the bridge.
+
Note Does not refresh state.
+
+
+
+
+
◆ sensors() [1/2]
+
+
+
+
+
Provides access to the Sensor s on the bridge.
+
+
+
+
+
◆ sensors() [2/2]
+
+
+
+
+
Provides access to the Sensor s on the bridge.
+
Note Does not refresh state.
+
+
+
+
+
◆ setIP()
+
+
+
+
+
+ void hueplusplus::Bridge::setIP
+ (
+ const std::string &
+ ip )
+
+
+
+
+
+
Function to set the ip address of this class representing a bridge.
+
Parameters
+
+ ip String that specifies the ip in dotted decimal notation like "192.168.2.1"
+
+
+
+
+
+
+
+
◆ setPort()
+
+
+
+
+
+ void hueplusplus::Bridge::setPort
+ (
+ const int
+ port )
+
+
+
+
+
+
Function to set the port of this class representing a bridge.
+
Parameters
+
+ port Integer that specifies the port of an address like "192.168.2.1:8080"
+
+
+
+
+
+
+
+
◆ setRefreshDuration()
+
+
+
+
+
+ void hueplusplus::Bridge::setRefreshDuration
+ (
+ std::chrono::steady_clock::duration
+ refreshDuration )
+
+
+
+
+
+
Sets refresh interval for the whole bridge state.
+
Parameters
+
+ refreshDuration The new minimum duration between refreshes. May be 0 or c_refreshNever .
+
+
+
+
Also sets refresh duration on all resource lists on the bridge, but not on already existing lights. The resource lists (such as lights() ) can have their own durations, but those must be set after calling this function.
+
+
+
+
+
◆ startStreaming()
+
+
+
+
+
+ bool hueplusplus::Bridge::startStreaming
+ (
+ std::string
+ group_identifier )
+
+
+
+
+
+
Function to set stream mode to active for entertainment mode.
+
Returns bool - whether stream request was successful
+
+
+
+
+
◆ stopStreaming()
+
+
+
+
+
+ bool hueplusplus::Bridge::stopStreaming
+ (
+ std::string
+ group_identifier )
+
+
+
+
+
+
Function to set stream mode to active for entertainment mode.
+
Returns bool - whether stream request was successful
+
+
+
+
+
+
◆ BridgeFinder
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_bridge_config-members.html a/classhueplusplus_1_1_bridge_config-members.html
new file mode 100644
index 0000000..cad4323
--- /dev/null
+++ a/classhueplusplus_1_1_bridge_config-members.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::BridgeConfig , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_bridge_config.html a/classhueplusplus_1_1_bridge_config.html
new file mode 100644
index 0000000..076580e
--- /dev/null
+++ a/classhueplusplus_1_1_bridge_config.html
@@ -0,0 +1,519 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::BridgeConfig Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
General bridge configuration properties.
+ More...
+
+
#include <hueplusplus/BridgeConfig.h >
+
+
+
+
+
+
+
General bridge configuration properties.
+
+
+
◆ BridgeConfig() [1/3]
+
+
+
+
+
+ hueplusplus::BridgeConfig::BridgeConfig
+ (
+ std::shared_ptr< APICache >
+ baseCache ,
+
+
+
+
+ std::chrono::steady_clock::duration
+ refreshDuration
+
+
+
+ )
+
+
+
+
+
+
+
◆ BridgeConfig() [2/3]
+
+
+
+
+
+
+
+
+ hueplusplus::BridgeConfig::BridgeConfig
+ (
+ const BridgeConfig &
+ )
+
+
+
+
+
+protected default
+
+
+
+
+
+
+
+
◆ BridgeConfig() [3/3]
+
+
+
+
+
+
+
+
+ hueplusplus::BridgeConfig::BridgeConfig
+ (
+ BridgeConfig &&
+ )
+
+
+
+
+
+protected default
+
+
+
+
+
+
+
+
+
◆ getLinkButton()
+
+
+
+
+
+ bool hueplusplus::BridgeConfig::getLinkButton
+ (
+ )
+ const
+
+
+
+
+
Get link button state.
+
Returns true when link button was pressed in the last 30 seconds.
+
Indicates whether new users can be added currently.
+
+
+
+
+
◆ getMACAddress()
+
+
+
+
+
+ std::string hueplusplus::BridgeConfig::getMACAddress
+ (
+ )
+ const
+
+
+
+
+
Get bridge MAC address.
+
+
+
+
+
◆ getTimezone()
+
+
+
+
+
+ std::string hueplusplus::BridgeConfig::getTimezone
+ (
+ )
+ const
+
+
+
+
+
Get configured timezone for the bridge.
+
Note For times not in UTC, the timezone of the program and the bridge are assumed to be identical.
+
+
+
+
+
◆ getUTCTime()
+
+
+
+
+
Get current (of last refresh) UTC time of the bridge.
+
+
+
+
+
◆ getWhitelistedUsers()
+
+
+
+
+
+ std::vector< WhitelistedUser > hueplusplus::BridgeConfig::getWhitelistedUsers
+ (
+ )
+ const
+
+
+
+
+
Get the list of whitelisted users.
+
Returns All users authorized for API access
+
+
+
+
+
◆ operator=() [1/2]
+
+
+
+
+
+
+
+
+
+protected default
+
+
+
+
+
+
+
+
◆ operator=() [2/2]
+
+
+
+
+
+
+
+
+
+protected default
+
+
+
+
+
+
+
+
◆ pressLinkButton()
+
+
+
+
+
+ void hueplusplus::BridgeConfig::pressLinkButton
+ (
+ )
+
+
+
+
+
+
Set the link button state to pressed.
+
+
+
+
+
◆ refresh()
+
+
+
+
+
+ void hueplusplus::BridgeConfig::refresh
+ (
+ bool
+ force = false)
+
+
+
+
+
+
Refreshes internal cached state.
+
Parameters
+
+ force true forces a refresh, regardless of how long the last refresh was ago. false to only refresh when enough time has passed (needed e.g. when calling only const methods).
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ removeUser()
+
+
+
+
+
+ void hueplusplus::BridgeConfig::removeUser
+ (
+ const std::string &
+ userKey )
+
+
+
+
+
+
Remove user from the whitelist.
+
Parameters
+
+ userKey The API username of the user to remove
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setRefreshDuration()
+
+
+
+
+
+ void hueplusplus::BridgeConfig::setRefreshDuration
+ (
+ std::chrono::steady_clock::duration
+ refreshDuration )
+
+
+
+
+
+
Sets custom refresh interval for the config.
+
Parameters
+
+ refreshDuration The new minimum duration between refreshes. May be 0 or c_refreshNever .
+
+
+
+
+
+
+
+
◆ touchLink()
+
+
+
+
+
+ void hueplusplus::BridgeConfig::touchLink
+ (
+ )
+
+
+
+
+
+
Add the closest lamp to the network.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_bridge_config__inherit__graph.map a/classhueplusplus_1_1_bridge_config__inherit__graph.map
new file mode 100644
index 0000000..630cf8f
--- /dev/null
+++ a/classhueplusplus_1_1_bridge_config__inherit__graph.map
@@ -0,0 +1,2 @@
+
+
diff --git b/classhueplusplus_1_1_bridge_config__inherit__graph.md5 a/classhueplusplus_1_1_bridge_config__inherit__graph.md5
new file mode 100644
index 0000000..e237359
--- /dev/null
+++ a/classhueplusplus_1_1_bridge_config__inherit__graph.md5
@@ -0,0 +1 @@
+838a87c4ba25940e1e281a127b3a4fb4
\ No newline at end of file
diff --git b/classhueplusplus_1_1_bridge_config__inherit__graph.png a/classhueplusplus_1_1_bridge_config__inherit__graph.png
new file mode 100644
index 0000000..e9b2702
--- /dev/null
+++ a/classhueplusplus_1_1_bridge_config__inherit__graph.png
diff --git b/classhueplusplus_1_1_bridge_finder-members.html a/classhueplusplus_1_1_bridge_finder-members.html
new file mode 100644
index 0000000..2e8a123
--- /dev/null
+++ a/classhueplusplus_1_1_bridge_finder-members.html
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::BridgeFinder , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_bridge_finder.html a/classhueplusplus_1_1_bridge_finder.html
new file mode 100644
index 0000000..dfe7746
--- /dev/null
+++ a/classhueplusplus_1_1_bridge_finder.html
@@ -0,0 +1,349 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::BridgeFinder Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <hueplusplus/Bridge.h >
+
+
+static std::string normalizeMac (std::string input)
+ Normalizes mac address to plain hex number. More...
+
+
+
+
Class to find all Hue bridges on the network and create usernames for them.
+
+
+
◆ BridgeFinder()
+
+
+
+
+
+ hueplusplus::BridgeFinder::BridgeFinder
+ (
+ std::shared_ptr< const IHttpHandler >
+ handler )
+
+
+
+
+
+
Constructor of BridgeFinder class.
+
Parameters
+
+ handler HttpHandler of type IHttpHandler for communication with the bridge
+
+
+
+
+
+
+
+
+
◆ addClientKey()
+
+
+
+
+
+ void hueplusplus::BridgeFinder::addClientKey
+ (
+ const std::string &
+ mac ,
+
+
+
+
+ const std::string &
+ clientkey
+
+
+
+ )
+
+
+
+
+
+
Function that adds a client key to the clientkeys map.
+
The client key is only needed for entertainment mode, otherwise it is optional.
Parameters
+
+ mac MAC address of Hue bridge
+ clientkey Client key that is used to control the Hue bridge in entertainment mode
+
+
+
+
+
+
+
+
◆ addUsername()
+
+
+
+
+
+ void hueplusplus::BridgeFinder::addUsername
+ (
+ const std::string &
+ mac ,
+
+
+
+
+ const std::string &
+ username
+
+
+
+ )
+
+
+
+
+
+
Function that adds a username to the usernames map.
+
Parameters
+
+ mac MAC address of Hue bridge
+ username Username that is used to control the Hue bridge
+
+
+
+
+
+
+
+
◆ findBridges()
+
+
+
+
+
Finds all bridges in the network and returns them.
+
The user should be given the opportunity to select the correct one based on the mac address.
Returns vector containing ip and mac of all found bridges
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+
+
+
+
+
+
+
+
◆ getAllUsernames()
+
+
+
+
+
+ const std::map< std::string, std::string > & hueplusplus::BridgeFinder::getAllUsernames
+ (
+ )
+ const
+
+
+
+
+
Function that returns a map of mac addresses and usernames.
+
Note these should be saved at the end and re-loaded with addUsername next time, so only one username is generated per bridge.
Returns A map mapping mac address to username for every bridge
+
+
+
+
+
◆ getBridge()
+
+
+
+
+
+ Bridge hueplusplus::BridgeFinder::getBridge
+ (
+ const BridgeIdentification &
+ identification ,
+
+
+
+
+ bool
+ sharedState = false
+
+
+
+ )
+
+
+
+
+
+
Gets a Hue bridge based on its identification.
+
Parameters
+
+ identification BridgeIdentification that specifies a bridge
+ sharedState Uses a single, shared cache for all objects on the bridge.
+
+
+
+
Returns Bridge class object
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body or username could not be requested
+ HueAPIResponseException when response contains an error
+ nlohmann::json::parse_error when response could not be parsed
+
+
+
+
+
+
+
+
◆ normalizeMac()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::BridgeFinder::normalizeMac
+ (
+ std::string
+ input )
+
+
+
+
+
+static
+
+
+
+
+
Normalizes mac address to plain hex number.
+
Returns input without separators and whitespace, in lower case.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_brightness_strategy-members.html a/classhueplusplus_1_1_brightness_strategy-members.html
new file mode 100644
index 0000000..c63300a
--- /dev/null
+++ a/classhueplusplus_1_1_brightness_strategy-members.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::BrightnessStrategy , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_brightness_strategy.html a/classhueplusplus_1_1_brightness_strategy.html
new file mode 100644
index 0000000..e6ac10d
--- /dev/null
+++ a/classhueplusplus_1_1_brightness_strategy.html
@@ -0,0 +1,275 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::BrightnessStrategy Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Virtual base class for all BrightnessStrategies.
+ More...
+
+
#include <hueplusplus/BrightnessStrategy.h >
+
+
+
+
+
+
+virtual bool setBrightness (unsigned int bri, uint8_t transition, Light &light) const =0
+ Virtual function for changing a lights brightness with a specified transition. More...
+
+virtual unsigned int getBrightness (Light &light) const =0
+ Virtual function that returns the current brightnessof the light. More...
+
+virtual unsigned int getBrightness (const Light &light) const =0
+ Virtual function that returns the current brightness of the light. More...
+
+virtual ~BrightnessStrategy ()=default
+ Virtual dtor. More...
+
+
+
+
Virtual base class for all BrightnessStrategies.
+
+
+
◆ ~BrightnessStrategy()
+
+
+
+
+
+
+
+
+ virtual hueplusplus::BrightnessStrategy::~BrightnessStrategy
+ (
+ )
+
+
+
+
+
+virtual default
+
+
+
+
+
+
+
◆ getBrightness() [1/2]
+
+
+
+
+
+
+
+
+ virtual unsigned int hueplusplus::BrightnessStrategy::getBrightness
+ (
+ Light &
+ light )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function that returns the current brightnessof the light.
+
Should update the lights state by calling refreshState()
Parameters
+
+ light A reference of the light
+
+
+
+
Returns Unsigned int representing the brightness
+
+
Implemented in hueplusplus::SimpleBrightnessStrategy .
+
+
+
+
+
◆ getBrightness() [2/2]
+
+
+
+
+
+
+
+
+ virtual unsigned int hueplusplus::BrightnessStrategy::getBrightness
+ (
+ const Light &
+ light )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function that returns the current brightness of the light.
+
Note This should not update the lights state
+
Parameters
+
+ light A const reference of the light
+
+
+
+
Returns Unsigned int representing the brightness
+
+
Implemented in hueplusplus::SimpleBrightnessStrategy .
+
+
+
+
+
◆ setBrightness()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::BrightnessStrategy::setBrightness
+ (
+ unsigned int
+ bri ,
+
+
+
+
+ uint8_t
+ transition ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function for changing a lights brightness with a specified transition.
+
Parameters
+
+ bri The brightness raning from 0 = off to 255 = fully lit
+ transition The time it takes to fade to the new brightness in multiples of 100ms, 4 = 400ms and should be seen as the default
+ light A reference of the light
+
+
+
+
+
Implemented in hueplusplus::SimpleBrightnessStrategy .
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_brightness_strategy__inherit__graph.map a/classhueplusplus_1_1_brightness_strategy__inherit__graph.map
new file mode 100644
index 0000000..eaa4d5b
--- /dev/null
+++ a/classhueplusplus_1_1_brightness_strategy__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_brightness_strategy__inherit__graph.md5 a/classhueplusplus_1_1_brightness_strategy__inherit__graph.md5
new file mode 100644
index 0000000..15c796c
--- /dev/null
+++ a/classhueplusplus_1_1_brightness_strategy__inherit__graph.md5
@@ -0,0 +1 @@
+d93ac43873f87a727510983808d31746
\ No newline at end of file
diff --git b/classhueplusplus_1_1_brightness_strategy__inherit__graph.png a/classhueplusplus_1_1_brightness_strategy__inherit__graph.png
new file mode 100644
index 0000000..bb5195b
--- /dev/null
+++ a/classhueplusplus_1_1_brightness_strategy__inherit__graph.png
diff --git b/classhueplusplus_1_1_color_hue_strategy-members.html a/classhueplusplus_1_1_color_hue_strategy-members.html
new file mode 100644
index 0000000..a4efd8d
--- /dev/null
+++ a/classhueplusplus_1_1_color_hue_strategy-members.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::ColorHueStrategy , including all inherited members.
+
+ alertHueSaturation (const HueSaturation &hueSat, Light &light) const =0hueplusplus::ColorHueStrategy pure virtual
+ alertXY (const XYBrightness &xy, Light &light) const =0hueplusplus::ColorHueStrategy pure virtual
+ getColorHueSaturation (Light &light) const =0hueplusplus::ColorHueStrategy pure virtual
+ getColorHueSaturation (const Light &light) const =0hueplusplus::ColorHueStrategy pure virtual
+ getColorXY (Light &light) const =0hueplusplus::ColorHueStrategy pure virtual
+ getColorXY (const Light &light) const =0hueplusplus::ColorHueStrategy pure virtual
+ setColorHue (uint16_t hue, uint8_t transition, Light &light) const =0hueplusplus::ColorHueStrategy pure virtual
+ setColorHueSaturation (const HueSaturation &hueSat, uint8_t transition, Light &light) const =0hueplusplus::ColorHueStrategy pure virtual
+ setColorLoop (bool on, Light &light) const =0hueplusplus::ColorHueStrategy pure virtual
+ setColorSaturation (uint8_t sat, uint8_t transition, Light &light) const =0hueplusplus::ColorHueStrategy pure virtual
+ setColorXY (const XYBrightness &xy, uint8_t transition, Light &light) const =0hueplusplus::ColorHueStrategy pure virtual
+ ~ColorHueStrategy ()=defaulthueplusplus::ColorHueStrategy virtual
+
+
+
+
+
diff --git b/classhueplusplus_1_1_color_hue_strategy.html a/classhueplusplus_1_1_color_hue_strategy.html
new file mode 100644
index 0000000..4c94016
--- /dev/null
+++ a/classhueplusplus_1_1_color_hue_strategy.html
@@ -0,0 +1,676 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::ColorHueStrategy Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Virtual base class for all ColorHueStrategies.
+ More...
+
+
#include <hueplusplus/ColorHueStrategy.h >
+
+
+
+
+
+
+virtual bool setColorHue (uint16_t hue, uint8_t transition, Light &light) const =0
+ Virtual function for changing a lights color in hue with a specified transition. More...
+
+virtual bool setColorSaturation (uint8_t sat, uint8_t transition, Light &light) const =0
+ Virtual function for changing a lights color in saturation with a specified transition. More...
+
+virtual bool setColorHueSaturation (const HueSaturation &hueSat, uint8_t transition, Light &light) const =0
+ Virtual function for changing a lights color in hue and saturation format with a specified transition. More...
+
+virtual bool setColorXY (const XYBrightness &xy, uint8_t transition, Light &light) const =0
+ Virtual function for changing a lights color in CIE format with a specified transition. More...
+
+virtual bool setColorLoop (bool on, Light &light) const =0
+ Virtual function for turning on/off the color loop feature of a light. More...
+
+virtual bool alertHueSaturation (const HueSaturation &hueSat, Light &light) const =0
+ Virtual function that lets the light perform one breath cycle in the specified color. More...
+
+virtual bool alertXY (const XYBrightness &xy, Light &light) const =0
+ Virtual function that lets the light perform one breath cycle in the specified color. More...
+
+virtual HueSaturation getColorHueSaturation (Light &light) const =0
+ Virtual function that returns the current color of the light as hue and saturation. More...
+
+virtual HueSaturation getColorHueSaturation (const Light &light) const =0
+ Virtual function that returns the current color of the light as hue and saturation. More...
+
+virtual XYBrightness getColorXY (Light &light) const =0
+ Virtual function that returns the current color of the light as xy. More...
+
+virtual XYBrightness getColorXY (const Light &light) const =0
+ Virtual function that returns the current color of the light as xy. More...
+
+virtual ~ColorHueStrategy ()=default
+ Virtual dtor. More...
+
+
+
+
Virtual base class for all ColorHueStrategies.
+
+
+
◆ ~ColorHueStrategy()
+
+
+
+
+
+
+
+
+ virtual hueplusplus::ColorHueStrategy::~ColorHueStrategy
+ (
+ )
+
+
+
+
+
+virtual default
+
+
+
+
+
+
+
◆ alertHueSaturation()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::ColorHueStrategy::alertHueSaturation
+ (
+ const HueSaturation &
+ hueSat ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
+
◆ alertXY()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::ColorHueStrategy::alertXY
+ (
+ const XYBrightness &
+ xy ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
+
◆ getColorHueSaturation() [1/2]
+
+
+
+
+
+
+
+
+ virtual HueSaturation hueplusplus::ColorHueStrategy::getColorHueSaturation
+ (
+ Light &
+ light )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function that returns the current color of the light as hue and saturation.
+
Should update the lights state by calling refreshState()
Parameters
+
+ light A reference of the light
+
+
+
+
+
Implemented in hueplusplus::SimpleColorHueStrategy .
+
+
+
+
+
◆ getColorHueSaturation() [2/2]
+
+
+
+
+
+
+
+
+ virtual HueSaturation hueplusplus::ColorHueStrategy::getColorHueSaturation
+ (
+ const Light &
+ light )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function that returns the current color of the light as hue and saturation.
+
Note This should not update the lights state
+
Parameters
+
+ light A const reference of the light
+
+
+
+
+
Implemented in hueplusplus::SimpleColorHueStrategy .
+
+
+
+
+
◆ getColorXY() [1/2]
+
+
+
+
+
+
+
+
+ virtual XYBrightness hueplusplus::ColorHueStrategy::getColorXY
+ (
+ Light &
+ light )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function that returns the current color of the light as xy.
+
Should update the lights state by calling refreshState()
Parameters
+
+ light A reference of the light
+
+
+
+
Returns XY and brightness of current color
+
+
Implemented in hueplusplus::SimpleColorHueStrategy .
+
+
+
+
+
◆ getColorXY() [2/2]
+
+
+
+
+
+
+
+
+ virtual XYBrightness hueplusplus::ColorHueStrategy::getColorXY
+ (
+ const Light &
+ light )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function that returns the current color of the light as xy.
+
Note This should not update the lights state
+
Parameters
+
+ light A const reference of the light
+
+
+
+
Returns XY and brightness of current color
+
+
Implemented in hueplusplus::SimpleColorHueStrategy .
+
+
+
+
+
◆ setColorHue()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::ColorHueStrategy::setColorHue
+ (
+ uint16_t
+ hue ,
+
+
+
+
+ uint8_t
+ transition ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function for changing a lights color in hue with a specified transition.
+
The hue ranges from 0 to 65535, whereas 65535 and 0 are red, 25500 is green and 46920 is blue.
Parameters
+
+ hue The hue of the color
+ transition The time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
+ light A reference of the light
+
+
+
+
+
Implemented in hueplusplus::SimpleColorHueStrategy .
+
+
+
+
+
◆ setColorHueSaturation()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::ColorHueStrategy::setColorHueSaturation
+ (
+ const HueSaturation &
+ hueSat ,
+
+
+
+
+ uint8_t
+ transition ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function for changing a lights color in hue and saturation format with a specified transition.
+
Parameters
+
+ hueSat Color in hue and satuation.
+ transition The time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
+ light A reference of the light
+
+
+
+
+
Implemented in hueplusplus::SimpleColorHueStrategy .
+
+
+
+
+
◆ setColorLoop()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::ColorHueStrategy::setColorLoop
+ (
+ bool
+ on ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function for turning on/off the color loop feature of a light.
+
Can be theoretically set for any light, but it only works for lights that support this feature. When this feature is activated the light will fade through every color on the current hue and saturation settings. Notice that none of the setter functions check whether this feature is enabled and the colorloop can only be disabled with this function or by simply calling off() and then on(), so you could alternatively call off() and then use any of the setter functions.
Parameters
+
+ on Boolean to turn this feature on or off, true/1 for on and false/0 for off
+ light A reference of the light
+
+
+
+
+
Implemented in hueplusplus::SimpleColorHueStrategy .
+
+
+
+
+
◆ setColorSaturation()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::ColorHueStrategy::setColorSaturation
+ (
+ uint8_t
+ sat ,
+
+
+
+
+ uint8_t
+ transition ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function for changing a lights color in saturation with a specified transition.
+
The saturation ranges from 0 to 254, whereas 0 is least saturated (white) and 254 is most saturated (vibrant).
Parameters
+
+ sat The saturation of the color
+ transition The time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
+ light A reference of the light
+
+
+
+
+
Implemented in hueplusplus::SimpleColorHueStrategy .
+
+
+
+
+
◆ setColorXY()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::ColorHueStrategy::setColorXY
+ (
+ const XYBrightness &
+ xy ,
+
+
+
+
+ uint8_t
+ transition ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function for changing a lights color in CIE format with a specified transition.
+
Parameters
+
+ xy The color in XY and brightness
+ transition The time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
+ light A reference of the light
+
+
+
+
+
Implemented in hueplusplus::SimpleColorHueStrategy .
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_color_hue_strategy__inherit__graph.map a/classhueplusplus_1_1_color_hue_strategy__inherit__graph.map
new file mode 100644
index 0000000..7202cde
--- /dev/null
+++ a/classhueplusplus_1_1_color_hue_strategy__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_color_hue_strategy__inherit__graph.md5 a/classhueplusplus_1_1_color_hue_strategy__inherit__graph.md5
new file mode 100644
index 0000000..0c0c447
--- /dev/null
+++ a/classhueplusplus_1_1_color_hue_strategy__inherit__graph.md5
@@ -0,0 +1 @@
+b65994b3ba4e6e468aa6fc68a3159467
\ No newline at end of file
diff --git b/classhueplusplus_1_1_color_hue_strategy__inherit__graph.png a/classhueplusplus_1_1_color_hue_strategy__inherit__graph.png
new file mode 100644
index 0000000..e329a1d
--- /dev/null
+++ a/classhueplusplus_1_1_color_hue_strategy__inherit__graph.png
diff --git b/classhueplusplus_1_1_color_temperature_strategy-members.html a/classhueplusplus_1_1_color_temperature_strategy-members.html
new file mode 100644
index 0000000..7e30935
--- /dev/null
+++ a/classhueplusplus_1_1_color_temperature_strategy-members.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::ColorTemperatureStrategy , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_color_temperature_strategy.html a/classhueplusplus_1_1_color_temperature_strategy.html
new file mode 100644
index 0000000..2dc1e14
--- /dev/null
+++ a/classhueplusplus_1_1_color_temperature_strategy.html
@@ -0,0 +1,326 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::ColorTemperatureStrategy Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Virtual base class for all ColorTemperatureStrategies.
+ More...
+
+
#include <hueplusplus/ColorTemperatureStrategy.h >
+
+
+
+
+
+
+
Virtual base class for all ColorTemperatureStrategies.
+
+
+
◆ ~ColorTemperatureStrategy()
+
+
+
+
+
+
+
+
+ virtual hueplusplus::ColorTemperatureStrategy::~ColorTemperatureStrategy
+ (
+ )
+
+
+
+
+
+virtual default
+
+
+
+
+
+
+
◆ alertTemperature()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::ColorTemperatureStrategy::alertTemperature
+ (
+ unsigned int
+ mired ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
+
◆ getColorTemperature() [1/2]
+
+
+
+
+
+
+
+
+ virtual unsigned int hueplusplus::ColorTemperatureStrategy::getColorTemperature
+ (
+ Light &
+ light )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function that returns the current color temperature of the light.
+
Should update the lights state by calling refreshState() The color temperature in mired ranges from 153 to 500 whereas 153 is cold and 500 is warm.
Parameters
+
+ light A reference of the light
+
+
+
+
Returns Unsigned int representing the color temperature in mired
+
+
Implemented in hueplusplus::SimpleColorTemperatureStrategy .
+
+
+
+
+
◆ getColorTemperature() [2/2]
+
+
+
+
+
+
+
+
+ virtual unsigned int hueplusplus::ColorTemperatureStrategy::getColorTemperature
+ (
+ const Light &
+ light )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function that returns the current color temperature of the light.
+
The color temperature in mired ranges from 153 to 500 whereas 153 is cold and 500 is warm.
Note This should not update the lights state
+
Parameters
+
+ light A const reference of the light
+
+
+
+
Returns Unsigned int representing the color temperature in mired
+
+
Implemented in hueplusplus::SimpleColorTemperatureStrategy .
+
+
+
+
+
◆ setColorTemperature()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::ColorTemperatureStrategy::setColorTemperature
+ (
+ unsigned int
+ mired ,
+
+
+
+
+ uint8_t
+ transition ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Virtual function for changing a lights color temperature in mired with a specified transition.
+
The color temperature in mired ranges from 153 to 500 whereas 153 is cold and 500 is warm.
Parameters
+
+ mired The color temperature in mired
+ transition The time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
+ light A reference of the light
+
+
+
+
+
Implemented in hueplusplus::SimpleColorTemperatureStrategy .
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_color_temperature_strategy__inherit__graph.map a/classhueplusplus_1_1_color_temperature_strategy__inherit__graph.map
new file mode 100644
index 0000000..d078d89
--- /dev/null
+++ a/classhueplusplus_1_1_color_temperature_strategy__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_color_temperature_strategy__inherit__graph.md5 a/classhueplusplus_1_1_color_temperature_strategy__inherit__graph.md5
new file mode 100644
index 0000000..7f2e331
--- /dev/null
+++ a/classhueplusplus_1_1_color_temperature_strategy__inherit__graph.md5
@@ -0,0 +1 @@
+dd193c21ec7421d6b53c6699c77fdb6b
\ No newline at end of file
diff --git b/classhueplusplus_1_1_color_temperature_strategy__inherit__graph.png a/classhueplusplus_1_1_color_temperature_strategy__inherit__graph.png
new file mode 100644
index 0000000..2e9a1a5
--- /dev/null
+++ a/classhueplusplus_1_1_color_temperature_strategy__inherit__graph.png
diff --git b/classhueplusplus_1_1_condition-members.html a/classhueplusplus_1_1_condition-members.html
new file mode 100644
index 0000000..39a696e
--- /dev/null
+++ a/classhueplusplus_1_1_condition-members.html
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::Condition , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_condition.html a/classhueplusplus_1_1_condition.html
new file mode 100644
index 0000000..3b26636
--- /dev/null
+++ a/classhueplusplus_1_1_condition.html
@@ -0,0 +1,349 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::Condition Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Condition for a Rule .
+ More...
+
+
#include <hueplusplus/Condition.h >
+
+
+
Condition for a Rule .
+
The condition checks whether a resource attribute (usually a Sensor value) matches the specified Operator.
+
Conditions from sensors can be created more easily using the makeCondition() helper functions.
+
+
+
◆ Operator
+
+
+
+
+
Specifies which operation is used to check the condition.
+
+Enumerator eq Attribute is equal to specified value (for bool and int)
+
+ gt Attribute is greater than specified value (for int)
+
+ lt Attribute is less than specified value (for int)
+
+ dx Attribute has changed (no value given)
+
+ ddx Delayed attribute has changed (no value given)
+
+ stable Stable for a given time. Does not trigger a rule change.
+
+ notStable Not stable for a given time. Does not trigger a rule change.
+
+ in Time is in the given interval (triggered on start time, local time)
+
+ notIn Time is not in the interval (triggered on end time, local time)
+
+
+
+
+
+
+
+
◆ Condition()
+
+
+
+
+
+ hueplusplus::Condition::Condition
+ (
+ const std::string &
+ address ,
+
+
+
+
+ Operator
+ op ,
+
+
+
+
+ const std::string &
+ value
+
+
+
+ )
+
+
+
+
+
+
Create a condition from any address on the bridge.
+
Parameters
+
+ address Path to an attribute of the bridge
+ op Operator used for comparison.
+ value String representation of the value to check against. Empty for some operators.
+
+
+
+
+
+
+
+
+
◆ getAddress()
+
+
+
+
+
+ std::string hueplusplus::Condition::getAddress
+ (
+ )
+ const
+
+
+
+
+
Get address on the bridge.
+
+
+
+
+
◆ getOperator()
+
+
+
+
+
Get used operator.
+
+
+
+
+
◆ getValue()
+
+
+
+
+
+ std::string hueplusplus::Condition::getValue
+ (
+ )
+ const
+
+
+
+
+
Get value the attribute is checked against.
+
+
+
+
+
◆ parse()
+
+
+
+
+
+
+
+
+ Condition hueplusplus::Condition::parse
+ (
+ const nlohmann::json &
+ json )
+
+
+
+
+
+static
+
+
+
+
+
Parse condition from json value.
+
Parameters
+
+ json Json object with address, operator and value
+
+
+
+
Returns The parsed condition with the same values
+
Exceptions
+
+
+
+
+
+
+
+
◆ toJson()
+
+
+
+
+
+ nlohmann::json hueplusplus::Condition::toJson
+ (
+ )
+ const
+
+
+
+
+
Create the json form of the condition.
+
Returns A json object with address, operator and value
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_config-members.html a/classhueplusplus_1_1_config-members.html
new file mode 100644
index 0000000..1352fd4
--- /dev/null
+++ a/classhueplusplus_1_1_config-members.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::Config , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_config.html a/classhueplusplus_1_1_config.html
new file mode 100644
index 0000000..743c4fd
--- /dev/null
+++ a/classhueplusplus_1_1_config.html
@@ -0,0 +1,492 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::Config Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Configurable delays.
+ More...
+
+
#include <hueplusplus/LibConfig.h >
+
+
+
Configurable delays.
+
Used to set all delays to zero when running tests.
+
+
+
◆ Config()
+
+
+
+
+
+
+
+
+ hueplusplus::Config::Config
+ (
+ )
+
+
+
+
+
+protected default
+
+
+
+
+
+
+
+
+
◆ getBridgeRequestDelay()
+
+
+
+
+
+
+
+
+ duration hueplusplus::Config::getBridgeRequestDelay
+ (
+ )
+ const
+
+
+
+
+inline
+
+
+
+
+
Delay between bridge requests.
+
+
+
+
+
◆ getPostAlertDelay()
+
+
+
+
+
+
+
+
+ duration hueplusplus::Config::getPostAlertDelay
+ (
+ )
+ const
+
+
+
+
+inline
+
+
+
+
+
Delay for advanced alerts after the actual alert.
+
+
+
+
+
◆ getPreAlertDelay()
+
+
+
+
+
+
+
+
+ duration hueplusplus::Config::getPreAlertDelay
+ (
+ )
+ const
+
+
+
+
+inline
+
+
+
+
+
Delay for advanced alerts before the actual alert.
+
+
+
+
+
◆ getRequestUsernameAttemptInterval()
+
+
+
+
+
+
+
+
+ duration hueplusplus::Config::getRequestUsernameAttemptInterval
+ (
+ )
+ const
+
+
+
+
+inline
+
+
+
+
+
Interval in which username requests are attempted.
+
+
+
+
+
◆ getRequestUsernameTimeout()
+
+
+
+
+
+
+
+
+ duration hueplusplus::Config::getRequestUsernameTimeout
+ (
+ )
+ const
+
+
+
+
+inline
+
+
+
+
+
+
◆ getUPnPTimeout()
+
+
+
+
+
+
+
+
+ duration hueplusplus::Config::getUPnPTimeout
+ (
+ )
+ const
+
+
+
+
+inline
+
+
+
+
+
Timeout for UPnP multicast request.
+
+
+
+
+
◆ instance()
+
+
+
+
+
+
+
+
+ static Config & hueplusplus::Config::instance
+ (
+ )
+
+
+
+
+
+inline static
+
+
+
+
+
Get config instance.
+
+
+
+
+
+
◆ bridgeRequestDelay
+
+
+
+
+
+
+
+
+ duration hueplusplus::Config::bridgeRequestDelay = std::chrono::milliseconds(100)
+
+
+
+
+protected
+
+
+
+
+
+
+
+
◆ postAlertDelay
+
+
+
+
+
+
+
+
+ duration hueplusplus::Config::postAlertDelay = std::chrono::milliseconds(1600)
+
+
+
+
+protected
+
+
+
+
+
+
+
+
◆ preAlertDelay
+
+
+
+
+
+
+
+
+ duration hueplusplus::Config::preAlertDelay = std::chrono::milliseconds(120)
+
+
+
+
+protected
+
+
+
+
+
+
+
+
◆ requestUsernameAttemptInterval
+
+
+
+
+
+
+
+
+ duration hueplusplus::Config::requestUsernameAttemptInterval = std::chrono::seconds(1)
+
+
+
+
+protected
+
+
+
+
+
+
+
+
◆ requestUsernameDelay
+
+
+
+
+
+
+
+
+ duration hueplusplus::Config::requestUsernameDelay = std::chrono::seconds(35)
+
+
+
+
+protected
+
+
+
+
+
+
+
+
◆ upnpTimeout
+
+
+
+
+
+
+
+
+ duration hueplusplus::Config::upnpTimeout = std::chrono::seconds(5)
+
+
+
+
+protected
+
+
+
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_create_group-members.html a/classhueplusplus_1_1_create_group-members.html
new file mode 100644
index 0000000..c41f381
--- /dev/null
+++ a/classhueplusplus_1_1_create_group-members.html
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::CreateGroup , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_create_group.html a/classhueplusplus_1_1_create_group.html
new file mode 100644
index 0000000..43a624a
--- /dev/null
+++ a/classhueplusplus_1_1_create_group.html
@@ -0,0 +1,391 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::CreateGroup Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Parameters necessary for creating a new Group .
+ More...
+
+
#include <hueplusplus/Group.h >
+
+
+static CreateGroup LightGroup (const std::vector< int > &lights, const std::string &name="")
+ Create a LightGroup. More...
+
+static CreateGroup Room (const std::vector< int > &lights, const std::string &name="", const std::string &roomType="")
+ Create a Room group. More...
+
+static CreateGroup Entertainment (const std::vector< int > &lights, const std::string &name="")
+ Create an Entertainment group. More...
+
+static CreateGroup Zone (const std::vector< int > &lights, const std::string &name="")
+ Create a Zone. More...
+
+
+
+ CreateGroup (const std::vector< int > &lights, const std::string &name, const std::string &type, const std::string &roomType)
+ Protected constructor, should not be called directly. More...
+
+
+
+
Parameters necessary for creating a new Group .
+
Provides static functions for each group type that can be created by the user.
Note These are not all types that Group::getType() can return, because some types cannot be created manually.
+
+
+
◆ CreateGroup()
+
+
+
+
+
+
+
+
+ hueplusplus::CreateGroup::CreateGroup
+ (
+ const std::vector< int > &
+ lights ,
+
+
+
+
+ const std::string &
+ name ,
+
+
+
+
+ const std::string &
+ type ,
+
+
+
+
+ const std::string &
+ roomType
+
+
+
+ )
+
+
+
+
+
+protected
+
+
+
+
+
Protected constructor, should not be called directly.
+
Parameters
+
+ lights List of light ids for the group.
+ name Name of the group, empty for default name.
+ type Type of the group, empty for default type.
+ roomType Room class if type is room, empty for default class or if type is not room.
+
+
+
+
+
+
+
+
+
◆ Entertainment()
+
+
+
+
+
+
+
+
+ CreateGroup hueplusplus::CreateGroup::Entertainment
+ (
+ const std::vector< int > &
+ lights ,
+
+
+
+
+ const std::string &
+ name = ""
+
+
+
+ )
+
+
+
+
+
+static
+
+
+
+
+
Create an Entertainment group.
+
The lights are used in an entertainment setup and can have relative positions. The group can be empty.
Parameters
+
+ lights List of light ids, may be empty.
+ name Name of the group, optional.
+
+
+
+
+
+
+
+
◆ getRequest()
+
+
+
+
+
+ nlohmann::json hueplusplus::CreateGroup::getRequest
+ (
+ )
+ const
+
+
+
+
+
Get request to create the group.
+
Returns JSON request for a POST to create the new group
+
+
+
+
+
◆ LightGroup()
+
+
+
+
+
+
+
+
+ CreateGroup hueplusplus::CreateGroup::LightGroup
+ (
+ const std::vector< int > &
+ lights ,
+
+
+
+
+ const std::string &
+ name = ""
+
+
+
+ )
+
+
+
+
+
+static
+
+
+
+
+
Create a LightGroup.
+
LightGroup is the default type for groups. Empty LightGroups will be deleted.
Parameters
+
+ lights List of light ids, must not be empty.
+ name Name of the new group, optional.
+
+
+
+
+
+
+
+
◆ Room()
+
+
+
+
+
+
+
+
+ CreateGroup hueplusplus::CreateGroup::Room
+ (
+ const std::vector< int > &
+ lights ,
+
+
+
+
+ const std::string &
+ name = "",
+
+
+
+
+ const std::string &
+ roomType = ""
+
+
+
+ )
+
+
+
+
+
+static
+
+
+
+
+
Create a Room group.
+
Rooms can have a room class and can be empty. Every light can only be in one room.
Parameters
+
+ lights List of light ids, may be empty.
+ name Name of the room, optional.
+ roomType Class of the room (case sensitive), optional. Refer to Hue developer documentation for a list of possible room classes.
+
+
+
+
+
+
+
+
◆ Zone()
+
+
+
+
+
+
+
+
+ CreateGroup hueplusplus::CreateGroup::Zone
+ (
+ const std::vector< int > &
+ lights ,
+
+
+
+
+ const std::string &
+ name = ""
+
+
+
+ )
+
+
+
+
+
+static
+
+
+
+
+
Create a Zone.
+
Zones can be empty, a light can be in multiple zones.
Parameters
+
+ lights List of light ids, may be empty.
+ name Name of the Zone, optional.
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_create_rule-members.html a/classhueplusplus_1_1_create_rule-members.html
new file mode 100644
index 0000000..baab577
--- /dev/null
+++ a/classhueplusplus_1_1_create_rule-members.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::CreateRule , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_create_rule.html a/classhueplusplus_1_1_create_rule.html
new file mode 100644
index 0000000..e1cff74
--- /dev/null
+++ a/classhueplusplus_1_1_create_rule.html
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::CreateRule Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Parameters for creating a new Rule .
+ More...
+
+
#include <hueplusplus/Rule.h >
+
+
+
Parameters for creating a new Rule .
+
Can be used like a builder object with chained calls.
+
+
+
◆ CreateRule()
+
+
+
+
+
+ hueplusplus::CreateRule::CreateRule
+ (
+ const std::vector< Condition > &
+ conditions ,
+
+
+
+
+ const std::vector< Action > &
+ actions
+
+
+
+ )
+
+
+
+
+
+
Construct with necessary parameters.
+
Parameters
+
+ conditions Conditions for the rule. Must not be empty
+ actions Actions for the rule. Must not be empty
+
+
+
+
+
+
+
+
+
◆ getRequest()
+
+
+
+
+
+ nlohmann::json hueplusplus::CreateRule::getRequest
+ (
+ )
+ const
+
+
+
+
+
Get request to create the rule.
+
Returns JSON request for a POST to create the new rule.
+
+
+
+
+
◆ setName()
+
+
+
+
+
+ CreateRule & hueplusplus::CreateRule::setName
+ (
+ const std::string &
+ name )
+
+
+
+
+
+
+
◆ setStatus()
+
+
+
+
+
+ CreateRule & hueplusplus::CreateRule::setStatus
+ (
+ bool
+ enabled )
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_create_scene-members.html a/classhueplusplus_1_1_create_scene-members.html
new file mode 100644
index 0000000..c8c4b17
--- /dev/null
+++ a/classhueplusplus_1_1_create_scene-members.html
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::CreateScene , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_create_scene.html a/classhueplusplus_1_1_create_scene.html
new file mode 100644
index 0000000..a7b7fdc
--- /dev/null
+++ a/classhueplusplus_1_1_create_scene.html
@@ -0,0 +1,297 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::CreateScene Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Parameters for creating a new Scene .
+ More...
+
+
#include <hueplusplus/Scene.h >
+
+
+
Parameters for creating a new Scene .
+
Can be used like a builder object with chained calls.
+
+
+
◆ getRequest()
+
+
+
+
+
+ nlohmann::json hueplusplus::CreateScene::getRequest
+ (
+ )
+ const
+
+
+
+
+
Get request to create the scene.
+
Returns JSON request for a POST to create the new scene
+
+
+
+
+
◆ setAppdata()
+
+
+
+
+
+ CreateScene & hueplusplus::CreateScene::setAppdata
+ (
+ const std::string &
+ data ,
+
+
+
+
+ int
+ version
+
+
+
+ )
+
+
+
+
+
+
+
◆ setGroupId()
+
+
+
+
+
+ CreateScene & hueplusplus::CreateScene::setGroupId
+ (
+ int
+ id )
+
+
+
+
+
+
Set group id, making the scene a GroupScene.
+
Parameters
+
+ id Group id for the scene, not 0
+
+
+
+
The group id cannot be changed after the scene was created.
Exceptions
+
+
+
+
+
+
+
+
◆ setLightIds()
+
+
+
+
+
+ CreateScene & hueplusplus::CreateScene::setLightIds
+ (
+ const std::vector< int > &
+ ids )
+
+
+
+
+
+
Set light ids, making the scene a LightScene.
+
Parameters
+
+ ids Ids of lights in the scene
+
+
+
+
Exceptions
+
+
+
+
+
+
+
+
◆ setLightStates()
+
+
+
+
+
+ CreateScene & hueplusplus::CreateScene::setLightStates
+ (
+ const std::map< int, LightState > &
+ states )
+
+
+
+
+
+
Set light states of the scene.
+
When omitted, the current light states are stored.
See also Scene::setLightStates
+
+
+
+
+
◆ setName()
+
+
+
+
+
+ CreateScene & hueplusplus::CreateScene::setName
+ (
+ const std::string &
+ name )
+
+
+
+
+
+
+
◆ setRecycle()
+
+
+
+
+
+ CreateScene & hueplusplus::CreateScene::setRecycle
+ (
+ bool
+ recycle )
+
+
+
+
+
+
Set whether the scene can be automatically deleted.
+
Cannot be changed after the scene was created.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_create_schedule-members.html a/classhueplusplus_1_1_create_schedule-members.html
new file mode 100644
index 0000000..6174402
--- /dev/null
+++ a/classhueplusplus_1_1_create_schedule-members.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::CreateSchedule , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_create_schedule.html a/classhueplusplus_1_1_create_schedule.html
new file mode 100644
index 0000000..a441d14
--- /dev/null
+++ a/classhueplusplus_1_1_create_schedule.html
@@ -0,0 +1,289 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::CreateSchedule Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Parameters for creating a new Schedule .
+ More...
+
+
#include <hueplusplus/Schedule.h >
+
+
+
Parameters for creating a new Schedule .
+
Can be used like a builder object with chained calls.
+
+
+
◆ getRequest()
+
+
+
+
+
+ nlohmann::json hueplusplus::CreateSchedule::getRequest
+ (
+ )
+ const
+
+
+
+
+
Get request to create the schedule.
+
Returns JSON request for a POST to create the new schedule
+
+
+
+
+
◆ setAutodelete()
+
+
+
+
+
+ CreateSchedule & hueplusplus::CreateSchedule::setAutodelete
+ (
+ bool
+ autodelete )
+
+
+
+
+
+
+
◆ setCommand()
+
+
+
+
◆ setDescription()
+
+
+
+
+
+ CreateSchedule & hueplusplus::CreateSchedule::setDescription
+ (
+ const std::string &
+ description )
+
+
+
+
+
+
+
◆ setName()
+
+
+
+
+
+ CreateSchedule & hueplusplus::CreateSchedule::setName
+ (
+ const std::string &
+ name )
+
+
+
+
+
+
+
◆ setRecycle()
+
+
+
+
+
+ CreateSchedule & hueplusplus::CreateSchedule::setRecycle
+ (
+ bool
+ recycle )
+
+
+
+
+
+
Set recycle.
+
When recycle is true, it is deleted when no resourcelinks refer to it.
+
+
+
+
+
◆ setStatus()
+
+
+
+
+
+ CreateSchedule & hueplusplus::CreateSchedule::setStatus
+ (
+ bool
+ enabled )
+
+
+
+
+
+
+
◆ setTime()
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_create_sensor-members.html a/classhueplusplus_1_1_create_sensor-members.html
new file mode 100644
index 0000000..b69d99f
--- /dev/null
+++ a/classhueplusplus_1_1_create_sensor-members.html
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::CreateSensor , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_create_sensor.html a/classhueplusplus_1_1_create_sensor.html
new file mode 100644
index 0000000..81db319
--- /dev/null
+++ a/classhueplusplus_1_1_create_sensor.html
@@ -0,0 +1,303 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::CreateSensor Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Parameters for creating a new Sensor .
+ More...
+
+
#include <hueplusplus/Sensor.h >
+
+
+ CreateSensor (const std::string &name, const std::string &modelid, const std::string &swversion, const std::string &type, const std::string &uniqueid, const std::string &manufacturername)
+ Construct with necessary parameters. More...
+
+CreateSensor & setState (const nlohmann::json &state)
+ Set state object. More...
+
+CreateSensor & setConfig (const nlohmann::json &config)
+ Set config object. More...
+
+CreateSensor & setRecycle (bool recycle)
+ Enable recycling, delete automatically when not referenced. More...
+
+nlohmann::json getRequest () const
+ Get request to create the sensor. More...
+
+
+
+
Parameters for creating a new Sensor .
+
Can be used like a builder object with chained calls.
+
+
+
◆ CreateSensor()
+
+
+
+
+
+ hueplusplus::CreateSensor::CreateSensor
+ (
+ const std::string &
+ name ,
+
+
+
+
+ const std::string &
+ modelid ,
+
+
+
+
+ const std::string &
+ swversion ,
+
+
+
+
+ const std::string &
+ type ,
+
+
+
+
+ const std::string &
+ uniqueid ,
+
+
+
+
+ const std::string &
+ manufacturername
+
+
+
+ )
+
+
+
+
+
+
Construct with necessary parameters.
+
Parameters
+
+ name Human readable name
+ modelid Model id of the sensor
+ swversion Software version, may be empty
+ type Sensor type name (see types in Sensors )
+ uniqueid Globally unique ID (MAC address of the device, extended with a unique endpoint id)
+ manufacturername Name of the device manufacturer
+
+
+
+
+
+
+
+
+
◆ getRequest()
+
+
+
+
+
+ nlohmann::json hueplusplus::CreateSensor::getRequest
+ (
+ )
+ const
+
+
+
+
+
Get request to create the sensor.
+
Returns JSON request for a POST to create the new sensor
+
+
+
+
+
◆ setConfig()
+
+
+
+
+
+ CreateSensor & hueplusplus::CreateSensor::setConfig
+ (
+ const nlohmann::json &
+ config )
+
+
+
+
+
+
Set config object.
+
Parameters
+
+ config Sensor config, configs depend on the type. See getters in Sensor for examples.
+
+
+
+
Returns this object for chaining calls
+
+
+
+
+
◆ setRecycle()
+
+
+
+
+
+ CreateSensor & hueplusplus::CreateSensor::setRecycle
+ (
+ bool
+ recycle )
+
+
+
+
+
+
Enable recycling, delete automatically when not referenced.
+
Returns this object for chaining calls
+
+
+
+
+
◆ setState()
+
+
+
+
+
+ CreateSensor & hueplusplus::CreateSensor::setState
+ (
+ const nlohmann::json &
+ state )
+
+
+
+
+
+
Set state object.
+
Parameters
+
+ state Sensor state, contents depend on the type.
+
+
+
+
Returns this object for chaining calls
+
+
+
+
+
+
◆ request
+
+
+
+
+
+
+
+
+ nlohmann::json hueplusplus::CreateSensor::request
+
+
+
+
+protected
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_createable_resource_list-members.html a/classhueplusplus_1_1_createable_resource_list-members.html
new file mode 100644
index 0000000..0341dd5
--- /dev/null
+++ a/classhueplusplus_1_1_createable_resource_list-members.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::CreateableResourceList< BaseResourceList, CreateType > , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_createable_resource_list.html a/classhueplusplus_1_1_createable_resource_list.html
new file mode 100644
index 0000000..dc86792
--- /dev/null
+++ a/classhueplusplus_1_1_createable_resource_list.html
@@ -0,0 +1,245 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::CreateableResourceList< BaseResourceList, CreateType > Class Template Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Handles a ResourceList where Resources can be added by the user.
+ More...
+
+
#include <hueplusplus/ResourceList.h >
+
+
+
+
+
+
+
+
+
+
+BaseResourceList::IdType create (const CreateType ¶ms)
+ Create a new resource. More...
+
+
+
+
template<typename BaseResourceList, typename CreateType>
+class hueplusplus::CreateableResourceList< BaseResourceList, CreateType >
+
+
Handles a ResourceList where Resources can be added by the user.
+
Template Parameters
+
+ BaseResourceList Base resource list type (ResourceList or SearchableResourceList ).
+ CreateType Type that provides parameters for creation. Must have a const getRequest() function returning the JSON for the POST request.
+
+
+
+
+
+
◆ CreateableResourceList()
+
+
+
+
+template<typename BaseResourceList, typename CreateType>
+
+
+
+
+
+
+protected default
+
+
+
+
+
Protected defaulted move constructor.
+
+
+
+
+
+
◆ create()
+
+
+
+
+template<typename BaseResourceList, typename CreateType>
+
+
+
+
Create a new resource.
+
Parameters
+
+ params Parameters for the new resource
+
+
+
+
Returns The id of the created resource or 0/an empty string if failed.
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contains no body
+ HueAPIResponseException when response contains an error
+ nlohmann::json::parse_error when response could not be parsed
+ std::invalid_argument when IdType is int and std::stoi fails
+
+
+
+
+
+
+
+
◆ operator=()
+
+
+
+
+template<typename BaseResourceList, typename CreateType>
+
+
+
+
+
+
+protected default
+
+
+
+
+
Protected defaulted move assignment.
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_createable_resource_list__coll__graph.map a/classhueplusplus_1_1_createable_resource_list__coll__graph.map
new file mode 100644
index 0000000..f837a12
--- /dev/null
+++ a/classhueplusplus_1_1_createable_resource_list__coll__graph.map
@@ -0,0 +1,2 @@
+
+
diff --git b/classhueplusplus_1_1_createable_resource_list__coll__graph.md5 a/classhueplusplus_1_1_createable_resource_list__coll__graph.md5
new file mode 100644
index 0000000..5cdc002
--- /dev/null
+++ a/classhueplusplus_1_1_createable_resource_list__coll__graph.md5
@@ -0,0 +1 @@
+7f095055b1031bf81f3160eae6ab2810
\ No newline at end of file
diff --git b/classhueplusplus_1_1_createable_resource_list__coll__graph.png a/classhueplusplus_1_1_createable_resource_list__coll__graph.png
new file mode 100644
index 0000000..4b7770c
--- /dev/null
+++ a/classhueplusplus_1_1_createable_resource_list__coll__graph.png
diff --git b/classhueplusplus_1_1_createable_resource_list__inherit__graph.map a/classhueplusplus_1_1_createable_resource_list__inherit__graph.map
new file mode 100644
index 0000000..f837a12
--- /dev/null
+++ a/classhueplusplus_1_1_createable_resource_list__inherit__graph.map
@@ -0,0 +1,2 @@
+
+
diff --git b/classhueplusplus_1_1_createable_resource_list__inherit__graph.md5 a/classhueplusplus_1_1_createable_resource_list__inherit__graph.md5
new file mode 100644
index 0000000..1972c53
--- /dev/null
+++ a/classhueplusplus_1_1_createable_resource_list__inherit__graph.md5
@@ -0,0 +1 @@
+db0d01677dd5dad0321d6c0f6170eb77
\ No newline at end of file
diff --git b/classhueplusplus_1_1_createable_resource_list__inherit__graph.png a/classhueplusplus_1_1_createable_resource_list__inherit__graph.png
new file mode 100644
index 0000000..a2c93d7
--- /dev/null
+++ a/classhueplusplus_1_1_createable_resource_list__inherit__graph.png
diff --git b/classhueplusplus_1_1_entertainment_mode-members.html a/classhueplusplus_1_1_entertainment_mode-members.html
new file mode 100644
index 0000000..e2cd557
--- /dev/null
+++ a/classhueplusplus_1_1_entertainment_mode-members.html
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::EntertainmentMode , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_entertainment_mode.html a/classhueplusplus_1_1_entertainment_mode.html
new file mode 100644
index 0000000..7064a76
--- /dev/null
+++ a/classhueplusplus_1_1_entertainment_mode.html
@@ -0,0 +1,446 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::EntertainmentMode Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Class for Hue Entertainment Mode.
+ More...
+
+
#include <hueplusplus/EntertainmentMode.h >
+
+
+
+
+
+
+
Class for Hue Entertainment Mode.
+
Provides methods to initialize and control Entertainment groups.
+
+
+
◆ EntertainmentMode()
+
+
+
+
+
+ hueplusplus::EntertainmentMode::EntertainmentMode
+ (
+ Bridge &
+ b ,
+
+
+
+
+ Group &
+ g
+
+
+
+ )
+
+
+
+
+
+
Constructor.
+
Parameters
+
+ b Bridge reference
+ g Group to control in entertainment mode reference
+
+
+
+
Note References are held to both b and g. They must stay valid until EntertainmentMode ist destroyed.
+
+
+
+
+
◆ ~EntertainmentMode()
+
+
+
+
+
+ hueplusplus::EntertainmentMode::~EntertainmentMode
+ (
+ )
+
+
+
+
+
+
Destroy the Entertainment Mode object.
+
+
+
+
+
+
◆ connect()
+
+
+
+
+
+ bool hueplusplus::EntertainmentMode::connect
+ (
+ )
+
+
+
+
+
+
Connect and start streaming.
+
Returns true If conected and ready to receive commands
+
+false If an error occured
+
+
+
+
+
◆ disconnect()
+
+
+
+
+
+ bool hueplusplus::EntertainmentMode::disconnect
+ (
+ )
+
+
+
+
+
+
Disconnect and stop streaming.
+
Returns true If disconnected successfully
+
+false If an error occurred
+
+
+
+
+
◆ setColorRGB()
+
+
+
+
+
+ bool hueplusplus::EntertainmentMode::setColorRGB
+ (
+ uint8_t
+ light_index ,
+
+
+
+
+ uint8_t
+ red ,
+
+
+
+
+ uint8_t
+ green ,
+
+
+
+
+ uint8_t
+ blue
+
+
+
+ )
+
+
+
+
+
+
Set the color of the given light in RGB format.
+
Parameters
+
+ light_index Light index inside the group
+ red Red color value (0-255)
+ green Green color value (0-255)
+ blue Blue color value (0-255)
+
+
+
+
Returns true If light_index was valid
+
+false If light_index was invalid
+
+
+
+
+
◆ update()
+
+
+
+
+
+ bool hueplusplus::EntertainmentMode::update
+ (
+ )
+
+
+
+
+
+
Update all set colors by setColorRGB .
+
Returns true If all color values for all lights have ben written/sent
+
+false If there was an error while writing
+
+
+
+
+
+
◆ bridge
+
+
+
+
+
+
+
+
+ Bridge * hueplusplus::EntertainmentMode::bridge
+
+
+
+
+protected
+
+
+
+
+
Associated bridge.
+
+
+
+
+
◆ entertainment_msg
+
+
+
+
+
+
+
+
+ std::vector<uint8_t> hueplusplus::EntertainmentMode::entertainment_msg
+
+
+
+
+protected
+
+
+
+
+
buffer containing the entertainment mode packet data
+
+
+
+
+
◆ entertainment_num_lights
+
+
+
+
+
+
+
+
+ uint8_t hueplusplus::EntertainmentMode::entertainment_num_lights
+
+
+
+
+protected
+
+
+
+
+
number of lights in entertainment mode group
+
+
+
+
+
◆ group
+
+
+
+
+
+
+
+
+ Group * hueplusplus::EntertainmentMode::group
+
+
+
+
+protected
+
+
+
+
+
+
◆ tls_context
+
+
+
+
+
+
+
+
+ std::unique_ptr<TLSContext > hueplusplus::EntertainmentMode::tls_context
+
+
+
+
+protected
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_entertainment_mode__coll__graph.map a/classhueplusplus_1_1_entertainment_mode__coll__graph.map
new file mode 100644
index 0000000..ed77af4
--- /dev/null
+++ a/classhueplusplus_1_1_entertainment_mode__coll__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/classhueplusplus_1_1_entertainment_mode__coll__graph.md5 a/classhueplusplus_1_1_entertainment_mode__coll__graph.md5
new file mode 100644
index 0000000..c095bd1
--- /dev/null
+++ a/classhueplusplus_1_1_entertainment_mode__coll__graph.md5
@@ -0,0 +1 @@
+89d8c96f8589bf4c1272101dde363f45
\ No newline at end of file
diff --git b/classhueplusplus_1_1_entertainment_mode__coll__graph.png a/classhueplusplus_1_1_entertainment_mode__coll__graph.png
new file mode 100644
index 0000000..d60d428
--- /dev/null
+++ a/classhueplusplus_1_1_entertainment_mode__coll__graph.png
diff --git b/classhueplusplus_1_1_extended_color_hue_strategy-members.html a/classhueplusplus_1_1_extended_color_hue_strategy-members.html
new file mode 100644
index 0000000..62d4d49
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_hue_strategy-members.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::ExtendedColorHueStrategy , including all inherited members.
+
+ alertHueSaturation (const HueSaturation &hueSat, Light &light) const overridehueplusplus::ExtendedColorHueStrategy virtual
+ alertXY (const XYBrightness &xy, Light &light) const overridehueplusplus::ExtendedColorHueStrategy virtual
+ getColorHueSaturation (Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ getColorHueSaturation (const Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ getColorXY (Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ getColorXY (const Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ setColorHue (uint16_t hue, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ setColorHueSaturation (const HueSaturation &hueSat, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ setColorLoop (bool on, Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ setColorSaturation (uint8_t sat, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ setColorXY (const XYBrightness &xy, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ ~ColorHueStrategy ()=defaulthueplusplus::ColorHueStrategy virtual
+
+
+
+
+
diff --git b/classhueplusplus_1_1_extended_color_hue_strategy.html a/classhueplusplus_1_1_extended_color_hue_strategy.html
new file mode 100644
index 0000000..c295061
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_hue_strategy.html
@@ -0,0 +1,257 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::ExtendedColorHueStrategy Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <hueplusplus/ExtendedColorHueStrategy.h >
+
+
+
+
+
+
+
+
+
+
+bool alertHueSaturation (const HueSaturation &hueSat, Light &light) const override
+ Function that lets the light perform one breath cycle in the specified color. More...
+
+bool alertXY (const XYBrightness &xy, Light &light) const override
+ Function that lets the light perform one breath cycle in the specified color. More...
+
+
+bool setColorHue (uint16_t hue, uint8_t transition, Light &light) const override
+ Function for changing a lights color in hue with a specified transition. More...
+
+bool setColorSaturation (uint8_t sat, uint8_t transition, Light &light) const override
+ Function for changing a lights color in saturation with a specified transition. More...
+
+bool setColorHueSaturation (const HueSaturation &hueSat, uint8_t transition, Light &light) const override
+ Function for changing a lights color in hue and saturation format with a specified transition. More...
+
+bool setColorXY (const XYBrightness &xy, uint8_t transition, Light &light) const override
+ Function for changing a lights color in CIE format with a specified transition. More...
+
+bool setColorLoop (bool on, Light &light) const override
+ Function for turning on/off the color loop feature of a light. More...
+
+bool alertHueSaturation (const HueSaturation &hueSat, Light &light) const override
+ Function that lets the light perform one breath cycle in the specified color. More...
+
+bool alertXY (const XYBrightness &xy, Light &light) const override
+ Function that lets the light perform one breath cycle in the specified color. More...
+
+HueSaturation getColorHueSaturation (Light &light) const override
+ Function that returns the current color of the light as hue and saturation. More...
+
+HueSaturation getColorHueSaturation (const Light &light) const override
+ Function that returns the current color of the light as hue and saturation. More...
+
+XYBrightness getColorXY (Light &light) const override
+ Function that returns the current color of the light as xy. More...
+
+XYBrightness getColorXY (const Light &light) const override
+ Function that returns the current color of the light as xy. More...
+
+
+virtual ~ColorHueStrategy ()=default
+ Virtual dtor. More...
+
+
+
+
Class extending the implementation of SimpleColorHueStrategy
+
To be used for lights that have both color and color temperature.
+
+
+
◆ alertHueSaturation()
+
+
+
+
+
+
+
+
+ bool hueplusplus::ExtendedColorHueStrategy::alertHueSaturation
+ (
+ const HueSaturation &
+ hueSat ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that lets the light perform one breath cycle in the specified color.
+
Parameters
+
+ hueSat The color in hue and saturation
+ light A reference of the light
+
+
+
+
Blocks for the time a Light::alert() needs
+
+
Implements hueplusplus::ColorHueStrategy .
+
+
+
+
+
◆ alertXY()
+
+
+
+
+
+
+
+
+ bool hueplusplus::ExtendedColorHueStrategy::alertXY
+ (
+ const XYBrightness &
+ xy ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that lets the light perform one breath cycle in the specified color.
+
Parameters
+
+ xy The color in XY and brightness
+ light A reference of the light
+
+
+
+
Blocks for the time a Light::alert() needs
+
+
Implements hueplusplus::ColorHueStrategy .
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_extended_color_hue_strategy__coll__graph.map a/classhueplusplus_1_1_extended_color_hue_strategy__coll__graph.map
new file mode 100644
index 0000000..2083170
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_hue_strategy__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_extended_color_hue_strategy__coll__graph.md5 a/classhueplusplus_1_1_extended_color_hue_strategy__coll__graph.md5
new file mode 100644
index 0000000..44fa737
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_hue_strategy__coll__graph.md5
@@ -0,0 +1 @@
+4c4f31bef4833059a2ab81b7c2a0a9aa
\ No newline at end of file
diff --git b/classhueplusplus_1_1_extended_color_hue_strategy__coll__graph.png a/classhueplusplus_1_1_extended_color_hue_strategy__coll__graph.png
new file mode 100644
index 0000000..2650b02
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_hue_strategy__coll__graph.png
diff --git b/classhueplusplus_1_1_extended_color_hue_strategy__inherit__graph.map a/classhueplusplus_1_1_extended_color_hue_strategy__inherit__graph.map
new file mode 100644
index 0000000..2083170
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_hue_strategy__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_extended_color_hue_strategy__inherit__graph.md5 a/classhueplusplus_1_1_extended_color_hue_strategy__inherit__graph.md5
new file mode 100644
index 0000000..5794749
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_hue_strategy__inherit__graph.md5
@@ -0,0 +1 @@
+8fd775aa60d2b82f168f059581b0a608
\ No newline at end of file
diff --git b/classhueplusplus_1_1_extended_color_hue_strategy__inherit__graph.png a/classhueplusplus_1_1_extended_color_hue_strategy__inherit__graph.png
new file mode 100644
index 0000000..2650b02
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_hue_strategy__inherit__graph.png
diff --git b/classhueplusplus_1_1_extended_color_temperature_strategy-members.html a/classhueplusplus_1_1_extended_color_temperature_strategy-members.html
new file mode 100644
index 0000000..d181656
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_temperature_strategy-members.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::ExtendedColorTemperatureStrategy , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_extended_color_temperature_strategy.html a/classhueplusplus_1_1_extended_color_temperature_strategy.html
new file mode 100644
index 0000000..8c64e8c
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_temperature_strategy.html
@@ -0,0 +1,186 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::ExtendedColorTemperatureStrategy Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Class implementing the functions of ColorTemperatureStrategy .
+ More...
+
+
#include <hueplusplus/ExtendedColorTemperatureStrategy.h >
+
+
+
+
+
+
+
+
+
+
+
Class implementing the functions of ColorTemperatureStrategy .
+
+
+
◆ alertTemperature()
+
+
+
+
+
+
+
+
+ bool hueplusplus::ExtendedColorTemperatureStrategy::alertTemperature
+ (
+ unsigned int
+ mired ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that lets the light perform one breath cycle in the specified color.
+
It uses this_thread::sleep_for to accomodate for the time an Light::alert() needs The color temperature in mired ranges from 153 to 500 whereas 153 is cold and 500 is warm.
Parameters
+
+ mired The color temperature in mired
+ light A reference of the light
+
+
+
+
+
Implements hueplusplus::ColorTemperatureStrategy .
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_extended_color_temperature_strategy__coll__graph.map a/classhueplusplus_1_1_extended_color_temperature_strategy__coll__graph.map
new file mode 100644
index 0000000..ff74849
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_temperature_strategy__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_extended_color_temperature_strategy__coll__graph.md5 a/classhueplusplus_1_1_extended_color_temperature_strategy__coll__graph.md5
new file mode 100644
index 0000000..84f0e03
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_temperature_strategy__coll__graph.md5
@@ -0,0 +1 @@
+dfecd2b6b4a66b8d1e219183282925c4
\ No newline at end of file
diff --git b/classhueplusplus_1_1_extended_color_temperature_strategy__coll__graph.png a/classhueplusplus_1_1_extended_color_temperature_strategy__coll__graph.png
new file mode 100644
index 0000000..ca77f5e
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_temperature_strategy__coll__graph.png
diff --git b/classhueplusplus_1_1_extended_color_temperature_strategy__inherit__graph.map a/classhueplusplus_1_1_extended_color_temperature_strategy__inherit__graph.map
new file mode 100644
index 0000000..ff74849
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_temperature_strategy__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_extended_color_temperature_strategy__inherit__graph.md5 a/classhueplusplus_1_1_extended_color_temperature_strategy__inherit__graph.md5
new file mode 100644
index 0000000..7a4bd2f
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_temperature_strategy__inherit__graph.md5
@@ -0,0 +1 @@
+3215703a0265177d527801200bd1e904
\ No newline at end of file
diff --git b/classhueplusplus_1_1_extended_color_temperature_strategy__inherit__graph.png a/classhueplusplus_1_1_extended_color_temperature_strategy__inherit__graph.png
new file mode 100644
index 0000000..ca77f5e
--- /dev/null
+++ a/classhueplusplus_1_1_extended_color_temperature_strategy__inherit__graph.png
diff --git b/classhueplusplus_1_1_group-members.html a/classhueplusplus_1_1_group-members.html
new file mode 100644
index 0000000..4c690d1
--- /dev/null
+++ a/classhueplusplus_1_1_group-members.html
@@ -0,0 +1,123 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::Group , including all inherited members.
+
+ createSceneAction (const std::string &scene) consthueplusplus::Group
+ getActionBrightness ()hueplusplus::Group
+ getActionBrightness () consthueplusplus::Group
+ getActionColorMode ()hueplusplus::Group
+ getActionColorMode () consthueplusplus::Group
+ getActionColorTemperature ()hueplusplus::Group
+ getActionColorTemperature () consthueplusplus::Group
+ getActionColorXY ()hueplusplus::Group
+ getActionColorXY () consthueplusplus::Group
+ getActionHueSaturation ()hueplusplus::Group
+ getActionHueSaturation () consthueplusplus::Group
+ getActionOn ()hueplusplus::Group
+ getActionOn () consthueplusplus::Group
+ getAllOn ()hueplusplus::Group
+ getAllOn () consthueplusplus::Group
+ getAnyOn ()hueplusplus::Group
+ getAnyOn () consthueplusplus::Group
+ getId () consthueplusplus::Group
+ getLightIds () consthueplusplus::Group
+ getModelId () consthueplusplus::Group
+ getName () consthueplusplus::Group
+ getRoomType () consthueplusplus::Group
+ getType () consthueplusplus::Group
+ getUniqueId () consthueplusplus::Group
+ Group (int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::Group
+ Group (int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)hueplusplus::Group
+ id hueplusplus::Group protected
+ refresh (bool force=false)hueplusplus::Group
+ sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::Group protected
+ setBrightness (uint8_t brightness, uint8_t transition=4)hueplusplus::Group
+ setColor (const HueSaturation &hueSat, uint8_t transition=4)hueplusplus::Group
+ setColor (const XYBrightness &xy, uint8_t transition=4)hueplusplus::Group
+ setColorLoop (bool on, uint8_t transition=4)hueplusplus::Group
+ setColorTemperature (unsigned int mired, uint8_t transition=4)hueplusplus::Group
+ setLights (const std::vector< int > &ids)hueplusplus::Group
+ setName (const std::string &name)hueplusplus::Group
+ setOn (bool on, uint8_t transition=4)hueplusplus::Group
+ setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)hueplusplus::Group
+ setRoomType (const std::string &type)hueplusplus::Group
+ setScene (const std::string &scene)hueplusplus::Group
+ state hueplusplus::Group protected
+ transaction ()hueplusplus::Group
+
+
+
+
+
diff --git b/classhueplusplus_1_1_group.html a/classhueplusplus_1_1_group.html
new file mode 100644
index 0000000..09f1a74
--- /dev/null
+++ a/classhueplusplus_1_1_group.html
@@ -0,0 +1,1402 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::Group Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Class for Groups of lights.
+ More...
+
+
#include <hueplusplus/Group.h >
+
+
+
+
+
+
+ Group (int id , const std::shared_ptr< APICache > &baseCache)
+ Creates group with shared cache. More...
+
+ Group (int id , const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)
+ Creates group with id. More...
+
+void refresh (bool force=false)
+ Refreshes internal cached state. More...
+
+void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+ Sets custom refresh interval for this group. More...
+
+
+int getId () const
+ Get the group id. More...
+
+std::string getName () const
+ Get the group name. More...
+
+std::string getType () const
+ Get the group type. More...
+
+std::vector< int > getLightIds () const
+ Get lights in the group. More...
+
+void setName (const std::string &name)
+ Set group name. More...
+
+void setLights (const std::vector< int > &ids)
+ Set group lights. More...
+
+std::string getRoomType () const
+ Get room type, only for type room. More...
+
+void setRoomType (const std::string &type)
+ Set room type, only for type room. More...
+
+std::string getModelId () const
+ Get luminaire model id, only for type luminaire. More...
+
+std::string getUniqueId () const
+ Get luminaire model id, only for type luminaire or lightsource. More...
+
+bool getAllOn ()
+ Get whether all lights are on. More...
+
+bool getAllOn () const
+ Get whether all lights are on. More...
+
+bool getAnyOn ()
+ Get whether any light is on. More...
+
+bool getAnyOn () const
+ Get whether any light is on. More...
+
+
+The action is the state of one light in the group. It can be accessed using these methods.
+
+bool getActionOn ()
+ Get on state of one light in the group. More...
+
+bool getActionOn () const
+ Get on state of one light in the group. More...
+
+std::pair< uint16_t, uint8_t > getActionHueSaturation ()
+ Get hue and saturation of one light in the group. More...
+
+std::pair< uint16_t, uint8_t > getActionHueSaturation () const
+ Get hue and saturation of one light in the group. More...
+
+unsigned int getActionBrightness ()
+ Get brightness of one light in the group. More...
+
+unsigned int getActionBrightness () const
+ Get brightness of one light in the group. More...
+
+unsigned int getActionColorTemperature ()
+ Get color temperature of one light in the group. More...
+
+unsigned int getActionColorTemperature () const
+ Get color temperature of one light in the group. More...
+
+std::pair< float, float > getActionColorXY ()
+ Get color coordinates of one light in the group. More...
+
+std::pair< float, float > getActionColorXY () const
+ Get color coordinates of one light in the group. More...
+
+std::string getActionColorMode ()
+ Get color mode of one light in the group. More...
+
+std::string getActionColorMode () const
+ Get color mode of one light in the group. More...
+
+
+StateTransaction transaction ()
+ Create a transaction for this group. More...
+
+void setOn (bool on, uint8_t transition=4)
+ Convenience function to turn lights on. More...
+
+void setBrightness (uint8_t brightness, uint8_t transition=4)
+ Convenience function to set brightness. More...
+
+void setColor (const HueSaturation &hueSat, uint8_t transition=4)
+ Convenience function to set hue and saturation. More...
+
+void setColor (const XYBrightness &xy, uint8_t transition=4)
+ Convenience function to set color xy. More...
+
+void setColorTemperature (unsigned int mired, uint8_t transition=4)
+ Convenience function to set color temperature. More...
+
+void setColorLoop (bool on, uint8_t transition=4)
+ Convenience function to set color loop. More...
+
+void setScene (const std::string &scene)
+ Recall scene for the group. More...
+
+Action createSceneAction (const std::string &scene) const
+ Get Action to set scene. More...
+
+
+
+nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the group. More...
+
+
+
+
Class for Groups of lights.
+
Provides methods to control groups.
+
+
+
◆ Group() [1/2]
+
+
+
+
+
+ hueplusplus::Group::Group
+ (
+ int
+ id ,
+
+
+
+
+ const std::shared_ptr< APICache > &
+ baseCache
+
+
+
+ )
+
+
+
+
+
+
Creates group with shared cache.
+
Parameters
+
+ id Group id in the bridge
+ baseCache Cache of the group list.
+
+
+
+
+
+
+
+
◆ Group() [2/2]
+
+
+
+
+
+ hueplusplus::Group::Group
+ (
+ int
+ id ,
+
+
+
+
+ const HueCommandAPI &
+ commands ,
+
+
+
+
+ std::chrono::steady_clock::duration
+ refreshDuration ,
+
+
+
+
+ const nlohmann::json &
+ currentState
+
+
+
+ )
+
+
+
+
+
+
Creates group with id.
+
Parameters
+
+ id Group id in the bridge
+ commands HueCommandAPI for requests
+ refreshDuration Time between refreshing the cached state.
+ currentState The current state, may be null.
+
+
+
+
+
+
+
+
+
◆ createSceneAction()
+
+
+
+
+
+ Action hueplusplus::Group::createSceneAction
+ (
+ const std::string &
+ scene )
+ const
+
+
+
+
+
Get Action to set scene.
+
Parameters
+
+
+
+
Returns A Action that can be used to set the scene on a Schedule
+
To set other light properties in a scene, use transaction() .
+
+
+
+
+
◆ getActionBrightness() [1/2]
+
+
+
+
+
+ unsigned int hueplusplus::Group::getActionBrightness
+ (
+ )
+
+
+
+
+
+
Get brightness of one light in the group.
+
Returns Brightness (0-254).
+
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
+
+
+
+
+
+
+
+
◆ getActionBrightness() [2/2]
+
+
+
+
+
+ unsigned int hueplusplus::Group::getActionBrightness
+ (
+ )
+ const
+
+
+
+
+
Get brightness of one light in the group.
+
Returns Brightness (0-254).
+
Note Does not refresh the state.
+
+
+
+
+
◆ getActionColorMode() [1/2]
+
+
+
+
+
+ std::string hueplusplus::Group::getActionColorMode
+ (
+ )
+
+
+
+
+
+
Get color mode of one light in the group.
+
The color mode is the currently used way to specify the color (hs,ct or xy).
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
+
+
+
+
+
+
+
+
◆ getActionColorMode() [2/2]
+
+
+
+
+
+ std::string hueplusplus::Group::getActionColorMode
+ (
+ )
+ const
+
+
+
+
+
Get color mode of one light in the group.
+
The color mode is the currently used way to specify the color (hs,ct or xy).
Note Does not refresh the state.
+
+
+
+
+
◆ getActionColorTemperature() [1/2]
+
+
+
+
+
+ unsigned int hueplusplus::Group::getActionColorTemperature
+ (
+ )
+
+
+
+
+
+
Get color temperature of one light in the group.
+
Returns Color temperature in mired.
+
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
+
+
+
+
+
+
+
+
◆ getActionColorTemperature() [2/2]
+
+
+
+
+
+ unsigned int hueplusplus::Group::getActionColorTemperature
+ (
+ )
+ const
+
+
+
+
+
Get color temperature of one light in the group.
+
Returns Color temperature in mired.
+
Note Does not refresh the state.
+
+
+
+
+
◆ getActionColorXY() [1/2]
+
+
+
+
+
+ std::pair< float, float > hueplusplus::Group::getActionColorXY
+ (
+ )
+
+
+
+
+
+
Get color coordinates of one light in the group.
+
Returns Pair of x and y color coordinates.
+
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
+
+
+
+
+
+
+
+
◆ getActionColorXY() [2/2]
+
+
+
+
+
+ std::pair< float, float > hueplusplus::Group::getActionColorXY
+ (
+ )
+ const
+
+
+
+
+
Get color coordinates of one light in the group.
+
Returns Pair of x and y color coordinates.
+
Note Does not refresh the state.
+
+
+
+
+
◆ getActionHueSaturation() [1/2]
+
+
+
+
+
+ std::pair< uint16_t, uint8_t > hueplusplus::Group::getActionHueSaturation
+ (
+ )
+
+
+
+
+
+
Get hue and saturation of one light in the group.
+
Returns Pair of hue, saturation.
+
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
+
+
+
+
+
+
+
+
◆ getActionHueSaturation() [2/2]
+
+
+
+
+
+ std::pair< uint16_t, uint8_t > hueplusplus::Group::getActionHueSaturation
+ (
+ )
+ const
+
+
+
+
+
Get hue and saturation of one light in the group.
+
Returns Pair of hue, saturation.
+
Note Does not refresh the state.
+
+
+
+
+
◆ getActionOn() [1/2]
+
+
+
+
+
+ bool hueplusplus::Group::getActionOn
+ (
+ )
+
+
+
+
+
+
Get on state of one light in the group.
+
Returns True if the light is on.
+
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
+
+
+
+
+
+
+
+
◆ getActionOn() [2/2]
+
+
+
+
+
+ bool hueplusplus::Group::getActionOn
+ (
+ )
+ const
+
+
+
+
+
Get on state of one light in the group.
+
Returns True if the light is on.
+
Note Does not refresh the state.
+
+
+
+
+
◆ getAllOn() [1/2]
+
+
+
+
+
+ bool hueplusplus::Group::getAllOn
+ (
+ )
+
+
+
+
+
+
Get whether all lights are on.
+
Returns true when all lights are on.
+
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
+
+
+
+
+
+
+
+
◆ getAllOn() [2/2]
+
+
+
+
+
+ bool hueplusplus::Group::getAllOn
+ (
+ )
+ const
+
+
+
+
+
Get whether all lights are on.
+
Returns true when all lights are on.
+
Note Does not refresh the state.
+
+
+
+
+
◆ getAnyOn() [1/2]
+
+
+
+
+
+ bool hueplusplus::Group::getAnyOn
+ (
+ )
+
+
+
+
+
+
Get whether any light is on.
+
Returns true when any light is on.
+
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
+
+
+
+
+
+
+
+
◆ getAnyOn() [2/2]
+
+
+
+
+
+ bool hueplusplus::Group::getAnyOn
+ (
+ )
+ const
+
+
+
+
+
Get whether any light is on.
+
Returns true when any light is on.
+
Note Does not refresh the state.
+
+
+
+
+
◆ getId()
+
+
+
+
+
+ int hueplusplus::Group::getId
+ (
+ )
+ const
+
+
+
+
+
+
◆ getLightIds()
+
+
+
+
+
+ std::vector< int > hueplusplus::Group::getLightIds
+ (
+ )
+ const
+
+
+
+
+
Get lights in the group.
+
Returns Ids of the lights in the group.
+
+
+
+
+
◆ getModelId()
+
+
+
+
+
+ std::string hueplusplus::Group::getModelId
+ (
+ )
+ const
+
+
+
+
+
Get luminaire model id, only for type luminaire.
+
Returns Unique id for the hardware model.
+
+
+
+
+
◆ getName()
+
+
+
+
+
+ std::string hueplusplus::Group::getName
+ (
+ )
+ const
+
+
+
+
+
Get the group name.
+
+
+
+
+
◆ getRoomType()
+
+
+
+
+
+ std::string hueplusplus::Group::getRoomType
+ (
+ )
+ const
+
+
+
+
+
Get room type, only for type room.
+
Returns Room type/class of the group.
+
+
+
+
+
◆ getType()
+
+
+
+
+
+ std::string hueplusplus::Group::getType
+ (
+ )
+ const
+
+
+
+
+
Get the group type.
+
The type is specified on creation and cannot be changed.
+
Possible types:
+0: Special group containing all lights, cannot be modified.
+Luminaire, Lightsource: Automatically created groups for multisource luminaires.
+LightGroup: Standard, user created group, not empty.
+Room: User created room, has room type.
+Entertainment: User created entertainment setup.
+Zone: User created Zone.
+
+
+
+
+
+
◆ getUniqueId()
+
+
+
+
+
+ std::string hueplusplus::Group::getUniqueId
+ (
+ )
+ const
+
+
+
+
+
Get luminaire model id, only for type luminaire or lightsource.
+
Returns Unique id in AA:BB:CC:DD format for luminaire groups or AA:BB:CC:DD-XX for Lightsource groups.
+
+
+
+
+
◆ refresh()
+
+
+
+
+
+ void hueplusplus::Group::refresh
+ (
+ bool
+ force = false)
+
+
+
+
+
+
Refreshes internal cached state.
+
Parameters
+
+ force true forces a refresh, regardless of how long the last refresh was ago. false to only refresh when enough time has passed (needed e.g. when calling only const methods).
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ sendPutRequest()
+
+
+
+
+
+
+
+
+ nlohmann::json hueplusplus::Group::sendPutRequest
+ (
+ const std::string &
+ subPath ,
+
+
+
+
+ const nlohmann::json &
+ request ,
+
+
+
+
+ FileInfo
+ fileInfo
+
+
+
+ )
+
+
+
+
+
+protected
+
+
+
+
+
Utility function to send a put request to the group.
+
Parameters
+
+ request The request to send
+ subPath A path that is appended to the uri, note it should always start with a slash ("/")
+ fileInfo FileInfo from calling function for exception details.
+
+
+
+
Returns The parsed reply
+
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
+
+
+
+
+
+
+
+
◆ setBrightness()
+
+
+
+
+
+ void hueplusplus::Group::setBrightness
+ (
+ uint8_t
+ brightness ,
+
+
+
+
+ uint8_t
+ transition = 4
+
+
+
+ )
+
+
+
+
+
+
+
◆ setColor() [1/2]
+
+
+
+
+
+ void hueplusplus::Group::setColor
+ (
+ const HueSaturation &
+ hueSat ,
+
+
+
+
+ uint8_t
+ transition = 4
+
+
+
+ )
+
+
+
+
+
+
+
◆ setColor() [2/2]
+
+
+
+
+
+ void hueplusplus::Group::setColor
+ (
+ const XYBrightness &
+ xy ,
+
+
+
+
+ uint8_t
+ transition = 4
+
+
+
+ )
+
+
+
+
+
+
+
◆ setColorLoop()
+
+
+
+
+
+ void hueplusplus::Group::setColorLoop
+ (
+ bool
+ on ,
+
+
+
+
+ uint8_t
+ transition = 4
+
+
+
+ )
+
+
+
+
+
+
+
◆ setColorTemperature()
+
+
+
+
+
+ void hueplusplus::Group::setColorTemperature
+ (
+ unsigned int
+ mired ,
+
+
+
+
+ uint8_t
+ transition = 4
+
+
+
+ )
+
+
+
+
+
+
+
◆ setLights()
+
+
+
+
+
+ void hueplusplus::Group::setLights
+ (
+ const std::vector< int > &
+ ids )
+
+
+
+
+
+
Set group lights.
+
Parameters
+
+ ids New light ids. May or may not be empty depending on type.
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setName()
+
+
+
+
+
+ void hueplusplus::Group::setName
+ (
+ const std::string &
+ name )
+
+
+
+
+
+
Set group name.
+
Parameters
+
+ name New name for the group. Must be unique for all groups, otherwise a number is added.
+
+
+
+
+
+
+
+
◆ setOn()
+
+
+
+
+
+ void hueplusplus::Group::setOn
+ (
+ bool
+ on ,
+
+
+
+
+ uint8_t
+ transition = 4
+
+
+
+ )
+
+
+
+
+
+
+
◆ setRefreshDuration()
+
+
+
+
+
+ void hueplusplus::Group::setRefreshDuration
+ (
+ std::chrono::steady_clock::duration
+ refreshDuration )
+
+
+
+
+
+
Sets custom refresh interval for this group.
+
Parameters
+
+ refreshDuration The new minimum duration between refreshes. May be 0 or c_refreshNever .
+
+
+
+
+
+
+
+
◆ setRoomType()
+
+
+
+
+
+ void hueplusplus::Group::setRoomType
+ (
+ const std::string &
+ type )
+
+
+
+
+
+
Set room type, only for type room.
+
Parameters
+
+ type New room class, case sensitive. Only specific values are allowed.
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setScene()
+
+
+
+
+
+ void hueplusplus::Group::setScene
+ (
+ const std::string &
+ scene )
+
+
+
+
+
+
Recall scene for the group.
+
Scenes are saved configurations for the lights in a group.
Parameters
+
+
+
+
+
+
+
+
◆ transaction()
+
+
+
+
+
Create a transaction for this group.
+
The transaction can be used to change more than one value in one request.
+
Example usage:
+
+
+
+
+
◆ id
+
+
+
+
+
+
+
+
+ int hueplusplus::Group::id
+
+
+
+
+protected
+
+
+
+
+
+
+
+
◆ state
+
+
+
+
+
+
+
+
+ APICache hueplusplus::Group::state
+
+
+
+
+protected
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_group__coll__graph.map a/classhueplusplus_1_1_group__coll__graph.map
new file mode 100644
index 0000000..fce3d75
--- /dev/null
+++ a/classhueplusplus_1_1_group__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_group__coll__graph.md5 a/classhueplusplus_1_1_group__coll__graph.md5
new file mode 100644
index 0000000..b1ff9e6
--- /dev/null
+++ a/classhueplusplus_1_1_group__coll__graph.md5
@@ -0,0 +1 @@
+b12e6a33560085c62c9784e7c620fa8a
\ No newline at end of file
diff --git b/classhueplusplus_1_1_group__coll__graph.png a/classhueplusplus_1_1_group__coll__graph.png
new file mode 100644
index 0000000..34213e0
--- /dev/null
+++ a/classhueplusplus_1_1_group__coll__graph.png
diff --git b/classhueplusplus_1_1_group_resource_list-members.html a/classhueplusplus_1_1_group_resource_list-members.html
new file mode 100644
index 0000000..fd39990
--- /dev/null
+++ a/classhueplusplus_1_1_group_resource_list-members.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::GroupResourceList< Resource, CreateType > , including all inherited members.
+
+ construct (const IdType &id, const nlohmann::json &state)hueplusplus::ResourceList< Resource, int > inline protected
+ create (const CreateType ¶ms)hueplusplus::CreateableResourceList< ResourceList< Resource, int >, CreateType > inline
+ CreateableResourceList (CreateableResourceList &&)=defaulthueplusplus::CreateableResourceList< ResourceList< Resource, int >, CreateType > protected
+ exists (int id) consthueplusplus::GroupResourceList< Resource, CreateType > inline
+ CreateableResourceList< ResourceList< Resource, int >, CreateType >::exists (const IdType &id)hueplusplus::ResourceList< Resource, int > inline
+ CreateableResourceList< ResourceList< Resource, int >, CreateType >::exists (const IdType &id) consthueplusplus::ResourceList< Resource, int > inline
+ factory hueplusplus::ResourceList< Resource, int > protected
+ get (const int &id)hueplusplus::GroupResourceList< Resource, CreateType > inline
+ getAll ()hueplusplus::ResourceList< Resource, int > inline
+ GroupResourceList (GroupResourceList &&)=defaulthueplusplus::GroupResourceList< Resource, CreateType > protected
+ IdType typedefhueplusplus::ResourceList< Resource, int >
+ maybeStoi (const std::string &key)hueplusplus::ResourceList< Resource, int > inline protected static
+ maybeToString (const IdType &id)hueplusplus::ResourceList< Resource, int > inline protected static
+ operator= (GroupResourceList &&)=defaulthueplusplus::GroupResourceList< Resource, CreateType > protected
+ CreateableResourceList< ResourceList< Resource, int >, CreateType >::operator= (CreateableResourceList &&)=defaulthueplusplus::CreateableResourceList< ResourceList< Resource, int >, CreateType > protected
+ ResourceList< Resource, int >::operator= (const ResourceList &)=deletehueplusplus::ResourceList< Resource, int >
+ ResourceList< Resource, int >::operator= (ResourceList &&)=defaulthueplusplus::ResourceList< Resource, int > protected
+ path hueplusplus::ResourceList< Resource, int > protected
+ refresh ()hueplusplus::ResourceList< Resource, int > inline
+ remove (const IdType &id)hueplusplus::ResourceList< Resource, int > inline
+ ResourceList (std::shared_ptr< APICache > baseCache, const std::string &cacheEntry, std::chrono::steady_clock::duration refreshDuration, bool sharedState=false, const std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)hueplusplus::ResourceList< Resource, int > inline
+ ResourceList (const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)hueplusplus::ResourceList< Resource, int > inline
+ ResourceList (const ResourceList &)=deletehueplusplus::ResourceList< Resource, int >
+ ResourceList (ResourceList &&)=defaulthueplusplus::ResourceList< Resource, int > protected
+ ResourceType typedefhueplusplus::ResourceList< Resource, int >
+ setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)hueplusplus::ResourceList< Resource, int > inline
+ sharedState hueplusplus::ResourceList< Resource, int > protected
+ stateCache hueplusplus::ResourceList< Resource, int > protected
+
+
+
+
+
diff --git b/classhueplusplus_1_1_group_resource_list.html a/classhueplusplus_1_1_group_resource_list.html
new file mode 100644
index 0000000..6a814ec
--- /dev/null
+++ a/classhueplusplus_1_1_group_resource_list.html
@@ -0,0 +1,346 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::GroupResourceList< Resource, CreateType > Class Template Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Handles a group list with the special group 0.
+ More...
+
+
#include <hueplusplus/ResourceList.h >
+
+
+
+
+
+
+
+
+
+
+Resource get (const int &id)
+ Get group, specially handles group 0. More...
+
+bool exists (int id) const
+ Get group, specially handles group 0. More...
+
+
+ResourceList < Resource, int > ::IdType create (const CreateType ¶ms)
+ Create a new resource. More...
+
+
+ ResourceList (std::shared_ptr< APICache > baseCache, const std::string &cacheEntry, std::chrono::steady_clock::duration refreshDuration, bool sharedState =false, const std::function< Resource(IdType , const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory =nullptr)
+ Construct ResourceList using a base cache and optional factory function. More...
+
+ ResourceList (const HueCommandAPI &commands, const std::string &path , std::chrono::steady_clock::duration refreshDuration, const std::function< Resource(IdType , const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory =nullptr)
+ Construct ResourceList with a separate cache and optional factory function. More...
+
+ ResourceList (const ResourceList &)=delete
+ Deleted copy constructor. More...
+
+ResourceList & operator= (const ResourceList &)=delete
+ Deleted copy assignment. More...
+
+void refresh ()
+ Refreshes internal state now. More...
+
+void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+ Sets custom refresh interval for this list and all resources created. More...
+
+std::vector< Resource > getAll ()
+ Get all resources that exist. More...
+
+Resource get (const IdType &id)
+ Get resource specified by id. More...
+
+bool exists (const IdType &id)
+ Checks whether resource with id exists. More...
+
+bool exists (const IdType &id) const
+ Checks whether resource with id exists. More...
+
+bool remove (const IdType &id)
+ Removes the resource. More...
+
+
+
+
template<typename Resource, typename CreateType>
+class hueplusplus::GroupResourceList< Resource, CreateType >
+
+
Handles a group list with the special group 0.
+
Template Parameters
+
+ Resource Resource type that is in the list
+ CreateType Type that provides parameters for creation. Must have a const getRequest() function returning the JSON for the POST request.
+
+
+
+
+
+
◆ GroupResourceList()
+
+
+
+
+template<typename Resource , typename CreateType >
+
+
+
+
+
+
+protected default
+
+
+
+
+
Protected defaulted move constructor.
+
+
+
+
+
+
◆ exists()
+
+
+
+
+template<typename Resource , typename CreateType >
+
+
+
+
+
◆ get()
+
+
+
+
+template<typename Resource , typename CreateType >
+
+
+
+
+
◆ operator=()
+
+
+
+
+template<typename Resource , typename CreateType >
+
+
+
+
+
+
+protected default
+
+
+
+
+
Protected defaulted move assignment.
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_group_resource_list__coll__graph.map a/classhueplusplus_1_1_group_resource_list__coll__graph.map
new file mode 100644
index 0000000..592c11f
--- /dev/null
+++ a/classhueplusplus_1_1_group_resource_list__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_group_resource_list__coll__graph.md5 a/classhueplusplus_1_1_group_resource_list__coll__graph.md5
new file mode 100644
index 0000000..dfafaed
--- /dev/null
+++ a/classhueplusplus_1_1_group_resource_list__coll__graph.md5
@@ -0,0 +1 @@
+ac40d96a28fe79d768acb6f50de10e5c
\ No newline at end of file
diff --git b/classhueplusplus_1_1_group_resource_list__coll__graph.png a/classhueplusplus_1_1_group_resource_list__coll__graph.png
new file mode 100644
index 0000000..332b9f4
--- /dev/null
+++ a/classhueplusplus_1_1_group_resource_list__coll__graph.png
diff --git b/classhueplusplus_1_1_group_resource_list__inherit__graph.map a/classhueplusplus_1_1_group_resource_list__inherit__graph.map
new file mode 100644
index 0000000..592c11f
--- /dev/null
+++ a/classhueplusplus_1_1_group_resource_list__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_group_resource_list__inherit__graph.md5 a/classhueplusplus_1_1_group_resource_list__inherit__graph.md5
new file mode 100644
index 0000000..e081c2f
--- /dev/null
+++ a/classhueplusplus_1_1_group_resource_list__inherit__graph.md5
@@ -0,0 +1 @@
+0946f7ca132d7ce65ff0add354731aba
\ No newline at end of file
diff --git b/classhueplusplus_1_1_group_resource_list__inherit__graph.png a/classhueplusplus_1_1_group_resource_list__inherit__graph.png
new file mode 100644
index 0000000..14d40d6
--- /dev/null
+++ a/classhueplusplus_1_1_group_resource_list__inherit__graph.png
diff --git b/classhueplusplus_1_1_hue_a_p_i_response_exception-members.html a/classhueplusplus_1_1_hue_a_p_i_response_exception-members.html
new file mode 100644
index 0000000..b4e4d79
--- /dev/null
+++ a/classhueplusplus_1_1_hue_a_p_i_response_exception-members.html
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::HueAPIResponseException , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_hue_a_p_i_response_exception.html a/classhueplusplus_1_1_hue_a_p_i_response_exception.html
new file mode 100644
index 0000000..ad73414
--- /dev/null
+++ a/classhueplusplus_1_1_hue_a_p_i_response_exception.html
@@ -0,0 +1,334 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::HueAPIResponseException Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Exception caused by a Hue API "error" response with additional information.
+ More...
+
+
#include <hueplusplus/HueException.h >
+
+
+
+
+
+
+
+
+
+
+
Exception caused by a Hue API "error" response with additional information.
+
Refer to Hue developer documentation for more detail on specific error codes.
+
+
+
◆ HueAPIResponseException()
+
+
+
+
+
+ hueplusplus::HueAPIResponseException::HueAPIResponseException
+ (
+ FileInfo
+ fileInfo ,
+
+
+
+
+ int
+ error ,
+
+
+
+
+ std::string
+ address ,
+
+
+
+
+ std::string
+ description
+
+
+
+ )
+
+
+
+
+
+
Create exception with info from Hue API error.
+
Parameters
+
+ fileInfo Source of the error. Must not always be the throw location, can also be a calling function which matches the cause better.
+ error Hue API error code from error response.
+ address URI the API call referred to from error response.
+ description Error description from response.
+
+
+
+
+
+
+
+
+
◆ Create()
+
+
+
+
+
+
+
+
+ HueAPIResponseException hueplusplus::HueAPIResponseException::Create
+ (
+ FileInfo
+ fileInfo ,
+
+
+
+
+ const nlohmann::json &
+ response
+
+
+
+ )
+
+
+
+
+
+static
+
+
+
+
+
Creates exception from API response.
+
Parameters
+
+ fileInfo Location of the cause
+ response Hue API response. Must contain a member "error" with "type", "address" and "description".
+
+
+
+
Returns HueAPIResponseException with info from the response. If response does not contain the required members, they are defaulted to -1 or "".
+
+
+
+
+
◆ GetAddress()
+
+
+
+
+
+
+
+
+ const std::string & hueplusplus::HueAPIResponseException::GetAddress
+ (
+ )
+ const
+
+
+
+
+noexcept
+
+
+
+
+
Address the API call tried to access.
+
+
+
+
+
◆ GetDescription()
+
+
+
+
+
+
+
+
+ const std::string & hueplusplus::HueAPIResponseException::GetDescription
+ (
+ )
+ const
+
+
+
+
+noexcept
+
+
+
+
+
Error description.
+
+
+
+
+
◆ GetErrorNumber()
+
+
+
+
+
+
+
+
+ int hueplusplus::HueAPIResponseException::GetErrorNumber
+ (
+ )
+ const
+
+
+
+
+noexcept
+
+
+
+
+
Error number from Hue API error response.
+
Refer to Hue developer documentation for meaning of error codes.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_hue_a_p_i_response_exception__coll__graph.map a/classhueplusplus_1_1_hue_a_p_i_response_exception__coll__graph.map
new file mode 100644
index 0000000..5296ff7
--- /dev/null
+++ a/classhueplusplus_1_1_hue_a_p_i_response_exception__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_hue_a_p_i_response_exception__coll__graph.md5 a/classhueplusplus_1_1_hue_a_p_i_response_exception__coll__graph.md5
new file mode 100644
index 0000000..2dc1655
--- /dev/null
+++ a/classhueplusplus_1_1_hue_a_p_i_response_exception__coll__graph.md5
@@ -0,0 +1 @@
+1f058de9c3a1d62e51c3766a7ceb9722
\ No newline at end of file
diff --git b/classhueplusplus_1_1_hue_a_p_i_response_exception__coll__graph.png a/classhueplusplus_1_1_hue_a_p_i_response_exception__coll__graph.png
new file mode 100644
index 0000000..66d9bdc
--- /dev/null
+++ a/classhueplusplus_1_1_hue_a_p_i_response_exception__coll__graph.png
diff --git b/classhueplusplus_1_1_hue_a_p_i_response_exception__inherit__graph.map a/classhueplusplus_1_1_hue_a_p_i_response_exception__inherit__graph.map
new file mode 100644
index 0000000..5296ff7
--- /dev/null
+++ a/classhueplusplus_1_1_hue_a_p_i_response_exception__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_hue_a_p_i_response_exception__inherit__graph.md5 a/classhueplusplus_1_1_hue_a_p_i_response_exception__inherit__graph.md5
new file mode 100644
index 0000000..32e6464
--- /dev/null
+++ a/classhueplusplus_1_1_hue_a_p_i_response_exception__inherit__graph.md5
@@ -0,0 +1 @@
+1be15c8dea5be22b201b7903433615d8
\ No newline at end of file
diff --git b/classhueplusplus_1_1_hue_a_p_i_response_exception__inherit__graph.png a/classhueplusplus_1_1_hue_a_p_i_response_exception__inherit__graph.png
new file mode 100644
index 0000000..66d9bdc
--- /dev/null
+++ a/classhueplusplus_1_1_hue_a_p_i_response_exception__inherit__graph.png
diff --git b/classhueplusplus_1_1_hue_command_a_p_i-members.html a/classhueplusplus_1_1_hue_command_a_p_i-members.html
new file mode 100644
index 0000000..02b8f49
--- /dev/null
+++ a/classhueplusplus_1_1_hue_command_a_p_i-members.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::HueCommandAPI , including all inherited members.
+
+ combinedPath (const std::string &path) consthueplusplus::HueCommandAPI
+ DELETERequest (const std::string &path, const nlohmann::json &request, FileInfo fileInfo) consthueplusplus::HueCommandAPI
+ DELETERequest (const std::string &path, const nlohmann::json &request) consthueplusplus::HueCommandAPI
+ GETRequest (const std::string &path, const nlohmann::json &request, FileInfo fileInfo) consthueplusplus::HueCommandAPI
+ GETRequest (const std::string &path, const nlohmann::json &request) consthueplusplus::HueCommandAPI
+ HueCommandAPI (const std::string &ip, int port, const std::string &username, std::shared_ptr< const IHttpHandler > httpHandler)hueplusplus::HueCommandAPI
+ HueCommandAPI (const HueCommandAPI &)=defaulthueplusplus::HueCommandAPI
+ HueCommandAPI (HueCommandAPI &&)=defaulthueplusplus::HueCommandAPI
+ operator= (const HueCommandAPI &)=defaulthueplusplus::HueCommandAPI
+ operator= (HueCommandAPI &&)=defaulthueplusplus::HueCommandAPI
+ POSTRequest (const std::string &path, const nlohmann::json &request, FileInfo fileInfo) consthueplusplus::HueCommandAPI
+ POSTRequest (const std::string &path, const nlohmann::json &request) consthueplusplus::HueCommandAPI
+ PUTRequest (const std::string &path, const nlohmann::json &request, FileInfo fileInfo) consthueplusplus::HueCommandAPI
+ PUTRequest (const std::string &path, const nlohmann::json &request) consthueplusplus::HueCommandAPI
+
+
+
+
+
diff --git b/classhueplusplus_1_1_hue_command_a_p_i.html a/classhueplusplus_1_1_hue_command_a_p_i.html
new file mode 100644
index 0000000..d3a19ae
--- /dev/null
+++ a/classhueplusplus_1_1_hue_command_a_p_i.html
@@ -0,0 +1,653 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::HueCommandAPI Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <hueplusplus/HueCommandAPI.h >
+
+
+ HueCommandAPI (const std::string &ip, int port, const std::string &username, std::shared_ptr< const IHttpHandler > httpHandler)
+ Construct from ip, username and HttpHandler. More...
+
+ HueCommandAPI (const HueCommandAPI &)=default
+ Copy construct from other HueCommandAPI . More...
+
+ HueCommandAPI (HueCommandAPI &&)=default
+ Move construct from other HueCommandAPI . More...
+
+HueCommandAPI & operator= (const HueCommandAPI &)=default
+ Copy assign from other HueCommandAPI . More...
+
+HueCommandAPI & operator= (HueCommandAPI &&)=default
+ Move assign from other HueCommandAPI . More...
+
+nlohmann::json PUTRequest (const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const
+ Sends a HTTP PUT request to the bridge and returns the response. More...
+
+nlohmann::json PUTRequest (const std::string &path, const nlohmann::json &request) const
+
+nlohmann::json GETRequest (const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const
+ Sends a HTTP GET request to the bridge and returns the response. More...
+
+nlohmann::json GETRequest (const std::string &path, const nlohmann::json &request) const
+
+nlohmann::json DELETERequest (const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const
+ Sends a HTTP DELETE request to the bridge and returns the response. More...
+
+nlohmann::json DELETERequest (const std::string &path, const nlohmann::json &request) const
+
+nlohmann::json POSTRequest (const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const
+ Sends a HTTP POST request to the bridge and returns the response. More...
+
+nlohmann::json POSTRequest (const std::string &path, const nlohmann::json &request) const
+
+std::string combinedPath (const std::string &path) const
+ Combines path with api prefix and username. More...
+
+
+
+
Handles communication to the bridge via IHttpHandler and enforces a timeout between each request
+
+
+
◆ HueCommandAPI() [1/3]
+
+
+
+
+
+ hueplusplus::HueCommandAPI::HueCommandAPI
+ (
+ const std::string &
+ ip ,
+
+
+
+
+ int
+ port ,
+
+
+
+
+ const std::string &
+ username ,
+
+
+
+
+ std::shared_ptr< const IHttpHandler >
+ httpHandler
+
+
+
+ )
+
+
+
+
+
+
Construct from ip, username and HttpHandler.
+
Parameters
+
+ ip ip address of the Hue bridge in dotted decimal notation like "192.168.2.1"
+ port of the hue bridge
+ username username that is used to control the bridge
+ httpHandler HttpHandler for communication with the bridge
+
+
+
+
+
+
+
+
◆ HueCommandAPI() [2/3]
+
+
+
+
+
+
+
+
+ hueplusplus::HueCommandAPI::HueCommandAPI
+ (
+ const HueCommandAPI &
+ )
+
+
+
+
+
+default
+
+
+
+
+
Copy construct from other HueCommandAPI .
+
Note All copies refer to the same timeout data, so even calls from different objects will be delayed
+
+
+
+
+
◆ HueCommandAPI() [3/3]
+
+
+
+
+
+
+
+
+ hueplusplus::HueCommandAPI::HueCommandAPI
+ (
+ HueCommandAPI &&
+ )
+
+
+
+
+
+default
+
+
+
+
+
Move construct from other HueCommandAPI .
+
Note All copies refer to the same timeout data, so even calls from different objects will be delayed
+
+
+
+
+
+
◆ combinedPath()
+
+
+
+
+
+ std::string hueplusplus::HueCommandAPI::combinedPath
+ (
+ const std::string &
+ path )
+ const
+
+
+
+
+
Combines path with api prefix and username.
+
Returns "/api/<username>/<path>"
+
+
+
+
+
◆ DELETERequest() [1/2]
+
+
+
+
+
+ nlohmann::json hueplusplus::HueCommandAPI::DELETERequest
+ (
+ const std::string &
+ path ,
+
+
+
+
+ const nlohmann::json &
+ request ,
+
+
+
+
+ FileInfo
+ fileInfo
+
+
+
+ )
+ const
+
+
+
+
+
Sends a HTTP DELETE request to the bridge and returns the response.
+
This function will block until at least Config::getBridgeRequestDelay() has passed to any previous request
Parameters
+
+ path API request path (appended after /api/{username})
+ request Request to the api, may be empty
+ fileInfo File information for thrown exceptions.
+
+
+
+
Returns The return value of the underlying IHttpHandler::DELETEJson call
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contains no body
+ HueAPIResponseException when response contains an error
+ nlohmann::json::parse_error when response could not be parsed
+
+
+
+
+
+
+
+
◆ DELETERequest() [2/2]
+
+
+
+
+
+ nlohmann::json hueplusplus::HueCommandAPI::DELETERequest
+ (
+ const std::string &
+ path ,
+
+
+
+
+ const nlohmann::json &
+ request
+
+
+
+ )
+ const
+
+
+
+
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
+
+
+
+
+
◆ GETRequest() [1/2]
+
+
+
+
+
+ nlohmann::json hueplusplus::HueCommandAPI::GETRequest
+ (
+ const std::string &
+ path ,
+
+
+
+
+ const nlohmann::json &
+ request ,
+
+
+
+
+ FileInfo
+ fileInfo
+
+
+
+ )
+ const
+
+
+
+
+
Sends a HTTP GET request to the bridge and returns the response.
+
This function will block until at least Config::getBridgeRequestDelay() has passed to any previous request
Parameters
+
+ path API request path (appended after /api/{username})
+ request Request to the api, may be empty
+ fileInfo File information for thrown exceptions.
+
+
+
+
Returns The return value of the underlying IHttpHandler::GETJson call
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contains no body
+ HueAPIResponseException when response contains an error
+ nlohmann::json::parse_error when response could not be parsed
+
+
+
+
+
+
+
+
◆ GETRequest() [2/2]
+
+
+
+
+
+ nlohmann::json hueplusplus::HueCommandAPI::GETRequest
+ (
+ const std::string &
+ path ,
+
+
+
+
+ const nlohmann::json &
+ request
+
+
+
+ )
+ const
+
+
+
+
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
+
+
+
+
+
◆ operator=() [1/2]
+
+
+
+
+
Copy assign from other HueCommandAPI .
+
Note All copies refer to the same timeout data, so even calls from different objects will be delayed
+
+
+
+
+
◆ operator=() [2/2]
+
+
+
+
+
Move assign from other HueCommandAPI .
+
Note All copies refer to the same timeout data, so even calls from different objects will be delayed
+
+
+
+
+
◆ POSTRequest() [1/2]
+
+
+
+
+
+ nlohmann::json hueplusplus::HueCommandAPI::POSTRequest
+ (
+ const std::string &
+ path ,
+
+
+
+
+ const nlohmann::json &
+ request ,
+
+
+
+
+ FileInfo
+ fileInfo
+
+
+
+ )
+ const
+
+
+
+
+
Sends a HTTP POST request to the bridge and returns the response.
+
This function will block until at least Config::getBridgeRequestDelay() has passed to any previous request
Parameters
+
+ path API request path (appended after /api/{username})
+ request Request to the api, may be empty
+ fileInfo File information for thrown exceptions.
+
+
+
+
Returns The return value of the underlying IHttpHandler::POSTJson call
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contains no body
+ HueAPIResponseException when response contains an error
+ nlohmann::json::parse_error when response could not be parsed
+
+
+
+
+
+
+
+
◆ POSTRequest() [2/2]
+
+
+
+
+
+ nlohmann::json hueplusplus::HueCommandAPI::POSTRequest
+ (
+ const std::string &
+ path ,
+
+
+
+
+ const nlohmann::json &
+ request
+
+
+
+ )
+ const
+
+
+
+
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
+
+
+
+
+
◆ PUTRequest() [1/2]
+
+
+
+
+
+ nlohmann::json hueplusplus::HueCommandAPI::PUTRequest
+ (
+ const std::string &
+ path ,
+
+
+
+
+ const nlohmann::json &
+ request ,
+
+
+
+
+ FileInfo
+ fileInfo
+
+
+
+ )
+ const
+
+
+
+
+
Sends a HTTP PUT request to the bridge and returns the response.
+
This function will block until at least Config::getBridgeRequestDelay() has passed to any previous request
Parameters
+
+ path API request path (appended after /api/{username})
+ request Request to the api, may be empty
+ fileInfo File information for thrown exceptions.
+
+
+
+
Returns The return value of the underlying IHttpHandler::PUTJson call
+
Exceptions
+
+
+
+
+
+
+
+
◆ PUTRequest() [2/2]
+
+
+
+
+
+ nlohmann::json hueplusplus::HueCommandAPI::PUTRequest
+ (
+ const std::string &
+ path ,
+
+
+
+
+ const nlohmann::json &
+ request
+
+
+
+ )
+ const
+
+
+
+
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_hue_exception-members.html a/classhueplusplus_1_1_hue_exception-members.html
new file mode 100644
index 0000000..7a0fe8d
--- /dev/null
+++ a/classhueplusplus_1_1_hue_exception-members.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::HueException , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_hue_exception.html a/classhueplusplus_1_1_hue_exception.html
new file mode 100644
index 0000000..8f79eb3
--- /dev/null
+++ a/classhueplusplus_1_1_hue_exception.html
@@ -0,0 +1,277 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::HueException Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Exception class with file information. Base class of all custom exception classes.
+ More...
+
+
#include <hueplusplus/HueException.h >
+
+
+
+
+
+
+
+
+
+
+
Exception class with file information. Base class of all custom exception classes.
+
+
+
◆ HueException() [1/2]
+
+
+
+
+
+ hueplusplus::HueException::HueException
+ (
+ FileInfo
+ fileInfo ,
+
+
+
+
+ const std::string &
+ message
+
+
+
+ )
+
+
+
+
+
+
Creates HueException with information about the error and source.
+
Parameters
+
+ fileInfo Source of the error. Must not always be the throw location, can also be a calling function which matches the cause better.
+ message Human readable error message.
+
+
+
+
+
+
+
+
◆ HueException() [2/2]
+
+
+
+
+
+
+
+
+ hueplusplus::HueException::HueException
+ (
+ const char *
+ exceptionName ,
+
+
+
+
+ FileInfo
+ fileInfo ,
+
+
+
+
+ const std::string &
+ message
+
+
+
+ )
+
+
+
+
+
+protected
+
+
+
+
+
Creates HueException with child class name.
+
Should be used by subclasses which can append additional information to the end of whatMessage.
Parameters
+
+ exceptionName class name of the subclass
+ fileInfo Source of the error. Must not always be the throw location, can also be a calling function which matches the cause better.
+ message Human readable error message
+
+
+
+
+
+
+
+
+
◆ GetFile()
+
+
+
+
+
+
+
+
+ const FileInfo & hueplusplus::HueException::GetFile
+ (
+ )
+ const
+
+
+
+
+noexcept
+
+
+
+
+
Filename and line where the exception was thrown or caused by.
+
+
+
+
+
◆ what()
+
+
+
+
+
+
+
+
+ const char * hueplusplus::HueException::what
+ (
+ )
+ const
+
+
+
+
+override noexcept
+
+
+
+
+
What message of the exception.
+
Returns exception name, file info and constructor message as char* into member string
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_hue_exception__coll__graph.map a/classhueplusplus_1_1_hue_exception__coll__graph.map
new file mode 100644
index 0000000..41f1586
--- /dev/null
+++ a/classhueplusplus_1_1_hue_exception__coll__graph.map
@@ -0,0 +1,2 @@
+
+
diff --git b/classhueplusplus_1_1_hue_exception__coll__graph.md5 a/classhueplusplus_1_1_hue_exception__coll__graph.md5
new file mode 100644
index 0000000..c5435d7
--- /dev/null
+++ a/classhueplusplus_1_1_hue_exception__coll__graph.md5
@@ -0,0 +1 @@
+3f0e23de4d4fd1a6953fa8689b35ea9b
\ No newline at end of file
diff --git b/classhueplusplus_1_1_hue_exception__coll__graph.png a/classhueplusplus_1_1_hue_exception__coll__graph.png
new file mode 100644
index 0000000..479e03b
--- /dev/null
+++ a/classhueplusplus_1_1_hue_exception__coll__graph.png
diff --git b/classhueplusplus_1_1_hue_exception__inherit__graph.map a/classhueplusplus_1_1_hue_exception__inherit__graph.map
new file mode 100644
index 0000000..4c244c9
--- /dev/null
+++ a/classhueplusplus_1_1_hue_exception__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_hue_exception__inherit__graph.md5 a/classhueplusplus_1_1_hue_exception__inherit__graph.md5
new file mode 100644
index 0000000..05b7d3b
--- /dev/null
+++ a/classhueplusplus_1_1_hue_exception__inherit__graph.md5
@@ -0,0 +1 @@
+a53f4493c9518e994e69c00bc1e94d5b
\ No newline at end of file
diff --git b/classhueplusplus_1_1_hue_exception__inherit__graph.png a/classhueplusplus_1_1_hue_exception__inherit__graph.png
new file mode 100644
index 0000000..d5ea7f4
--- /dev/null
+++ a/classhueplusplus_1_1_hue_exception__inherit__graph.png
diff --git b/classhueplusplus_1_1_i_http_handler-members.html a/classhueplusplus_1_1_i_http_handler-members.html
new file mode 100644
index 0000000..dca9b03
--- /dev/null
+++ a/classhueplusplus_1_1_i_http_handler-members.html
@@ -0,0 +1,94 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::IHttpHandler , including all inherited members.
+
+ DELETEJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandler pure virtual
+ DELETEString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandler pure virtual
+ GETJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandler pure virtual
+ GETString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandler pure virtual
+ POSTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandler pure virtual
+ POSTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandler pure virtual
+ PUTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandler pure virtual
+ PUTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandler pure virtual
+ send (const std::string &msg, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandler pure virtual
+ sendGetHTTPBody (const std::string &msg, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandler pure virtual
+ sendHTTPRequest (const std::string &method, const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandler pure virtual
+ sendMulticast (const std::string &msg, const std::string &adr="239.255.255.250", int port=1900, std::chrono::steady_clock::duration timeout=std::chrono::seconds(5)) const =0hueplusplus::IHttpHandler pure virtual
+ ~IHttpHandler ()=defaulthueplusplus::IHttpHandler virtual
+
+
+
+
+
diff --git b/classhueplusplus_1_1_i_http_handler.html a/classhueplusplus_1_1_i_http_handler.html
new file mode 100644
index 0000000..637eaeb
--- /dev/null
+++ a/classhueplusplus_1_1_i_http_handler.html
@@ -0,0 +1,1034 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::IHttpHandler Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Abstract class for classes that handle http requests and multicast requests.
+ More...
+
+
#include <hueplusplus/IHttpHandler.h >
+
+
+
+
+
+
+virtual ~IHttpHandler ()=default
+ Virtual dtor. More...
+
+virtual std::string send (const std::string &msg, const std::string &adr, int port=80) const =0
+ Send a message to a specified host and return the response. More...
+
+virtual std::string sendGetHTTPBody (const std::string &msg, const std::string &adr, int port=80) const =0
+ Send a message to a specified host and return the body of the response. More...
+
+virtual std::vector< std::string > sendMulticast (const std::string &msg, const std::string &adr="239.255.255.250", int port=1900, std::chrono::steady_clock::duration timeout=std::chrono::seconds(5)) const =0
+ Send a multicast request with a specified message. More...
+
+virtual std::string sendHTTPRequest (const std::string &method, const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0
+ Send a HTTP request with the given method to the specified host and return the body of the response. More...
+
+virtual std::string GETString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0
+ Send a HTTP GET request to the specified host and return the body of the response. More...
+
+virtual std::string POSTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0
+ Send a HTTP POST request to the specified host and return the body of the response. More...
+
+virtual std::string PUTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0
+ Send a HTTP PUT request to the specified host and return the body of the response. More...
+
+virtual std::string DELETEString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0
+ Send a HTTP DELETE request to the specified host and return the body of the response. More...
+
+virtual nlohmann::json GETJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0
+ Send a HTTP GET request to the specified host and return the body of the response parsed as JSON. More...
+
+virtual nlohmann::json POSTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0
+ Send a HTTP POST request to the specified host and return the body of the response parsed as JSON. More...
+
+virtual nlohmann::json PUTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0
+ Send a HTTP PUT request to the specified host and return the body of the response parsed as JSON. More...
+
+virtual nlohmann::json DELETEJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0
+ Send a HTTP DELETE request to the specified host and return the body of the response parsed as JSON. More...
+
+
+
+
Abstract class for classes that handle http requests and multicast requests.
+
+
+
◆ ~IHttpHandler()
+
+
+
+
+
+
+
+
+ virtual hueplusplus::IHttpHandler::~IHttpHandler
+ (
+ )
+
+
+
+
+
+virtual default
+
+
+
+
+
+
+
◆ DELETEJson()
+
+
+
+
+
+
+
+
+ virtual nlohmann::json hueplusplus::IHttpHandler::DELETEJson
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const nlohmann::json &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Send a HTTP DELETE request to the specified host and return the body of the response parsed as JSON.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80
+
+
+
+
Returns Parsed body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+ nlohmann::json::parse_error when the body could not be parsed
+
+
+
+
+
Implemented in hueplusplus::BaseHttpHandler .
+
+
+
+
+
◆ DELETEString()
+
+
+
+
+
+
+
+
+ virtual std::string hueplusplus::IHttpHandler::DELETEString
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const std::string &
+ contentType ,
+
+
+
+
+ const std::string &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Send a HTTP DELETE request to the specified host and return the body of the response.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ contentType MIME type of the body data e.g. "text/html", "application/json", ...
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80 that specifies the port to which the request is sent to. Default is 80
+
+
+
+
Returns Body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+
+
+
+
+
Implemented in hueplusplus::BaseHttpHandler .
+
+
+
+
+
◆ GETJson()
+
+
+
+
+
+
+
+
+ virtual nlohmann::json hueplusplus::IHttpHandler::GETJson
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const nlohmann::json &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Send a HTTP GET request to the specified host and return the body of the response parsed as JSON.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80
+
+
+
+
Returns Parsed body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+ nlohmann::json::parse_error when the body could not be parsed
+
+
+
+
+
Implemented in hueplusplus::BaseHttpHandler .
+
+
+
+
+
◆ GETString()
+
+
+
+
+
+
+
+
+ virtual std::string hueplusplus::IHttpHandler::GETString
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const std::string &
+ contentType ,
+
+
+
+
+ const std::string &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Send a HTTP GET request to the specified host and return the body of the response.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ contentType MIME type of the body data e.g. "text/html", "application/json", ...
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80 that specifies the port to which the request is sent to. Default is 80
+
+
+
+
Returns Body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+
+
+
+
+
Implemented in hueplusplus::BaseHttpHandler .
+
+
+
+
+
◆ POSTJson()
+
+
+
+
+
+
+
+
+ virtual nlohmann::json hueplusplus::IHttpHandler::POSTJson
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const nlohmann::json &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Send a HTTP POST request to the specified host and return the body of the response parsed as JSON.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80
+
+
+
+
Returns Parsed body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+ nlohmann::json::parse_error when the body could not be parsed
+
+
+
+
+
Implemented in hueplusplus::BaseHttpHandler .
+
+
+
+
+
◆ POSTString()
+
+
+
+
+
+
+
+
+ virtual std::string hueplusplus::IHttpHandler::POSTString
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const std::string &
+ contentType ,
+
+
+
+
+ const std::string &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Send a HTTP POST request to the specified host and return the body of the response.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ contentType MIME type of the body data e.g. "text/html", "application/json", ...
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80 that specifies the port to which the request is sent to. Default is 80
+
+
+
+
Returns Body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+
+
+
+
+
Implemented in hueplusplus::BaseHttpHandler .
+
+
+
+
+
◆ PUTJson()
+
+
+
+
+
+
+
+
+ virtual nlohmann::json hueplusplus::IHttpHandler::PUTJson
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const nlohmann::json &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Send a HTTP PUT request to the specified host and return the body of the response parsed as JSON.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80
+
+
+
+
Returns Parsed body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+ nlohmann::json::parse_error when the body could not be parsed
+
+
+
+
+
Implemented in hueplusplus::BaseHttpHandler .
+
+
+
+
+
◆ PUTString()
+
+
+
+
+
+
+
+
+ virtual std::string hueplusplus::IHttpHandler::PUTString
+ (
+ const std::string &
+ uri ,
+
+
+
+
+ const std::string &
+ contentType ,
+
+
+
+
+ const std::string &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Send a HTTP PUT request to the specified host and return the body of the response.
+
Parameters
+
+ uri Uniform Resource Identifier in the request
+ contentType MIME type of the body data e.g. "text/html", "application/json", ...
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80 that specifies the port to which the request is sent to. Default is 80
+
+
+
+
Returns Body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+
+
+
+
+
Implemented in hueplusplus::BaseHttpHandler .
+
+
+
+
+
◆ send()
+
+
+
+
+
+
+
+
+ virtual std::string hueplusplus::IHttpHandler::send
+ (
+ const std::string &
+ msg ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Send a message to a specified host and return the response.
+
Parameters
+
+ msg The message that should be sent to the specified address
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80
+
+
+
+
Returns The response of the host as a string
+
Exceptions
+
+ std::system_error when system or socket operations fail
+
+
+
+
+
Implemented in hueplusplus::WinHttpHandler , and hueplusplus::LinHttpHandler .
+
+
+
+
+
◆ sendGetHTTPBody()
+
+
+
+
+
+
+
+
+ virtual std::string hueplusplus::IHttpHandler::sendGetHTTPBody
+ (
+ const std::string &
+ msg ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Send a message to a specified host and return the body of the response.
+
Parameters
+
+ msg The message that should sent to the specified address
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80
+
+
+
+
Returns The body of the response of the host as a string
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+
+
+
+
+
Implemented in hueplusplus::BaseHttpHandler .
+
+
+
+
+
◆ sendHTTPRequest()
+
+
+
+
+
+
+
+
+ virtual std::string hueplusplus::IHttpHandler::sendHTTPRequest
+ (
+ const std::string &
+ method ,
+
+
+
+
+ const std::string &
+ uri ,
+
+
+
+
+ const std::string &
+ contentType ,
+
+
+
+
+ const std::string &
+ body ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Send a HTTP request with the given method to the specified host and return the body of the response.
+
Parameters
+
+ method HTTP method type e.g. GET, HEAD, POST, PUT, DELETE, ...
+ uri Uniform Resource Identifier in the request
+ contentType MIME type of the body data e.g. "text/html", "application/json", ...
+ body Request body, may be empty
+ adr Ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional port the request is sent to, default is 80
+
+
+
+
Returns Body of the response of the host
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contained no body
+
+
+
+
+
Implemented in hueplusplus::BaseHttpHandler .
+
+
+
+
+
◆ sendMulticast()
+
+
+
+
+
+
+
+
+ virtual std::vector<std::string> hueplusplus::IHttpHandler::sendMulticast
+ (
+ const std::string &
+ msg ,
+
+
+
+
+ const std::string &
+ adr = "239.255.255.250",
+
+
+
+
+ int
+ port = 1900,
+
+
+
+
+ std::chrono::steady_clock::duration
+ timeout = std::chrono::seconds(5)
+
+
+
+ )
+ const
+
+
+
+
+pure virtual
+
+
+
+
+
Send a multicast request with a specified message.
+
Parameters
+
+ msg The message that should sent to the specified multicast address
+ adr Optional ip or hostname in dotted decimal notation, default is "239.255.255.250"
+ port Optional port the request is sent to, default is 1900
+ timeout Optional time to wait for responses, default is 5 seconds
+
+
+
+
Blocks for the duration of the timeout.
+
Returns vector of strings containing each received answer
+
Exceptions
+
+ std::system_error when system or socket operations fail
+
+
+
+
+
Implemented in hueplusplus::WinHttpHandler , and hueplusplus::LinHttpHandler .
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_i_http_handler__inherit__graph.map a/classhueplusplus_1_1_i_http_handler__inherit__graph.map
new file mode 100644
index 0000000..0852b81
--- /dev/null
+++ a/classhueplusplus_1_1_i_http_handler__inherit__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/classhueplusplus_1_1_i_http_handler__inherit__graph.md5 a/classhueplusplus_1_1_i_http_handler__inherit__graph.md5
new file mode 100644
index 0000000..987eb1d
--- /dev/null
+++ a/classhueplusplus_1_1_i_http_handler__inherit__graph.md5
@@ -0,0 +1 @@
+52d612123cd0b18df333d18feb66dec1
\ No newline at end of file
diff --git b/classhueplusplus_1_1_i_http_handler__inherit__graph.png a/classhueplusplus_1_1_i_http_handler__inherit__graph.png
new file mode 100644
index 0000000..feb5654
--- /dev/null
+++ a/classhueplusplus_1_1_i_http_handler__inherit__graph.png
diff --git b/classhueplusplus_1_1_light-members.html a/classhueplusplus_1_1_light-members.html
new file mode 100644
index 0000000..9fed5a8
--- /dev/null
+++ a/classhueplusplus_1_1_light-members.html
@@ -0,0 +1,147 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::Light , including all inherited members.
+
+ alert ()hueplusplus::Light virtual
+ alertHueSaturation (const HueSaturation &hueSat)hueplusplus::Light inline virtual
+ alertTemperature (unsigned int mired)hueplusplus::Light inline virtual
+ alertXY (const XYBrightness &xy)hueplusplus::Light inline virtual
+ BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDevice protected
+ BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)hueplusplus::BaseDevice protected
+ brightnessStrategy hueplusplus::Light protected
+ colorHueStrategy hueplusplus::Light protected
+ colorTemperatureStrategy hueplusplus::Light protected
+ colorType hueplusplus::Light protected
+ ExtendedColorHueStrategy classhueplusplus::Light friend
+ ExtendedColorTemperatureStrategy classhueplusplus::Light friend
+ getBrightness () consthueplusplus::Light inline virtual
+ getBrightness ()hueplusplus::Light inline virtual
+ getColorGamut () consthueplusplus::Light
+ getColorHueSaturation () consthueplusplus::Light inline virtual
+ getColorHueSaturation ()hueplusplus::Light inline virtual
+ getColorTemperature () consthueplusplus::Light inline virtual
+ getColorTemperature ()hueplusplus::Light inline virtual
+ getColorType () consthueplusplus::Light virtual
+ getColorXY () consthueplusplus::Light inline virtual
+ getColorXY ()hueplusplus::Light inline virtual
+ getId () consthueplusplus::BaseDevice virtual
+ getLuminaireUId () consthueplusplus::Light virtual
+ getManufacturername () consthueplusplus::BaseDevice virtual
+ getModelId () consthueplusplus::BaseDevice virtual
+ getName ()hueplusplus::BaseDevice virtual
+ getName () consthueplusplus::BaseDevice virtual
+ getProductname () consthueplusplus::BaseDevice virtual
+ getSwVersion ()hueplusplus::BaseDevice virtual
+ getSwVersion () consthueplusplus::BaseDevice virtual
+ getType () consthueplusplus::BaseDevice virtual
+ getUId () consthueplusplus::BaseDevice virtual
+ hasBrightnessControl () consthueplusplus::Light inline virtual
+ hasColorControl () consthueplusplus::Light inline virtual
+ hasTemperatureControl () consthueplusplus::Light inline virtual
+ id hueplusplus::BaseDevice protected
+ isOn ()hueplusplus::Light virtual
+ isOn () consthueplusplus::Light virtual
+ Light (int id, const HueCommandAPI &commands)hueplusplus::Light protected
+ Light (int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::Light protected
+ Light (int id, const HueCommandAPI &commands, std::shared_ptr< const BrightnessStrategy > brightnessStrategy, std::shared_ptr< const ColorTemperatureStrategy > colorTempStrategy, std::shared_ptr< const ColorHueStrategy > colorHueStrategy, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)hueplusplus::Light protected
+ LightFactory classhueplusplus::Light friend
+ off (uint8_t transition=4)hueplusplus::Light virtual
+ on (uint8_t transition=4)hueplusplus::Light virtual
+ refresh (bool force=false)hueplusplus::BaseDevice virtual
+ sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDevice protected virtual
+ setBrightness (unsigned int bri, uint8_t transition=4)hueplusplus::Light inline virtual
+ setBrightnessStrategy (std::shared_ptr< const BrightnessStrategy > strat)hueplusplus::Light inline protected virtual
+ setColorHue (uint16_t hue, uint8_t transition=4)hueplusplus::Light inline virtual
+ setColorHueSaturation (const HueSaturation &hueSat, uint8_t transition=4)hueplusplus::Light inline virtual
+ setColorHueStrategy (std::shared_ptr< const ColorHueStrategy > strat)hueplusplus::Light inline protected virtual
+ setColorLoop (bool on)hueplusplus::Light inline virtual
+ setColorRGB (const RGB &rgb, uint8_t transition=4)hueplusplus::Light inline virtual
+ setColorSaturation (uint8_t sat, uint8_t transition=4)hueplusplus::Light inline virtual
+ setColorTemperature (unsigned int mired, uint8_t transition=4)hueplusplus::Light inline virtual
+ setColorTemperatureStrategy (std::shared_ptr< const ColorTemperatureStrategy > strat)hueplusplus::Light inline protected virtual
+ setColorXY (const XYBrightness &xy, uint8_t transition=4)hueplusplus::Light inline virtual
+ setName (const std::string &name)hueplusplus::BaseDevice virtual
+ setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevice virtual
+ SimpleBrightnessStrategy classhueplusplus::Light friend
+ SimpleColorHueStrategy classhueplusplus::Light friend
+ SimpleColorTemperatureStrategy classhueplusplus::Light friend
+ state hueplusplus::BaseDevice protected
+ transaction ()hueplusplus::Light virtual
+ ~BaseDevice ()=defaulthueplusplus::BaseDevice virtual
+
+
+
+
+
diff --git b/classhueplusplus_1_1_light.html a/classhueplusplus_1_1_light.html
new file mode 100644
index 0000000..2791a02
--- /dev/null
+++ a/classhueplusplus_1_1_light.html
@@ -0,0 +1,2077 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::Light Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Class for Hue Light fixtures.
+ More...
+
+
#include <hueplusplus/Light.h >
+
+
+
+
+
+
+
+
+
+
+
+virtual std::string getLuminaireUId () const
+ Const function that returns the luminaireuniqueid of the light. More...
+
+virtual ColorType getColorType () const
+ Const function that returns the color type of the light. More...
+
+ColorGamut getColorGamut () const
+ Get gamut space of possible light colors. More...
+
+
+virtual bool on (uint8_t transition=4)
+ Function that turns the light on. More...
+
+virtual bool off (uint8_t transition=4)
+ Function that turns the light off. More...
+
+virtual bool isOn ()
+ Function to check whether a light is on or off. More...
+
+virtual bool isOn () const
+ Const function to check whether a light is on or off. More...
+
+virtual bool hasBrightnessControl () const
+ Const function to check whether this light has brightness control. More...
+
+virtual bool hasTemperatureControl () const
+ Const function to check whether this light has color temperature control. More...
+
+virtual bool hasColorControl () const
+ Connst function to check whether this light has full color control. More...
+
+virtual bool setBrightness (unsigned int bri, uint8_t transition=4)
+ Function that sets the brightness of this light. More...
+
+virtual unsigned int getBrightness () const
+ Const function that returns the brightness of this light. More...
+
+virtual unsigned int getBrightness ()
+ Function that returns the brightness of this light. More...
+
+virtual bool setColorTemperature (unsigned int mired, uint8_t transition=4)
+ Function that sets the color temperature of this light in mired. More...
+
+virtual unsigned int getColorTemperature () const
+ Const function that returns the current color temperature of the light. More...
+
+virtual unsigned int getColorTemperature ()
+ Function that returns the current color temperature of the light. More...
+
+virtual bool setColorHue (uint16_t hue, uint8_t transition=4)
+ Function to set the color of this light with specified hue. More...
+
+virtual bool setColorSaturation (uint8_t sat, uint8_t transition=4)
+ Function to set the color of this light with specified saturation. More...
+
+virtual bool setColorHueSaturation (const HueSaturation &hueSat, uint8_t transition=4)
+ Function to set the color of this light with specified hue and saturation. More...
+
+virtual HueSaturation getColorHueSaturation () const
+ Const function that returns the current color of the light as hue and saturation. More...
+
+virtual HueSaturation getColorHueSaturation ()
+ Function that returns the current color of the light as hue and saturation. More...
+
+virtual bool setColorXY (const XYBrightness &xy, uint8_t transition=4)
+ Function to set the color of this light in CIE with specified x y. More...
+
+virtual XYBrightness getColorXY () const
+ Const function that returns the current color of the light as xy. More...
+
+virtual XYBrightness getColorXY ()
+ Function that returns the current color of the light as xy. More...
+
+virtual bool setColorRGB (const RGB &rgb, uint8_t transition=4)
+ Function to set the color of this light with red green and blue values. More...
+
+virtual bool alert ()
+ Function that lets the light perform one breath cycle. More...
+
+virtual bool alertTemperature (unsigned int mired)
+ Function that lets the light perform one breath cycle in specified color temperature. More...
+
+virtual bool alertHueSaturation (const HueSaturation &hueSat)
+ Function that lets the light perform one breath cycle in specified color. More...
+
+virtual bool alertXY (const XYBrightness &xy)
+ Function that lets the light perform one breath cycle in specified color. More...
+
+virtual bool setColorLoop (bool on )
+ Function to turn colorloop effect on/off. More...
+
+virtual StateTransaction transaction ()
+ Create a transaction for this light. More...
+
+
+virtual ~BaseDevice ()=default
+ Virtual destructor. More...
+
+virtual int getId () const
+ Const function that returns the id of this device. More...
+
+virtual std::string getType () const
+ Const function that returns the device type. More...
+
+virtual std::string getName ()
+ Function that returns the name of the device. More...
+
+virtual std::string getName () const
+ Const function that returns the name of the device. More...
+
+virtual std::string getModelId () const
+ Const function that returns the modelid of the device. More...
+
+virtual std::string getUId () const
+ Const function that returns the uniqueid of the device. More...
+
+virtual std::string getManufacturername () const
+ Const function that returns the manufacturername of the device. More...
+
+virtual std::string getProductname () const
+ Const function that returns the productname of the device. More...
+
+virtual std::string getSwVersion ()
+ Function that returns the software version of the device. More...
+
+virtual std::string getSwVersion () const
+ Const function that returns the software version of the device. More...
+
+virtual bool setName (const std::string &name)
+ Function that sets the name of the device. More...
+
+virtual void refresh (bool force=false)
+ Refreshes internal cached state. More...
+
+virtual void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+ Sets custom refresh interval for this device. More...
+
+
+
+ Light (int id , const HueCommandAPI &commands)
+ Protected ctor that is used by LightFactory . More...
+
+ Light (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by LightFactory . More...
+
+ Light (int id , const HueCommandAPI &commands, std::shared_ptr< const BrightnessStrategy > brightnessStrategy , std::shared_ptr< const ColorTemperatureStrategy > colorTempStrategy, std::shared_ptr< const ColorHueStrategy > colorHueStrategy , std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)
+ Protected ctor that is used by LightFactory , also sets strategies. More...
+
+virtual void setBrightnessStrategy (std::shared_ptr< const BrightnessStrategy > strat)
+ Protected function that sets the brightness strategy. More...
+
+virtual void setColorTemperatureStrategy (std::shared_ptr< const ColorTemperatureStrategy > strat)
+ Protected function that sets the colorTemperature strategy. More...
+
+virtual void setColorHueStrategy (std::shared_ptr< const ColorHueStrategy > strat)
+ Protected function that sets the colorHue strategy. More...
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+
+
Class for Hue Light fixtures.
+
Provides methods to query and control lights.
+
+
+
◆ Light() [1/3]
+
+
+
+
+
+
+
+
+ hueplusplus::Light::Light
+ (
+ int
+ id ,
+
+
+
+
+ const HueCommandAPI &
+ commands
+
+
+
+ )
+
+
+
+
+
+protected
+
+
+
+
+
Protected ctor that is used by LightFactory .
+
Parameters
+
+ id Integer that specifies the id of this light
+ commands HueCommandAPI for communication with the bridge
+
+
+
+
leaves strategies unset
+
+
+
+
+
◆ Light() [2/3]
+
+
+
+
+
+
+
+
+ hueplusplus::Light::Light
+ (
+ int
+ id ,
+
+
+
+
+ const std::shared_ptr< APICache > &
+ baseCache
+
+
+
+ )
+
+
+
+
+
+protected
+
+
+
+
+
Protected ctor that is used by LightFactory .
+
Parameters
+
+ id Integer that specifies the id of this light
+ baseCache Cache of the light list (must not be null).
+
+
+
+
leaves strategies unset
+
+
+
+
+
◆ Light() [3/3]
+
+
+
+
+
+
+
+
+ hueplusplus::Light::Light
+ (
+ int
+ id ,
+
+
+
+
+ const HueCommandAPI &
+ commands ,
+
+
+
+
+ std::shared_ptr< const BrightnessStrategy >
+ brightnessStrategy ,
+
+
+
+
+ std::shared_ptr< const ColorTemperatureStrategy >
+ colorTempStrategy ,
+
+
+
+
+ std::shared_ptr< const ColorHueStrategy >
+ colorHueStrategy ,
+
+
+
+
+ std::chrono::steady_clock::duration
+ refreshDuration ,
+
+
+
+
+ const nlohmann::json &
+ currentState
+
+
+
+ )
+
+
+
+
+
+protected
+
+
+
+
+
Protected ctor that is used by LightFactory , also sets strategies.
+
Parameters
+
+ id Integer that specifies the id of this light
+ commands HueCommandAPI for communication with the bridge
+ brightnessStrategy Strategy for brightness. May be nullptr.
+ colorTempStrategy Strategy for color temperature. May be nullptr.
+ colorHueStrategy Strategy for color hue/saturation. May be nullptr.
+ refreshDuration Time between refreshing the cached state. Can be 0 to always refresh, or steady_clock::duration::max() to never refresh.
+ currentState The current light state, may be null.
+
+
+
+
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
+
+
+
+
+
+
+
+
+
◆ alert()
+
+
+
+
+
+
+
+
+ bool hueplusplus::Light::alert
+ (
+ )
+
+
+
+
+
+virtual
+
+
+
+
+
Function that lets the light perform one breath cycle.
+
Can be used for locating a light.
Returns bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ alertHueSaturation()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::alertHueSaturation
+ (
+ const HueSaturation &
+ hueSat )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function that lets the light perform one breath cycle in specified color.
+
Note The breath cylce will only be performed if the light has a reference to a specific ColorHueStrategy .
+
Parameters
+
+ hueSat Color in hue and saturation
+
+
+
+
Returns Bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ alertTemperature()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::alertTemperature
+ (
+ unsigned int
+ mired )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function that lets the light perform one breath cycle in specified color temperature.
+
Note The breath cylce will only be performed if the light has a reference to a specific ColorTemperatureStrategy .
+
Parameters
+
+ mired Color temperature in mired
+
+
+
+
Returns Bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ alertXY()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::alertXY
+ (
+ const XYBrightness &
+ xy )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function that lets the light perform one breath cycle in specified color.
+
Note The breath cylce will only be performed if the light has a reference to a specific ColorHueStrategy .
+
Parameters
+
+ xy The x,y coordinates in CIE and brightness
+
+
+
+
Returns Bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ getBrightness() [1/2]
+
+
+
+
+
+
+
+
+ virtual unsigned int hueplusplus::Light::getBrightness
+ (
+ )
+ const
+
+
+
+
+inline virtual
+
+
+
+
+
Const function that returns the brightness of this light.
+
Note The brightness will only be returned if the light has a reference to a specific BrightnessStrategy .
+
+This will not refresh the light state The brightness can range from 0 = off to 254 = fully lit.
+
Returns Unsigned int that is 0 when function failed
+
+
+
+
+
◆ getBrightness() [2/2]
+
+
+
+
+
+
+
+
+ virtual unsigned int hueplusplus::Light::getBrightness
+ (
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function that returns the brightness of this light.
+
Note The brightness will only be returned if the light has a reference to a specific BrightnessStrategy . The brightness can range from 0 = off to 254 = fully lit.
+
Returns Unsigned int that is 0 when function failed
+
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
+
+
+
+
+
+
+
+
◆ getColorGamut()
+
+
+
+
+
+ ColorGamut hueplusplus::Light::getColorGamut
+ (
+ )
+ const
+
+
+
+
+
Get gamut space of possible light colors.
+
Returns Used gamut, or gamut::maxGamut when unknown.
+
+
+
+
+
◆ getColorHueSaturation() [1/2]
+
+
+
+
+
+
+
+
+ virtual HueSaturation hueplusplus::Light::getColorHueSaturation
+ (
+ )
+ const
+
+
+
+
+inline virtual
+
+
+
+
+
Const function that returns the current color of the light as hue and saturation.
+
Note The color hue and saturation will only be returned when the light has a reference to a specific ColorHueStrategy .
+
+This will not refresh the light state
+
Returns Current hue and saturation or {0,0} when failed
+
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
+
+
+
+
+
+
+
+
◆ getColorHueSaturation() [2/2]
+
+
+
+
+
+
+
+
+ virtual HueSaturation hueplusplus::Light::getColorHueSaturation
+ (
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function that returns the current color of the light as hue and saturation.
+
Note The color hue and saturation will only be returned when the light has a reference to a specific ColorHueStrategy . Updates the lights state by calling refreshState()
+
Returns Current hue and saturation or {0,0} when failed
+
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
+
+
+
+
+
+
+
+
◆ getColorTemperature() [1/2]
+
+
+
+
+
+
+
+
+ virtual unsigned int hueplusplus::Light::getColorTemperature
+ (
+ )
+ const
+
+
+
+
+inline virtual
+
+
+
+
+
Const function that returns the current color temperature of the light.
+
Note The color temperature will only be returned when the light has a reference to a specific ColorTemperatureStrategy .
+
+This will not refresh the light state The color temperature in mired ranges from 153 to 500 whereas 153 is cold and 500 is warm.
+
Returns Unsigned int representing the color temperature in mired or 0 when failed
+
+
+
+
+
◆ getColorTemperature() [2/2]
+
+
+
+
+
+
+
+
+ virtual unsigned int hueplusplus::Light::getColorTemperature
+ (
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function that returns the current color temperature of the light.
+
Note The color temperature will only be returned when the light has a reference to a specific ColorTemperatureStrategy . Updates the lights state by calling refreshState() The color temperature in mired ranges from 153 to 500 whereas 153 is cold and 500 is warm.
+
Returns Unsigned int representing the color temperature in mired or 0 when failed
+
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
+
+
+
+
+
+
+
+
◆ getColorType()
+
+
+
+
+
+
+
+
+ ColorType hueplusplus::Light::getColorType
+ (
+ )
+ const
+
+
+
+
+virtual
+
+
+
+
+
Const function that returns the color type of the light.
+
Returns ColorType containig the color type of the light
+
+
+
+
+
◆ getColorXY() [1/2]
+
+
+
+
+
+
+
+
+ virtual XYBrightness hueplusplus::Light::getColorXY
+ (
+ )
+ const
+
+
+
+
+inline virtual
+
+
+
+
+
Const function that returns the current color of the light as xy.
+
Note The color x and y will only be returned when the light has a reference to a specific ColorHueStrategy .
+
+This does not update the lights state
+
Returns XYBrightness with x, y and brightness or an empty one (all 0) when failed
+
+
+
+
+
◆ getColorXY() [2/2]
+
+
+
+
+
+
+
+
+ virtual XYBrightness hueplusplus::Light::getColorXY
+ (
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function that returns the current color of the light as xy.
+
Note The color x and y will only be returned when the light has a reference to a specific ColorHueStrategy . Updates the lights state by calling refreshState()
+
Returns XYBrightness with x, y and brightness or an empty one (all 0) when failed
+
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
+
+
+
+
+
+
+
+
◆ getLuminaireUId()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::Light::getLuminaireUId
+ (
+ )
+ const
+
+
+
+
+virtual
+
+
+
+
+
Const function that returns the luminaireuniqueid of the light.
+
Note Only working on bridges with versions starting at 1.9
+
Returns String containing the luminaireuniqueid or an empty string when the function is not supported
+
+
+
+
+
◆ hasBrightnessControl()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::hasBrightnessControl
+ (
+ )
+ const
+
+
+
+
+inline virtual
+
+
+
+
+
Const function to check whether this light has brightness control.
+
Returns Bool that is true when the light has specified abilities and false when not
+
+
+
+
+
◆ hasColorControl()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::hasColorControl
+ (
+ )
+ const
+
+
+
+
+inline virtual
+
+
+
+
+
Connst function to check whether this light has full color control.
+
Returns Bool that is true when the light has specified abilities and false when not
+
+
+
+
+
◆ hasTemperatureControl()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::hasTemperatureControl
+ (
+ )
+ const
+
+
+
+
+inline virtual
+
+
+
+
+
Const function to check whether this light has color temperature control.
+
Returns Bool that is true when the light has specified abilities and false when not
+
+
+
+
+
◆ isOn() [1/2]
+
+
+
+
+
+
+
+
+ bool hueplusplus::Light::isOn
+ (
+ )
+
+
+
+
+
+virtual
+
+
+
+
+
Function to check whether a light is on or off.
+
Returns Bool that is true, when the light is on and false, when off
+
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
+
+
+
+
+
+
+
+
◆ isOn() [2/2]
+
+
+
+
+
+
+
+
+ bool hueplusplus::Light::isOn
+ (
+ )
+ const
+
+
+
+
+virtual
+
+
+
+
+
Const function to check whether a light is on or off.
+
Note This will not refresh the light state
+
Returns Bool that is true, when the light is on and false, when off
+
+
+
+
+
◆ off()
+
+
+
+
+
+
+
+
+ bool hueplusplus::Light::off
+ (
+ uint8_t
+ transition = 4)
+
+
+
+
+
+virtual
+
+
+
+
+
Function that turns the light off.
+
Parameters
+
+ transition Optional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
+
Returns Bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ on()
+
+
+
+
+
+
+
+
+ bool hueplusplus::Light::on
+ (
+ uint8_t
+ transition = 4)
+
+
+
+
+
+virtual
+
+
+
+
+
Function that turns the light on.
+
Parameters
+
+ transition Optional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
+
Returns true on success
+
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
+
+
+
+
+
+
+
+
◆ setBrightness()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::setBrightness
+ (
+ unsigned int
+ bri ,
+
+
+
+
+ uint8_t
+ transition = 4
+
+
+
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function that sets the brightness of this light.
+
Note The brightness will only be set if the light has a reference to a specific BrightnessStrategy . The brightness can range from 0 = off to 254 = fully lit.
+
Parameters
+
+ bri Unsigned int that specifies the brightness
+ transition Optional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
+
Returns Bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ setBrightnessStrategy()
+
+
+
+
+
+
+
+
+ virtual void hueplusplus::Light::setBrightnessStrategy
+ (
+ std::shared_ptr< const BrightnessStrategy >
+ strat )
+
+
+
+
+
+inline protected virtual
+
+
+
+
+
Protected function that sets the brightness strategy.
+
The strategy defines how specific commands that deal with brightness control are executed
Parameters
+
+
+
+
+
+
+
+
◆ setColorHue()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::setColorHue
+ (
+ uint16_t
+ hue ,
+
+
+
+
+ uint8_t
+ transition = 4
+
+
+
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function to set the color of this light with specified hue.
+
Note The color will only be set if the light has a reference to a specific ColorHueStrategy . The hue can range from 0 to 65535, whereas 65535 and 0 are red, 25500 is green and 46920 is blue.
+
Parameters
+
+ hue uint16_t that specifies the hue
+ transition Optional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
+
Returns Bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ setColorHueSaturation()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::setColorHueSaturation
+ (
+ const HueSaturation &
+ hueSat ,
+
+
+
+
+ uint8_t
+ transition = 4
+
+
+
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function to set the color of this light with specified hue and saturation.
+
Note The color will only be set if the light has a reference to a specific ColorHueStrategy .
+
Parameters
+
+ hueSat Color in hue and satuation.
+ transition Optional parameter to set the transition from current state to new, standard is 4 = 400ms.
+
+
+
+
Returns Bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ setColorHueStrategy()
+
+
+
+
+
+
+
+
+ virtual void hueplusplus::Light::setColorHueStrategy
+ (
+ std::shared_ptr< const ColorHueStrategy >
+ strat )
+
+
+
+
+
+inline protected virtual
+
+
+
+
+
Protected function that sets the colorHue strategy.
+
The strategy defines how specific commands that deal with color control are executed
Parameters
+
+
+
+
+
+
+
+
◆ setColorLoop()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::setColorLoop
+ (
+ bool
+ on )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function to turn colorloop effect on/off.
+
Notice this function will only be performed light has a reference to a specific ColorHueStrategy . The colorloop effect will loop through all colors on current hue and saturation levels. Notice that none of the setter functions check whether this feature is enabled and the colorloop can only be disabled with this function or by simply calling off() and then on() , so you could alternatively call off() and then use any of the setter functions.
Parameters
+
+ on bool that enables this feature when true and disables it when false
+
+
+
+
Returns Bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ setColorRGB()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::setColorRGB
+ (
+ const RGB &
+ rgb ,
+
+
+
+
+ uint8_t
+ transition = 4
+
+
+
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function to set the color of this light with red green and blue values.
+
Note The color will only be set if the light has a reference to a specific ColorHueStrategy . The values of red, green and blue are ranging from 0 to 255.
+
Parameters
+
+ rgb RGB color that will be mapped to the available color space
+ transition Optional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
+
Returns Bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ setColorSaturation()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::setColorSaturation
+ (
+ uint8_t
+ sat ,
+
+
+
+
+ uint8_t
+ transition = 4
+
+
+
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function to set the color of this light with specified saturation.
+
Note The color will only be set if the light has a reference to a specific ColorHueStrategy . The saturation can range from 0 to 254, whereas 0 is least saturated (white) and 254 is most saturated.
+
Parameters
+
+ sat uint8_t that specifies the saturation
+ transition Optional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
+
Returns Bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ setColorTemperature()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::setColorTemperature
+ (
+ unsigned int
+ mired ,
+
+
+
+
+ uint8_t
+ transition = 4
+
+
+
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function that sets the color temperature of this light in mired.
+
Note The color temperature will only be set if the light has a reference to a specific ColorTemperatureStrategy . The color temperature can range from 153 to 500.
+
Parameters
+
+ mired Unsigned int that specifies the color temperature in Mired
+ transition Optional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
+
Returns Bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ setColorTemperatureStrategy()
+
+
+
+
+
+
+
+
+ virtual void hueplusplus::Light::setColorTemperatureStrategy
+ (
+ std::shared_ptr< const ColorTemperatureStrategy >
+ strat )
+
+
+
+
+
+inline protected virtual
+
+
+
+
+
Protected function that sets the colorTemperature strategy.
+
The strategy defines how specific commands that deal with colortemperature control are executed
Parameters
+
+
+
+
+
+
+
+
◆ setColorXY()
+
+
+
+
+
+
+
+
+ virtual bool hueplusplus::Light::setColorXY
+ (
+ const XYBrightness &
+ xy ,
+
+
+
+
+ uint8_t
+ transition = 4
+
+
+
+ )
+
+
+
+
+
+inline virtual
+
+
+
+
+
Function to set the color of this light in CIE with specified x y.
+
Note The color will only be set if the light has a reference to a specific ColorHueStrategy . The values of x and y are ranging from 0 to 1.
+
Parameters
+
+ xy The color in XY and brightness
+ transition Optional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
+
Returns Bool that is true on success
+
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
+
+
+
+
+
+
+
+
◆ transaction()
+
+
+
+
+
Create a transaction for this light.
+
The transaction can be used to change more than one value in one request. Only use the functions supported by the current light type.
+
Example usage:
+
+
+
+
+
◆ ExtendedColorHueStrategy
+
+
+
+
◆ ExtendedColorTemperatureStrategy
+
+
+
+
◆ LightFactory
+
+
+
+
◆ SimpleBrightnessStrategy
+
+
+
+
◆ SimpleColorHueStrategy
+
+
+
+
◆ SimpleColorTemperatureStrategy
+
+
+
+
+
◆ brightnessStrategy
+
+
+
+
+
holds a reference to the strategy that handles brightness commands
+
+
+
+
+
◆ colorHueStrategy
+
+
+
+
+
+
+
+
+ std::shared_ptr<const ColorHueStrategy > hueplusplus::Light::colorHueStrategy
+
+
+
+
+protected
+
+
+
+
+
holds a reference to the strategy that handles all color commands
+
+
+
+
+
◆ colorTemperatureStrategy
+
+
+
+
+
holds a reference to the strategy that handles colortemperature commands
+
+
+
+
+
◆ colorType
+
+
+
+
+
+
+
+
+ ColorType hueplusplus::Light::colorType
+
+
+
+
+protected
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_light__coll__graph.map a/classhueplusplus_1_1_light__coll__graph.map
new file mode 100644
index 0000000..b9a779d
--- /dev/null
+++ a/classhueplusplus_1_1_light__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_light__coll__graph.md5 a/classhueplusplus_1_1_light__coll__graph.md5
new file mode 100644
index 0000000..7d8d810
--- /dev/null
+++ a/classhueplusplus_1_1_light__coll__graph.md5
@@ -0,0 +1 @@
+a83a830afe0eaf88984a2ef75d0584dc
\ No newline at end of file
diff --git b/classhueplusplus_1_1_light__coll__graph.png a/classhueplusplus_1_1_light__coll__graph.png
new file mode 100644
index 0000000..060f6da
--- /dev/null
+++ a/classhueplusplus_1_1_light__coll__graph.png
diff --git b/classhueplusplus_1_1_light__inherit__graph.map a/classhueplusplus_1_1_light__inherit__graph.map
new file mode 100644
index 0000000..6f05811
--- /dev/null
+++ a/classhueplusplus_1_1_light__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_light__inherit__graph.md5 a/classhueplusplus_1_1_light__inherit__graph.md5
new file mode 100644
index 0000000..638481f
--- /dev/null
+++ a/classhueplusplus_1_1_light__inherit__graph.md5
@@ -0,0 +1 @@
+d591bb592001a3497d89f4edafbf5ea6
\ No newline at end of file
diff --git b/classhueplusplus_1_1_light__inherit__graph.png a/classhueplusplus_1_1_light__inherit__graph.png
new file mode 100644
index 0000000..3891cad
--- /dev/null
+++ a/classhueplusplus_1_1_light__inherit__graph.png
diff --git b/classhueplusplus_1_1_light_factory-members.html a/classhueplusplus_1_1_light_factory-members.html
new file mode 100644
index 0000000..f51e64d
--- /dev/null
+++ a/classhueplusplus_1_1_light_factory-members.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::LightFactory , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_light_factory.html a/classhueplusplus_1_1_light_factory.html
new file mode 100644
index 0000000..09e9541
--- /dev/null
+++ a/classhueplusplus_1_1_light_factory.html
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::LightFactory Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <hueplusplus/HueDeviceTypes.h >
+
+
+
+
◆ LightFactory()
+
+
+
+
+
+ hueplusplus::LightFactory::LightFactory
+ (
+ const HueCommandAPI &
+ commands ,
+
+
+
+
+ std::chrono::steady_clock::duration
+ refreshDuration
+
+
+
+ )
+
+
+
+
+
+
Create a factory for Light s.
+
Parameters
+
+ commands HueCommandAPI for communication with the bridge
+ refreshDuration Time between refreshing the cached light state.
+
+
+
+
+
+
+
+
+
◆ createLight()
+
+
+
+
+
+ Light hueplusplus::LightFactory::createLight
+ (
+ const nlohmann::json &
+ lightState ,
+
+
+
+
+ int
+ id ,
+
+
+
+
+ const std::shared_ptr< APICache > &
+ baseCache = {}
+
+
+
+ )
+
+
+
+
+
+
Create a Light with the correct type from the JSON state.
+
Parameters
+
+ lightState Light JSON as returned from the bridge (not only the "state" part of it).
+ id Light id.
+ baseCache Optional shared cache for the light.
+
+
+
+
Returns Light with matching id, strategies and ColorType .
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when light type is unknown
+ HueAPIResponseException when response contains an error
+ nlohmann::json::parse_error when response could not be parsed
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_light_state-members.html a/classhueplusplus_1_1_light_state-members.html
new file mode 100644
index 0000000..5c845dd
--- /dev/null
+++ a/classhueplusplus_1_1_light_state-members.html
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::LightState , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_light_state.html a/classhueplusplus_1_1_light_state.html
new file mode 100644
index 0000000..c6c4903
--- /dev/null
+++ a/classhueplusplus_1_1_light_state.html
@@ -0,0 +1,468 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::LightState Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Immutable state of a light.
+ More...
+
+
#include <hueplusplus/Scene.h >
+
+
+
Immutable state of a light.
+
+
+
◆ LightState()
+
+
+
+
+
+
+
+
+ hueplusplus::LightState::LightState
+ (
+ const nlohmann::json &
+ state )
+
+
+
+
+
+explicit
+
+
+
+
+
+
+
◆ getBrightness()
+
+
+
+
+
+ int hueplusplus::LightState::getBrightness
+ (
+ )
+ const
+
+
+
+
+
Get brightness of the light.
+
Returns Stored brightness, or 0
+
+
+
+
+
◆ getColorloop()
+
+
+
+
+
+ bool hueplusplus::LightState::getColorloop
+ (
+ )
+ const
+
+
+
+
+
Get whether colorloop effect is active.
+
Returns true when colorloop is enabled, false otherwise or if not stored
+
+
+
+
+
◆ getCt()
+
+
+
+
+
+ int hueplusplus::LightState::getCt
+ (
+ )
+ const
+
+
+
+
+
Get color temperature of the light.
+
Returns Stored color temperature in mired, or 0 if not stored
+
+
+
+
+
◆ getHueSat()
+
+
+
+
+
+ HueSaturation hueplusplus::LightState::getHueSat
+ (
+ )
+ const
+
+
+
+
+
Get hue and saturation of the light.
+
Returns Stored hue and saturation, or {0,0} if not stored
+
+
+
+
+
◆ getTransitionTime()
+
+
+
+
+
+ int hueplusplus::LightState::getTransitionTime
+ (
+ )
+ const
+
+
+
+
+
Get transition time to this light state.
+
Returns Stored transition time or 4 by default
+
+
+
+
+
◆ getXY()
+
+
+
+
+
+ XYBrightness hueplusplus::LightState::getXY
+ (
+ )
+ const
+
+
+
+
+
Get xy color of the light.
+
Returns Stored x,y and brightness, or zeros if not stored
+
+
+
+
+
◆ hasBrightness()
+
+
+
+
+
+ bool hueplusplus::LightState::hasBrightness
+ (
+ )
+ const
+
+
+
+
+
Get whether a brightness is stored.
+
+
+
+
+
◆ hasCt()
+
+
+
+
+
+ bool hueplusplus::LightState::hasCt
+ (
+ )
+ const
+
+
+
+
+
Get whether color temperature is stored.
+
+
+
+
+
◆ hasEffect()
+
+
+
+
+
+ bool hueplusplus::LightState::hasEffect
+ (
+ )
+ const
+
+
+
+
+
Get whether effect is stored.
+
+
+
+
+
◆ hasHueSat()
+
+
+
+
+
+ bool hueplusplus::LightState::hasHueSat
+ (
+ )
+ const
+
+
+
+
+
Get whether hue and saturation is stored.
+
+
+
+
+
◆ hasXY()
+
+
+
+
+
+ bool hueplusplus::LightState::hasXY
+ (
+ )
+ const
+
+
+
+
+
Get whether xy color is stored.
+
+
+
+
+
◆ isOn()
+
+
+
+
+
+ bool hueplusplus::LightState::isOn
+ (
+ )
+ const
+
+
+
+
+
Get whether the light is on.
+
+
+
+
+
◆ operator!=()
+
+
+
+
+
+ bool hueplusplus::LightState::operator!=
+ (
+ const LightState &
+ other )
+ const
+
+
+
+
+
Inequality comparison.
+
+
+
+
+
◆ operator==()
+
+
+
+
+
+ bool hueplusplus::LightState::operator==
+ (
+ const LightState &
+ other )
+ const
+
+
+
+
+
Equality comparison.
+
+
+
+
+
◆ toJson()
+
+
+
+
+
+ nlohmann::json hueplusplus::LightState::toJson
+ (
+ )
+ const
+
+
+
+
+
Convert to json representation.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_light_state_builder-members.html a/classhueplusplus_1_1_light_state_builder-members.html
new file mode 100644
index 0000000..4abe4e7
--- /dev/null
+++ a/classhueplusplus_1_1_light_state_builder-members.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::LightStateBuilder , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_light_state_builder.html a/classhueplusplus_1_1_light_state_builder.html
new file mode 100644
index 0000000..e9753f7
--- /dev/null
+++ a/classhueplusplus_1_1_light_state_builder.html
@@ -0,0 +1,256 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::LightStateBuilder Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Builder to create LightState .
+ More...
+
+
#include <hueplusplus/Scene.h >
+
+
+
Builder to create LightState .
+
+
+
◆ create()
+
+
+
+
+
+ LightState hueplusplus::LightStateBuilder::create
+ (
+ )
+
+
+
+
+
+
+
+
+
◆ setBrightness()
+
+
+
+
+
+ LightStateBuilder & hueplusplus::LightStateBuilder::setBrightness
+ (
+ int
+ brightness )
+
+
+
+
+
+
+
+
+
◆ setColorloop()
+
+
+
+
+
+ LightStateBuilder & hueplusplus::LightStateBuilder::setColorloop
+ (
+ bool
+ enabled )
+
+
+
+
+
+
+
+
+
◆ setCt()
+
+
+
+
+
+ LightStateBuilder & hueplusplus::LightStateBuilder::setCt
+ (
+ int
+ mired )
+
+
+
+
+
+
+
+
+
◆ setHueSat()
+
+
+
+
◆ setOn()
+
+
+
+
◆ setTransitionTime()
+
+
+
+
+
+ LightStateBuilder & hueplusplus::LightStateBuilder::setTransitionTime
+ (
+ int
+ time )
+
+
+
+
+
+
+
+
+
◆ setXY()
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_lin_http_handler-members.html a/classhueplusplus_1_1_lin_http_handler-members.html
new file mode 100644
index 0000000..d49a193
--- /dev/null
+++ a/classhueplusplus_1_1_lin_http_handler-members.html
@@ -0,0 +1,95 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::LinHttpHandler , including all inherited members.
+
+ DELETEJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ DELETEString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ GETJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ GETString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ POSTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ POSTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ PUTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ PUTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ send (const std::string &msg, const std::string &adr, int port=80) const overridehueplusplus::LinHttpHandler virtual
+ sendGetHTTPBody (const std::string &msg, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ sendHTTPRequest (const std::string &method, const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ sendMulticast (const std::string &msg, const std::string &adr="239.255.255.250", int port=1900, std::chrono::steady_clock::duration timeout=std::chrono::seconds(5)) const overridehueplusplus::LinHttpHandler virtual
+ ~BaseHttpHandler ()=defaulthueplusplus::BaseHttpHandler virtual
+ ~IHttpHandler ()=defaulthueplusplus::IHttpHandler virtual
+
+
+
+
+
diff --git b/classhueplusplus_1_1_lin_http_handler.html a/classhueplusplus_1_1_lin_http_handler.html
new file mode 100644
index 0000000..7a8003b
--- /dev/null
+++ a/classhueplusplus_1_1_lin_http_handler.html
@@ -0,0 +1,280 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::LinHttpHandler Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Class to handle http requests and multicast requests on linux systems.
+ More...
+
+
#include <hueplusplus/LinHttpHandler.h >
+
+
+
+
+
+
+
+
+
+
+virtual std::string send (const std::string &msg, const std::string &adr, int port=80) const override
+ Function that sends a given message to the specified host and returns the response. More...
+
+std::vector< std::string > sendMulticast (const std::string &msg, const std::string &adr="239.255.255.250", int port=1900, std::chrono::steady_clock::duration timeout=std::chrono::seconds(5)) const override
+ Function that sends a multicast request with the specified message. More...
+
+ Public Member Functions inherited from hueplusplus::BaseHttpHandler
+virtual ~BaseHttpHandler ()=default
+ Virtual dtor. More...
+
+std::string sendGetHTTPBody (const std::string &msg, const std::string &adr, int port=80) const override
+ Send a message to a specified host and return the body of the response. More...
+
+std::string sendHTTPRequest (const std::string &method, const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP request with the given method to the specified host and return the body of the response. More...
+
+std::string GETString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP GET request to the specified host and return the body of the response. More...
+
+std::string POSTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP POST request to the specified host and return the body of the response. More...
+
+std::string PUTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP PUT request to the specified host and return the body of the response. More...
+
+std::string DELETEString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP DELETE request to the specified host and return the body of the response. More...
+
+nlohmann::json GETJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
+ Send a HTTP GET request to the specified host and return the body of the response parsed as JSON. More...
+
+nlohmann::json POSTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
+ Send a HTTP POST request to the specified host and return the body of the response parsed as JSON. More...
+
+nlohmann::json PUTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
+ Send a HTTP PUT request to the specified host and return the body of the response parsed as JSON. More...
+
+nlohmann::json DELETEJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
+ Send a HTTP DELETE request to the specified host and return the body of the response parsed as JSON. More...
+
+ Public Member Functions inherited from hueplusplus::IHttpHandler
+virtual ~IHttpHandler ()=default
+ Virtual dtor. More...
+
+
+
+
Class to handle http requests and multicast requests on linux systems.
+
+
+
◆ send()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::LinHttpHandler::send
+ (
+ const std::string &
+ msg ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that sends a given message to the specified host and returns the response.
+
Parameters
+
+ msg String that contains the message that is sent to the specified address
+ adr String that contains an ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional integer that specifies the port to which the request is sent to. Default is 80
+
+
+
+
Returns String containing the response of the host
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
+
◆ sendMulticast()
+
+
+
+
+
+
+
+
+ std::vector< std::string > hueplusplus::LinHttpHandler::sendMulticast
+ (
+ const std::string &
+ msg ,
+
+
+
+
+ const std::string &
+ adr = "239.255.255.250",
+
+
+
+
+ int
+ port = 1900,
+
+
+
+
+ std::chrono::steady_clock::duration
+ timeout = std::chrono::seconds(5)
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that sends a multicast request with the specified message.
+
Parameters
+
+ msg String that contains the request that is sent to the specified address
+ adr Optional String that contains an ip or hostname in dotted decimal notation, default is "239.255.255.250"
+ port Optional integer that specifies the port to which the request is sent. Default is 1900
+ timeout Optional The timeout of the request. Default is 5 seconds
+
+
+
+
Returns Vector containing strings of each answer received
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_lin_http_handler__coll__graph.map a/classhueplusplus_1_1_lin_http_handler__coll__graph.map
new file mode 100644
index 0000000..176e4dc
--- /dev/null
+++ a/classhueplusplus_1_1_lin_http_handler__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_lin_http_handler__coll__graph.md5 a/classhueplusplus_1_1_lin_http_handler__coll__graph.md5
new file mode 100644
index 0000000..daefc53
--- /dev/null
+++ a/classhueplusplus_1_1_lin_http_handler__coll__graph.md5
@@ -0,0 +1 @@
+b878b303adb905e818923c87de00129f
\ No newline at end of file
diff --git b/classhueplusplus_1_1_lin_http_handler__coll__graph.png a/classhueplusplus_1_1_lin_http_handler__coll__graph.png
new file mode 100644
index 0000000..d4c57af
--- /dev/null
+++ a/classhueplusplus_1_1_lin_http_handler__coll__graph.png
diff --git b/classhueplusplus_1_1_lin_http_handler__inherit__graph.map a/classhueplusplus_1_1_lin_http_handler__inherit__graph.map
new file mode 100644
index 0000000..176e4dc
--- /dev/null
+++ a/classhueplusplus_1_1_lin_http_handler__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_lin_http_handler__inherit__graph.md5 a/classhueplusplus_1_1_lin_http_handler__inherit__graph.md5
new file mode 100644
index 0000000..6b9e462
--- /dev/null
+++ a/classhueplusplus_1_1_lin_http_handler__inherit__graph.md5
@@ -0,0 +1 @@
+16026a91c15e8888e98733329ade3dde
\ No newline at end of file
diff --git b/classhueplusplus_1_1_lin_http_handler__inherit__graph.png a/classhueplusplus_1_1_lin_http_handler__inherit__graph.png
new file mode 100644
index 0000000..d4c57af
--- /dev/null
+++ a/classhueplusplus_1_1_lin_http_handler__inherit__graph.png
diff --git b/classhueplusplus_1_1_new_device_list-members.html a/classhueplusplus_1_1_new_device_list-members.html
new file mode 100644
index 0000000..b7a0e3c
--- /dev/null
+++ a/classhueplusplus_1_1_new_device_list-members.html
@@ -0,0 +1,87 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::NewDeviceList , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_new_device_list.html a/classhueplusplus_1_1_new_device_list.html
new file mode 100644
index 0000000..d1fb783
--- /dev/null
+++ a/classhueplusplus_1_1_new_device_list.html
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::NewDeviceList Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
List of new devices found during the last scan.
+ More...
+
+
#include <hueplusplus/NewDeviceList.h >
+
+
+
List of new devices found during the last scan.
+
+
+
◆ NewDeviceList()
+
+
+
+
+
+ hueplusplus::NewDeviceList::NewDeviceList
+ (
+ const std::string &
+ lastScan ,
+
+
+
+
+ const std::map< int, std::string > &
+ devices
+
+
+
+ )
+
+
+
+
+
+
Construct from data.
+
+
+
+
+
+
◆ getLastScanTime()
+
+
+
+
+
Get time when last scan was completed.
+
Exceptions
+
+ HueException when no time is available or timestamp is invalid
+
+
+
+
Note Must only be called when hasLastScanTime() is true.
+
+
+
+
+
◆ getNewDevices()
+
+
+
+
+
+ const std::map< int, std::string > & hueplusplus::NewDeviceList::getNewDevices
+ (
+ )
+ const
+
+
+
+
+
Get a map of id and name of new devices.
+
+
+
+
+
◆ hasLastScanTime()
+
+
+
+
+
+ bool hueplusplus::NewDeviceList::hasLastScanTime
+ (
+ )
+ const
+
+
+
+
+
Get whether a last scan time is available.
+
This can be false if there was no scan since the last restart or if the scan is still running.
+
+
+
+
+
◆ isScanActive()
+
+
+
+
+
+ bool hueplusplus::NewDeviceList::isScanActive
+ (
+ )
+
+
+
+
+
+
Get whether scan is currently active.
+
When scan is active, no last scan time is available
+
+
+
+
+
◆ parse()
+
+
+
+
+
+
+
+
+ NewDeviceList hueplusplus::NewDeviceList::parse
+ (
+ const nlohmann::json &
+ json )
+
+
+
+
+
+static
+
+
+
+
+
Parse from json response.
+
Exceptions
+
+ std::invalid_argument when json is invalid.
+ nlohmann::json::exception when json is invalid.
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_resource_list-members.html a/classhueplusplus_1_1_resource_list-members.html
new file mode 100644
index 0000000..4438a83
--- /dev/null
+++ a/classhueplusplus_1_1_resource_list-members.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::ResourceList< Resource, IdT > , including all inherited members.
+
+ construct (const IdType &id, const nlohmann::json &state)hueplusplus::ResourceList< Resource, IdT > inline protected
+ exists (const IdType &id)hueplusplus::ResourceList< Resource, IdT > inline
+ exists (const IdType &id) consthueplusplus::ResourceList< Resource, IdT > inline
+ factory hueplusplus::ResourceList< Resource, IdT > protected
+ get (const IdType &id)hueplusplus::ResourceList< Resource, IdT > inline
+ getAll ()hueplusplus::ResourceList< Resource, IdT > inline
+ IdType typedefhueplusplus::ResourceList< Resource, IdT >
+ maybeStoi (const std::string &key)hueplusplus::ResourceList< Resource, IdT > inline protected static
+ maybeToString (const IdType &id)hueplusplus::ResourceList< Resource, IdT > inline protected static
+ operator= (const ResourceList &)=deletehueplusplus::ResourceList< Resource, IdT >
+ operator= (ResourceList &&)=defaulthueplusplus::ResourceList< Resource, IdT > protected
+ path hueplusplus::ResourceList< Resource, IdT > protected
+ refresh ()hueplusplus::ResourceList< Resource, IdT > inline
+ remove (const IdType &id)hueplusplus::ResourceList< Resource, IdT > inline
+ ResourceList (std::shared_ptr< APICache > baseCache, const std::string &cacheEntry, std::chrono::steady_clock::duration refreshDuration, bool sharedState=false, const std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)hueplusplus::ResourceList< Resource, IdT > inline
+ ResourceList (const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)hueplusplus::ResourceList< Resource, IdT > inline
+ ResourceList (const ResourceList &)=deletehueplusplus::ResourceList< Resource, IdT >
+ ResourceList (ResourceList &&)=defaulthueplusplus::ResourceList< Resource, IdT > protected
+ ResourceType typedefhueplusplus::ResourceList< Resource, IdT >
+ setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)hueplusplus::ResourceList< Resource, IdT > inline
+ sharedState hueplusplus::ResourceList< Resource, IdT > protected
+ stateCache hueplusplus::ResourceList< Resource, IdT > protected
+
+
+
+
+
diff --git b/classhueplusplus_1_1_resource_list.html a/classhueplusplus_1_1_resource_list.html
new file mode 100644
index 0000000..476ca93
--- /dev/null
+++ a/classhueplusplus_1_1_resource_list.html
@@ -0,0 +1,956 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::ResourceList< Resource, IdT > Class Template Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Handles a list of a certain API resource.
+ More...
+
+
#include <hueplusplus/ResourceList.h >
+
+
+ ResourceList (std::shared_ptr< APICache > baseCache, const std::string &cacheEntry, std::chrono::steady_clock::duration refreshDuration, bool sharedState =false, const std::function< Resource(IdType , const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory =nullptr)
+ Construct ResourceList using a base cache and optional factory function. More...
+
+ ResourceList (const HueCommandAPI &commands, const std::string &path , std::chrono::steady_clock::duration refreshDuration, const std::function< Resource(IdType , const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory =nullptr)
+ Construct ResourceList with a separate cache and optional factory function. More...
+
+ ResourceList (const ResourceList &)=delete
+ Deleted copy constructor. More...
+
+ResourceList & operator= (const ResourceList &)=delete
+ Deleted copy assignment. More...
+
+void refresh ()
+ Refreshes internal state now. More...
+
+void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+ Sets custom refresh interval for this list and all resources created. More...
+
+std::vector< Resource > getAll ()
+ Get all resources that exist. More...
+
+Resource get (const IdType &id)
+ Get resource specified by id. More...
+
+bool exists (const IdType &id)
+ Checks whether resource with id exists. More...
+
+bool exists (const IdType &id) const
+ Checks whether resource with id exists. More...
+
+bool remove (const IdType &id)
+ Removes the resource. More...
+
+
+
+
template<typename Resource, typename IdT>
+class hueplusplus::ResourceList< Resource, IdT >
+
+
Handles a list of a certain API resource.
+
Template Parameters
+
+ Resource Resource type that is in the list
+ IdT Type of the resource id. int or std::string
+
+
+
+
The resources are assumed to be in an object with ids as keys. The Resource class needs a constructor that accepts id, HueCommandAPI , refreshDuration and state; otherwise a factory function needs to be provided that takes id, state and a base cache that is null when shared state is disabled.
+
+
+
◆ IdType
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+
+
◆ ResourceType
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+
+
+
◆ ResourceList() [1/4]
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+ hueplusplus::ResourceList < Resource, IdT >::ResourceList
+ (
+ std::shared_ptr< APICache >
+ baseCache ,
+
+
+
+
+ const std::string &
+ cacheEntry ,
+
+
+
+
+ std::chrono::steady_clock::duration
+ refreshDuration ,
+
+
+
+
+ bool
+ sharedState = false,
+
+
+
+
+ const std::function< Resource(IdType , const nlohmann::json &, const std::shared_ptr< APICache > &)> &
+ factory = nullptr
+
+
+
+ )
+
+
+
+
+
+inline
+
+
+
+
+
Construct ResourceList using a base cache and optional factory function.
+
Parameters
+
+ baseCache Base cache which holds the parent state, not nullptr
+ cacheEntry Entry name of the list state in the base cache
+ refreshDuration Interval between refreshing the cache
+ sharedState Whether created resources should share the same base cache.
+ factory Optional factory function to create Resources. Necessary if Resource is not constructible as described above.
+
+
+
+
+
+
+
+
◆ ResourceList() [2/4]
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+ hueplusplus::ResourceList < Resource, IdT >::ResourceList
+ (
+ const HueCommandAPI &
+ commands ,
+
+
+
+
+ const std::string &
+ path ,
+
+
+
+
+ std::chrono::steady_clock::duration
+ refreshDuration ,
+
+
+
+
+ const std::function< Resource(IdType , const nlohmann::json &, const std::shared_ptr< APICache > &)> &
+ factory = nullptr
+
+
+
+ )
+
+
+
+
+
+inline
+
+
+
+
+
Construct ResourceList with a separate cache and optional factory function.
+
Parameters
+
+ commands HueCommandAPI for requests
+ path Path of the resource list
+ refreshDuration Interval between refreshing the cache
+ factory Optional factory function to create Resources. Necessary if Resource is not constructible as described above.
+
+
+
+
+
+
+
+
◆ ResourceList() [3/4]
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
Deleted copy constructor.
+
+
+
+
+
◆ ResourceList() [4/4]
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+
+protected default
+
+
+
+
+
Protected defaulted move constructor.
+
+
+
+
+
+
◆ construct()
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+
+inline protected
+
+
+
+
+
Constructs resource using factory or constructor, if available.
+
Exceptions
+
+ HueException when factory is nullptr and Resource cannot be constructed as specified above.
+
+
+
+
+
+
+
+
◆ exists() [1/2]
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
Checks whether resource with id exists.
+
Parameters
+
+ id Identifier of the resource to check
+
+
+
+
Returns true when the resource with given id exists
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contains no body
+ HueAPIResponseException when response contains an error
+ nlohmann::json::parse_error when response could not be parsed
+
+
+
+
+
+
+
+
◆ exists() [2/2]
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
Checks whether resource with id exists.
+
Parameters
+
+ id Identifier of the resource to check
+
+
+
+
Returns true when the resource with given id exists
+
Note This will not update the cache
+
Exceptions
+
+
+
+
+
+
+
+
◆ get()
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
Get resource specified by id.
+
Parameters
+
+ id Identifier of the resource
+
+
+
+
Returns The resource matching the id
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when id does not exist
+ HueAPIResponseException when response contains an error
+ nlohmann::json::parse_error when response could not be parsed
+
+
+
+
+
+
+
+
◆ getAll()
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
Get all resources that exist.
+
Returns A vector of references to every Resource
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contains no body
+ HueAPIResponseException when response contains an error
+ nlohmann::json::parse_error when response could not be parsed
+
+
+
+
+
+
+
+
◆ maybeStoi()
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+
+inline static protected
+
+
+
+
+
Calls std::stoi if IdType is int.
+
+
+
+
+
◆ maybeToString()
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+
+inline static protected
+
+
+
+
+
Calls std::to_string if IdType is int.
+
+
+
+
+
◆ operator=() [1/2]
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
Deleted copy assignment.
+
+
+
+
+
◆ operator=() [2/2]
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+
+protected default
+
+
+
+
+
Protected defaulted move assignment.
+
+
+
+
+
◆ refresh()
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
Refreshes internal state now.
+
+
+
+
+
◆ remove()
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
Removes the resource.
+
Parameters
+
+ id Identifier of the resource to remove
+
+
+
+
Returns true on success
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contains no body
+ HueAPIResponseException when response contains an error
+ nlohmann::json::parse_error when response could not be parsed
+
+
+
+
If successful, invalidates references to the Resource removed.
+
+
+
+
+
◆ setRefreshDuration()
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+ void hueplusplus::ResourceList < Resource, IdT >::setRefreshDuration
+ (
+ std::chrono::steady_clock::duration
+ refreshDuration )
+
+
+
+
+
+inline
+
+
+
+
+
Sets custom refresh interval for this list and all resources created.
+
Parameters
+
+ refreshDuration The new minimum duration between refreshes. May be 0 or c_refreshNever .
+
+
+
+
+
+
+
+
+
◆ factory
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+
+
◆ path
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+
+
◆ sharedState
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+
+
◆ stateCache
+
+
+
+
+template<typename Resource, typename IdT>
+
+
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_rule-members.html a/classhueplusplus_1_1_rule-members.html
new file mode 100644
index 0000000..8338d3b
--- /dev/null
+++ a/classhueplusplus_1_1_rule-members.html
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::Rule , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_rule.html a/classhueplusplus_1_1_rule.html
new file mode 100644
index 0000000..f29eac4
--- /dev/null
+++ a/classhueplusplus_1_1_rule.html
@@ -0,0 +1,605 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::Rule Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Rule stored in the bridge.
+ More...
+
+
#include <hueplusplus/Rule.h >
+
+
+
Rule stored in the bridge.
+
Rules are used to automatically trigger Action s when certain events happen. The bridge can only support a limited number of rules, conditions and actions.
+
They are deactivated if any errors occur when they are evaluated.
+
+
+
◆ Rule() [1/2]
+
+
+
+
+
+ hueplusplus::Rule::Rule
+ (
+ int
+ id ,
+
+
+
+
+ const std::shared_ptr< APICache > &
+ baseCache
+
+
+
+ )
+
+
+
+
+
+
Creates rule with shared cache.
+
Parameters
+
+ id Rule id in the bridge
+ baseCache Cache of the rule list.
+
+
+
+
+
+
+
+
◆ Rule() [2/2]
+
+
+
+
+
+ hueplusplus::Rule::Rule
+ (
+ int
+ id ,
+
+
+
+
+ const HueCommandAPI &
+ commands ,
+
+
+
+
+ std::chrono::steady_clock::duration
+ refreshDuration ,
+
+
+
+
+ const nlohmann::json &
+ currentState
+
+
+
+ )
+
+
+
+
+
+
Creates rule with id.
+
Parameters
+
+ id Rule id in the bridge
+ commands HueCommandAPI for requests
+ refreshDuration Time between refreshing the cached state.
+ currentState The current state, may be null.
+
+
+
+
+
+
+
+
+
◆ getActions()
+
+
+
+
+
+ std::vector< Action > hueplusplus::Rule::getActions
+ (
+ )
+ const
+
+
+
+
+
Get the actions that are executed.
+
At least one action must exist.
+
+
+
+
+
◆ getConditions()
+
+
+
+
+
+ std::vector< Condition > hueplusplus::Rule::getConditions
+ (
+ )
+ const
+
+
+
+
+
Get the conditions that have to be met.
+
The rule triggers the actions when all conditions are true. At least one condition must exist.
+
+
+
+
+
◆ getCreated()
+
+
+
+
◆ getId()
+
+
+
+
+
+ int hueplusplus::Rule::getId
+ (
+ )
+ const
+
+
+
+
+
Get rule identifier.
+
+
+
+
+
◆ getLastTriggered()
+
+
+
+
+
Get time the rule was last triggered.
+
+
+
+
+
◆ getName()
+
+
+
+
+
+ std::string hueplusplus::Rule::getName
+ (
+ )
+ const
+
+
+
+
+
Get rule name.
+
The rule name is always unique for the bridge.
+
+
+
+
+
◆ getOwner()
+
+
+
+
+
+ std::string hueplusplus::Rule::getOwner
+ (
+ )
+ const
+
+
+
+
+
Get user that created or last changed the rule.
+
+
+
+
+
◆ getTimesTriggered()
+
+
+
+
+
+ int hueplusplus::Rule::getTimesTriggered
+ (
+ )
+ const
+
+
+
+
+
Get the number of times the rule was triggered.
+
+
+
+
+
◆ isEnabled()
+
+
+
+
+
+ bool hueplusplus::Rule::isEnabled
+ (
+ )
+ const
+
+
+
+
+
Get whether rule is enabled or disabled.
+
+
+
+
+
◆ refresh()
+
+
+
+
+
+ void hueplusplus::Rule::refresh
+ (
+ bool
+ force = false)
+
+
+
+
+
+
Refreshes internal cached state.
+
Parameters
+
+ force true forces a refresh, regardless of how long the last refresh was ago. false to only refresh when enough time has passed (needed e.g. when calling only const methods).
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setActions()
+
+
+
+
+
+ void hueplusplus::Rule::setActions
+ (
+ const std::vector< Action > &
+ actions )
+
+
+
+
+
+
Set actions for the rule.
+
Parameters
+
+ actions The actions that are triggered when the conditions are met. Must not be empty.
+
+
+
+
+
+
+
+
◆ setConditions()
+
+
+
+
+
+ void hueplusplus::Rule::setConditions
+ (
+ const std::vector< Condition > &
+ conditions )
+
+
+
+
+
+
Set conditions for the rule.
+
Parameters
+
+ conditions All conditions that need to be fulfilled. Must not be empty.
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setEnabled()
+
+
+
+
+
+ void hueplusplus::Rule::setEnabled
+ (
+ bool
+ enabled )
+
+
+
+
+
+
Enable or disable rule.
+
Parameters
+
+ enabled whether the rule is triggered.
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setName()
+
+
+
+
+
+ void hueplusplus::Rule::setName
+ (
+ const std::string &
+ name )
+
+
+
+
+
+
Set rule name.
+
Parameters
+
+ name New name for the rule. Must be unique for all rules, otherwise a number is added.
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setRefreshDuration()
+
+
+
+
+
+ void hueplusplus::Rule::setRefreshDuration
+ (
+ std::chrono::steady_clock::duration
+ refreshDuration )
+
+
+
+
+
+
Sets custom refresh interval for this rule.
+
Parameters
+
+ refreshDuration The new minimum duration between refreshes. May be 0 or c_refreshNever .
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_scene-members.html a/classhueplusplus_1_1_scene-members.html
new file mode 100644
index 0000000..e4e9e2a
--- /dev/null
+++ a/classhueplusplus_1_1_scene-members.html
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::Scene , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_scene.html a/classhueplusplus_1_1_scene.html
new file mode 100644
index 0000000..1cb19f3
--- /dev/null
+++ a/classhueplusplus_1_1_scene.html
@@ -0,0 +1,880 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::Scene Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Scene stored in the bridge.
+ More...
+
+
#include <hueplusplus/Scene.h >
+
+
+
Scene stored in the bridge.
+
Scenes bundle the state of multiple lights so it can be recalled later.
+
+
+
◆ Type
+
+
+
+
+
Type of the scen.
+
+Enumerator lightScene The scene affects specific lights.
+
+ groupScene The scene affects all light of a specific group.
+
+
+
+
+
+
+
+
◆ Scene() [1/2]
+
+
+
+
+
+ hueplusplus::Scene::Scene
+ (
+ const std::string &
+ id ,
+
+
+
+
+ const std::shared_ptr< APICache > &
+ baseCache
+
+
+
+ )
+
+
+
+
+
+
Creates scene with shared cache.
+
Parameters
+
+ id Scene id in the bridge
+ baseCache Cache of the scene list.
+
+
+
+
+
+
+
+
◆ Scene() [2/2]
+
+
+
+
+
+ hueplusplus::Scene::Scene
+ (
+ const std::string &
+ id ,
+
+
+
+
+ const HueCommandAPI &
+ commands ,
+
+
+
+
+ std::chrono::steady_clock::duration
+ refreshDuration ,
+
+
+
+
+ const nlohmann::json &
+ currentState
+
+
+
+ )
+
+
+
+
+
+
Construct existing Scene .
+
Parameters
+
+ id Scene id
+ commands HueCommandAPI for requests
+ refreshDuration Time between refreshing the cached state
+ currentState The current state, may be null.
+
+
+
+
+
+
+
+
+
◆ getAppdata()
+
+
+
+
+
+ std::string hueplusplus::Scene::getAppdata
+ (
+ )
+ const
+
+
+
+
+
Get app specific data.
+
+
+
+
+
◆ getAppdataVersion()
+
+
+
+
+
+ int hueplusplus::Scene::getAppdataVersion
+ (
+ )
+ const
+
+
+
+
+
Get version of app specific data.
+
+
+
+
+
◆ getGroupId()
+
+
+
+
+
+ int hueplusplus::Scene::getGroupId
+ (
+ )
+ const
+
+
+
+
+
Get group id for a GroupScene.
+
Returns Group id or 0 if the scene is a LightScene.
+
+
+
+
+
◆ getId()
+
+
+
+
+
+ std::string hueplusplus::Scene::getId
+ (
+ )
+ const
+
+
+
+
+
Get scene identifier.
+
+
+
+
+
◆ getLastUpdated()
+
+
+
+
+
Get time the scene was created/updated.
+
+
+
+
+
◆ getLightIds()
+
+
+
+
+
+ std::vector< int > hueplusplus::Scene::getLightIds
+ (
+ )
+ const
+
+
+
+
+
Get light ids.
+
For a GroupScene, the light ids are the lights in the group.
+
+
+
+
+
◆ getLightStates()
+
+
+
+
+
+ std::map< int, LightState > hueplusplus::Scene::getLightStates
+ (
+ )
+ const
+
+
+
+
+
Get stored states of the lights.
+
Returns LightStates for each light in the scene, or an empty map for legacy scenes.
+
+
+
+
+
◆ getName()
+
+
+
+
+
+ std::string hueplusplus::Scene::getName
+ (
+ )
+ const
+
+
+
+
+
Get scene name.
+
The scene name is always unique for the bridge. It defaults to the id.
+
+
+
+
+
◆ getOwner()
+
+
+
+
+
+ std::string hueplusplus::Scene::getOwner
+ (
+ )
+ const
+
+
+
+
+
Get user that created or last changed the scene.
+
+
+
+
+
◆ getPicture()
+
+
+
+
+
+ std::string hueplusplus::Scene::getPicture
+ (
+ )
+ const
+
+
+
+
+
Get picture, reserved for future use.
+
Currently always an empty string.
+
+
+
+
+
◆ getRecycle()
+
+
+
+
+
+ bool hueplusplus::Scene::getRecycle
+ (
+ )
+ const
+
+
+
+
+
Get whether the scene can be automatically deleted.
+
+
+
+
+
◆ getType()
+
+
+
+
+
+ Scene::Type hueplusplus::Scene::getType
+ (
+ )
+ const
+
+
+
+
+
Get scene type.
+
GroupScenes are deleted when the group is deleted.
+
+
+
+
+
◆ getVersion()
+
+
+
+
+
+ int hueplusplus::Scene::getVersion
+ (
+ )
+ const
+
+
+
+
+
Get version of the scene.
+
Returns 1 for legacy scene without lightstates
+
+2 for updated scenes with lightstates
+
+
+
+
+
◆ isLocked()
+
+
+
+
+
+ bool hueplusplus::Scene::isLocked
+ (
+ )
+ const
+
+
+
+
+
Get whether scene is locked by a rule or schedule.
+
+
+
+
+
◆ recall()
+
+
+
+
+
+ void hueplusplus::Scene::recall
+ (
+ )
+
+
+
+
+
+
Recall scene, putting every light in the stored 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
+
+
+
+
+
+
+
+
◆ refresh()
+
+
+
+
+
+ void hueplusplus::Scene::refresh
+ (
+ bool
+ force = false)
+
+
+
+
+
+
Refreshes internal cached state.
+
Parameters
+
+ force true forces a refresh, regardless of how long the last refresh was ago. false to only refresh when enough time has passed (needed e.g. when calling only const methods).
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setAppdata()
+
+
+
+
+
+ void hueplusplus::Scene::setAppdata
+ (
+ const std::string &
+ data ,
+
+
+
+
+ int
+ version
+
+
+
+ )
+
+
+
+
+
+
Set app specific data.
+
Parameters
+
+ data Custom data in any format, max length 16.
+ version Version of the data
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setLightIds()
+
+
+
+
+
+ void hueplusplus::Scene::setLightIds
+ (
+ const std::vector< int > &
+ ids )
+
+
+
+
+
+
Set light ids for LightScene.
+
Parameters
+
+
+
+
Light ids cannot be changed on GroupScene. Change the lights in the group instead.
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
+
+
+
+
+
+
+
+
◆ setLightStates()
+
+
+
+
+
+ void hueplusplus::Scene::setLightStates
+ (
+ const std::map< int, LightState > &
+ states )
+
+
+
+
+
+
Set light states.
+
Parameters
+
+ states New states for each light in the scene. Should contain exactly the lights in the scene. Additional states might cause an error.
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setName()
+
+
+
+
+
+ void hueplusplus::Scene::setName
+ (
+ const std::string &
+ name )
+
+
+
+
+
+
Set scene name.
+
Parameters
+
+ name New name for the scene. Must be unique for all schedules, otherwise a number is added.
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setRefreshDuration()
+
+
+
+
+
+ void hueplusplus::Scene::setRefreshDuration
+ (
+ std::chrono::steady_clock::duration
+ refreshDuration )
+
+
+
+
+
+
Sets custom refresh interval for this group.
+
Parameters
+
+ refreshDuration The new minimum duration between refreshes. May be 0 or c_refreshNever .
+
+
+
+
+
+
+
+
◆ storeCurrentLightState() [1/2]
+
+
+
+
+
+ void hueplusplus::Scene::storeCurrentLightState
+ (
+ )
+
+
+
+
+
+
Store current light state of every light in the scene.
+
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
+
+
+
+
+
+
+
+
◆ storeCurrentLightState() [2/2]
+
+
+
+
+
+ void hueplusplus::Scene::storeCurrentLightState
+ (
+ int
+ transition )
+
+
+
+
+
+
Store current light state and update transition time.
+
Parameters
+
+ transition The updated transition time to this scene
+
+
+
+
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
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_schedule-members.html a/classhueplusplus_1_1_schedule-members.html
new file mode 100644
index 0000000..2f08fb9
--- /dev/null
+++ a/classhueplusplus_1_1_schedule-members.html
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::Schedule , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_schedule.html a/classhueplusplus_1_1_schedule.html
new file mode 100644
index 0000000..d4fb63b
--- /dev/null
+++ a/classhueplusplus_1_1_schedule.html
@@ -0,0 +1,690 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::Schedule Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Schedule stored in the bridge.
+ More...
+
+
#include <hueplusplus/Schedule.h >
+
+
+
Schedule stored in the bridge.
+
A schedule can be created by the user to trigger actions at specific times.
+
+
+
◆ Schedule() [1/2]
+
+
+
+
+
+ hueplusplus::Schedule::Schedule
+ (
+ int
+ id ,
+
+
+
+
+ const std::shared_ptr< APICache > &
+ baseCache
+
+
+
+ )
+
+
+
+
+
+
Creates schedule with shared cache.
+
Parameters
+
+ id Schedule id in the bridge
+ baseCache Cache of the schedule list.
+
+
+
+
+
+
+
+
◆ Schedule() [2/2]
+
+
+
+
+
+ hueplusplus::Schedule::Schedule
+ (
+ int
+ id ,
+
+
+
+
+ const HueCommandAPI &
+ commands ,
+
+
+
+
+ std::chrono::steady_clock::duration
+ refreshDuration ,
+
+
+
+
+ const nlohmann::json &
+ currentState
+
+
+
+ )
+
+
+
+
+
+
Construct Schedule that exists in the bridge.
+
Parameters
+
+ id Schedule ID
+ commands HueCommandAPI for requests
+ refreshDuration Time between refreshing the cached state
+ currentState The current state, may be null.
+
+
+
+
+
+
+
+
+
◆ getAutodelete()
+
+
+
+
+
+ bool hueplusplus::Schedule::getAutodelete
+ (
+ )
+ const
+
+
+
+
+
Get autodelete.
+
When autodelete is set to true, the schedule is removed after it expires. Only for non-recurring schedules.
+
+
+
+
+
◆ getCommand()
+
+
+
+
+
+ Action hueplusplus::Schedule::getCommand
+ (
+ )
+ const
+
+
+
+
+
Get schedule command.
+
+
+
+
+
◆ getCreated()
+
+
+
+
+
Get created time.
+
Returns AbsoluteTime without variation
+
+
+
+
+
◆ getDescription()
+
+
+
+
+
+ std::string hueplusplus::Schedule::getDescription
+ (
+ )
+ const
+
+
+
+
+
Get schedule description.
+
+
+
+
+
◆ getId()
+
+
+
+
+
+ int hueplusplus::Schedule::getId
+ (
+ )
+ const
+
+
+
+
+
Get schedule identifier.
+
+
+
+
+
◆ getName()
+
+
+
+
+
+ std::string hueplusplus::Schedule::getName
+ (
+ )
+ const
+
+
+
+
+
Get schedule name.
+
The schedule name is always unique for the bridge.
+
+
+
+
+
◆ getStartTime()
+
+
+
+
+
Get start time for timers.
+
Returns AbsoluteTime without variation when the timer was started.
+
Exceptions
+
+ nlohmann::json::out_of_range when the schedule does not have a start time
+
+
+
+
+
+
+
+
◆ getTime()
+
+
+
+
+
Get time when the event(s) will occur.
+
Returns TimePattern in local timezone
+
+
+
+
+
◆ isEnabled()
+
+
+
+
+
+ bool hueplusplus::Schedule::isEnabled
+ (
+ )
+ const
+
+
+
+
+
Check whether schedule is enabled or disabled.
+
+
+
+
+
◆ refresh()
+
+
+
+
+
+ void hueplusplus::Schedule::refresh
+ (
+ )
+
+
+
+
+
+
Refreshes internal cached 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
+
+
+
+
+
+
+
+
◆ setAutodelete()
+
+
+
+
+
+ void hueplusplus::Schedule::setAutodelete
+ (
+ bool
+ autodelete )
+
+
+
+
+
+
Set autodelete.
+
Parameters
+
+ autodelete Whether to delete the schedule after it expires
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setCommand()
+
+
+
+
+
+ void hueplusplus::Schedule::setCommand
+ (
+ const Action &
+ command )
+
+
+
+
+
+
Set schedule command.
+
Parameters
+
+ command New action that is executed when the time event occurs.
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setDescription()
+
+
+
+
+
+ void hueplusplus::Schedule::setDescription
+ (
+ const std::string &
+ description )
+
+
+
+
+
+
Set schedule description.
+
Parameters
+
+ description New description, may be empty. Max size is 64.
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setEnabled()
+
+
+
+
+
+ void hueplusplus::Schedule::setEnabled
+ (
+ bool
+ enabled )
+
+
+
+
+
+
Enable or disable schedule.
+
Parameters
+
+ enabled true to enable, false to disable.
+
+
+
+
Can be used to reset a timer by setting to disabled and enabled again.
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
+
+
+
+
+
+
+
+
◆ setName()
+
+
+
+
+
+ void hueplusplus::Schedule::setName
+ (
+ const std::string &
+ name )
+
+
+
+
+
+
Set schedule name.
+
Parameters
+
+ name New name for the schedule. Max size is 32. Must be unique for all schedules, otherwise a number is added.
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setRefreshDuration()
+
+
+
+
+
+ void hueplusplus::Schedule::setRefreshDuration
+ (
+ std::chrono::steady_clock::duration
+ refreshDuration )
+
+
+
+
+
+
Sets custom refresh interval for this schedule.
+
Parameters
+
+ refreshDuration The new minimum duration between refreshes. May be 0 or c_refreshNever .
+
+
+
+
+
+
+
+
◆ setTime()
+
+
+
+
+
+ void hueplusplus::Schedule::setTime
+ (
+ const time::TimePattern &
+ timePattern )
+
+
+
+
+
+
Set new time when the event will occur.
+
Parameters
+
+ timePattern Any possible value of TimePattern
+
+
+
+
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
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_searchable_resource_list-members.html a/classhueplusplus_1_1_searchable_resource_list-members.html
new file mode 100644
index 0000000..f68d02d
--- /dev/null
+++ a/classhueplusplus_1_1_searchable_resource_list-members.html
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::SearchableResourceList< Resource > , including all inherited members.
+
+ construct (const IdType &id, const nlohmann::json &state)hueplusplus::ResourceList< Resource, int > inline protected
+ exists (const IdType &id)hueplusplus::ResourceList< Resource, int > inline
+ exists (const IdType &id) consthueplusplus::ResourceList< Resource, int > inline
+ factory hueplusplus::ResourceList< Resource, int > protected
+ get (const IdType &id)hueplusplus::ResourceList< Resource, int > inline
+ getAll ()hueplusplus::ResourceList< Resource, int > inline
+ getNewDevices () consthueplusplus::SearchableResourceList< Resource > inline
+ IdType typedefhueplusplus::ResourceList< Resource, int >
+ maybeStoi (const std::string &key)hueplusplus::ResourceList< Resource, int > inline protected static
+ maybeToString (const IdType &id)hueplusplus::ResourceList< Resource, int > inline protected static
+ operator= (SearchableResourceList &&)=defaulthueplusplus::SearchableResourceList< Resource > protected
+ ResourceList< Resource, int >::operator= (const ResourceList &)=deletehueplusplus::ResourceList< Resource, int >
+ ResourceList< Resource, int >::operator= (ResourceList &&)=defaulthueplusplus::ResourceList< Resource, int > protected
+ path hueplusplus::ResourceList< Resource, int > protected
+ refresh ()hueplusplus::ResourceList< Resource, int > inline
+ remove (const IdType &id)hueplusplus::ResourceList< Resource, int > inline
+ ResourceList (std::shared_ptr< APICache > baseCache, const std::string &cacheEntry, std::chrono::steady_clock::duration refreshDuration, bool sharedState=false, const std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)hueplusplus::ResourceList< Resource, int > inline
+ ResourceList (const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)hueplusplus::ResourceList< Resource, int > inline
+ ResourceList (const ResourceList &)=deletehueplusplus::ResourceList< Resource, int >
+ ResourceList (ResourceList &&)=defaulthueplusplus::ResourceList< Resource, int > protected
+ ResourceType typedefhueplusplus::ResourceList< Resource, int >
+ search (const std::vector< std::string > &deviceIds={})hueplusplus::SearchableResourceList< Resource > inline
+ SearchableResourceList (SearchableResourceList &&)=defaulthueplusplus::SearchableResourceList< Resource > protected
+ setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)hueplusplus::ResourceList< Resource, int > inline
+ sharedState hueplusplus::ResourceList< Resource, int > protected
+ stateCache hueplusplus::ResourceList< Resource, int > protected
+
+
+
+
+
diff --git b/classhueplusplus_1_1_searchable_resource_list.html a/classhueplusplus_1_1_searchable_resource_list.html
new file mode 100644
index 0000000..dbce06b
--- /dev/null
+++ a/classhueplusplus_1_1_searchable_resource_list.html
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::SearchableResourceList< Resource > Class Template Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Handles a ResourceList of physical devices which can be searched for.
+ More...
+
+
#include <hueplusplus/ResourceList.h >
+
+
+
+
+
+
+
+
+
+
+void search (const std::vector< std::string > &deviceIds={})
+ Start search for new devices. More...
+
+NewDeviceList getNewDevices () const
+ Get devices found in last search. More...
+
+
+ ResourceList (std::shared_ptr< APICache > baseCache, const std::string &cacheEntry, std::chrono::steady_clock::duration refreshDuration, bool sharedState =false, const std::function< Resource(IdType , const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory =nullptr)
+ Construct ResourceList using a base cache and optional factory function. More...
+
+ ResourceList (const HueCommandAPI &commands, const std::string &path , std::chrono::steady_clock::duration refreshDuration, const std::function< Resource(IdType , const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory =nullptr)
+ Construct ResourceList with a separate cache and optional factory function. More...
+
+ ResourceList (const ResourceList &)=delete
+ Deleted copy constructor. More...
+
+ResourceList & operator= (const ResourceList &)=delete
+ Deleted copy assignment. More...
+
+void refresh ()
+ Refreshes internal state now. More...
+
+void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+ Sets custom refresh interval for this list and all resources created. More...
+
+std::vector< Resource > getAll ()
+ Get all resources that exist. More...
+
+Resource get (const IdType &id)
+ Get resource specified by id. More...
+
+bool exists (const IdType &id)
+ Checks whether resource with id exists. More...
+
+bool exists (const IdType &id) const
+ Checks whether resource with id exists. More...
+
+bool remove (const IdType &id)
+ Removes the resource. More...
+
+
+
+
template<typename Resource>
+class hueplusplus::SearchableResourceList< Resource >
+
+
Handles a ResourceList of physical devices which can be searched for.
+
Template Parameters
+
+ Resource Resource type that is in the list
+
+
+
+
+
+
◆ SearchableResourceList()
+
+
+
+
+template<typename Resource>
+
+
+
+
+
+
+protected default
+
+
+
+
+
Protected defaulted move constructor.
+
+
+
+
+
+
◆ getNewDevices()
+
+
+
+
+template<typename Resource>
+
+
+
+
Get devices found in last search.
+
+
+
+
+
◆ operator=()
+
+
+
+
+template<typename Resource>
+
+
+
+
+
+
+protected default
+
+
+
+
+
Protected defaulted move assignment.
+
+
+
+
+
◆ search()
+
+
+
+
+template<typename Resource>
+
+
+
+
Start search for new devices.
+
Parameters
+
+ deviceIds Serial numbers of the devices to search for (max. 10)
+
+
+
+
Takes more than 40s. If many devices were found a second search command might be necessary.
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_searchable_resource_list__coll__graph.map a/classhueplusplus_1_1_searchable_resource_list__coll__graph.map
new file mode 100644
index 0000000..7473038
--- /dev/null
+++ a/classhueplusplus_1_1_searchable_resource_list__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_searchable_resource_list__coll__graph.md5 a/classhueplusplus_1_1_searchable_resource_list__coll__graph.md5
new file mode 100644
index 0000000..5d42f58
--- /dev/null
+++ a/classhueplusplus_1_1_searchable_resource_list__coll__graph.md5
@@ -0,0 +1 @@
+adbad0f368ab8ca04ad12f4541ffae6f
\ No newline at end of file
diff --git b/classhueplusplus_1_1_searchable_resource_list__coll__graph.png a/classhueplusplus_1_1_searchable_resource_list__coll__graph.png
new file mode 100644
index 0000000..fe75fc3
--- /dev/null
+++ a/classhueplusplus_1_1_searchable_resource_list__coll__graph.png
diff --git b/classhueplusplus_1_1_searchable_resource_list__inherit__graph.map a/classhueplusplus_1_1_searchable_resource_list__inherit__graph.map
new file mode 100644
index 0000000..7473038
--- /dev/null
+++ a/classhueplusplus_1_1_searchable_resource_list__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_searchable_resource_list__inherit__graph.md5 a/classhueplusplus_1_1_searchable_resource_list__inherit__graph.md5
new file mode 100644
index 0000000..f50818d
--- /dev/null
+++ a/classhueplusplus_1_1_searchable_resource_list__inherit__graph.md5
@@ -0,0 +1 @@
+aa09a09a87739ad361ae0428cf6bf1a8
\ No newline at end of file
diff --git b/classhueplusplus_1_1_searchable_resource_list__inherit__graph.png a/classhueplusplus_1_1_searchable_resource_list__inherit__graph.png
new file mode 100644
index 0000000..9cd1092
--- /dev/null
+++ a/classhueplusplus_1_1_searchable_resource_list__inherit__graph.png
diff --git b/classhueplusplus_1_1_sensor-members.html a/classhueplusplus_1_1_sensor-members.html
new file mode 100644
index 0000000..2a43837
--- /dev/null
+++ a/classhueplusplus_1_1_sensor-members.html
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::Sensor , including all inherited members.
+
+ asSensorType () const &hueplusplus::Sensor inline
+ asSensorType () &&hueplusplus::Sensor inline
+ BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDevice protected
+ BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)hueplusplus::BaseDevice protected
+ getBatteryState () consthueplusplus::Sensor
+ getConfig () consthueplusplus::Sensor
+ getId () consthueplusplus::BaseDevice virtual
+ getLastAlert () consthueplusplus::Sensor
+ getLastUpdated () consthueplusplus::Sensor
+ getLEDIndication () consthueplusplus::Sensor
+ getManufacturername () consthueplusplus::BaseDevice virtual
+ getModelId () consthueplusplus::BaseDevice virtual
+ getName ()hueplusplus::BaseDevice virtual
+ getName () consthueplusplus::BaseDevice virtual
+ getPendingConfig () consthueplusplus::Sensor
+ getProductname () consthueplusplus::BaseDevice virtual
+ getState () consthueplusplus::Sensor
+ getStateAddress (const std::string &key) consthueplusplus::Sensor
+ getSwVersion ()hueplusplus::BaseDevice virtual
+ getSwVersion () consthueplusplus::BaseDevice virtual
+ getType () consthueplusplus::BaseDevice virtual
+ getUId () consthueplusplus::BaseDevice virtual
+ getURL () consthueplusplus::Sensor
+ hasAlert () consthueplusplus::Sensor
+ hasBatteryState () consthueplusplus::Sensor
+ hasLEDIndication () consthueplusplus::Sensor
+ hasOn () consthueplusplus::Sensor
+ hasReachable () consthueplusplus::Sensor
+ hasURL () consthueplusplus::Sensor
+ hasUserTest () consthueplusplus::Sensor
+ id hueplusplus::BaseDevice protected
+ isCertified () consthueplusplus::Sensor
+ isOn () consthueplusplus::Sensor
+ isPrimary () consthueplusplus::Sensor
+ isReachable () consthueplusplus::Sensor
+ refresh (bool force=false)hueplusplus::BaseDevice virtual
+ sendAlert (Alert type)hueplusplus::Sensor
+ sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDevice protected virtual
+ Sensor (int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::Sensor
+ Sensor (int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)hueplusplus::Sensor
+ setBatteryState (int percent)hueplusplus::Sensor
+ setConfigAttribute (const std::string &key, const nlohmann::json &value)hueplusplus::Sensor
+ setLEDIndication (bool on)hueplusplus::Sensor
+ setName (const std::string &name)hueplusplus::BaseDevice virtual
+ setOn (bool on)hueplusplus::Sensor
+ setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevice virtual
+ setStateAttribute (const std::string &key, const nlohmann::json &value)hueplusplus::Sensor
+ setURL (const std::string &url)hueplusplus::Sensor
+ setUserTest (bool enabled)hueplusplus::Sensor
+ state hueplusplus::BaseDevice protected
+ ~BaseDevice ()=defaulthueplusplus::BaseDevice virtual
+
+
+
+
+
diff --git b/classhueplusplus_1_1_sensor.html a/classhueplusplus_1_1_sensor.html
new file mode 100644
index 0000000..e25c829
--- /dev/null
+++ a/classhueplusplus_1_1_sensor.html
@@ -0,0 +1,1129 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::Sensor Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Class for generic or unknown sensor types.
+ More...
+
+
#include <hueplusplus/Sensor.h >
+
+
+
+
+
+
+
+
+
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
Class for generic or unknown sensor types.
+
It is recommended to instead use the classes for specific types in Sensors . This class should only be used if the type cannot be known or is not supported.
+
+
+
◆ Sensor() [1/2]
+
+
+
+
+
+ hueplusplus::Sensor::Sensor
+ (
+ int
+ id ,
+
+
+
+
+ const std::shared_ptr< APICache > &
+ baseCache
+
+
+
+ )
+
+
+
+
+
+
Construct Sensor with shared cache.
+
Parameters
+
+ id Integer that specifies the id of this sensor
+ baseCache Cache of the SensorList .
+
+
+
+
+
+
+
+
◆ Sensor() [2/2]
+
+
+
+
+
+ hueplusplus::Sensor::Sensor
+ (
+ int
+ id ,
+
+
+
+
+ const HueCommandAPI &
+ commands ,
+
+
+
+
+ std::chrono::steady_clock::duration
+ refreshDuration ,
+
+
+
+
+ const nlohmann::json &
+ currentState
+
+
+
+ )
+
+
+
+
+
+
Construct Sensor .
+
Parameters
+
+ id Integer that specifies the id of this sensor
+ commands HueCommandAPI for communication with the bridge
+ refreshDuration Time between refreshing the cached state.
+ currentState The current state, may be null.
+
+
+
+
+
+
+
+
+
◆ asSensorType() [1/2]
+
+
+
+
+template<typename T >
+
+
+
+
+
+ T hueplusplus::Sensor::asSensorType
+ (
+ )
+ const &
+
+
+
+
+inline
+
+
+
+
+
Convert sensor to a specific type.
+
Template Parameters
+
+
+
+
Exceptions
+
+ HueException when sensor type does not match requested type
+
+
+
+
+
+
+
+
◆ asSensorType() [2/2]
+
+
+
+
+template<typename T >
+
+
+
+
+
+ T hueplusplus::Sensor::asSensorType
+ (
+ )
+ &&
+
+
+
+
+inline
+
+
+
+
+
Convert sensor to a specific type.
+
Template Parameters
+
+
+
+
Exceptions
+
+ HueException when sensor type does not match requested type
+
+
+
+
Move construct T to be more efficient when the type is wanted directly.
+
+
+
+
+
◆ getBatteryState()
+
+
+
+
+
+ int hueplusplus::Sensor::getBatteryState
+ (
+ )
+ const
+
+
+
+
+
Get battery state.
+
Returns Battery state in percent
+
Exceptions
+
+ nlohmann::json::out_of_range when sensor has no battery status.
+
+
+
+
+
+
+
+
◆ getConfig()
+
+
+
+
+
+ nlohmann::json hueplusplus::Sensor::getConfig
+ (
+ )
+ const
+
+
+
+
+
Get entire config object.
+
Returns A json object with the sensor configuration.
+
+
+
+
+
◆ getLastAlert()
+
+
+
+
+
+ Alert hueplusplus::Sensor::getLastAlert
+ (
+ )
+ const
+
+
+
+
+
Get last sent alert.
+
Note This is not cleared when the alert ends.
+
Exceptions
+
+ nlohmann::json::out_of_range when sensor has no alert.
+
+
+
+
+
+
+
+
◆ 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.
+
+
+
+
+
◆ getLEDIndication()
+
+
+
+
+
+ bool hueplusplus::Sensor::getLEDIndication
+ (
+ )
+ const
+
+
+
+
+
Get whether the indicator LED is on.
+
Exceptions
+
+ nlohmann::json::out_of_range when sensor has no LED
+
+
+
+
+
+
+
+
◆ getPendingConfig()
+
+
+
+
+
+ std::vector< std::string > hueplusplus::Sensor::getPendingConfig
+ (
+ )
+ const
+
+
+
+
+
Get pending config entries, if they exist.
+
Returns The keys of config entries which have been modified, but were not committed to the device.
+
Attempts to set pending config entries may cause errors.
+
+
+
+
+
◆ getState()
+
+
+
+
+
+ nlohmann::json hueplusplus::Sensor::getState
+ (
+ )
+ const
+
+
+
+
+
+
◆ getStateAddress()
+
+
+
+
+
+ std::string hueplusplus::Sensor::getStateAddress
+ (
+ const std::string &
+ key )
+ const
+
+
+
+
+
Get address of the given state attribute, used for conditions.
+
Parameters
+
+ key Key in the state object
+
+
+
+
Returns key prefixed with the path to the sensor state
+
+
+
+
+
◆ getURL()
+
+
+
+
+
+ std::string hueplusplus::Sensor::getURL
+ (
+ )
+ const
+
+
+
+
+
Get sensor URL.
+
Only CLIP sensors can have a URL.
+
+
+
+
+
◆ hasAlert()
+
+
+
+
+
+ bool hueplusplus::Sensor::hasAlert
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor has alerts.
+
+
+
+
+
◆ hasBatteryState()
+
+
+
+
+
+ bool hueplusplus::Sensor::hasBatteryState
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor has a battery state.
+
+
+
+
+
◆ hasLEDIndication()
+
+
+
+
+
+ bool hueplusplus::Sensor::hasLEDIndication
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor has an LED indicator.
+
+
+
+
+
◆ hasOn()
+
+
+
+
+
+ bool hueplusplus::Sensor::hasOn
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor has an on attribute.
+
+
+
+
+
◆ hasReachable()
+
+
+
+
+
+ bool hueplusplus::Sensor::hasReachable
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor has reachable validation.
+
+
+
+
+
◆ hasURL()
+
+
+
+
+
+ bool hueplusplus::Sensor::hasURL
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor has a URL.
+
+
+
+
+
◆ hasUserTest()
+
+
+
+
+
+ bool hueplusplus::Sensor::hasUserTest
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor has a user test mode.
+
+
+
+
+
◆ isCertified()
+
+
+
+
+
+ bool hueplusplus::Sensor::isCertified
+ (
+ )
+ const
+
+
+
+
+
Check if the sensor is Hue certified.
+
+
+
+
+
◆ isOn()
+
+
+
+
+
+ bool hueplusplus::Sensor::isOn
+ (
+ )
+ const
+
+
+
+
+
check whether the sensor is turned on
+
Sensors which are off do not change their status
Exceptions
+
+ nlohmann::json::out_of_range when on attribute does not exist.
+
+
+
+
+
+
+
+
◆ isPrimary()
+
+
+
+
+
+ bool hueplusplus::Sensor::isPrimary
+ (
+ )
+ const
+
+
+
+
+
Check if the sensor is primary sensor of the device.
+
When there are multiple sensors on one physical device (same MAC address), the primary device is used for the device information.
+
+
+
+
+
◆ isReachable()
+
+
+
+
+
+ bool hueplusplus::Sensor::isReachable
+ (
+ )
+ const
+
+
+
+
+
Get whether sensor is reachable.
+
Exceptions
+
+ nlohmann::json::out_of_range when sensor has no reachable validation
+
+
+
+
+
+
+
+
◆ sendAlert()
+
+
+
+
+
+ void hueplusplus::Sensor::sendAlert
+ (
+ Alert
+ type )
+
+
+
+
+
+
Send alert.
+
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
+
+
+
+
+
+
+
+
◆ setBatteryState()
+
+
+
+
+
+ void hueplusplus::Sensor::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
+
+
+
+
+
+
+
+
◆ setConfigAttribute()
+
+
+
+
+
+ void hueplusplus::Sensor::setConfigAttribute
+ (
+ const std::string &
+ key ,
+
+
+
+
+ const nlohmann::json &
+ value
+
+
+
+ )
+
+
+
+
+
+
Set attribute in the sensor config.
+
Parameters
+
+ key Key of the config attribute
+ value Any value to set the attribute to
+
+
+
+
Can be used to configure sensors with additional config entries.
+
+
+
+
+
◆ setLEDIndication()
+
+
+
+
+
+ void hueplusplus::Sensor::setLEDIndication
+ (
+ bool
+ on )
+
+
+
+
+
+
Turn LED indicator on or off.
+
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::Sensor::setOn
+ (
+ bool
+ on )
+
+
+
+
+
+
Turn sensor on or off.
+
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
+
+
+
+
+
+
+
+
◆ setStateAttribute()
+
+
+
+
+
+ void hueplusplus::Sensor::setStateAttribute
+ (
+ const std::string &
+ key ,
+
+
+
+
+ const nlohmann::json &
+ value
+
+
+
+ )
+
+
+
+
+
+
Set part of the sensor state.
+
Parameters
+
+ key Key in the state object
+ value New value
+
+
+
+
The state can usually only be set on CLIP sensors, not on physical devices.
+
+
+
+
+
◆ setURL()
+
+
+
+
+
+ void hueplusplus::Sensor::setURL
+ (
+ const std::string &
+ url )
+
+
+
+
+
+
Set sensor URL.
+
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
+
+
+
+
+
+
+
+
◆ setUserTest()
+
+
+
+
+
+ void hueplusplus::Sensor::setUserTest
+ (
+ bool
+ enabled )
+
+
+
+
+
+
Enable or disable user test mode.
+
In user test mode, changes are reported more frequently.# It remains on for 120 seconds or until turned off.
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
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_sensor__coll__graph.map a/classhueplusplus_1_1_sensor__coll__graph.map
new file mode 100644
index 0000000..443d5c5
--- /dev/null
+++ a/classhueplusplus_1_1_sensor__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_sensor__coll__graph.md5 a/classhueplusplus_1_1_sensor__coll__graph.md5
new file mode 100644
index 0000000..0b3ab70
--- /dev/null
+++ a/classhueplusplus_1_1_sensor__coll__graph.md5
@@ -0,0 +1 @@
+e0bc2c3ccf06f038d2d5d225a12d8922
\ No newline at end of file
diff --git b/classhueplusplus_1_1_sensor__coll__graph.png a/classhueplusplus_1_1_sensor__coll__graph.png
new file mode 100644
index 0000000..fdd6988
--- /dev/null
+++ a/classhueplusplus_1_1_sensor__coll__graph.png
diff --git b/classhueplusplus_1_1_sensor__inherit__graph.map a/classhueplusplus_1_1_sensor__inherit__graph.map
new file mode 100644
index 0000000..1eb4ea3
--- /dev/null
+++ a/classhueplusplus_1_1_sensor__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_sensor__inherit__graph.md5 a/classhueplusplus_1_1_sensor__inherit__graph.md5
new file mode 100644
index 0000000..8570bf4
--- /dev/null
+++ a/classhueplusplus_1_1_sensor__inherit__graph.md5
@@ -0,0 +1 @@
+4aff8e30c56089160543f0b5a176199a
\ No newline at end of file
diff --git b/classhueplusplus_1_1_sensor__inherit__graph.png a/classhueplusplus_1_1_sensor__inherit__graph.png
new file mode 100644
index 0000000..b490a64
--- /dev/null
+++ a/classhueplusplus_1_1_sensor__inherit__graph.png
diff --git b/classhueplusplus_1_1_sensor_list-members.html a/classhueplusplus_1_1_sensor_list-members.html
new file mode 100644
index 0000000..681470b
--- /dev/null
+++ a/classhueplusplus_1_1_sensor_list-members.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::SensorList , including all inherited members.
+
+ construct (const IdType &id, const nlohmann::json &state)hueplusplus::ResourceList< Sensor, int > inline protected
+ create (const CreateSensor ¶ms)hueplusplus::CreateableResourceList< SearchableResourceList< Sensor >, CreateSensor > inline
+ CreateableResourceList (CreateableResourceList &&)=defaulthueplusplus::CreateableResourceList< SearchableResourceList< Sensor >, CreateSensor > protected
+ exists (const IdType &id)hueplusplus::ResourceList< Sensor, int > inline
+ exists (const IdType &id) consthueplusplus::ResourceList< Sensor, int > inline
+ factory hueplusplus::ResourceList< Sensor, int > protected
+ get (const IdType &id)hueplusplus::ResourceList< Sensor, int > inline
+ getAll ()hueplusplus::ResourceList< Sensor, int > inline
+ getAllByType ()hueplusplus::SensorList inline
+ getAsType (int id)hueplusplus::SensorList inline
+ getNewDevices () consthueplusplus::SearchableResourceList< Sensor > inline
+ IdType typedefhueplusplus::ResourceList< Sensor, int >
+ maybeStoi (const std::string &key)hueplusplus::ResourceList< Sensor, int > inline protected static
+ maybeToString (const IdType &id)hueplusplus::ResourceList< Sensor, int > inline protected static
+ operator= (SensorList &&)=defaulthueplusplus::SensorList protected
+ CreateableResourceList< SearchableResourceList< Sensor >, CreateSensor >::operator= (CreateableResourceList &&)=defaulthueplusplus::CreateableResourceList< SearchableResourceList< Sensor >, CreateSensor > protected
+ SearchableResourceList< Sensor >::operator= (SearchableResourceList &&)=defaulthueplusplus::SearchableResourceList< Sensor > protected
+ ResourceList< Sensor, int >::operator= (const ResourceList &)=deletehueplusplus::ResourceList< Sensor, int >
+ ResourceList< Sensor, int >::operator= (ResourceList &&)=defaulthueplusplus::ResourceList< Sensor, int > protected
+ path hueplusplus::ResourceList< Sensor, int > protected
+ refresh ()hueplusplus::ResourceList< Sensor, int > inline
+ remove (const IdType &id)hueplusplus::ResourceList< Sensor, int > inline
+ ResourceList (std::shared_ptr< APICache > baseCache, const std::string &cacheEntry, std::chrono::steady_clock::duration refreshDuration, bool sharedState=false, const std::function< Sensor(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)hueplusplus::ResourceList< Sensor, int > inline
+ ResourceList (const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const std::function< Sensor(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)hueplusplus::ResourceList< Sensor, int > inline
+ ResourceList (const ResourceList &)=deletehueplusplus::ResourceList< Sensor, int >
+ ResourceList (ResourceList &&)=defaulthueplusplus::ResourceList< Sensor, int > protected
+ ResourceType typedefhueplusplus::ResourceList< Sensor, int >
+ search (const std::vector< std::string > &deviceIds={})hueplusplus::SearchableResourceList< Sensor > inline
+ SearchableResourceList (SearchableResourceList &&)=defaulthueplusplus::SearchableResourceList< Sensor > protected
+ SensorList (SensorList &&)=defaulthueplusplus::SensorList protected
+ setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)hueplusplus::ResourceList< Sensor, int > inline
+ sharedState hueplusplus::ResourceList< Sensor, int > protected
+ stateCache hueplusplus::ResourceList< Sensor, int > protected
+
+
+
+
+
diff --git b/classhueplusplus_1_1_sensor_list.html a/classhueplusplus_1_1_sensor_list.html
new file mode 100644
index 0000000..2b53f73
--- /dev/null
+++ a/classhueplusplus_1_1_sensor_list.html
@@ -0,0 +1,386 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::SensorList Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Handles a list of Sensor s with type specific getters.
+ More...
+
+
#include <hueplusplus/SensorList.h >
+
+
+
+
+
+
+
+
+
+
+template<typename T >
+T getAsType (int id)
+ Get sensor specified by id, convert to T. More...
+
+template<typename T >
+std::vector< T > getAllByType ()
+ Get all sensors of type T. More...
+
+
+SearchableResourceList < Sensor > ::IdType create (const CreateSensor ¶ms)
+ Create a new resource. More...
+
+
+void search (const std::vector< std::string > &deviceIds={})
+ Start search for new devices. More...
+
+NewDeviceList getNewDevices () const
+ Get devices found in last search. More...
+
+
+ ResourceList (std::shared_ptr< APICache > baseCache, const std::string &cacheEntry, std::chrono::steady_clock::duration refreshDuration, bool sharedState =false, const std::function< Sensor (IdType , const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory =nullptr)
+ Construct ResourceList using a base cache and optional factory function. More...
+
+ ResourceList (const HueCommandAPI &commands, const std::string &path , std::chrono::steady_clock::duration refreshDuration, const std::function< Sensor (IdType , const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory =nullptr)
+ Construct ResourceList with a separate cache and optional factory function. More...
+
+ ResourceList (const ResourceList &)=delete
+ Deleted copy constructor. More...
+
+ResourceList & operator= (const ResourceList &)=delete
+ Deleted copy assignment. More...
+
+void refresh ()
+ Refreshes internal state now. More...
+
+void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+ Sets custom refresh interval for this list and all resources created. More...
+
+std::vector< Sensor > getAll ()
+ Get all resources that exist. More...
+
+Sensor get (const IdType &id)
+ Get resource specified by id. More...
+
+bool exists (const IdType &id)
+ Checks whether resource with id exists. More...
+
+bool exists (const IdType &id) const
+ Checks whether resource with id exists. More...
+
+bool remove (const IdType &id)
+ Removes the resource. More...
+
+
+
+
Handles a list of Sensor s with type specific getters.
+
Allows to directly get the requested sensor type or all sensors of a given type.
+
+
+
◆ SensorList()
+
+
+
+
+
+
+
+
+ hueplusplus::SensorList::SensorList
+ (
+ SensorList &&
+ )
+
+
+
+
+
+protected default
+
+
+
+
+
Protected defaulted move constructor.
+
+
+
+
+
+
◆ getAllByType()
+
+
+
+
+template<typename T >
+
+
+
+
+
+ std::vector<T> hueplusplus::SensorList::getAllByType
+ (
+ )
+
+
+
+
+
+inline
+
+
+
+
+
Get all sensors of type T.
+
Template Parameters
+
+
+
+
Returns All sensors matching the type
+
Exceptions
+
+ HueException when response contains no body
+ std::system_error when system or socket operations fail
+ HueAPIResponseException when response contains an error
+ nlohmann::json::parse_error when response could not be parsed
+
+
+
+
+
+
+
+
◆ getAsType()
+
+
+
+
+template<typename T >
+
+
+
+
+
+ T hueplusplus::SensorList::getAsType
+ (
+ int
+ id )
+
+
+
+
+
+inline
+
+
+
+
+
Get sensor specified by id, convert to T.
+
Parameters
+
+
+
+
Template Parameters
+
+
+
+
Returns The sensor matching the id and type
+
Exceptions
+
+ HueException when id does not exist or type does not match
+ std::system_error when system or socket operations fail
+ HueAPIResponseException when response contains an error
+ nlohmann::json::parse_error when response could not be parsed
+
+
+
+
+
+
+
+
◆ operator=()
+
+
+
+
+
+
+
+
+
+protected default
+
+
+
+
+
Protected defaulted move assignment.
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_sensor_list__coll__graph.map a/classhueplusplus_1_1_sensor_list__coll__graph.map
new file mode 100644
index 0000000..7377ade
--- /dev/null
+++ a/classhueplusplus_1_1_sensor_list__coll__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/classhueplusplus_1_1_sensor_list__coll__graph.md5 a/classhueplusplus_1_1_sensor_list__coll__graph.md5
new file mode 100644
index 0000000..da1e23a
--- /dev/null
+++ a/classhueplusplus_1_1_sensor_list__coll__graph.md5
@@ -0,0 +1 @@
+6c68d05b81db36f24b175457af0eb1ee
\ No newline at end of file
diff --git b/classhueplusplus_1_1_sensor_list__coll__graph.png a/classhueplusplus_1_1_sensor_list__coll__graph.png
new file mode 100644
index 0000000..845f62c
--- /dev/null
+++ a/classhueplusplus_1_1_sensor_list__coll__graph.png
diff --git b/classhueplusplus_1_1_sensor_list__inherit__graph.map a/classhueplusplus_1_1_sensor_list__inherit__graph.map
new file mode 100644
index 0000000..7377ade
--- /dev/null
+++ a/classhueplusplus_1_1_sensor_list__inherit__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/classhueplusplus_1_1_sensor_list__inherit__graph.md5 a/classhueplusplus_1_1_sensor_list__inherit__graph.md5
new file mode 100644
index 0000000..7955011
--- /dev/null
+++ a/classhueplusplus_1_1_sensor_list__inherit__graph.md5
@@ -0,0 +1 @@
+4f2fd2e28f6832e4173aef334894f1ff
\ No newline at end of file
diff --git b/classhueplusplus_1_1_sensor_list__inherit__graph.png a/classhueplusplus_1_1_sensor_list__inherit__graph.png
new file mode 100644
index 0000000..39eaa47
--- /dev/null
+++ a/classhueplusplus_1_1_sensor_list__inherit__graph.png
diff --git b/classhueplusplus_1_1_simple_brightness_strategy-members.html a/classhueplusplus_1_1_simple_brightness_strategy-members.html
new file mode 100644
index 0000000..2fa06c5
--- /dev/null
+++ a/classhueplusplus_1_1_simple_brightness_strategy-members.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::SimpleBrightnessStrategy , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_simple_brightness_strategy.html a/classhueplusplus_1_1_simple_brightness_strategy.html
new file mode 100644
index 0000000..b8e3ce8
--- /dev/null
+++ a/classhueplusplus_1_1_simple_brightness_strategy.html
@@ -0,0 +1,259 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::SimpleBrightnessStrategy Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Class implementing the functions of BrightnessStrategy .
+ More...
+
+
#include <hueplusplus/SimpleBrightnessStrategy.h >
+
+
+
+
+
+
+
+
+
+
+bool setBrightness (unsigned int bri, uint8_t transition, Light &light) const override
+ Function for changing a lights brightness with a specified transition. More...
+
+unsigned int getBrightness (Light &light) const override
+ Function that returns the current brightness of the light. More...
+
+unsigned int getBrightness (const Light &light) const override
+ Function that returns the current brightness of the light. More...
+
+
+virtual ~BrightnessStrategy ()=default
+ Virtual dtor. More...
+
+
+
+
Class implementing the functions of BrightnessStrategy .
+
+
+
◆ getBrightness() [1/2]
+
+
+
+
+
+
+
+
+ unsigned int hueplusplus::SimpleBrightnessStrategy::getBrightness
+ (
+ Light &
+ light )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that returns the current brightness of the light.
+
Updates the lights state by calling refreshState()
Parameters
+
+ light A reference of the light
+
+
+
+
Returns Unsigned int representing the brightness
+
+
Implements hueplusplus::BrightnessStrategy .
+
+
+
+
+
◆ getBrightness() [2/2]
+
+
+
+
+
+
+
+
+ unsigned int hueplusplus::SimpleBrightnessStrategy::getBrightness
+ (
+ const Light &
+ light )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that returns the current brightness of the light.
+
Note This does not update the lights state
+
Parameters
+
+ light A const reference of the light
+
+
+
+
Returns Unsigned int representing the brightness
+
+
Implements hueplusplus::BrightnessStrategy .
+
+
+
+
+
◆ setBrightness()
+
+
+
+
+
+
+
+
+ bool hueplusplus::SimpleBrightnessStrategy::setBrightness
+ (
+ unsigned int
+ bri ,
+
+
+
+
+ uint8_t
+ transition ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function for changing a lights brightness with a specified transition.
+
Parameters
+
+ bri The brightness raning from 0 = off to 255 = fully lit
+ transition The time it takes to fade to the new brightness in multiples of 100ms, 4 = 400ms and should be seen as the default
+ light A reference of the light
+
+
+
+
+
Implements hueplusplus::BrightnessStrategy .
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_simple_brightness_strategy__coll__graph.map a/classhueplusplus_1_1_simple_brightness_strategy__coll__graph.map
new file mode 100644
index 0000000..e22bc48
--- /dev/null
+++ a/classhueplusplus_1_1_simple_brightness_strategy__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_simple_brightness_strategy__coll__graph.md5 a/classhueplusplus_1_1_simple_brightness_strategy__coll__graph.md5
new file mode 100644
index 0000000..798005a
--- /dev/null
+++ a/classhueplusplus_1_1_simple_brightness_strategy__coll__graph.md5
@@ -0,0 +1 @@
+ed739cfcc6381103e471726867fc6982
\ No newline at end of file
diff --git b/classhueplusplus_1_1_simple_brightness_strategy__coll__graph.png a/classhueplusplus_1_1_simple_brightness_strategy__coll__graph.png
new file mode 100644
index 0000000..c003c66
--- /dev/null
+++ a/classhueplusplus_1_1_simple_brightness_strategy__coll__graph.png
diff --git b/classhueplusplus_1_1_simple_brightness_strategy__inherit__graph.map a/classhueplusplus_1_1_simple_brightness_strategy__inherit__graph.map
new file mode 100644
index 0000000..e22bc48
--- /dev/null
+++ a/classhueplusplus_1_1_simple_brightness_strategy__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_simple_brightness_strategy__inherit__graph.md5 a/classhueplusplus_1_1_simple_brightness_strategy__inherit__graph.md5
new file mode 100644
index 0000000..3c9139a
--- /dev/null
+++ a/classhueplusplus_1_1_simple_brightness_strategy__inherit__graph.md5
@@ -0,0 +1 @@
+bcad02b0c3270e12e0acc888e4d0b212
\ No newline at end of file
diff --git b/classhueplusplus_1_1_simple_brightness_strategy__inherit__graph.png a/classhueplusplus_1_1_simple_brightness_strategy__inherit__graph.png
new file mode 100644
index 0000000..c003c66
--- /dev/null
+++ a/classhueplusplus_1_1_simple_brightness_strategy__inherit__graph.png
diff --git b/classhueplusplus_1_1_simple_color_hue_strategy-members.html a/classhueplusplus_1_1_simple_color_hue_strategy-members.html
new file mode 100644
index 0000000..fd4e17f
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_hue_strategy-members.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::SimpleColorHueStrategy , including all inherited members.
+
+ alertHueSaturation (const HueSaturation &hueSat, Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ alertXY (const XYBrightness &xy, Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ getColorHueSaturation (Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ getColorHueSaturation (const Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ getColorXY (Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ getColorXY (const Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ setColorHue (uint16_t hue, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ setColorHueSaturation (const HueSaturation &hueSat, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ setColorLoop (bool on, Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ setColorSaturation (uint8_t sat, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ setColorXY (const XYBrightness &xy, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategy virtual
+ ~ColorHueStrategy ()=defaulthueplusplus::ColorHueStrategy virtual
+
+
+
+
+
diff --git b/classhueplusplus_1_1_simple_color_hue_strategy.html a/classhueplusplus_1_1_simple_color_hue_strategy.html
new file mode 100644
index 0000000..84e4c78
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_hue_strategy.html
@@ -0,0 +1,661 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::SimpleColorHueStrategy Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <hueplusplus/SimpleColorHueStrategy.h >
+
+
+
+
+
+
+
+
+
+
+bool setColorHue (uint16_t hue, uint8_t transition, Light &light) const override
+ Function for changing a lights color in hue with a specified transition. More...
+
+bool setColorSaturation (uint8_t sat, uint8_t transition, Light &light) const override
+ Function for changing a lights color in saturation with a specified transition. More...
+
+bool setColorHueSaturation (const HueSaturation &hueSat, uint8_t transition, Light &light) const override
+ Function for changing a lights color in hue and saturation format with a specified transition. More...
+
+bool setColorXY (const XYBrightness &xy, uint8_t transition, Light &light) const override
+ Function for changing a lights color in CIE format with a specified transition. More...
+
+bool setColorLoop (bool on, Light &light) const override
+ Function for turning on/off the color loop feature of a light. More...
+
+bool alertHueSaturation (const HueSaturation &hueSat, Light &light) const override
+ Function that lets the light perform one breath cycle in the specified color. More...
+
+bool alertXY (const XYBrightness &xy, Light &light) const override
+ Function that lets the light perform one breath cycle in the specified color. More...
+
+HueSaturation getColorHueSaturation (Light &light) const override
+ Function that returns the current color of the light as hue and saturation. More...
+
+HueSaturation getColorHueSaturation (const Light &light) const override
+ Function that returns the current color of the light as hue and saturation. More...
+
+XYBrightness getColorXY (Light &light) const override
+ Function that returns the current color of the light as xy. More...
+
+XYBrightness getColorXY (const Light &light) const override
+ Function that returns the current color of the light as xy. More...
+
+
+virtual ~ColorHueStrategy ()=default
+ Virtual dtor. More...
+
+
+
+
Class implementing the functions of ColorHueStrategy
+
To be used for lights that have only color and no color temperature.
+
+
+
◆ alertHueSaturation()
+
+
+
+
+
+
+
+
+ bool hueplusplus::SimpleColorHueStrategy::alertHueSaturation
+ (
+ const HueSaturation &
+ hueSat ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that lets the light perform one breath cycle in the specified color.
+
Parameters
+
+ hueSat The color in hue and saturation
+ light A reference of the light
+
+
+
+
Blocks for the time a Light::alert() needs
+
+
Implements hueplusplus::ColorHueStrategy .
+
+
+
+
+
◆ alertXY()
+
+
+
+
+
+
+
+
+ bool hueplusplus::SimpleColorHueStrategy::alertXY
+ (
+ const XYBrightness &
+ xy ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that lets the light perform one breath cycle in the specified color.
+
Parameters
+
+ xy The color in XY and brightness
+ light A reference of the light
+
+
+
+
+
Implements hueplusplus::ColorHueStrategy .
+
+
+
+
+
◆ getColorHueSaturation() [1/2]
+
+
+
+
+
+
+
+
+ HueSaturation hueplusplus::SimpleColorHueStrategy::getColorHueSaturation
+ (
+ Light &
+ light )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that returns the current color of the light as hue and saturation.
+
Updates the lights state by calling refreshState()
Parameters
+
+ light A reference of the light
+
+
+
+
Returns Pair containing the hue as first value and saturation as second value
+
+
Implements hueplusplus::ColorHueStrategy .
+
+
+
+
+
◆ getColorHueSaturation() [2/2]
+
+
+
+
+
+
+
+
+ HueSaturation hueplusplus::SimpleColorHueStrategy::getColorHueSaturation
+ (
+ const Light &
+ light )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that returns the current color of the light as hue and saturation.
+
Note This does not update the lights state
+
Parameters
+
+ light A const reference of the light
+
+
+
+
Returns Pair containing the hue as first value and saturation as second value
+
+
Implements hueplusplus::ColorHueStrategy .
+
+
+
+
+
◆ getColorXY() [1/2]
+
+
+
+
+
+
+
+
+ XYBrightness hueplusplus::SimpleColorHueStrategy::getColorXY
+ (
+ Light &
+ light )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that returns the current color of the light as xy.
+
Updates the lights state by calling refreshState()
Parameters
+
+ light A reference of the light
+
+
+
+
Returns XY and brightness of current color
+
+
Implements hueplusplus::ColorHueStrategy .
+
+
+
+
+
◆ getColorXY() [2/2]
+
+
+
+
+
+
+
+
+ XYBrightness hueplusplus::SimpleColorHueStrategy::getColorXY
+ (
+ const Light &
+ light )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that returns the current color of the light as xy.
+
Note This does not update the lights state
+
Parameters
+
+ light A const reference of the light
+
+
+
+
Returns XY and brightness of current color
+
+
Implements hueplusplus::ColorHueStrategy .
+
+
+
+
+
◆ setColorHue()
+
+
+
+
+
+
+
+
+ bool hueplusplus::SimpleColorHueStrategy::setColorHue
+ (
+ uint16_t
+ hue ,
+
+
+
+
+ uint8_t
+ transition ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function for changing a lights color in hue with a specified transition.
+
The hue ranges from 0 to 65535, whereas 65535 and 0 are red, 25500 is green and 46920 is blue.
Parameters
+
+ hue The hue of the color
+ transition The time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
+ light A reference of the light
+
+
+
+
+
Implements hueplusplus::ColorHueStrategy .
+
+
+
+
+
◆ setColorHueSaturation()
+
+
+
+
+
+
+
+
+ bool hueplusplus::SimpleColorHueStrategy::setColorHueSaturation
+ (
+ const HueSaturation &
+ hueSat ,
+
+
+
+
+ uint8_t
+ transition ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function for changing a lights color in hue and saturation format with a specified transition.
+
Parameters
+
+ hueSat Color in hue and satuation.
+ transition The time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
+ light A reference of the light
+
+
+
+
+
Implements hueplusplus::ColorHueStrategy .
+
+
+
+
+
◆ setColorLoop()
+
+
+
+
+
+
+
+
+ bool hueplusplus::SimpleColorHueStrategy::setColorLoop
+ (
+ bool
+ on ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function for turning on/off the color loop feature of a light.
+
Can be theoretically set for any light, but it only works for lights that support this feature. When this feature is activated the light will fade through every color on the current hue and saturation settings. Notice that none of the setter functions check whether this feature is enabled and the colorloop can only be disabled with this function or by simply calling off() and then on(), so you could alternatively call off() and then use any of the setter functions.
Parameters
+
+ on Boolean to turn this feature on or off, true/1 for on and false/0 for off
+ light A reference of the light
+
+
+
+
+
Implements hueplusplus::ColorHueStrategy .
+
+
+
+
+
◆ setColorSaturation()
+
+
+
+
+
+
+
+
+ bool hueplusplus::SimpleColorHueStrategy::setColorSaturation
+ (
+ uint8_t
+ sat ,
+
+
+
+
+ uint8_t
+ transition ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function for changing a lights color in saturation with a specified transition.
+
The saturation ranges from 0 to 254, whereas 0 is least saturated (white) and 254 is most saturated (vibrant).
Parameters
+
+ sat The saturation of the color
+ transition The time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
+ light A reference of the light
+
+
+
+
+
Implements hueplusplus::ColorHueStrategy .
+
+
+
+
+
◆ setColorXY()
+
+
+
+
+
+
+
+
+ bool hueplusplus::SimpleColorHueStrategy::setColorXY
+ (
+ const XYBrightness &
+ xy ,
+
+
+
+
+ uint8_t
+ transition ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function for changing a lights color in CIE format with a specified transition.
+
Parameters
+
+ xy The color in XY and brightness
+ transition The time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
+ light A reference of the light
+
+
+
+
+
Implements hueplusplus::ColorHueStrategy .
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_simple_color_hue_strategy__coll__graph.map a/classhueplusplus_1_1_simple_color_hue_strategy__coll__graph.map
new file mode 100644
index 0000000..5045a59
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_hue_strategy__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_simple_color_hue_strategy__coll__graph.md5 a/classhueplusplus_1_1_simple_color_hue_strategy__coll__graph.md5
new file mode 100644
index 0000000..5d937cb
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_hue_strategy__coll__graph.md5
@@ -0,0 +1 @@
+9e7938ce9b5756ccbd28b3b2ed4fa102
\ No newline at end of file
diff --git b/classhueplusplus_1_1_simple_color_hue_strategy__coll__graph.png a/classhueplusplus_1_1_simple_color_hue_strategy__coll__graph.png
new file mode 100644
index 0000000..43c7f18
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_hue_strategy__coll__graph.png
diff --git b/classhueplusplus_1_1_simple_color_hue_strategy__inherit__graph.map a/classhueplusplus_1_1_simple_color_hue_strategy__inherit__graph.map
new file mode 100644
index 0000000..32b2990
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_hue_strategy__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_simple_color_hue_strategy__inherit__graph.md5 a/classhueplusplus_1_1_simple_color_hue_strategy__inherit__graph.md5
new file mode 100644
index 0000000..8e5b93a
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_hue_strategy__inherit__graph.md5
@@ -0,0 +1 @@
+0101ce8608c04ae89c5dc374586b3e0d
\ No newline at end of file
diff --git b/classhueplusplus_1_1_simple_color_hue_strategy__inherit__graph.png a/classhueplusplus_1_1_simple_color_hue_strategy__inherit__graph.png
new file mode 100644
index 0000000..ee7d311
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_hue_strategy__inherit__graph.png
diff --git b/classhueplusplus_1_1_simple_color_temperature_strategy-members.html a/classhueplusplus_1_1_simple_color_temperature_strategy-members.html
new file mode 100644
index 0000000..da99f9e
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_temperature_strategy-members.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::SimpleColorTemperatureStrategy , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_simple_color_temperature_strategy.html a/classhueplusplus_1_1_simple_color_temperature_strategy.html
new file mode 100644
index 0000000..beb58bc
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_temperature_strategy.html
@@ -0,0 +1,310 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::SimpleColorTemperatureStrategy Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Class implementing the functions of ColorTemperatureStrategy .
+ More...
+
+
#include <hueplusplus/SimpleColorTemperatureStrategy.h >
+
+
+
+
+
+
+
+
+
+
+
Class implementing the functions of ColorTemperatureStrategy .
+
+
+
◆ alertTemperature()
+
+
+
+
+
+
+
+
+ bool hueplusplus::SimpleColorTemperatureStrategy::alertTemperature
+ (
+ unsigned int
+ mired ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that lets the light perform one breath cycle in the specified color.
+
It uses this_thread::sleep_for to accomodate for the time an Light::alert() needs The color temperature in mired ranges from 153 to 500 whereas 153 is cold and 500 is warm.
Parameters
+
+ mired The color temperature in mired
+ light A reference of the light
+
+
+
+
+
Implements hueplusplus::ColorTemperatureStrategy .
+
+
+
+
+
◆ getColorTemperature() [1/2]
+
+
+
+
+
+
+
+
+ unsigned int hueplusplus::SimpleColorTemperatureStrategy::getColorTemperature
+ (
+ Light &
+ light )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that returns the current color temperature of the light.
+
Updates the lights state by calling refreshState() The color temperature in mired ranges from 153 to 500 whereas 153 is cold and 500 is warm.
Parameters
+
+ light A reference of the light
+
+
+
+
Returns Unsigned int representing the color temperature in mired
+
+
Implements hueplusplus::ColorTemperatureStrategy .
+
+
+
+
+
◆ getColorTemperature() [2/2]
+
+
+
+
+
+
+
+
+ unsigned int hueplusplus::SimpleColorTemperatureStrategy::getColorTemperature
+ (
+ const Light &
+ light )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that returns the current color temperature of the light.
+
The color temperature in mired ranges from 153 to 500 whereas 153 is cold and 500 is warm.
Note This does not update the lights state
+
Parameters
+
+ light A const reference of the light
+
+
+
+
Returns Unsigned int representing the color temperature in mired
+
+
Implements hueplusplus::ColorTemperatureStrategy .
+
+
+
+
+
◆ setColorTemperature()
+
+
+
+
+
+
+
+
+ bool hueplusplus::SimpleColorTemperatureStrategy::setColorTemperature
+ (
+ unsigned int
+ mired ,
+
+
+
+
+ uint8_t
+ transition ,
+
+
+
+
+ Light &
+ light
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function for changing a lights color temperature in mired with a specified transition.
+
The color temperature in mired ranges from 153 to 500 whereas 153 is cold and 500 is warm.
Parameters
+
+ mired The color temperature in mired
+ transition The time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
+ light A reference of the light
+
+
+
+
+
Implements hueplusplus::ColorTemperatureStrategy .
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_simple_color_temperature_strategy__coll__graph.map a/classhueplusplus_1_1_simple_color_temperature_strategy__coll__graph.map
new file mode 100644
index 0000000..04badcd
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_temperature_strategy__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_simple_color_temperature_strategy__coll__graph.md5 a/classhueplusplus_1_1_simple_color_temperature_strategy__coll__graph.md5
new file mode 100644
index 0000000..8a2159a
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_temperature_strategy__coll__graph.md5
@@ -0,0 +1 @@
+5ee61e468472198566f1b280e24a11b8
\ No newline at end of file
diff --git b/classhueplusplus_1_1_simple_color_temperature_strategy__coll__graph.png a/classhueplusplus_1_1_simple_color_temperature_strategy__coll__graph.png
new file mode 100644
index 0000000..ecd2be4
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_temperature_strategy__coll__graph.png
diff --git b/classhueplusplus_1_1_simple_color_temperature_strategy__inherit__graph.map a/classhueplusplus_1_1_simple_color_temperature_strategy__inherit__graph.map
new file mode 100644
index 0000000..6c68119
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_temperature_strategy__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_simple_color_temperature_strategy__inherit__graph.md5 a/classhueplusplus_1_1_simple_color_temperature_strategy__inherit__graph.md5
new file mode 100644
index 0000000..83571a5
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_temperature_strategy__inherit__graph.md5
@@ -0,0 +1 @@
+465e6e3713a5f7cd0d97b1672d78f78b
\ No newline at end of file
diff --git b/classhueplusplus_1_1_simple_color_temperature_strategy__inherit__graph.png a/classhueplusplus_1_1_simple_color_temperature_strategy__inherit__graph.png
new file mode 100644
index 0000000..fbe5d4f
--- /dev/null
+++ a/classhueplusplus_1_1_simple_color_temperature_strategy__inherit__graph.png
diff --git b/classhueplusplus_1_1_socket_closer-members.html a/classhueplusplus_1_1_socket_closer-members.html
new file mode 100644
index 0000000..7b68c81
--- /dev/null
+++ a/classhueplusplus_1_1_socket_closer-members.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::SocketCloser , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_socket_closer.html a/classhueplusplus_1_1_socket_closer.html
new file mode 100644
index 0000000..8e2d9a1
--- /dev/null
+++ a/classhueplusplus_1_1_socket_closer.html
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::SocketCloser Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
◆ SocketCloser()
+
+
+
+
+
+
+
+
+ hueplusplus::SocketCloser::SocketCloser
+ (
+ int
+ sockFd )
+
+
+
+
+
+inline explicit
+
+
+
+
+
+
+
+
◆ ~SocketCloser()
+
+
+
+
+
+
+
+
+ hueplusplus::SocketCloser::~SocketCloser
+ (
+ )
+
+
+
+
+
+inline
+
+
+
+
+
+
+
The documentation for this class was generated from the following file:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_state_transaction-members.html a/classhueplusplus_1_1_state_transaction-members.html
new file mode 100644
index 0000000..ea8606a
--- /dev/null
+++ a/classhueplusplus_1_1_state_transaction-members.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::StateTransaction , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_state_transaction.html a/classhueplusplus_1_1_state_transaction.html
new file mode 100644
index 0000000..a4e7522
--- /dev/null
+++ a/classhueplusplus_1_1_state_transaction.html
@@ -0,0 +1,979 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::StateTransaction Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Transaction class which can be used for either light or group state.
+ More...
+
+
#include <hueplusplus/StateTransaction.h >
+
+
+
+
+
+
+void trimRequest ()
+ Remove parts from request that are already set in state. More...
+
+
+
+
Transaction class which can be used for either light or group state.
+
This is intended to be used in-line, all calls are chained until a commit() call.
Note The transaction has an internal reference to the light state. You must not cause a refresh of the state between creating and committing the transaction (e.g. non-const getters/setters), because that invalidates the reference.
+
Advanced usage
+
Another way to use the transaction is by storing it and building up the calls separately.
In this case, it is especially important that the light and the state of the light MUST NOT invalidate. That means
+the light variable has to live longer than the transaction
+especially no non-const method calls on the light while the transaction is open, or committing other transactions
+
+
In general, this method is easier to screw up and should only be used when really necessary.
+
+
+
◆ StateTransaction() [1/3]
+
+
+
+
+
+ hueplusplus::StateTransaction::StateTransaction
+ (
+ const HueCommandAPI &
+ commands ,
+
+
+
+
+ const std::string &
+ path ,
+
+
+
+
+ nlohmann::json *
+ currentState
+
+
+
+ )
+
+
+
+
+
+
Creates a StateTransaction to a group or light state.
+
Parameters
+
+ commands HueCommandAPI for making requests
+ path Path to which the final PUT request is made (without username)
+ currentState Optional, the current state to check whether changes are needed. Pass nullptr to always include all requests (for groups, because individual lights might be different).
+
+
+
+
+
+
+
+
◆ StateTransaction() [2/3]
+
+
+
+
+
+
+
+
+ hueplusplus::StateTransaction::StateTransaction
+ (
+ const StateTransaction &
+ )
+
+
+
+
+
+delete
+
+
+
+
+
+
◆ StateTransaction() [3/3]
+
+
+
+
+
+
+
+
+ hueplusplus::StateTransaction::StateTransaction
+ (
+ StateTransaction &&
+ )
+
+
+
+
+
+default
+
+
+
+
+
+
+
+
+
◆ alert()
+
+
+
+
+
Trigger an alert.
+
The light performs one breathe cycle.
Returns This transaction for chaining calls
+
+
+
+
+
◆ commit()
+
+
+
+
+
+ bool hueplusplus::StateTransaction::commit
+ (
+ bool
+ trimRequest = true)
+
+
+
+
+
+
Commit transaction and make request.
+
Parameters
+
+ trimRequest Optional. When true, request parameters that are unneccessary based on the current state are removed. This reduces load on the bridge. On the other hand, an outdated state might cause requests to be dropped unexpectedly. Has no effect on groups.
+
+
+
+
Returns true on success or when no change was requested.
+
Note After changing the state of a Light or Group , refresh() must be called if the updated values are needed immediately.
+
Exceptions
+
+ std::system_error when system or socket operations fail
+ HueException when response contains no body
+ HueAPIResponseException when response contains an error
+ nlohmann::json::parse_error when response could not be parsed
+
+
+
+
+
+
+
+
◆ incrementBrightness()
+
+
+
+
+
+ StateTransaction & hueplusplus::StateTransaction::incrementBrightness
+ (
+ int
+ increment )
+
+
+
+
+
+
Increment/Decrement brightness.
+
Parameters
+
+ increment Brightness change from -254 to 254.
+
+
+
+
Returns This transaction for chaining calls
+
Note If this transaction is for a light, the light needs to have brightness control.
+
+
+
+
+
◆ incrementColorTemperature()
+
+
+
+
+
+ StateTransaction & hueplusplus::StateTransaction::incrementColorTemperature
+ (
+ int
+ increment )
+
+
+
+
+
+
Increment/Decrement color temperature.
+
Parameters
+
+ increment Color temperature change in mired from -65535 to 65535.
+
+
+
+
Returns This transaction for chaining calls
+
Note If this transaction is for a light, the light needs to have color temperature control.
+
+
+
+
+
◆ incrementColorXY()
+
+
+
+
+
+ StateTransaction & hueplusplus::StateTransaction::incrementColorXY
+ (
+ float
+ xInc ,
+
+
+
+
+ float
+ yInc
+
+
+
+ )
+
+
+
+
+
+
Increment/Decrement color xy.
+
Parameters
+
+ xInc x color coordinate change from -0.5 to 0.5.
+ yInc y color coordinate change from -0.5 to 0.5.
+
+
+
+
Returns This transaction for chaining calls
+
Note If this transaction is for a light, the light needs to have rgb color control.
+
+
+
+
+
◆ incrementHue()
+
+
+
+
+
+ StateTransaction & hueplusplus::StateTransaction::incrementHue
+ (
+ int
+ increment )
+
+
+
+
+
+
Increment/Decrement hue.
+
Parameters
+
+ increment Hue change from -65535 to 65535.
+
+
+
+
Returns This transaction for chaining calls
+
Note If this transaction is for a light, the light needs to have rgb color control.
+
+
+
+
+
◆ incrementSaturation()
+
+
+
+
+
+ StateTransaction & hueplusplus::StateTransaction::incrementSaturation
+ (
+ int
+ increment )
+
+
+
+
+
+
Increment/Decrement saturaction.
+
Parameters
+
+ increment Saturation change from -254 to 254.
+
+
+
+
Returns This transaction for chaining calls
+
Note If this transaction is for a light, the light needs to have rgb color control.
+
+
+
+
+
◆ longAlert()
+
+
+
+
+
Trigger a long alert (15s).
+
Returns This transaction for chaining calls
+
+
+
+
+
◆ setBrightness()
+
+
+
+
+
+ StateTransaction & hueplusplus::StateTransaction::setBrightness
+ (
+ uint8_t
+ brightness )
+
+
+
+
+
+
Set light brightness.
+
Parameters
+
+ brightness Brightness from 0 = off to 254 = fully lit.
+
+
+
+
Returns This transaction for chaining calls
+
Note If this transaction is for a light, the light needs to have brightness control.
+
+Brightness 0 will also turn off the light if nothing else is specified, any other value will also turn on the light.
+
+
+
+
+
◆ setColor() [1/3]
+
+
+
+
+
Set light color in hue and saturation.
+
Parameters
+
+ hueSat Color in hue and saturation
+
+
+
+
Returns This transaction for chaining calls
+
Note If this transaction is for a light, the light needs to have rgb color control.
+
+Will also turn on the light if nothing else is specified
+
+
+
+
+
◆ setColor() [2/3]
+
+
+
+
+
+ StateTransaction & hueplusplus::StateTransaction::setColor
+ (
+ const XY &
+ xy )
+
+
+
+
+
+
Set light color in xy space (without brightness).
+
Parameters
+
+ xy x and y coordinates in CIE color space
+
+
+
+
Returns This transaction for chaining calls
+
Note If this transaction is for a light, the light needs to have rgb color control.
+
+Will also turn on the light if nothing else is specified
+
+
+
+
+
◆ setColor() [3/3]
+
+
+
+
+
Set light color and brightness in xy space.
+
Parameters
+
+ xy x,y and brightness in CIE color space
+
+
+
+
Returns This transaction for chaining calls
+
Note If this transaction is for a light, the light needs to have rgb color control.
+
+Will also turn on the light if nothing else is specified
+
+
+
+
+
◆ setColorHue()
+
+
+
+
+
+ StateTransaction & hueplusplus::StateTransaction::setColorHue
+ (
+ uint16_t
+ hue )
+
+
+
+
+
+
Set light hue.
+
Parameters
+
+ hue Color hue from 0 to 65535
+
+
+
+
Returns This transaction for chaining calls
+
Note If this transaction is for a light, the light needs to have rgb color control.
+
+Will also turn on the light if nothing else is specified
+
+
+
+
+
◆ setColorLoop()
+
+
+
+
+
+ StateTransaction & hueplusplus::StateTransaction::setColorLoop
+ (
+ bool
+ on )
+
+
+
+
+
+
Enables or disables color loop.
+
Parameters
+
+ on true to enable, false to disable color loop.
+
+
+
+
Returns This transaction for chaining calls
+
Note If this transaction is for a light, the light needs to have rgb color control.
+
+Will also turn on the light if nothing else is specified
+
+
+
+
+
◆ setColorSaturation()
+
+
+
+
+
+ StateTransaction & hueplusplus::StateTransaction::setColorSaturation
+ (
+ uint8_t
+ saturation )
+
+
+
+
+
+
Set light saturation.
+
Parameters
+
+ saturation Color saturation from 0 to 254
+
+
+
+
Returns This transaction for chaining calls
+
Note If this transaction is for a light, the light needs to have rgb color control.
+
+Will also turn on the light if nothing else is specified
+
+
+
+
+
◆ setColorTemperature()
+
+
+
+
+
+ StateTransaction & hueplusplus::StateTransaction::setColorTemperature
+ (
+ unsigned int
+ mired )
+
+
+
+
+
+
Set light color temperature.
+
Parameters
+
+ mired Color temperature in mired from 153 to 500
+
+
+
+
Returns This transaction for chaining calls
+
Note If this transaction is for a light, the light needs to have color temperature control.
+
+Will also turn on the light if nothing else is specified
+
+
+
+
+
◆ setOn()
+
+
+
+
+
+ StateTransaction & hueplusplus::StateTransaction::setOn
+ (
+ bool
+ on )
+
+
+
+
+
+
Turn light on or off.
+
Parameters
+
+ on true for on, false for off
+
+
+
+
Returns This transaction for chaining calls
+
+
+
+
+
◆ setTransition()
+
+
+
+
+
+ StateTransaction & hueplusplus::StateTransaction::setTransition
+ (
+ uint16_t
+ transition )
+
+
+
+
+
+
Set transition time for the request.
+
Parameters
+
+ transition Transition time in 100ms, default for any request is 400ms.
+
+
+
+
Returns This transaction for chaining calls
+
Note The transition only applies to the current request. A request without any changes only containing a transition is pointless and is not sent.
+
+
+
+
+
◆ stopAlert()
+
+
+
+
+
Stop an ongoing long alert.
+
Returns This transaction for chaining calls
+
+
+
+
+
◆ toAction()
+
+
+
+
+
+ Action hueplusplus::StateTransaction::toAction
+ (
+ )
+
+
+
+
+
+
Create an Action from the transaction.
+
Returns An Action that can be used to execute this transaction on a Schedule or Rule .
+
+
+
+
+
◆ trimRequest()
+
+
+
+
+
+
+
+
+ void hueplusplus::StateTransaction::trimRequest
+ (
+ )
+
+
+
+
+
+protected
+
+
+
+
+
Remove parts from request that are already set in state.
+
+
+
+
+
+
◆ commands
+
+
+
+
+
+
+
+
+ const HueCommandAPI & hueplusplus::StateTransaction::commands
+
+
+
+
+protected
+
+
+
+
+
+
+
+
◆ path
+
+
+
+
+
+
+
+
+ std::string hueplusplus::StateTransaction::path
+
+
+
+
+protected
+
+
+
+
+
+
+
+
◆ request
+
+
+
+
+
+
+
+
+ nlohmann::json hueplusplus::StateTransaction::request
+
+
+
+
+protected
+
+
+
+
+
+
+
+
◆ state
+
+
+
+
+
+
+
+
+ nlohmann::json* hueplusplus::StateTransaction::state
+
+
+
+
+protected
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_state_transaction__coll__graph.map a/classhueplusplus_1_1_state_transaction__coll__graph.map
new file mode 100644
index 0000000..cccc098
--- /dev/null
+++ a/classhueplusplus_1_1_state_transaction__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1_state_transaction__coll__graph.md5 a/classhueplusplus_1_1_state_transaction__coll__graph.md5
new file mode 100644
index 0000000..d88348c
--- /dev/null
+++ a/classhueplusplus_1_1_state_transaction__coll__graph.md5
@@ -0,0 +1 @@
+a1c3d30ed9fe239d217194feef3fe228
\ No newline at end of file
diff --git b/classhueplusplus_1_1_state_transaction__coll__graph.png a/classhueplusplus_1_1_state_transaction__coll__graph.png
new file mode 100644
index 0000000..933d1ec
--- /dev/null
+++ a/classhueplusplus_1_1_state_transaction__coll__graph.png
diff --git b/classhueplusplus_1_1_u_pn_p-members.html a/classhueplusplus_1_1_u_pn_p-members.html
new file mode 100644
index 0000000..af280e4
--- /dev/null
+++ a/classhueplusplus_1_1_u_pn_p-members.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::UPnP , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1_u_pn_p.html a/classhueplusplus_1_1_u_pn_p.html
new file mode 100644
index 0000000..3d58141
--- /dev/null
+++ a/classhueplusplus_1_1_u_pn_p.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::UPnP Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Class that looks for UPnP devices using an m-search package.
+ More...
+
+
#include <hueplusplus/UPnP.h >
+
+
+std::vector< std::pair< std::string, std::string > > getDevices (std::shared_ptr< const IHttpHandler > handler)
+ Searches for UPnP devices and returns all found ones. More...
+
+
+
+
Class that looks for UPnP devices using an m-search package.
+
+
+
◆ getDevices()
+
+
+
+
+
+ std::vector< std::pair< std::string, std::string > > hueplusplus::UPnP::getDevices
+ (
+ std::shared_ptr< const IHttpHandler >
+ handler )
+
+
+
+
+
+
Searches for UPnP devices and returns all found ones.
+
It does it by sending an m-search packet and waits for all responses. Since responses can be received multiple times this function conveniently removes all duplicates.
Parameters
+
+ handler HttpHandler for communication
+
+
+
+
Returns A vector containing pairs of address and name of all found devices
+
Exceptions
+
+ std::system_error when system or socket operations fail
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_win_http_handler-members.html a/classhueplusplus_1_1_win_http_handler-members.html
new file mode 100644
index 0000000..de23a5c
--- /dev/null
+++ a/classhueplusplus_1_1_win_http_handler-members.html
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::WinHttpHandler , including all inherited members.
+
+ DELETEJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ DELETEString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ GETJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ GETString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ POSTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ POSTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ PUTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ PUTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ send (const std::string &msg, const std::string &adr, int port=80) const overridehueplusplus::WinHttpHandler virtual
+ sendGetHTTPBody (const std::string &msg, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ sendHTTPRequest (const std::string &method, const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandler virtual
+ sendMulticast (const std::string &msg, const std::string &adr="239.255.255.250", int port=1900, std::chrono::steady_clock::duration timeout=std::chrono::seconds(5)) const overridehueplusplus::WinHttpHandler virtual
+ WinHttpHandler ()hueplusplus::WinHttpHandler
+ ~BaseHttpHandler ()=defaulthueplusplus::BaseHttpHandler virtual
+ ~IHttpHandler ()=defaulthueplusplus::IHttpHandler virtual
+ ~WinHttpHandler ()hueplusplus::WinHttpHandler
+
+
+
+
+
diff --git b/classhueplusplus_1_1_win_http_handler.html a/classhueplusplus_1_1_win_http_handler.html
new file mode 100644
index 0000000..5b89d2b
--- /dev/null
+++ a/classhueplusplus_1_1_win_http_handler.html
@@ -0,0 +1,325 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::WinHttpHandler Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Class to handle http requests and multicast requests on windows systems.
+ More...
+
+
#include <hueplusplus/WinHttpHandler.h >
+
+
+
+
+
+
+
+
+
+
+ WinHttpHandler ()
+ Ctor needed for initializing wsaData. More...
+
+ ~WinHttpHandler ()
+ Dtor needed for wsaData cleanup. More...
+
+std::string send (const std::string &msg, const std::string &adr, int port=80) const override
+ Function that sends a given message to the specified host and returns the response. More...
+
+std::vector< std::string > sendMulticast (const std::string &msg, const std::string &adr="239.255.255.250", int port=1900, std::chrono::steady_clock::duration timeout=std::chrono::seconds(5)) const override
+ Function that sends a multicast request with the specified message. More...
+
+ Public Member Functions inherited from hueplusplus::BaseHttpHandler
+virtual ~BaseHttpHandler ()=default
+ Virtual dtor. More...
+
+std::string sendGetHTTPBody (const std::string &msg, const std::string &adr, int port=80) const override
+ Send a message to a specified host and return the body of the response. More...
+
+std::string sendHTTPRequest (const std::string &method, const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP request with the given method to the specified host and return the body of the response. More...
+
+std::string GETString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP GET request to the specified host and return the body of the response. More...
+
+std::string POSTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP POST request to the specified host and return the body of the response. More...
+
+std::string PUTString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP PUT request to the specified host and return the body of the response. More...
+
+std::string DELETEString (const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const override
+ Send a HTTP DELETE request to the specified host and return the body of the response. More...
+
+nlohmann::json GETJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
+ Send a HTTP GET request to the specified host and return the body of the response parsed as JSON. More...
+
+nlohmann::json POSTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
+ Send a HTTP POST request to the specified host and return the body of the response parsed as JSON. More...
+
+nlohmann::json PUTJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
+ Send a HTTP PUT request to the specified host and return the body of the response parsed as JSON. More...
+
+nlohmann::json DELETEJson (const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const override
+ Send a HTTP DELETE request to the specified host and return the body of the response parsed as JSON. More...
+
+ Public Member Functions inherited from hueplusplus::IHttpHandler
+virtual ~IHttpHandler ()=default
+ Virtual dtor. More...
+
+
+
+
Class to handle http requests and multicast requests on windows systems.
+
+
+
◆ WinHttpHandler()
+
+
+
+
+
+ hueplusplus::WinHttpHandler::WinHttpHandler
+ (
+ )
+
+
+
+
+
+
Ctor needed for initializing wsaData.
+
+
+
+
+
◆ ~WinHttpHandler()
+
+
+
+
+
+ hueplusplus::WinHttpHandler::~WinHttpHandler
+ (
+ )
+
+
+
+
+
+
Dtor needed for wsaData cleanup.
+
+
+
+
+
+
◆ send()
+
+
+
+
+
+
+
+
+ std::string hueplusplus::WinHttpHandler::send
+ (
+ const std::string &
+ msg ,
+
+
+
+
+ const std::string &
+ adr ,
+
+
+
+
+ int
+ port = 80
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that sends a given message to the specified host and returns the response.
+
Parameters
+
+ msg String that contains the message that is sent to the specified address
+ adr String that contains an ip or hostname in dotted decimal notation like "192.168.2.1"
+ port Optional integer that specifies the port to which the request is sent to. Default is 80
+
+
+
+
Returns String containing the response of the host
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
+
◆ sendMulticast()
+
+
+
+
+
+
+
+
+ std::vector< std::string > hueplusplus::WinHttpHandler::sendMulticast
+ (
+ const std::string &
+ msg ,
+
+
+
+
+ const std::string &
+ adr = "239.255.255.250",
+
+
+
+
+ int
+ port = 1900,
+
+
+
+
+ std::chrono::steady_clock::duration
+ timeout = std::chrono::seconds(5)
+
+
+
+ )
+ const
+
+
+
+
+override virtual
+
+
+
+
+
Function that sends a multicast request with the specified message.
+
Parameters
+
+ msg String that contains the request that is sent to the specified address
+ adr Optional String that contains an ip or hostname in dotted decimal notation, default is "239.255.255.250"
+ port Optional integer that specifies the port to which the request is sent. Default is 1900
+ timeout Optional The timeout of the request. Default is 5 seconds
+
+
+
+
Returns Vector containing strings of each answer received
+
+
Implements hueplusplus::IHttpHandler .
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1_win_http_handler__coll__graph.map a/classhueplusplus_1_1_win_http_handler__coll__graph.map
new file mode 100644
index 0000000..c670f0c
--- /dev/null
+++ a/classhueplusplus_1_1_win_http_handler__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_win_http_handler__coll__graph.md5 a/classhueplusplus_1_1_win_http_handler__coll__graph.md5
new file mode 100644
index 0000000..7d56c86
--- /dev/null
+++ a/classhueplusplus_1_1_win_http_handler__coll__graph.md5
@@ -0,0 +1 @@
+86cec6acd0462c3f6ca0b1c81baa8b52
\ No newline at end of file
diff --git b/classhueplusplus_1_1_win_http_handler__coll__graph.png a/classhueplusplus_1_1_win_http_handler__coll__graph.png
new file mode 100644
index 0000000..2f76516
--- /dev/null
+++ a/classhueplusplus_1_1_win_http_handler__coll__graph.png
diff --git b/classhueplusplus_1_1_win_http_handler__inherit__graph.map a/classhueplusplus_1_1_win_http_handler__inherit__graph.map
new file mode 100644
index 0000000..c670f0c
--- /dev/null
+++ a/classhueplusplus_1_1_win_http_handler__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1_win_http_handler__inherit__graph.md5 a/classhueplusplus_1_1_win_http_handler__inherit__graph.md5
new file mode 100644
index 0000000..f7f07ec
--- /dev/null
+++ a/classhueplusplus_1_1_win_http_handler__inherit__graph.md5
@@ -0,0 +1 @@
+1517c5f7cb7b610f1cfff3ff17a6960c
\ No newline at end of file
diff --git b/classhueplusplus_1_1_win_http_handler__inherit__graph.png a/classhueplusplus_1_1_win_http_handler__inherit__graph.png
new file mode 100644
index 0000000..2f76516
--- /dev/null
+++ a/classhueplusplus_1_1_win_http_handler__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_base_c_l_i_p-members.html a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p-members.html
new file mode 100644
index 0000000..a1b42b0
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p-members.html
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::BaseCLIP , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html
new file mode 100644
index 0000000..cfa767c
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html
@@ -0,0 +1,485 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::BaseCLIP Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Common methods for CLIP sensors.
+ More...
+
+
#include <hueplusplus/CLIPSensors.h >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
+
+
+
+bool isOn () const
+ Check if sensor is on. More...
+
+void setOn (bool on)
+ Enable or disable sensor. More...
+
+bool hasBatteryState () const
+ Check whether the sensor has a battery state. More...
+
+int getBatteryState () const
+ Get battery state. More...
+
+void setBatteryState (int percent)
+ Set battery state. More...
+
+bool isReachable () const
+ Check whether the sensor is reachable. More...
+
+bool hasURL () const
+ Check whether the sensor has a URL. More...
+
+std::string getURL () const
+ Get sensor URL. More...
+
+void setURL (const std::string &url)
+ Set sensor URL. More...
+
+time::AbsoluteTime getLastUpdated () const
+ Get time of last status update. More...
+
+
+virtual ~BaseDevice ()=default
+ Virtual destructor. More...
+
+virtual int getId () const
+ Const function that returns the id of this device. More...
+
+virtual std::string getType () const
+ Const function that returns the device type. More...
+
+virtual std::string getName ()
+ Function that returns the name of the device. More...
+
+virtual std::string getName () const
+ Const function that returns the name of the device. More...
+
+virtual std::string getModelId () const
+ Const function that returns the modelid of the device. More...
+
+virtual std::string getUId () const
+ Const function that returns the uniqueid of the device. More...
+
+virtual std::string getManufacturername () const
+ Const function that returns the manufacturername of the device. More...
+
+virtual std::string getProductname () const
+ Const function that returns the productname of the device. More...
+
+virtual std::string getSwVersion ()
+ Function that returns the software version of the device. More...
+
+virtual std::string getSwVersion () const
+ Const function that returns the software version of the device. More...
+
+virtual bool setName (const std::string &name)
+ Function that sets the name of the device. More...
+
+virtual void refresh (bool force=false)
+ Refreshes internal cached state. More...
+
+virtual void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+ Sets custom refresh interval for this device. More...
+
+
+
+ BaseCLIP (Sensor sensor)
+ Protected constructor to be used by subclasses. More...
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+
+
Common methods for CLIP sensors.
+
+
+
◆ BaseCLIP()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::BaseCLIP::BaseCLIP
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit protected
+
+
+
+
+
Protected constructor to be used by subclasses.
+
+
+
+
+
+
◆ getBatteryState()
+
+
+
+
+
+ int hueplusplus::sensors::BaseCLIP::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.
+
+
+
+
+
◆ getURL()
+
+
+
+
+
+ std::string hueplusplus::sensors::BaseCLIP::getURL
+ (
+ )
+ const
+
+
+
+
+
+
◆ hasBatteryState()
+
+
+
+
+
+ bool hueplusplus::sensors::BaseCLIP::hasBatteryState
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor has a battery state.
+
+
+
+
+
◆ hasURL()
+
+
+
+
+
+ bool hueplusplus::sensors::BaseCLIP::hasURL
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor has a URL.
+
+
+
+
+
◆ isOn()
+
+
+
+
+
+ bool hueplusplus::sensors::BaseCLIP::isOn
+ (
+ )
+ const
+
+
+
+
+
Check if sensor is on.
+
Sensors which are off do not change their status
+
+
+
+
+
◆ isReachable()
+
+
+
+
+
+ bool hueplusplus::sensors::BaseCLIP::isReachable
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor is reachable.
+
Note Reachable verification is not implemented for CLIP sensors yet
+
+
+
+
+
◆ setBatteryState()
+
+
+
+
+
+ void hueplusplus::sensors::BaseCLIP::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
+
+
+
+
+
+
+
+
◆ setOn()
+
+
+
+
+
+ void hueplusplus::sensors::BaseCLIP::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
+
+
+
+
+
+
+
+
◆ setURL()
+
+
+
+
+
+ void hueplusplus::sensors::BaseCLIP::setURL
+ (
+ const std::string &
+ url )
+
+
+
+
+
+
Set sensor URL.
+
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
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__coll__graph.map a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__coll__graph.map
new file mode 100644
index 0000000..44c194a
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__coll__graph.md5
new file mode 100644
index 0000000..e2d103a
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__coll__graph.md5
@@ -0,0 +1 @@
+b1b8b9db167390cf5dafff9c6d21c681
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__coll__graph.png a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__coll__graph.png
new file mode 100644
index 0000000..7a63044
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__inherit__graph.map
new file mode 100644
index 0000000..ec0f572
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__inherit__graph.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__inherit__graph.md5
new file mode 100644
index 0000000..62fe9d5
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__inherit__graph.md5
@@ -0,0 +1 @@
+1ffa0f60579c734dff612013f9deed11
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__inherit__graph.png
new file mode 100644
index 0000000..58701ca
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_base_c_l_i_p__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag-members.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag-members.html
new file mode 100644
index 0000000..275f577
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag-members.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::CLIPGenericFlag , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag.html
new file mode 100644
index 0000000..abe25c6
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag.html
@@ -0,0 +1,337 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::CLIPGenericFlag Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
CLIP sensor for a generic 3rd party sensor.
+ More...
+
+
#include <hueplusplus/CLIPSensors.h >
+
+
+
+
+
+
+
+
+
+
+
+ BaseCLIP (Sensor sensor)
+ Protected constructor to be used by subclasses. More...
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
CLIP sensor for a generic 3rd party sensor.
+
Can be created by POST.
+
+
+
◆ CLIPGenericFlag()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::CLIPGenericFlag::CLIPGenericFlag
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Construct from generic sensor.
+
+
+
+
+
+
◆ getFlag()
+
+
+
+
+
+ bool hueplusplus::sensors::CLIPGenericFlag::getFlag
+ (
+ )
+ const
+
+
+
+
+
+
◆ setFlag()
+
+
+
+
+
+ void hueplusplus::sensors::CLIPGenericFlag::setFlag
+ (
+ bool
+ flag )
+
+
+
+
+
+
Set flag.
+
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::CLIPGenericFlag::typeStr = "CLIPGenericFlag"
+
+
+
+
+static
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__coll__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__coll__graph.map
new file mode 100644
index 0000000..872412b
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__coll__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__coll__graph.md5
new file mode 100644
index 0000000..b9148fc
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__coll__graph.md5
@@ -0,0 +1 @@
+62ad7d1cd2d2bfd13ed7f187d8a554f7
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__coll__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__coll__graph.png
new file mode 100644
index 0000000..467e1db
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__inherit__graph.map
new file mode 100644
index 0000000..7a47649
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__inherit__graph.md5
new file mode 100644
index 0000000..52798e9
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__inherit__graph.md5
@@ -0,0 +1 @@
+f2fa183e9b9eeab5fc867e9c65bdc5bc
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__inherit__graph.png
new file mode 100644
index 0000000..bebf2f1
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status-members.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status-members.html
new file mode 100644
index 0000000..1965019
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status-members.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::CLIPGenericStatus , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status.html
new file mode 100644
index 0000000..824fcaa
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status.html
@@ -0,0 +1,337 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::CLIPGenericStatus Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
CLIP sensor for a generic 3rd party status.
+ More...
+
+
#include <hueplusplus/CLIPSensors.h >
+
+
+
+
+
+
+
+
+
+
+
+ BaseCLIP (Sensor sensor)
+ Protected constructor to be used by subclasses. More...
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
CLIP sensor for a generic 3rd party status.
+
Can be created by POST.
+
+
+
◆ CLIPGenericStatus()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::CLIPGenericStatus::CLIPGenericStatus
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Construct from generic sensor.
+
+
+
+
+
+
◆ getStatus()
+
+
+
+
+
+ int hueplusplus::sensors::CLIPGenericStatus::getStatus
+ (
+ )
+ const
+
+
+
+
+
Get sensor status.
+
+
+
+
+
◆ setStatus()
+
+
+
+
+
+ void hueplusplus::sensors::CLIPGenericStatus::setStatus
+ (
+ int
+ status )
+
+
+
+
+
+
Set sensor status.
+
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::CLIPGenericStatus::typeStr = "CLIPGenericStatus"
+
+
+
+
+static
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__coll__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__coll__graph.map
new file mode 100644
index 0000000..5f14d9d
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__coll__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__coll__graph.md5
new file mode 100644
index 0000000..22ed448
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__coll__graph.md5
@@ -0,0 +1 @@
+26678e3613101a6b2d319ff825c28c3b
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__coll__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__coll__graph.png
new file mode 100644
index 0000000..cd26e97
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__inherit__graph.map
new file mode 100644
index 0000000..1ee0152
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__inherit__graph.md5
new file mode 100644
index 0000000..0d933bf
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__inherit__graph.md5
@@ -0,0 +1 @@
+6d0070403088386c9509b1c43bbc9213
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__inherit__graph.png
new file mode 100644
index 0000000..7c2032a
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity-members.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity-members.html
new file mode 100644
index 0000000..e984eb7
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity-members.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::CLIPHumidity , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity.html
new file mode 100644
index 0000000..78ed5b3
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity.html
@@ -0,0 +1,343 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::CLIPHumidity Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
CLIP sensor for humidity.
+ More...
+
+
#include <hueplusplus/CLIPSensors.h >
+
+
+
+
+
+
+
+
+
+
+
+ BaseCLIP (Sensor sensor)
+ Protected constructor to be used by subclasses. More...
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
CLIP sensor for humidity.
+
+
+
◆ CLIPHumidity()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::CLIPHumidity::CLIPHumidity
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Construct from generic sensor.
+
+
+
+
+
+
◆ getHumidity()
+
+
+
+
+
+ int hueplusplus::sensors::CLIPHumidity::getHumidity
+ (
+ )
+ const
+
+
+
+
+
Get measured humidity.
+
Returns Humidity in 0.01% steps
+
+
+
+
+
◆ setHumidity()
+
+
+
+
+
+ void hueplusplus::sensors::CLIPHumidity::setHumidity
+ (
+ int
+ humidity )
+
+
+
+
+
+
Set humidity.
+
Parameters
+
+ humidity Humidity in 0.01% steps
+
+
+
+
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::CLIPHumidity::typeStr = "CLIPHumidity"
+
+
+
+
+static
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__coll__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__coll__graph.map
new file mode 100644
index 0000000..7c93c19
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__coll__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__coll__graph.md5
new file mode 100644
index 0000000..d0c32d4
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__coll__graph.md5
@@ -0,0 +1 @@
+1fc352ee5d3891dbea427fec993a546a
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__coll__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__coll__graph.png
new file mode 100644
index 0000000..423449b
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__inherit__graph.map
new file mode 100644
index 0000000..6fb3acd
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__inherit__graph.md5
new file mode 100644
index 0000000..bf22363
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__inherit__graph.md5
@@ -0,0 +1 @@
+e3cb60055cd38c3aa32379bce33bad2c
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__inherit__graph.png
new file mode 100644
index 0000000..7300770
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level-members.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level-members.html
new file mode 100644
index 0000000..4bdc7b6
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level-members.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::CLIPLightLevel , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html
new file mode 100644
index 0000000..42e3969
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html
@@ -0,0 +1,508 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::CLIPLightLevel Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
CLIP sensor for light level.
+ More...
+
+
#include <hueplusplus/CLIPSensors.h >
+
+
+
+
+
+
+
+
+
+
+
+ BaseCLIP (Sensor sensor)
+ Protected constructor to be used by subclasses. More...
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
CLIP sensor for light level.
+
+
+
◆ CLIPLightLevel()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::CLIPLightLevel::CLIPLightLevel
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Construct from generic sensor.
+
+
+
+
+
+
◆ getDarkThreshold()
+
+
+
+
+
+ int hueplusplus::sensors::CLIPLightLevel::getDarkThreshold
+ (
+ )
+ const
+
+
+
+
+
Get threshold to detect darkness.
+
+
+
+
+
◆ getLightLevel()
+
+
+
+
+
+ int hueplusplus::sensors::CLIPLightLevel::getLightLevel
+ (
+ )
+ const
+
+
+
+
+
Get measured light level.
+
Returns Light level in 10000*log10(lux)+1 (logarithmic scale)
+
+
+
+
+
◆ getThresholdOffset()
+
+
+
+
+
+ int hueplusplus::sensors::CLIPLightLevel::getThresholdOffset
+ (
+ )
+ const
+
+
+
+
+
Get offset over dark threshold to detect daylight.
+
+
+
+
+
◆ isDark()
+
+
+
+
+
+ bool hueplusplus::sensors::CLIPLightLevel::isDark
+ (
+ )
+ const
+
+
+
+
+
Check whether light level is below dark threshold.
+
+
+
+
+
◆ isDaylight()
+
+
+
+
+
+ bool hueplusplus::sensors::CLIPLightLevel::isDaylight
+ (
+ )
+ const
+
+
+
+
+
Check whether light level is above light threshold.
+
Light threshold is dark threshold + offset
+
+
+
+
+
◆ setDarkThreshold()
+
+
+
+
+
+ void hueplusplus::sensors::CLIPLightLevel::setDarkThreshold
+ (
+ int
+ threshold )
+
+
+
+
+
+
Set threshold to detect darkness.
+
Parameters
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ setLightLevel()
+
+
+
+
+
+ void hueplusplus::sensors::CLIPLightLevel::setLightLevel
+ (
+ int
+ level )
+
+
+
+
+
+
Set measured light level.
+
Parameters
+
+ level Light level in 10000*log10(lux)+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
+
+
+
+
+
+
+
+
◆ setThresholdOffset()
+
+
+
+
+
+ void hueplusplus::sensors::CLIPLightLevel::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
+
+
+
+
+
+
+
+
+
◆ typeStr
+
+
+
+
+
+
+
+
+ constexpr const char * hueplusplus::sensors::CLIPLightLevel::typeStr = "CLIPLightLevel"
+
+
+
+
+static
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__coll__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__coll__graph.map
new file mode 100644
index 0000000..ca60af3
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__coll__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__coll__graph.md5
new file mode 100644
index 0000000..c46de06
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__coll__graph.md5
@@ -0,0 +1 @@
+805190ffcf5f629b7011207747ce2991
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__coll__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__coll__graph.png
new file mode 100644
index 0000000..ec42a96
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__inherit__graph.map
new file mode 100644
index 0000000..2bdaf96
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__inherit__graph.md5
new file mode 100644
index 0000000..5c40958
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__inherit__graph.md5
@@ -0,0 +1 @@
+ff7bac7bcf0505c6e96b308b2abaa559
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__inherit__graph.png
new file mode 100644
index 0000000..6780c03
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close-members.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close-members.html
new file mode 100644
index 0000000..90886c8
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close-members.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::CLIPOpenClose , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close.html
new file mode 100644
index 0000000..28e5e3f
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close.html
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::CLIPOpenClose Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
CLIP sensor detecting whether a contact is open or closed.
+ More...
+
+
#include <hueplusplus/CLIPSensors.h >
+
+
+
+
+
+
+
+
+
+
+
+ BaseCLIP (Sensor sensor)
+ Protected constructor to be used by subclasses. More...
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
CLIP sensor detecting whether a contact is open or closed.
+
+
+
◆ CLIPOpenClose()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::CLIPOpenClose::CLIPOpenClose
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Construct from generic sensor.
+
+
+
+
+
+
◆ isOpen()
+
+
+
+
+
+ bool hueplusplus::sensors::CLIPOpenClose::isOpen
+ (
+ )
+ const
+
+
+
+
+
Check whether the switch is open.
+
+
+
+
+
◆ setOpen()
+
+
+
+
+
+ void hueplusplus::sensors::CLIPOpenClose::setOpen
+ (
+ bool
+ open )
+
+
+
+
+
+
Set switch state.
+
The sensor needs to stay in a state for at least 1s.
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::CLIPOpenClose::typeStr = "CLIPOpenClose"
+
+
+
+
+static
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__coll__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__coll__graph.map
new file mode 100644
index 0000000..7584f91
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__coll__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__coll__graph.md5
new file mode 100644
index 0000000..722e76f
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__coll__graph.md5
@@ -0,0 +1 @@
+7ee82bc11f375fe4b1a48bbdfeaf0d35
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__coll__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__coll__graph.png
new file mode 100644
index 0000000..b0a6c4e
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__inherit__graph.map
new file mode 100644
index 0000000..54516a9
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__inherit__graph.md5
new file mode 100644
index 0000000..6201aa6
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__inherit__graph.md5
@@ -0,0 +1 @@
+1c7acc376a52ac64b7ea37c920e5dbc8
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__inherit__graph.png
new file mode 100644
index 0000000..494bb5e
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence-members.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence-members.html
new file mode 100644
index 0000000..66a0316
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence-members.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::CLIPPresence , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence.html
new file mode 100644
index 0000000..6b5d98d
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence.html
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::CLIPPresence Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
CLIP sensor to detect presence.
+ More...
+
+
#include <hueplusplus/CLIPSensors.h >
+
+
+
+
+
+
+
+
+
+
+
+ BaseCLIP (Sensor sensor)
+ Protected constructor to be used by subclasses. More...
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
CLIP sensor to detect presence.
+
+
+
◆ CLIPPresence()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::CLIPPresence::CLIPPresence
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Construct from generic sensor.
+
+
+
+
+
+
◆ getPresence()
+
+
+
+
+
+ bool hueplusplus::sensors::CLIPPresence::getPresence
+ (
+ )
+ const
+
+
+
+
+
Check whether presence was detected.
+
+
+
+
+
◆ setPresence()
+
+
+
+
+
+ void hueplusplus::sensors::CLIPPresence::setPresence
+ (
+ bool
+ presence )
+
+
+
+
+
+
Set presence 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
+
+
+
+
+
+
+
+
+
◆ typeStr
+
+
+
+
+
+
+
+
+ constexpr const char * hueplusplus::sensors::CLIPPresence::typeStr = "CLIPPresence"
+
+
+
+
+static
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__coll__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__coll__graph.map
new file mode 100644
index 0000000..4b8d2a7
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__coll__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__coll__graph.md5
new file mode 100644
index 0000000..9430c8e
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__coll__graph.md5
@@ -0,0 +1 @@
+c534ef94bba2149cd10e88842f198dda
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__coll__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__coll__graph.png
new file mode 100644
index 0000000..cd1d8ce
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__inherit__graph.map
new file mode 100644
index 0000000..f97cc05
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__inherit__graph.md5
new file mode 100644
index 0000000..e754d3f
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__inherit__graph.md5
@@ -0,0 +1 @@
+c710924c43d42388c68f21f2d6ac48ba
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__inherit__graph.png
new file mode 100644
index 0000000..81439a8
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_presence__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch-members.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch-members.html
new file mode 100644
index 0000000..93a620b
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch-members.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::CLIPSwitch , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch.html
new file mode 100644
index 0000000..63038a9
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch.html
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::CLIPSwitch Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
CLIP sensor for button presses.
+ More...
+
+
#include <hueplusplus/CLIPSensors.h >
+
+
+
+
+
+
+
+
+
+
+
+ BaseCLIP (Sensor sensor)
+ Protected constructor to be used by subclasses. More...
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
CLIP sensor for button presses.
+
+
+
◆ CLIPSwitch()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::CLIPSwitch::CLIPSwitch
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Construct from generic sensor.
+
+
+
+
+
+
◆ getButtonEvent()
+
+
+
+
+
+ int hueplusplus::sensors::CLIPSwitch::getButtonEvent
+ (
+ )
+ const
+
+
+
+
+
Get the code of the last switch event.
+
+
+
+
+
◆ setButtonEvent()
+
+
+
+
+
+ void hueplusplus::sensors::CLIPSwitch::setButtonEvent
+ (
+ int
+ code )
+
+
+
+
+
+
Set the button event code.
+
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::CLIPSwitch::typeStr = "CLIPSwitch"
+
+
+
+
+static
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__coll__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__coll__graph.map
new file mode 100644
index 0000000..b3e8c90
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__coll__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__coll__graph.md5
new file mode 100644
index 0000000..ba62d87
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__coll__graph.md5
@@ -0,0 +1 @@
+05da058d7e11ec5d742f045c305d0190
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__coll__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__coll__graph.png
new file mode 100644
index 0000000..bbac38e
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__inherit__graph.map
new file mode 100644
index 0000000..7df1ade
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__inherit__graph.md5
new file mode 100644
index 0000000..bd0e408
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__inherit__graph.md5
@@ -0,0 +1 @@
+27be7bf39c227a00c936ee8dd60d0ae3
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__inherit__graph.png
new file mode 100644
index 0000000..774add5
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_switch__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature-members.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature-members.html
new file mode 100644
index 0000000..f51155a
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature-members.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::CLIPTemperature , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature.html a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature.html
new file mode 100644
index 0000000..b1c4092
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature.html
@@ -0,0 +1,343 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::CLIPTemperature Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
CLIP sensor for temperature.
+ More...
+
+
#include <hueplusplus/CLIPSensors.h >
+
+
+
+
+
+
+
+
+
+
+
+ BaseCLIP (Sensor sensor)
+ Protected constructor to be used by subclasses. More...
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
CLIP sensor for temperature.
+
+
+
◆ CLIPTemperature()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::CLIPTemperature::CLIPTemperature
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Construct from generic sensor.
+
+
+
+
+
+
◆ getTemperature()
+
+
+
+
+
+ int hueplusplus::sensors::CLIPTemperature::getTemperature
+ (
+ )
+ const
+
+
+
+
+
Get measured temperature.
+
Returns Temperature in 0.01 degrees Celsius.
+
+
+
+
+
◆ setTemperature()
+
+
+
+
+
+ void hueplusplus::sensors::CLIPTemperature::setTemperature
+ (
+ int
+ temperature )
+
+
+
+
+
+
Set temperature.
+
Parameters
+
+ temperature Temperature in 0.01 degreese Celsius.
+
+
+
+
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::CLIPTemperature::typeStr = "CLIPTemperature"
+
+
+
+
+static
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__coll__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__coll__graph.map
new file mode 100644
index 0000000..5a1fde5
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__coll__graph.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__coll__graph.md5
new file mode 100644
index 0000000..4feb1a7
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__coll__graph.md5
@@ -0,0 +1 @@
+214ad0432f60766cf5f6e8db95a58654
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__coll__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__coll__graph.png
new file mode 100644
index 0000000..4024b2a
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__inherit__graph.map
new file mode 100644
index 0000000..c05218a
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__inherit__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__inherit__graph.md5
new file mode 100644
index 0000000..018e55a
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__inherit__graph.md5
@@ -0,0 +1 @@
+42e441391792fd59768f581056b4f462
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__inherit__graph.png
new file mode 100644
index 0000000..9c4dbcc
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_daylight_sensor-members.html a/classhueplusplus_1_1sensors_1_1_daylight_sensor-members.html
new file mode 100644
index 0000000..389d897
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_daylight_sensor-members.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::DaylightSensor , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_daylight_sensor.html a/classhueplusplus_1_1sensors_1_1_daylight_sensor.html
new file mode 100644
index 0000000..7df8d28
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_daylight_sensor.html
@@ -0,0 +1,623 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::DaylightSensor Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Daylight sensor to detect sunrise and sunset.
+ More...
+
+
#include <hueplusplus/Sensor.h >
+
+
+
+
+
+
+
+
+
+
+static constexpr const char * typeStr = "Daylight"
+ Daylight sensor type name. More...
+
+
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
Daylight sensor to detect sunrise and sunset.
+
Every bridge has a daylight sensor always available.
+
+
+
◆ DaylightSensor()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::DaylightSensor::DaylightSensor
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
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()
+
+
+
+
+
+ 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
+
+
+
+
+
+
+
+
+
◆ typeStr
+
+
+
+
+
+
+
+
+ constexpr const char * hueplusplus::sensors::DaylightSensor::typeStr = "Daylight"
+
+
+
+
+static
+
+
+
+
+
Daylight sensor type name.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_daylight_sensor__coll__graph.map a/classhueplusplus_1_1sensors_1_1_daylight_sensor__coll__graph.map
new file mode 100644
index 0000000..4d5cbbb
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_daylight_sensor__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_daylight_sensor__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_daylight_sensor__coll__graph.md5
new file mode 100644
index 0000000..b229500
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_daylight_sensor__coll__graph.md5
@@ -0,0 +1 @@
+b23f0453add0becc40532423418adb4b
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_daylight_sensor__coll__graph.png a/classhueplusplus_1_1sensors_1_1_daylight_sensor__coll__graph.png
new file mode 100644
index 0000000..fdd4ae7
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_daylight_sensor__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_daylight_sensor__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_daylight_sensor__inherit__graph.map
new file mode 100644
index 0000000..5225b89
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_daylight_sensor__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_daylight_sensor__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_daylight_sensor__inherit__graph.md5
new file mode 100644
index 0000000..a9a578a
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_daylight_sensor__inherit__graph.md5
@@ -0,0 +1 @@
+1180ae92e36e4074aaf6b21a838e0dbe
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_daylight_sensor__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_daylight_sensor__inherit__graph.png
new file mode 100644
index 0000000..7028803
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_daylight_sensor__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_z_g_p_switch-members.html a/classhueplusplus_1_1sensors_1_1_z_g_p_switch-members.html
new file mode 100644
index 0000000..e7e2cf6
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_g_p_switch-members.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::ZGPSwitch , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_g_p_switch.html a/classhueplusplus_1_1sensors_1_1_z_g_p_switch.html
new file mode 100644
index 0000000..4668ef0
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_g_p_switch.html
@@ -0,0 +1,431 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::ZGPSwitch Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ZigBee Green Power sensor for button presses.
+ More...
+
+
#include <hueplusplus/ZLLSensors.h >
+
+
+
+
+
+
+
+
+
+
+ ZGPSwitch (Sensor sensor)
+ Construct from generic sensor. More...
+
+bool isOn () const
+ Check if sensor is on. More...
+
+void setOn (bool on)
+ Enable or disable sensor. More...
+
+int getButtonEvent () const
+ Get the code of the last switch event. More...
+
+
+virtual ~BaseDevice ()=default
+ Virtual destructor. More...
+
+virtual int getId () const
+ Const function that returns the id of this device. More...
+
+virtual std::string getType () const
+ Const function that returns the device type. More...
+
+virtual std::string getName ()
+ Function that returns the name of the device. More...
+
+virtual std::string getName () const
+ Const function that returns the name of the device. More...
+
+virtual std::string getModelId () const
+ Const function that returns the modelid of the device. More...
+
+virtual std::string getUId () const
+ Const function that returns the uniqueid of the device. More...
+
+virtual std::string getManufacturername () const
+ Const function that returns the manufacturername of the device. More...
+
+virtual std::string getProductname () const
+ Const function that returns the productname of the device. More...
+
+virtual std::string getSwVersion ()
+ Function that returns the software version of the device. More...
+
+virtual std::string getSwVersion () const
+ Const function that returns the software version of the device. More...
+
+virtual bool setName (const std::string &name)
+ Function that sets the name of the device. More...
+
+virtual void refresh (bool force=false)
+ Refreshes internal cached state. More...
+
+virtual void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+ Sets custom refresh interval for this device. More...
+
+
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
ZigBee Green Power sensor for button presses.
+
+
+
◆ ZGPSwitch()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::ZGPSwitch::ZGPSwitch
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Construct from generic sensor.
+
+
+
+
+
+
◆ getButtonEvent()
+
+
+
+
+
+ int hueplusplus::sensors::ZGPSwitch::getButtonEvent
+ (
+ )
+ const
+
+
+
+
+
Get the code of the last switch event.
+
Possible values are c_button1 etc., or any other value.
+
+
+
+
+
◆ isOn()
+
+
+
+
+
+ bool hueplusplus::sensors::ZGPSwitch::isOn
+ (
+ )
+ const
+
+
+
+
+
Check if sensor is on.
+
Sensors which are off do not change their status
+
+
+
+
+
◆ setOn()
+
+
+
+
+
+ void hueplusplus::sensors::ZGPSwitch::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
+
+
+
+
+
+
+
+
+
◆ c_button1
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZGPSwitch::c_button1 = 34
+
+
+
+
+static
+
+
+
+
+
Code for tap button 1.
+
+
+
+
+
◆ c_button2
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZGPSwitch::c_button2 = 16
+
+
+
+
+static
+
+
+
+
+
Code for tap button 2.
+
+
+
+
+
◆ c_button3
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZGPSwitch::c_button3 = 17
+
+
+
+
+static
+
+
+
+
+
Code for tap button 3.
+
+
+
+
+
◆ c_button4
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZGPSwitch::c_button4 = 18
+
+
+
+
+static
+
+
+
+
+
Code for tap button 4.
+
+
+
+
+
◆ typeStr
+
+
+
+
+
+
+
+
+ constexpr const char * hueplusplus::sensors::ZGPSwitch::typeStr = "ZGPSwitch"
+
+
+
+
+static
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_g_p_switch__coll__graph.map a/classhueplusplus_1_1sensors_1_1_z_g_p_switch__coll__graph.map
new file mode 100644
index 0000000..0d8a65d
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_g_p_switch__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_g_p_switch__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_z_g_p_switch__coll__graph.md5
new file mode 100644
index 0000000..31c5c4c
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_g_p_switch__coll__graph.md5
@@ -0,0 +1 @@
+d795821ebae2a564e3e65fcba9737157
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_z_g_p_switch__coll__graph.png a/classhueplusplus_1_1sensors_1_1_z_g_p_switch__coll__graph.png
new file mode 100644
index 0000000..a236bb1
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_g_p_switch__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_z_g_p_switch__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_z_g_p_switch__inherit__graph.map
new file mode 100644
index 0000000..a8c318e
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_g_p_switch__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_g_p_switch__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_z_g_p_switch__inherit__graph.md5
new file mode 100644
index 0000000..1df24f7
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_g_p_switch__inherit__graph.md5
@@ -0,0 +1 @@
+bcfcf42c3b48b92f94f16eea897845ad
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_z_g_p_switch__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_z_g_p_switch__inherit__graph.png
new file mode 100644
index 0000000..d58483f
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_g_p_switch__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_light_level-members.html a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level-members.html
new file mode 100644
index 0000000..5bfdde5
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level-members.html
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::ZLLLightLevel , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html
new file mode 100644
index 0000000..0c4761a
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html
@@ -0,0 +1,578 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::ZLLLightLevel Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ZigBee sensor detecting ambient light level.
+ More...
+
+
#include <hueplusplus/ZLLSensors.h >
+
+
+
+
+
+
+
+
+
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
ZigBee sensor detecting ambient light level.
+
+
+
◆ ZLLLightLevel()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::ZLLLightLevel::ZLLLightLevel
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Construct from generic sensor.
+
+
+
+
+
+
◆ 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
+
+
+
+
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
+
+
+
+
+
+
+
+
+
◆ typeStr
+
+
+
+
+
+
+
+
+ constexpr const char * hueplusplus::sensors::ZLLLightLevel::typeStr = "ZLLLightLevel"
+
+
+
+
+static
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__coll__graph.map a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__coll__graph.map
new file mode 100644
index 0000000..af4ffb8
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__coll__graph.md5
new file mode 100644
index 0000000..cb08ef7
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__coll__graph.md5
@@ -0,0 +1 @@
+160d27de056da9d27e1e8edff8db06b2
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__coll__graph.png a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__coll__graph.png
new file mode 100644
index 0000000..e7625e9
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__inherit__graph.map
new file mode 100644
index 0000000..41a4146
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__inherit__graph.md5
new file mode 100644
index 0000000..2a1da6f
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__inherit__graph.md5
@@ -0,0 +1 @@
+a07024ad6b7c9c4e9a4b9120548ad544
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__inherit__graph.png
new file mode 100644
index 0000000..050fe8f
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_light_level__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_presence-members.html a/classhueplusplus_1_1sensors_1_1_z_l_l_presence-members.html
new file mode 100644
index 0000000..83d34c5
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_presence-members.html
@@ -0,0 +1,114 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::ZLLPresence , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_presence.html a/classhueplusplus_1_1sensors_1_1_z_l_l_presence.html
new file mode 100644
index 0000000..2344b93
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_presence.html
@@ -0,0 +1,540 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::ZLLPresence Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Sensor detecting presence in the vicinity.
+ More...
+
+
#include <hueplusplus/ZLLSensors.h >
+
+
+
+
+
+
+
+
+
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
Sensor detecting presence in the vicinity.
+
+
+
◆ ZLLPresence()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::ZLLPresence::ZLLPresence
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Construct from generic sensor.
+
+
+
+
+
+
◆ getBatteryState()
+
+
+
+
+
+ int hueplusplus::sensors::ZLLPresence::getBatteryState
+ (
+ )
+ const
+
+
+
+
+
Get battery state.
+
Returns Battery state in percent
+
+
+
+
+
◆ getLastAlert()
+
+
+
+
+
+ Alert hueplusplus::sensors::ZLLPresence::getLastAlert
+ (
+ )
+ const
+
+
+
+
+
Get last sent alert.
+
Note This is not cleared when the alert ends.
+
+
+
+
+
◆ getLastUpdated()
+
+
+
+
+
+ time::AbsoluteTime hueplusplus::sensors::ZLLPresence::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.
+
+
+
+
+
◆ getMaxSensitivity()
+
+
+
+
+
+ int hueplusplus::sensors::ZLLPresence::getMaxSensitivity
+ (
+ )
+ const
+
+
+
+
+
Get maximum sensitivity.
+
+
+
+
+
◆ getPresence()
+
+
+
+
+
+ bool hueplusplus::sensors::ZLLPresence::getPresence
+ (
+ )
+ const
+
+
+
+
+
Get presence status.
+
+
+
+
+
◆ getSensitivity()
+
+
+
+
+
+ int hueplusplus::sensors::ZLLPresence::getSensitivity
+ (
+ )
+ const
+
+
+
+
+
Get sensor sensitivity.
+
+
+
+
+
◆ hasBatteryState()
+
+
+
+
+
+ bool hueplusplus::sensors::ZLLPresence::hasBatteryState
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor has a battery state.
+
+
+
+
+
◆ isOn()
+
+
+
+
+
+ bool hueplusplus::sensors::ZLLPresence::isOn
+ (
+ )
+ const
+
+
+
+
+
Check if sensor is on.
+
Sensors which are off do not change their status
+
+
+
+
+
◆ isReachable()
+
+
+
+
+
+ bool hueplusplus::sensors::ZLLPresence::isReachable
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor is reachable.
+
+
+
+
+
◆ sendAlert()
+
+
+
+
+
+ void hueplusplus::sensors::ZLLPresence::sendAlert
+ (
+ Alert
+ type )
+
+
+
+
+
+
Send alert.
+
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::ZLLPresence::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
+
+
+
+
+
+
+
+
◆ setSensitivity()
+
+
+
+
+
+ void hueplusplus::sensors::ZLLPresence::setSensitivity
+ (
+ int
+ sensitivity )
+
+
+
+
+
+
Set sensor sensitivity.
+
Parameters
+
+ sensitivity Sensitivity from 0 to max sensitivity (inclusive)
+
+
+
+
+
+
+
+
+
◆ typeStr
+
+
+
+
+
+
+
+
+ constexpr const char * hueplusplus::sensors::ZLLPresence::typeStr = "ZLLPresence"
+
+
+
+
+static
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_presence__coll__graph.map a/classhueplusplus_1_1sensors_1_1_z_l_l_presence__coll__graph.map
new file mode 100644
index 0000000..5ce4b29
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_presence__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_presence__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_z_l_l_presence__coll__graph.md5
new file mode 100644
index 0000000..2d37e00
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_presence__coll__graph.md5
@@ -0,0 +1 @@
+8b872db6518d2d0f876b2238148f0a1c
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_presence__coll__graph.png a/classhueplusplus_1_1sensors_1_1_z_l_l_presence__coll__graph.png
new file mode 100644
index 0000000..79579c3
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_presence__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_presence__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_z_l_l_presence__inherit__graph.map
new file mode 100644
index 0000000..0ab614b
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_presence__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_presence__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_z_l_l_presence__inherit__graph.md5
new file mode 100644
index 0000000..81f19bf
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_presence__inherit__graph.md5
@@ -0,0 +1 @@
+cd19d84f08c671196c9a01466a8bfaeb
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_presence__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_z_l_l_presence__inherit__graph.png
new file mode 100644
index 0000000..781788b
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_presence__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_switch-members.html a/classhueplusplus_1_1sensors_1_1_z_l_l_switch-members.html
new file mode 100644
index 0000000..024f8a8
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_switch-members.html
@@ -0,0 +1,127 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::ZLLSwitch , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_switch.html a/classhueplusplus_1_1sensors_1_1_z_l_l_switch.html
new file mode 100644
index 0000000..8e37082
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_switch.html
@@ -0,0 +1,900 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::ZLLSwitch Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ZigBee sensor reporting button presses.
+ More...
+
+
#include <hueplusplus/ZLLSensors.h >
+
+
+
+
+
+
+
+
+
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
ZigBee sensor reporting button presses.
+
+
+
◆ ZLLSwitch()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::ZLLSwitch::ZLLSwitch
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Construct from generic sensor.
+
+
+
+
+
+
◆ getBatteryState()
+
+
+
+
+
+ int hueplusplus::sensors::ZLLSwitch::getBatteryState
+ (
+ )
+ const
+
+
+
+
+
Get battery state.
+
Returns Battery state in percent
+
+
+
+
+
◆ getButtonEvent()
+
+
+
+
+
+ int hueplusplus::sensors::ZLLSwitch::getButtonEvent
+ (
+ )
+ const
+
+
+
+
+
Get the code of the last switch event.
+
Possible values are c_ON_INITIAL_PRESS etc., or any other value.
+
+
+
+
+
◆ getLastAlert()
+
+
+
+
+
+ Alert hueplusplus::sensors::ZLLSwitch::getLastAlert
+ (
+ )
+ const
+
+
+
+
+
Get last sent alert.
+
Note This is not cleared when the alert ends.
+
+
+
+
+
◆ getLastUpdated()
+
+
+
+
+
+ time::AbsoluteTime hueplusplus::sensors::ZLLSwitch::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.
+
+
+
+
+
◆ hasBatteryState()
+
+
+
+
+
+ bool hueplusplus::sensors::ZLLSwitch::hasBatteryState
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor has a battery state.
+
+
+
+
+
◆ isOn()
+
+
+
+
+
+ bool hueplusplus::sensors::ZLLSwitch::isOn
+ (
+ )
+ const
+
+
+
+
+
Check if sensor is on.
+
Sensors which are off do not change their status
+
+
+
+
+
◆ isReachable()
+
+
+
+
+
+ bool hueplusplus::sensors::ZLLSwitch::isReachable
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor is reachable.
+
+
+
+
+
◆ sendAlert()
+
+
+
+
+
+ void hueplusplus::sensors::ZLLSwitch::sendAlert
+ (
+ Alert
+ type )
+
+
+
+
+
+
Send alert.
+
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::ZLLSwitch::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
+
+
+
+
+
+
+
+
+
◆ c_DOWN_HOLD
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_DOWN_HOLD = 3001
+
+
+
+
+static
+
+
+
+
+
Button 3 (DIM DOWN) held.
+
+
+
+
+
◆ c_DOWN_INITIAL_PRESS
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_DOWN_INITIAL_PRESS = 3000
+
+
+
+
+static
+
+
+
+
+
Button 3 (DIM DOWN) pressed.
+
+
+
+
+
◆ c_DOWN_LONG_RELEASED
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_DOWN_LONG_RELEASED = 3003
+
+
+
+
+static
+
+
+
+
+
Button 3 (DIM DOWN) released long press.
+
+
+
+
+
◆ c_DOWN_SHORT_RELEASED
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_DOWN_SHORT_RELEASED = 3002
+
+
+
+
+static
+
+
+
+
+
Button 3 (DIM DOWN) released short press.
+
+
+
+
+
◆ c_OFF_HOLD
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_OFF_HOLD = 4001
+
+
+
+
+static
+
+
+
+
+
Button 4 (OFF) held.
+
+
+
+
+
◆ c_OFF_INITIAL_PRESS
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_OFF_INITIAL_PRESS = 4000
+
+
+
+
+static
+
+
+
+
+
Button 4 (OFF) pressed.
+
+
+
+
+
◆ c_OFF_LONG_RELEASED
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_OFF_LONG_RELEASED = 4003
+
+
+
+
+static
+
+
+
+
+
Button 4 (OFF) released long press.
+
+
+
+
+
◆ c_OFF_SHORT_RELEASED
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_OFF_SHORT_RELEASED = 4002
+
+
+
+
+static
+
+
+
+
+
Button 4 (OFF) released short press.
+
+
+
+
+
◆ c_ON_HOLD
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_ON_HOLD = 1001
+
+
+
+
+static
+
+
+
+
+
Button 1 (ON) held.
+
+
+
+
+
◆ c_ON_INITIAL_PRESS
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_ON_INITIAL_PRESS = 1000
+
+
+
+
+static
+
+
+
+
+
Button 1 (ON) pressed.
+
+
+
+
+
◆ c_ON_LONG_RELEASED
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_ON_LONG_RELEASED = 1003
+
+
+
+
+static
+
+
+
+
+
Button 1 (ON) released long press.
+
+
+
+
+
◆ c_ON_SHORT_RELEASED
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_ON_SHORT_RELEASED = 1002
+
+
+
+
+static
+
+
+
+
+
Button 1 (ON) released short press.
+
+
+
+
+
◆ c_UP_HOLD
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_UP_HOLD = 2001
+
+
+
+
+static
+
+
+
+
+
Button 2 (DIM UP) held.
+
+
+
+
+
◆ c_UP_INITIAL_PRESS
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_UP_INITIAL_PRESS = 2000
+
+
+
+
+static
+
+
+
+
+
Button 2 (DIM UP) pressed.
+
+
+
+
+
◆ c_UP_LONG_RELEASED
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_UP_LONG_RELEASED = 2003
+
+
+
+
+static
+
+
+
+
+
Button 2 (DIM UP) released long press.
+
+
+
+
+
◆ c_UP_SHORT_RELEASED
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::sensors::ZLLSwitch::c_UP_SHORT_RELEASED = 2002
+
+
+
+
+static
+
+
+
+
+
Button 2 (DIM UP) released short press.
+
+
+
+
+
◆ typeStr
+
+
+
+
+
+
+
+
+ constexpr const char * hueplusplus::sensors::ZLLSwitch::typeStr = "ZLLSwitch"
+
+
+
+
+static
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_switch__coll__graph.map a/classhueplusplus_1_1sensors_1_1_z_l_l_switch__coll__graph.map
new file mode 100644
index 0000000..920ec39
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_switch__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_switch__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_z_l_l_switch__coll__graph.md5
new file mode 100644
index 0000000..9dc276f
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_switch__coll__graph.md5
@@ -0,0 +1 @@
+93fce20d29739841794f74f1ccbc59b7
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_switch__coll__graph.png a/classhueplusplus_1_1sensors_1_1_z_l_l_switch__coll__graph.png
new file mode 100644
index 0000000..c56fa7b
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_switch__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_switch__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_z_l_l_switch__inherit__graph.map
new file mode 100644
index 0000000..e4b9f38
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_switch__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_switch__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_z_l_l_switch__inherit__graph.md5
new file mode 100644
index 0000000..71d502a
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_switch__inherit__graph.md5
@@ -0,0 +1 @@
+9af1420e12f9ffae11f8b0e097e59b0f
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_switch__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_z_l_l_switch__inherit__graph.png
new file mode 100644
index 0000000..53d11fa
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_switch__inherit__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_temperature-members.html a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature-members.html
new file mode 100644
index 0000000..a24cef0
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature-members.html
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::sensors::ZLLTemperature , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html
new file mode 100644
index 0000000..c2d352f
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html
@@ -0,0 +1,468 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors::ZLLTemperature Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
ZigBee temperature sensor.
+ More...
+
+
#include <hueplusplus/ZLLSensors.h >
+
+
+
+
+
+
+
+
+
+
+
+ BaseDevice (int id , const std::shared_ptr< APICache > &baseCache)
+ Protected ctor that is used by subclasses, construct with shared cache. More...
+
+ 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. More...
+
+virtual nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
+ Utility function to send a put request to the device. More...
+
+
+int id
+ holds the id of the device More...
+
+APICache state
+ holds the current state of the device More...
+
+
+
+
ZigBee temperature sensor.
+
+
+
◆ ZLLTemperature()
+
+
+
+
+
+
+
+
+ hueplusplus::sensors::ZLLTemperature::ZLLTemperature
+ (
+ Sensor
+ sensor )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Construct from generic sensor.
+
+
+
+
+
+
◆ getBatteryState()
+
+
+
+
+
+ int hueplusplus::sensors::ZLLTemperature::getBatteryState
+ (
+ )
+ const
+
+
+
+
+
Get battery state.
+
Returns Battery state in percent
+
+
+
+
+
◆ getLastAlert()
+
+
+
+
+
+ Alert hueplusplus::sensors::ZLLTemperature::getLastAlert
+ (
+ )
+ const
+
+
+
+
+
Get last sent alert.
+
Note This is not cleared when the alert ends.
+
+
+
+
+
◆ getLastUpdated()
+
+
+
+
+
+ time::AbsoluteTime hueplusplus::sensors::ZLLTemperature::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.
+
+
+
+
+
◆ getTemperature()
+
+
+
+
+
+ int hueplusplus::sensors::ZLLTemperature::getTemperature
+ (
+ )
+ const
+
+
+
+
+
Get recorded temperature.
+
Returns Temperature in 0.01 degrees Celsius.
+
+
+
+
+
◆ hasBatteryState()
+
+
+
+
+
+ bool hueplusplus::sensors::ZLLTemperature::hasBatteryState
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor has a battery state.
+
+
+
+
+
◆ isOn()
+
+
+
+
+
+ bool hueplusplus::sensors::ZLLTemperature::isOn
+ (
+ )
+ const
+
+
+
+
+
Check if sensor is on.
+
Sensors which are off do not change their status
+
+
+
+
+
◆ isReachable()
+
+
+
+
+
+ bool hueplusplus::sensors::ZLLTemperature::isReachable
+ (
+ )
+ const
+
+
+
+
+
Check whether the sensor is reachable.
+
+
+
+
+
◆ sendAlert()
+
+
+
+
+
+ void hueplusplus::sensors::ZLLTemperature::sendAlert
+ (
+ Alert
+ type )
+
+
+
+
+
+
Send alert.
+
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::ZLLTemperature::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
+
+
+
+
+
+
+
+
+
◆ typeStr
+
+
+
+
+
+
+
+
+ constexpr const char * hueplusplus::sensors::ZLLTemperature::typeStr = "ZLLTemperature"
+
+
+
+
+static
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__coll__graph.map a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__coll__graph.map
new file mode 100644
index 0000000..51393c1
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__coll__graph.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__coll__graph.md5 a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__coll__graph.md5
new file mode 100644
index 0000000..f61ff8a
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__coll__graph.md5
@@ -0,0 +1 @@
+d9edadbd9ce62fb0fa3130e5aa8b4c9d
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__coll__graph.png a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__coll__graph.png
new file mode 100644
index 0000000..9147279
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__coll__graph.png
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__inherit__graph.map a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__inherit__graph.map
new file mode 100644
index 0000000..823ba63
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__inherit__graph.md5 a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__inherit__graph.md5
new file mode 100644
index 0000000..f8418a2
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__inherit__graph.md5
@@ -0,0 +1 @@
+14eeb0aefd21640c4bae4f335d996be4
\ No newline at end of file
diff --git b/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__inherit__graph.png a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__inherit__graph.png
new file mode 100644
index 0000000..6d11297
--- /dev/null
+++ a/classhueplusplus_1_1sensors_1_1_z_l_l_temperature__inherit__graph.png
diff --git b/classhueplusplus_1_1time_1_1_absolute_time-members.html a/classhueplusplus_1_1time_1_1_absolute_time-members.html
new file mode 100644
index 0000000..a34120d
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_absolute_time-members.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::time::AbsoluteTime , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_absolute_time.html a/classhueplusplus_1_1time_1_1_absolute_time.html
new file mode 100644
index 0000000..d34b1a9
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_absolute_time.html
@@ -0,0 +1,271 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::time::AbsoluteTime Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
One-time, absolute time point.
+ More...
+
+
#include <hueplusplus/TimePattern.h >
+
+
+
+
+
+
+
One-time, absolute time point.
+
+
+
◆ AbsoluteTime()
+
+
+
+
+
+
+
+
+ hueplusplus::time::AbsoluteTime::AbsoluteTime
+ (
+ clock::time_point
+ baseTime )
+
+
+
+
+
+explicit
+
+
+
+
+
Create absolute time point.
+
Parameters
+
+ baseTime Absolute time point
+
+
+
+
+
+
+
+
+
◆ getBaseTime()
+
+
+
+
+
+ system_clock::time_point hueplusplus::time::AbsoluteTime::getBaseTime
+ (
+ )
+ const
+
+
+
+
+
Get base time point.
+
Can be used for calculation with other system_clock time_points
+
+
+
+
+
◆ parse()
+
+
+
+
+
+
+
+
+ AbsoluteTime hueplusplus::time::AbsoluteTime::parse
+ (
+ const std::string &
+ s )
+
+
+
+
+
+static
+
+
+
+
+
Parse AbsoluteTime from formatted string in local timezone.
+
Parameters
+
+ s Timestamp in the same format as returned by toString()
+
+
+
+
Returns AbsoluteTime with base time and variation from s
+
+
+
+
+
◆ parseUTC()
+
+
+
+
+
+
+
+
+ AbsoluteTime hueplusplus::time::AbsoluteTime::parseUTC
+ (
+ const std::string &
+ s )
+
+
+
+
+
+static
+
+
+
+
+
Parse AbsoluteTime from formatted UTC string.
+
Parameters
+
+ s Timestamp in the same format as returned by toString()
+
+
+
+
Returns AbsoluteTime with base time and variation from s
+
+
+
+
+
◆ toString()
+
+
+
+
+
+ std::string hueplusplus::time::AbsoluteTime::toString
+ (
+ )
+ const
+
+
+
+
+
Get formatted string as expected by Hue API.
+
Returns Timestamp in the format YYYY-MM-DDT hh:mm:ss in local timezone
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_absolute_time__inherit__graph.map a/classhueplusplus_1_1time_1_1_absolute_time__inherit__graph.map
new file mode 100644
index 0000000..81c2040
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_absolute_time__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_absolute_time__inherit__graph.md5 a/classhueplusplus_1_1time_1_1_absolute_time__inherit__graph.md5
new file mode 100644
index 0000000..48ab82c
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_absolute_time__inherit__graph.md5
@@ -0,0 +1 @@
+ce019a5f3a4e7add8a2cefb0ccd7caa2
\ No newline at end of file
diff --git b/classhueplusplus_1_1time_1_1_absolute_time__inherit__graph.png a/classhueplusplus_1_1time_1_1_absolute_time__inherit__graph.png
new file mode 100644
index 0000000..c32b2bf
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_absolute_time__inherit__graph.png
diff --git b/classhueplusplus_1_1time_1_1_absolute_varied_time-members.html a/classhueplusplus_1_1time_1_1_absolute_varied_time-members.html
new file mode 100644
index 0000000..d44f5c5
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_absolute_varied_time-members.html
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::time::AbsoluteVariedTime , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_absolute_varied_time.html a/classhueplusplus_1_1time_1_1_absolute_varied_time.html
new file mode 100644
index 0000000..11006f6
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_absolute_varied_time.html
@@ -0,0 +1,271 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::time::AbsoluteVariedTime Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <hueplusplus/TimePattern.h >
+
+
+
+
+
+
+
+
+
+
+
One-time, absolute time point with possible random variation
+
Can be either used to represent a specific date and time, or a date and time with a random variation.
+
+
+
◆ AbsoluteVariedTime()
+
+
+
+
+
+
+
+
+ hueplusplus::time::AbsoluteVariedTime::AbsoluteVariedTime
+ (
+ clock::time_point
+ baseTime ,
+
+
+
+
+ clock::duration
+ variation = std::chrono::seconds(0)
+
+
+
+ )
+
+
+
+
+
+explicit
+
+
+
+
+
Create absolute time point.
+
Parameters
+
+ baseTime Absolute time point
+ variation Random variation, optional. When not zero, the time is randomly chosen between baseTime - variation and baseTime + variation
+
+
+
+
+
+
+
+
+
◆ getRandomVariation()
+
+
+
+
+
+ system_clock::duration hueplusplus::time::AbsoluteVariedTime::getRandomVariation
+ (
+ )
+ const
+
+
+
+
+
Get random variation or zero.
+
The time can vary up to this amount in both directions.
+
+
+
+
+
◆ parse()
+
+
+
+
+
+
+
+
+ AbsoluteVariedTime hueplusplus::time::AbsoluteVariedTime::parse
+ (
+ const std::string &
+ s )
+
+
+
+
+
+static
+
+
+
+
+
Parse AbsoluteTime from formatted string in local timezone.
+
Parameters
+
+ s Timestamp in the same format as returned by toString()
+
+
+
+
Returns AbsoluteVariedTime with base time and variation from s
+
+
+
+
+
◆ toString()
+
+
+
+
+
+ std::string hueplusplus::time::AbsoluteVariedTime::toString
+ (
+ )
+ const
+
+
+
+
+
Get formatted string as expected by Hue API.
+
Returns when variation is 0: Timestamp in the format YYYY-MM-DDT hh:mm:ss
+
+when there is variation: Timestamp in the format YYYY-MM-DDT hh:mm:ssA hh:mm:ss with base time first, variation second
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_absolute_varied_time__coll__graph.map a/classhueplusplus_1_1time_1_1_absolute_varied_time__coll__graph.map
new file mode 100644
index 0000000..5712ac6
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_absolute_varied_time__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_absolute_varied_time__coll__graph.md5 a/classhueplusplus_1_1time_1_1_absolute_varied_time__coll__graph.md5
new file mode 100644
index 0000000..7c76d86
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_absolute_varied_time__coll__graph.md5
@@ -0,0 +1 @@
+7154c0b9ed4e084a3d558c44edbc5069
\ No newline at end of file
diff --git b/classhueplusplus_1_1time_1_1_absolute_varied_time__coll__graph.png a/classhueplusplus_1_1time_1_1_absolute_varied_time__coll__graph.png
new file mode 100644
index 0000000..ade169b
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_absolute_varied_time__coll__graph.png
diff --git b/classhueplusplus_1_1time_1_1_absolute_varied_time__inherit__graph.map a/classhueplusplus_1_1time_1_1_absolute_varied_time__inherit__graph.map
new file mode 100644
index 0000000..5712ac6
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_absolute_varied_time__inherit__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_absolute_varied_time__inherit__graph.md5 a/classhueplusplus_1_1time_1_1_absolute_varied_time__inherit__graph.md5
new file mode 100644
index 0000000..de17d1e
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_absolute_varied_time__inherit__graph.md5
@@ -0,0 +1 @@
+2f66d04d5e74602651249118643c27e3
\ No newline at end of file
diff --git b/classhueplusplus_1_1time_1_1_absolute_varied_time__inherit__graph.png a/classhueplusplus_1_1time_1_1_absolute_varied_time__inherit__graph.png
new file mode 100644
index 0000000..ade169b
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_absolute_varied_time__inherit__graph.png
diff --git b/classhueplusplus_1_1time_1_1_recurring_time-members.html a/classhueplusplus_1_1time_1_1_recurring_time-members.html
new file mode 100644
index 0000000..8332017
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_recurring_time-members.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::time::RecurringTime , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_recurring_time.html a/classhueplusplus_1_1time_1_1_recurring_time.html
new file mode 100644
index 0000000..bd88443
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_recurring_time.html
@@ -0,0 +1,246 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::time::RecurringTime Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Time repeated weekly to daily, with possible random variation.
+ More...
+
+
#include <hueplusplus/TimePattern.h >
+
+
+
Time repeated weekly to daily, with possible random variation.
+
Can be used to represent a time on one or multiple days per week. It can also have a random variation of up to 12 hours.
+
+
+
◆ RecurringTime()
+
+
+
+
+
+
+
+
+ hueplusplus::time::RecurringTime::RecurringTime
+ (
+ clock::duration
+ daytime ,
+
+
+
+
+ Weekdays
+ days ,
+
+
+
+
+ clock::duration
+ variation = std::chrono::seconds(0)
+
+
+
+ )
+
+
+
+
+
+explicit
+
+
+
+
+
Create recurring time.
+
Parameters
+
+ daytime Time of day, duration from the start of the day.
+ days Days to repeat on, should not be Weekdays::none()
+ variation Random variation, optional. Must be less than 12 hours. When not zero, the time is randomly chosen between daytime - variation and daytime + variation
+
+
+
+
+
+
+
+
+
◆ getDaytime()
+
+
+
+
+
+ system_clock::duration hueplusplus::time::RecurringTime::getDaytime
+ (
+ )
+ const
+
+
+
+
+
+
◆ getRandomVariation()
+
+
+
+
+
+ system_clock::duration hueplusplus::time::RecurringTime::getRandomVariation
+ (
+ )
+ const
+
+
+
+
+
Get random variation.
+
The time can vary up to this amount in both directions.
+
+
+
+
+
◆ getWeekdays()
+
+
+
+
+
+ Weekdays hueplusplus::time::RecurringTime::getWeekdays
+ (
+ )
+ const
+
+
+
+
+
Get days on which the repetition will happen.
+
+
+
+
+
◆ toString()
+
+
+
+
+
+ std::string hueplusplus::time::RecurringTime::toString
+ (
+ )
+ const
+
+
+
+
+
Get formatted string as expected by Hue API.
+
Returns with no variation: W bbb/T hh:mm:ss
+
+with variation: W bbb/T hh:mm:ssA hh:mm:ss, where daytime is first and variation is second.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_time_interval-members.html a/classhueplusplus_1_1time_1_1_time_interval-members.html
new file mode 100644
index 0000000..571e65b
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_time_interval-members.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::time::TimeInterval , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_time_interval.html a/classhueplusplus_1_1time_1_1_time_interval.html
new file mode 100644
index 0000000..1775bf5
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_time_interval.html
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::time::TimeInterval Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Time interval repeated daily to weekly.
+ More...
+
+
#include <hueplusplus/TimePattern.h >
+
+
+
Time interval repeated daily to weekly.
+
Can be used to represent an interval of time on one or multiple days per week. The maximum interval length is 23 hours.
+
+
+
◆ TimeInterval()
+
+
+
+
+
+ hueplusplus::time::TimeInterval::TimeInterval
+ (
+ clock::duration
+ start ,
+
+
+
+
+ clock::duration
+ end ,
+
+
+
+
+ Weekdays
+ days = Weekdays::all ()
+
+
+
+ )
+
+
+
+
+
+
Create time interval.
+
Parameters
+
+ start Start time, duration from the start of the day
+ end End time, duration from the start of the day
+ days Active days, optional. Defaults to daily repetition.
+
+
+
+
+
+
+
+
+
◆ getEndTime()
+
+
+
+
+
+ system_clock::duration hueplusplus::time::TimeInterval::getEndTime
+ (
+ )
+ const
+
+
+
+
+
Get end time of the interval.
+
+
+
+
+
◆ getStartTime()
+
+
+
+
+
+ system_clock::duration hueplusplus::time::TimeInterval::getStartTime
+ (
+ )
+ const
+
+
+
+
+
Get start time of the interval.
+
+
+
+
+
◆ getWeekdays()
+
+
+
+
+
+ Weekdays hueplusplus::time::TimeInterval::getWeekdays
+ (
+ )
+ const
+
+
+
+
+
+
◆ toString()
+
+
+
+
+
+ std::string hueplusplus::time::TimeInterval::toString
+ (
+ )
+ const
+
+
+
+
+
Get formatted string as expected by Hue API.
+
Returns with daily repetition: T hh:mm:ss/T hh:mm:ss, with start time first and end time second.
+
+with repetition that is not daily: W bbb/T hh:mm:ss/T hh:mm:ss
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_time_pattern-members.html a/classhueplusplus_1_1time_1_1_time_pattern-members.html
new file mode 100644
index 0000000..09f0937
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_time_pattern-members.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::time::TimePattern , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_time_pattern.html a/classhueplusplus_1_1time_1_1_time_pattern.html
new file mode 100644
index 0000000..908b10c
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_time_pattern.html
@@ -0,0 +1,639 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::time::TimePattern Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Holds different time representations.
+ More...
+
+
#include <hueplusplus/TimePattern.h >
+
+
+
+
+
+
+
+
+
+
+
+
+
[legend ]
+
+
+
Holds different time representations.
+
Holds either AbsoluteTime , RecurringTime , TimeInterval , Timer or an undefined state. TimePattern is used to specify the occurrance of Schedule s.
+
+
+
◆ Type
+
+
+
+
+
Currently active type.
+
+
+
+
+
+
+
◆ TimePattern() [1/6]
+
+
+
+
+
+ hueplusplus::time::TimePattern::TimePattern
+ (
+ )
+
+
+
+
+
+
+
◆ ~TimePattern()
+
+
+
+
+
+ hueplusplus::time::TimePattern::~TimePattern
+ (
+ )
+
+
+
+
+
+
Destructor for union.
+
+
+
+
+
◆ TimePattern() [2/6]
+
+
+
+
+
+
+
+
+ hueplusplus::time::TimePattern::TimePattern
+ (
+ const AbsoluteVariedTime &
+ absolute )
+
+
+
+
+
+explicit
+
+
+
+
+
+
◆ TimePattern() [3/6]
+
+
+
+
+
+
+
+
+ hueplusplus::time::TimePattern::TimePattern
+ (
+ const RecurringTime &
+ recurring )
+
+
+
+
+
+explicit
+
+
+
+
+
+
◆ TimePattern() [4/6]
+
+
+
+
+
+
+
+
+ hueplusplus::time::TimePattern::TimePattern
+ (
+ const TimeInterval &
+ interval )
+
+
+
+
+
+explicit
+
+
+
+
+
+
◆ TimePattern() [5/6]
+
+
+
+
+
+
+
+
+ hueplusplus::time::TimePattern::TimePattern
+ (
+ const Timer &
+ timer )
+
+
+
+
+
+explicit
+
+
+
+
+
+
◆ TimePattern() [6/6]
+
+
+
+
+
+ hueplusplus::time::TimePattern::TimePattern
+ (
+ const TimePattern &
+ other )
+
+
+
+
+
+
Copy constructor for union.
+
+
+
+
+
+
◆ asAbsolute()
+
+
+
+
◆ asInterval()
+
+
+
+
+
+ TimeInterval hueplusplus::time::TimePattern::asInterval
+ (
+ )
+ const
+
+
+
+
+
+
◆ asRecurring()
+
+
+
+
+
+ RecurringTime hueplusplus::time::TimePattern::asRecurring
+ (
+ )
+ const
+
+
+
+
+
+
◆ asTimer()
+
+
+
+
+
+ Timer hueplusplus::time::TimePattern::asTimer
+ (
+ )
+ const
+
+
+
+
+
+
◆ getType()
+
+
+
+
+
Get currently active type.
+
Note Only the currently active type may be accessed, anything else is undefined behavior.
+
+
+
+
+
◆ operator=()
+
+
+
+
+
Copy assignment for union.
+
+
+
+
+
◆ parse()
+
+
+
+
+
+
+
+
+ TimePattern hueplusplus::time::TimePattern::parse
+ (
+ const std::string &
+ s )
+
+
+
+
+
+static
+
+
+
+
+
+
◆ toString()
+
+
+
+
+
+ std::string hueplusplus::time::TimePattern::toString
+ (
+ )
+ const
+
+
+
+
+
+
+
◆ absolute
+
+
+
+
◆ interval
+
+
+
+
+
+ TimeInterval hueplusplus::time::TimePattern::interval
+
+
+
+
+
+
+
+
◆ recurring
+
+
+
+
◆ timer
+
+
+
+
+
+ Timer hueplusplus::time::TimePattern::timer
+
+
+
+
+
+
+
+
◆ undefined
+
+
+
+
+
+ std::nullptr_t hueplusplus::time::TimePattern::undefined
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_time_pattern__coll__graph.map a/classhueplusplus_1_1time_1_1_time_pattern__coll__graph.map
new file mode 100644
index 0000000..3092d74
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_time_pattern__coll__graph.map
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_time_pattern__coll__graph.md5 a/classhueplusplus_1_1time_1_1_time_pattern__coll__graph.md5
new file mode 100644
index 0000000..dcf25b0
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_time_pattern__coll__graph.md5
@@ -0,0 +1 @@
+6e7380e0ba45280b87abb879f093c920
\ No newline at end of file
diff --git b/classhueplusplus_1_1time_1_1_time_pattern__coll__graph.png a/classhueplusplus_1_1time_1_1_time_pattern__coll__graph.png
new file mode 100644
index 0000000..afcc537
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_time_pattern__coll__graph.png
diff --git b/classhueplusplus_1_1time_1_1_timer-members.html a/classhueplusplus_1_1time_1_1_timer-members.html
new file mode 100644
index 0000000..280d7a3
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_timer-members.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::time::Timer , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_timer.html a/classhueplusplus_1_1time_1_1_timer.html
new file mode 100644
index 0000000..69b3a0f
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_timer.html
@@ -0,0 +1,338 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::time::Timer Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Timer that is started and triggers after specified delay.
+ More...
+
+
#include <hueplusplus/TimePattern.h >
+
+
+ Timer (clock::duration duration, clock::duration variation=std::chrono::seconds(0))
+ Create one-off timer. More...
+
+ Timer (clock::duration duration, int numExecutions, clock::duration variation=std::chrono::seconds(0))
+ Create a repeated timer. More...
+
+bool isRecurring () const
+ Returns true when the timer is executed more than once. More...
+
+int getNumberOfExecutions () const
+ Get number of executions. More...
+
+clock::duration getExpiryTime () const
+ Get expiry time. More...
+
+clock::duration getRandomVariation () const
+ Get random variation of expiry time. More...
+
+std::string toString () const
+ Get formatted string as expected by Hue API. More...
+
+
+
+
Timer that is started and triggers after specified delay.
+
The timer can have a random variation in the expiry time. It can be one-off, repeated a set number of times or repeated indefinitely.
+
+
+
◆ Timer() [1/2]
+
+
+
+
+
+ hueplusplus::time::Timer::Timer
+ (
+ clock::duration
+ duration ,
+
+
+
+
+ clock::duration
+ variation = std::chrono::seconds(0)
+
+
+
+ )
+
+
+
+
+
+
Create one-off timer.
+
Parameters
+
+ duration Expiry time of the timer, max 24 hours.
+ variation Random variation of expiry time, optional.
+
+
+
+
+
+
+
+
◆ Timer() [2/2]
+
+
+
+
+
+ hueplusplus::time::Timer::Timer
+ (
+ clock::duration
+ duration ,
+
+
+
+
+ int
+ numExecutions ,
+
+
+
+
+ clock::duration
+ variation = std::chrono::seconds(0)
+
+
+
+ )
+
+
+
+
+
+
Create a repeated timer.
+
Parameters
+
+ duration Expiry time of the timer, max 24 hours.
+ numExecutions Number of executions, 1 or higher, or infiniteExecutions to always repeat.
+ variation Random variation of expiry time, optional.
+
+
+
+
+
+
+
+
+
◆ getExpiryTime()
+
+
+
+
+
+ system_clock::duration hueplusplus::time::Timer::getExpiryTime
+ (
+ )
+ const
+
+
+
+
+
+
◆ getNumberOfExecutions()
+
+
+
+
+
+ int hueplusplus::time::Timer::getNumberOfExecutions
+ (
+ )
+ const
+
+
+
+
+
+
◆ getRandomVariation()
+
+
+
+
+
+ system_clock::duration hueplusplus::time::Timer::getRandomVariation
+ (
+ )
+ const
+
+
+
+
+
Get random variation of expiry time.
+
The expiry time can vary up to this value in both directions.
+
+
+
+
+
◆ isRecurring()
+
+
+
+
+
+ bool hueplusplus::time::Timer::isRecurring
+ (
+ )
+ const
+
+
+
+
+
Returns true when the timer is executed more than once.
+
+
+
+
+
◆ toString()
+
+
+
+
+
+ std::string hueplusplus::time::Timer::toString
+ (
+ )
+ const
+
+
+
+
+
Get formatted string as expected by Hue API.
+
Returns one-off timer: PT hh:mm:ss
+
+one-off timer with variation: PT hh:mm:ssA hh:mm:ss, with expiry time first and variation second.
+
+recurring timer: R/PT hh:mm:ss
+
+recurring timer with n repetitions: R nn/PT hh:mm:ss
+
+recurring timer with random variation: R nn/PT hh:mm:ssA hh:mm:ss
+
+infinite recurring timer with random variation: R /PT hh:mm:ssA hh:mm:ss
+
+
+
+
+
+
◆ infiniteExecutions
+
+
+
+
+
+
+
+
+ constexpr int hueplusplus::time::Timer::infiniteExecutions = 0
+
+
+
+
+static
+
+
+
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_weekdays-members.html a/classhueplusplus_1_1time_1_1_weekdays-members.html
new file mode 100644
index 0000000..8d511be
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_weekdays-members.html
@@ -0,0 +1,107 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::time::Weekdays , including all inherited members.
+
+
+
+
+
diff --git b/classhueplusplus_1_1time_1_1_weekdays.html a/classhueplusplus_1_1time_1_1_weekdays.html
new file mode 100644
index 0000000..642fa5f
--- /dev/null
+++ a/classhueplusplus_1_1time_1_1_weekdays.html
@@ -0,0 +1,823 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::time::Weekdays Class Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Any number of days of the week.
+ More...
+
+
#include <hueplusplus/TimePattern.h >
+
+
+
Any number of days of the week.
+
Can be used to represent weekly repetitions only on certain days.
+
+
+
◆ Weekdays() [1/2]
+
+
+
+
+
+
+
+
+ hueplusplus::time::Weekdays::Weekdays
+ (
+ )
+
+
+
+
+
+inline
+
+
+
+
+
Create with no days.
+
+
+
+
+
◆ Weekdays() [2/2]
+
+
+
+
+
+
+
+
+ hueplusplus::time::Weekdays::Weekdays
+ (
+ int
+ num )
+
+
+
+
+
+inline explicit
+
+
+
+
+
Create with the day num.
+
Parameters
+
+ num Day of the week, from monday (0) to sunday (6)
+
+
+
+
+
+
+
+
+
◆ all()
+
+
+
+
+
+
+
+
+ Weekdays hueplusplus::time::Weekdays::all
+ (
+ )
+
+
+
+
+
+static
+
+
+
+
+
Creates set of all days.
+
+
+
+
+
◆ friday()
+
+
+
+
+
+
+
+
+ Weekdays hueplusplus::time::Weekdays::friday
+ (
+ )
+
+
+
+
+
+static
+
+
+
+
+
+
◆ isAll()
+
+
+
+
+
+ bool hueplusplus::time::Weekdays::isAll
+ (
+ )
+ const
+
+
+
+
+
Check if all days are set.
+
+
+
+
+
◆ isFriday()
+
+
+
+
+
+ bool hueplusplus::time::Weekdays::isFriday
+ (
+ )
+ const
+
+
+
+
+
Check if Friday is contained.
+
+
+
+
+
◆ isMonday()
+
+
+
+
+
+ bool hueplusplus::time::Weekdays::isMonday
+ (
+ )
+ const
+
+
+
+
+
Check if Monday is contained.
+
+
+
+
+
◆ isNone()
+
+
+
+
+
+ bool hueplusplus::time::Weekdays::isNone
+ (
+ )
+ const
+
+
+
+
+
Check if no days are set.
+
+
+
+
+
◆ isSaturday()
+
+
+
+
+
+ bool hueplusplus::time::Weekdays::isSaturday
+ (
+ )
+ const
+
+
+
+
+
Check if Saturday is contained.
+
+
+
+
+
◆ isSunday()
+
+
+
+
+
+ bool hueplusplus::time::Weekdays::isSunday
+ (
+ )
+ const
+
+
+
+
+
Check if Sunday is contained.
+
+
+
+
+
◆ isThursday()
+
+
+
+
+
+ bool hueplusplus::time::Weekdays::isThursday
+ (
+ )
+ const
+
+
+
+
+
Check if Thursday is contained.
+
+
+
+
+
◆ isTuesday()
+
+
+
+
+
+ bool hueplusplus::time::Weekdays::isTuesday
+ (
+ )
+ const
+
+
+
+
+
Check if Tuesday is contained.
+
+
+
+
+
◆ isWednesday()
+
+
+
+
+
+ bool hueplusplus::time::Weekdays::isWednesday
+ (
+ )
+ const
+
+
+
+
+
Check if Wednesday is contained.
+
+
+
+
+
◆ monday()
+
+
+
+
+
+
+
+
+ Weekdays hueplusplus::time::Weekdays::monday
+ (
+ )
+
+
+
+
+
+static
+
+
+
+
+
+
◆ none()
+
+
+
+
+
+
+
+
+ Weekdays hueplusplus::time::Weekdays::none
+ (
+ )
+
+
+
+
+
+static
+
+
+
+
+
+
◆ operator!=()
+
+
+
+
+
+
+
+
+ bool hueplusplus::time::Weekdays::operator!=
+ (
+ const Weekdays &
+ other )
+ const
+
+
+
+
+inline
+
+
+
+
+
Check whether not all days are equal.
+
+
+
+
+
◆ operator==()
+
+
+
+
+
+
+
+
+ bool hueplusplus::time::Weekdays::operator==
+ (
+ const Weekdays &
+ other )
+ const
+
+
+
+
+inline
+
+
+
+
+
Check whether all days are equal.
+
+
+
+
+
◆ operator|()
+
+
+
+
+
+
+
+
+ Weekdays hueplusplus::time::Weekdays::operator|
+ (
+ Weekdays
+ other )
+ const
+
+
+
+
+inline
+
+
+
+
+
+
◆ parse()
+
+
+
+
+
+
+
+
+ Weekdays hueplusplus::time::Weekdays::parse
+ (
+ const std::string &
+ s )
+
+
+
+
+
+static
+
+
+
+
+
Parse from three digit code.
+
Parameters
+
+ s Bitmask of days as a string
+
+
+
+
Returns Parsed set of weekdays
+
+
+
+
+
◆ saturday()
+
+
+
+
+
+
+
+
+ Weekdays hueplusplus::time::Weekdays::saturday
+ (
+ )
+
+
+
+
+
+static
+
+
+
+
+
+
◆ sunday()
+
+
+
+
+
+
+
+
+ Weekdays hueplusplus::time::Weekdays::sunday
+ (
+ )
+
+
+
+
+
+static
+
+
+
+
+
+
◆ thursday()
+
+
+
+
+
+
+
+
+ Weekdays hueplusplus::time::Weekdays::thursday
+ (
+ )
+
+
+
+
+
+static
+
+
+
+
+
+
◆ toString()
+
+
+
+
+
+ std::string hueplusplus::time::Weekdays::toString
+ (
+ )
+ const
+
+
+
+
+
Create a formatted, numeric string.
+
Returns A three digit code for the days as a bitmask
+
+
+
+
+
◆ tuesday()
+
+
+
+
+
+
+
+
+ Weekdays hueplusplus::time::Weekdays::tuesday
+ (
+ )
+
+
+
+
+
+static
+
+
+
+
+
+
◆ unionWith()
+
+
+
+
+
+ Weekdays hueplusplus::time::Weekdays::unionWith
+ (
+ Weekdays
+ other )
+ const
+
+
+
+
+
Create set union with other Weekdays .
+
Parameters
+
+ other Second set of days to combine with
+
+
+
+
Returns A set of days containing all days of either this or other
+
+
+
+
+
◆ wednesday()
+
+
+
+
+
+
+
+
+ Weekdays hueplusplus::time::Weekdays::wednesday
+ (
+ )
+
+
+
+
+
+static
+
+
+
+
+
Creates Wednesday.
+
+
+
+
The documentation for this class was generated from the following files:
+
+
+
+
+
diff --git b/closed.png a/closed.png
new file mode 100644
index 0000000..98cc2c9
--- /dev/null
+++ a/closed.png
diff --git b/dir_000000_000001.html a/dir_000000_000001.html
new file mode 100644
index 0000000..5ac1dae
--- /dev/null
+++ a/dir_000000_000001.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+hueplusplus: examples -> include Relation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
examples → include Relation
+
+
+
+
diff --git b/dir_000003_000001.html a/dir_000003_000001.html
new file mode 100644
index 0000000..dd42d91
--- /dev/null
+++ a/dir_000003_000001.html
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+hueplusplus: src -> include Relation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/dir_68267d1309a1af8e8297ef4c3efbcdba.html a/dir_68267d1309a1af8e8297ef4c3efbcdba.html
new file mode 100644
index 0000000..f94350c
--- /dev/null
+++ a/dir_68267d1309a1af8e8297ef4c3efbcdba.html
@@ -0,0 +1,158 @@
+
+
+
+
+
+
+
+hueplusplus: src Directory Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map a/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map
new file mode 100644
index 0000000..c3b28f3
--- /dev/null
+++ a/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5 a/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5
new file mode 100644
index 0000000..2f8243f
--- /dev/null
+++ a/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.md5
@@ -0,0 +1 @@
+99a738dd60c75b68aa79d619cec2c230
\ No newline at end of file
diff --git b/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png a/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png
new file mode 100644
index 0000000..047109f
--- /dev/null
+++ a/dir_68267d1309a1af8e8297ef4c3efbcdba_dep.png
diff --git b/dir_d28a4824dc47e487b107a5db32ef43c4.html a/dir_d28a4824dc47e487b107a5db32ef43c4.html
new file mode 100644
index 0000000..02418bc
--- /dev/null
+++ a/dir_d28a4824dc47e487b107a5db32ef43c4.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+hueplusplus: examples Directory Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/dir_d28a4824dc47e487b107a5db32ef43c4_dep.map a/dir_d28a4824dc47e487b107a5db32ef43c4_dep.map
new file mode 100644
index 0000000..d4ded6e
--- /dev/null
+++ a/dir_d28a4824dc47e487b107a5db32ef43c4_dep.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5 a/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5
new file mode 100644
index 0000000..a2982af
--- /dev/null
+++ a/dir_d28a4824dc47e487b107a5db32ef43c4_dep.md5
@@ -0,0 +1 @@
+60e33a10d040ec473e7f01db777e2274
\ No newline at end of file
diff --git b/dir_d28a4824dc47e487b107a5db32ef43c4_dep.png a/dir_d28a4824dc47e487b107a5db32ef43c4_dep.png
new file mode 100644
index 0000000..85e672c
--- /dev/null
+++ a/dir_d28a4824dc47e487b107a5db32ef43c4_dep.png
diff --git b/dir_d44c64559bbebec7f509842c48db8b23.html a/dir_d44c64559bbebec7f509842c48db8b23.html
new file mode 100644
index 0000000..1b7fef9
--- /dev/null
+++ a/dir_d44c64559bbebec7f509842c48db8b23.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+hueplusplus: include Directory Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/dir_e05b4b7707bd5f9fd045e8be02b17d0a.html a/dir_e05b4b7707bd5f9fd045e8be02b17d0a.html
new file mode 100644
index 0000000..60402b8
--- /dev/null
+++ a/dir_e05b4b7707bd5f9fd045e8be02b17d0a.html
@@ -0,0 +1,164 @@
+
+
+
+
+
+
+
+hueplusplus: include/hueplusplus Directory Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/doc.png a/doc.png
new file mode 100644
index 0000000..17edabf
--- /dev/null
+++ a/doc.png
diff --git b/doxygen.css a/doxygen.css
new file mode 100644
index 0000000..4f1ab91
--- /dev/null
+++ a/doxygen.css
@@ -0,0 +1,1596 @@
+/* The standard CSS for doxygen 1.8.13 */
+
+body, table, div, p, dl {
+ font: 400 14px/22px Roboto,sans-serif;
+}
+
+p.reference, p.definition {
+ font: 400 14px/22px Roboto,sans-serif;
+}
+
+/* @group Heading Levels */
+
+h1.groupheader {
+ font-size: 150%;
+}
+
+.title {
+ font: 400 14px/28px Roboto,sans-serif;
+ font-size: 150%;
+ font-weight: bold;
+ margin: 10px 2px;
+}
+
+h2.groupheader {
+ border-bottom: 1px solid #879ECB;
+ color: #354C7B;
+ font-size: 150%;
+ font-weight: normal;
+ margin-top: 1.75em;
+ padding-top: 8px;
+ padding-bottom: 4px;
+ width: 100%;
+}
+
+h3.groupheader {
+ font-size: 100%;
+}
+
+h1, h2, h3, h4, h5, h6 {
+ -webkit-transition: text-shadow 0.5s linear;
+ -moz-transition: text-shadow 0.5s linear;
+ -ms-transition: text-shadow 0.5s linear;
+ -o-transition: text-shadow 0.5s linear;
+ transition: text-shadow 0.5s linear;
+ margin-right: 15px;
+}
+
+h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow {
+ text-shadow: 0 0 15px cyan;
+}
+
+dt {
+ font-weight: bold;
+}
+
+div.multicol {
+ -moz-column-gap: 1em;
+ -webkit-column-gap: 1em;
+ -moz-column-count: 3;
+ -webkit-column-count: 3;
+}
+
+p.startli, p.startdd {
+ margin-top: 2px;
+}
+
+p.starttd {
+ margin-top: 0px;
+}
+
+p.endli {
+ margin-bottom: 0px;
+}
+
+p.enddd {
+ margin-bottom: 4px;
+}
+
+p.endtd {
+ margin-bottom: 2px;
+}
+
+/* @end */
+
+caption {
+ font-weight: bold;
+}
+
+span.legend {
+ font-size: 70%;
+ text-align: center;
+}
+
+h3.version {
+ font-size: 90%;
+ text-align: center;
+}
+
+div.qindex, div.navtab{
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+}
+
+div.qindex, div.navpath {
+ width: 100%;
+ line-height: 140%;
+}
+
+div.navtab {
+ margin-right: 15px;
+}
+
+/* @group Link Styling */
+
+a {
+ color: #3D578C;
+ font-weight: normal;
+ text-decoration: none;
+}
+
+.contents a:visited {
+ color: #4665A2;
+}
+
+a:hover {
+ text-decoration: underline;
+}
+
+a.qindex {
+ font-weight: bold;
+}
+
+a.qindexHL {
+ font-weight: bold;
+ background-color: #9CAFD4;
+ color: #ffffff;
+ border: 1px double #869DCA;
+}
+
+.contents a.qindexHL:visited {
+ color: #ffffff;
+}
+
+a.el {
+ font-weight: bold;
+}
+
+a.elRef {
+}
+
+a.code, a.code:visited, a.line, a.line:visited {
+ color: #4665A2;
+}
+
+a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited {
+ color: #4665A2;
+}
+
+/* @end */
+
+dl.el {
+ margin-left: -1cm;
+}
+
+pre.fragment {
+ border: 1px solid #C4CFE5;
+ background-color: #FBFCFD;
+ padding: 4px 6px;
+ margin: 4px 8px 4px 2px;
+ overflow: auto;
+ word-wrap: break-word;
+ font-size: 9pt;
+ line-height: 125%;
+ font-family: monospace, fixed;
+ font-size: 105%;
+}
+
+div.fragment {
+ padding: 0px;
+ margin: 4px 8px 4px 2px;
+ background-color: #FBFCFD;
+ border: 1px solid #C4CFE5;
+}
+
+div.line {
+ font-family: monospace, fixed;
+ font-size: 13px;
+ min-height: 13px;
+ line-height: 1.0;
+ text-wrap: unrestricted;
+ white-space: -moz-pre-wrap; /* Moz */
+ white-space: -pre-wrap; /* Opera 4-6 */
+ white-space: -o-pre-wrap; /* Opera 7 */
+ white-space: pre-wrap; /* CSS3 */
+ word-wrap: break-word; /* IE 5.5+ */
+ text-indent: -53px;
+ padding-left: 53px;
+ padding-bottom: 0px;
+ margin: 0px;
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+div.line:after {
+ content:"\000A";
+ white-space: pre;
+}
+
+div.line.glow {
+ background-color: cyan;
+ box-shadow: 0 0 10px cyan;
+}
+
+
+span.lineno {
+ padding-right: 4px;
+ text-align: right;
+ border-right: 2px solid #0F0;
+ background-color: #E8E8E8;
+ white-space: pre;
+}
+span.lineno a {
+ background-color: #D8D8D8;
+}
+
+span.lineno a:hover {
+ background-color: #C8C8C8;
+}
+
+.lineno {
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+div.ah, span.ah {
+ background-color: black;
+ font-weight: bold;
+ color: #ffffff;
+ margin-bottom: 3px;
+ margin-top: 3px;
+ padding: 0.2em;
+ border: solid thin #333;
+ border-radius: 0.5em;
+ -webkit-border-radius: .5em;
+ -moz-border-radius: .5em;
+ box-shadow: 2px 2px 3px #999;
+ -webkit-box-shadow: 2px 2px 3px #999;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444));
+ background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%);
+}
+
+div.classindex ul {
+ list-style: none;
+ padding-left: 0;
+}
+
+div.classindex span.ai {
+ display: inline-block;
+}
+
+div.groupHeader {
+ margin-left: 16px;
+ margin-top: 12px;
+ font-weight: bold;
+}
+
+div.groupText {
+ margin-left: 16px;
+ font-style: italic;
+}
+
+body {
+ background-color: white;
+ color: black;
+ margin: 0;
+}
+
+div.contents {
+ margin-top: 10px;
+ margin-left: 12px;
+ margin-right: 8px;
+}
+
+td.indexkey {
+ background-color: #EBEFF6;
+ font-weight: bold;
+ border: 1px solid #C4CFE5;
+ margin: 2px 0px 2px 0;
+ padding: 2px 10px;
+ white-space: nowrap;
+ vertical-align: top;
+}
+
+td.indexvalue {
+ background-color: #EBEFF6;
+ border: 1px solid #C4CFE5;
+ padding: 2px 10px;
+ margin: 2px 0px;
+}
+
+tr.memlist {
+ background-color: #EEF1F7;
+}
+
+p.formulaDsp {
+ text-align: center;
+}
+
+img.formulaDsp {
+
+}
+
+img.formulaInl {
+ vertical-align: middle;
+}
+
+div.center {
+ text-align: center;
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0px;
+}
+
+div.center img {
+ border: 0px;
+}
+
+address.footer {
+ text-align: right;
+ padding-right: 12px;
+}
+
+img.footer {
+ border: 0px;
+ vertical-align: middle;
+}
+
+/* @group Code Colorization */
+
+span.keyword {
+ color: #008000
+}
+
+span.keywordtype {
+ color: #604020
+}
+
+span.keywordflow {
+ color: #e08000
+}
+
+span.comment {
+ color: #800000
+}
+
+span.preprocessor {
+ color: #806020
+}
+
+span.stringliteral {
+ color: #002080
+}
+
+span.charliteral {
+ color: #008080
+}
+
+span.vhdldigit {
+ color: #ff00ff
+}
+
+span.vhdlchar {
+ color: #000000
+}
+
+span.vhdlkeyword {
+ color: #700070
+}
+
+span.vhdllogic {
+ color: #ff0000
+}
+
+blockquote {
+ background-color: #F7F8FB;
+ border-left: 2px solid #9CAFD4;
+ margin: 0 24px 0 4px;
+ padding: 0 12px 0 16px;
+}
+
+/* @end */
+
+/*
+.search {
+ color: #003399;
+ font-weight: bold;
+}
+
+form.search {
+ margin-bottom: 0px;
+ margin-top: 0px;
+}
+
+input.search {
+ font-size: 75%;
+ color: #000080;
+ font-weight: normal;
+ background-color: #e8eef2;
+}
+*/
+
+td.tiny {
+ font-size: 75%;
+}
+
+.dirtab {
+ padding: 4px;
+ border-collapse: collapse;
+ border: 1px solid #A3B4D7;
+}
+
+th.dirtab {
+ background: #EBEFF6;
+ font-weight: bold;
+}
+
+hr {
+ height: 0px;
+ border: none;
+ border-top: 1px solid #4A6AAA;
+}
+
+hr.footer {
+ height: 1px;
+}
+
+/* @group Member Descriptions */
+
+table.memberdecls {
+ border-spacing: 0px;
+ padding: 0px;
+}
+
+.memberdecls td, .fieldtable tr {
+ -webkit-transition-property: background-color, box-shadow;
+ -webkit-transition-duration: 0.5s;
+ -moz-transition-property: background-color, box-shadow;
+ -moz-transition-duration: 0.5s;
+ -ms-transition-property: background-color, box-shadow;
+ -ms-transition-duration: 0.5s;
+ -o-transition-property: background-color, box-shadow;
+ -o-transition-duration: 0.5s;
+ transition-property: background-color, box-shadow;
+ transition-duration: 0.5s;
+}
+
+.memberdecls td.glow, .fieldtable tr.glow {
+ background-color: cyan;
+ box-shadow: 0 0 15px cyan;
+}
+
+.mdescLeft, .mdescRight,
+.memItemLeft, .memItemRight,
+.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
+ background-color: #F9FAFC;
+ border: none;
+ margin: 4px;
+ padding: 1px 0 0 8px;
+}
+
+.mdescLeft, .mdescRight {
+ padding: 0px 8px 4px 8px;
+ color: #555;
+}
+
+.memSeparator {
+ border-bottom: 1px solid #DEE4F0;
+ line-height: 1px;
+ margin: 0px;
+ padding: 0px;
+}
+
+.memItemLeft, .memTemplItemLeft {
+ white-space: nowrap;
+}
+
+.memItemRight {
+ width: 100%;
+}
+
+.memTemplParams {
+ color: #4665A2;
+ white-space: nowrap;
+ font-size: 80%;
+}
+
+/* @end */
+
+/* @group Member Details */
+
+/* Styles for detailed member documentation */
+
+.memtitle {
+ padding: 8px;
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ margin-bottom: -1px;
+ background-image: url('nav_f.png');
+ background-repeat: repeat-x;
+ background-color: #E2E8F2;
+ line-height: 1.25;
+ font-weight: 300;
+ float:left;
+}
+
+.permalink
+{
+ font-size: 65%;
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.memtemplate {
+ font-size: 80%;
+ color: #4665A2;
+ font-weight: normal;
+ margin-left: 9px;
+}
+
+.memnav {
+ background-color: #EBEFF6;
+ border: 1px solid #A3B4D7;
+ text-align: center;
+ margin: 2px;
+ margin-right: 15px;
+ padding: 2px;
+}
+
+.mempage {
+ width: 100%;
+}
+
+.memitem {
+ padding: 0;
+ margin-bottom: 10px;
+ margin-right: 5px;
+ -webkit-transition: box-shadow 0.5s linear;
+ -moz-transition: box-shadow 0.5s linear;
+ -ms-transition: box-shadow 0.5s linear;
+ -o-transition: box-shadow 0.5s linear;
+ transition: box-shadow 0.5s linear;
+ display: table !important;
+ width: 100%;
+}
+
+.memitem.glow {
+ box-shadow: 0 0 15px cyan;
+}
+
+.memname {
+ font-weight: 400;
+ margin-left: 6px;
+}
+
+.memname td {
+ vertical-align: bottom;
+}
+
+.memproto, dl.reflist dt {
+ border-top: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 0px 6px 0px;
+ color: #253555;
+ font-weight: bold;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ background-color: #DFE5F1;
+ /* opera specific markup */
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ border-top-right-radius: 4px;
+ /* firefox specific markup */
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ -moz-border-radius-topright: 4px;
+ /* webkit specific markup */
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ -webkit-border-top-right-radius: 4px;
+
+}
+
+.overload {
+ font-family: "courier new",courier,monospace;
+ font-size: 65%;
+}
+
+.memdoc, dl.reflist dd {
+ border-bottom: 1px solid #A8B8D9;
+ border-left: 1px solid #A8B8D9;
+ border-right: 1px solid #A8B8D9;
+ padding: 6px 10px 2px 10px;
+ background-color: #FBFCFD;
+ border-top-width: 0;
+ background-image:url('nav_g.png');
+ background-repeat:repeat-x;
+ background-color: #FFFFFF;
+ /* opera specific markup */
+ border-bottom-left-radius: 4px;
+ border-bottom-right-radius: 4px;
+ box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+ /* firefox specific markup */
+ -moz-border-radius-bottomleft: 4px;
+ -moz-border-radius-bottomright: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
+ /* webkit specific markup */
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+dl.reflist dt {
+ padding: 5px;
+}
+
+dl.reflist dd {
+ margin: 0px 0px 10px 0px;
+ padding: 5px;
+}
+
+.paramkey {
+ text-align: right;
+}
+
+.paramtype {
+ white-space: nowrap;
+}
+
+.paramname {
+ color: #602020;
+ white-space: nowrap;
+}
+.paramname em {
+ font-style: normal;
+}
+.paramname code {
+ line-height: 14px;
+}
+
+.params, .retval, .exception, .tparams {
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+.params .paramname, .retval .paramname {
+ font-weight: bold;
+ vertical-align: top;
+}
+
+.params .paramtype {
+ font-style: italic;
+ vertical-align: top;
+}
+
+.params .paramdir {
+ font-family: "courier new",courier,monospace;
+ vertical-align: top;
+}
+
+table.mlabels {
+ border-spacing: 0px;
+}
+
+td.mlabels-left {
+ width: 100%;
+ padding: 0px;
+}
+
+td.mlabels-right {
+ vertical-align: bottom;
+ padding: 0px;
+ white-space: nowrap;
+}
+
+span.mlabels {
+ margin-left: 8px;
+}
+
+span.mlabel {
+ background-color: #728DC1;
+ border-top:1px solid #5373B4;
+ border-left:1px solid #5373B4;
+ border-right:1px solid #C4CFE5;
+ border-bottom:1px solid #C4CFE5;
+ text-shadow: none;
+ color: white;
+ margin-right: 4px;
+ padding: 2px 3px;
+ border-radius: 3px;
+ font-size: 7pt;
+ white-space: nowrap;
+ vertical-align: middle;
+}
+
+
+
+/* @end */
+
+/* these are for tree view inside a (index) page */
+
+div.directory {
+ margin: 10px 0px;
+ border-top: 1px solid #9CAFD4;
+ border-bottom: 1px solid #9CAFD4;
+ width: 100%;
+}
+
+.directory table {
+ border-collapse:collapse;
+}
+
+.directory td {
+ margin: 0px;
+ padding: 0px;
+ vertical-align: top;
+}
+
+.directory td.entry {
+ white-space: nowrap;
+ padding-right: 6px;
+ padding-top: 3px;
+}
+
+.directory td.entry a {
+ outline:none;
+}
+
+.directory td.entry a img {
+ border: none;
+}
+
+.directory td.desc {
+ width: 100%;
+ padding-left: 6px;
+ padding-right: 6px;
+ padding-top: 3px;
+ border-left: 1px solid rgba(0,0,0,0.05);
+}
+
+.directory tr.even {
+ padding-left: 6px;
+ background-color: #F7F8FB;
+}
+
+.directory img {
+ vertical-align: -30%;
+}
+
+.directory .levels {
+ white-space: nowrap;
+ width: 100%;
+ text-align: right;
+ font-size: 9pt;
+}
+
+.directory .levels span {
+ cursor: pointer;
+ padding-left: 2px;
+ padding-right: 2px;
+ color: #3D578C;
+}
+
+.arrow {
+ color: #9CAFD4;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+ cursor: pointer;
+ font-size: 80%;
+ display: inline-block;
+ width: 16px;
+ height: 22px;
+}
+
+.icon {
+ font-family: Arial, Helvetica;
+ font-weight: bold;
+ font-size: 12px;
+ height: 14px;
+ width: 16px;
+ display: inline-block;
+ background-color: #728DC1;
+ color: white;
+ text-align: center;
+ border-radius: 4px;
+ margin-left: 2px;
+ margin-right: 2px;
+}
+
+.icona {
+ width: 24px;
+ height: 22px;
+ display: inline-block;
+}
+
+.iconfopen {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('folderopen.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+.iconfclosed {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('folderclosed.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+.icondoc {
+ width: 24px;
+ height: 18px;
+ margin-bottom: 4px;
+ background-image:url('doc.png');
+ background-position: 0px -4px;
+ background-repeat: repeat-y;
+ vertical-align:top;
+ display: inline-block;
+}
+
+table.directory {
+ font: 400 14px Roboto,sans-serif;
+}
+
+/* @end */
+
+div.dynheader {
+ margin-top: 8px;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+address {
+ font-style: normal;
+ color: #2A3D61;
+}
+
+table.doxtable caption {
+ caption-side: top;
+}
+
+table.doxtable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.doxtable td, table.doxtable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.doxtable th {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+table.fieldtable {
+ /*width: 100%;*/
+ margin-bottom: 10px;
+ border: 1px solid #A8B8D9;
+ border-spacing: 0px;
+ -moz-border-radius: 4px;
+ -webkit-border-radius: 4px;
+ border-radius: 4px;
+ -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px;
+ -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+ box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15);
+}
+
+.fieldtable td, .fieldtable th {
+ padding: 3px 7px 2px;
+}
+
+.fieldtable td.fieldtype, .fieldtable td.fieldname {
+ white-space: nowrap;
+ border-right: 1px solid #A8B8D9;
+ border-bottom: 1px solid #A8B8D9;
+ vertical-align: top;
+}
+
+.fieldtable td.fieldname {
+ padding-top: 3px;
+}
+
+.fieldtable td.fielddoc {
+ border-bottom: 1px solid #A8B8D9;
+ /*width: 100%;*/
+}
+
+.fieldtable td.fielddoc p:first-child {
+ margin-top: 0px;
+}
+
+.fieldtable td.fielddoc p:last-child {
+ margin-bottom: 2px;
+}
+
+.fieldtable tr:last-child td {
+ border-bottom: none;
+}
+
+.fieldtable th {
+ background-image:url('nav_f.png');
+ background-repeat:repeat-x;
+ background-color: #E2E8F2;
+ font-size: 90%;
+ color: #253555;
+ padding-bottom: 4px;
+ padding-top: 5px;
+ text-align:left;
+ font-weight: 400;
+ -moz-border-radius-topleft: 4px;
+ -moz-border-radius-topright: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ border-top-left-radius: 4px;
+ border-top-right-radius: 4px;
+ border-bottom: 1px solid #A8B8D9;
+}
+
+
+.tabsearch {
+ top: 0px;
+ left: 10px;
+ height: 36px;
+ background-image: url('tab_b.png');
+ z-index: 101;
+ overflow: hidden;
+ font-size: 13px;
+}
+
+.navpath ul
+{
+ font-size: 11px;
+ background-image:url('tab_b.png');
+ background-repeat:repeat-x;
+ background-position: 0 -5px;
+ height:30px;
+ line-height:30px;
+ color:#8AA0CC;
+ border:solid 1px #C2CDE4;
+ overflow:hidden;
+ margin:0px;
+ padding:0px;
+}
+
+.navpath li
+{
+ list-style-type:none;
+ float:left;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:url('bc_s.png');
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+}
+
+.navpath li.navelem a
+{
+ height:32px;
+ display:block;
+ text-decoration: none;
+ outline: none;
+ color: #283A5D;
+ font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif;
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9);
+ text-decoration: none;
+}
+
+.navpath li.navelem a:hover
+{
+ color:#6884BD;
+}
+
+.navpath li.footer
+{
+ list-style-type:none;
+ float:right;
+ padding-left:10px;
+ padding-right:15px;
+ background-image:none;
+ background-repeat:no-repeat;
+ background-position:right;
+ color:#364D7C;
+ font-size: 8pt;
+}
+
+
+div.summary
+{
+ float: right;
+ font-size: 8pt;
+ padding-right: 5px;
+ width: 50%;
+ text-align: right;
+}
+
+div.summary a
+{
+ white-space: nowrap;
+}
+
+table.classindex
+{
+ margin: 10px;
+ white-space: nowrap;
+ margin-left: 3%;
+ margin-right: 3%;
+ width: 94%;
+ border: 0;
+ border-spacing: 0;
+ padding: 0;
+}
+
+div.ingroups
+{
+ font-size: 8pt;
+ width: 50%;
+ text-align: left;
+}
+
+div.ingroups a
+{
+ white-space: nowrap;
+}
+
+div.header
+{
+ background-image:url('nav_h.png');
+ background-repeat:repeat-x;
+ background-color: #F9FAFC;
+ margin: 0px;
+ border-bottom: 1px solid #C4CFE5;
+}
+
+div.headertitle
+{
+ padding: 5px 5px 5px 10px;
+}
+
+dl
+{
+ padding: 0 0 0 10px;
+}
+
+/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */
+dl.section
+{
+ margin-left: 0px;
+ padding-left: 0px;
+}
+
+dl.note
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #D0C000;
+}
+
+dl.warning, dl.attention
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #FF0000;
+}
+
+dl.pre, dl.post, dl.invariant
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00D000;
+}
+
+dl.deprecated
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #505050;
+}
+
+dl.todo
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #00C0E0;
+}
+
+dl.test
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #3030E0;
+}
+
+dl.bug
+{
+ margin-left:-7px;
+ padding-left: 3px;
+ border-left:4px solid;
+ border-color: #C08050;
+}
+
+dl.section dd {
+ margin-bottom: 6px;
+}
+
+
+#projectlogo
+{
+ text-align: center;
+ vertical-align: bottom;
+ border-collapse: separate;
+}
+
+#projectlogo img
+{
+ border: 0px none;
+}
+
+#projectalign
+{
+ vertical-align: middle;
+}
+
+#projectname
+{
+ font: 300% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 2px 0px;
+}
+
+#projectbrief
+{
+ font: 120% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#projectnumber
+{
+ font: 50% Tahoma, Arial,sans-serif;
+ margin: 0px;
+ padding: 0px;
+}
+
+#titlearea
+{
+ padding: 0px;
+ margin: 0px;
+ width: 100%;
+ border-bottom: 1px solid #5373B4;
+}
+
+.image
+{
+ text-align: center;
+}
+
+.dotgraph
+{
+ text-align: center;
+}
+
+.mscgraph
+{
+ text-align: center;
+}
+
+.plantumlgraph
+{
+ text-align: center;
+}
+
+.diagraph
+{
+ text-align: center;
+}
+
+.caption
+{
+ font-weight: bold;
+}
+
+div.zoom
+{
+ border: 1px solid #90A5CE;
+}
+
+dl.citelist {
+ margin-bottom:50px;
+}
+
+dl.citelist dt {
+ color:#334975;
+ float:left;
+ font-weight:bold;
+ margin-right:10px;
+ padding:5px;
+}
+
+dl.citelist dd {
+ margin:2px 0;
+ padding:5px 0;
+}
+
+div.toc {
+ padding: 14px 25px;
+ background-color: #F4F6FA;
+ border: 1px solid #D8DFEE;
+ border-radius: 7px 7px 7px 7px;
+ float: right;
+ height: auto;
+ margin: 0 8px 10px 10px;
+ width: 200px;
+}
+
+div.toc li {
+ background: url("bdwn.png") no-repeat scroll 0 5px transparent;
+ font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif;
+ margin-top: 5px;
+ padding-left: 10px;
+ padding-top: 2px;
+}
+
+div.toc h3 {
+ font: bold 12px/1.2 Arial,FreeSans,sans-serif;
+ color: #4665A2;
+ border-bottom: 0 none;
+ margin: 0;
+}
+
+div.toc ul {
+ list-style: none outside none;
+ border: medium none;
+ padding: 0px;
+}
+
+div.toc li.level1 {
+ margin-left: 0px;
+}
+
+div.toc li.level2 {
+ margin-left: 15px;
+}
+
+div.toc li.level3 {
+ margin-left: 30px;
+}
+
+div.toc li.level4 {
+ margin-left: 45px;
+}
+
+.inherit_header {
+ font-weight: bold;
+ color: gray;
+ cursor: pointer;
+ -webkit-touch-callout: none;
+ -webkit-user-select: none;
+ -khtml-user-select: none;
+ -moz-user-select: none;
+ -ms-user-select: none;
+ user-select: none;
+}
+
+.inherit_header td {
+ padding: 6px 0px 2px 5px;
+}
+
+.inherit {
+ display: none;
+}
+
+tr.heading h2 {
+ margin-top: 12px;
+ margin-bottom: 4px;
+}
+
+/* tooltip related style info */
+
+.ttc {
+ position: absolute;
+ display: none;
+}
+
+#powerTip {
+ cursor: default;
+ white-space: nowrap;
+ background-color: white;
+ border: 1px solid gray;
+ border-radius: 4px 4px 4px 4px;
+ box-shadow: 1px 1px 7px gray;
+ display: none;
+ font-size: smaller;
+ max-width: 80%;
+ opacity: 0.9;
+ padding: 1ex 1em 1em;
+ position: absolute;
+ z-index: 2147483647;
+}
+
+#powerTip div.ttdoc {
+ color: grey;
+ font-style: italic;
+}
+
+#powerTip div.ttname a {
+ font-weight: bold;
+}
+
+#powerTip div.ttname {
+ font-weight: bold;
+}
+
+#powerTip div.ttdeci {
+ color: #006318;
+}
+
+#powerTip div {
+ margin: 0px;
+ padding: 0px;
+ font: 12px/16px Roboto,sans-serif;
+}
+
+#powerTip:before, #powerTip:after {
+ content: "";
+ position: absolute;
+ margin: 0px;
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.w:after, #powerTip.w:before,
+#powerTip.e:after, #powerTip.e:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.nw:after, #powerTip.nw:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ border: solid transparent;
+ content: " ";
+ height: 0;
+ width: 0;
+ position: absolute;
+}
+
+#powerTip.n:after, #powerTip.s:after,
+#powerTip.w:after, #powerTip.e:after,
+#powerTip.nw:after, #powerTip.ne:after,
+#powerTip.sw:after, #powerTip.se:after {
+ border-color: rgba(255, 255, 255, 0);
+}
+
+#powerTip.n:before, #powerTip.s:before,
+#powerTip.w:before, #powerTip.e:before,
+#powerTip.nw:before, #powerTip.ne:before,
+#powerTip.sw:before, #powerTip.se:before {
+ border-color: rgba(128, 128, 128, 0);
+}
+
+#powerTip.n:after, #powerTip.n:before,
+#powerTip.ne:after, #powerTip.ne:before,
+#powerTip.nw:after, #powerTip.nw:before {
+ top: 100%;
+}
+
+#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after {
+ border-top-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+#powerTip.n:before {
+ border-top-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+#powerTip.n:after, #powerTip.n:before {
+ left: 50%;
+}
+
+#powerTip.nw:after, #powerTip.nw:before {
+ right: 14px;
+}
+
+#powerTip.ne:after, #powerTip.ne:before {
+ left: 14px;
+}
+
+#powerTip.s:after, #powerTip.s:before,
+#powerTip.se:after, #powerTip.se:before,
+#powerTip.sw:after, #powerTip.sw:before {
+ bottom: 100%;
+}
+
+#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after {
+ border-bottom-color: #ffffff;
+ border-width: 10px;
+ margin: 0px -10px;
+}
+
+#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before {
+ border-bottom-color: #808080;
+ border-width: 11px;
+ margin: 0px -11px;
+}
+
+#powerTip.s:after, #powerTip.s:before {
+ left: 50%;
+}
+
+#powerTip.sw:after, #powerTip.sw:before {
+ right: 14px;
+}
+
+#powerTip.se:after, #powerTip.se:before {
+ left: 14px;
+}
+
+#powerTip.e:after, #powerTip.e:before {
+ left: 100%;
+}
+#powerTip.e:after {
+ border-left-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.e:before {
+ border-left-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+#powerTip.w:after, #powerTip.w:before {
+ right: 100%;
+}
+#powerTip.w:after {
+ border-right-color: #ffffff;
+ border-width: 10px;
+ top: 50%;
+ margin-top: -10px;
+}
+#powerTip.w:before {
+ border-right-color: #808080;
+ border-width: 11px;
+ top: 50%;
+ margin-top: -11px;
+}
+
+@media print
+{
+ #top { display: none; }
+ #side-nav { display: none; }
+ #nav-path { display: none; }
+ body { overflow:visible; }
+ h1, h2, h3, h4, h5, h6 { page-break-after: avoid; }
+ .summary { display: none; }
+ .memitem { page-break-inside: avoid; }
+ #doc-content
+ {
+ margin-left:0 !important;
+ height:auto !important;
+ width:auto !important;
+ overflow:inherit;
+ display:inline;
+ }
+}
+
+/* @group Markdown */
+
+/*
+table.markdownTable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.markdownTableHead tr {
+}
+
+table.markdownTableBodyLeft td, table.markdownTable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+th.markdownTableHeadLeft {
+ text-align: left
+}
+
+th.markdownTableHeadRight {
+ text-align: right
+}
+
+th.markdownTableHeadCenter {
+ text-align: center
+}
+*/
+
+table.markdownTable {
+ border-collapse:collapse;
+ margin-top: 4px;
+ margin-bottom: 4px;
+}
+
+table.markdownTable td, table.markdownTable th {
+ border: 1px solid #2D4068;
+ padding: 3px 7px 2px;
+}
+
+table.markdownTable tr {
+}
+
+th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone {
+ background-color: #374F7F;
+ color: #FFFFFF;
+ font-size: 110%;
+ padding-bottom: 4px;
+ padding-top: 5px;
+}
+
+th.markdownTableHeadLeft, td.markdownTableBodyLeft {
+ text-align: left
+}
+
+th.markdownTableHeadRight, td.markdownTableBodyRight {
+ text-align: right
+}
+
+th.markdownTableHeadCenter, td.markdownTableBodyCenter {
+ text-align: center
+}
+
+
+/* @end */
diff --git b/doxygen.png a/doxygen.png
new file mode 100644
index 0000000..3ff17d8
--- /dev/null
+++ a/doxygen.png
diff --git b/dynsections.js a/dynsections.js
new file mode 100644
index 0000000..85e1836
--- /dev/null
+++ a/dynsections.js
@@ -0,0 +1,97 @@
+function toggleVisibility(linkObj)
+{
+ var base = $(linkObj).attr('id');
+ var summary = $('#'+base+'-summary');
+ var content = $('#'+base+'-content');
+ var trigger = $('#'+base+'-trigger');
+ var src=$(trigger).attr('src');
+ if (content.is(':visible')===true) {
+ content.hide();
+ summary.show();
+ $(linkObj).addClass('closed').removeClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
+ } else {
+ content.show();
+ summary.hide();
+ $(linkObj).removeClass('closed').addClass('opened');
+ $(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
+ }
+ return false;
+}
+
+function updateStripes()
+{
+ $('table.directory tr').
+ removeClass('even').filter(':visible:even').addClass('even');
+}
+
+function toggleLevel(level)
+{
+ $('table.directory tr').each(function() {
+ var l = this.id.split('_').length-1;
+ var i = $('#img'+this.id.substring(3));
+ var a = $('#arr'+this.id.substring(3));
+ if (l
+
+
+
+
+
+
+hueplusplus: Examples
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all examples:
+
+
+
+
+
diff --git b/files.html a/files.html
new file mode 100644
index 0000000..0ac8941
--- /dev/null
+++ a/files.html
@@ -0,0 +1,159 @@
+
+
+
+
+
+
+
+hueplusplus: File List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all files with brief descriptions:
+
+
+
+
+
diff --git b/folderclosed.png a/folderclosed.png
new file mode 100644
index 0000000..bb8ab35
--- /dev/null
+++ a/folderclosed.png
diff --git b/folderopen.png a/folderopen.png
new file mode 100644
index 0000000..d6c7f67
--- /dev/null
+++ a/folderopen.png
diff --git b/functions.html a/functions.html
new file mode 100644
index 0000000..2013cf3
--- /dev/null
+++ a/functions.html
@@ -0,0 +1,135 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- a -
+absolute
+: hueplusplus::time::TimePattern
+
+AbsoluteTime()
+: hueplusplus::time::AbsoluteTime
+
+AbsoluteVariedTime()
+: hueplusplus::time::AbsoluteVariedTime
+
+Action()
+: hueplusplus::Action
+
+addClientKey()
+: hueplusplus::BridgeFinder
+
+addUsername()
+: hueplusplus::BridgeFinder
+
+alert()
+: hueplusplus::Light
+, hueplusplus::StateTransaction
+
+alertHueSaturation()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::ExtendedColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+
+alertTemperature()
+: hueplusplus::ColorTemperatureStrategy
+, hueplusplus::ExtendedColorTemperatureStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorTemperatureStrategy
+
+alertXY()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::ExtendedColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+
+all()
+: hueplusplus::time::Weekdays
+
+APICache()
+: hueplusplus::APICache
+
+asAbsolute()
+: hueplusplus::time::TimePattern
+
+asInterval()
+: hueplusplus::time::TimePattern
+
+asRecurring()
+: hueplusplus::time::TimePattern
+
+asSensorType()
+: hueplusplus::Sensor
+
+asTimer()
+: hueplusplus::time::TimePattern
+
+
+
+
+
+
+
diff --git b/functions_0x7e.html a/functions_0x7e.html
new file mode 100644
index 0000000..d4a99ae
--- /dev/null
+++ a/functions_0x7e.html
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- ~ -
+
+
+
+
+
diff --git b/functions_b.html a/functions_b.html
new file mode 100644
index 0000000..55a50d9
--- /dev/null
+++ a/functions_b.html
@@ -0,0 +1,108 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- b -
+
+
+
+
+
diff --git b/functions_c.html a/functions_c.html
new file mode 100644
index 0000000..be386a2
--- /dev/null
+++ a/functions_c.html
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- c -
+
+
+
+
+
diff --git b/functions_d.html a/functions_d.html
new file mode 100644
index 0000000..5aef204
--- /dev/null
+++ a/functions_d.html
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- d -
+
+
+
+
+
diff --git b/functions_e.html a/functions_e.html
new file mode 100644
index 0000000..f0708ad
--- /dev/null
+++ a/functions_e.html
@@ -0,0 +1,99 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- e -
+
+
+
+
+
diff --git b/functions_enum.html a/functions_enum.html
new file mode 100644
index 0000000..2678730
--- /dev/null
+++ a/functions_enum.html
@@ -0,0 +1,82 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Enumerations
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_f.html a/functions_f.html
new file mode 100644
index 0000000..d648a03
--- /dev/null
+++ a/functions_f.html
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- f -
+
+
+
+
+
diff --git b/functions_func.html a/functions_func.html
new file mode 100644
index 0000000..c90fa02
--- /dev/null
+++ a/functions_func.html
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- a -
+AbsoluteTime()
+: hueplusplus::time::AbsoluteTime
+
+AbsoluteVariedTime()
+: hueplusplus::time::AbsoluteVariedTime
+
+Action()
+: hueplusplus::Action
+
+addClientKey()
+: hueplusplus::BridgeFinder
+
+addUsername()
+: hueplusplus::BridgeFinder
+
+alert()
+: hueplusplus::Light
+, hueplusplus::StateTransaction
+
+alertHueSaturation()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::ExtendedColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+
+alertTemperature()
+: hueplusplus::ColorTemperatureStrategy
+, hueplusplus::ExtendedColorTemperatureStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorTemperatureStrategy
+
+alertXY()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::ExtendedColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+
+all()
+: hueplusplus::time::Weekdays
+
+APICache()
+: hueplusplus::APICache
+
+asAbsolute()
+: hueplusplus::time::TimePattern
+
+asInterval()
+: hueplusplus::time::TimePattern
+
+asRecurring()
+: hueplusplus::time::TimePattern
+
+asSensorType()
+: hueplusplus::Sensor
+
+asTimer()
+: hueplusplus::time::TimePattern
+
+
+
+
+
+
+
diff --git b/functions_func_0x7e.html a/functions_func_0x7e.html
new file mode 100644
index 0000000..8e924e7
--- /dev/null
+++ a/functions_func_0x7e.html
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_b.html a/functions_func_b.html
new file mode 100644
index 0000000..9847b98
--- /dev/null
+++ a/functions_func_b.html
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_c.html a/functions_func_c.html
new file mode 100644
index 0000000..0ae52d8
--- /dev/null
+++ a/functions_func_c.html
@@ -0,0 +1,152 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_d.html a/functions_func_d.html
new file mode 100644
index 0000000..6f0ac4d
--- /dev/null
+++ a/functions_func_d.html
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_e.html a/functions_func_e.html
new file mode 100644
index 0000000..ecbef12
--- /dev/null
+++ a/functions_func_e.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_f.html a/functions_func_f.html
new file mode 100644
index 0000000..b1a5368
--- /dev/null
+++ a/functions_func_f.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_g.html a/functions_func_g.html
new file mode 100644
index 0000000..5ac5fe0
--- /dev/null
+++ a/functions_func_g.html
@@ -0,0 +1,499 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- g -
+get()
+: hueplusplus::GroupResourceList< Resource, CreateType >
+, hueplusplus::ResourceList< Resource, IdT >
+
+getActionBrightness()
+: hueplusplus::Group
+
+getActionColorMode()
+: hueplusplus::Group
+
+getActionColorTemperature()
+: hueplusplus::Group
+
+getActionColorXY()
+: hueplusplus::Group
+
+getActionHueSaturation()
+: hueplusplus::Group
+
+getActionOn()
+: hueplusplus::Group
+
+getActions()
+: hueplusplus::Rule
+
+getAddress()
+: hueplusplus::Action
+, hueplusplus::Condition
+
+GetAddress()
+: hueplusplus::HueAPIResponseException
+
+getAll()
+: hueplusplus::ResourceList< Resource, IdT >
+
+getAllByType()
+: hueplusplus::SensorList
+
+getAllOn()
+: hueplusplus::Group
+
+getAllUsernames()
+: hueplusplus::BridgeFinder
+
+getAnyOn()
+: hueplusplus::Group
+
+getAppdata()
+: hueplusplus::Scene
+
+getAppdataVersion()
+: hueplusplus::Scene
+
+getAsType()
+: hueplusplus::SensorList
+
+getAutodelete()
+: hueplusplus::Schedule
+
+getBaseTime()
+: hueplusplus::time::AbsoluteTime
+
+getBatteryState()
+: hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+, hueplusplus::sensors::DaylightSensor
+, hueplusplus::sensors::ZLLLightLevel
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+getBody()
+: hueplusplus::Action
+
+getBridge()
+: hueplusplus::BridgeFinder
+
+getBridgeIP()
+: hueplusplus::Bridge
+
+getBridgePort()
+: hueplusplus::Bridge
+
+getBridgeRequestDelay()
+: hueplusplus::Config
+
+getBrightness()
+: hueplusplus::BrightnessStrategy
+, hueplusplus::Light
+, hueplusplus::LightState
+, hueplusplus::SimpleBrightnessStrategy
+
+getButtonEvent()
+: hueplusplus::sensors::CLIPSwitch
+, hueplusplus::sensors::ZGPSwitch
+, hueplusplus::sensors::ZLLSwitch
+
+getClientKey()
+: hueplusplus::Bridge
+
+getColorGamut()
+: hueplusplus::Light
+
+getColorHueSaturation()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+
+getColorloop()
+: hueplusplus::LightState
+
+getColorTemperature()
+: hueplusplus::ColorTemperatureStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorTemperatureStrategy
+
+getColorType()
+: hueplusplus::Light
+
+getColorXY()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+
+getCommand()
+: hueplusplus::Schedule
+
+getCommandAPI()
+: hueplusplus::APICache
+
+getConditions()
+: hueplusplus::Rule
+
+getConfig()
+: hueplusplus::Sensor
+
+getCreated()
+: hueplusplus::Rule
+, hueplusplus::Schedule
+
+getCt()
+: hueplusplus::LightState
+
+getDarkThreshold()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::ZLLLightLevel
+
+getDaytime()
+: hueplusplus::time::RecurringTime
+
+GetDescription()
+: hueplusplus::HueAPIResponseException
+
+getDescription()
+: hueplusplus::Schedule
+
+getDevices()
+: hueplusplus::UPnP
+
+getEndTime()
+: hueplusplus::time::TimeInterval
+
+GetErrorNumber()
+: hueplusplus::HueAPIResponseException
+
+getExpiryTime()
+: hueplusplus::time::Timer
+
+GetFile()
+: hueplusplus::HueException
+
+getFlag()
+: hueplusplus::sensors::CLIPGenericFlag
+
+getGroupId()
+: hueplusplus::Scene
+
+getHueSat()
+: hueplusplus::LightState
+
+getHumidity()
+: hueplusplus::sensors::CLIPHumidity
+
+getId()
+: hueplusplus::BaseDevice
+, hueplusplus::Group
+, hueplusplus::Rule
+, hueplusplus::Scene
+, hueplusplus::Schedule
+
+GETJson()
+: hueplusplus::BaseHttpHandler
+, hueplusplus::IHttpHandler
+
+getLastAlert()
+: hueplusplus::Sensor
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+getLastScanTime()
+: hueplusplus::NewDeviceList
+
+getLastTriggered()
+: hueplusplus::Rule
+
+getLastUpdated()
+: hueplusplus::Scene
+, hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+, hueplusplus::sensors::DaylightSensor
+, hueplusplus::sensors::ZLLLightLevel
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+getLEDIndication()
+: hueplusplus::Sensor
+
+getLightIds()
+: hueplusplus::Group
+, hueplusplus::Scene
+
+getLightLevel()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::ZLLLightLevel
+
+getLightStates()
+: hueplusplus::Scene
+
+getLinkButton()
+: hueplusplus::BridgeConfig
+
+getLuminaireUId()
+: hueplusplus::Light
+
+getMACAddress()
+: hueplusplus::BridgeConfig
+
+getManufacturername()
+: hueplusplus::BaseDevice
+
+getMaxSensitivity()
+: hueplusplus::sensors::ZLLPresence
+
+getMethod()
+: hueplusplus::Action
+
+getModelId()
+: hueplusplus::BaseDevice
+, hueplusplus::Group
+
+getName()
+: hueplusplus::BaseDevice
+, hueplusplus::Group
+, hueplusplus::Rule
+, hueplusplus::Scene
+, hueplusplus::Schedule
+
+getNewDevices()
+: hueplusplus::NewDeviceList
+, hueplusplus::SearchableResourceList< Resource >
+
+getNumberOfExecutions()
+: hueplusplus::time::Timer
+
+getOperator()
+: hueplusplus::Condition
+
+getOwner()
+: hueplusplus::Rule
+, hueplusplus::Scene
+
+getPendingConfig()
+: hueplusplus::Sensor
+
+getPicture()
+: hueplusplus::Scene
+
+getPostAlertDelay()
+: hueplusplus::Config
+
+getPreAlertDelay()
+: hueplusplus::Config
+
+getPresence()
+: hueplusplus::sensors::CLIPPresence
+, hueplusplus::sensors::ZLLPresence
+
+getProductname()
+: hueplusplus::BaseDevice
+
+getRandomVariation()
+: hueplusplus::time::AbsoluteVariedTime
+, hueplusplus::time::RecurringTime
+, hueplusplus::time::Timer
+
+getRecycle()
+: hueplusplus::Scene
+
+getRefreshDuration()
+: hueplusplus::APICache
+
+getRequest()
+: hueplusplus::CreateGroup
+, hueplusplus::CreateRule
+, hueplusplus::CreateScene
+, hueplusplus::CreateSchedule
+, hueplusplus::CreateSensor
+
+GETRequest()
+: hueplusplus::HueCommandAPI
+
+getRequestPath()
+: hueplusplus::APICache
+
+getRequestUsernameAttemptInterval()
+: hueplusplus::Config
+
+getRequestUsernameTimeout()
+: hueplusplus::Config
+
+getRoomType()
+: hueplusplus::Group
+
+getSensitivity()
+: hueplusplus::sensors::ZLLPresence
+
+getStartTime()
+: hueplusplus::Schedule
+, hueplusplus::time::TimeInterval
+
+getState()
+: hueplusplus::Sensor
+
+getStateAddress()
+: hueplusplus::Sensor
+
+getStatus()
+: hueplusplus::sensors::CLIPGenericStatus
+
+GETString()
+: hueplusplus::BaseHttpHandler
+, hueplusplus::IHttpHandler
+
+getSunriseOffset()
+: hueplusplus::sensors::DaylightSensor
+
+getSunsetOffset()
+: hueplusplus::sensors::DaylightSensor
+
+getSwVersion()
+: hueplusplus::BaseDevice
+
+getTemperature()
+: hueplusplus::sensors::CLIPTemperature
+, hueplusplus::sensors::ZLLTemperature
+
+getThresholdOffset()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::ZLLLightLevel
+
+getTime()
+: hueplusplus::Schedule
+
+getTimesTriggered()
+: hueplusplus::Rule
+
+getTimezone()
+: hueplusplus::BridgeConfig
+
+getTransitionTime()
+: hueplusplus::LightState
+
+getType()
+: hueplusplus::BaseDevice
+, hueplusplus::Group
+, hueplusplus::Scene
+, hueplusplus::time::TimePattern
+
+getUId()
+: hueplusplus::BaseDevice
+
+getUniqueId()
+: hueplusplus::Group
+
+getUPnPTimeout()
+: hueplusplus::Config
+
+getURL()
+: hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+
+getUsername()
+: hueplusplus::Bridge
+
+getUTCTime()
+: hueplusplus::BridgeConfig
+
+getValue()
+: hueplusplus::APICache
+, hueplusplus::Condition
+
+getVersion()
+: hueplusplus::Scene
+
+getWeekdays()
+: hueplusplus::time::RecurringTime
+, hueplusplus::time::TimeInterval
+
+getWhitelistedUsers()
+: hueplusplus::BridgeConfig
+
+getXY()
+: hueplusplus::LightState
+
+Group()
+: hueplusplus::Group
+
+GroupResourceList()
+: hueplusplus::GroupResourceList< Resource, CreateType >
+
+groups()
+: hueplusplus::Bridge
+
+
+
+
+
+
+
diff --git b/functions_func_h.html a/functions_func_h.html
new file mode 100644
index 0000000..efcff01
--- /dev/null
+++ a/functions_func_h.html
@@ -0,0 +1,138 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_i.html a/functions_func_i.html
new file mode 100644
index 0000000..6440079
--- /dev/null
+++ a/functions_func_i.html
@@ -0,0 +1,173 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- i -
+incrementBrightness()
+: hueplusplus::StateTransaction
+
+incrementColorTemperature()
+: hueplusplus::StateTransaction
+
+incrementColorXY()
+: hueplusplus::StateTransaction
+
+incrementHue()
+: hueplusplus::StateTransaction
+
+incrementSaturation()
+: hueplusplus::StateTransaction
+
+instance()
+: hueplusplus::Config
+
+isAll()
+: hueplusplus::time::Weekdays
+
+isCertified()
+: hueplusplus::Sensor
+
+isConfigured()
+: hueplusplus::sensors::DaylightSensor
+
+isDark()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::ZLLLightLevel
+
+isDaylight()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::DaylightSensor
+, hueplusplus::sensors::ZLLLightLevel
+
+isEnabled()
+: hueplusplus::Rule
+, hueplusplus::Schedule
+
+isFriday()
+: hueplusplus::time::Weekdays
+
+isLocked()
+: hueplusplus::Scene
+
+isMonday()
+: hueplusplus::time::Weekdays
+
+isNone()
+: hueplusplus::time::Weekdays
+
+isOn()
+: hueplusplus::Light
+, hueplusplus::LightState
+, hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+, hueplusplus::sensors::DaylightSensor
+, hueplusplus::sensors::ZGPSwitch
+, hueplusplus::sensors::ZLLLightLevel
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+isOpen()
+: hueplusplus::sensors::CLIPOpenClose
+
+isPrimary()
+: hueplusplus::Sensor
+
+isReachable()
+: hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+, hueplusplus::sensors::ZLLLightLevel
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+isRecurring()
+: hueplusplus::time::Timer
+
+isSaturday()
+: hueplusplus::time::Weekdays
+
+isScanActive()
+: hueplusplus::NewDeviceList
+
+isSunday()
+: hueplusplus::time::Weekdays
+
+isThursday()
+: hueplusplus::time::Weekdays
+
+isTuesday()
+: hueplusplus::time::Weekdays
+
+isWednesday()
+: hueplusplus::time::Weekdays
+
+
+
+
+
+
+
diff --git b/functions_func_l.html a/functions_func_l.html
new file mode 100644
index 0000000..e640cc6
--- /dev/null
+++ a/functions_func_l.html
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_m.html a/functions_func_m.html
new file mode 100644
index 0000000..36504e9
--- /dev/null
+++ a/functions_func_m.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_n.html a/functions_func_n.html
new file mode 100644
index 0000000..8c26584
--- /dev/null
+++ a/functions_func_n.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_o.html a/functions_func_o.html
new file mode 100644
index 0000000..6c94243
--- /dev/null
+++ a/functions_func_o.html
@@ -0,0 +1,109 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- o -
+off()
+: hueplusplus::Light
+
+on()
+: hueplusplus::Light
+
+operator!=()
+: hueplusplus::HueSaturation
+, hueplusplus::LightState
+, hueplusplus::RGB
+, hueplusplus::time::Weekdays
+, hueplusplus::XY
+, hueplusplus::XYBrightness
+
+operator=()
+: hueplusplus::BridgeConfig
+, hueplusplus::CreateableResourceList< BaseResourceList, CreateType >
+, hueplusplus::GroupResourceList< Resource, CreateType >
+, hueplusplus::HueCommandAPI
+, hueplusplus::ResourceList< Resource, IdT >
+, hueplusplus::SearchableResourceList< Resource >
+, hueplusplus::SensorList
+, hueplusplus::time::TimePattern
+
+operator==()
+: hueplusplus::HueSaturation
+, hueplusplus::LightState
+, hueplusplus::RGB
+, hueplusplus::time::Weekdays
+, hueplusplus::XY
+, hueplusplus::XYBrightness
+
+operator|()
+: hueplusplus::time::Weekdays
+
+
+
+
+
+
+
diff --git b/functions_func_p.html a/functions_func_p.html
new file mode 100644
index 0000000..0806412
--- /dev/null
+++ a/functions_func_p.html
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_r.html a/functions_func_r.html
new file mode 100644
index 0000000..a1197e0
--- /dev/null
+++ a/functions_func_r.html
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- r -
+recall()
+: hueplusplus::Scene
+
+RecurringTime()
+: hueplusplus::time::RecurringTime
+
+refresh()
+: hueplusplus::APICache
+, hueplusplus::BaseDevice
+, hueplusplus::Bridge
+, hueplusplus::BridgeConfig
+, hueplusplus::Group
+, hueplusplus::ResourceList< Resource, IdT >
+, hueplusplus::Rule
+, hueplusplus::Scene
+, hueplusplus::Schedule
+
+remove()
+: hueplusplus::ResourceList< Resource, IdT >
+
+removeUser()
+: hueplusplus::BridgeConfig
+
+requestUsername()
+: hueplusplus::Bridge
+
+ResourceList()
+: hueplusplus::ResourceList< Resource, IdT >
+
+Room()
+: hueplusplus::CreateGroup
+
+Rule()
+: hueplusplus::Rule
+
+rules()
+: hueplusplus::Bridge
+
+
+
+
+
+
+
diff --git b/functions_func_s.html a/functions_func_s.html
new file mode 100644
index 0000000..fd621d8
--- /dev/null
+++ a/functions_func_s.html
@@ -0,0 +1,402 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- s -
+saturday()
+: hueplusplus::time::Weekdays
+
+Scene()
+: hueplusplus::Scene
+
+scenes()
+: hueplusplus::Bridge
+
+Schedule()
+: hueplusplus::Schedule
+
+schedules()
+: hueplusplus::Bridge
+
+search()
+: hueplusplus::SearchableResourceList< Resource >
+
+SearchableResourceList()
+: hueplusplus::SearchableResourceList< Resource >
+
+send()
+: hueplusplus::IHttpHandler
+, hueplusplus::LinHttpHandler
+, hueplusplus::WinHttpHandler
+
+sendAlert()
+: hueplusplus::Sensor
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+sendGetHTTPBody()
+: hueplusplus::BaseHttpHandler
+, hueplusplus::IHttpHandler
+
+sendHTTPRequest()
+: hueplusplus::BaseHttpHandler
+, hueplusplus::IHttpHandler
+
+sendMulticast()
+: hueplusplus::IHttpHandler
+, hueplusplus::LinHttpHandler
+, hueplusplus::WinHttpHandler
+
+sendPutRequest()
+: hueplusplus::BaseDevice
+, hueplusplus::Group
+
+Sensor()
+: hueplusplus::Sensor
+
+SensorList()
+: hueplusplus::SensorList
+
+sensors()
+: hueplusplus::Bridge
+
+setActions()
+: hueplusplus::Rule
+
+setAppdata()
+: hueplusplus::CreateScene
+, hueplusplus::Scene
+
+setAutodelete()
+: hueplusplus::CreateSchedule
+, hueplusplus::Schedule
+
+setBatteryState()
+: hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+, hueplusplus::sensors::DaylightSensor
+
+setBrightness()
+: hueplusplus::BrightnessStrategy
+, hueplusplus::Group
+, hueplusplus::Light
+, hueplusplus::LightStateBuilder
+, hueplusplus::SimpleBrightnessStrategy
+, hueplusplus::StateTransaction
+
+setBrightnessStrategy()
+: hueplusplus::Light
+
+setButtonEvent()
+: hueplusplus::sensors::CLIPSwitch
+
+setColor()
+: hueplusplus::Group
+, hueplusplus::StateTransaction
+
+setColorHue()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+, hueplusplus::StateTransaction
+
+setColorHueSaturation()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+
+setColorHueStrategy()
+: hueplusplus::Light
+
+setColorLoop()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Group
+, hueplusplus::Light
+
+setColorloop()
+: hueplusplus::LightStateBuilder
+
+setColorLoop()
+: hueplusplus::SimpleColorHueStrategy
+, hueplusplus::StateTransaction
+
+setColorRGB()
+: hueplusplus::EntertainmentMode
+, hueplusplus::Light
+
+setColorSaturation()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+, hueplusplus::StateTransaction
+
+setColorTemperature()
+: hueplusplus::ColorTemperatureStrategy
+, hueplusplus::Group
+, hueplusplus::Light
+, hueplusplus::SimpleColorTemperatureStrategy
+, hueplusplus::StateTransaction
+
+setColorTemperatureStrategy()
+: hueplusplus::Light
+
+setColorXY()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+
+setCommand()
+: hueplusplus::CreateSchedule
+, hueplusplus::Schedule
+
+setConditions()
+: hueplusplus::Rule
+
+setConfig()
+: hueplusplus::CreateSensor
+
+setConfigAttribute()
+: hueplusplus::Sensor
+
+setCoordinates()
+: hueplusplus::sensors::DaylightSensor
+
+setCt()
+: hueplusplus::LightStateBuilder
+
+setDarkThreshold()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::ZLLLightLevel
+
+setDescription()
+: hueplusplus::CreateSchedule
+, hueplusplus::Schedule
+
+setEnabled()
+: hueplusplus::Rule
+, hueplusplus::Schedule
+
+setFlag()
+: hueplusplus::sensors::CLIPGenericFlag
+
+setGroupId()
+: hueplusplus::CreateScene
+
+setHueSat()
+: hueplusplus::LightStateBuilder
+
+setHumidity()
+: hueplusplus::sensors::CLIPHumidity
+
+setIP()
+: hueplusplus::Bridge
+
+setLEDIndication()
+: hueplusplus::Sensor
+
+setLightIds()
+: hueplusplus::CreateScene
+, hueplusplus::Scene
+
+setLightLevel()
+: hueplusplus::sensors::CLIPLightLevel
+
+setLights()
+: hueplusplus::Group
+
+setLightStates()
+: hueplusplus::CreateScene
+, hueplusplus::Scene
+
+setName()
+: hueplusplus::BaseDevice
+, hueplusplus::CreateRule
+, hueplusplus::CreateScene
+, hueplusplus::CreateSchedule
+, hueplusplus::Group
+, hueplusplus::Rule
+, hueplusplus::Scene
+, hueplusplus::Schedule
+
+setOn()
+: hueplusplus::Group
+, hueplusplus::LightStateBuilder
+, hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+, hueplusplus::sensors::DaylightSensor
+, hueplusplus::sensors::ZGPSwitch
+, hueplusplus::sensors::ZLLLightLevel
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+, hueplusplus::StateTransaction
+
+setOpen()
+: hueplusplus::sensors::CLIPOpenClose
+
+setPort()
+: hueplusplus::Bridge
+
+setPresence()
+: hueplusplus::sensors::CLIPPresence
+
+setRecycle()
+: hueplusplus::CreateScene
+, hueplusplus::CreateSchedule
+, hueplusplus::CreateSensor
+
+setRefreshDuration()
+: hueplusplus::APICache
+, hueplusplus::BaseDevice
+, hueplusplus::Bridge
+, hueplusplus::BridgeConfig
+, hueplusplus::Group
+, hueplusplus::ResourceList< Resource, IdT >
+, hueplusplus::Rule
+, hueplusplus::Scene
+, hueplusplus::Schedule
+
+setRoomType()
+: hueplusplus::Group
+
+setScene()
+: hueplusplus::Group
+
+setSensitivity()
+: hueplusplus::sensors::ZLLPresence
+
+setState()
+: hueplusplus::CreateSensor
+
+setStateAttribute()
+: hueplusplus::Sensor
+
+setStatus()
+: hueplusplus::CreateRule
+, hueplusplus::CreateSchedule
+, hueplusplus::sensors::CLIPGenericStatus
+
+setSunriseOffset()
+: hueplusplus::sensors::DaylightSensor
+
+setSunsetOffset()
+: hueplusplus::sensors::DaylightSensor
+
+setTemperature()
+: hueplusplus::sensors::CLIPTemperature
+
+setThresholdOffset()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::ZLLLightLevel
+
+setTime()
+: hueplusplus::CreateSchedule
+, hueplusplus::Schedule
+
+setTransition()
+: hueplusplus::StateTransaction
+
+setTransitionTime()
+: hueplusplus::LightStateBuilder
+
+setURL()
+: hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+
+setUserTest()
+: hueplusplus::Sensor
+
+setXY()
+: hueplusplus::LightStateBuilder
+
+SocketCloser()
+: hueplusplus::SocketCloser
+
+startStreaming()
+: hueplusplus::Bridge
+
+StateTransaction()
+: hueplusplus::StateTransaction
+
+stopAlert()
+: hueplusplus::StateTransaction
+
+stopStreaming()
+: hueplusplus::Bridge
+
+storeCurrentLightState()
+: hueplusplus::Scene
+
+sunday()
+: hueplusplus::time::Weekdays
+
+
+
+
+
+
+
diff --git b/functions_func_t.html a/functions_func_t.html
new file mode 100644
index 0000000..1f7bee1
--- /dev/null
+++ a/functions_func_t.html
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_u.html a/functions_func_u.html
new file mode 100644
index 0000000..c2abd56
--- /dev/null
+++ a/functions_func_u.html
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_w.html a/functions_func_w.html
new file mode 100644
index 0000000..e80b56b
--- /dev/null
+++ a/functions_func_w.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_func_z.html a/functions_func_z.html
new file mode 100644
index 0000000..973febf
--- /dev/null
+++ a/functions_func_z.html
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_g.html a/functions_g.html
new file mode 100644
index 0000000..08caf94
--- /dev/null
+++ a/functions_g.html
@@ -0,0 +1,511 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- g -
+g
+: hueplusplus::RGB
+
+get()
+: hueplusplus::GroupResourceList< Resource, CreateType >
+, hueplusplus::ResourceList< Resource, IdT >
+
+getActionBrightness()
+: hueplusplus::Group
+
+getActionColorMode()
+: hueplusplus::Group
+
+getActionColorTemperature()
+: hueplusplus::Group
+
+getActionColorXY()
+: hueplusplus::Group
+
+getActionHueSaturation()
+: hueplusplus::Group
+
+getActionOn()
+: hueplusplus::Group
+
+getActions()
+: hueplusplus::Rule
+
+getAddress()
+: hueplusplus::Action
+, hueplusplus::Condition
+
+GetAddress()
+: hueplusplus::HueAPIResponseException
+
+getAll()
+: hueplusplus::ResourceList< Resource, IdT >
+
+getAllByType()
+: hueplusplus::SensorList
+
+getAllOn()
+: hueplusplus::Group
+
+getAllUsernames()
+: hueplusplus::BridgeFinder
+
+getAnyOn()
+: hueplusplus::Group
+
+getAppdata()
+: hueplusplus::Scene
+
+getAppdataVersion()
+: hueplusplus::Scene
+
+getAsType()
+: hueplusplus::SensorList
+
+getAutodelete()
+: hueplusplus::Schedule
+
+getBaseTime()
+: hueplusplus::time::AbsoluteTime
+
+getBatteryState()
+: hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+, hueplusplus::sensors::DaylightSensor
+, hueplusplus::sensors::ZLLLightLevel
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+getBody()
+: hueplusplus::Action
+
+getBridge()
+: hueplusplus::BridgeFinder
+
+getBridgeIP()
+: hueplusplus::Bridge
+
+getBridgePort()
+: hueplusplus::Bridge
+
+getBridgeRequestDelay()
+: hueplusplus::Config
+
+getBrightness()
+: hueplusplus::BrightnessStrategy
+, hueplusplus::Light
+, hueplusplus::LightState
+, hueplusplus::SimpleBrightnessStrategy
+
+getButtonEvent()
+: hueplusplus::sensors::CLIPSwitch
+, hueplusplus::sensors::ZGPSwitch
+, hueplusplus::sensors::ZLLSwitch
+
+getClientKey()
+: hueplusplus::Bridge
+
+getColorGamut()
+: hueplusplus::Light
+
+getColorHueSaturation()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+
+getColorloop()
+: hueplusplus::LightState
+
+getColorTemperature()
+: hueplusplus::ColorTemperatureStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorTemperatureStrategy
+
+getColorType()
+: hueplusplus::Light
+
+getColorXY()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+
+getCommand()
+: hueplusplus::Schedule
+
+getCommandAPI()
+: hueplusplus::APICache
+
+getConditions()
+: hueplusplus::Rule
+
+getConfig()
+: hueplusplus::Sensor
+
+getCreated()
+: hueplusplus::Rule
+, hueplusplus::Schedule
+
+getCt()
+: hueplusplus::LightState
+
+getDarkThreshold()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::ZLLLightLevel
+
+getDaytime()
+: hueplusplus::time::RecurringTime
+
+GetDescription()
+: hueplusplus::HueAPIResponseException
+
+getDescription()
+: hueplusplus::Schedule
+
+getDevices()
+: hueplusplus::UPnP
+
+getEndTime()
+: hueplusplus::time::TimeInterval
+
+GetErrorNumber()
+: hueplusplus::HueAPIResponseException
+
+getExpiryTime()
+: hueplusplus::time::Timer
+
+GetFile()
+: hueplusplus::HueException
+
+getFlag()
+: hueplusplus::sensors::CLIPGenericFlag
+
+getGroupId()
+: hueplusplus::Scene
+
+getHueSat()
+: hueplusplus::LightState
+
+getHumidity()
+: hueplusplus::sensors::CLIPHumidity
+
+getId()
+: hueplusplus::BaseDevice
+, hueplusplus::Group
+, hueplusplus::Rule
+, hueplusplus::Scene
+, hueplusplus::Schedule
+
+GETJson()
+: hueplusplus::BaseHttpHandler
+, hueplusplus::IHttpHandler
+
+getLastAlert()
+: hueplusplus::Sensor
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+getLastScanTime()
+: hueplusplus::NewDeviceList
+
+getLastTriggered()
+: hueplusplus::Rule
+
+getLastUpdated()
+: hueplusplus::Scene
+, hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+, hueplusplus::sensors::DaylightSensor
+, hueplusplus::sensors::ZLLLightLevel
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+getLEDIndication()
+: hueplusplus::Sensor
+
+getLightIds()
+: hueplusplus::Group
+, hueplusplus::Scene
+
+getLightLevel()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::ZLLLightLevel
+
+getLightStates()
+: hueplusplus::Scene
+
+getLinkButton()
+: hueplusplus::BridgeConfig
+
+getLuminaireUId()
+: hueplusplus::Light
+
+getMACAddress()
+: hueplusplus::BridgeConfig
+
+getManufacturername()
+: hueplusplus::BaseDevice
+
+getMaxSensitivity()
+: hueplusplus::sensors::ZLLPresence
+
+getMethod()
+: hueplusplus::Action
+
+getModelId()
+: hueplusplus::BaseDevice
+, hueplusplus::Group
+
+getName()
+: hueplusplus::BaseDevice
+, hueplusplus::Group
+, hueplusplus::Rule
+, hueplusplus::Scene
+, hueplusplus::Schedule
+
+getNewDevices()
+: hueplusplus::NewDeviceList
+, hueplusplus::SearchableResourceList< Resource >
+
+getNumberOfExecutions()
+: hueplusplus::time::Timer
+
+getOperator()
+: hueplusplus::Condition
+
+getOwner()
+: hueplusplus::Rule
+, hueplusplus::Scene
+
+getPendingConfig()
+: hueplusplus::Sensor
+
+getPicture()
+: hueplusplus::Scene
+
+getPostAlertDelay()
+: hueplusplus::Config
+
+getPreAlertDelay()
+: hueplusplus::Config
+
+getPresence()
+: hueplusplus::sensors::CLIPPresence
+, hueplusplus::sensors::ZLLPresence
+
+getProductname()
+: hueplusplus::BaseDevice
+
+getRandomVariation()
+: hueplusplus::time::AbsoluteVariedTime
+, hueplusplus::time::RecurringTime
+, hueplusplus::time::Timer
+
+getRecycle()
+: hueplusplus::Scene
+
+getRefreshDuration()
+: hueplusplus::APICache
+
+getRequest()
+: hueplusplus::CreateGroup
+, hueplusplus::CreateRule
+, hueplusplus::CreateScene
+, hueplusplus::CreateSchedule
+, hueplusplus::CreateSensor
+
+GETRequest()
+: hueplusplus::HueCommandAPI
+
+getRequestPath()
+: hueplusplus::APICache
+
+getRequestUsernameAttemptInterval()
+: hueplusplus::Config
+
+getRequestUsernameTimeout()
+: hueplusplus::Config
+
+getRoomType()
+: hueplusplus::Group
+
+getSensitivity()
+: hueplusplus::sensors::ZLLPresence
+
+getStartTime()
+: hueplusplus::Schedule
+, hueplusplus::time::TimeInterval
+
+getState()
+: hueplusplus::Sensor
+
+getStateAddress()
+: hueplusplus::Sensor
+
+getStatus()
+: hueplusplus::sensors::CLIPGenericStatus
+
+GETString()
+: hueplusplus::BaseHttpHandler
+, hueplusplus::IHttpHandler
+
+getSunriseOffset()
+: hueplusplus::sensors::DaylightSensor
+
+getSunsetOffset()
+: hueplusplus::sensors::DaylightSensor
+
+getSwVersion()
+: hueplusplus::BaseDevice
+
+getTemperature()
+: hueplusplus::sensors::CLIPTemperature
+, hueplusplus::sensors::ZLLTemperature
+
+getThresholdOffset()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::ZLLLightLevel
+
+getTime()
+: hueplusplus::Schedule
+
+getTimesTriggered()
+: hueplusplus::Rule
+
+getTimezone()
+: hueplusplus::BridgeConfig
+
+getTransitionTime()
+: hueplusplus::LightState
+
+getType()
+: hueplusplus::BaseDevice
+, hueplusplus::Group
+, hueplusplus::Scene
+, hueplusplus::time::TimePattern
+
+getUId()
+: hueplusplus::BaseDevice
+
+getUniqueId()
+: hueplusplus::Group
+
+getUPnPTimeout()
+: hueplusplus::Config
+
+getURL()
+: hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+
+getUsername()
+: hueplusplus::Bridge
+
+getUTCTime()
+: hueplusplus::BridgeConfig
+
+getValue()
+: hueplusplus::APICache
+, hueplusplus::Condition
+
+getVersion()
+: hueplusplus::Scene
+
+getWeekdays()
+: hueplusplus::time::RecurringTime
+, hueplusplus::time::TimeInterval
+
+getWhitelistedUsers()
+: hueplusplus::BridgeConfig
+
+getXY()
+: hueplusplus::LightState
+
+greenCorner
+: hueplusplus::ColorGamut
+
+group
+: hueplusplus::EntertainmentMode
+
+Group()
+: hueplusplus::Group
+
+GroupList
+: hueplusplus::Bridge
+
+GroupResourceList()
+: hueplusplus::GroupResourceList< Resource, CreateType >
+
+groups()
+: hueplusplus::Bridge
+
+
+
+
+
+
+
diff --git b/functions_h.html a/functions_h.html
new file mode 100644
index 0000000..20e9ca3
--- /dev/null
+++ a/functions_h.html
@@ -0,0 +1,141 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- h -
+
+
+
+
+
diff --git b/functions_i.html a/functions_i.html
new file mode 100644
index 0000000..26dd43c
--- /dev/null
+++ a/functions_i.html
@@ -0,0 +1,189 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- i -
+id
+: hueplusplus::BaseDevice
+, hueplusplus::Group
+
+IdType
+: hueplusplus::ResourceList< Resource, IdT >
+
+incrementBrightness()
+: hueplusplus::StateTransaction
+
+incrementColorTemperature()
+: hueplusplus::StateTransaction
+
+incrementColorXY()
+: hueplusplus::StateTransaction
+
+incrementHue()
+: hueplusplus::StateTransaction
+
+incrementSaturation()
+: hueplusplus::StateTransaction
+
+infiniteExecutions
+: hueplusplus::time::Timer
+
+instance()
+: hueplusplus::Config
+
+interval
+: hueplusplus::time::TimePattern
+
+ip
+: hueplusplus::BridgeFinder::BridgeIdentification
+
+isAll()
+: hueplusplus::time::Weekdays
+
+isCertified()
+: hueplusplus::Sensor
+
+isConfigured()
+: hueplusplus::sensors::DaylightSensor
+
+isDark()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::ZLLLightLevel
+
+isDaylight()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::DaylightSensor
+, hueplusplus::sensors::ZLLLightLevel
+
+isEnabled()
+: hueplusplus::Rule
+, hueplusplus::Schedule
+
+isFriday()
+: hueplusplus::time::Weekdays
+
+isLocked()
+: hueplusplus::Scene
+
+isMonday()
+: hueplusplus::time::Weekdays
+
+isNone()
+: hueplusplus::time::Weekdays
+
+isOn()
+: hueplusplus::Light
+, hueplusplus::LightState
+, hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+, hueplusplus::sensors::DaylightSensor
+, hueplusplus::sensors::ZGPSwitch
+, hueplusplus::sensors::ZLLLightLevel
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+isOpen()
+: hueplusplus::sensors::CLIPOpenClose
+
+isPrimary()
+: hueplusplus::Sensor
+
+isReachable()
+: hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+, hueplusplus::sensors::ZLLLightLevel
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+isRecurring()
+: hueplusplus::time::Timer
+
+isSaturday()
+: hueplusplus::time::Weekdays
+
+isScanActive()
+: hueplusplus::NewDeviceList
+
+isSunday()
+: hueplusplus::time::Weekdays
+
+isThursday()
+: hueplusplus::time::Weekdays
+
+isTuesday()
+: hueplusplus::time::Weekdays
+
+isWednesday()
+: hueplusplus::time::Weekdays
+
+
+
+
+
+
+
diff --git b/functions_k.html a/functions_k.html
new file mode 100644
index 0000000..9353a1a
--- /dev/null
+++ a/functions_k.html
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- k -
+
+
+
+
+
diff --git b/functions_l.html a/functions_l.html
new file mode 100644
index 0000000..30d5c15
--- /dev/null
+++ a/functions_l.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- l -
+
+
+
+
+
diff --git b/functions_m.html a/functions_m.html
new file mode 100644
index 0000000..74ba726
--- /dev/null
+++ a/functions_m.html
@@ -0,0 +1,98 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- m -
+
+
+
+
+
diff --git b/functions_n.html a/functions_n.html
new file mode 100644
index 0000000..f2ae9f6
--- /dev/null
+++ a/functions_n.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- n -
+
+
+
+
+
diff --git b/functions_o.html a/functions_o.html
new file mode 100644
index 0000000..a145414
--- /dev/null
+++ a/functions_o.html
@@ -0,0 +1,112 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- o -
+off()
+: hueplusplus::Light
+
+on()
+: hueplusplus::Light
+
+Operator
+: hueplusplus::Condition
+
+operator!=()
+: hueplusplus::HueSaturation
+, hueplusplus::LightState
+, hueplusplus::RGB
+, hueplusplus::time::Weekdays
+, hueplusplus::XY
+, hueplusplus::XYBrightness
+
+operator=()
+: hueplusplus::BridgeConfig
+, hueplusplus::CreateableResourceList< BaseResourceList, CreateType >
+, hueplusplus::GroupResourceList< Resource, CreateType >
+, hueplusplus::HueCommandAPI
+, hueplusplus::ResourceList< Resource, IdT >
+, hueplusplus::SearchableResourceList< Resource >
+, hueplusplus::SensorList
+, hueplusplus::time::TimePattern
+
+operator==()
+: hueplusplus::HueSaturation
+, hueplusplus::LightState
+, hueplusplus::RGB
+, hueplusplus::time::Weekdays
+, hueplusplus::XY
+, hueplusplus::XYBrightness
+
+operator|()
+: hueplusplus::time::Weekdays
+
+
+
+
+
+
+
diff --git b/functions_p.html a/functions_p.html
new file mode 100644
index 0000000..871886d
--- /dev/null
+++ a/functions_p.html
@@ -0,0 +1,129 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- p -
+parse()
+: hueplusplus::Condition
+, hueplusplus::NewDeviceList
+, hueplusplus::time::AbsoluteTime
+, hueplusplus::time::AbsoluteVariedTime
+, hueplusplus::time::TimePattern
+, hueplusplus::time::Weekdays
+
+parseMethod()
+: hueplusplus::Action
+
+parseUTC()
+: hueplusplus::time::AbsoluteTime
+
+patch
+: hueplusplus::Version
+
+path
+: hueplusplus::ResourceList< Resource, IdT >
+, hueplusplus::StateTransaction
+
+port
+: hueplusplus::BridgeFinder::BridgeIdentification
+
+postAlertDelay
+: hueplusplus::Config
+
+POSTJson()
+: hueplusplus::BaseHttpHandler
+, hueplusplus::IHttpHandler
+
+POSTRequest()
+: hueplusplus::HueCommandAPI
+
+POSTString()
+: hueplusplus::BaseHttpHandler
+, hueplusplus::IHttpHandler
+
+preAlertDelay
+: hueplusplus::Config
+
+pressLinkButton()
+: hueplusplus::BridgeConfig
+
+PUTJson()
+: hueplusplus::BaseHttpHandler
+, hueplusplus::IHttpHandler
+
+PUTRequest()
+: hueplusplus::HueCommandAPI
+
+PUTString()
+: hueplusplus::BaseHttpHandler
+, hueplusplus::IHttpHandler
+
+
+
+
+
+
+
diff --git b/functions_r.html a/functions_r.html
new file mode 100644
index 0000000..8e3937e
--- /dev/null
+++ a/functions_r.html
@@ -0,0 +1,137 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- r -
+r
+: hueplusplus::RGB
+
+recall()
+: hueplusplus::Scene
+
+recurring
+: hueplusplus::time::TimePattern
+
+RecurringTime()
+: hueplusplus::time::RecurringTime
+
+redCorner
+: hueplusplus::ColorGamut
+
+refresh()
+: hueplusplus::APICache
+, hueplusplus::BaseDevice
+, hueplusplus::Bridge
+, hueplusplus::BridgeConfig
+, hueplusplus::Group
+, hueplusplus::ResourceList< Resource, IdT >
+, hueplusplus::Rule
+, hueplusplus::Scene
+, hueplusplus::Schedule
+
+remove()
+: hueplusplus::ResourceList< Resource, IdT >
+
+removeUser()
+: hueplusplus::BridgeConfig
+
+request
+: hueplusplus::CreateSensor
+, hueplusplus::StateTransaction
+
+requestUsername()
+: hueplusplus::Bridge
+
+requestUsernameAttemptInterval
+: hueplusplus::Config
+
+requestUsernameDelay
+: hueplusplus::Config
+
+ResourceList()
+: hueplusplus::ResourceList< Resource, IdT >
+
+ResourceType
+: hueplusplus::ResourceList< Resource, IdT >
+
+Room()
+: hueplusplus::CreateGroup
+
+Rule()
+: hueplusplus::Rule
+
+RuleList
+: hueplusplus::Bridge
+
+rules()
+: hueplusplus::Bridge
+
+
+
+
+
+
+
diff --git b/functions_rela.html a/functions_rela.html
new file mode 100644
index 0000000..c0d5376
--- /dev/null
+++ a/functions_rela.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Related Functions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_s.html a/functions_s.html
new file mode 100644
index 0000000..cc5ca81
--- /dev/null
+++ a/functions_s.html
@@ -0,0 +1,437 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- s -
+saturation
+: hueplusplus::HueSaturation
+
+saturday()
+: hueplusplus::time::Weekdays
+
+Scene()
+: hueplusplus::Scene
+
+SceneList
+: hueplusplus::Bridge
+
+scenes()
+: hueplusplus::Bridge
+
+Schedule()
+: hueplusplus::Schedule
+
+ScheduleList
+: hueplusplus::Bridge
+
+schedules()
+: hueplusplus::Bridge
+
+search()
+: hueplusplus::SearchableResourceList< Resource >
+
+SearchableResourceList()
+: hueplusplus::SearchableResourceList< Resource >
+
+send()
+: hueplusplus::IHttpHandler
+, hueplusplus::LinHttpHandler
+, hueplusplus::WinHttpHandler
+
+sendAlert()
+: hueplusplus::Sensor
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+sendGetHTTPBody()
+: hueplusplus::BaseHttpHandler
+, hueplusplus::IHttpHandler
+
+sendHTTPRequest()
+: hueplusplus::BaseHttpHandler
+, hueplusplus::IHttpHandler
+
+sendMulticast()
+: hueplusplus::IHttpHandler
+, hueplusplus::LinHttpHandler
+, hueplusplus::WinHttpHandler
+
+sendPutRequest()
+: hueplusplus::BaseDevice
+, hueplusplus::Group
+
+Sensor()
+: hueplusplus::Sensor
+
+SensorList()
+: hueplusplus::SensorList
+
+sensors()
+: hueplusplus::Bridge
+
+server_fd
+: hueplusplus::TLSContext
+
+setActions()
+: hueplusplus::Rule
+
+setAppdata()
+: hueplusplus::CreateScene
+, hueplusplus::Scene
+
+setAutodelete()
+: hueplusplus::CreateSchedule
+, hueplusplus::Schedule
+
+setBatteryState()
+: hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+, hueplusplus::sensors::DaylightSensor
+
+setBrightness()
+: hueplusplus::BrightnessStrategy
+, hueplusplus::Group
+, hueplusplus::Light
+, hueplusplus::LightStateBuilder
+, hueplusplus::SimpleBrightnessStrategy
+, hueplusplus::StateTransaction
+
+setBrightnessStrategy()
+: hueplusplus::Light
+
+setButtonEvent()
+: hueplusplus::sensors::CLIPSwitch
+
+setColor()
+: hueplusplus::Group
+, hueplusplus::StateTransaction
+
+setColorHue()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+, hueplusplus::StateTransaction
+
+setColorHueSaturation()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+
+setColorHueStrategy()
+: hueplusplus::Light
+
+setColorLoop()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Group
+, hueplusplus::Light
+
+setColorloop()
+: hueplusplus::LightStateBuilder
+
+setColorLoop()
+: hueplusplus::SimpleColorHueStrategy
+, hueplusplus::StateTransaction
+
+setColorRGB()
+: hueplusplus::EntertainmentMode
+, hueplusplus::Light
+
+setColorSaturation()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+, hueplusplus::StateTransaction
+
+setColorTemperature()
+: hueplusplus::ColorTemperatureStrategy
+, hueplusplus::Group
+, hueplusplus::Light
+, hueplusplus::SimpleColorTemperatureStrategy
+, hueplusplus::StateTransaction
+
+setColorTemperatureStrategy()
+: hueplusplus::Light
+
+setColorXY()
+: hueplusplus::ColorHueStrategy
+, hueplusplus::Light
+, hueplusplus::SimpleColorHueStrategy
+
+setCommand()
+: hueplusplus::CreateSchedule
+, hueplusplus::Schedule
+
+setConditions()
+: hueplusplus::Rule
+
+setConfig()
+: hueplusplus::CreateSensor
+
+setConfigAttribute()
+: hueplusplus::Sensor
+
+setCoordinates()
+: hueplusplus::sensors::DaylightSensor
+
+setCt()
+: hueplusplus::LightStateBuilder
+
+setDarkThreshold()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::ZLLLightLevel
+
+setDescription()
+: hueplusplus::CreateSchedule
+, hueplusplus::Schedule
+
+setEnabled()
+: hueplusplus::Rule
+, hueplusplus::Schedule
+
+setFlag()
+: hueplusplus::sensors::CLIPGenericFlag
+
+setGroupId()
+: hueplusplus::CreateScene
+
+setHueSat()
+: hueplusplus::LightStateBuilder
+
+setHumidity()
+: hueplusplus::sensors::CLIPHumidity
+
+setIP()
+: hueplusplus::Bridge
+
+setLEDIndication()
+: hueplusplus::Sensor
+
+setLightIds()
+: hueplusplus::CreateScene
+, hueplusplus::Scene
+
+setLightLevel()
+: hueplusplus::sensors::CLIPLightLevel
+
+setLights()
+: hueplusplus::Group
+
+setLightStates()
+: hueplusplus::CreateScene
+, hueplusplus::Scene
+
+setName()
+: hueplusplus::BaseDevice
+, hueplusplus::CreateRule
+, hueplusplus::CreateScene
+, hueplusplus::CreateSchedule
+, hueplusplus::Group
+, hueplusplus::Rule
+, hueplusplus::Scene
+, hueplusplus::Schedule
+
+setOn()
+: hueplusplus::Group
+, hueplusplus::LightStateBuilder
+, hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+, hueplusplus::sensors::DaylightSensor
+, hueplusplus::sensors::ZGPSwitch
+, hueplusplus::sensors::ZLLLightLevel
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+, hueplusplus::StateTransaction
+
+setOpen()
+: hueplusplus::sensors::CLIPOpenClose
+
+setPort()
+: hueplusplus::Bridge
+
+setPresence()
+: hueplusplus::sensors::CLIPPresence
+
+setRecycle()
+: hueplusplus::CreateScene
+, hueplusplus::CreateSchedule
+, hueplusplus::CreateSensor
+
+setRefreshDuration()
+: hueplusplus::APICache
+, hueplusplus::BaseDevice
+, hueplusplus::Bridge
+, hueplusplus::BridgeConfig
+, hueplusplus::Group
+, hueplusplus::ResourceList< Resource, IdT >
+, hueplusplus::Rule
+, hueplusplus::Scene
+, hueplusplus::Schedule
+
+setRoomType()
+: hueplusplus::Group
+
+setScene()
+: hueplusplus::Group
+
+setSensitivity()
+: hueplusplus::sensors::ZLLPresence
+
+setState()
+: hueplusplus::CreateSensor
+
+setStateAttribute()
+: hueplusplus::Sensor
+
+setStatus()
+: hueplusplus::CreateRule
+, hueplusplus::CreateSchedule
+, hueplusplus::sensors::CLIPGenericStatus
+
+setSunriseOffset()
+: hueplusplus::sensors::DaylightSensor
+
+setSunsetOffset()
+: hueplusplus::sensors::DaylightSensor
+
+setTemperature()
+: hueplusplus::sensors::CLIPTemperature
+
+setThresholdOffset()
+: hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::ZLLLightLevel
+
+setTime()
+: hueplusplus::CreateSchedule
+, hueplusplus::Schedule
+
+setTransition()
+: hueplusplus::StateTransaction
+
+setTransitionTime()
+: hueplusplus::LightStateBuilder
+
+setURL()
+: hueplusplus::Sensor
+, hueplusplus::sensors::BaseCLIP
+
+setUserTest()
+: hueplusplus::Sensor
+
+setXY()
+: hueplusplus::LightStateBuilder
+
+sharedState
+: hueplusplus::ResourceList< Resource, IdT >
+
+SimpleBrightnessStrategy
+: hueplusplus::Light
+
+SimpleColorHueStrategy
+: hueplusplus::Light
+
+SimpleColorTemperatureStrategy
+: hueplusplus::Light
+
+SocketCloser()
+: hueplusplus::SocketCloser
+
+ssl
+: hueplusplus::TLSContext
+
+startStreaming()
+: hueplusplus::Bridge
+
+state
+: hueplusplus::BaseDevice
+, hueplusplus::Group
+, hueplusplus::StateTransaction
+
+stateCache
+: hueplusplus::ResourceList< Resource, IdT >
+
+StateTransaction()
+: hueplusplus::StateTransaction
+
+stopAlert()
+: hueplusplus::StateTransaction
+
+stopStreaming()
+: hueplusplus::Bridge
+
+storeCurrentLightState()
+: hueplusplus::Scene
+
+sunday()
+: hueplusplus::time::Weekdays
+
+
+
+
+
+
+
diff --git b/functions_t.html a/functions_t.html
new file mode 100644
index 0000000..fb6f03c
--- /dev/null
+++ a/functions_t.html
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- t -
+thursday()
+: hueplusplus::time::Weekdays
+
+TimeInterval()
+: hueplusplus::time::TimeInterval
+
+TimePattern()
+: hueplusplus::time::TimePattern
+
+timer
+: hueplusplus::time::TimePattern
+
+Timer()
+: hueplusplus::time::Timer
+
+timer
+: hueplusplus::TLSContext
+
+tls_context
+: hueplusplus::EntertainmentMode
+
+toAction()
+: hueplusplus::StateTransaction
+
+toHueSaturation()
+: hueplusplus::RGB
+
+toJson()
+: hueplusplus::Action
+, hueplusplus::Condition
+, hueplusplus::LightState
+
+ToString()
+: hueplusplus::FileInfo
+
+toString()
+: hueplusplus::time::AbsoluteTime
+, hueplusplus::time::AbsoluteVariedTime
+, hueplusplus::time::RecurringTime
+, hueplusplus::time::TimeInterval
+, hueplusplus::time::TimePattern
+, hueplusplus::time::Timer
+, hueplusplus::time::Weekdays
+
+touchLink()
+: hueplusplus::BridgeConfig
+
+toXY()
+: hueplusplus::RGB
+
+transaction()
+: hueplusplus::Group
+, hueplusplus::Light
+
+trimRequest()
+: hueplusplus::StateTransaction
+
+tuesday()
+: hueplusplus::time::Weekdays
+
+Type
+: hueplusplus::Scene
+, hueplusplus::time::TimePattern
+
+typeStr
+: hueplusplus::sensors::CLIPGenericFlag
+, hueplusplus::sensors::CLIPGenericStatus
+, hueplusplus::sensors::CLIPHumidity
+, hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::CLIPOpenClose
+, hueplusplus::sensors::CLIPPresence
+, hueplusplus::sensors::CLIPSwitch
+, hueplusplus::sensors::CLIPTemperature
+, hueplusplus::sensors::DaylightSensor
+, hueplusplus::sensors::ZGPSwitch
+, hueplusplus::sensors::ZLLLightLevel
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+
+
+
+
+
+
diff --git b/functions_type.html a/functions_type.html
new file mode 100644
index 0000000..3522f57
--- /dev/null
+++ a/functions_type.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Typedefs
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/functions_u.html a/functions_u.html
new file mode 100644
index 0000000..3892629
--- /dev/null
+++ a/functions_u.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- u -
+
+
+
+
+
diff --git b/functions_vars.html a/functions_vars.html
new file mode 100644
index 0000000..a716d9f
--- /dev/null
+++ a/functions_vars.html
@@ -0,0 +1,408 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members - Variables
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- a -
+
+
+
- b -
+
+
+
- c -
+
+
+
- e -
+
+
+
- f -
+
+
+
- g -
+
+
+
- h -
+
+
+
- i -
+
+
+
- k -
+
+
+
- l -
+
+
+
- m -
+
+
+
- n -
+
+
+
- p -
+
+
+
- r -
+
+
+
- s -
+
+
+
- t -
+timer
+: hueplusplus::time::TimePattern
+, hueplusplus::TLSContext
+
+tls_context
+: hueplusplus::EntertainmentMode
+
+typeStr
+: hueplusplus::sensors::CLIPGenericFlag
+, hueplusplus::sensors::CLIPGenericStatus
+, hueplusplus::sensors::CLIPHumidity
+, hueplusplus::sensors::CLIPLightLevel
+, hueplusplus::sensors::CLIPOpenClose
+, hueplusplus::sensors::CLIPPresence
+, hueplusplus::sensors::CLIPSwitch
+, hueplusplus::sensors::CLIPTemperature
+, hueplusplus::sensors::DaylightSensor
+, hueplusplus::sensors::ZGPSwitch
+, hueplusplus::sensors::ZLLLightLevel
+, hueplusplus::sensors::ZLLPresence
+, hueplusplus::sensors::ZLLSwitch
+, hueplusplus::sensors::ZLLTemperature
+
+
+
+
+
- u -
+
+
+
- x -
+
+
+
- y -
+
+
+
+
+
diff --git b/functions_w.html a/functions_w.html
new file mode 100644
index 0000000..6f23b63
--- /dev/null
+++ a/functions_w.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- w -
+
+
+
+
+
diff --git b/functions_x.html a/functions_x.html
new file mode 100644
index 0000000..5f639bd
--- /dev/null
+++ a/functions_x.html
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- x -
+
+
+
+
+
diff --git b/functions_y.html a/functions_y.html
new file mode 100644
index 0000000..d912c01
--- /dev/null
+++ a/functions_y.html
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- y -
+
+
+
+
+
diff --git b/functions_z.html a/functions_z.html
new file mode 100644
index 0000000..e02c829
--- /dev/null
+++ a/functions_z.html
@@ -0,0 +1,92 @@
+
+
+
+
+
+
+
+hueplusplus: Class Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all class members with links to the classes they belong to:
+
+
- z -
+
+
+
+
+
diff --git b/getting-started.html a/getting-started.html
new file mode 100644
index 0000000..44bf116
--- /dev/null
+++ a/getting-started.html
@@ -0,0 +1,81 @@
+
+
+
+
+
+
+
+hueplusplus: Getting started
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
To start searching for a Hue Bridge you will need to choose an IHttpHandler and create one. The options are a WinHttpHandler (for windows) or a LinHttpHandler (for linux or linux-like).
+
Then create a BridgeFinder object with the handler. The handler is needed, because it tells the finder which functions to use to communicate with a bridge or your local network. After that you can call findBridges() , which will return a vector containing the ip and mac address of all found Bridges.
auto handler = std::make_shared<hueplusplus::LinHttpHandler>();
std::vector<hueplusplus::BridgeFinder::BridgeIdentification> bridges = finder.findBridges();
if (bridges.empty())
{
std::cerr << "No bridges found\n" ;
return ;
}
If you have found the Bridge you were looking for, you can then move on with the authentication process. To get a new username from the Bridge (for now) you simply call getBridge(bridges[<index>]) , where index is your preferred Bridge from the part Searching for Bridges . This requires the user to press the link button.
If you on the other hand already have a username you can add your bridge like so
finder.addUsername(bridges[0].mac, "<username>" );
If you do not want to use the BridgeFinder or you already know the ip and username of your bridge you have the option to create your own Hue object. Here you will need to provide the ip address, the port number, a username and an HttpHandler
auto handler = std::make_shared<hueplusplus::LinHttpHandler>();
At this point you may want to decide whether to use a shared state cache model or keep the default settings.
+
Use transactions to change multiple properties at once.
+
+
+
+
+
+
diff --git b/globals.html a/globals.html
new file mode 100644
index 0000000..9014eb7
--- /dev/null
+++ a/globals.html
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+hueplusplus: File Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all file members with links to the files they belong to:
+
+
+
+
+
diff --git b/globals_defs.html a/globals_defs.html
new file mode 100644
index 0000000..5038c16
--- /dev/null
+++ a/globals_defs.html
@@ -0,0 +1,75 @@
+
+
+
+
+
+
+
+hueplusplus: File Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/globals_func.html a/globals_func.html
new file mode 100644
index 0000000..67197c7
--- /dev/null
+++ a/globals_func.html
@@ -0,0 +1,104 @@
+
+
+
+
+
+
+
+hueplusplus: File Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/globals_type.html a/globals_type.html
new file mode 100644
index 0000000..a3f9ea6
--- /dev/null
+++ a/globals_type.html
@@ -0,0 +1,77 @@
+
+
+
+
+
+
+
+hueplusplus: File Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/globals_vars.html a/globals_vars.html
new file mode 100644
index 0000000..0aac138
--- /dev/null
+++ a/globals_vars.html
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+hueplusplus: File Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/graph_legend.html a/graph_legend.html
new file mode 100644
index 0000000..bdb5847
--- /dev/null
+++ a/graph_legend.html
@@ -0,0 +1,103 @@
+
+
+
+
+
+
+
+hueplusplus: Graph Legend
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This page explains how to interpret the graphs that are generated by doxygen.
+
Consider the following example:
/*! Invisible class because of truncation */
class Invisible { };
/*! Truncated class, inheritance relation is hidden */
class Truncated : public Invisible { };
/* Class not documented with doxygen comments */
class Undocumented { };
/*! Class that is inherited using public inheritance */
class PublicBase : public Truncated { };
/*! A template class */
template<class T> class Templ { };
/*! Class that is inherited using protected inheritance */
class ProtectedBase { };
/*! Class that is inherited using private inheritance */
class PrivateBase { };
/*! Class that is used by the Inherited class */
class Used { };
/*! Super class that inherits a number of other classes */
class Inherited : public PublicBase,
protected ProtectedBase,
private PrivateBase,
public Undocumented,
public Templ<int>
{
private:
Used *m_usedClass;
};
This will result in the following graph:
+
+
+
+The boxes in the above graph have the following meaning:
+
+
+A filled gray box represents the struct or class for which the graph is generated.
+
+A box with a black border denotes a documented struct or class.
+
+A box with a gray border denotes an undocumented struct or class.
+
+A box with a red border denotes a documented struct or class forwhich not all inheritance/containment relations are shown. A graph is truncated if it does not fit within the specified boundaries.
+
+
The arrows have the following meaning:
+
+
+A dark blue arrow is used to visualize a public inheritance relation between two classes.
+
+A dark green arrow is used for protected inheritance.
+
+A dark red arrow is used for private inheritance.
+
+A purple dashed arrow is used if a class is contained or used by another class. The arrow is labelled with the variable(s) through which the pointed class or struct is accessible.
+
+A yellow dashed arrow denotes a relation between a template instance and the template class it was instantiated from. The arrow is labelled with the template parameters of the instance.
+
+
+
+
+
+
diff --git b/graph_legend.md5 a/graph_legend.md5
new file mode 100644
index 0000000..a06ed05
--- /dev/null
+++ a/graph_legend.md5
@@ -0,0 +1 @@
+387ff8eb65306fa251338d3c9bd7bfff
\ No newline at end of file
diff --git b/graph_legend.png a/graph_legend.png
new file mode 100644
index 0000000..93e2541
--- /dev/null
+++ a/graph_legend.png
diff --git b/hierarchy.html a/hierarchy.html
new file mode 100644
index 0000000..5e3a259
--- /dev/null
+++ a/hierarchy.html
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+
+hueplusplus: Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Go to the graphical class hierarchy
+This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 1 2 3 4 ]
+ ▼ C hueplusplus::time::AbsoluteTime One-time, absolute time point
+ C hueplusplus::time::AbsoluteVariedTime
+ C hueplusplus::Action Action executed by the bridge, e.g. as a Schedule command
+ C hueplusplus::APICache Caches API GET requests and refreshes regularly
+ ▼ C hueplusplus::BaseDevice Base class for physical devices connected to the bridge (sensor or light)
+ C hueplusplus::Light Class for Hue Light fixtures
+ C hueplusplus::Sensor Class for generic or unknown sensor types
+ ▼ C hueplusplus::sensors::BaseCLIP Common methods for CLIP sensors
+ C hueplusplus::sensors::CLIPGenericFlag CLIP sensor for a generic 3rd party sensor
+ C hueplusplus::sensors::CLIPGenericStatus CLIP sensor for a generic 3rd party status
+ C hueplusplus::sensors::CLIPHumidity CLIP sensor for humidity
+ C hueplusplus::sensors::CLIPLightLevel CLIP sensor for light level
+ C hueplusplus::sensors::CLIPOpenClose CLIP sensor detecting whether a contact is open or closed
+ C hueplusplus::sensors::CLIPPresence CLIP sensor to detect presence
+ C hueplusplus::sensors::CLIPSwitch CLIP sensor for button presses
+ C hueplusplus::sensors::CLIPTemperature CLIP sensor for temperature
+ C hueplusplus::sensors::DaylightSensor Daylight sensor to detect sunrise and sunset
+ C hueplusplus::sensors::ZGPSwitch ZigBee Green Power sensor for button presses
+ C hueplusplus::sensors::ZLLLightLevel ZigBee sensor detecting ambient light level
+ C hueplusplus::sensors::ZLLPresence Sensor detecting presence in the vicinity
+ C hueplusplus::sensors::ZLLSwitch ZigBee sensor reporting button presses
+ C hueplusplus::sensors::ZLLTemperature ZigBee temperature sensor
+ C hueplusplus::Bridge Bridge class for a bridge
+ C hueplusplus::BridgeConfig General bridge configuration properties
+ C hueplusplus::BridgeFinder
+ C hueplusplus::BridgeFinder::BridgeIdentification
+ ▼ C hueplusplus::BrightnessStrategy Virtual base class for all BrightnessStrategies
+ C hueplusplus::SimpleBrightnessStrategy Class implementing the functions of BrightnessStrategy
+ C hueplusplus::ColorGamut Triangle of representable colors in CIE
+ ▼ C hueplusplus::ColorHueStrategy Virtual base class for all ColorHueStrategies
+ ▼ C hueplusplus::SimpleColorHueStrategy
+ C hueplusplus::ExtendedColorHueStrategy
+ ▼ C hueplusplus::ColorTemperatureStrategy Virtual base class for all ColorTemperatureStrategies
+ ▼ C hueplusplus::SimpleColorTemperatureStrategy Class implementing the functions of ColorTemperatureStrategy
+ C hueplusplus::ExtendedColorTemperatureStrategy Class implementing the functions of ColorTemperatureStrategy
+ C hueplusplus::Condition Condition for a Rule
+ C hueplusplus::Config Configurable delays
+ C hueplusplus::CreateGroup Parameters necessary for creating a new Group
+ C hueplusplus::CreateRule Parameters for creating a new Rule
+ C hueplusplus::CreateScene Parameters for creating a new Scene
+ C hueplusplus::CreateSchedule Parameters for creating a new Schedule
+ C hueplusplus::CreateSensor Parameters for creating a new Sensor
+ C hueplusplus::EntertainmentMode Class for Hue Entertainment Mode
+ ▼ C exception
+ ▼ C hueplusplus::HueException Exception class with file information. Base class of all custom exception classes
+ C hueplusplus::HueAPIResponseException Exception caused by a Hue API "error" response with additional information
+ C hueplusplus::FileInfo Contains information about error location, use CURRENT_FILE_INFO to create
+ C hueplusplus::Group Class for Groups of lights
+ C hueplusplus::HueCommandAPI
+ C hueplusplus::HueSaturation Color in hue and saturation
+ ▼ C hueplusplus::IHttpHandler Abstract class for classes that handle http requests and multicast requests
+ ▼ C hueplusplus::BaseHttpHandler Base class for classes that handle http requests and multicast requests
+ C hueplusplus::LinHttpHandler Class to handle http requests and multicast requests on linux systems
+ C hueplusplus::WinHttpHandler Class to handle http requests and multicast requests on windows systems
+ C hueplusplus::LightFactory
+ C hueplusplus::LightState Immutable state of a light
+ C hueplusplus::LightStateBuilder Builder to create LightState
+ C hueplusplus::NewDeviceList List of new devices found during the last scan
+ C hueplusplus::time::RecurringTime Time repeated weekly to daily, with possible random variation
+ C hueplusplus::ResourceList< Resource, IdT > Handles a list of a certain API resource
+ ▼ C hueplusplus::ResourceList< Resource, int >
+ ▼ C hueplusplus::CreateableResourceList< ResourceList< Resource, int >, CreateType >
+ C hueplusplus::GroupResourceList< Resource, CreateType > Handles a group list with the special group 0
+ C hueplusplus::SearchableResourceList< Resource > Handles a ResourceList of physical devices which can be searched for
+ ▼ C hueplusplus::ResourceList< Sensor, int >
+ ▼ C hueplusplus::SearchableResourceList< Sensor >
+ ▼ C hueplusplus::CreateableResourceList< SearchableResourceList< Sensor >, CreateSensor >
+ C hueplusplus::SensorList Handles a list of Sensor s with type specific getters
+ C hueplusplus::RGB Color in RGB
+ C hueplusplus::Rule Rule stored in the bridge
+ C hueplusplus::Scene Scene stored in the bridge
+ C hueplusplus::Schedule Schedule stored in the bridge
+ C hueplusplus::SocketCloser
+ C hueplusplus::StateTransaction Transaction class which can be used for either light or group state
+ C hueplusplus::time::TimeInterval Time interval repeated daily to weekly
+ C hueplusplus::time::TimePattern Holds different time representations
+ C hueplusplus::time::Timer Timer that is started and triggers after specified delay
+ C hueplusplus::TLSContext
+ C hueplusplus::UPnP Class that looks for UPnP devices using an m-search package
+ C hueplusplus::Version API version consisting of major, minor and patch version
+ C hueplusplus::time::Weekdays Any number of days of the week
+ C hueplusplus::WhitelistedUser User that is whitelisted for Hue API usage
+ C hueplusplus::XY Color in CIE x and y coordinates
+ C hueplusplus::XYBrightness Color and brightness in CIE
+ ▼ C BaseResourceList
+ C hueplusplus::CreateableResourceList< BaseResourceList, CreateType > Handles a ResourceList where Resources can be added by the user
+
+
+
+
+
+
+
diff --git b/index.html a/index.html
new file mode 100644
index 0000000..76644b4
--- /dev/null
+++ a/index.html
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+hueplusplus: Documentation for the hueplusplus library
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
A simple and easy to use library for Philips Hue Lights.
+
+find bridges with SSDP or set an ip manually
+all common light functions (brightness, color, temperature)
+extended alert() functions, which alert in a specific color (good for notifications)
+supports sensors, rules, groups, scenes and schedules
+streaming with entertainment mode
+documented with doxygen
+tested with google test, google mock and gcov/lcov
+
+
+Linux
+Windows
+MacOS
+Espressif ESP32 SDK & Arduino
+
+
Getting started
+
To start searching for a Hue Bridge you will need to choose an IHttpHandler and create one. The options are a WinHttpHandler (for windows) or a LinHttpHandler (for linux or linux-like).
+
Then create a BridgeFinder object with the handler. The handler is needed, because it tells the finder which functions to use to communicate with a bridge or your local network. After that you can call findBridges() , which will return a vector containing the ip and mac address of all found Bridges.
auto handler = std::make_shared<hueplusplus::LinHttpHandler>();
std::vector<hueplusplus::BridgeFinder::BridgeIdentification> bridges = finder.findBridges();
if (bridges.empty())
{
std::cerr << "No bridges found\n" ;
return ;
}
At this point you may want to decide whether to use a shared state cache model or keep the default settings.
+
If you have found the Bridge you were looking for, you can then move on with the authentication process. To get a new username from the Bridge (for now) you simply call getBridge(bridges[<index>]) , where index is your preferred Bridge from the part Searching for Bridges . This requires the user to press the link button.
If you on the other hand already have a username you can add your bridge like so
finder.addUsername(bridges[0].mac, "<username>" );
If you do not want to use the BridgeFinder or you already know the ip and username of your bridge you have the option to create your own Bridge object. Here you will need to provide the ip address, the port number, a username and an HttpHandler
auto handler = std::make_shared<hueplusplus::LinHttpHandler>();
If you have your Bridge all set up, you can now control its lights. For that create a new Light object and call lights().get(<id>) on your bridge object to get a reference to a specific light, where id is the id of the light set internally by the Hue Bridge.
If you don't know the id of a specific light or want to get an overview over all lights that are controlled by your bridge, you can get a vector containing them by calling getAll() on your bridge object. If no lights are found the vector will be empty.
std::vector<hueplusplus::Light> lights = bridge.
lights ().
getAll ();
If you now want to control a light, call a specific function of it.
lights[1].off();
lights.at(1).setColorHue(4562);
But keep in mind that some light types do not have all functions available. So you might call a specific function, but nothing will happen. For that you might want to check what type of a light you are controlling. For that you can call the function getColorType() , which will return a ColorType.
There's also a new way to check whether specific functions of a light are available:
These will either return true(light has specified function) or false(light lacks specified function).
+
Build and install guide
+
If you want to build the library you can use cmake (at least version 3.8). First create a build folder and then execute cmake.
mkdir build
cd build
cmake ..
Then compile the code with make. If you are inpatient use the option -j<number>, where number specifies how many files are compiled at the same time. Note this number should not exceed the number of cores*2 of your machine.
If you want to install the library use
To remove it
If you have a project that already uses CMake you probably want to add the hueplusplus library directly in your cmake file. For that the best way is to use find_package(). When cmake finds the hueplusplus library you can then link against either the shared or static version of the library.
find_package(hueplusplus REQUIRED)
target_link_libraries(<executable> PUBLIC hueplusplusstatic)
But this will only work if the hueplusplus library is already installed. To get around this problem there is a pretty awesome way. If you have the hueplusplus repository included in your project repository (as a submodule) or know where the folder lives you can do the following:
find_package(hueplusplus QUIET)
if(NOT hueplusplus_FOUND)
message(STATUS "-- hueplusplus not found, building it")
add_subdirectory("${CMAKE_CURRENT_SOURCE_DIR}/<path to directory>/hueplusplus" "${CMAKE_CURRENT_BINARY_DIR}/hueplusplus")
endif()
target_link_libraries(<executable> PUBLIC hueplusplusstatic)
This will check if the hueplusplus library was found by find_package() and if not it will use the specified path to the library source and compile it during the build process.
+
If you additionally want to run the tests use cmake with the option -Dhueplusplus_TESTS=ON. Testing is done with Google gtest and gmock. Note that you wont need to install gtest/gmock yourself, because cmake will automatically download them and include them during the build. Since I added a custom target you will only need to call "make unittest" and the tests are compiled and executed.
mkdir build
cd build
cmake .. -Dhueplusplus_TESTS=ON
make unittest
If you also want to execute coverage tests you will need to install gcov and lcov yourself. To run the coverage test use
+
+
+
+
+
diff --git b/inherit_graph_0.map a/inherit_graph_0.map
new file mode 100644
index 0000000..e19743b
--- /dev/null
+++ a/inherit_graph_0.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_0.md5 a/inherit_graph_0.md5
new file mode 100644
index 0000000..5f015e6
--- /dev/null
+++ a/inherit_graph_0.md5
@@ -0,0 +1 @@
+502a1cc6dd78a15ce264e88fe00749cb
\ No newline at end of file
diff --git b/inherit_graph_0.png a/inherit_graph_0.png
new file mode 100644
index 0000000..d431be9
--- /dev/null
+++ a/inherit_graph_0.png
diff --git b/inherit_graph_1.map a/inherit_graph_1.map
new file mode 100644
index 0000000..e6ad76c
--- /dev/null
+++ a/inherit_graph_1.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_1.md5 a/inherit_graph_1.md5
new file mode 100644
index 0000000..affe9ad
--- /dev/null
+++ a/inherit_graph_1.md5
@@ -0,0 +1 @@
+edcc6da1ae17d743be33e9057c16c283
\ No newline at end of file
diff --git b/inherit_graph_1.png a/inherit_graph_1.png
new file mode 100644
index 0000000..63d234b
--- /dev/null
+++ a/inherit_graph_1.png
diff --git b/inherit_graph_10.map a/inherit_graph_10.map
new file mode 100644
index 0000000..0d360b1
--- /dev/null
+++ a/inherit_graph_10.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/inherit_graph_10.md5 a/inherit_graph_10.md5
new file mode 100644
index 0000000..a3b36e4
--- /dev/null
+++ a/inherit_graph_10.md5
@@ -0,0 +1 @@
+cec220b5faee0de9719366d0378dcb2a
\ No newline at end of file
diff --git b/inherit_graph_10.png a/inherit_graph_10.png
new file mode 100644
index 0000000..7e9711b
--- /dev/null
+++ a/inherit_graph_10.png
diff --git b/inherit_graph_11.map a/inherit_graph_11.map
new file mode 100644
index 0000000..a622ef1
--- /dev/null
+++ a/inherit_graph_11.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_11.md5 a/inherit_graph_11.md5
new file mode 100644
index 0000000..5136676
--- /dev/null
+++ a/inherit_graph_11.md5
@@ -0,0 +1 @@
+e60f7889c5632500e34375d98496dc62
\ No newline at end of file
diff --git b/inherit_graph_11.png a/inherit_graph_11.png
new file mode 100644
index 0000000..0531de1
--- /dev/null
+++ a/inherit_graph_11.png
diff --git b/inherit_graph_12.map a/inherit_graph_12.map
new file mode 100644
index 0000000..71d15f5
--- /dev/null
+++ a/inherit_graph_12.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_12.md5 a/inherit_graph_12.md5
new file mode 100644
index 0000000..498c209
--- /dev/null
+++ a/inherit_graph_12.md5
@@ -0,0 +1 @@
+c803182d0e89767977e4b7c10838d3a7
\ No newline at end of file
diff --git b/inherit_graph_12.png a/inherit_graph_12.png
new file mode 100644
index 0000000..c9a8379
--- /dev/null
+++ a/inherit_graph_12.png
diff --git b/inherit_graph_13.map a/inherit_graph_13.map
new file mode 100644
index 0000000..e7d6b82
--- /dev/null
+++ a/inherit_graph_13.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_13.md5 a/inherit_graph_13.md5
new file mode 100644
index 0000000..50bef5e
--- /dev/null
+++ a/inherit_graph_13.md5
@@ -0,0 +1 @@
+e751ec01619dac46335b2bc46a419b5f
\ No newline at end of file
diff --git b/inherit_graph_13.png a/inherit_graph_13.png
new file mode 100644
index 0000000..6a06ac9
--- /dev/null
+++ a/inherit_graph_13.png
diff --git b/inherit_graph_14.map a/inherit_graph_14.map
new file mode 100644
index 0000000..d26e965
--- /dev/null
+++ a/inherit_graph_14.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_14.md5 a/inherit_graph_14.md5
new file mode 100644
index 0000000..98720fb
--- /dev/null
+++ a/inherit_graph_14.md5
@@ -0,0 +1 @@
+e4ce8fe7708486a19209f365ab9b16ad
\ No newline at end of file
diff --git b/inherit_graph_14.png a/inherit_graph_14.png
new file mode 100644
index 0000000..84a5c04
--- /dev/null
+++ a/inherit_graph_14.png
diff --git b/inherit_graph_15.map a/inherit_graph_15.map
new file mode 100644
index 0000000..ae565a6
--- /dev/null
+++ a/inherit_graph_15.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_15.md5 a/inherit_graph_15.md5
new file mode 100644
index 0000000..ad062e4
--- /dev/null
+++ a/inherit_graph_15.md5
@@ -0,0 +1 @@
+981514d72f00e40bc08bd5a8d20e6c68
\ No newline at end of file
diff --git b/inherit_graph_15.png a/inherit_graph_15.png
new file mode 100644
index 0000000..abdf15f
--- /dev/null
+++ a/inherit_graph_15.png
diff --git b/inherit_graph_16.map a/inherit_graph_16.map
new file mode 100644
index 0000000..5f016e7
--- /dev/null
+++ a/inherit_graph_16.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_16.md5 a/inherit_graph_16.md5
new file mode 100644
index 0000000..ea55561
--- /dev/null
+++ a/inherit_graph_16.md5
@@ -0,0 +1 @@
+5418fcfe2ca7db1d4821a921414ee099
\ No newline at end of file
diff --git b/inherit_graph_16.png a/inherit_graph_16.png
new file mode 100644
index 0000000..bd724a5
--- /dev/null
+++ a/inherit_graph_16.png
diff --git b/inherit_graph_17.map a/inherit_graph_17.map
new file mode 100644
index 0000000..6cfc535
--- /dev/null
+++ a/inherit_graph_17.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_17.md5 a/inherit_graph_17.md5
new file mode 100644
index 0000000..66dc157
--- /dev/null
+++ a/inherit_graph_17.md5
@@ -0,0 +1 @@
+6dbb03a726ead38781e5cb5b8aad5fcb
\ No newline at end of file
diff --git b/inherit_graph_17.png a/inherit_graph_17.png
new file mode 100644
index 0000000..f577549
--- /dev/null
+++ a/inherit_graph_17.png
diff --git b/inherit_graph_18.map a/inherit_graph_18.map
new file mode 100644
index 0000000..67a9492
--- /dev/null
+++ a/inherit_graph_18.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_18.md5 a/inherit_graph_18.md5
new file mode 100644
index 0000000..d879820
--- /dev/null
+++ a/inherit_graph_18.md5
@@ -0,0 +1 @@
+562fe3fbf0f625d51a291d581fc82841
\ No newline at end of file
diff --git b/inherit_graph_18.png a/inherit_graph_18.png
new file mode 100644
index 0000000..93959b8
--- /dev/null
+++ a/inherit_graph_18.png
diff --git b/inherit_graph_19.map a/inherit_graph_19.map
new file mode 100644
index 0000000..5e42ae8
--- /dev/null
+++ a/inherit_graph_19.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_19.md5 a/inherit_graph_19.md5
new file mode 100644
index 0000000..8bf49e5
--- /dev/null
+++ a/inherit_graph_19.md5
@@ -0,0 +1 @@
+bba99a4b3d7a6c1ca4a6ce61792c4436
\ No newline at end of file
diff --git b/inherit_graph_19.png a/inherit_graph_19.png
new file mode 100644
index 0000000..f37b610
--- /dev/null
+++ a/inherit_graph_19.png
diff --git b/inherit_graph_2.map a/inherit_graph_2.map
new file mode 100644
index 0000000..761b5af
--- /dev/null
+++ a/inherit_graph_2.map
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/inherit_graph_2.md5 a/inherit_graph_2.md5
new file mode 100644
index 0000000..6fa3969
--- /dev/null
+++ a/inherit_graph_2.md5
@@ -0,0 +1 @@
+52f260e752e2fdf9727987f19d0c486a
\ No newline at end of file
diff --git b/inherit_graph_2.png a/inherit_graph_2.png
new file mode 100644
index 0000000..d9ced27
--- /dev/null
+++ a/inherit_graph_2.png
diff --git b/inherit_graph_20.map a/inherit_graph_20.map
new file mode 100644
index 0000000..41c3b5c
--- /dev/null
+++ a/inherit_graph_20.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_20.md5 a/inherit_graph_20.md5
new file mode 100644
index 0000000..ed65693
--- /dev/null
+++ a/inherit_graph_20.md5
@@ -0,0 +1 @@
+93a1cf8255b6a9d02fce33d4e434890d
\ No newline at end of file
diff --git b/inherit_graph_20.png a/inherit_graph_20.png
new file mode 100644
index 0000000..14e4e97
--- /dev/null
+++ a/inherit_graph_20.png
diff --git b/inherit_graph_21.map a/inherit_graph_21.map
new file mode 100644
index 0000000..06a7e7d
--- /dev/null
+++ a/inherit_graph_21.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_21.md5 a/inherit_graph_21.md5
new file mode 100644
index 0000000..320d2bc
--- /dev/null
+++ a/inherit_graph_21.md5
@@ -0,0 +1 @@
+4e9405753ee4eb7ac0808dece00fd455
\ No newline at end of file
diff --git b/inherit_graph_21.png a/inherit_graph_21.png
new file mode 100644
index 0000000..4eea45a
--- /dev/null
+++ a/inherit_graph_21.png
diff --git b/inherit_graph_22.map a/inherit_graph_22.map
new file mode 100644
index 0000000..f43bb92
--- /dev/null
+++ a/inherit_graph_22.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_22.md5 a/inherit_graph_22.md5
new file mode 100644
index 0000000..53693bc
--- /dev/null
+++ a/inherit_graph_22.md5
@@ -0,0 +1 @@
+2ef824ae66c98deed7a1eb4f4702c305
\ No newline at end of file
diff --git b/inherit_graph_22.png a/inherit_graph_22.png
new file mode 100644
index 0000000..334ef93
--- /dev/null
+++ a/inherit_graph_22.png
diff --git b/inherit_graph_23.map a/inherit_graph_23.map
new file mode 100644
index 0000000..13c2325
--- /dev/null
+++ a/inherit_graph_23.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/inherit_graph_23.md5 a/inherit_graph_23.md5
new file mode 100644
index 0000000..3267ff7
--- /dev/null
+++ a/inherit_graph_23.md5
@@ -0,0 +1 @@
+65e11de173e459e9cc4a547161af2de0
\ No newline at end of file
diff --git b/inherit_graph_23.png a/inherit_graph_23.png
new file mode 100644
index 0000000..6ea8215
--- /dev/null
+++ a/inherit_graph_23.png
diff --git b/inherit_graph_24.map a/inherit_graph_24.map
new file mode 100644
index 0000000..3368fde
--- /dev/null
+++ a/inherit_graph_24.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_24.md5 a/inherit_graph_24.md5
new file mode 100644
index 0000000..d966520
--- /dev/null
+++ a/inherit_graph_24.md5
@@ -0,0 +1 @@
+f07670f81020d0c12f9c542d50d6ba52
\ No newline at end of file
diff --git b/inherit_graph_24.png a/inherit_graph_24.png
new file mode 100644
index 0000000..b595ff6
--- /dev/null
+++ a/inherit_graph_24.png
diff --git b/inherit_graph_25.map a/inherit_graph_25.map
new file mode 100644
index 0000000..e0e8baf
--- /dev/null
+++ a/inherit_graph_25.map
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git b/inherit_graph_25.md5 a/inherit_graph_25.md5
new file mode 100644
index 0000000..c6f81ae
--- /dev/null
+++ a/inherit_graph_25.md5
@@ -0,0 +1 @@
+d9d5c28481a8829bda70dc9933386de0
\ No newline at end of file
diff --git b/inherit_graph_25.png a/inherit_graph_25.png
new file mode 100644
index 0000000..e95d5c9
--- /dev/null
+++ a/inherit_graph_25.png
diff --git b/inherit_graph_26.map a/inherit_graph_26.map
new file mode 100644
index 0000000..2b14bf6
--- /dev/null
+++ a/inherit_graph_26.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_26.md5 a/inherit_graph_26.md5
new file mode 100644
index 0000000..f95a2f3
--- /dev/null
+++ a/inherit_graph_26.md5
@@ -0,0 +1 @@
+8addfdacb98442e80f5862c8570df1ca
\ No newline at end of file
diff --git b/inherit_graph_26.png a/inherit_graph_26.png
new file mode 100644
index 0000000..6d595c2
--- /dev/null
+++ a/inherit_graph_26.png
diff --git b/inherit_graph_27.map a/inherit_graph_27.map
new file mode 100644
index 0000000..26fce52
--- /dev/null
+++ a/inherit_graph_27.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_27.md5 a/inherit_graph_27.md5
new file mode 100644
index 0000000..fc8a283
--- /dev/null
+++ a/inherit_graph_27.md5
@@ -0,0 +1 @@
+46946a112e2ff4fdb038fdd43925112b
\ No newline at end of file
diff --git b/inherit_graph_27.png a/inherit_graph_27.png
new file mode 100644
index 0000000..fcf1115
--- /dev/null
+++ a/inherit_graph_27.png
diff --git b/inherit_graph_28.map a/inherit_graph_28.map
new file mode 100644
index 0000000..96996cb
--- /dev/null
+++ a/inherit_graph_28.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_28.md5 a/inherit_graph_28.md5
new file mode 100644
index 0000000..3fdcc2a
--- /dev/null
+++ a/inherit_graph_28.md5
@@ -0,0 +1 @@
+ee64d639cedbbf72b80faa7b33de8d76
\ No newline at end of file
diff --git b/inherit_graph_28.png a/inherit_graph_28.png
new file mode 100644
index 0000000..6bdbdbc
--- /dev/null
+++ a/inherit_graph_28.png
diff --git b/inherit_graph_29.map a/inherit_graph_29.map
new file mode 100644
index 0000000..12c7bc4
--- /dev/null
+++ a/inherit_graph_29.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_29.md5 a/inherit_graph_29.md5
new file mode 100644
index 0000000..acc9164
--- /dev/null
+++ a/inherit_graph_29.md5
@@ -0,0 +1 @@
+00939464b0ecc18c002a1b98d8866198
\ No newline at end of file
diff --git b/inherit_graph_29.png a/inherit_graph_29.png
new file mode 100644
index 0000000..334cd3a
--- /dev/null
+++ a/inherit_graph_29.png
diff --git b/inherit_graph_3.map a/inherit_graph_3.map
new file mode 100644
index 0000000..5439067
--- /dev/null
+++ a/inherit_graph_3.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_3.md5 a/inherit_graph_3.md5
new file mode 100644
index 0000000..20dc69a
--- /dev/null
+++ a/inherit_graph_3.md5
@@ -0,0 +1 @@
+13986528002fb0c822010d472d557cbc
\ No newline at end of file
diff --git b/inherit_graph_3.png a/inherit_graph_3.png
new file mode 100644
index 0000000..ffad870
--- /dev/null
+++ a/inherit_graph_3.png
diff --git b/inherit_graph_30.map a/inherit_graph_30.map
new file mode 100644
index 0000000..f112ec2
--- /dev/null
+++ a/inherit_graph_30.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_30.md5 a/inherit_graph_30.md5
new file mode 100644
index 0000000..20e7bcf
--- /dev/null
+++ a/inherit_graph_30.md5
@@ -0,0 +1 @@
+b4d168409a02f20ae317255f39cd5f7c
\ No newline at end of file
diff --git b/inherit_graph_30.png a/inherit_graph_30.png
new file mode 100644
index 0000000..f20e74f
--- /dev/null
+++ a/inherit_graph_30.png
diff --git b/inherit_graph_31.map a/inherit_graph_31.map
new file mode 100644
index 0000000..211d8d7
--- /dev/null
+++ a/inherit_graph_31.map
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git b/inherit_graph_31.md5 a/inherit_graph_31.md5
new file mode 100644
index 0000000..a7de095
--- /dev/null
+++ a/inherit_graph_31.md5
@@ -0,0 +1 @@
+1af57afaa6b059e52957b7b789bdbe5b
\ No newline at end of file
diff --git b/inherit_graph_31.png a/inherit_graph_31.png
new file mode 100644
index 0000000..a9afd7f
--- /dev/null
+++ a/inherit_graph_31.png
diff --git b/inherit_graph_32.map a/inherit_graph_32.map
new file mode 100644
index 0000000..4e6b4ba
--- /dev/null
+++ a/inherit_graph_32.map
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git b/inherit_graph_32.md5 a/inherit_graph_32.md5
new file mode 100644
index 0000000..4827d01
--- /dev/null
+++ a/inherit_graph_32.md5
@@ -0,0 +1 @@
+fb14320b25532e234ab36835c9d217f0
\ No newline at end of file
diff --git b/inherit_graph_32.png a/inherit_graph_32.png
new file mode 100644
index 0000000..3dce11d
--- /dev/null
+++ a/inherit_graph_32.png
diff --git b/inherit_graph_33.map a/inherit_graph_33.map
new file mode 100644
index 0000000..127c4c7
--- /dev/null
+++ a/inherit_graph_33.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_33.md5 a/inherit_graph_33.md5
new file mode 100644
index 0000000..c04c923
--- /dev/null
+++ a/inherit_graph_33.md5
@@ -0,0 +1 @@
+63fe539cfc7f3915dcaf8ae7f1250fa3
\ No newline at end of file
diff --git b/inherit_graph_33.png a/inherit_graph_33.png
new file mode 100644
index 0000000..589ce36
--- /dev/null
+++ a/inherit_graph_33.png
diff --git b/inherit_graph_34.map a/inherit_graph_34.map
new file mode 100644
index 0000000..714e956
--- /dev/null
+++ a/inherit_graph_34.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_34.md5 a/inherit_graph_34.md5
new file mode 100644
index 0000000..8e4a18d
--- /dev/null
+++ a/inherit_graph_34.md5
@@ -0,0 +1 @@
+061db05bdf3fa41bb3922fb7c3ee1b50
\ No newline at end of file
diff --git b/inherit_graph_34.png a/inherit_graph_34.png
new file mode 100644
index 0000000..c8b4284
--- /dev/null
+++ a/inherit_graph_34.png
diff --git b/inherit_graph_35.map a/inherit_graph_35.map
new file mode 100644
index 0000000..82e1205
--- /dev/null
+++ a/inherit_graph_35.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_35.md5 a/inherit_graph_35.md5
new file mode 100644
index 0000000..7e40d48
--- /dev/null
+++ a/inherit_graph_35.md5
@@ -0,0 +1 @@
+03d7bf23753da1184dcb51cedb3296c4
\ No newline at end of file
diff --git b/inherit_graph_35.png a/inherit_graph_35.png
new file mode 100644
index 0000000..1163114
--- /dev/null
+++ a/inherit_graph_35.png
diff --git b/inherit_graph_36.map a/inherit_graph_36.map
new file mode 100644
index 0000000..baf0a1b
--- /dev/null
+++ a/inherit_graph_36.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_36.md5 a/inherit_graph_36.md5
new file mode 100644
index 0000000..0ddbf2d
--- /dev/null
+++ a/inherit_graph_36.md5
@@ -0,0 +1 @@
+82eccb978d9f894cdc54215655b20e6d
\ No newline at end of file
diff --git b/inherit_graph_36.png a/inherit_graph_36.png
new file mode 100644
index 0000000..7cf3cdc
--- /dev/null
+++ a/inherit_graph_36.png
diff --git b/inherit_graph_37.map a/inherit_graph_37.map
new file mode 100644
index 0000000..4f9a4e6
--- /dev/null
+++ a/inherit_graph_37.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_37.md5 a/inherit_graph_37.md5
new file mode 100644
index 0000000..9c67591
--- /dev/null
+++ a/inherit_graph_37.md5
@@ -0,0 +1 @@
+d605e3fee47d01317f9ecaf56c3da6d0
\ No newline at end of file
diff --git b/inherit_graph_37.png a/inherit_graph_37.png
new file mode 100644
index 0000000..d4b77d4
--- /dev/null
+++ a/inherit_graph_37.png
diff --git b/inherit_graph_38.map a/inherit_graph_38.map
new file mode 100644
index 0000000..00104ca
--- /dev/null
+++ a/inherit_graph_38.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_38.md5 a/inherit_graph_38.md5
new file mode 100644
index 0000000..968eea8
--- /dev/null
+++ a/inherit_graph_38.md5
@@ -0,0 +1 @@
+82b0ed3941461cf8b3ef6b887c75706b
\ No newline at end of file
diff --git b/inherit_graph_38.png a/inherit_graph_38.png
new file mode 100644
index 0000000..3036bf5
--- /dev/null
+++ a/inherit_graph_38.png
diff --git b/inherit_graph_39.map a/inherit_graph_39.map
new file mode 100644
index 0000000..e37f893
--- /dev/null
+++ a/inherit_graph_39.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/inherit_graph_39.md5 a/inherit_graph_39.md5
new file mode 100644
index 0000000..2f7ea17
--- /dev/null
+++ a/inherit_graph_39.md5
@@ -0,0 +1 @@
+812b166e54cc1f001d86729c3aa3a268
\ No newline at end of file
diff --git b/inherit_graph_39.png a/inherit_graph_39.png
new file mode 100644
index 0000000..72d93f4
--- /dev/null
+++ a/inherit_graph_39.png
diff --git b/inherit_graph_4.map a/inherit_graph_4.map
new file mode 100644
index 0000000..2bd2375
--- /dev/null
+++ a/inherit_graph_4.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_4.md5 a/inherit_graph_4.md5
new file mode 100644
index 0000000..ece1da6
--- /dev/null
+++ a/inherit_graph_4.md5
@@ -0,0 +1 @@
+fff7cb220a493ffd3a82409d8108b3b6
\ No newline at end of file
diff --git b/inherit_graph_4.png a/inherit_graph_4.png
new file mode 100644
index 0000000..5dcc36d
--- /dev/null
+++ a/inherit_graph_4.png
diff --git b/inherit_graph_40.map a/inherit_graph_40.map
new file mode 100644
index 0000000..5ec7126
--- /dev/null
+++ a/inherit_graph_40.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_40.md5 a/inherit_graph_40.md5
new file mode 100644
index 0000000..f9d4bfc
--- /dev/null
+++ a/inherit_graph_40.md5
@@ -0,0 +1 @@
+4b10c7e53876f8130f04281d9e3da473
\ No newline at end of file
diff --git b/inherit_graph_40.png a/inherit_graph_40.png
new file mode 100644
index 0000000..509d08f
--- /dev/null
+++ a/inherit_graph_40.png
diff --git b/inherit_graph_41.map a/inherit_graph_41.map
new file mode 100644
index 0000000..67728c4
--- /dev/null
+++ a/inherit_graph_41.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_41.md5 a/inherit_graph_41.md5
new file mode 100644
index 0000000..6bc2f90
--- /dev/null
+++ a/inherit_graph_41.md5
@@ -0,0 +1 @@
+325aa8e4fbd9647b506795cbf6d3a3fa
\ No newline at end of file
diff --git b/inherit_graph_41.png a/inherit_graph_41.png
new file mode 100644
index 0000000..5576374
--- /dev/null
+++ a/inherit_graph_41.png
diff --git b/inherit_graph_42.map a/inherit_graph_42.map
new file mode 100644
index 0000000..f361be4
--- /dev/null
+++ a/inherit_graph_42.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_42.md5 a/inherit_graph_42.md5
new file mode 100644
index 0000000..d280e61
--- /dev/null
+++ a/inherit_graph_42.md5
@@ -0,0 +1 @@
+bc123a2af80976e2f6c1f0debdbfb39a
\ No newline at end of file
diff --git b/inherit_graph_42.png a/inherit_graph_42.png
new file mode 100644
index 0000000..03cd410
--- /dev/null
+++ a/inherit_graph_42.png
diff --git b/inherit_graph_43.map a/inherit_graph_43.map
new file mode 100644
index 0000000..50436ba
--- /dev/null
+++ a/inherit_graph_43.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_43.md5 a/inherit_graph_43.md5
new file mode 100644
index 0000000..6cffc43
--- /dev/null
+++ a/inherit_graph_43.md5
@@ -0,0 +1 @@
+bbf79698c96231a60b23f184f6c7ada3
\ No newline at end of file
diff --git b/inherit_graph_43.png a/inherit_graph_43.png
new file mode 100644
index 0000000..9243f21
--- /dev/null
+++ a/inherit_graph_43.png
diff --git b/inherit_graph_44.map a/inherit_graph_44.map
new file mode 100644
index 0000000..2d3f8b3
--- /dev/null
+++ a/inherit_graph_44.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_44.md5 a/inherit_graph_44.md5
new file mode 100644
index 0000000..7c28e12
--- /dev/null
+++ a/inherit_graph_44.md5
@@ -0,0 +1 @@
+486ec8f61b2a460164e91daeb193795c
\ No newline at end of file
diff --git b/inherit_graph_44.png a/inherit_graph_44.png
new file mode 100644
index 0000000..beb413e
--- /dev/null
+++ a/inherit_graph_44.png
diff --git b/inherit_graph_45.map a/inherit_graph_45.map
new file mode 100644
index 0000000..fb3e458
--- /dev/null
+++ a/inherit_graph_45.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_45.md5 a/inherit_graph_45.md5
new file mode 100644
index 0000000..ad569c3
--- /dev/null
+++ a/inherit_graph_45.md5
@@ -0,0 +1 @@
+15136fe6220627c9434cd4a051cfe8c3
\ No newline at end of file
diff --git b/inherit_graph_45.png a/inherit_graph_45.png
new file mode 100644
index 0000000..057565c
--- /dev/null
+++ a/inherit_graph_45.png
diff --git b/inherit_graph_46.map a/inherit_graph_46.map
new file mode 100644
index 0000000..cf1aa57
--- /dev/null
+++ a/inherit_graph_46.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_46.md5 a/inherit_graph_46.md5
new file mode 100644
index 0000000..7ea1e30
--- /dev/null
+++ a/inherit_graph_46.md5
@@ -0,0 +1 @@
+0c86aef303b0d1a83d76ed1b4d50fe5b
\ No newline at end of file
diff --git b/inherit_graph_46.png a/inherit_graph_46.png
new file mode 100644
index 0000000..0c36a84
--- /dev/null
+++ a/inherit_graph_46.png
diff --git b/inherit_graph_47.map a/inherit_graph_47.map
new file mode 100644
index 0000000..76ef12a
--- /dev/null
+++ a/inherit_graph_47.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_47.md5 a/inherit_graph_47.md5
new file mode 100644
index 0000000..b9c4d16
--- /dev/null
+++ a/inherit_graph_47.md5
@@ -0,0 +1 @@
+0d799fc639b3f88b713ad209457933a7
\ No newline at end of file
diff --git b/inherit_graph_47.png a/inherit_graph_47.png
new file mode 100644
index 0000000..177c9da
--- /dev/null
+++ a/inherit_graph_47.png
diff --git b/inherit_graph_48.map a/inherit_graph_48.map
new file mode 100644
index 0000000..9f77672
--- /dev/null
+++ a/inherit_graph_48.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_48.md5 a/inherit_graph_48.md5
new file mode 100644
index 0000000..9a06110
--- /dev/null
+++ a/inherit_graph_48.md5
@@ -0,0 +1 @@
+b5b4e8808d97974f552db3452214321f
\ No newline at end of file
diff --git b/inherit_graph_48.png a/inherit_graph_48.png
new file mode 100644
index 0000000..baf8d24
--- /dev/null
+++ a/inherit_graph_48.png
diff --git b/inherit_graph_49.map a/inherit_graph_49.map
new file mode 100644
index 0000000..63f3269
--- /dev/null
+++ a/inherit_graph_49.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_49.md5 a/inherit_graph_49.md5
new file mode 100644
index 0000000..831dc0a
--- /dev/null
+++ a/inherit_graph_49.md5
@@ -0,0 +1 @@
+555090f4811984c9c2655992a579d46c
\ No newline at end of file
diff --git b/inherit_graph_49.png a/inherit_graph_49.png
new file mode 100644
index 0000000..e3ae68c
--- /dev/null
+++ a/inherit_graph_49.png
diff --git b/inherit_graph_5.map a/inherit_graph_5.map
new file mode 100644
index 0000000..e7ea244
--- /dev/null
+++ a/inherit_graph_5.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_5.md5 a/inherit_graph_5.md5
new file mode 100644
index 0000000..f8be51f
--- /dev/null
+++ a/inherit_graph_5.md5
@@ -0,0 +1 @@
+4a12359eae63b526eeb0d76dc9a9b958
\ No newline at end of file
diff --git b/inherit_graph_5.png a/inherit_graph_5.png
new file mode 100644
index 0000000..115b235
--- /dev/null
+++ a/inherit_graph_5.png
diff --git b/inherit_graph_50.map a/inherit_graph_50.map
new file mode 100644
index 0000000..fb38a97
--- /dev/null
+++ a/inherit_graph_50.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_50.md5 a/inherit_graph_50.md5
new file mode 100644
index 0000000..42f71e8
--- /dev/null
+++ a/inherit_graph_50.md5
@@ -0,0 +1 @@
+a9204ab9ed53303c22f70cfbf36ddb31
\ No newline at end of file
diff --git b/inherit_graph_50.png a/inherit_graph_50.png
new file mode 100644
index 0000000..c55764f
--- /dev/null
+++ a/inherit_graph_50.png
diff --git b/inherit_graph_6.map a/inherit_graph_6.map
new file mode 100644
index 0000000..d5f2aac
--- /dev/null
+++ a/inherit_graph_6.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_6.md5 a/inherit_graph_6.md5
new file mode 100644
index 0000000..39f9612
--- /dev/null
+++ a/inherit_graph_6.md5
@@ -0,0 +1 @@
+a2afaf7abb203c06ab220e8ad6f090e6
\ No newline at end of file
diff --git b/inherit_graph_6.png a/inherit_graph_6.png
new file mode 100644
index 0000000..3455cd1
--- /dev/null
+++ a/inherit_graph_6.png
diff --git b/inherit_graph_7.map a/inherit_graph_7.map
new file mode 100644
index 0000000..162d402
--- /dev/null
+++ a/inherit_graph_7.map
@@ -0,0 +1,4 @@
+
+
+
+
diff --git b/inherit_graph_7.md5 a/inherit_graph_7.md5
new file mode 100644
index 0000000..c3180fc
--- /dev/null
+++ a/inherit_graph_7.md5
@@ -0,0 +1 @@
+a442ca660d31226dc8ec8c2a77d11bab
\ No newline at end of file
diff --git b/inherit_graph_7.png a/inherit_graph_7.png
new file mode 100644
index 0000000..9bf244b
--- /dev/null
+++ a/inherit_graph_7.png
diff --git b/inherit_graph_8.map a/inherit_graph_8.map
new file mode 100644
index 0000000..7a0558f
--- /dev/null
+++ a/inherit_graph_8.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/inherit_graph_8.md5 a/inherit_graph_8.md5
new file mode 100644
index 0000000..3a2edb0
--- /dev/null
+++ a/inherit_graph_8.md5
@@ -0,0 +1 @@
+72581bbafd31109d1166185f145fd13f
\ No newline at end of file
diff --git b/inherit_graph_8.png a/inherit_graph_8.png
new file mode 100644
index 0000000..efee8d7
--- /dev/null
+++ a/inherit_graph_8.png
diff --git b/inherit_graph_9.map a/inherit_graph_9.map
new file mode 100644
index 0000000..8645a8a
--- /dev/null
+++ a/inherit_graph_9.map
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git b/inherit_graph_9.md5 a/inherit_graph_9.md5
new file mode 100644
index 0000000..1c829fa
--- /dev/null
+++ a/inherit_graph_9.md5
@@ -0,0 +1 @@
+6bd49cd8413cbfcec90ffc3796639d60
\ No newline at end of file
diff --git b/inherit_graph_9.png a/inherit_graph_9.png
new file mode 100644
index 0000000..4b3c80b
--- /dev/null
+++ a/inherit_graph_9.png
diff --git b/inherits.html a/inherits.html
new file mode 100644
index 0000000..bdd98d6
--- /dev/null
+++ a/inherits.html
@@ -0,0 +1,366 @@
+
+
+
+
+
+
+
+hueplusplus: Class Hierarchy
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/jquery.js a/jquery.js
new file mode 100644
index 0000000..f5343ed
--- /dev/null
+++ a/jquery.js
@@ -0,0 +1,87 @@
+/*!
+ * jQuery JavaScript Library v1.7.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Mon Nov 21 21:11:03 2011 -0500
+ */
+(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bva ";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}});
+/*!
+ * Sizzle CSS Selector Engine
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ * More information: http://sizzlejs.com/
+ */
+(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS ";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML=" ";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="
";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT 0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,""," "],thead:[1,""],tr:[2,""],td:[3,""],col:[2,""],area:[1,""," "],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>$2>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>$2>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA
=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*!
+ * jQuery UI 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI
+ */
+(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*!
+ * jQuery UI Widget 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Widget
+ */
+(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*!
+ * jQuery UI Mouse 1.8.18
+ *
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * http://docs.jquery.com/UI/Mouse
+ *
+ * Depends:
+ * jquery.ui.widget.js
+ */
+(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g ');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*!
+ * jQuery hashchange event - v1.3 - 7/21/2010
+ * http://benalman.com/projects/jquery-hashchange-plugin/
+ *
+ * Copyright (c) 2010 "Cowboy" Ben Alman
+ * Dual licensed under the MIT and GPL licenses.
+ * http://benalman.com/about/license/
+ */
+(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$('').hide().one("load",function(){r||l(a());n()}).attr("src",r||"javascript:0").insertAfter("body")[0].contentWindow;h.onpropertychange=function(){try{if(event.propertyName==="title"){q.document.title=h.title}}catch(s){}}}};j.stop=k;o=function(){return a(q.location.href)};l=function(v,s){var u=q.document,t=$.fn[c].domain;if(v!==s){u.title=h.title;u.open();t&&u.write('
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
} BridgeSetup.cpp This example connects to a bridge with hardcoded mac and username.
+
+
+
+
+
diff --git b/menu.js a/menu.js
new file mode 100644
index 0000000..97db4c2
--- /dev/null
+++ a/menu.js
@@ -0,0 +1,26 @@
+function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
+ function makeTree(data,relPath) {
+ var result='';
+ if ('children' in data) {
+ result+='';
+ }
+ return result;
+ }
+
+ $('#main-nav').append(makeTree(menudata,relPath));
+ $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
+ if (searchEnabled) {
+ if (serverSide) {
+ $('#main-menu').append(' ');
+ } else {
+ $('#main-menu').append(' ');
+ }
+ }
+ $('#main-menu').smartmenus();
+}
diff --git b/menudata.js a/menudata.js
new file mode 100644
index 0000000..b021acc
--- /dev/null
+++ a/menudata.js
@@ -0,0 +1,106 @@
+var menudata={children:[
+{text:"Main Page",url:"index.html"},
+{text:"Related Pages",url:"pages.html"},
+{text:"Namespaces",url:"namespaces.html",children:[
+{text:"Namespace List",url:"namespaces.html"},
+{text:"Namespace Members",url:"namespacemembers.html",children:[
+{text:"All",url:"namespacemembers.html",children:[
+{text:"a",url:"namespacemembers.html#index_a"},
+{text:"c",url:"namespacemembers.html#index_c"},
+{text:"d",url:"namespacemembers.html#index_d"},
+{text:"f",url:"namespacemembers.html#index_f"},
+{text:"g",url:"namespacemembers.html#index_g"},
+{text:"h",url:"namespacemembers.html#index_h"},
+{text:"k",url:"namespacemembers.html#index_k"},
+{text:"m",url:"namespacemembers.html#index_m"},
+{text:"p",url:"namespacemembers.html#index_p"},
+{text:"s",url:"namespacemembers.html#index_s"},
+{text:"t",url:"namespacemembers.html#index_t"},
+{text:"v",url:"namespacemembers.html#index_v"}]},
+{text:"Functions",url:"namespacemembers_func.html"},
+{text:"Variables",url:"namespacemembers_vars.html"},
+{text:"Enumerations",url:"namespacemembers_enum.html"}]}]},
+{text:"Classes",url:"annotated.html",children:[
+{text:"Class List",url:"annotated.html"},
+{text:"Class Index",url:"classes.html"},
+{text:"Class Hierarchy",url:"inherits.html"},
+{text:"Class Members",url:"functions.html",children:[
+{text:"All",url:"functions.html",children:[
+{text:"a",url:"functions.html#index_a"},
+{text:"b",url:"functions_b.html#index_b"},
+{text:"c",url:"functions_c.html#index_c"},
+{text:"d",url:"functions_d.html#index_d"},
+{text:"e",url:"functions_e.html#index_e"},
+{text:"f",url:"functions_f.html#index_f"},
+{text:"g",url:"functions_g.html#index_g"},
+{text:"h",url:"functions_h.html#index_h"},
+{text:"i",url:"functions_i.html#index_i"},
+{text:"k",url:"functions_k.html#index_k"},
+{text:"l",url:"functions_l.html#index_l"},
+{text:"m",url:"functions_m.html#index_m"},
+{text:"n",url:"functions_n.html#index_n"},
+{text:"o",url:"functions_o.html#index_o"},
+{text:"p",url:"functions_p.html#index_p"},
+{text:"r",url:"functions_r.html#index_r"},
+{text:"s",url:"functions_s.html#index_s"},
+{text:"t",url:"functions_t.html#index_t"},
+{text:"u",url:"functions_u.html#index_u"},
+{text:"w",url:"functions_w.html#index_w"},
+{text:"x",url:"functions_x.html#index_x"},
+{text:"y",url:"functions_y.html#index_y"},
+{text:"z",url:"functions_z.html#index_z"},
+{text:"~",url:"functions_0x7e.html#index_0x7e"}]},
+{text:"Functions",url:"functions_func.html",children:[
+{text:"a",url:"functions_func.html#index_a"},
+{text:"b",url:"functions_func_b.html#index_b"},
+{text:"c",url:"functions_func_c.html#index_c"},
+{text:"d",url:"functions_func_d.html#index_d"},
+{text:"e",url:"functions_func_e.html#index_e"},
+{text:"f",url:"functions_func_f.html#index_f"},
+{text:"g",url:"functions_func_g.html#index_g"},
+{text:"h",url:"functions_func_h.html#index_h"},
+{text:"i",url:"functions_func_i.html#index_i"},
+{text:"l",url:"functions_func_l.html#index_l"},
+{text:"m",url:"functions_func_m.html#index_m"},
+{text:"n",url:"functions_func_n.html#index_n"},
+{text:"o",url:"functions_func_o.html#index_o"},
+{text:"p",url:"functions_func_p.html#index_p"},
+{text:"r",url:"functions_func_r.html#index_r"},
+{text:"s",url:"functions_func_s.html#index_s"},
+{text:"t",url:"functions_func_t.html#index_t"},
+{text:"u",url:"functions_func_u.html#index_u"},
+{text:"w",url:"functions_func_w.html#index_w"},
+{text:"z",url:"functions_func_z.html#index_z"},
+{text:"~",url:"functions_func_0x7e.html#index_0x7e"}]},
+{text:"Variables",url:"functions_vars.html",children:[
+{text:"a",url:"functions_vars.html#index_a"},
+{text:"b",url:"functions_vars.html#index_b"},
+{text:"c",url:"functions_vars.html#index_c"},
+{text:"e",url:"functions_vars.html#index_e"},
+{text:"f",url:"functions_vars.html#index_f"},
+{text:"g",url:"functions_vars.html#index_g"},
+{text:"h",url:"functions_vars.html#index_h"},
+{text:"i",url:"functions_vars.html#index_i"},
+{text:"k",url:"functions_vars.html#index_k"},
+{text:"l",url:"functions_vars.html#index_l"},
+{text:"m",url:"functions_vars.html#index_m"},
+{text:"n",url:"functions_vars.html#index_n"},
+{text:"p",url:"functions_vars.html#index_p"},
+{text:"r",url:"functions_vars.html#index_r"},
+{text:"s",url:"functions_vars.html#index_s"},
+{text:"t",url:"functions_vars.html#index_t"},
+{text:"u",url:"functions_vars.html#index_u"},
+{text:"x",url:"functions_vars.html#index_x"},
+{text:"y",url:"functions_vars.html#index_y"}]},
+{text:"Typedefs",url:"functions_type.html"},
+{text:"Enumerations",url:"functions_enum.html"},
+{text:"Related Functions",url:"functions_rela.html"}]}]},
+{text:"Files",url:"files.html",children:[
+{text:"File List",url:"files.html"},
+{text:"File Members",url:"globals.html",children:[
+{text:"All",url:"globals.html"},
+{text:"Functions",url:"globals_func.html"},
+{text:"Variables",url:"globals_vars.html"},
+{text:"Typedefs",url:"globals_type.html"},
+{text:"Macros",url:"globals_defs.html"}]}]},
+{text:"Examples",url:"examples.html"}]}
diff --git b/namespacehueplusplus.html a/namespacehueplusplus.html
new file mode 100644
index 0000000..249a71b
--- /dev/null
+++ a/namespacehueplusplus.html
@@ -0,0 +1,603 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus Namespace Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Namespace for the hueplusplus library.
+More...
+
+
+ gamut
+ Predefined ColorGamut s 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.
+
+
+
+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...
+
+
+
+
+
Namespace for the hueplusplus library.
+
+
+
◆ Alert
+
+
+
+
+
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
+
+
+
+
+
+
+
+
◆ alertFromString()
+
+
+
+
+
+ Alert hueplusplus::alertFromString
+ (
+ const std::string &
+ s )
+
+
+
+
+
+
+
◆ alertToString()
+
+
+
+
+
+ std::string hueplusplus::alertToString
+ (
+ Alert
+ alert )
+
+
+
+
+
+
Convert alert to string form.
+
Parameters
+
+
+
+
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
+
+ modelId Model 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
+
+ kelvin Unsigned 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
+
+ mired Unsigned integer value in Mired
+
+
+
+
Returns Unsigned integer value in Kelvin
+
+
+
+
+
+
◆ 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
+
+
+
+
+
+
+
+
+
+
+
diff --git b/namespacehueplusplus_1_1gamut.html a/namespacehueplusplus_1_1gamut.html
new file mode 100644
index 0000000..791cbea
--- /dev/null
+++ a/namespacehueplusplus_1_1gamut.html
@@ -0,0 +1,167 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::gamut Namespace Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Predefined ColorGamut s for Hue API.
+More...
+
+
+constexpr ColorGamut gamutA {{0.704f, 0.296f}, {0.2151f, 0.7106f}, {0.138f, 0.08f}}
+ Gamut A, used by most Color Lights. More...
+
+constexpr ColorGamut gamutB {{0.675f, 0.322f}, {0.409f, 0.518f}, {0.167f, 0.04f}}
+ Gamut B, used by older Extended Color Lights. More...
+
+constexpr ColorGamut gamutC {{0.692f, 0.308f}, {0.17f, 0.7f}, {0.153f, 0.048f}}
+ Gamut C, used by newer Extended Color Lights. More...
+
+constexpr ColorGamut maxGamut {{1.f, 0.f}, {0.f, 1.f}, {0.f, 0.f}}
+ Maximal gamut to be used when unknown. More...
+
+
+
+
Predefined ColorGamut s for Hue API.
+
+
+
◆ gamutA
+
+
+
+
+
+ constexpr ColorGamut hueplusplus::gamut::gamutA {{0.704f, 0.296f}, {0.2151f, 0.7106f}, {0.138f, 0.08f}}
+
+
+
+
+
Gamut A, used by most Color Lights.
+
+
+
+
+
◆ gamutB
+
+
+
+
+
+ constexpr ColorGamut hueplusplus::gamut::gamutB {{0.675f, 0.322f}, {0.409f, 0.518f}, {0.167f, 0.04f}}
+
+
+
+
+
Gamut B, used by older Extended Color Lights.
+
+
+
+
+
◆ gamutC
+
+
+
+
+
+ constexpr ColorGamut hueplusplus::gamut::gamutC {{0.692f, 0.308f}, {0.17f, 0.7f}, {0.153f, 0.048f}}
+
+
+
+
+
Gamut C, used by newer Extended Color Lights.
+
+
+
+
+
◆ maxGamut
+
+
+
+
+
+ constexpr ColorGamut hueplusplus::gamut::maxGamut {{1.f, 0.f}, {0.f, 1.f}, {0.f, 0.f}}
+
+
+
+
+
Maximal gamut to be used when unknown.
+
Note Most of this triangle is outside of visible colors.
+
+
+
+
+
+
+
+
diff --git b/namespacehueplusplus_1_1sensors.html a/namespacehueplusplus_1_1sensors.html
new file mode 100644
index 0000000..316c371
--- /dev/null
+++ a/namespacehueplusplus_1_1sensors.html
@@ -0,0 +1,392 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::sensors Namespace Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Classes for specific sensor types.
+More...
+
+
+
Classes for specific sensor types.
+
Classes should have a typeStr member with the type name.
+
+
+
◆ makeCondition() [1/8]
+
+
+
+
+
+ detail::ConditionHelper< bool > hueplusplus::sensors::makeCondition
+ (
+ const CLIPOpenClose &
+ sensor )
+
+
+
+
+
+
+
+
+
◆ makeCondition() [2/8]
+
+
+
+
+
+ detail::ConditionHelper< int > hueplusplus::sensors::makeCondition
+ (
+ const CLIPHumidity &
+ sensor )
+
+
+
+
+
+
+
+
+
◆ makeCondition() [3/8]
+
+
+
+
+
+ detail::ConditionHelper< bool > hueplusplus::sensors::makeCondition
+ (
+ const CLIPGenericFlag &
+ sensor )
+
+
+
+
+
+
+
+
+
◆ makeCondition() [4/8]
+
+
+
+
+
+ detail::ConditionHelper< int > hueplusplus::sensors::makeCondition
+ (
+ const CLIPGenericStatus &
+ sensor )
+
+
+
+
+
+
+
+
+
◆ makeCondition() [5/8]
+
+
+
+
+
+ detail::ConditionHelper< bool > hueplusplus::sensors::makeCondition
+ (
+ const DaylightSensor &
+ sensor )
+
+
+
+
+
+
+
+
+
◆ makeCondition() [6/8]
+
+
+
+
+template<typename ButtonSensor , detail::void_t< decltype(std::declval< const ButtonSensor >().getButtonEvent())> * = nullptr>
+
+
+ detail::ConditionHelper<int> hueplusplus::sensors::makeCondition
+ (
+ const ButtonSensor &
+ sensor )
+
+
+
+
+
+
+
+
+
◆ makeCondition() [7/8]
+
+
+
+
+template<typename PresenceSensor , detail::void_t< decltype(std::declval< const PresenceSensor >().getPresence())> * = nullptr>
+
+
+ detail::ConditionHelper<bool> hueplusplus::sensors::makeCondition
+ (
+ const PresenceSensor &
+ sensor )
+
+
+
+
+
+
+
+
+
◆ makeCondition() [8/8]
+
+
+
+
+template<typename TemperatureSensor , detail::void_t< decltype(std::declval< const TemperatureSensor >().getPresence())> * = nullptr>
+
+
+ detail::ConditionHelper<int> hueplusplus::sensors::makeCondition
+ (
+ const TemperatureSensor &
+ sensor )
+
+
+
+
+
+
+
+
+
◆ makeConditionDark()
+
+
+
+
+
+ detail::ConditionHelper< bool > hueplusplus::sensors::makeConditionDark
+ (
+ const ZLLLightLevel &
+ sensor )
+
+
+
+
+
+
+
+
+
◆ makeConditionDaylight()
+
+
+
+
+
+ detail::ConditionHelper< bool > hueplusplus::sensors::makeConditionDaylight
+ (
+ const ZLLLightLevel &
+ sensor )
+
+
+
+
+
+
+
+
+
◆ makeConditionLastUpdate()
+
+
+
+
+template<typename SensorT , detail::void_t< decltype(std::declval< const SensorT >().getLastUpdated())> * = nullptr>
+
+
+ detail::ConditionHelper<time::AbsoluteTime > hueplusplus::sensors::makeConditionLastUpdate
+ (
+ const SensorT &
+ sensor )
+
+
+
+
+
+
+
+
+
◆ makeConditionLightLevel()
+
+
+
+
+
+ detail::ConditionHelper< int > hueplusplus::sensors::makeConditionLightLevel
+ (
+ const ZLLLightLevel &
+ sensor )
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/namespacehueplusplus_1_1time.html a/namespacehueplusplus_1_1time.html
new file mode 100644
index 0000000..ff24284
--- /dev/null
+++ a/namespacehueplusplus_1_1time.html
@@ -0,0 +1,296 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::time Namespace Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Namespace for time/date related classes and functions.
+More...
+
+
+std::string timepointToTimestamp (std::chrono::system_clock::time_point time)
+ Converts a time_point to a timestamp string. More...
+
+std::chrono::system_clock::time_point parseTimestamp (const std::string ×tamp)
+ Converts a timestamp to a time_point. More...
+
+std::chrono::system_clock::time_point parseUTCTimestamp (const std::string ×tamp)
+ Converts an UTC timestamp to a time_point. More...
+
+std::string durationTo_hh_mm_ss (std::chrono::system_clock::duration duration)
+ Converts duration to a time string. More...
+
+std::chrono::system_clock::duration parseDuration (const std::string &hourMinSec)
+ Converts time string to a duration. More...
+
+
+
+
Namespace for time/date related classes and functions.
+
+
+
◆ durationTo_hh_mm_ss()
+
+
+
+
+
+ std::string hueplusplus::time::durationTo_hh_mm_ss
+ (
+ std::chrono::system_clock::duration
+ duration )
+
+
+
+
+
+
Converts duration to a time string.
+
Parameters
+
+ duration Duration or time of day to format. Must be less than 24 hours
+
+
+
+
Returns Duration string in the format hh:mm:ss
+
Exceptions
+
+
+
+
+
+
+
+
◆ parseDuration()
+
+
+
+
+
+ system_clock::duration hueplusplus::time::parseDuration
+ (
+ const std::string &
+ hourMinSec )
+
+
+
+
+
+
Converts time string to a duration.
+
Parameters
+
+ hourMinSec Time/duration in the format hh:mm:ss
+
+
+
+
Returns Duration (hours, minutes and seconds) from the string
+
Exceptions
+
+ std::invalid_argument when integer conversion fails
+
+
+
+
+
+
+
+
◆ parseTimestamp()
+
+
+
+
+
+ system_clock::time_point hueplusplus::time::parseTimestamp
+ (
+ const std::string &
+ timestamp )
+
+
+
+
+
+
Converts a timestamp to a time_point.
+
Parameters
+
+ timestamp Timestamp from the local time zone in the format YYYY-MM-DDT hh:mm:ss
+
+
+
+
Returns time_point of the local system clock
+
Exceptions
+
+ std::invalid_argument when integer conversion fails
+ HueException when time cannot be represented as time_point
+
+
+
+
+
+
+
+
◆ parseUTCTimestamp()
+
+
+
+
+
+ std::chrono::system_clock::time_point hueplusplus::time::parseUTCTimestamp
+ (
+ const std::string &
+ timestamp )
+
+
+
+
+
+
Converts an UTC timestamp to a time_point.
+
Parameters
+
+ timestamp UTC Timestamp the format YYYY-MM-DDT hh:mm:ss
+
+
+
+
Returns time_point of the local system clock
+
Exceptions
+
+ std::invalid_argument when integer conversion fails
+ HueException when time cannot be represented as time_point
+
+
+
+
+
+
+
+
◆ timepointToTimestamp()
+
+
+
+
+
+ std::string hueplusplus::time::timepointToTimestamp
+ (
+ std::chrono::system_clock::time_point
+ time )
+
+
+
+
+
+
Converts a time_point to a timestamp string.
+
Parameters
+
+
+
+
Returns Date and time in the format YYYY-MM-DDT hh:mm:ss.
+
Returns the time in the local time zone.
Exceptions
+
+
+
+
+
+
+
+
+
+
+
diff --git b/namespacehueplusplus_1_1utils.html a/namespacehueplusplus_1_1utils.html
new file mode 100644
index 0000000..bf40873
--- /dev/null
+++ a/namespacehueplusplus_1_1utils.html
@@ -0,0 +1,260 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::utils Namespace Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Utility functions used in multiple places.
+More...
+
+
+bool validatePUTReply (const std::string &path, const nlohmann::json &request, const nlohmann::json &reply)
+ Function for validating that a request was executed correctly. More...
+
+bool validateReplyForLight (const nlohmann::json &request, const nlohmann::json &reply, int lightId)
+
+bool floatEquals (float lhs, float rhs)
+ Checks equality to 4 decimal places. More...
+
+template<typename... Paths>
+nlohmann::json safeGetMember (const nlohmann::json &json, Paths &&... paths)
+ Returns the object/array member or null if it does not exist. More...
+
+
+
+
Utility functions used in multiple places.
+
+
+
◆ floatEquals()
+
+
+
+
+
+
+
+
+ bool hueplusplus::utils::floatEquals
+ (
+ float
+ lhs ,
+
+
+
+
+ float
+ rhs
+
+
+
+ )
+
+
+
+
+
+inline
+
+
+
+
+
Checks equality to 4 decimal places.
+
Floats in Hue json responses are rounded to 4 decimal places.
+
+
+
+
+
◆ safeGetMember()
+
+
+
+
+template<typename... Paths>
+
+
+ nlohmann::json hueplusplus::utils::safeGetMember
+ (
+ const nlohmann::json &
+ json ,
+
+
+
+
+ Paths &&...
+ paths
+
+
+
+ )
+
+
+
+
+
+
Returns the object/array member or null if it does not exist.
+
Parameters
+
+ json The base json value
+ paths Any number of child accesses (e.g. 0, "key" would access json[0]["key"])
+
+
+
+
Returns The specified member or null if any intermediate object does not contain the specified child.
+
+
+
+
+
◆ validatePUTReply()
+
+
+
+
+
+ bool hueplusplus::utils::validatePUTReply
+ (
+ const std::string &
+ path ,
+
+
+
+
+ const nlohmann::json &
+ request ,
+
+
+
+
+ const nlohmann::json &
+ reply
+
+
+
+ )
+
+
+
+
+
+
Function for validating that a request was executed correctly.
+
Parameters
+
+ path The path the PUT request was made to
+ request The request that was sent initially
+ reply The reply that was received
+
+
+
+
Returns True if request was executed correctly
+
+
+
+
+
◆ validateReplyForLight()
+
+
+
+
+
+ bool hueplusplus::utils::validateReplyForLight
+ (
+ const nlohmann::json &
+ request ,
+
+
+
+
+ const nlohmann::json &
+ reply ,
+
+
+
+
+ int
+ lightId
+
+
+
+ )
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/namespacemembers.html a/namespacemembers.html
new file mode 100644
index 0000000..3090155
--- /dev/null
+++ a/namespacemembers.html
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
+hueplusplus: Namespace Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all namespace members with links to the namespace documentation for each member:
+
+
- a -
+
+
+
- c -
+
+
+
- d -
+
+
+
- f -
+
+
+
- g -
+
+
+
- h -
+
+
+
- k -
+
+
+
- m -
+
+
+
- p -
+
+
+
- s -
+
+
+
- t -
+
+
+
- v -
+
+
+
+
+
diff --git b/namespacemembers_enum.html a/namespacemembers_enum.html
new file mode 100644
index 0000000..9ff981c
--- /dev/null
+++ a/namespacemembers_enum.html
@@ -0,0 +1,78 @@
+
+
+
+
+
+
+
+hueplusplus: Namespace Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/namespacemembers_func.html a/namespacemembers_func.html
new file mode 100644
index 0000000..0ded1ba
--- /dev/null
+++ a/namespacemembers_func.html
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+hueplusplus: Namespace Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/namespacemembers_vars.html a/namespacemembers_vars.html
new file mode 100644
index 0000000..fe6eb51
--- /dev/null
+++ a/namespacemembers_vars.html
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+
+hueplusplus: Namespace Members
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git b/namespaces.html a/namespaces.html
new file mode 100644
index 0000000..f040725
--- /dev/null
+++ a/namespaces.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+hueplusplus: Namespace List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all namespaces with brief descriptions:
+
[detail level 1 2 ]
+ ▼ N hueplusplus Namespace for the hueplusplus library
+ N gamut Predefined ColorGamut s for Hue API
+ N sensors Classes for specific sensor types
+ N time Namespace for time/date related classes and functions
+ N utils Utility functions used in multiple places
+
+
+
+
+
+
+
diff --git b/nav_f.png a/nav_f.png
new file mode 100644
index 0000000..72a58a5
--- /dev/null
+++ a/nav_f.png
diff --git b/nav_g.png a/nav_g.png
new file mode 100644
index 0000000..2093a23
--- /dev/null
+++ a/nav_g.png
diff --git b/nav_h.png a/nav_h.png
new file mode 100644
index 0000000..33389b1
--- /dev/null
+++ a/nav_h.png
diff --git b/open.png a/open.png
new file mode 100644
index 0000000..30f75c7
--- /dev/null
+++ a/open.png
diff --git b/pages.html a/pages.html
new file mode 100644
index 0000000..1464995
--- /dev/null
+++ a/pages.html
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
+hueplusplus: Related Pages
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Here is a list of all related documentation pages:
+
+
+
+
+
diff --git b/search/all_0.html a/search/all_0.html
new file mode 100644
index 0000000..f25360b
--- /dev/null
+++ a/search/all_0.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_0.js a/search/all_0.js
new file mode 100644
index 0000000..7c6ed1a
--- /dev/null
+++ a/search/all_0.js
@@ -0,0 +1,26 @@
+var searchData=
+[
+ ['absolute',['absolute',['../classhueplusplus_1_1time_1_1_time_pattern.html#a37bf49241150a0f3195dce4f189bef83',1,'hueplusplus::time::TimePattern::absolute()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#ac9fe1cd7b55c94e3476fa93d0e744340adc4d53aa0d117d8b189b36d161af4e96',1,'hueplusplus::time::TimePattern::absolute()']]],
+ ['absolutetime',['AbsoluteTime',['../classhueplusplus_1_1time_1_1_absolute_time.html',1,'hueplusplus::time::AbsoluteTime'],['../classhueplusplus_1_1time_1_1_absolute_time.html#a78ed85e1ea1356be6dbf319385498b30',1,'hueplusplus::time::AbsoluteTime::AbsoluteTime()']]],
+ ['absolutevariedtime',['AbsoluteVariedTime',['../classhueplusplus_1_1time_1_1_absolute_varied_time.html',1,'hueplusplus::time::AbsoluteVariedTime'],['../classhueplusplus_1_1time_1_1_absolute_varied_time.html#adc658d451620f95d63661194d506442d',1,'hueplusplus::time::AbsoluteVariedTime::AbsoluteVariedTime()']]],
+ ['action',['Action',['../classhueplusplus_1_1_action.html',1,'hueplusplus::Action'],['../classhueplusplus_1_1_action.html#a581153171ecf44ce583e088c9bd6f048',1,'hueplusplus::Action::Action()']]],
+ ['action_2ecpp',['Action.cpp',['../_action_8cpp.html',1,'']]],
+ ['action_2eh',['Action.h',['../_action_8h.html',1,'']]],
+ ['addclientkey',['addClientKey',['../classhueplusplus_1_1_bridge_finder.html#ac5f7abe7bc156b73732d8c59db3c9641',1,'hueplusplus::BridgeFinder']]],
+ ['addusername',['addUsername',['../classhueplusplus_1_1_bridge_finder.html#ab1fec93e45160886b712a52e3ac6d073',1,'hueplusplus::BridgeFinder']]],
+ ['alert',['alert',['../classhueplusplus_1_1_light.html#a920b8ddc9d564b3a1126a68fac1722d7',1,'hueplusplus::Light::alert()'],['../classhueplusplus_1_1_state_transaction.html#a96a44ddeae47f62531f874e0b1de7f5d',1,'hueplusplus::StateTransaction::alert()'],['../namespacehueplusplus.html#aeb1b8dcc03d48ce621a23ce3b2012c1a',1,'hueplusplus::Alert()']]],
+ ['alertfromstring',['alertFromString',['../namespacehueplusplus.html#a6da197fef27f8228fa2f4d7b5cda6663',1,'hueplusplus']]],
+ ['alerthuesaturation',['alertHueSaturation',['../classhueplusplus_1_1_color_hue_strategy.html#a08b2a131d17b8b79cd71b446bf86ecda',1,'hueplusplus::ColorHueStrategy::alertHueSaturation()'],['../classhueplusplus_1_1_extended_color_hue_strategy.html#a2c42f0bda14254299f8ecdfbfe4292b7',1,'hueplusplus::ExtendedColorHueStrategy::alertHueSaturation()'],['../classhueplusplus_1_1_light.html#a4a32fef56140dccb003516842fe958f8',1,'hueplusplus::Light::alertHueSaturation()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#afad074b1fb38b460d6e9b3031e5eaae6',1,'hueplusplus::SimpleColorHueStrategy::alertHueSaturation()']]],
+ ['alerttemperature',['alertTemperature',['../classhueplusplus_1_1_color_temperature_strategy.html#ad833f066860b1aa4cb62e4bbe5412db1',1,'hueplusplus::ColorTemperatureStrategy::alertTemperature()'],['../classhueplusplus_1_1_extended_color_temperature_strategy.html#ac04603c779e3606c88f955223b5dad88',1,'hueplusplus::ExtendedColorTemperatureStrategy::alertTemperature()'],['../classhueplusplus_1_1_light.html#ad21d944fb0054b25455338e8bf2fc4d2',1,'hueplusplus::Light::alertTemperature()'],['../classhueplusplus_1_1_simple_color_temperature_strategy.html#aaa28a89fc3314541331ea8ce4c3ea955',1,'hueplusplus::SimpleColorTemperatureStrategy::alertTemperature()']]],
+ ['alerttostring',['alertToString',['../namespacehueplusplus.html#a5cd7662da9c6923e35b22c30e3ac5e90',1,'hueplusplus']]],
+ ['alertxy',['alertXY',['../classhueplusplus_1_1_color_hue_strategy.html#a64d7fdb09457bbed5ab6c440e80a5eb6',1,'hueplusplus::ColorHueStrategy::alertXY()'],['../classhueplusplus_1_1_extended_color_hue_strategy.html#aa7ccb118dd9dda984636ac262c0489f9',1,'hueplusplus::ExtendedColorHueStrategy::alertXY()'],['../classhueplusplus_1_1_light.html#a0ec39bced79c49e31d236210392e6c38',1,'hueplusplus::Light::alertXY()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#a2de0ee6e19d621bdc18b4f837a2c30a7',1,'hueplusplus::SimpleColorHueStrategy::alertXY()']]],
+ ['all',['all',['../classhueplusplus_1_1time_1_1_weekdays.html#a361caaff5f8c4ccd720cb5f885d46076',1,'hueplusplus::time::Weekdays']]],
+ ['apicache',['APICache',['../classhueplusplus_1_1_a_p_i_cache.html',1,'hueplusplus::APICache'],['../classhueplusplus_1_1_a_p_i_cache.html#ab4657a168d72e1f2c344ef1f2f44647c',1,'hueplusplus::APICache::APICache(std::shared_ptr< APICache > baseCache, const std::string &subEntry, std::chrono::steady_clock::duration refresh)'],['../classhueplusplus_1_1_a_p_i_cache.html#ae2c4e98ff7510eb216316c927e18a772',1,'hueplusplus::APICache::APICache(const std::string &path, const HueCommandAPI &commands, std::chrono::steady_clock::duration refresh, const nlohmann::json &initial)']]],
+ ['apicache_2ecpp',['APICache.cpp',['../_a_p_i_cache_8cpp.html',1,'']]],
+ ['apicache_2eh',['APICache.h',['../_a_p_i_cache_8h.html',1,'']]],
+ ['asabsolute',['asAbsolute',['../classhueplusplus_1_1time_1_1_time_pattern.html#ac3a2c447a19e92e1ae975aae503188bc',1,'hueplusplus::time::TimePattern']]],
+ ['asinterval',['asInterval',['../classhueplusplus_1_1time_1_1_time_pattern.html#ab6b93f74e11b0d38dcf2c590332d04fb',1,'hueplusplus::time::TimePattern']]],
+ ['asrecurring',['asRecurring',['../classhueplusplus_1_1time_1_1_time_pattern.html#a7669d4aeb79f8ef0a879fc58d081f53a',1,'hueplusplus::time::TimePattern']]],
+ ['assensortype',['asSensorType',['../classhueplusplus_1_1_sensor.html#a3dd55641f02c9a59f69dd37b87f9d621',1,'hueplusplus::Sensor::asSensorType() const &'],['../classhueplusplus_1_1_sensor.html#a2aaa1a662822dfb1fc6e70b03c565b56',1,'hueplusplus::Sensor::asSensorType() &&']]],
+ ['astimer',['asTimer',['../classhueplusplus_1_1time_1_1_time_pattern.html#afb5fde175206b34ec0800bf37d706c0b',1,'hueplusplus::time::TimePattern']]]
+];
diff --git b/search/all_1.html a/search/all_1.html
new file mode 100644
index 0000000..b13f0f7
--- /dev/null
+++ a/search/all_1.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_1.js a/search/all_1.js
new file mode 100644
index 0000000..6be524d
--- /dev/null
+++ a/search/all_1.js
@@ -0,0 +1,27 @@
+var searchData=
+[
+ ['b',['b',['../structhueplusplus_1_1_r_g_b.html#a7f0452178ad85616ff065cf56915b6f4',1,'hueplusplus::RGB']]],
+ ['baseclip',['BaseCLIP',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html',1,'hueplusplus::sensors::BaseCLIP'],['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a3c40f4b4e9c742f876e51968651eb810',1,'hueplusplus::sensors::BaseCLIP::BaseCLIP()']]],
+ ['basedevice',['BaseDevice',['../classhueplusplus_1_1_base_device.html',1,'hueplusplus::BaseDevice'],['../classhueplusplus_1_1_base_device.html#a48bf88e758fd7191c599a46751755c97',1,'hueplusplus::BaseDevice::BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_base_device.html#aaa90386c0cea99464dee6bedb2c68254',1,'hueplusplus::BaseDevice::BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)']]],
+ ['basedevice_2ecpp',['BaseDevice.cpp',['../_base_device_8cpp.html',1,'']]],
+ ['basedevice_2eh',['BaseDevice.h',['../_base_device_8h.html',1,'']]],
+ ['basehttphandler',['BaseHttpHandler',['../classhueplusplus_1_1_base_http_handler.html',1,'hueplusplus']]],
+ ['basehttphandler_2ecpp',['BaseHttpHandler.cpp',['../_base_http_handler_8cpp.html',1,'']]],
+ ['basehttphandler_2eh',['BaseHttpHandler.h',['../_base_http_handler_8h.html',1,'']]],
+ ['bluecorner',['blueCorner',['../structhueplusplus_1_1_color_gamut.html#a9300f0d4b86be5dfae499f4e4d61c9a8',1,'hueplusplus::ColorGamut']]],
+ ['bridge',['Bridge',['../classhueplusplus_1_1_bridge.html',1,'hueplusplus::Bridge'],['../classhueplusplus_1_1_entertainment_mode.html#a3be4ee9ee045fc791e2606c78fbfd3e6',1,'hueplusplus::EntertainmentMode::bridge()'],['../classhueplusplus_1_1_bridge.html#a5fa0378ab3552a82d611fba6701bcad6',1,'hueplusplus::Bridge::Bridge()']]],
+ ['bridge_2ecpp',['Bridge.cpp',['../_bridge_8cpp.html',1,'']]],
+ ['bridge_2eh',['Bridge.h',['../_bridge_8h.html',1,'']]],
+ ['bridgeconfig',['BridgeConfig',['../classhueplusplus_1_1_bridge_config.html',1,'hueplusplus::BridgeConfig'],['../classhueplusplus_1_1_bridge_config.html#a9ea231a17f231f44230f1d99a91be9cd',1,'hueplusplus::BridgeConfig::BridgeConfig(std::shared_ptr< APICache > baseCache, std::chrono::steady_clock::duration refreshDuration)'],['../classhueplusplus_1_1_bridge_config.html#aba7cc6034b4c95f8e2df4e19c53a8dac',1,'hueplusplus::BridgeConfig::BridgeConfig(const BridgeConfig &)=default'],['../classhueplusplus_1_1_bridge_config.html#a0ef3ef7f8f2c0bbd53e713c005466b21',1,'hueplusplus::BridgeConfig::BridgeConfig(BridgeConfig &&)=default']]],
+ ['bridgeconfig_2ecpp',['BridgeConfig.cpp',['../_bridge_config_8cpp.html',1,'']]],
+ ['bridgeconfig_2eh',['BridgeConfig.h',['../_bridge_config_8h.html',1,'']]],
+ ['bridgefinder',['BridgeFinder',['../classhueplusplus_1_1_bridge_finder.html',1,'hueplusplus::BridgeFinder'],['../classhueplusplus_1_1_bridge.html#a1ffb423a79da8deb2ef13bb2c89b6d78',1,'hueplusplus::Bridge::BridgeFinder()'],['../classhueplusplus_1_1_bridge_finder.html#a84d4cd53894f7a1e9bde97998e59f274',1,'hueplusplus::BridgeFinder::BridgeFinder()']]],
+ ['bridgeidentification',['BridgeIdentification',['../structhueplusplus_1_1_bridge_finder_1_1_bridge_identification.html',1,'hueplusplus::BridgeFinder']]],
+ ['bridgerequestdelay',['bridgeRequestDelay',['../classhueplusplus_1_1_config.html#a736688630986956a1e97e62218403ab3',1,'hueplusplus::Config']]],
+ ['bridgesetup_2ecpp',['BridgeSetup.cpp',['../_bridge_setup_8cpp.html',1,'']]],
+ ['brightness',['brightness',['../structhueplusplus_1_1_x_y_brightness.html#a028af75d7418fdccd22d0027f83298cf',1,'hueplusplus::XYBrightness']]],
+ ['brightnessstrategy',['BrightnessStrategy',['../classhueplusplus_1_1_brightness_strategy.html',1,'hueplusplus::BrightnessStrategy'],['../classhueplusplus_1_1_light.html#af9948baaf52a9ce2ed0f145368492873',1,'hueplusplus::Light::brightnessStrategy()']]],
+ ['brightnessstrategy_2eh',['BrightnessStrategy.h',['../_brightness_strategy_8h.html',1,'']]],
+ ['build_20and_20install',['Build and install',['../build.html',1,'']]],
+ ['build_2emd',['Build.md',['../_build_8md.html',1,'']]]
+];
diff --git b/search/all_10.html a/search/all_10.html
new file mode 100644
index 0000000..d1345a1
--- /dev/null
+++ a/search/all_10.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_10.js a/search/all_10.js
new file mode 100644
index 0000000..f357444
--- /dev/null
+++ a/search/all_10.js
@@ -0,0 +1,125 @@
+var searchData=
+[
+ ['safegetmember',['safeGetMember',['../namespacehueplusplus_1_1utils.html#ae6268e7923eee8d5300471820c3d8094',1,'hueplusplus::utils']]],
+ ['saturation',['saturation',['../structhueplusplus_1_1_hue_saturation.html#a296e1ceda5a9168bf3ab90b5647d0501',1,'hueplusplus::HueSaturation']]],
+ ['saturday',['saturday',['../classhueplusplus_1_1time_1_1_weekdays.html#a0f4656f6b83f04d8309b5d97f0b172a3',1,'hueplusplus::time::Weekdays']]],
+ ['saveconfigfile',['saveConfigFile',['../_username_config_8cpp.html#a8a4e95568e5122316762a62049d48ae5',1,'UsernameConfig.cpp']]],
+ ['scene',['Scene',['../classhueplusplus_1_1_scene.html',1,'hueplusplus::Scene'],['../classhueplusplus_1_1_scene.html#af36cec2a409c66b8a625f4530bce9a31',1,'hueplusplus::Scene::Scene(const std::string &id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_scene.html#a3d8201ba0c0b528016f4fac9cf2afa4f',1,'hueplusplus::Scene::Scene(const std::string &id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)']]],
+ ['scene_2ecpp',['Scene.cpp',['../_scene_8cpp.html',1,'']]],
+ ['scene_2eh',['Scene.h',['../_scene_8h.html',1,'']]],
+ ['scenelist',['SceneList',['../classhueplusplus_1_1_bridge.html#a58df1b54c19725c1a094c7e1fa6623b7',1,'hueplusplus::Bridge']]],
+ ['scenes',['scenes',['../classhueplusplus_1_1_bridge.html#a175d390126a454a6f9a04f74e5654bdc',1,'hueplusplus::Bridge::scenes()'],['../classhueplusplus_1_1_bridge.html#af6d36575bf9cfa372bbd4ceac526eb95',1,'hueplusplus::Bridge::scenes() const']]],
+ ['schedule',['Schedule',['../classhueplusplus_1_1_schedule.html',1,'hueplusplus::Schedule'],['../classhueplusplus_1_1_schedule.html#a56ba462e44b0127f60bab94692f587c5',1,'hueplusplus::Schedule::Schedule(int id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_schedule.html#a8c3b49c82f61adb10d75fe62a051092b',1,'hueplusplus::Schedule::Schedule(int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)']]],
+ ['schedule_2ecpp',['Schedule.cpp',['../_schedule_8cpp.html',1,'']]],
+ ['schedule_2eh',['Schedule.h',['../_schedule_8h.html',1,'']]],
+ ['schedulelist',['ScheduleList',['../classhueplusplus_1_1_bridge.html#a14eafa2b131997ff70aedec2d160a14a',1,'hueplusplus::Bridge']]],
+ ['schedules',['schedules',['../classhueplusplus_1_1_bridge.html#afe68f4cac354705974cf1608f2a08420',1,'hueplusplus::Bridge::schedules()'],['../classhueplusplus_1_1_bridge.html#a915ed267f130d35ec3ef215f8c9b69fa',1,'hueplusplus::Bridge::schedules() const']]],
+ ['search',['search',['../classhueplusplus_1_1_searchable_resource_list.html#aa67cf6cc3bde30b1c8a79d98d270ae32',1,'hueplusplus::SearchableResourceList']]],
+ ['searchableresourcelist',['SearchableResourceList',['../classhueplusplus_1_1_searchable_resource_list.html',1,'hueplusplus::SearchableResourceList< Resource >'],['../classhueplusplus_1_1_searchable_resource_list.html#ab4a2bfed71c55e91dbead4d4e17d50f7',1,'hueplusplus::SearchableResourceList::SearchableResourceList()']]],
+ ['searchableresourcelist_3c_20sensor_20_3e',['SearchableResourceList< Sensor >',['../classhueplusplus_1_1_searchable_resource_list.html',1,'hueplusplus']]],
+ ['select',['select',['../namespacehueplusplus.html#aeb1b8dcc03d48ce621a23ce3b2012c1aa99938282f04071859941e18f16efcf42',1,'hueplusplus']]],
+ ['send',['send',['../classhueplusplus_1_1_i_http_handler.html#ab48c2539eac3d3af598525a6e8eab507',1,'hueplusplus::IHttpHandler::send()'],['../classhueplusplus_1_1_lin_http_handler.html#a737ed1b4d14b41d24242318d47500765',1,'hueplusplus::LinHttpHandler::send()'],['../classhueplusplus_1_1_win_http_handler.html#a1d3cd49cacaf22081bab27024cfcce33',1,'hueplusplus::WinHttpHandler::send()']]],
+ ['sendalert',['sendAlert',['../classhueplusplus_1_1_sensor.html#a8aca27f51d9dfb19432a0ce53a84ea98',1,'hueplusplus::Sensor::sendAlert()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a65c4b388a66aa817c36d0d10685e92c7',1,'hueplusplus::sensors::ZLLSwitch::sendAlert()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a7372672fc62dd530eaee6aec2be9f95d',1,'hueplusplus::sensors::ZLLPresence::sendAlert()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#a53a1e3297da367c3b356a66f30750afe',1,'hueplusplus::sensors::ZLLTemperature::sendAlert()']]],
+ ['sendgethttpbody',['sendGetHTTPBody',['../classhueplusplus_1_1_base_http_handler.html#ad5f51b25770345641c871f6efbc579aa',1,'hueplusplus::BaseHttpHandler::sendGetHTTPBody()'],['../classhueplusplus_1_1_i_http_handler.html#a84b57f1a3156d86e7a52df9b25fab77e',1,'hueplusplus::IHttpHandler::sendGetHTTPBody()']]],
+ ['sendhttprequest',['sendHTTPRequest',['../classhueplusplus_1_1_base_http_handler.html#a8a10fabfc57e4c60612bc279fae25050',1,'hueplusplus::BaseHttpHandler::sendHTTPRequest()'],['../classhueplusplus_1_1_i_http_handler.html#ac82b60eb8da6a11800e6944fd45a93d8',1,'hueplusplus::IHttpHandler::sendHTTPRequest()']]],
+ ['sendmulticast',['sendMulticast',['../classhueplusplus_1_1_i_http_handler.html#ae4de1ed96e6ecf1e41613366dc6fda32',1,'hueplusplus::IHttpHandler::sendMulticast()'],['../classhueplusplus_1_1_lin_http_handler.html#a29ff04a3ca7ca1051743763b2e30d3c5',1,'hueplusplus::LinHttpHandler::sendMulticast()'],['../classhueplusplus_1_1_win_http_handler.html#aceb94114ec78023a3cd45375205bbde5',1,'hueplusplus::WinHttpHandler::sendMulticast()']]],
+ ['sendputrequest',['sendPutRequest',['../classhueplusplus_1_1_base_device.html#ac8089e8f00d426427ed2fc7f6b817082',1,'hueplusplus::BaseDevice::sendPutRequest()'],['../classhueplusplus_1_1_group.html#a5910d8ce68581f45297e902a21ebc55d',1,'hueplusplus::Group::sendPutRequest()']]],
+ ['sensor',['Sensor',['../classhueplusplus_1_1_sensor.html',1,'hueplusplus::Sensor'],['../classhueplusplus_1_1_sensor.html#a84233dc1a8456935c0173acf3712d522',1,'hueplusplus::Sensor::Sensor(int id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_sensor.html#a5b7676f01394623c55837112c4d43f67',1,'hueplusplus::Sensor::Sensor(int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)']]],
+ ['sensor_2ecpp',['Sensor.cpp',['../_sensor_8cpp.html',1,'']]],
+ ['sensor_2eh',['Sensor.h',['../_sensor_8h.html',1,'']]],
+ ['sensorlist',['SensorList',['../classhueplusplus_1_1_sensor_list.html',1,'hueplusplus::SensorList'],['../classhueplusplus_1_1_sensor_list.html#a50856b1861e871652de5ce7185e0c5a2',1,'hueplusplus::SensorList::SensorList()']]],
+ ['sensorlist_2eh',['SensorList.h',['../_sensor_list_8h.html',1,'']]],
+ ['sensors',['sensors',['../classhueplusplus_1_1_bridge.html#acd15a988fecd561103a06e5a4ec8780b',1,'hueplusplus::Bridge::sensors()'],['../classhueplusplus_1_1_bridge.html#a6944b189b9d8ac0a3fea3391a467e46a',1,'hueplusplus::Bridge::sensors() const'],['../sensors.html',1,'(Global Namespace)']]],
+ ['sensors_2emd',['Sensors.md',['../_sensors_8md.html',1,'']]],
+ ['server_5ffd',['server_fd',['../structhueplusplus_1_1_t_l_s_context.html#ad28183b835d3cb80e012cb9a67d976dc',1,'hueplusplus::TLSContext']]],
+ ['setactions',['setActions',['../classhueplusplus_1_1_rule.html#a2d52264d66e47e2693ddd9bf4c0a46ad',1,'hueplusplus::Rule']]],
+ ['setappdata',['setAppdata',['../classhueplusplus_1_1_scene.html#a5553b042d66895d8250d5f5784589f21',1,'hueplusplus::Scene::setAppdata()'],['../classhueplusplus_1_1_create_scene.html#aef1f158ecc2f087e4051325bb879d70a',1,'hueplusplus::CreateScene::setAppdata()']]],
+ ['setautodelete',['setAutodelete',['../classhueplusplus_1_1_schedule.html#a6deae5cd422738bb4b3a6732cacbd7db',1,'hueplusplus::Schedule::setAutodelete()'],['../classhueplusplus_1_1_create_schedule.html#ad43e1ae48c343b7cc730871e5493f189',1,'hueplusplus::CreateSchedule::setAutodelete()']]],
+ ['setbatterystate',['setBatteryState',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a2e0bd2461685b0bf42bcbf77e048e07c',1,'hueplusplus::sensors::BaseCLIP::setBatteryState()'],['../classhueplusplus_1_1_sensor.html#a3ead87d4562bd0bc579877d13950bb66',1,'hueplusplus::Sensor::setBatteryState()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#ace362807d48833a215eafec996c32416',1,'hueplusplus::sensors::DaylightSensor::setBatteryState()']]],
+ ['setbrightness',['setBrightness',['../classhueplusplus_1_1_brightness_strategy.html#a2b1aa7994c5fa8cbfc20e59c4bb133ad',1,'hueplusplus::BrightnessStrategy::setBrightness()'],['../classhueplusplus_1_1_group.html#aed3c72903baccbc80e206a2fb8e10594',1,'hueplusplus::Group::setBrightness()'],['../classhueplusplus_1_1_light.html#a103f8c3ab0a6bbf17839a9fd59049ce1',1,'hueplusplus::Light::setBrightness()'],['../classhueplusplus_1_1_light_state_builder.html#abac8875aa18b3b5919ea40ac347d741f',1,'hueplusplus::LightStateBuilder::setBrightness()'],['../classhueplusplus_1_1_simple_brightness_strategy.html#a672760ff447c05b23c932b61fb862a61',1,'hueplusplus::SimpleBrightnessStrategy::setBrightness()'],['../classhueplusplus_1_1_state_transaction.html#a3502aed5c5b47f058133358959c171e5',1,'hueplusplus::StateTransaction::setBrightness()']]],
+ ['setbrightnessstrategy',['setBrightnessStrategy',['../classhueplusplus_1_1_light.html#aed932e5106c7dd16c716514a35554a56',1,'hueplusplus::Light']]],
+ ['setbuttonevent',['setButtonEvent',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_switch.html#a571de95e2e35987bd99ca3cdb4f2cb61',1,'hueplusplus::sensors::CLIPSwitch']]],
+ ['setcolor',['setColor',['../classhueplusplus_1_1_group.html#a1926d36649f120a4a688de6c94feb33e',1,'hueplusplus::Group::setColor(const HueSaturation &hueSat, uint8_t transition=4)'],['../classhueplusplus_1_1_group.html#a2b36c6ddc60844a61f2edfe63da6cf26',1,'hueplusplus::Group::setColor(const XYBrightness &xy, uint8_t transition=4)'],['../classhueplusplus_1_1_state_transaction.html#aedc15504da306e334f4da5218cc5a638',1,'hueplusplus::StateTransaction::setColor(const HueSaturation &hueSat)'],['../classhueplusplus_1_1_state_transaction.html#a8103fa22ea61bca6e70a52a39cdcc499',1,'hueplusplus::StateTransaction::setColor(const XY &xy)'],['../classhueplusplus_1_1_state_transaction.html#a95d83694839ed7efcef42cf1c3649a46',1,'hueplusplus::StateTransaction::setColor(const XYBrightness &xy)']]],
+ ['setcolorhue',['setColorHue',['../classhueplusplus_1_1_color_hue_strategy.html#ab40ebafdc3564751426246501ca9c469',1,'hueplusplus::ColorHueStrategy::setColorHue()'],['../classhueplusplus_1_1_light.html#a0c50bf851bf76150d8e37b9bf0ba47a1',1,'hueplusplus::Light::setColorHue()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#a25dc21b194e13cb6b974c1da53c2c62e',1,'hueplusplus::SimpleColorHueStrategy::setColorHue()'],['../classhueplusplus_1_1_state_transaction.html#a6861e2c1cdbf0e95b14b81869a5eb7de',1,'hueplusplus::StateTransaction::setColorHue()']]],
+ ['setcolorhuesaturation',['setColorHueSaturation',['../classhueplusplus_1_1_color_hue_strategy.html#ae1a17d7f6f2c8f46e60d975521f2ce4d',1,'hueplusplus::ColorHueStrategy::setColorHueSaturation()'],['../classhueplusplus_1_1_light.html#a378ef834d9939ed7c4835e62f506d9b1',1,'hueplusplus::Light::setColorHueSaturation()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#a1ece57b7eb0ba81c3560fb82d578a074',1,'hueplusplus::SimpleColorHueStrategy::setColorHueSaturation()']]],
+ ['setcolorhuestrategy',['setColorHueStrategy',['../classhueplusplus_1_1_light.html#a6b1291f0c5e6e41be11c7908ea1e77db',1,'hueplusplus::Light']]],
+ ['setcolorloop',['setColorLoop',['../classhueplusplus_1_1_color_hue_strategy.html#a0224a4b1fe81fcb6f5574a344f36f3eb',1,'hueplusplus::ColorHueStrategy::setColorLoop()'],['../classhueplusplus_1_1_group.html#a3975e456a1db2b89e35e521069244fce',1,'hueplusplus::Group::setColorLoop()'],['../classhueplusplus_1_1_light.html#ace958475e37b6273da1a47395076156d',1,'hueplusplus::Light::setColorLoop()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#aacd1a680e328464efa8b07ba11c971f1',1,'hueplusplus::SimpleColorHueStrategy::setColorLoop()'],['../classhueplusplus_1_1_state_transaction.html#a61daf0b474ba175cfbd09f849bee90bb',1,'hueplusplus::StateTransaction::setColorLoop()'],['../classhueplusplus_1_1_light_state_builder.html#adb9c7a603559fdb8b4f5999c44539108',1,'hueplusplus::LightStateBuilder::setColorloop()']]],
+ ['setcolorrgb',['setColorRGB',['../classhueplusplus_1_1_entertainment_mode.html#ac2798b76837ce5fd10f43d3859343333',1,'hueplusplus::EntertainmentMode::setColorRGB()'],['../classhueplusplus_1_1_light.html#a45c57a522e5785729fa7f557bf8591e3',1,'hueplusplus::Light::setColorRGB()']]],
+ ['setcolorsaturation',['setColorSaturation',['../classhueplusplus_1_1_color_hue_strategy.html#a8b95a449a9441a8891ca7e786fcef9ef',1,'hueplusplus::ColorHueStrategy::setColorSaturation()'],['../classhueplusplus_1_1_light.html#a0db3f274671a9f2246708a0d3f8b7cf3',1,'hueplusplus::Light::setColorSaturation()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#a936de128e3e29af3abc971ed3bc18c14',1,'hueplusplus::SimpleColorHueStrategy::setColorSaturation()'],['../classhueplusplus_1_1_state_transaction.html#aa436b81cd742568d6230e841826cd044',1,'hueplusplus::StateTransaction::setColorSaturation()']]],
+ ['setcolortemperature',['setColorTemperature',['../classhueplusplus_1_1_color_temperature_strategy.html#a1ad630005a49398348a0f9529a298da9',1,'hueplusplus::ColorTemperatureStrategy::setColorTemperature()'],['../classhueplusplus_1_1_group.html#aae6193c2db9a9d3dfd2f83cf978966c3',1,'hueplusplus::Group::setColorTemperature()'],['../classhueplusplus_1_1_light.html#a5f5b8b411e96493c82f4f392d3efe932',1,'hueplusplus::Light::setColorTemperature()'],['../classhueplusplus_1_1_simple_color_temperature_strategy.html#a3c7d33454cb18062e9e633a410c4cb78',1,'hueplusplus::SimpleColorTemperatureStrategy::setColorTemperature()'],['../classhueplusplus_1_1_state_transaction.html#ab4baed74a081d9c238830a301b93b265',1,'hueplusplus::StateTransaction::setColorTemperature()']]],
+ ['setcolortemperaturestrategy',['setColorTemperatureStrategy',['../classhueplusplus_1_1_light.html#a1427acdc4429be82f9a2071bdcb991b1',1,'hueplusplus::Light']]],
+ ['setcolorxy',['setColorXY',['../classhueplusplus_1_1_color_hue_strategy.html#a8053bde8a19709495b065d3abe869b64',1,'hueplusplus::ColorHueStrategy::setColorXY()'],['../classhueplusplus_1_1_light.html#aa2f35a51520f91875522b944985e757c',1,'hueplusplus::Light::setColorXY()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#a096725ab2ac09f5491b9209dd0c5e094',1,'hueplusplus::SimpleColorHueStrategy::setColorXY()']]],
+ ['setcommand',['setCommand',['../classhueplusplus_1_1_schedule.html#aa187d2ba634332e94b82a3cb5bb23b6d',1,'hueplusplus::Schedule::setCommand()'],['../classhueplusplus_1_1_create_schedule.html#a2a8aca23570656def8c7da063ee9f9ed',1,'hueplusplus::CreateSchedule::setCommand()']]],
+ ['setconditions',['setConditions',['../classhueplusplus_1_1_rule.html#aaa5523e137520cdf30b1bbc0ed191801',1,'hueplusplus::Rule']]],
+ ['setconfig',['setConfig',['../classhueplusplus_1_1_create_sensor.html#ab656e9e73f9f4b740d8f28d53aba0e10',1,'hueplusplus::CreateSensor']]],
+ ['setconfigattribute',['setConfigAttribute',['../classhueplusplus_1_1_sensor.html#a5f9b27c4f29b7827b0d0347a057739dc',1,'hueplusplus::Sensor']]],
+ ['setcoordinates',['setCoordinates',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#ab023d6b14dcd97db7df8dbd33cdd0d10',1,'hueplusplus::sensors::DaylightSensor']]],
+ ['setct',['setCt',['../classhueplusplus_1_1_light_state_builder.html#adb12ffb6286b7ad3e7e1011ab07de5f9',1,'hueplusplus::LightStateBuilder']]],
+ ['setdarkthreshold',['setDarkThreshold',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#aa27cfabbc790918b9ccaea60cf5e0b98',1,'hueplusplus::sensors::CLIPLightLevel::setDarkThreshold()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#aefb5e1a2288a98c30dca97c2d25fee68',1,'hueplusplus::sensors::ZLLLightLevel::setDarkThreshold()']]],
+ ['setdescription',['setDescription',['../classhueplusplus_1_1_schedule.html#aee001282333240612577240be9d99c6e',1,'hueplusplus::Schedule::setDescription()'],['../classhueplusplus_1_1_create_schedule.html#ac4ca666534003d3d0bfcd75c08136ee6',1,'hueplusplus::CreateSchedule::setDescription()']]],
+ ['setenabled',['setEnabled',['../classhueplusplus_1_1_rule.html#afd8050aa039ba405d009e7d286aa8bd7',1,'hueplusplus::Rule::setEnabled()'],['../classhueplusplus_1_1_schedule.html#a61eedcda0ce06a63163451e9c908f125',1,'hueplusplus::Schedule::setEnabled()']]],
+ ['setflag',['setFlag',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag.html#a6aca0af80302c69ce3885b410d2e0d26',1,'hueplusplus::sensors::CLIPGenericFlag']]],
+ ['setgroupid',['setGroupId',['../classhueplusplus_1_1_create_scene.html#aa85aa705484f782e63868191ad311a09',1,'hueplusplus::CreateScene']]],
+ ['sethuesat',['setHueSat',['../classhueplusplus_1_1_light_state_builder.html#a4294689d820c0ed715ee6ea0e2854ce4',1,'hueplusplus::LightStateBuilder']]],
+ ['sethumidity',['setHumidity',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity.html#aa4dc591a9c970f8c1f85354c6ccdcda0',1,'hueplusplus::sensors::CLIPHumidity']]],
+ ['setip',['setIP',['../classhueplusplus_1_1_bridge.html#af94ffa94ef0994756b56fb1fa54cc9c5',1,'hueplusplus::Bridge']]],
+ ['setledindication',['setLEDIndication',['../classhueplusplus_1_1_sensor.html#adfed39d4b1f2f2e17c65cff826aadd70',1,'hueplusplus::Sensor']]],
+ ['setlightids',['setLightIds',['../classhueplusplus_1_1_scene.html#a7254474bb93a029595fecd1822d9a00c',1,'hueplusplus::Scene::setLightIds()'],['../classhueplusplus_1_1_create_scene.html#a4704dbef66bf9393f5f994fe1922b7b6',1,'hueplusplus::CreateScene::setLightIds()']]],
+ ['setlightlevel',['setLightLevel',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#afc5c81756cc6d727399d10259afeb286',1,'hueplusplus::sensors::CLIPLightLevel']]],
+ ['setlights',['setLights',['../classhueplusplus_1_1_group.html#a3a559ea3f638f57a3bd78631c750cbf0',1,'hueplusplus::Group']]],
+ ['setlightstates',['setLightStates',['../classhueplusplus_1_1_scene.html#a128b333fba58f0bdc6f36d40b21aa173',1,'hueplusplus::Scene::setLightStates()'],['../classhueplusplus_1_1_create_scene.html#a17fe3dabf9ddeb6103f9feb3ca23629f',1,'hueplusplus::CreateScene::setLightStates()']]],
+ ['setname',['setName',['../classhueplusplus_1_1_base_device.html#ab7554114eee573ab784c44d53f439028',1,'hueplusplus::BaseDevice::setName()'],['../classhueplusplus_1_1_group.html#a9e9d4d67e5ff409212c13de11c8ebec5',1,'hueplusplus::Group::setName()'],['../classhueplusplus_1_1_rule.html#a03d39528e60cc96e24325cbdf9c3acb1',1,'hueplusplus::Rule::setName()'],['../classhueplusplus_1_1_create_rule.html#ad1900e340916b8574a25fa783854e2b7',1,'hueplusplus::CreateRule::setName()'],['../classhueplusplus_1_1_scene.html#a4be93f8ec12df795828bcdc86505db61',1,'hueplusplus::Scene::setName()'],['../classhueplusplus_1_1_create_scene.html#a385999e7d9b655de3bb937391386b18a',1,'hueplusplus::CreateScene::setName()'],['../classhueplusplus_1_1_schedule.html#a8188b278a735798d8ee2894271e47018',1,'hueplusplus::Schedule::setName()'],['../classhueplusplus_1_1_create_schedule.html#a025b780aa2b1de31e941c6863bbdc26e',1,'hueplusplus::CreateSchedule::setName()']]],
+ ['seton',['setOn',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a0a1c4e5eae1b40b1f9fdb8dff1da7012',1,'hueplusplus::sensors::BaseCLIP::setOn()'],['../classhueplusplus_1_1_group.html#acba209f24f41a55af7fc7669150377a9',1,'hueplusplus::Group::setOn()'],['../classhueplusplus_1_1_light_state_builder.html#a51f8f7df9ea9de50cb1db83ef772e32d',1,'hueplusplus::LightStateBuilder::setOn()'],['../classhueplusplus_1_1_sensor.html#aa42407ca9a4ecb0d1f5854f93dc42f71',1,'hueplusplus::Sensor::setOn()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#ae9b02134c3f0e143609d0a374710668b',1,'hueplusplus::sensors::DaylightSensor::setOn()'],['../classhueplusplus_1_1_state_transaction.html#a1627d0ca2714a6c24e5e1c7b9647bd70',1,'hueplusplus::StateTransaction::setOn()'],['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#aae18648544361a0f641c8e9d6870d66d',1,'hueplusplus::sensors::ZGPSwitch::setOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a00ce19739bcfc5ad2434178d2456ce34',1,'hueplusplus::sensors::ZLLSwitch::setOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#af2f85b61e31a23b8ce314d6c83e69bee',1,'hueplusplus::sensors::ZLLPresence::setOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#ac154bd9941f3bb761eb6bcbc4e6a26a5',1,'hueplusplus::sensors::ZLLTemperature::setOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#ac03f33f062807b70582b5c8917f10d51',1,'hueplusplus::sensors::ZLLLightLevel::setOn()']]],
+ ['setopen',['setOpen',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close.html#a8343f59aca20151d432309fda072b7c2',1,'hueplusplus::sensors::CLIPOpenClose']]],
+ ['setport',['setPort',['../classhueplusplus_1_1_bridge.html#af01f8a5bdc06b28d0cb150ab3d8e30df',1,'hueplusplus::Bridge']]],
+ ['setpresence',['setPresence',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_presence.html#aea01fb18cb6734177050ad448ed9bf26',1,'hueplusplus::sensors::CLIPPresence']]],
+ ['setrecycle',['setRecycle',['../classhueplusplus_1_1_create_scene.html#ac1b62a6f4b7cb48ca5b0ee0971e8f69b',1,'hueplusplus::CreateScene::setRecycle()'],['../classhueplusplus_1_1_create_schedule.html#a9af62c1f944fa1858d0df787e1222b0f',1,'hueplusplus::CreateSchedule::setRecycle()'],['../classhueplusplus_1_1_create_sensor.html#a49636ceb4843436821dec5de9ab26d38',1,'hueplusplus::CreateSensor::setRecycle()']]],
+ ['setrefreshduration',['setRefreshDuration',['../classhueplusplus_1_1_a_p_i_cache.html#a25233da7881b9046555164bcf44b0f85',1,'hueplusplus::APICache::setRefreshDuration()'],['../classhueplusplus_1_1_base_device.html#a5dd630da2c99842700d555788c0b75b1',1,'hueplusplus::BaseDevice::setRefreshDuration()'],['../classhueplusplus_1_1_bridge.html#adc8372a1ca66b86098ae5a841106d89b',1,'hueplusplus::Bridge::setRefreshDuration()'],['../classhueplusplus_1_1_bridge_config.html#a0a28d6c76ab8ee955b9a50455d7c6da7',1,'hueplusplus::BridgeConfig::setRefreshDuration()'],['../classhueplusplus_1_1_group.html#a45a76c0ae84080f4b6c0ca9c261f1774',1,'hueplusplus::Group::setRefreshDuration()'],['../classhueplusplus_1_1_resource_list.html#aa165e446439defcae7d1bf05b4576739',1,'hueplusplus::ResourceList::setRefreshDuration()'],['../classhueplusplus_1_1_rule.html#a5727bf86530b6f841030c65a689ea13a',1,'hueplusplus::Rule::setRefreshDuration()'],['../classhueplusplus_1_1_scene.html#a6c00aa56594a57e19919dbbec0b0c7a7',1,'hueplusplus::Scene::setRefreshDuration()'],['../classhueplusplus_1_1_schedule.html#a009c144f78ac062c93a9bd8a95713a73',1,'hueplusplus::Schedule::setRefreshDuration()']]],
+ ['setroomtype',['setRoomType',['../classhueplusplus_1_1_group.html#af4a2c109ea2f0da10e5054d0c6d0c5e7',1,'hueplusplus::Group']]],
+ ['setscene',['setScene',['../classhueplusplus_1_1_group.html#a9cf05320f7ead132a60b89b6ec7559a4',1,'hueplusplus::Group']]],
+ ['setsensitivity',['setSensitivity',['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a2ded85c65b2c9f2b2f44ae50a48a9b1c',1,'hueplusplus::sensors::ZLLPresence']]],
+ ['setstate',['setState',['../classhueplusplus_1_1_create_sensor.html#aee8180fd743a609d806e9d20aa8e08b5',1,'hueplusplus::CreateSensor']]],
+ ['setstateattribute',['setStateAttribute',['../classhueplusplus_1_1_sensor.html#ab864b9a83a9a47e2f1a277dc021c26f3',1,'hueplusplus::Sensor']]],
+ ['setstatus',['setStatus',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status.html#ab60139861cbe378290572e5f27ebe67d',1,'hueplusplus::sensors::CLIPGenericStatus::setStatus()'],['../classhueplusplus_1_1_create_rule.html#a42bc4ab272d5574d52360c3c17d519dc',1,'hueplusplus::CreateRule::setStatus()'],['../classhueplusplus_1_1_create_schedule.html#acfb438a663a87e944d3c48bba1b0de74',1,'hueplusplus::CreateSchedule::setStatus()']]],
+ ['setsunriseoffset',['setSunriseOffset',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a2836b0b0a761cb2777ad5a0db71fe513',1,'hueplusplus::sensors::DaylightSensor']]],
+ ['setsunsetoffset',['setSunsetOffset',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a32b93d209779418576fb12ef6122941e',1,'hueplusplus::sensors::DaylightSensor']]],
+ ['settemperature',['setTemperature',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature.html#a1489a1cd2a751006c5671897472002e2',1,'hueplusplus::sensors::CLIPTemperature']]],
+ ['setthresholdoffset',['setThresholdOffset',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#a74c8d0991dc7c3a555857ae223637f6e',1,'hueplusplus::sensors::CLIPLightLevel::setThresholdOffset()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a53b91552bec0ff50cd52236400d17754',1,'hueplusplus::sensors::ZLLLightLevel::setThresholdOffset()']]],
+ ['settime',['setTime',['../classhueplusplus_1_1_schedule.html#ac8cad59605fd436390ac0b5dfe76e359',1,'hueplusplus::Schedule::setTime()'],['../classhueplusplus_1_1_create_schedule.html#a231e689d8c9b572e68d6d94799905643',1,'hueplusplus::CreateSchedule::setTime()']]],
+ ['settransition',['setTransition',['../classhueplusplus_1_1_state_transaction.html#a6dbc9388830130f6fc43b70bfd54e21e',1,'hueplusplus::StateTransaction']]],
+ ['settransitiontime',['setTransitionTime',['../classhueplusplus_1_1_light_state_builder.html#a5ec978be73cb1648fd3e5a3ecbe04206',1,'hueplusplus::LightStateBuilder']]],
+ ['seturl',['setURL',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a557d41c2e4e5463ca67e6a45fe09a702',1,'hueplusplus::sensors::BaseCLIP::setURL()'],['../classhueplusplus_1_1_sensor.html#aba37ff1e94e65de6e176e275637fe7f8',1,'hueplusplus::Sensor::setURL()']]],
+ ['setusertest',['setUserTest',['../classhueplusplus_1_1_sensor.html#a53fb1db7e3788c2a91ab357af49f332d',1,'hueplusplus::Sensor']]],
+ ['setxy',['setXY',['../classhueplusplus_1_1_light_state_builder.html#a0a9bfdcbe02ccd9d22bf01042ec7c328',1,'hueplusplus::LightStateBuilder']]],
+ ['shared_20state_20cache',['Shared state cache',['../shared-state.html',1,'']]],
+ ['shared_5fstate_2emd',['Shared_State.md',['../_shared___state_8md.html',1,'']]],
+ ['sharedstate',['sharedState',['../classhueplusplus_1_1_resource_list.html#abc08e43ff0bd00145331db6a39fd1708',1,'hueplusplus::ResourceList']]],
+ ['simplebrightnessstrategy',['SimpleBrightnessStrategy',['../classhueplusplus_1_1_simple_brightness_strategy.html',1,'hueplusplus::SimpleBrightnessStrategy'],['../classhueplusplus_1_1_light.html#a5babb7ef26b2bbb53c32f8b2378340dd',1,'hueplusplus::Light::SimpleBrightnessStrategy()']]],
+ ['simplebrightnessstrategy_2ecpp',['SimpleBrightnessStrategy.cpp',['../_simple_brightness_strategy_8cpp.html',1,'']]],
+ ['simplebrightnessstrategy_2eh',['SimpleBrightnessStrategy.h',['../_simple_brightness_strategy_8h.html',1,'']]],
+ ['simplecolorhuestrategy',['SimpleColorHueStrategy',['../classhueplusplus_1_1_simple_color_hue_strategy.html',1,'hueplusplus::SimpleColorHueStrategy'],['../classhueplusplus_1_1_light.html#a72883e32140a640d19b91e8f778be41f',1,'hueplusplus::Light::SimpleColorHueStrategy()']]],
+ ['simplecolorhuestrategy_2ecpp',['SimpleColorHueStrategy.cpp',['../_simple_color_hue_strategy_8cpp.html',1,'']]],
+ ['simplecolorhuestrategy_2eh',['SimpleColorHueStrategy.h',['../_simple_color_hue_strategy_8h.html',1,'']]],
+ ['simplecolortemperaturestrategy',['SimpleColorTemperatureStrategy',['../classhueplusplus_1_1_simple_color_temperature_strategy.html',1,'hueplusplus::SimpleColorTemperatureStrategy'],['../classhueplusplus_1_1_light.html#a3dd11d27e5f374c0e8c88ebf6f24c7a0',1,'hueplusplus::Light::SimpleColorTemperatureStrategy()']]],
+ ['simplecolortemperaturestrategy_2ecpp',['SimpleColorTemperatureStrategy.cpp',['../_simple_color_temperature_strategy_8cpp.html',1,'']]],
+ ['simplecolortemperaturestrategy_2eh',['SimpleColorTemperatureStrategy.h',['../_simple_color_temperature_strategy_8h.html',1,'']]],
+ ['snippet1',['snippet1',['../_snippets_8cpp.html#a138eee560865a8e8b11370e992c24366',1,'Snippets.cpp']]],
+ ['snippet2',['snippet2',['../_snippets_8cpp.html#af9f7bb7703b5ac6a6329821d89f0cd93',1,'Snippets.cpp']]],
+ ['snippet3',['snippet3',['../_snippets_8cpp.html#aede0084aa1a30d1211d54171c4b3b4b1',1,'Snippets.cpp']]],
+ ['snippet4',['snippet4',['../_snippets_8cpp.html#a21c5c8eb2c24c4fb1b7fb7d3564ce3f3',1,'Snippets.cpp']]],
+ ['snippets_2ecpp',['Snippets.cpp',['../_snippets_8cpp.html',1,'']]],
+ ['socketcloser',['SocketCloser',['../classhueplusplus_1_1_socket_closer.html',1,'hueplusplus::SocketCloser'],['../classhueplusplus_1_1_socket_closer.html#aef79b72fbd95e00f2f64d150d5436505',1,'hueplusplus::SocketCloser::SocketCloser()']]],
+ ['ssl',['ssl',['../structhueplusplus_1_1_t_l_s_context.html#a1d6795347b4d9db4f5ca251717c6f09b',1,'hueplusplus::TLSContext']]],
+ ['stable',['stable',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35af40faf6384fc85a33d3b05a9d41c012b',1,'hueplusplus::Condition']]],
+ ['startstreaming',['startStreaming',['../classhueplusplus_1_1_bridge.html#aa272ef31a6dc4f3cb54b284db6d134bb',1,'hueplusplus::Bridge']]],
+ ['state',['state',['../classhueplusplus_1_1_base_device.html#a526b63fa6eb1c9dc9a7b1926ad0be27a',1,'hueplusplus::BaseDevice::state()'],['../classhueplusplus_1_1_group.html#a2043d08dd6a4d94efd6497e5d3ebe202',1,'hueplusplus::Group::state()'],['../classhueplusplus_1_1_state_transaction.html#a05bc90f9aee8ce0c536f572310384ef0',1,'hueplusplus::StateTransaction::state()']]],
+ ['statecache',['stateCache',['../classhueplusplus_1_1_resource_list.html#abc77b3be3e5e8da4c7b6cfe86637f048',1,'hueplusplus::ResourceList']]],
+ ['statetransaction',['StateTransaction',['../classhueplusplus_1_1_state_transaction.html',1,'hueplusplus::StateTransaction'],['../classhueplusplus_1_1_state_transaction.html#af91883a4732fee40fa8a1d2d1a208ac0',1,'hueplusplus::StateTransaction::StateTransaction(const HueCommandAPI &commands, const std::string &path, nlohmann::json *currentState)'],['../classhueplusplus_1_1_state_transaction.html#a9a63a91504ca2f657670287dbec71af9',1,'hueplusplus::StateTransaction::StateTransaction(const StateTransaction &)=delete'],['../classhueplusplus_1_1_state_transaction.html#a899d31dee01a44959d2acb9f041faa23',1,'hueplusplus::StateTransaction::StateTransaction(StateTransaction &&)=default']]],
+ ['statetransaction_2ecpp',['StateTransaction.cpp',['../_state_transaction_8cpp.html',1,'']]],
+ ['statetransaction_2eh',['StateTransaction.h',['../_state_transaction_8h.html',1,'']]],
+ ['stopalert',['stopAlert',['../classhueplusplus_1_1_state_transaction.html#ad9f58edbbabee2a44e6bab19462cd1a6',1,'hueplusplus::StateTransaction']]],
+ ['stopstreaming',['stopStreaming',['../classhueplusplus_1_1_bridge.html#a6382a095f2c96ee8b321d75aed285fb2',1,'hueplusplus::Bridge']]],
+ ['storecurrentlightstate',['storeCurrentLightState',['../classhueplusplus_1_1_scene.html#a92d8fe4ff4909154d5fcc9ec7aad6fb0',1,'hueplusplus::Scene::storeCurrentLightState()'],['../classhueplusplus_1_1_scene.html#a6eebd57898201cb3cef6d75fdc0bacb3',1,'hueplusplus::Scene::storeCurrentLightState(int transition)']]],
+ ['sunday',['sunday',['../classhueplusplus_1_1time_1_1_weekdays.html#a075710ede0ffd78800f473775a60f192',1,'hueplusplus::time::Weekdays']]],
+ ['systemhttphandler',['SystemHttpHandler',['../_bridge_setup_8cpp.html#a60f0bf9d32c9f2c500d20fb8e3e69e08',1,'SystemHttpHandler(): BridgeSetup.cpp'],['../_lights_off_8cpp.html#a60f0bf9d32c9f2c500d20fb8e3e69e08',1,'SystemHttpHandler(): LightsOff.cpp'],['../_username_config_8cpp.html#a60f0bf9d32c9f2c500d20fb8e3e69e08',1,'SystemHttpHandler(): UsernameConfig.cpp']]]
+];
diff --git b/search/all_11.html a/search/all_11.html
new file mode 100644
index 0000000..2be8b71
--- /dev/null
+++ a/search/all_11.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_11.js a/search/all_11.js
new file mode 100644
index 0000000..7728c4b
--- /dev/null
+++ a/search/all_11.js
@@ -0,0 +1,26 @@
+var searchData=
+[
+ ['temperature',['TEMPERATURE',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43ab976538812ef6e3e5881e245d5fc3c76',1,'hueplusplus']]],
+ ['thursday',['thursday',['../classhueplusplus_1_1time_1_1_weekdays.html#ad573bef5b1ddc41ecc21ab4bfb3fce4d',1,'hueplusplus::time::Weekdays']]],
+ ['timeinterval',['TimeInterval',['../classhueplusplus_1_1time_1_1_time_interval.html',1,'hueplusplus::time::TimeInterval'],['../classhueplusplus_1_1time_1_1_time_interval.html#a3430ee71ca0e7c34dcf35eb2b588d0f7',1,'hueplusplus::time::TimeInterval::TimeInterval()']]],
+ ['timepattern',['TimePattern',['../classhueplusplus_1_1time_1_1_time_pattern.html',1,'hueplusplus::time::TimePattern'],['../classhueplusplus_1_1time_1_1_time_pattern.html#acaf2ac962dd88b632bc7440859e7da24',1,'hueplusplus::time::TimePattern::TimePattern()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#a6e6d751afb24d9daed81cf0a6fa8d0de',1,'hueplusplus::time::TimePattern::TimePattern(const AbsoluteVariedTime &absolute)'],['../classhueplusplus_1_1time_1_1_time_pattern.html#a128fd450b493635093fecde741d34308',1,'hueplusplus::time::TimePattern::TimePattern(const RecurringTime &recurring)'],['../classhueplusplus_1_1time_1_1_time_pattern.html#a74c9b6b200ca0703b0181234e120864d',1,'hueplusplus::time::TimePattern::TimePattern(const TimeInterval &interval)'],['../classhueplusplus_1_1time_1_1_time_pattern.html#a265fcbafd76e28960e7ff0bc03323c7d',1,'hueplusplus::time::TimePattern::TimePattern(const Timer &timer)'],['../classhueplusplus_1_1time_1_1_time_pattern.html#af7b4742c5ea4221675e08f649b8ae652',1,'hueplusplus::time::TimePattern::TimePattern(const TimePattern &other)']]],
+ ['timepattern_2ecpp',['TimePattern.cpp',['../_time_pattern_8cpp.html',1,'']]],
+ ['timepattern_2eh',['TimePattern.h',['../_time_pattern_8h.html',1,'']]],
+ ['timepointtotimestamp',['timepointToTimestamp',['../namespacehueplusplus_1_1time.html#afd15eb6e086c8242a2e202536fa4c02b',1,'hueplusplus::time']]],
+ ['timer',['Timer',['../classhueplusplus_1_1time_1_1_timer.html',1,'hueplusplus::time::Timer'],['../classhueplusplus_1_1time_1_1_timer.html#a6951cf6d72bf1c11ed2c940b23bdf55f',1,'hueplusplus::time::Timer::Timer(clock::duration duration, clock::duration variation=std::chrono::seconds(0))'],['../classhueplusplus_1_1time_1_1_timer.html#a2ff3fc9c3d9f32a100b6e398ac5ca7c6',1,'hueplusplus::time::Timer::Timer(clock::duration duration, int numExecutions, clock::duration variation=std::chrono::seconds(0))'],['../classhueplusplus_1_1time_1_1_time_pattern.html#a8022c582bd776300ca6ccdc9f1353080',1,'hueplusplus::time::TimePattern::timer()'],['../structhueplusplus_1_1_t_l_s_context.html#a510c4a2a72a8fc5a17ffef5993f1562b',1,'hueplusplus::TLSContext::timer()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#ac9fe1cd7b55c94e3476fa93d0e744340a2c127bf32ccb4edf2bf22fea5a00e494',1,'hueplusplus::time::TimePattern::timer()']]],
+ ['tls_5fcontext',['tls_context',['../classhueplusplus_1_1_entertainment_mode.html#ab8b56da7696f258193c42238dade1a18',1,'hueplusplus::EntertainmentMode']]],
+ ['tlscontext',['TLSContext',['../structhueplusplus_1_1_t_l_s_context.html',1,'hueplusplus']]],
+ ['toaction',['toAction',['../classhueplusplus_1_1_state_transaction.html#a44db927471c11bab402e9a295014adff',1,'hueplusplus::StateTransaction']]],
+ ['tohuesaturation',['toHueSaturation',['../structhueplusplus_1_1_r_g_b.html#ae5a76e5318658273c774bbeb009e3bd8',1,'hueplusplus::RGB']]],
+ ['tojson',['toJson',['../classhueplusplus_1_1_action.html#a6de75285262d49b6ffb7edd4051cf6f3',1,'hueplusplus::Action::toJson()'],['../classhueplusplus_1_1_condition.html#a3d1d808aadd6f241f2210ff2a0b90024',1,'hueplusplus::Condition::toJson()'],['../classhueplusplus_1_1_light_state.html#a57f56eaf1ad775339185240091a5a950',1,'hueplusplus::LightState::toJson()']]],
+ ['tostring',['toString',['../classhueplusplus_1_1time_1_1_absolute_time.html#ab2581f035406533868d71e4c234f513d',1,'hueplusplus::time::AbsoluteTime::toString()'],['../classhueplusplus_1_1time_1_1_absolute_varied_time.html#a4b5f5159c7b8e4aabf09e412cd32b996',1,'hueplusplus::time::AbsoluteVariedTime::toString()'],['../classhueplusplus_1_1time_1_1_weekdays.html#a80b15124c7a1fc23a05a455e39ebab49',1,'hueplusplus::time::Weekdays::toString()'],['../classhueplusplus_1_1time_1_1_recurring_time.html#ab67b7999b68c968fcde7f1ef78019eac',1,'hueplusplus::time::RecurringTime::toString()'],['../classhueplusplus_1_1time_1_1_time_interval.html#a6bd0d2964a0fb6351c8d6a5c09837764',1,'hueplusplus::time::TimeInterval::toString()'],['../classhueplusplus_1_1time_1_1_timer.html#aef01fc3280be4f4c28ad6b8324929950',1,'hueplusplus::time::Timer::toString()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#af44ce554965247b8deb9442a6c8bccf4',1,'hueplusplus::time::TimePattern::toString()'],['../structhueplusplus_1_1_file_info.html#a5a3d1e5f060dd5df626003504813f116',1,'hueplusplus::FileInfo::ToString()']]],
+ ['touchlink',['touchLink',['../classhueplusplus_1_1_bridge_config.html#aed8675aff0688cb07fe0963f37e919f8',1,'hueplusplus::BridgeConfig']]],
+ ['toxy',['toXY',['../structhueplusplus_1_1_r_g_b.html#a97181e813bb57e23bf9c5d79229b2410',1,'hueplusplus::RGB::toXY() const'],['../structhueplusplus_1_1_r_g_b.html#a384635c77e3da12fe5c602d1a5bf1338',1,'hueplusplus::RGB::toXY(const ColorGamut &gamut) const']]],
+ ['transaction',['transaction',['../classhueplusplus_1_1_group.html#a0cbbc12721df742db97eb824a9356384',1,'hueplusplus::Group::transaction()'],['../classhueplusplus_1_1_light.html#a37d025adaf1791ac0ba904fa52a5bfb5',1,'hueplusplus::Light::transaction()']]],
+ ['transactions',['Transactions',['../transactions.html',1,'']]],
+ ['transactions_2emd',['Transactions.md',['../_transactions_8md.html',1,'']]],
+ ['trimrequest',['trimRequest',['../classhueplusplus_1_1_state_transaction.html#ab81a2f672ebb2de424890158e29183f9',1,'hueplusplus::StateTransaction']]],
+ ['tuesday',['tuesday',['../classhueplusplus_1_1time_1_1_weekdays.html#ae4df102f09ca6498a32a20d1636b99ce',1,'hueplusplus::time::Weekdays']]],
+ ['type',['Type',['../classhueplusplus_1_1_scene.html#a19cfeb35fc2a882f010310211d057809',1,'hueplusplus::Scene::Type()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#ac9fe1cd7b55c94e3476fa93d0e744340',1,'hueplusplus::time::TimePattern::Type()']]],
+ ['typestr',['typeStr',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_switch.html#a183c261556c24b17ffd83cfc51306ee1',1,'hueplusplus::sensors::CLIPSwitch::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close.html#a434d2f557ededa036c8ffdcc5353a13f',1,'hueplusplus::sensors::CLIPOpenClose::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_presence.html#aa9282323aaeeae75546bf1672670453e',1,'hueplusplus::sensors::CLIPPresence::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature.html#a7b8e1884c63d3cd3ac9a966024be3474',1,'hueplusplus::sensors::CLIPTemperature::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity.html#af54b5892729cf6fc3e96577b2f35a705',1,'hueplusplus::sensors::CLIPHumidity::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#ad80c2976f6bafe8d8e737b7fac0f3914',1,'hueplusplus::sensors::CLIPLightLevel::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag.html#ad1b5b51b9c75bc796ec4675d52c9c0fd',1,'hueplusplus::sensors::CLIPGenericFlag::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status.html#a91ca3a0bd8d48a8be941bd1d0b991deb',1,'hueplusplus::sensors::CLIPGenericStatus::typeStr()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a4bc8c167e6438842b20be9fbc230316e',1,'hueplusplus::sensors::DaylightSensor::typeStr()'],['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#aa991714df25bad7e99cc387c500ddf77',1,'hueplusplus::sensors::ZGPSwitch::typeStr()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#ab3bdfb9b3704d3102638af059e560455',1,'hueplusplus::sensors::ZLLSwitch::typeStr()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a6caf6add0de65f733abc97258e5a371e',1,'hueplusplus::sensors::ZLLPresence::typeStr()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#ad90946ce2465ee36f59f3b3239759ebf',1,'hueplusplus::sensors::ZLLTemperature::typeStr()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#ae640b2f9c91146a6a11f7387500587d0',1,'hueplusplus::sensors::ZLLLightLevel::typeStr()']]]
+];
diff --git b/search/all_12.html a/search/all_12.html
new file mode 100644
index 0000000..13c5263
--- /dev/null
+++ a/search/all_12.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_12.js a/search/all_12.js
new file mode 100644
index 0000000..9b10b9a
--- /dev/null
+++ a/search/all_12.js
@@ -0,0 +1,14 @@
+var searchData=
+[
+ ['undefined',['undefined',['../classhueplusplus_1_1time_1_1_time_pattern.html#a98000ee6475f81483529e81be46b4ff3',1,'hueplusplus::time::TimePattern::undefined()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#ac9fe1cd7b55c94e3476fa93d0e744340a5e543256c480ac577d30f76f9120eb74',1,'hueplusplus::time::TimePattern::undefined()'],['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43a0db45d2a4141101bdfe48e3314cfbca3',1,'hueplusplus::UNDEFINED()']]],
+ ['unionwith',['unionWith',['../classhueplusplus_1_1time_1_1_weekdays.html#adf2ac7e48f366a4c8137b839a5f3e5c2',1,'hueplusplus::time::Weekdays']]],
+ ['update',['update',['../classhueplusplus_1_1_entertainment_mode.html#a6e1c54f3d0b79329c47967e45885be12',1,'hueplusplus::EntertainmentMode']]],
+ ['upnp',['UPnP',['../classhueplusplus_1_1_u_pn_p.html',1,'hueplusplus']]],
+ ['upnp_2ecpp',['UPnP.cpp',['../_u_pn_p_8cpp.html',1,'']]],
+ ['upnp_2eh',['UPnP.h',['../_u_pn_p_8h.html',1,'']]],
+ ['upnptimeout',['upnpTimeout',['../classhueplusplus_1_1_config.html#a916ef76044aa30ba8bfd847fee1b3abb',1,'hueplusplus::Config']]],
+ ['username',['username',['../_bridge_setup_8cpp.html#adc05afa9d9bfcc39217447497e598792',1,'username(): BridgeSetup.cpp'],['../_lights_off_8cpp.html#adc05afa9d9bfcc39217447497e598792',1,'username(): LightsOff.cpp']]],
+ ['usernameconfig_2ecpp',['UsernameConfig.cpp',['../_username_config_8cpp.html',1,'']]],
+ ['utils_2ecpp',['Utils.cpp',['../_utils_8cpp.html',1,'']]],
+ ['utils_2eh',['Utils.h',['../_utils_8h.html',1,'']]]
+];
diff --git b/search/all_13.html a/search/all_13.html
new file mode 100644
index 0000000..b4a8bca
--- /dev/null
+++ a/search/all_13.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_13.js a/search/all_13.js
new file mode 100644
index 0000000..4b9b3d8
--- /dev/null
+++ a/search/all_13.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['validateputreply',['validatePUTReply',['../namespacehueplusplus_1_1utils.html#abc293509e3c09a90a1324e2f657dcce7',1,'hueplusplus::utils']]],
+ ['validatereplyforlight',['validateReplyForLight',['../namespacehueplusplus_1_1utils.html#a97489af5c31e43274bc4b502293cad33',1,'hueplusplus::utils']]],
+ ['version',['Version',['../structhueplusplus_1_1_version.html',1,'hueplusplus']]]
+];
diff --git b/search/all_14.html a/search/all_14.html
new file mode 100644
index 0000000..fb4d0ec
--- /dev/null
+++ a/search/all_14.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_14.js a/search/all_14.js
new file mode 100644
index 0000000..2ee4436
--- /dev/null
+++ a/search/all_14.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['wednesday',['wednesday',['../classhueplusplus_1_1time_1_1_weekdays.html#afcb367f7f92a10adba586bc30481d3eb',1,'hueplusplus::time::Weekdays']]],
+ ['weekdays',['Weekdays',['../classhueplusplus_1_1time_1_1_weekdays.html',1,'hueplusplus::time::Weekdays'],['../classhueplusplus_1_1time_1_1_weekdays.html#a0d22dcc32dc6fc11a4dafd33a30a98e5',1,'hueplusplus::time::Weekdays::Weekdays()'],['../classhueplusplus_1_1time_1_1_weekdays.html#aac8e58d0c5d32b27eb2f9590ad116a8b',1,'hueplusplus::time::Weekdays::Weekdays(int num)']]],
+ ['what',['what',['../classhueplusplus_1_1_hue_exception.html#ae65aa461204544aaf3899d5eb974efa2',1,'hueplusplus::HueException']]],
+ ['whitelisteduser',['WhitelistedUser',['../structhueplusplus_1_1_whitelisted_user.html',1,'hueplusplus']]],
+ ['winhttphandler',['WinHttpHandler',['../classhueplusplus_1_1_win_http_handler.html',1,'hueplusplus::WinHttpHandler'],['../classhueplusplus_1_1_win_http_handler.html#a222758a0c48a6ba0ef1a360a70575a8a',1,'hueplusplus::WinHttpHandler::WinHttpHandler()']]],
+ ['winhttphandler_2ecpp',['WinHttpHandler.cpp',['../_win_http_handler_8cpp.html',1,'']]],
+ ['winhttphandler_2eh',['WinHttpHandler.h',['../_win_http_handler_8h.html',1,'']]]
+];
diff --git b/search/all_15.html a/search/all_15.html
new file mode 100644
index 0000000..8afe9a0
--- /dev/null
+++ a/search/all_15.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_15.js a/search/all_15.js
new file mode 100644
index 0000000..17543c0
--- /dev/null
+++ a/search/all_15.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['x',['x',['../structhueplusplus_1_1_x_y.html#a69014a0d04d9edc769a146cac6cad0e1',1,'hueplusplus::XY']]],
+ ['xy',['XY',['../structhueplusplus_1_1_x_y.html',1,'hueplusplus::XY'],['../structhueplusplus_1_1_x_y_brightness.html#aa79a3630418657ec6f9bba328b8447a2',1,'hueplusplus::XYBrightness::xy()']]],
+ ['xybrightness',['XYBrightness',['../structhueplusplus_1_1_x_y_brightness.html',1,'hueplusplus']]]
+];
diff --git b/search/all_16.html a/search/all_16.html
new file mode 100644
index 0000000..e511edb
--- /dev/null
+++ a/search/all_16.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_16.js a/search/all_16.js
new file mode 100644
index 0000000..beaf4c1
--- /dev/null
+++ a/search/all_16.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['y',['y',['../structhueplusplus_1_1_x_y.html#a1b6133bce8576cdb72921678404c6dd6',1,'hueplusplus::XY']]]
+];
diff --git b/search/all_17.html a/search/all_17.html
new file mode 100644
index 0000000..5ca9efd
--- /dev/null
+++ a/search/all_17.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_17.js a/search/all_17.js
new file mode 100644
index 0000000..576616d
--- /dev/null
+++ a/search/all_17.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+ ['zgpswitch',['ZGPSwitch',['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html',1,'hueplusplus::sensors::ZGPSwitch'],['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#ac1a74b62d5772679d0a47593a9892ede',1,'hueplusplus::sensors::ZGPSwitch::ZGPSwitch()']]],
+ ['zlllightlevel',['ZLLLightLevel',['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html',1,'hueplusplus::sensors::ZLLLightLevel'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a085f531bcd867a2ec6855d704206b481',1,'hueplusplus::sensors::ZLLLightLevel::ZLLLightLevel()']]],
+ ['zllpresence',['ZLLPresence',['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html',1,'hueplusplus::sensors::ZLLPresence'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a48f688d7e696b1d3e731b715a40c67f7',1,'hueplusplus::sensors::ZLLPresence::ZLLPresence()']]],
+ ['zllsensors_2ecpp',['ZLLSensors.cpp',['../_z_l_l_sensors_8cpp.html',1,'']]],
+ ['zllsensors_2eh',['ZLLSensors.h',['../_z_l_l_sensors_8h.html',1,'']]],
+ ['zllswitch',['ZLLSwitch',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html',1,'hueplusplus::sensors::ZLLSwitch'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a821447c3df43f9c0b6f138d76b5e27bf',1,'hueplusplus::sensors::ZLLSwitch::ZLLSwitch()']]],
+ ['zlltemperature',['ZLLTemperature',['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html',1,'hueplusplus::sensors::ZLLTemperature'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#aa5507af0a017affafd47fe31c73660ac',1,'hueplusplus::sensors::ZLLTemperature::ZLLTemperature()']]],
+ ['zone',['Zone',['../classhueplusplus_1_1_create_group.html#a5dacad456a494241755b3daeb5a8b390',1,'hueplusplus::CreateGroup']]]
+];
diff --git b/search/all_18.html a/search/all_18.html
new file mode 100644
index 0000000..069edeb
--- /dev/null
+++ a/search/all_18.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_18.js a/search/all_18.js
new file mode 100644
index 0000000..931f5d9
--- /dev/null
+++ a/search/all_18.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+ ['_7ebasedevice',['~BaseDevice',['../classhueplusplus_1_1_base_device.html#ab08c354ca3eef24240f98267df4ae01a',1,'hueplusplus::BaseDevice']]],
+ ['_7ebasehttphandler',['~BaseHttpHandler',['../classhueplusplus_1_1_base_http_handler.html#a0e1250a1537f7e7f05cab75af4b9c82f',1,'hueplusplus::BaseHttpHandler']]],
+ ['_7ebrightnessstrategy',['~BrightnessStrategy',['../classhueplusplus_1_1_brightness_strategy.html#a533d29c87d26c662582f2fb52978e80b',1,'hueplusplus::BrightnessStrategy']]],
+ ['_7ecolorhuestrategy',['~ColorHueStrategy',['../classhueplusplus_1_1_color_hue_strategy.html#aeea0be527d16d4b058d09020c1945d8e',1,'hueplusplus::ColorHueStrategy']]],
+ ['_7ecolortemperaturestrategy',['~ColorTemperatureStrategy',['../classhueplusplus_1_1_color_temperature_strategy.html#a03f032e98988ea8a8c19bc7b1b60a163',1,'hueplusplus::ColorTemperatureStrategy']]],
+ ['_7eentertainmentmode',['~EntertainmentMode',['../classhueplusplus_1_1_entertainment_mode.html#ab5168db2ad934d81cc20fd811f157f0e',1,'hueplusplus::EntertainmentMode']]],
+ ['_7eihttphandler',['~IHttpHandler',['../classhueplusplus_1_1_i_http_handler.html#ac98c198e69bc091636799fd8150b9c13',1,'hueplusplus::IHttpHandler']]],
+ ['_7esocketcloser',['~SocketCloser',['../classhueplusplus_1_1_socket_closer.html#a529eb099a9b9f351c9893f971f15ff12',1,'hueplusplus::SocketCloser']]],
+ ['_7etimepattern',['~TimePattern',['../classhueplusplus_1_1time_1_1_time_pattern.html#ae7581b34789db3f29aa2f1b180fdaf76',1,'hueplusplus::time::TimePattern']]],
+ ['_7ewinhttphandler',['~WinHttpHandler',['../classhueplusplus_1_1_win_http_handler.html#a8005b6b984bb82259b5f1149fe0b97cd',1,'hueplusplus::WinHttpHandler']]]
+];
diff --git b/search/all_2.html a/search/all_2.html
new file mode 100644
index 0000000..9543c57
--- /dev/null
+++ a/search/all_2.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_2.js a/search/all_2.js
new file mode 100644
index 0000000..791dad5
--- /dev/null
+++ a/search/all_2.js
@@ -0,0 +1,69 @@
+var searchData=
+[
+ ['c_5fbutton1',['c_button1',['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#a217c7b22366aa74fa4e1be768f69ebfa',1,'hueplusplus::sensors::ZGPSwitch']]],
+ ['c_5fbutton2',['c_button2',['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#a7492028e93635836d736b040eb1d1e87',1,'hueplusplus::sensors::ZGPSwitch']]],
+ ['c_5fbutton3',['c_button3',['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#a8aa09f0d86e1aa9c063a183bc64ee8a8',1,'hueplusplus::sensors::ZGPSwitch']]],
+ ['c_5fbutton4',['c_button4',['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#a7eacb689dd3a8776a407bbc1291f147b',1,'hueplusplus::sensors::ZGPSwitch']]],
+ ['c_5fdown_5fhold',['c_DOWN_HOLD',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a44fddb117658c80827fbd05d435e4185',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fdown_5finitial_5fpress',['c_DOWN_INITIAL_PRESS',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a8849139c887c8dacd3523de9f8d34a9f',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fdown_5flong_5freleased',['c_DOWN_LONG_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a491ec86c68fd081c452d5b6d79713adb',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fdown_5fshort_5freleased',['c_DOWN_SHORT_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a5a9d638c7bd9d353b79b5c0014a42b38',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5foff_5fhold',['c_OFF_HOLD',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#aabbcceb8272767c0d920f0613e44ef94',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5foff_5finitial_5fpress',['c_OFF_INITIAL_PRESS',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a70439424ad414ac2e53ab32e6773b4d5',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5foff_5flong_5freleased',['c_OFF_LONG_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a2370f8da7986098d4cdff3f8d8131a2b',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5foff_5fshort_5freleased',['c_OFF_SHORT_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a19be6bc753b299e117a7be3ac124a610',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fon_5fhold',['c_ON_HOLD',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#ab65183a2b0f922d7206fab65b1dbcc89',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fon_5finitial_5fpress',['c_ON_INITIAL_PRESS',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a5e91e0a6996c64c10ef2126a040dcc31',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fon_5flong_5freleased',['c_ON_LONG_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a4e0c9f0de2f975c9fd3c328b7880be2f',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fon_5fshort_5freleased',['c_ON_SHORT_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a6f0b7376e7d63c3cab9d908606edad79',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5frefreshnever',['c_refreshNever',['../namespacehueplusplus.html#add9e010e3277f7763db4006cc9f46b86',1,'hueplusplus']]],
+ ['c_5fup_5fhold',['c_UP_HOLD',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#abf761d738e37c1f31acd1a8677d236d4',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fup_5finitial_5fpress',['c_UP_INITIAL_PRESS',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#ae44c5a4e35ca3293fed52b03f395d951',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fup_5flong_5freleased',['c_UP_LONG_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a933c7c9837e63060e94ce2fb3f8cdb02',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fup_5fshort_5freleased',['c_UP_SHORT_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a78f1772b70d601c88c06e84cc2b8a437',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['cacert',['cacert',['../structhueplusplus_1_1_t_l_s_context.html#a0db47cc09f651cf2c1bc8f205f13e23b',1,'hueplusplus::TLSContext']]],
+ ['clipgenericflag',['CLIPGenericFlag',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag.html',1,'hueplusplus::sensors::CLIPGenericFlag'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag.html#a28793af7c515a3e6d2183a4d909ecb58',1,'hueplusplus::sensors::CLIPGenericFlag::CLIPGenericFlag()']]],
+ ['clipgenericstatus',['CLIPGenericStatus',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status.html',1,'hueplusplus::sensors::CLIPGenericStatus'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status.html#a036e7c9f3719c788b452a6a482ee5e04',1,'hueplusplus::sensors::CLIPGenericStatus::CLIPGenericStatus()']]],
+ ['cliphumidity',['CLIPHumidity',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity.html',1,'hueplusplus::sensors::CLIPHumidity'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity.html#a3df53bb217c37479dca97f57cc895f68',1,'hueplusplus::sensors::CLIPHumidity::CLIPHumidity()']]],
+ ['cliplightlevel',['CLIPLightLevel',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html',1,'hueplusplus::sensors::CLIPLightLevel'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#affa16120847e34f1418318a3a8d40311',1,'hueplusplus::sensors::CLIPLightLevel::CLIPLightLevel()']]],
+ ['clipopenclose',['CLIPOpenClose',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close.html',1,'hueplusplus::sensors::CLIPOpenClose'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close.html#aee9642c3e9c798e51f64f4c277d9500f',1,'hueplusplus::sensors::CLIPOpenClose::CLIPOpenClose()']]],
+ ['clippresence',['CLIPPresence',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_presence.html',1,'hueplusplus::sensors::CLIPPresence'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_presence.html#a0b5fc33329ebb044b01ed8e850d63005',1,'hueplusplus::sensors::CLIPPresence::CLIPPresence()']]],
+ ['clipsensors_2ecpp',['CLIPSensors.cpp',['../_c_l_i_p_sensors_8cpp.html',1,'']]],
+ ['clipsensors_2eh',['CLIPSensors.h',['../_c_l_i_p_sensors_8h.html',1,'']]],
+ ['clipswitch',['CLIPSwitch',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_switch.html',1,'hueplusplus::sensors::CLIPSwitch'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_switch.html#a4e187b387c99563dd35c36b79545aba8',1,'hueplusplus::sensors::CLIPSwitch::CLIPSwitch()']]],
+ ['cliptemperature',['CLIPTemperature',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature.html',1,'hueplusplus::sensors::CLIPTemperature'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature.html#afb1749e3da120753e9cf0b9a87110bd2',1,'hueplusplus::sensors::CLIPTemperature::CLIPTemperature()']]],
+ ['colorgamut',['ColorGamut',['../structhueplusplus_1_1_color_gamut.html',1,'hueplusplus']]],
+ ['colorhuestrategy',['ColorHueStrategy',['../classhueplusplus_1_1_color_hue_strategy.html',1,'hueplusplus::ColorHueStrategy'],['../classhueplusplus_1_1_light.html#a58a030711463559c249e26c85e8847eb',1,'hueplusplus::Light::colorHueStrategy()']]],
+ ['colorhuestrategy_2eh',['ColorHueStrategy.h',['../_color_hue_strategy_8h.html',1,'']]],
+ ['colortemperaturestrategy',['ColorTemperatureStrategy',['../classhueplusplus_1_1_color_temperature_strategy.html',1,'hueplusplus::ColorTemperatureStrategy'],['../classhueplusplus_1_1_light.html#ac0c64d4bdaa4a26a3da35dae112101d1',1,'hueplusplus::Light::colorTemperatureStrategy()']]],
+ ['colortemperaturestrategy_2eh',['ColorTemperatureStrategy.h',['../_color_temperature_strategy_8h.html',1,'']]],
+ ['colortype',['colorType',['../classhueplusplus_1_1_light.html#a7f504e827b158c81e9ca3c57f158ae3b',1,'hueplusplus::Light::colorType()'],['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43',1,'hueplusplus::ColorType()']]],
+ ['colorunits_2ecpp',['ColorUnits.cpp',['../_color_units_8cpp.html',1,'']]],
+ ['colorunits_2eh',['ColorUnits.h',['../_color_units_8h.html',1,'']]],
+ ['combinedpath',['combinedPath',['../classhueplusplus_1_1_hue_command_a_p_i.html#ad50f6a232f2cc542da4813051f3778f0',1,'hueplusplus::HueCommandAPI']]],
+ ['commands',['commands',['../classhueplusplus_1_1_state_transaction.html#a0d95abef6863f89bae7da4e27dcca952',1,'hueplusplus::StateTransaction']]],
+ ['commit',['commit',['../classhueplusplus_1_1_state_transaction.html#aeb7dae7c01fdffad9e224e5393f83b85',1,'hueplusplus::StateTransaction']]],
+ ['condition',['Condition',['../classhueplusplus_1_1_condition.html',1,'hueplusplus::Condition'],['../classhueplusplus_1_1_condition.html#a14c0d2560c50eb6dc36b44bb825d3c82',1,'hueplusplus::Condition::Condition()']]],
+ ['condition_2eh',['Condition.h',['../_condition_8h.html',1,'']]],
+ ['conf',['conf',['../structhueplusplus_1_1_t_l_s_context.html#abd44e1ca89eeafb306cfd494d8ed50b5',1,'hueplusplus::TLSContext']]],
+ ['config',['Config',['../classhueplusplus_1_1_config.html',1,'hueplusplus::Config'],['../classhueplusplus_1_1_config.html#a8a276a5a07935c1a6c9d7620f500ef73',1,'hueplusplus::Config::Config()'],['../classhueplusplus_1_1_bridge.html#a227a51a24d21bda234a40b8b84058eb3',1,'hueplusplus::Bridge::config()'],['../classhueplusplus_1_1_bridge.html#a7823c82064faf3eb019288cbb9f7f7d3',1,'hueplusplus::Bridge::config() const']]],
+ ['connect',['connect',['../classhueplusplus_1_1_entertainment_mode.html#a007d44d14c5bd7de5fb63a0a82d16e48',1,'hueplusplus::EntertainmentMode']]],
+ ['connecttobridge',['connectToBridge',['../_bridge_setup_8cpp.html#a7b24130ecc565578d8eb32a7c4268253',1,'connectToBridge(): BridgeSetup.cpp'],['../_lights_off_8cpp.html#a7b24130ecc565578d8eb32a7c4268253',1,'connectToBridge(): LightsOff.cpp'],['../_username_config_8cpp.html#a3e03eb0222587bec230cd7e4c7021a48',1,'connectToBridge(const std::string &username, const std::string &macAddress): UsernameConfig.cpp']]],
+ ['construct',['construct',['../classhueplusplus_1_1_resource_list.html#ab98434ae91b0868dcf9cb95dfa168c95',1,'hueplusplus::ResourceList']]],
+ ['contains',['contains',['../structhueplusplus_1_1_color_gamut.html#a286da2551cbd3d1ae5b538567a78dff0',1,'hueplusplus::ColorGamut']]],
+ ['corrected',['corrected',['../structhueplusplus_1_1_color_gamut.html#a9626b384bd9869f0bc855f868cabcce7',1,'hueplusplus::ColorGamut']]],
+ ['create',['create',['../classhueplusplus_1_1_createable_resource_list.html#abf886bbd80f86e00a66c7ad61bd773c9',1,'hueplusplus::CreateableResourceList::create()'],['../classhueplusplus_1_1_light_state_builder.html#a55563029995ce2bbe679cbc6ada3188d',1,'hueplusplus::LightStateBuilder::create()'],['../classhueplusplus_1_1_hue_a_p_i_response_exception.html#a8df7ec2ba910a8a3abc7a3f67d326697',1,'hueplusplus::HueAPIResponseException::Create()']]],
+ ['createableresourcelist',['CreateableResourceList',['../classhueplusplus_1_1_createable_resource_list.html',1,'hueplusplus::CreateableResourceList< BaseResourceList, CreateType >'],['../classhueplusplus_1_1_createable_resource_list.html#aeb4f83610cae0670890bf7bb3649e9fb',1,'hueplusplus::CreateableResourceList::CreateableResourceList()']]],
+ ['createableresourcelist_3c_20resourcelist_3c_20resource_2c_20int_20_3e_2c_20createtype_20_3e',['CreateableResourceList< ResourceList< Resource, int >, CreateType >',['../classhueplusplus_1_1_createable_resource_list.html',1,'hueplusplus']]],
+ ['createableresourcelist_3c_20searchableresourcelist_3c_20sensor_20_3e_2c_20createsensor_20_3e',['CreateableResourceList< SearchableResourceList< Sensor >, CreateSensor >',['../classhueplusplus_1_1_createable_resource_list.html',1,'hueplusplus']]],
+ ['created',['created',['../structhueplusplus_1_1_whitelisted_user.html#a215b666e60ec721bb5b8238623479edb',1,'hueplusplus::WhitelistedUser']]],
+ ['creategroup',['CreateGroup',['../classhueplusplus_1_1_create_group.html',1,'hueplusplus::CreateGroup'],['../classhueplusplus_1_1_create_group.html#a7bac7ddbadae0b264044a78fbdd09671',1,'hueplusplus::CreateGroup::CreateGroup()']]],
+ ['createlight',['createLight',['../classhueplusplus_1_1_light_factory.html#a5109ceb53e042dc5b3126fba1e307618',1,'hueplusplus::LightFactory']]],
+ ['createrule',['CreateRule',['../classhueplusplus_1_1_create_rule.html',1,'hueplusplus::CreateRule'],['../classhueplusplus_1_1_create_rule.html#affe5cdbf3df4b42efb72914a38df3669',1,'hueplusplus::CreateRule::CreateRule()']]],
+ ['createscene',['CreateScene',['../classhueplusplus_1_1_create_scene.html',1,'hueplusplus']]],
+ ['createsceneaction',['createSceneAction',['../classhueplusplus_1_1_group.html#a3d645f29b34270c4557db3594dc3593a',1,'hueplusplus::Group']]],
+ ['createschedule',['CreateSchedule',['../classhueplusplus_1_1_create_schedule.html',1,'hueplusplus']]],
+ ['createsensor',['CreateSensor',['../classhueplusplus_1_1_create_sensor.html',1,'hueplusplus::CreateSensor'],['../classhueplusplus_1_1_create_sensor.html#a1dc269f6f7cd03faf0ae412f2155fb52',1,'hueplusplus::CreateSensor::CreateSensor()']]],
+ ['ctr_5fdrbg',['ctr_drbg',['../structhueplusplus_1_1_t_l_s_context.html#a2a11da610e1caf3d8967d92746ce5fed',1,'hueplusplus::TLSContext']]],
+ ['current_5ffile_5finfo',['CURRENT_FILE_INFO',['../_hue_exception_macro_8h.html#ab07b1a21cf9c784dcfdd11f20c043dcb',1,'HueExceptionMacro.h']]]
+];
diff --git b/search/all_3.html a/search/all_3.html
new file mode 100644
index 0000000..03405c0
--- /dev/null
+++ a/search/all_3.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_3.js a/search/all_3.js
new file mode 100644
index 0000000..8e762aa
--- /dev/null
+++ a/search/all_3.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+ ['daylightsensor',['DaylightSensor',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html',1,'hueplusplus::sensors::DaylightSensor'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#aac221bfc9ecd336606bc09347cf0d865',1,'hueplusplus::sensors::DaylightSensor::DaylightSensor()']]],
+ ['ddx',['ddx',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35a49d3650727f25f1831b88d97028cf8b4',1,'hueplusplus::Condition']]],
+ ['deletejson',['DELETEJson',['../classhueplusplus_1_1_base_http_handler.html#abf5e5d6c49851f3a10c6b6378b835226',1,'hueplusplus::BaseHttpHandler::DELETEJson()'],['../classhueplusplus_1_1_i_http_handler.html#a5be243abf0f41efbe25e6db52573415b',1,'hueplusplus::IHttpHandler::DELETEJson()']]],
+ ['deletemethod',['deleteMethod',['../classhueplusplus_1_1_action.html#a2181208d0b6e26bdb84e594af85b1542abd269368d92362975c0ab1bb7b461813',1,'hueplusplus::Action']]],
+ ['deleterequest',['DELETERequest',['../classhueplusplus_1_1_hue_command_a_p_i.html#ac7417f064a171a2f8990841f173db722',1,'hueplusplus::HueCommandAPI::DELETERequest(const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const'],['../classhueplusplus_1_1_hue_command_a_p_i.html#aab29d46cffd2f79852a870cfe0b62cb3',1,'hueplusplus::HueCommandAPI::DELETERequest(const std::string &path, const nlohmann::json &request) const']]],
+ ['deletestring',['DELETEString',['../classhueplusplus_1_1_base_http_handler.html#a139cbb13a19d3f12b8242bbe7e18b850',1,'hueplusplus::BaseHttpHandler::DELETEString()'],['../classhueplusplus_1_1_i_http_handler.html#a4b164d1b31ce008845d9b83071ec9784',1,'hueplusplus::IHttpHandler::DELETEString()']]],
+ ['disconnect',['disconnect',['../classhueplusplus_1_1_entertainment_mode.html#a55896dab15a5be5b14f9502d70401820',1,'hueplusplus::EntertainmentMode']]],
+ ['durationto_5fhh_5fmm_5fss',['durationTo_hh_mm_ss',['../namespacehueplusplus_1_1time.html#aeee784c375bcc301727eab3fe8e67d03',1,'hueplusplus::time']]],
+ ['dx',['dx',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35aacd2b09d39705a84bff035c18c9faea9',1,'hueplusplus::Condition']]],
+ ['documentation_20for_20the_20hueplusplus_20library',['Documentation for the hueplusplus library',['../index.html',1,'']]]
+];
diff --git b/search/all_4.html a/search/all_4.html
new file mode 100644
index 0000000..8e1f4b9
--- /dev/null
+++ a/search/all_4.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_4.js a/search/all_4.js
new file mode 100644
index 0000000..dd95e63
--- /dev/null
+++ a/search/all_4.js
@@ -0,0 +1,18 @@
+var searchData=
+[
+ ['entertainment',['Entertainment',['../classhueplusplus_1_1_create_group.html#a4b83c544258d31ec69d7b90515c41af9',1,'hueplusplus::CreateGroup']]],
+ ['entertainment_5fmsg',['entertainment_msg',['../classhueplusplus_1_1_entertainment_mode.html#aad4b9d6b60f5e59f11b1fc7f0f51d590',1,'hueplusplus::EntertainmentMode']]],
+ ['entertainment_5fnum_5flights',['entertainment_num_lights',['../classhueplusplus_1_1_entertainment_mode.html#a5d5578dab3ba8ef2ea1df59e7780f43f',1,'hueplusplus::EntertainmentMode']]],
+ ['entertainmentmode',['EntertainmentMode',['../classhueplusplus_1_1_entertainment_mode.html',1,'hueplusplus::EntertainmentMode'],['../classhueplusplus_1_1_entertainment_mode.html#a75c6c2abf66975a8eda41e84d619345f',1,'hueplusplus::EntertainmentMode::EntertainmentMode()']]],
+ ['entertainmentmode_2ecpp',['EntertainmentMode.cpp',['../_entertainment_mode_8cpp.html',1,'']]],
+ ['entertainmentmode_2eh',['EntertainmentMode.h',['../_entertainment_mode_8h.html',1,'']]],
+ ['entropy',['entropy',['../structhueplusplus_1_1_t_l_s_context.html#a73df19b9d266ff35ca24930e941c80fe',1,'hueplusplus::TLSContext']]],
+ ['eq',['eq',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35adf22f17124884fc51f1ac69d610096ac',1,'hueplusplus::Condition']]],
+ ['exists',['exists',['../classhueplusplus_1_1_resource_list.html#af5e884eefde0a45d53f029a9f30a6ab7',1,'hueplusplus::ResourceList::exists(const IdType &id)'],['../classhueplusplus_1_1_resource_list.html#a8c0219d853d551394020b7b482518070',1,'hueplusplus::ResourceList::exists(const IdType &id) const'],['../classhueplusplus_1_1_group_resource_list.html#ac9fca6bd61117170325efd7c903dc95d',1,'hueplusplus::GroupResourceList::exists()']]],
+ ['extendedcolorhuestrategy',['ExtendedColorHueStrategy',['../classhueplusplus_1_1_extended_color_hue_strategy.html',1,'hueplusplus::ExtendedColorHueStrategy'],['../classhueplusplus_1_1_light.html#a9c3ccafa802cdb32c292c49f575148f4',1,'hueplusplus::Light::ExtendedColorHueStrategy()']]],
+ ['extendedcolorhuestrategy_2ecpp',['ExtendedColorHueStrategy.cpp',['../_extended_color_hue_strategy_8cpp.html',1,'']]],
+ ['extendedcolorhuestrategy_2eh',['ExtendedColorHueStrategy.h',['../_extended_color_hue_strategy_8h.html',1,'']]],
+ ['extendedcolortemperaturestrategy',['ExtendedColorTemperatureStrategy',['../classhueplusplus_1_1_extended_color_temperature_strategy.html',1,'hueplusplus::ExtendedColorTemperatureStrategy'],['../classhueplusplus_1_1_light.html#a39b9af853936935617664c3f7814d910',1,'hueplusplus::Light::ExtendedColorTemperatureStrategy()']]],
+ ['extendedcolortemperaturestrategy_2ecpp',['ExtendedColorTemperatureStrategy.cpp',['../_extended_color_temperature_strategy_8cpp.html',1,'']]],
+ ['extendedcolortemperaturestrategy_2eh',['ExtendedColorTemperatureStrategy.h',['../_extended_color_temperature_strategy_8h.html',1,'']]]
+];
diff --git b/search/all_5.html a/search/all_5.html
new file mode 100644
index 0000000..89a879e
--- /dev/null
+++ a/search/all_5.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_5.js a/search/all_5.js
new file mode 100644
index 0000000..f941a24
--- /dev/null
+++ a/search/all_5.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+ ['factory',['factory',['../classhueplusplus_1_1_resource_list.html#ac5777102379d55049380d777e779f56f',1,'hueplusplus::ResourceList']]],
+ ['fileinfo',['FileInfo',['../structhueplusplus_1_1_file_info.html',1,'hueplusplus']]],
+ ['filename',['filename',['../structhueplusplus_1_1_file_info.html#a0e70a519d2b615963abf5cb2ff4bca4f',1,'hueplusplus::FileInfo']]],
+ ['findbridges',['findBridges',['../classhueplusplus_1_1_bridge_finder.html#a86cce17f26187a97547a44fab8c920a1',1,'hueplusplus::BridgeFinder']]],
+ ['floatequals',['floatEquals',['../namespacehueplusplus_1_1utils.html#abd53f5a43053f94209d8195fc4674665',1,'hueplusplus::utils']]],
+ ['friday',['friday',['../classhueplusplus_1_1time_1_1_weekdays.html#a9a1deb5cd9daaa5ba6c85961b1068bc9',1,'hueplusplus::time::Weekdays']]],
+ ['fromxy',['fromXY',['../structhueplusplus_1_1_r_g_b.html#a9093468df3cd85942062efa3ea3f121a',1,'hueplusplus::RGB::fromXY(const XYBrightness &xy)'],['../structhueplusplus_1_1_r_g_b.html#a2e0ae706b310640dd2640c03a0308fe4',1,'hueplusplus::RGB::fromXY(const XYBrightness &xy, const ColorGamut &gamut)']]],
+ ['func',['func',['../structhueplusplus_1_1_file_info.html#a1da7fcb189d66c18492c4678d452b0fd',1,'hueplusplus::FileInfo']]]
+];
diff --git b/search/all_6.html a/search/all_6.html
new file mode 100644
index 0000000..6afac06
--- /dev/null
+++ a/search/all_6.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_6.js a/search/all_6.js
new file mode 100644
index 0000000..75b81ce
--- /dev/null
+++ a/search/all_6.js
@@ -0,0 +1,142 @@
+var searchData=
+[
+ ['g',['g',['../structhueplusplus_1_1_r_g_b.html#a33f1e36fbdc5531fd94055729d61624d',1,'hueplusplus::RGB']]],
+ ['gamut_5fa',['GAMUT_A',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43acb12f7ecdf09fc7c16dd11aa9c6fb9ed',1,'hueplusplus']]],
+ ['gamut_5fa_5ftemperature',['GAMUT_A_TEMPERATURE',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43a189c02d10c499277b86e179440e71848',1,'hueplusplus']]],
+ ['gamut_5fb',['GAMUT_B',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43aca225844aaa69efde18ab37ee40e76b4',1,'hueplusplus']]],
+ ['gamut_5fb_5ftemperature',['GAMUT_B_TEMPERATURE',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43acb8141a951a917a3dc3354b079e0b251',1,'hueplusplus']]],
+ ['gamut_5fc',['GAMUT_C',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43af87f15ae56e1182d08c4d7e142007618',1,'hueplusplus']]],
+ ['gamut_5fc_5ftemperature',['GAMUT_C_TEMPERATURE',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43ad1b983724d106f950a4d1eb0ecd2683c',1,'hueplusplus']]],
+ ['gamut_5fother',['GAMUT_OTHER',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43ae100b2c55540df23847244edf46da251',1,'hueplusplus']]],
+ ['gamut_5fother_5ftemperature',['GAMUT_OTHER_TEMPERATURE',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43a48e009dd5be70f354fd266843089718d',1,'hueplusplus']]],
+ ['gamuta',['gamutA',['../namespacehueplusplus_1_1gamut.html#abd61ca546ae6e3d3bd168c1a42fc4f2f',1,'hueplusplus::gamut']]],
+ ['gamutb',['gamutB',['../namespacehueplusplus_1_1gamut.html#a6da695fd06906173a05d15e77c84b821',1,'hueplusplus::gamut']]],
+ ['gamutc',['gamutC',['../namespacehueplusplus_1_1gamut.html#a3f60620a263cb256bd4c89b958d4e342',1,'hueplusplus::gamut']]],
+ ['get',['get',['../classhueplusplus_1_1_resource_list.html#a7bcf2ed48e70e9f11a4b6bdc24e0e611',1,'hueplusplus::ResourceList::get()'],['../classhueplusplus_1_1_group_resource_list.html#a06bda9ca6016b48eb6a4a5f86a67c76d',1,'hueplusplus::GroupResourceList::get()']]],
+ ['getactionbrightness',['getActionBrightness',['../classhueplusplus_1_1_group.html#a33472d243016526df7cca8a53a087894',1,'hueplusplus::Group::getActionBrightness()'],['../classhueplusplus_1_1_group.html#a0935ac3407b4242faf32fa74d6b1273a',1,'hueplusplus::Group::getActionBrightness() const']]],
+ ['getactioncolormode',['getActionColorMode',['../classhueplusplus_1_1_group.html#afdfb33e00d24c9b2659e9625300b040f',1,'hueplusplus::Group::getActionColorMode()'],['../classhueplusplus_1_1_group.html#a3cd1ab29daa6c6eda78568b18373a8da',1,'hueplusplus::Group::getActionColorMode() const']]],
+ ['getactioncolortemperature',['getActionColorTemperature',['../classhueplusplus_1_1_group.html#a5faa9eba8b9d932c0d1bb1e4ff6e3d68',1,'hueplusplus::Group::getActionColorTemperature()'],['../classhueplusplus_1_1_group.html#ae158416211315055594e47c47cf02254',1,'hueplusplus::Group::getActionColorTemperature() const']]],
+ ['getactioncolorxy',['getActionColorXY',['../classhueplusplus_1_1_group.html#a2bc1464d7a85a3f3315233c11fbdcc90',1,'hueplusplus::Group::getActionColorXY()'],['../classhueplusplus_1_1_group.html#aac0ffc91d023824abcbfd189f336a969',1,'hueplusplus::Group::getActionColorXY() const']]],
+ ['getactionhuesaturation',['getActionHueSaturation',['../classhueplusplus_1_1_group.html#ae46361ffec4f0103f257d04b582b136a',1,'hueplusplus::Group::getActionHueSaturation()'],['../classhueplusplus_1_1_group.html#a411f3566414105e139e32f91a9c0040b',1,'hueplusplus::Group::getActionHueSaturation() const']]],
+ ['getactionon',['getActionOn',['../classhueplusplus_1_1_group.html#a817792ccaa71be19c9d64415c8415f4d',1,'hueplusplus::Group::getActionOn()'],['../classhueplusplus_1_1_group.html#a0b4189da2f630035f98950174f442123',1,'hueplusplus::Group::getActionOn() const']]],
+ ['getactions',['getActions',['../classhueplusplus_1_1_rule.html#a31e79a56c195fd1d071c3810d58c8306',1,'hueplusplus::Rule']]],
+ ['getaddress',['getAddress',['../classhueplusplus_1_1_action.html#a258c2d4a88d5eed9dc85a2539fbcbd71',1,'hueplusplus::Action::getAddress()'],['../classhueplusplus_1_1_condition.html#a31f46f01e55a3e75b5136e7f4a02bee1',1,'hueplusplus::Condition::getAddress()'],['../classhueplusplus_1_1_hue_a_p_i_response_exception.html#a09d3e179c87c248ad93fc89b15e3a2f4',1,'hueplusplus::HueAPIResponseException::GetAddress()']]],
+ ['getall',['getAll',['../classhueplusplus_1_1_resource_list.html#ad7b3bef47b0c09764377cbad327545df',1,'hueplusplus::ResourceList']]],
+ ['getallbytype',['getAllByType',['../classhueplusplus_1_1_sensor_list.html#a5f6cd913954558252ef97ead28890ec3',1,'hueplusplus::SensorList']]],
+ ['getallon',['getAllOn',['../classhueplusplus_1_1_group.html#a2afaf3ff50700dfa9f86f33da7d26924',1,'hueplusplus::Group::getAllOn()'],['../classhueplusplus_1_1_group.html#a5531d2638f445fc01ee283f37dd3fb9e',1,'hueplusplus::Group::getAllOn() const']]],
+ ['getallusernames',['getAllUsernames',['../classhueplusplus_1_1_bridge_finder.html#abb2235e0866f51c3e81740f14de7b5aa',1,'hueplusplus::BridgeFinder']]],
+ ['getanyon',['getAnyOn',['../classhueplusplus_1_1_group.html#a56c238a0be5ec2c4966bac3a0cf872c5',1,'hueplusplus::Group::getAnyOn()'],['../classhueplusplus_1_1_group.html#aba6ad6c4eaacfd8de07aa19cdc91e6bf',1,'hueplusplus::Group::getAnyOn() const']]],
+ ['getappdata',['getAppdata',['../classhueplusplus_1_1_scene.html#ace8d2afe38bb83b212a38ca3987159cd',1,'hueplusplus::Scene']]],
+ ['getappdataversion',['getAppdataVersion',['../classhueplusplus_1_1_scene.html#a984f199c995a69ccc75aeed33678fe40',1,'hueplusplus::Scene']]],
+ ['getastype',['getAsType',['../classhueplusplus_1_1_sensor_list.html#a3dcafc979eaa60e7b725ae50488be6df',1,'hueplusplus::SensorList']]],
+ ['getautodelete',['getAutodelete',['../classhueplusplus_1_1_schedule.html#ad4a98b010f829287a26cc009838ad4d6',1,'hueplusplus::Schedule']]],
+ ['getbasetime',['getBaseTime',['../classhueplusplus_1_1time_1_1_absolute_time.html#a8db3aa8a4f512313791980dcd78c537e',1,'hueplusplus::time::AbsoluteTime']]],
+ ['getbatterystate',['getBatteryState',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a75dfc889adfac25ac5a4ad980a5c03eb',1,'hueplusplus::sensors::BaseCLIP::getBatteryState()'],['../classhueplusplus_1_1_sensor.html#a4a5e4c75a5b540ff8abc5d8b06037009',1,'hueplusplus::Sensor::getBatteryState()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a763c567bcc73a8e6d5c4dfcbe1191e21',1,'hueplusplus::sensors::DaylightSensor::getBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a17e5a1725ae1d531df52bb0db39f0c32',1,'hueplusplus::sensors::ZLLSwitch::getBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a99bc316363df93b87038faeae9758ffd',1,'hueplusplus::sensors::ZLLPresence::getBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#a850d8e541127288ba9712d72ca1ab8e2',1,'hueplusplus::sensors::ZLLTemperature::getBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a7371f4518a9d6314c02919723d3e2ddf',1,'hueplusplus::sensors::ZLLLightLevel::getBatteryState()']]],
+ ['getbody',['getBody',['../classhueplusplus_1_1_action.html#a25e3761540d73055114b68c931353b72',1,'hueplusplus::Action']]],
+ ['getbridge',['getBridge',['../classhueplusplus_1_1_bridge_finder.html#a9ff121c380ceaceaf5da2b7a772e5c4b',1,'hueplusplus::BridgeFinder']]],
+ ['getbridgeip',['getBridgeIP',['../classhueplusplus_1_1_bridge.html#a2565e0a09e18554859e14d13edd2570a',1,'hueplusplus::Bridge']]],
+ ['getbridgeport',['getBridgePort',['../classhueplusplus_1_1_bridge.html#abbb06fcb89f58935d5f59fced64b3d53',1,'hueplusplus::Bridge']]],
+ ['getbridgerequestdelay',['getBridgeRequestDelay',['../classhueplusplus_1_1_config.html#a56db272f4aa05465887b57832b6bb15c',1,'hueplusplus::Config']]],
+ ['getbrightness',['getBrightness',['../classhueplusplus_1_1_brightness_strategy.html#aff420173a780d5bdcabdf46938bb3cb8',1,'hueplusplus::BrightnessStrategy::getBrightness(Light &light) const =0'],['../classhueplusplus_1_1_brightness_strategy.html#a48832602c53d6921a9c0a7cf0d7789e3',1,'hueplusplus::BrightnessStrategy::getBrightness(const Light &light) const =0'],['../classhueplusplus_1_1_light.html#a9c2acffeb03fe5e4ce90d88c319a3326',1,'hueplusplus::Light::getBrightness() const'],['../classhueplusplus_1_1_light.html#ace8771637e9489f5063c001b5caddac3',1,'hueplusplus::Light::getBrightness()'],['../classhueplusplus_1_1_light_state.html#aa2cca920ce887dc9febe0d40b1804862',1,'hueplusplus::LightState::getBrightness()'],['../classhueplusplus_1_1_simple_brightness_strategy.html#a8e9c818098ffc9501d3f0b3fcc25ae6b',1,'hueplusplus::SimpleBrightnessStrategy::getBrightness(Light &light) const override'],['../classhueplusplus_1_1_simple_brightness_strategy.html#a5b7e947195fc285d15f32a07e1484cd8',1,'hueplusplus::SimpleBrightnessStrategy::getBrightness(const Light &light) const override']]],
+ ['getbuttonevent',['getButtonEvent',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_switch.html#adb91a6490b5ec05640330feb9bc94202',1,'hueplusplus::sensors::CLIPSwitch::getButtonEvent()'],['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#a736c8c1c6896793444a4d54675c9daa9',1,'hueplusplus::sensors::ZGPSwitch::getButtonEvent()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#acb19cd28c93b2a5017535c5d0e97ec3f',1,'hueplusplus::sensors::ZLLSwitch::getButtonEvent()']]],
+ ['getclientkey',['getClientKey',['../classhueplusplus_1_1_bridge.html#a82efe66d4376ffa406d45ac10fbfaf6a',1,'hueplusplus::Bridge']]],
+ ['getcolorgamut',['getColorGamut',['../classhueplusplus_1_1_light.html#aa389d6eebf6a843d76a4dc40504278f1',1,'hueplusplus::Light']]],
+ ['getcolorhuesaturation',['getColorHueSaturation',['../classhueplusplus_1_1_color_hue_strategy.html#a0fb1e28eca3469ddc031d31e06e1e507',1,'hueplusplus::ColorHueStrategy::getColorHueSaturation(Light &light) const =0'],['../classhueplusplus_1_1_color_hue_strategy.html#a2ee78ad5dfc75ecbef7f521718437c5c',1,'hueplusplus::ColorHueStrategy::getColorHueSaturation(const Light &light) const =0'],['../classhueplusplus_1_1_light.html#ad95677b99a9cde2027789bc42c3357a3',1,'hueplusplus::Light::getColorHueSaturation() const'],['../classhueplusplus_1_1_light.html#a964f95119071333b43927b90bfaea91d',1,'hueplusplus::Light::getColorHueSaturation()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#aa1f4a94edc6e4d93380f53985d09770a',1,'hueplusplus::SimpleColorHueStrategy::getColorHueSaturation(Light &light) const override'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#ae083f1201116f57402c8cc1139d0f2d8',1,'hueplusplus::SimpleColorHueStrategy::getColorHueSaturation(const Light &light) const override']]],
+ ['getcolorloop',['getColorloop',['../classhueplusplus_1_1_light_state.html#a9cf8d4814cd5c58689d5f15be1614394',1,'hueplusplus::LightState']]],
+ ['getcolortemperature',['getColorTemperature',['../classhueplusplus_1_1_color_temperature_strategy.html#a652b3099bf4ad23730d8ada66a117c69',1,'hueplusplus::ColorTemperatureStrategy::getColorTemperature(Light &light) const =0'],['../classhueplusplus_1_1_color_temperature_strategy.html#af962d62a442ff1e218fb5482673a0a95',1,'hueplusplus::ColorTemperatureStrategy::getColorTemperature(const Light &light) const =0'],['../classhueplusplus_1_1_light.html#aa594a5ef3f74f4a67b334a51b953cef3',1,'hueplusplus::Light::getColorTemperature() const'],['../classhueplusplus_1_1_light.html#aac4924bb706d4a7548ad8dbb47a6b9cf',1,'hueplusplus::Light::getColorTemperature()'],['../classhueplusplus_1_1_simple_color_temperature_strategy.html#a9e03451c7f6005c351805206f33f2a14',1,'hueplusplus::SimpleColorTemperatureStrategy::getColorTemperature(Light &light) const override'],['../classhueplusplus_1_1_simple_color_temperature_strategy.html#a94ef284d875bd9c8dbae0e9d79ea3b73',1,'hueplusplus::SimpleColorTemperatureStrategy::getColorTemperature(const Light &light) const override']]],
+ ['getcolortype',['getColorType',['../classhueplusplus_1_1_light.html#abfff60ed1b992b11ebff8af37586e2a8',1,'hueplusplus::Light']]],
+ ['getcolorxy',['getColorXY',['../classhueplusplus_1_1_color_hue_strategy.html#a0dcffc8b665b6bc9d41abd05ec785f67',1,'hueplusplus::ColorHueStrategy::getColorXY(Light &light) const =0'],['../classhueplusplus_1_1_color_hue_strategy.html#a53cadaf89f8e577d11fdb6934111801d',1,'hueplusplus::ColorHueStrategy::getColorXY(const Light &light) const =0'],['../classhueplusplus_1_1_light.html#a1ea91616036e3ba59b4590f69d1fc8bd',1,'hueplusplus::Light::getColorXY() const'],['../classhueplusplus_1_1_light.html#a41ea854f1fb0331c7bf8c8595ef9e443',1,'hueplusplus::Light::getColorXY()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#ad99046addfc831239ffb8ff1335918cc',1,'hueplusplus::SimpleColorHueStrategy::getColorXY(Light &light) const override'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#a2066753c965a67613d50df345a32b4dd',1,'hueplusplus::SimpleColorHueStrategy::getColorXY(const Light &light) const override']]],
+ ['getcommand',['getCommand',['../classhueplusplus_1_1_schedule.html#a22f049cb0c5ba126481250e74615eb33',1,'hueplusplus::Schedule']]],
+ ['getcommandapi',['getCommandAPI',['../classhueplusplus_1_1_a_p_i_cache.html#afbbe9068d0b6e8e3b600091c51123464',1,'hueplusplus::APICache::getCommandAPI()'],['../classhueplusplus_1_1_a_p_i_cache.html#afa68d56e9779ef00d8d7f7e96eb2a370',1,'hueplusplus::APICache::getCommandAPI() const']]],
+ ['getconditions',['getConditions',['../classhueplusplus_1_1_rule.html#a0c3819214da64185770884db5ff84b6a',1,'hueplusplus::Rule']]],
+ ['getconfig',['getConfig',['../classhueplusplus_1_1_sensor.html#aa91a849fbe0971ce5589f08d5b814a6b',1,'hueplusplus::Sensor']]],
+ ['getcreated',['getCreated',['../classhueplusplus_1_1_rule.html#a5e20165123645da1bc06cda330cddbda',1,'hueplusplus::Rule::getCreated()'],['../classhueplusplus_1_1_schedule.html#a914f1463caa28b61f6c5f0ce2b1fba15',1,'hueplusplus::Schedule::getCreated()']]],
+ ['getct',['getCt',['../classhueplusplus_1_1_light_state.html#a453c70559216604c143a70aed55f181f',1,'hueplusplus::LightState']]],
+ ['getdarkthreshold',['getDarkThreshold',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#aae98001eb1eb812cb801dd093d1ca774',1,'hueplusplus::sensors::CLIPLightLevel::getDarkThreshold()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a22dc9ba301c7b820483ef86bf0226ef0',1,'hueplusplus::sensors::ZLLLightLevel::getDarkThreshold()']]],
+ ['getdaytime',['getDaytime',['../classhueplusplus_1_1time_1_1_recurring_time.html#ab709e2ed62f8f4926e3e3639a904b3d8',1,'hueplusplus::time::RecurringTime']]],
+ ['getdescription',['GetDescription',['../classhueplusplus_1_1_hue_a_p_i_response_exception.html#a88e40694e6f6453b43ac669792bd8a3d',1,'hueplusplus::HueAPIResponseException::GetDescription()'],['../classhueplusplus_1_1_schedule.html#ac61b203d8c78f8f221a06ba80489147c',1,'hueplusplus::Schedule::getDescription()']]],
+ ['getdevices',['getDevices',['../classhueplusplus_1_1_u_pn_p.html#a882fae9e6413025dd6479e26cd06d317',1,'hueplusplus::UPnP']]],
+ ['getendtime',['getEndTime',['../classhueplusplus_1_1time_1_1_time_interval.html#a04d6b49d10816228599940bd66c87887',1,'hueplusplus::time::TimeInterval']]],
+ ['geterrornumber',['GetErrorNumber',['../classhueplusplus_1_1_hue_a_p_i_response_exception.html#ad2b4971e74b5c257674c0d3b8836bd94',1,'hueplusplus::HueAPIResponseException']]],
+ ['getexpirytime',['getExpiryTime',['../classhueplusplus_1_1time_1_1_timer.html#a17ba161fff51473bd262fbd3b2692453',1,'hueplusplus::time::Timer']]],
+ ['getfile',['GetFile',['../classhueplusplus_1_1_hue_exception.html#a1c2cd1e98f9b86ca85fd493de62c5c91',1,'hueplusplus::HueException']]],
+ ['getflag',['getFlag',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag.html#aabcdd2283671d5e19d35134fad4fa454',1,'hueplusplus::sensors::CLIPGenericFlag']]],
+ ['getgroupid',['getGroupId',['../classhueplusplus_1_1_scene.html#ae721c70ccd84f8f7e6aabb4e57b22939',1,'hueplusplus::Scene']]],
+ ['gethuesat',['getHueSat',['../classhueplusplus_1_1_light_state.html#aef84d82dcb3aa88e62b7d32fe8a7e833',1,'hueplusplus::LightState']]],
+ ['gethumidity',['getHumidity',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity.html#add8f5e5399ee19f9062a415381e375e6',1,'hueplusplus::sensors::CLIPHumidity']]],
+ ['getid',['getId',['../classhueplusplus_1_1_base_device.html#a21122992819e6155867c02578773d0cd',1,'hueplusplus::BaseDevice::getId()'],['../classhueplusplus_1_1_group.html#a3fd91f063daafd0b8489da895933633d',1,'hueplusplus::Group::getId()'],['../classhueplusplus_1_1_rule.html#a3005015e8d321c726044877ffd7b3a61',1,'hueplusplus::Rule::getId()'],['../classhueplusplus_1_1_scene.html#a1f3bc32a62df0d51bdc3d5c201e2ac59',1,'hueplusplus::Scene::getId()'],['../classhueplusplus_1_1_schedule.html#a37f25f3d1e77f832f464396e000232db',1,'hueplusplus::Schedule::getId()']]],
+ ['getjson',['GETJson',['../classhueplusplus_1_1_base_http_handler.html#a059678ec7136be20fc5e8ca242929fe9',1,'hueplusplus::BaseHttpHandler::GETJson()'],['../classhueplusplus_1_1_i_http_handler.html#a89b23dc67674fb3a0457a4b8e020f010',1,'hueplusplus::IHttpHandler::GETJson()']]],
+ ['getlastalert',['getLastAlert',['../classhueplusplus_1_1_sensor.html#af3ce6ea4f65adc0ba9b1217cfed72330',1,'hueplusplus::Sensor::getLastAlert()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a55de697650c3412715b7e6a29becc76d',1,'hueplusplus::sensors::ZLLSwitch::getLastAlert()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a7bc1a66f6d3b09c4d20ba298581621f7',1,'hueplusplus::sensors::ZLLPresence::getLastAlert()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#a7b6d9d99f4c38ad51455e9ac0f93dc5d',1,'hueplusplus::sensors::ZLLTemperature::getLastAlert()']]],
+ ['getlastscantime',['getLastScanTime',['../classhueplusplus_1_1_new_device_list.html#a2fcd0310f9fddb1bfafdd1f3a2ceeae0',1,'hueplusplus::NewDeviceList']]],
+ ['getlasttriggered',['getLastTriggered',['../classhueplusplus_1_1_rule.html#a970398503a651e03c4c28caed3dccaf3',1,'hueplusplus::Rule']]],
+ ['getlastupdated',['getLastUpdated',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a8797664ff0bd25413917e215c29f472a',1,'hueplusplus::sensors::BaseCLIP::getLastUpdated()'],['../classhueplusplus_1_1_scene.html#a14c2ace3ed090f2c94a5ba99a803f352',1,'hueplusplus::Scene::getLastUpdated()'],['../classhueplusplus_1_1_sensor.html#a8fe3726ee3ac9cb9bf65e9865c6c4697',1,'hueplusplus::Sensor::getLastUpdated()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#aea447a1b44fb58417d5417f1263f590d',1,'hueplusplus::sensors::DaylightSensor::getLastUpdated()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a3776348358cca0de1e455c3d42c26a7c',1,'hueplusplus::sensors::ZLLSwitch::getLastUpdated()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a6b05bae7d8187b1c1147e758c82850c0',1,'hueplusplus::sensors::ZLLPresence::getLastUpdated()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#add799faecf833f78e42be140a4dc7465',1,'hueplusplus::sensors::ZLLTemperature::getLastUpdated()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a46f3c340a200e30a0775957601b64f65',1,'hueplusplus::sensors::ZLLLightLevel::getLastUpdated()']]],
+ ['getledindication',['getLEDIndication',['../classhueplusplus_1_1_sensor.html#a62524f6ef72a95eb6b8f94355297ac1b',1,'hueplusplus::Sensor']]],
+ ['getlightids',['getLightIds',['../classhueplusplus_1_1_group.html#ad8c8fa5b3f2bc2212c400bc1959769dd',1,'hueplusplus::Group::getLightIds()'],['../classhueplusplus_1_1_scene.html#a75952a9751f3af544103e63dd425925b',1,'hueplusplus::Scene::getLightIds()']]],
+ ['getlightlevel',['getLightLevel',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#a7d1b0f5579961e58836e948d2c3a2649',1,'hueplusplus::sensors::CLIPLightLevel::getLightLevel()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#af1895a12011ac724ec4c9bdd9c5a5ec3',1,'hueplusplus::sensors::ZLLLightLevel::getLightLevel()']]],
+ ['getlightstates',['getLightStates',['../classhueplusplus_1_1_scene.html#acb1f90023b1b3c0631b49593d93d011e',1,'hueplusplus::Scene']]],
+ ['getlinkbutton',['getLinkButton',['../classhueplusplus_1_1_bridge_config.html#a3c5fc2fdac564ab69f5e6b805d3ead38',1,'hueplusplus::BridgeConfig']]],
+ ['getluminaireuid',['getLuminaireUId',['../classhueplusplus_1_1_light.html#afb12426562cc4cbdf429f37bdabd0c70',1,'hueplusplus::Light']]],
+ ['getmacaddress',['getMACAddress',['../classhueplusplus_1_1_bridge_config.html#a42b2e8a2dd21352c2bb7acfcee95dd72',1,'hueplusplus::BridgeConfig']]],
+ ['getmanufacturername',['getManufacturername',['../classhueplusplus_1_1_base_device.html#ad6e1af663e4f14afc6293aacdd5130c0',1,'hueplusplus::BaseDevice']]],
+ ['getmaxsensitivity',['getMaxSensitivity',['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#adf5f920b10764d0b4891d002c067c420',1,'hueplusplus::sensors::ZLLPresence']]],
+ ['getmethod',['getMethod',['../classhueplusplus_1_1_action.html#a65f0cf2fb01397e023b1098aae2e8184',1,'hueplusplus::Action']]],
+ ['getmodelid',['getModelId',['../classhueplusplus_1_1_base_device.html#aa7572be90ab966033ad8b9c7e83598ce',1,'hueplusplus::BaseDevice::getModelId()'],['../classhueplusplus_1_1_group.html#a81336c603e9ee8f775cbdef180eb029c',1,'hueplusplus::Group::getModelId()']]],
+ ['getname',['getName',['../classhueplusplus_1_1_base_device.html#a5331ce38f4e6c9def7bafc23112ccd34',1,'hueplusplus::BaseDevice::getName()'],['../classhueplusplus_1_1_base_device.html#a095f4467a072fee3091402e7ed31a6fe',1,'hueplusplus::BaseDevice::getName() const'],['../classhueplusplus_1_1_group.html#aedac57e05d40c976c92d58bd05709ccf',1,'hueplusplus::Group::getName()'],['../classhueplusplus_1_1_rule.html#ae7065c3b7a26447b2b0d1f03c523fe65',1,'hueplusplus::Rule::getName()'],['../classhueplusplus_1_1_scene.html#a82e369e6689b4e361d0373a49d36cff7',1,'hueplusplus::Scene::getName()'],['../classhueplusplus_1_1_schedule.html#a83e78e75d2ddaf8086c596475ea49228',1,'hueplusplus::Schedule::getName()']]],
+ ['getnewdevices',['getNewDevices',['../classhueplusplus_1_1_new_device_list.html#ad56949dee021cd75e28a9f1e82c35f6b',1,'hueplusplus::NewDeviceList::getNewDevices()'],['../classhueplusplus_1_1_searchable_resource_list.html#a07bc6249721ec996a38091ee7c46ef3d',1,'hueplusplus::SearchableResourceList::getNewDevices()']]],
+ ['getnumberofexecutions',['getNumberOfExecutions',['../classhueplusplus_1_1time_1_1_timer.html#a4e02fb2cc4f2624693de2bba35c0bc05',1,'hueplusplus::time::Timer']]],
+ ['getoperator',['getOperator',['../classhueplusplus_1_1_condition.html#a87c67b3fbcbde2310e651b4229fbafaf',1,'hueplusplus::Condition']]],
+ ['getowner',['getOwner',['../classhueplusplus_1_1_rule.html#a2cea5b619dde0edf22b4125fa68cb656',1,'hueplusplus::Rule::getOwner()'],['../classhueplusplus_1_1_scene.html#ad139ad82c78951c742f453a9a804bfd0',1,'hueplusplus::Scene::getOwner()']]],
+ ['getpendingconfig',['getPendingConfig',['../classhueplusplus_1_1_sensor.html#a8580976eb531df99f1d7a5b200503f8b',1,'hueplusplus::Sensor']]],
+ ['getpicture',['getPicture',['../classhueplusplus_1_1_scene.html#a85c99d4aa75aa7a6bb21ada77036d15d',1,'hueplusplus::Scene']]],
+ ['getpictureofmodel',['getPictureOfModel',['../namespacehueplusplus.html#a17eb803a07def3d8db7a4d5dcf3ef9da',1,'hueplusplus']]],
+ ['getpostalertdelay',['getPostAlertDelay',['../classhueplusplus_1_1_config.html#a016707f0361444ab45a0a145c2c51fb7',1,'hueplusplus::Config']]],
+ ['getprealertdelay',['getPreAlertDelay',['../classhueplusplus_1_1_config.html#a40557388d90085e2f7dd0932598168a8',1,'hueplusplus::Config']]],
+ ['getpresence',['getPresence',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_presence.html#a9551a46725b6050981d8b58a03600498',1,'hueplusplus::sensors::CLIPPresence::getPresence()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#aa3301069fd6a9fc2d1084f95a8e27e8f',1,'hueplusplus::sensors::ZLLPresence::getPresence()']]],
+ ['getproductname',['getProductname',['../classhueplusplus_1_1_base_device.html#a53f675db31058c574fbf55baea8bd556',1,'hueplusplus::BaseDevice']]],
+ ['getrandomvariation',['getRandomVariation',['../classhueplusplus_1_1time_1_1_absolute_varied_time.html#a4789cce97d2e3e58dace7b10726f14a2',1,'hueplusplus::time::AbsoluteVariedTime::getRandomVariation()'],['../classhueplusplus_1_1time_1_1_recurring_time.html#aa9148416a97cd408d535e9e76864d8aa',1,'hueplusplus::time::RecurringTime::getRandomVariation()'],['../classhueplusplus_1_1time_1_1_timer.html#ae97cb1b5165452af834acdb6782489e9',1,'hueplusplus::time::Timer::getRandomVariation()']]],
+ ['getrecycle',['getRecycle',['../classhueplusplus_1_1_scene.html#a10909c104f1f640d5accaf83220ad63e',1,'hueplusplus::Scene']]],
+ ['getrefreshduration',['getRefreshDuration',['../classhueplusplus_1_1_a_p_i_cache.html#a0f924bf1a6341b11f68f020472041548',1,'hueplusplus::APICache']]],
+ ['getrequest',['getRequest',['../classhueplusplus_1_1_create_group.html#a7a169bfa485cba4c262777f092a30628',1,'hueplusplus::CreateGroup::getRequest()'],['../classhueplusplus_1_1_create_rule.html#ad43ddc031438ccf1616bc66a8a00c981',1,'hueplusplus::CreateRule::getRequest()'],['../classhueplusplus_1_1_create_scene.html#aaf8c666df758a94bccec523216261c91',1,'hueplusplus::CreateScene::getRequest()'],['../classhueplusplus_1_1_create_schedule.html#a4093684e3990c7d96dba4183d46f8268',1,'hueplusplus::CreateSchedule::getRequest()'],['../classhueplusplus_1_1_create_sensor.html#abaf22b996f90fc71ec29c66dcf360407',1,'hueplusplus::CreateSensor::getRequest()'],['../classhueplusplus_1_1_hue_command_a_p_i.html#a075e958c9cf465c8c955d725a2037b88',1,'hueplusplus::HueCommandAPI::GETRequest(const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const'],['../classhueplusplus_1_1_hue_command_a_p_i.html#a8219a4e49fcea93b07c58ae6f7be7ce6',1,'hueplusplus::HueCommandAPI::GETRequest(const std::string &path, const nlohmann::json &request) const']]],
+ ['getrequestpath',['getRequestPath',['../classhueplusplus_1_1_a_p_i_cache.html#ab7bfbec1c32e236c2878a3368f8767cb',1,'hueplusplus::APICache']]],
+ ['getrequestusernameattemptinterval',['getRequestUsernameAttemptInterval',['../classhueplusplus_1_1_config.html#a0e7ad382e2c3f48153eedb507762793b',1,'hueplusplus::Config']]],
+ ['getrequestusernametimeout',['getRequestUsernameTimeout',['../classhueplusplus_1_1_config.html#ac8ca91d85f22eeab4486e00359742a32',1,'hueplusplus::Config']]],
+ ['getroomtype',['getRoomType',['../classhueplusplus_1_1_group.html#a987a9cc346d7ea454aac54a8430dda99',1,'hueplusplus::Group']]],
+ ['getsensitivity',['getSensitivity',['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#af81b5bcf0c1708c0c14af76cfabee490',1,'hueplusplus::sensors::ZLLPresence']]],
+ ['getstarttime',['getStartTime',['../classhueplusplus_1_1_schedule.html#a5d1d7135589ad46765f91ec2e42a8afe',1,'hueplusplus::Schedule::getStartTime()'],['../classhueplusplus_1_1time_1_1_time_interval.html#ac14de461d3bb28dd72c7943c7a99762a',1,'hueplusplus::time::TimeInterval::getStartTime()']]],
+ ['getstate',['getState',['../classhueplusplus_1_1_sensor.html#ab44dee9934103797382b7cfcc24929d5',1,'hueplusplus::Sensor']]],
+ ['getstateaddress',['getStateAddress',['../classhueplusplus_1_1_sensor.html#a28bcad902b4cb179d76a9420ad1dd06c',1,'hueplusplus::Sensor']]],
+ ['getstatus',['getStatus',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status.html#af4f0887ae799447aac38b0917cdcff13',1,'hueplusplus::sensors::CLIPGenericStatus']]],
+ ['getstring',['GETString',['../classhueplusplus_1_1_base_http_handler.html#a601f2e4dfec195a094e30c2f22263cf9',1,'hueplusplus::BaseHttpHandler::GETString()'],['../classhueplusplus_1_1_i_http_handler.html#a0a1c318af7d333b6bb01c5a65388ba23',1,'hueplusplus::IHttpHandler::GETString()']]],
+ ['getsunriseoffset',['getSunriseOffset',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#aa864ab948571fdd2b656de8ba8ad8035',1,'hueplusplus::sensors::DaylightSensor']]],
+ ['getsunsetoffset',['getSunsetOffset',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a4c3f00c44688cf98916d919a61550318',1,'hueplusplus::sensors::DaylightSensor']]],
+ ['getswversion',['getSwVersion',['../classhueplusplus_1_1_base_device.html#aebc5484b45b833491385a5381e3234bb',1,'hueplusplus::BaseDevice::getSwVersion()'],['../classhueplusplus_1_1_base_device.html#a136cdba60a6781c15c6869ddcc7f2e1a',1,'hueplusplus::BaseDevice::getSwVersion() const']]],
+ ['gettemperature',['getTemperature',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature.html#a75ef781738aa395f40d1c6c7997bd1a3',1,'hueplusplus::sensors::CLIPTemperature::getTemperature()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#ae1f9c67bf41a47c9e212b4d2d553559e',1,'hueplusplus::sensors::ZLLTemperature::getTemperature()']]],
+ ['getthresholdoffset',['getThresholdOffset',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#a30108323ec6b8595484614962903d1f6',1,'hueplusplus::sensors::CLIPLightLevel::getThresholdOffset()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#aba1d662d870a4737edd5533546f6b974',1,'hueplusplus::sensors::ZLLLightLevel::getThresholdOffset()']]],
+ ['gettime',['getTime',['../classhueplusplus_1_1_schedule.html#a9a5c158fd270df157a497cd49b509ce9',1,'hueplusplus::Schedule']]],
+ ['gettimestriggered',['getTimesTriggered',['../classhueplusplus_1_1_rule.html#a46a135ec7d0b1343e26adf961ebb799a',1,'hueplusplus::Rule']]],
+ ['gettimezone',['getTimezone',['../classhueplusplus_1_1_bridge_config.html#a7295488ec79f60c93459487f31ef5e8a',1,'hueplusplus::BridgeConfig']]],
+ ['getting_20started',['Getting started',['../getting-started.html',1,'']]],
+ ['getting_5fstarted_2emd',['Getting_Started.md',['../_getting___started_8md.html',1,'']]],
+ ['gettransitiontime',['getTransitionTime',['../classhueplusplus_1_1_light_state.html#a13bd2da93bc05b587890471d9cb2dcb6',1,'hueplusplus::LightState']]],
+ ['gettype',['getType',['../classhueplusplus_1_1_base_device.html#a6741ba9ec72108ca0101d41c0b02c568',1,'hueplusplus::BaseDevice::getType()'],['../classhueplusplus_1_1_group.html#a5325969d0445adee1f5d3430e71d5168',1,'hueplusplus::Group::getType()'],['../classhueplusplus_1_1_scene.html#a12146e32e7be75e8f1e5163d82a5c5e1',1,'hueplusplus::Scene::getType()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#aedf9021b3120527763b58975b44e550d',1,'hueplusplus::time::TimePattern::getType()']]],
+ ['getuid',['getUId',['../classhueplusplus_1_1_base_device.html#a821dc52df6472b2604f56579dac4ac04',1,'hueplusplus::BaseDevice']]],
+ ['getuniqueid',['getUniqueId',['../classhueplusplus_1_1_group.html#a7b8d9c14f767c78d248a6d3dab1e6a6a',1,'hueplusplus::Group']]],
+ ['getupnptimeout',['getUPnPTimeout',['../classhueplusplus_1_1_config.html#a329225f3590cc9d7a382836e756eb82e',1,'hueplusplus::Config']]],
+ ['geturl',['getURL',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a5be77c86615cfc1be4aaabe917b3f37b',1,'hueplusplus::sensors::BaseCLIP::getURL()'],['../classhueplusplus_1_1_sensor.html#a0e8915051ba8a93956aff71dd7b427d4',1,'hueplusplus::Sensor::getURL()']]],
+ ['getusername',['getUsername',['../classhueplusplus_1_1_bridge.html#a810987627e7351afd0d9bfbaab2a8cb8',1,'hueplusplus::Bridge']]],
+ ['getutctime',['getUTCTime',['../classhueplusplus_1_1_bridge_config.html#a698173b368e6365005f1c6c55a8cd150',1,'hueplusplus::BridgeConfig']]],
+ ['getvalue',['getValue',['../classhueplusplus_1_1_a_p_i_cache.html#afeededdbb81e3c668b2b983c3d29ee0d',1,'hueplusplus::APICache::getValue()'],['../classhueplusplus_1_1_a_p_i_cache.html#aa1e0c41745a569f7ef420bd6acd5ecc1',1,'hueplusplus::APICache::getValue() const'],['../classhueplusplus_1_1_condition.html#a5c7b9db9d34eeef8e9e44630c374c8c8',1,'hueplusplus::Condition::getValue()']]],
+ ['getversion',['getVersion',['../classhueplusplus_1_1_scene.html#a5191cd7cb0c3d321e1a90e0717081912',1,'hueplusplus::Scene']]],
+ ['getweekdays',['getWeekdays',['../classhueplusplus_1_1time_1_1_recurring_time.html#acf4155d15e150b4ab842d269e28b3133',1,'hueplusplus::time::RecurringTime::getWeekdays()'],['../classhueplusplus_1_1time_1_1_time_interval.html#a806327dccc8ac6438c3a92c5579749ba',1,'hueplusplus::time::TimeInterval::getWeekdays()']]],
+ ['getwhitelistedusers',['getWhitelistedUsers',['../classhueplusplus_1_1_bridge_config.html#aeb1be2b2a432583bd3e36a7dbe22d036',1,'hueplusplus::BridgeConfig']]],
+ ['getxy',['getXY',['../classhueplusplus_1_1_light_state.html#a7853093fd60ae73ba37c11467e3e2a35',1,'hueplusplus::LightState']]],
+ ['greencorner',['greenCorner',['../structhueplusplus_1_1_color_gamut.html#a3d93ca1f02b429cb463ceb214a01437e',1,'hueplusplus::ColorGamut']]],
+ ['group',['Group',['../classhueplusplus_1_1_group.html',1,'hueplusplus::Group'],['../classhueplusplus_1_1_group.html#a32be75ce66d601190d41825ebdf1e0f4',1,'hueplusplus::Group::Group(int id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_group.html#a57ba3b0950a70a069867f56d6bdc7cc9',1,'hueplusplus::Group::Group(int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)'],['../classhueplusplus_1_1_entertainment_mode.html#ace2048a118dae0b946f23746617b6179',1,'hueplusplus::EntertainmentMode::group()']]],
+ ['group_2ecpp',['Group.cpp',['../_group_8cpp.html',1,'']]],
+ ['group_2eh',['Group.h',['../_group_8h.html',1,'']]],
+ ['grouplist',['GroupList',['../classhueplusplus_1_1_bridge.html#a623c4d205571df7fcefcba1367e53128',1,'hueplusplus::Bridge']]],
+ ['groupresourcelist',['GroupResourceList',['../classhueplusplus_1_1_group_resource_list.html',1,'hueplusplus::GroupResourceList< Resource, CreateType >'],['../classhueplusplus_1_1_group_resource_list.html#a9f2e5eb5340eca2e85cf758b92153912',1,'hueplusplus::GroupResourceList::GroupResourceList()']]],
+ ['groups',['groups',['../classhueplusplus_1_1_bridge.html#a86fa3bec3ae4729df0cf6305ce49388c',1,'hueplusplus::Bridge::groups()'],['../classhueplusplus_1_1_bridge.html#a1ebf445f09bf3e1c325939ec19605483',1,'hueplusplus::Bridge::groups() const']]],
+ ['groupscene',['groupScene',['../classhueplusplus_1_1_scene.html#a19cfeb35fc2a882f010310211d057809ac8ae379e9169a69d06d34ab6ea236c74',1,'hueplusplus::Scene']]],
+ ['gt',['gt',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35a1bfad22f0925978f310a37440bfdff43',1,'hueplusplus::Condition']]]
+];
diff --git b/search/all_7.html a/search/all_7.html
new file mode 100644
index 0000000..de19107
--- /dev/null
+++ a/search/all_7.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_7.js a/search/all_7.js
new file mode 100644
index 0000000..d29042e
--- /dev/null
+++ a/search/all_7.js
@@ -0,0 +1,39 @@
+var searchData=
+[
+ ['gamut',['gamut',['../namespacehueplusplus_1_1gamut.html',1,'hueplusplus']]],
+ ['hasalert',['hasAlert',['../classhueplusplus_1_1_sensor.html#a55c517a4ec88dae5f1e13aed2635ca95',1,'hueplusplus::Sensor']]],
+ ['hasbatterystate',['hasBatteryState',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a01ee7a7fbf16866e777f48911eaf5072',1,'hueplusplus::sensors::BaseCLIP::hasBatteryState()'],['../classhueplusplus_1_1_sensor.html#aaa563dc71f6e2606d63917a77dd46d62',1,'hueplusplus::Sensor::hasBatteryState()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#ad67205e1ca2a1042d81e79333f6c75e4',1,'hueplusplus::sensors::DaylightSensor::hasBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a5aabef4adcb2d7b4a840d3b00fd90b54',1,'hueplusplus::sensors::ZLLSwitch::hasBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#af0a4b3ee541538a6c6a956e0ecc79540',1,'hueplusplus::sensors::ZLLPresence::hasBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#a116499ddeff20500f967c7e6948bf542',1,'hueplusplus::sensors::ZLLTemperature::hasBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#aca9063b4193a76f2679baf7709e68f16',1,'hueplusplus::sensors::ZLLLightLevel::hasBatteryState()']]],
+ ['hasbrightness',['hasBrightness',['../classhueplusplus_1_1_light_state.html#a4d393f656aa84c821149c5f34a04a1ee',1,'hueplusplus::LightState']]],
+ ['hasbrightnesscontrol',['hasBrightnessControl',['../classhueplusplus_1_1_light.html#af680548b576b57a713018a353d8c8a88',1,'hueplusplus::Light']]],
+ ['hascolorcontrol',['hasColorControl',['../classhueplusplus_1_1_light.html#a661e357c5648ff574634a12b40680a6f',1,'hueplusplus::Light']]],
+ ['hasct',['hasCt',['../classhueplusplus_1_1_light_state.html#a89cc187307fe7bb55211ac4fdfeba966',1,'hueplusplus::LightState']]],
+ ['haseffect',['hasEffect',['../classhueplusplus_1_1_light_state.html#a299ef9228cdda59b3098cf8049553836',1,'hueplusplus::LightState']]],
+ ['hashuesat',['hasHueSat',['../classhueplusplus_1_1_light_state.html#a2e3304728808c1a392e2ddae59b76273',1,'hueplusplus::LightState']]],
+ ['haslastscantime',['hasLastScanTime',['../classhueplusplus_1_1_new_device_list.html#a6af4c9b27eadcf0aec9cc4e7cac0f137',1,'hueplusplus::NewDeviceList']]],
+ ['hasledindication',['hasLEDIndication',['../classhueplusplus_1_1_sensor.html#abf5e1844561ea1c98238dba3ff7d8387',1,'hueplusplus::Sensor']]],
+ ['hason',['hasOn',['../classhueplusplus_1_1_sensor.html#a5853efc3712fe6c9e398c5a5b77c4f25',1,'hueplusplus::Sensor']]],
+ ['hasreachable',['hasReachable',['../classhueplusplus_1_1_sensor.html#ae91fa1d7f27331837eab26db67848513',1,'hueplusplus::Sensor']]],
+ ['hastemperaturecontrol',['hasTemperatureControl',['../classhueplusplus_1_1_light.html#a4b013d5e1cff6bdc02f273d57fc0db22',1,'hueplusplus::Light']]],
+ ['hasurl',['hasURL',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a101a22da4d3e85744ba7b63f6f2941b7',1,'hueplusplus::sensors::BaseCLIP::hasURL()'],['../classhueplusplus_1_1_sensor.html#ac67547e74857fd66bd90b6f6712498db',1,'hueplusplus::Sensor::hasURL()']]],
+ ['hasusertest',['hasUserTest',['../classhueplusplus_1_1_sensor.html#abd9f4d2afc472766c7631b3f278dee7f',1,'hueplusplus::Sensor']]],
+ ['hasxy',['hasXY',['../classhueplusplus_1_1_light_state.html#ae00464d846068a66457ae1fd5c89ad2f',1,'hueplusplus::LightState']]],
+ ['hextobytes',['hexToBytes',['../namespacehueplusplus.html#afc2d402720a601f6e3ee9a8244566cd9',1,'hueplusplus']]],
+ ['hue',['hue',['../structhueplusplus_1_1_hue_saturation.html#ac98220c26f659277ab4377e712867893',1,'hueplusplus::HueSaturation']]],
+ ['hue_5fentertainment_5fheader_5fsize',['HUE_ENTERTAINMENT_HEADER_SIZE',['../namespacehueplusplus.html#ae5fa3d83e2c7c47592d2bcadf3beda43',1,'hueplusplus']]],
+ ['hue_5fentertainment_5flight_5fsize',['HUE_ENTERTAINMENT_LIGHT_SIZE',['../namespacehueplusplus.html#a124e375b39cce28b852b7510fe031cf6',1,'hueplusplus']]],
+ ['hueapiresponseexception',['HueAPIResponseException',['../classhueplusplus_1_1_hue_a_p_i_response_exception.html',1,'hueplusplus::HueAPIResponseException'],['../classhueplusplus_1_1_hue_a_p_i_response_exception.html#a67c014cbd5145f10eecc9ac789e219a7',1,'hueplusplus::HueAPIResponseException::HueAPIResponseException()']]],
+ ['huecommandapi',['HueCommandAPI',['../classhueplusplus_1_1_hue_command_a_p_i.html',1,'hueplusplus::HueCommandAPI'],['../classhueplusplus_1_1_hue_command_a_p_i.html#ad6cd1f84660055f622cf730a251fa0ec',1,'hueplusplus::HueCommandAPI::HueCommandAPI(const std::string &ip, int port, const std::string &username, std::shared_ptr< const IHttpHandler > httpHandler)'],['../classhueplusplus_1_1_hue_command_a_p_i.html#adaba8c59285428233804b9ba0b7334ac',1,'hueplusplus::HueCommandAPI::HueCommandAPI(const HueCommandAPI &)=default'],['../classhueplusplus_1_1_hue_command_a_p_i.html#ae6eb2b94cf04dd04ca7623fe864e85b1',1,'hueplusplus::HueCommandAPI::HueCommandAPI(HueCommandAPI &&)=default']]],
+ ['huecommandapi_2ecpp',['HueCommandAPI.cpp',['../_hue_command_a_p_i_8cpp.html',1,'']]],
+ ['huecommandapi_2eh',['HueCommandAPI.h',['../_hue_command_a_p_i_8h.html',1,'']]],
+ ['huedevicetypes_2ecpp',['HueDeviceTypes.cpp',['../_hue_device_types_8cpp.html',1,'']]],
+ ['huedevicetypes_2eh',['HueDeviceTypes.h',['../_hue_device_types_8h.html',1,'']]],
+ ['hueexception',['HueException',['../classhueplusplus_1_1_hue_exception.html',1,'hueplusplus::HueException'],['../classhueplusplus_1_1_hue_exception.html#ab5560b225c1f36625477c2bffb8a9f1a',1,'hueplusplus::HueException::HueException(FileInfo fileInfo, const std::string &message)'],['../classhueplusplus_1_1_hue_exception.html#a73370d57f033b42c41b5ba55b5db0148',1,'hueplusplus::HueException::HueException(const char *exceptionName, FileInfo fileInfo, const std::string &message)']]],
+ ['hueexception_2ecpp',['HueException.cpp',['../_hue_exception_8cpp.html',1,'']]],
+ ['hueexception_2eh',['HueException.h',['../_hue_exception_8h.html',1,'']]],
+ ['hueexceptionmacro_2eh',['HueExceptionMacro.h',['../_hue_exception_macro_8h.html',1,'']]],
+ ['hueplusplus',['hueplusplus',['../namespacehueplusplus.html',1,'']]],
+ ['huesaturation',['HueSaturation',['../structhueplusplus_1_1_hue_saturation.html',1,'hueplusplus']]],
+ ['sensors',['sensors',['../namespacehueplusplus_1_1sensors.html',1,'hueplusplus']]],
+ ['time',['time',['../namespacehueplusplus_1_1time.html',1,'hueplusplus']]],
+ ['utils',['utils',['../namespacehueplusplus_1_1utils.html',1,'hueplusplus']]]
+];
diff --git b/search/all_8.html a/search/all_8.html
new file mode 100644
index 0000000..11e27cd
--- /dev/null
+++ a/search/all_8.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_8.js a/search/all_8.js
new file mode 100644
index 0000000..c9e3c57
--- /dev/null
+++ a/search/all_8.js
@@ -0,0 +1,38 @@
+var searchData=
+[
+ ['id',['id',['../classhueplusplus_1_1_base_device.html#aa65a31223cfa2a054c28148c35c8b3cf',1,'hueplusplus::BaseDevice::id()'],['../classhueplusplus_1_1_group.html#a31395d0cf493a03eceebf87e634a93ea',1,'hueplusplus::Group::id()']]],
+ ['idtype',['IdType',['../classhueplusplus_1_1_resource_list.html#ab122d90e1fcfde172b21670c74b33f89',1,'hueplusplus::ResourceList']]],
+ ['ihttphandler',['IHttpHandler',['../classhueplusplus_1_1_i_http_handler.html',1,'hueplusplus']]],
+ ['ihttphandler_2eh',['IHttpHandler.h',['../_i_http_handler_8h.html',1,'']]],
+ ['in',['in',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35a13b5bfe96f3e2fe411c9f66f4a582adf',1,'hueplusplus::Condition']]],
+ ['incrementbrightness',['incrementBrightness',['../classhueplusplus_1_1_state_transaction.html#a0324208d57136c0e35b29c53807f8059',1,'hueplusplus::StateTransaction']]],
+ ['incrementcolortemperature',['incrementColorTemperature',['../classhueplusplus_1_1_state_transaction.html#affb972381ed4dafa89235f469ad571c8',1,'hueplusplus::StateTransaction']]],
+ ['incrementcolorxy',['incrementColorXY',['../classhueplusplus_1_1_state_transaction.html#a6f47a8252ecaf20ce4b2518a517de180',1,'hueplusplus::StateTransaction']]],
+ ['incrementhue',['incrementHue',['../classhueplusplus_1_1_state_transaction.html#abb6a2f2a83e3b29aba7edf9cdb2550c9',1,'hueplusplus::StateTransaction']]],
+ ['incrementsaturation',['incrementSaturation',['../classhueplusplus_1_1_state_transaction.html#a4beaf54b4a61949b8000d1787e54c1e2',1,'hueplusplus::StateTransaction']]],
+ ['infiniteexecutions',['infiniteExecutions',['../classhueplusplus_1_1time_1_1_timer.html#a85065c8ab737430c3345d2d9ce4eff2d',1,'hueplusplus::time::Timer']]],
+ ['instance',['instance',['../classhueplusplus_1_1_config.html#a0e3c55fc7dcaad441c943ff24bf73a3a',1,'hueplusplus::Config']]],
+ ['interval',['interval',['../classhueplusplus_1_1time_1_1_time_pattern.html#a3ad322f97e3df3d0e3d202c884e2f9b8',1,'hueplusplus::time::TimePattern::interval()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#ac9fe1cd7b55c94e3476fa93d0e744340ad2e16d3f793e62737a6cdf2d54b0d9c1',1,'hueplusplus::time::TimePattern::interval()']]],
+ ['ip',['ip',['../structhueplusplus_1_1_bridge_finder_1_1_bridge_identification.html#a52444a7f3d1c1882e49f9fc745b0c853',1,'hueplusplus::BridgeFinder::BridgeIdentification']]],
+ ['isall',['isAll',['../classhueplusplus_1_1time_1_1_weekdays.html#a181b64e9c20f6a4f13343dd93124520c',1,'hueplusplus::time::Weekdays']]],
+ ['iscertified',['isCertified',['../classhueplusplus_1_1_sensor.html#a6eca69fe2a532c66d320ef959f595a9a',1,'hueplusplus::Sensor']]],
+ ['isconfigured',['isConfigured',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a8b56cf19a5f8091a99d17dbe09a3b705',1,'hueplusplus::sensors::DaylightSensor']]],
+ ['isdark',['isDark',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#a55f52fb8ada320895cff47ac4f10062b',1,'hueplusplus::sensors::CLIPLightLevel::isDark()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a689b8ffd4efe3f06ef73f89235f7a851',1,'hueplusplus::sensors::ZLLLightLevel::isDark()']]],
+ ['isdaylight',['isDaylight',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#af3b57fa21c77d30f5f4372892392b439',1,'hueplusplus::sensors::CLIPLightLevel::isDaylight()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a99ac34f3e776c6257c208bd8462c7bb4',1,'hueplusplus::sensors::DaylightSensor::isDaylight()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a29c9c9c350a1b685e939aa56f8487ab2',1,'hueplusplus::sensors::ZLLLightLevel::isDaylight()']]],
+ ['isenabled',['isEnabled',['../classhueplusplus_1_1_rule.html#a8c3b44eb1fce646f3d152b2d92e29762',1,'hueplusplus::Rule::isEnabled()'],['../classhueplusplus_1_1_schedule.html#a950e33a7e7ae0d8e6d02bd19818dca39',1,'hueplusplus::Schedule::isEnabled()']]],
+ ['isfriday',['isFriday',['../classhueplusplus_1_1time_1_1_weekdays.html#aab45c6f89ad1429db2ce22a58990067a',1,'hueplusplus::time::Weekdays']]],
+ ['islocked',['isLocked',['../classhueplusplus_1_1_scene.html#af040ecdf62caef4a510f0a6f091bcbe4',1,'hueplusplus::Scene']]],
+ ['ismonday',['isMonday',['../classhueplusplus_1_1time_1_1_weekdays.html#ad160857774c3a08ae2fbc7e92d96e74c',1,'hueplusplus::time::Weekdays']]],
+ ['isnone',['isNone',['../classhueplusplus_1_1time_1_1_weekdays.html#a3ee14021454e737bf5eeb480703bd655',1,'hueplusplus::time::Weekdays']]],
+ ['ison',['isOn',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a66f0187e5cf1eb3ca0730ea91e5b2956',1,'hueplusplus::sensors::BaseCLIP::isOn()'],['../classhueplusplus_1_1_light.html#a26172501723aeec5abcf8db5b0dc6986',1,'hueplusplus::Light::isOn()'],['../classhueplusplus_1_1_light.html#a3acfa79ff45065b5a12bf37f42a5f012',1,'hueplusplus::Light::isOn() const'],['../classhueplusplus_1_1_light_state.html#a286e1d30659316eb3c3254d43ca0f5f7',1,'hueplusplus::LightState::isOn()'],['../classhueplusplus_1_1_sensor.html#a4b29e3f514c6af3c219f399c3dac1d42',1,'hueplusplus::Sensor::isOn()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a2f3968caa610ebfef919b2a4e6af3942',1,'hueplusplus::sensors::DaylightSensor::isOn()'],['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#a1ae003bf07c0104f348a6e85cb66ae6a',1,'hueplusplus::sensors::ZGPSwitch::isOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a95100a07a253dc8e3563fbffeed52313',1,'hueplusplus::sensors::ZLLSwitch::isOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a555d51e81531656d84a4c8f8e9ceaf96',1,'hueplusplus::sensors::ZLLPresence::isOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#aede674c71f21e86ffcfa49389744a249',1,'hueplusplus::sensors::ZLLTemperature::isOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#ad6db5ff05d1db20cbb47c5bea29de85b',1,'hueplusplus::sensors::ZLLLightLevel::isOn()']]],
+ ['isopen',['isOpen',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close.html#a96a800becb5af696889e55ed483bd9b4',1,'hueplusplus::sensors::CLIPOpenClose']]],
+ ['isprimary',['isPrimary',['../classhueplusplus_1_1_sensor.html#aa91632185b2cf84ac00f67da8e3548d4',1,'hueplusplus::Sensor']]],
+ ['isreachable',['isReachable',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#afb9656f1a984e76f3fb5305b7722c442',1,'hueplusplus::sensors::BaseCLIP::isReachable()'],['../classhueplusplus_1_1_sensor.html#a9804092c78e462d42311e08d2d37fec4',1,'hueplusplus::Sensor::isReachable()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#ab95541d17dd87123e83c46c1eb2d0ad4',1,'hueplusplus::sensors::ZLLSwitch::isReachable()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a6d2d91b692f505f059fc090b0bc6c925',1,'hueplusplus::sensors::ZLLPresence::isReachable()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#a1e65e041d6051a1e6e51549169fd3e5d',1,'hueplusplus::sensors::ZLLTemperature::isReachable()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a89b06a6ba8c54acf97bb390612a7906f',1,'hueplusplus::sensors::ZLLLightLevel::isReachable()']]],
+ ['isrecurring',['isRecurring',['../classhueplusplus_1_1time_1_1_timer.html#a9566f3e33d3523506fef646f0cbf2294',1,'hueplusplus::time::Timer']]],
+ ['issaturday',['isSaturday',['../classhueplusplus_1_1time_1_1_weekdays.html#a527b0a4bcedc01615958cf8875275ac1',1,'hueplusplus::time::Weekdays']]],
+ ['isscanactive',['isScanActive',['../classhueplusplus_1_1_new_device_list.html#a80028dc3480f338f88525171daccce53',1,'hueplusplus::NewDeviceList']]],
+ ['issunday',['isSunday',['../classhueplusplus_1_1time_1_1_weekdays.html#acc09516a6fae1e499af41f907732b6e7',1,'hueplusplus::time::Weekdays']]],
+ ['isthursday',['isThursday',['../classhueplusplus_1_1time_1_1_weekdays.html#a74d18299c30809cabc573c3d9bbd926e',1,'hueplusplus::time::Weekdays']]],
+ ['istuesday',['isTuesday',['../classhueplusplus_1_1time_1_1_weekdays.html#a29177f294dda92b59020a1eedceb7f08',1,'hueplusplus::time::Weekdays']]],
+ ['iswednesday',['isWednesday',['../classhueplusplus_1_1time_1_1_weekdays.html#a44cca73c8a6cb7605d35b44e9ba69931',1,'hueplusplus::time::Weekdays']]]
+];
diff --git b/search/all_9.html a/search/all_9.html
new file mode 100644
index 0000000..f8abbbe
--- /dev/null
+++ a/search/all_9.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_9.js a/search/all_9.js
new file mode 100644
index 0000000..5b2e39f
--- /dev/null
+++ a/search/all_9.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['kelvintomired',['kelvinToMired',['../namespacehueplusplus.html#a0e4f335c82751862f0f39a9e8a11820b',1,'hueplusplus']]],
+ ['key',['key',['../structhueplusplus_1_1_whitelisted_user.html#a3d668d495747fb2bbb0f7890ac93644b',1,'hueplusplus::WhitelistedUser']]]
+];
diff --git b/search/all_a.html a/search/all_a.html
new file mode 100644
index 0000000..9601fce
--- /dev/null
+++ a/search/all_a.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_a.js a/search/all_a.js
new file mode 100644
index 0000000..6338340
--- /dev/null
+++ a/search/all_a.js
@@ -0,0 +1,24 @@
+var searchData=
+[
+ ['lastused',['lastUsed',['../structhueplusplus_1_1_whitelisted_user.html#a1c2ac0a6b6c6a510172176b5e0d78ca0',1,'hueplusplus::WhitelistedUser']]],
+ ['libconfig_2eh',['LibConfig.h',['../_lib_config_8h.html',1,'']]],
+ ['light',['Light',['../classhueplusplus_1_1_light.html',1,'hueplusplus::Light'],['../classhueplusplus_1_1_light.html#a9dc21c546b234045de7ab50128fe17fd',1,'hueplusplus::Light::Light(int id, const HueCommandAPI &commands)'],['../classhueplusplus_1_1_light.html#a3a1a17f076155002399fb6f339e38367',1,'hueplusplus::Light::Light(int id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_light.html#a1d675796a00e29c09c31ee570ad7b114',1,'hueplusplus::Light::Light(int id, const HueCommandAPI &commands, std::shared_ptr< const BrightnessStrategy > brightnessStrategy, std::shared_ptr< const ColorTemperatureStrategy > colorTempStrategy, std::shared_ptr< const ColorHueStrategy > colorHueStrategy, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)']]],
+ ['light_2ecpp',['Light.cpp',['../_light_8cpp.html',1,'']]],
+ ['light_2eh',['Light.h',['../_light_8h.html',1,'']]],
+ ['lightfactory',['LightFactory',['../classhueplusplus_1_1_light_factory.html',1,'hueplusplus::LightFactory'],['../classhueplusplus_1_1_light.html#ac8e9c6bbd43e33cbdd138af2f654342d',1,'hueplusplus::Light::LightFactory()'],['../classhueplusplus_1_1_light_factory.html#ab0e1e524020e036b72ab5f583001bb0c',1,'hueplusplus::LightFactory::LightFactory()']]],
+ ['lightgroup',['LightGroup',['../classhueplusplus_1_1_create_group.html#a2da9c9bb8167e2a2e52076984289b415',1,'hueplusplus::CreateGroup']]],
+ ['lightlist',['LightList',['../classhueplusplus_1_1_bridge.html#a290adc7b7b4eec346d8ddf4035d9a97b',1,'hueplusplus::Bridge']]],
+ ['lights',['lights',['../classhueplusplus_1_1_bridge.html#a7bd607246130312915a3b07116c72301',1,'hueplusplus::Bridge::lights()'],['../classhueplusplus_1_1_bridge.html#aaba8efa389cf91d1199a9edd93b0004e',1,'hueplusplus::Bridge::lights() const']]],
+ ['lightscene',['lightScene',['../classhueplusplus_1_1_scene.html#a19cfeb35fc2a882f010310211d057809aa99f8e360c50b276a92841e3beb29232',1,'hueplusplus::Scene']]],
+ ['lightsoff',['lightsOff',['../_lights_off_8cpp.html#acc17f78865cbdcaf3cd8de0b1305cf55',1,'LightsOff.cpp']]],
+ ['lightsoff_2ecpp',['LightsOff.cpp',['../_lights_off_8cpp.html',1,'']]],
+ ['lightstate',['LightState',['../classhueplusplus_1_1_light_state.html',1,'hueplusplus::LightState'],['../classhueplusplus_1_1_light_state.html#aff322b81d7a0c9b55803bb3ed090c3a6',1,'hueplusplus::LightState::LightState()']]],
+ ['lightstatebuilder',['LightStateBuilder',['../classhueplusplus_1_1_light_state_builder.html',1,'hueplusplus']]],
+ ['line',['line',['../structhueplusplus_1_1_file_info.html#a0f10116b94c4038f6f0bb8c693c9026e',1,'hueplusplus::FileInfo']]],
+ ['linhttphandler',['LinHttpHandler',['../classhueplusplus_1_1_lin_http_handler.html',1,'hueplusplus']]],
+ ['linhttphandler_2ecpp',['LinHttpHandler.cpp',['../_lin_http_handler_8cpp.html',1,'']]],
+ ['linhttphandler_2eh',['LinHttpHandler.h',['../_lin_http_handler_8h.html',1,'']]],
+ ['longalert',['longAlert',['../classhueplusplus_1_1_state_transaction.html#a716428813e456b6fad29b552e00807fe',1,'hueplusplus::StateTransaction']]],
+ ['lselect',['lselect',['../namespacehueplusplus.html#aeb1b8dcc03d48ce621a23ce3b2012c1aa365f10ce924756817157a1f37d5ad27b',1,'hueplusplus']]],
+ ['lt',['lt',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35ad91af6958918af87d6a057c1cdf5b225',1,'hueplusplus::Condition']]]
+];
diff --git b/search/all_b.html a/search/all_b.html
new file mode 100644
index 0000000..0814e4e
--- /dev/null
+++ a/search/all_b.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_b.js a/search/all_b.js
new file mode 100644
index 0000000..9714067
--- /dev/null
+++ a/search/all_b.js
@@ -0,0 +1,23 @@
+var searchData=
+[
+ ['mac',['mac',['../structhueplusplus_1_1_bridge_finder_1_1_bridge_identification.html#a5ed94c4ff4ef2883941517fd2f3de7eb',1,'hueplusplus::BridgeFinder::BridgeIdentification']]],
+ ['macaddress',['macAddress',['../_bridge_setup_8cpp.html#abc2f0412950e5418ab984b2d60d1b984',1,'macAddress(): BridgeSetup.cpp'],['../_lights_off_8cpp.html#abc2f0412950e5418ab984b2d60d1b984',1,'macAddress(): LightsOff.cpp']]],
+ ['main',['main',['../_bridge_setup_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): BridgeSetup.cpp'],['../_lights_off_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): LightsOff.cpp'],['../_snippets_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): Snippets.cpp'],['../_username_config_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): UsernameConfig.cpp']]],
+ ['mainpage_2emd',['Mainpage.md',['../_mainpage_8md.html',1,'']]],
+ ['major',['major',['../structhueplusplus_1_1_version.html#a86e6ded781d236b64b2763aae6119476',1,'hueplusplus::Version']]],
+ ['makecondition',['makeCondition',['../namespacehueplusplus_1_1sensors.html#a06dd5755779d2fc8df7108940319f7df',1,'hueplusplus::sensors::makeCondition(const CLIPOpenClose &sensor)'],['../namespacehueplusplus_1_1sensors.html#ae6a92d2761822a7e231fb7b5e0f8132b',1,'hueplusplus::sensors::makeCondition(const CLIPHumidity &sensor)'],['../namespacehueplusplus_1_1sensors.html#abdc9a9a0a7cc5b743468c328a27cbee4',1,'hueplusplus::sensors::makeCondition(const CLIPGenericFlag &sensor)'],['../namespacehueplusplus_1_1sensors.html#ab5a9513f642d7949cb47185a432447a1',1,'hueplusplus::sensors::makeCondition(const CLIPGenericStatus &sensor)'],['../namespacehueplusplus_1_1sensors.html#a8198ee5216d92e28541e8d77640d167a',1,'hueplusplus::sensors::makeCondition(const DaylightSensor &sensor)'],['../namespacehueplusplus_1_1sensors.html#a346d70ad65e2ec757a7ee50e16a5aa0b',1,'hueplusplus::sensors::makeCondition(const ButtonSensor &sensor)'],['../namespacehueplusplus_1_1sensors.html#ab7eac0726430cc92ceaeaa89b2a57655',1,'hueplusplus::sensors::makeCondition(const PresenceSensor &sensor)'],['../namespacehueplusplus_1_1sensors.html#a0172a7e14a1d4eadf0179a1a98692d43',1,'hueplusplus::sensors::makeCondition(const TemperatureSensor &sensor)']]],
+ ['makeconditiondark',['makeConditionDark',['../namespacehueplusplus_1_1sensors.html#ac63acc0784990f042c9da618b2e9453b',1,'hueplusplus::sensors']]],
+ ['makeconditiondaylight',['makeConditionDaylight',['../namespacehueplusplus_1_1sensors.html#afd885c6f0abbfce6efe01a6cc80ec347',1,'hueplusplus::sensors']]],
+ ['makeconditionlastupdate',['makeConditionLastUpdate',['../namespacehueplusplus_1_1sensors.html#aa674bacddb9d714ed65cf3c41306c8f5',1,'hueplusplus::sensors']]],
+ ['makeconditionlightlevel',['makeConditionLightLevel',['../namespacehueplusplus_1_1sensors.html#ab62bfbedf78fbae777fb21459171df1f',1,'hueplusplus::sensors']]],
+ ['maxgamut',['maxGamut',['../namespacehueplusplus_1_1gamut.html#a67fc106cc7ec76c28ccb357404594693',1,'hueplusplus::gamut']]],
+ ['maybestoi',['maybeStoi',['../classhueplusplus_1_1_resource_list.html#ab98e351ff57e1674cc5aa25f150a4471',1,'hueplusplus::ResourceList']]],
+ ['maybetostring',['maybeToString',['../classhueplusplus_1_1_resource_list.html#ae26bacb486e03c961d992da82d63fdd6',1,'hueplusplus::ResourceList']]],
+ ['method',['Method',['../classhueplusplus_1_1_action.html#a2181208d0b6e26bdb84e594af85b1542',1,'hueplusplus::Action']]],
+ ['methodtostring',['methodToString',['../classhueplusplus_1_1_action.html#a758c2ebb8875022fffca68c5b6a3c2d5',1,'hueplusplus::Action']]],
+ ['minor',['minor',['../structhueplusplus_1_1_version.html#a53ab47eaccb2eeeb32a227a29f841472',1,'hueplusplus::Version']]],
+ ['miredtokelvin',['miredToKelvin',['../namespacehueplusplus.html#a6228dfc645d2b2f4280959b462117244',1,'hueplusplus']]],
+ ['modelpictures_2ecpp',['ModelPictures.cpp',['../_model_pictures_8cpp.html',1,'']]],
+ ['modelpictures_2eh',['ModelPictures.h',['../_model_pictures_8h.html',1,'']]],
+ ['monday',['monday',['../classhueplusplus_1_1time_1_1_weekdays.html#a873da59cc5f5406ea7c430d94ca825f1',1,'hueplusplus::time::Weekdays']]]
+];
diff --git b/search/all_c.html a/search/all_c.html
new file mode 100644
index 0000000..da08c38
--- /dev/null
+++ a/search/all_c.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_c.js a/search/all_c.js
new file mode 100644
index 0000000..4ab8970
--- /dev/null
+++ a/search/all_c.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+ ['name',['name',['../structhueplusplus_1_1_whitelisted_user.html#a4ee19d0e64bbe68656cf5d9110f9669e',1,'hueplusplus::WhitelistedUser']]],
+ ['newdevicelist',['NewDeviceList',['../classhueplusplus_1_1_new_device_list.html',1,'hueplusplus::NewDeviceList'],['../classhueplusplus_1_1_new_device_list.html#a6f0d36ffa3691397eb4ccae3711d0c0b',1,'hueplusplus::NewDeviceList::NewDeviceList()']]],
+ ['newdevicelist_2ecpp',['NewDeviceList.cpp',['../_new_device_list_8cpp.html',1,'']]],
+ ['newdevicelist_2eh',['NewDeviceList.h',['../_new_device_list_8h.html',1,'']]],
+ ['none',['none',['../classhueplusplus_1_1time_1_1_weekdays.html#ae698598e1d051a6f23cc9e497eb7947c',1,'hueplusplus::time::Weekdays::none()'],['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43ab50339a10e1de285ac99d4c3990b8693',1,'hueplusplus::NONE()'],['../namespacehueplusplus.html#aeb1b8dcc03d48ce621a23ce3b2012c1aa334c4a4c42fdb79d7ebc3e73b517e6f8',1,'hueplusplus::none()']]],
+ ['normalizemac',['normalizeMac',['../classhueplusplus_1_1_bridge_finder.html#ad9b05c8c5fb48ebe78675c95688ddfef',1,'hueplusplus::BridgeFinder']]],
+ ['notin',['notIn',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35af3b45b74588c59c7ffc26692135ae58c',1,'hueplusplus::Condition']]],
+ ['notstable',['notStable',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35ad0bd4c0424231a1c79762fc43ec24db9',1,'hueplusplus::Condition']]]
+];
diff --git b/search/all_d.html a/search/all_d.html
new file mode 100644
index 0000000..9986c9c
--- /dev/null
+++ a/search/all_d.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_d.js a/search/all_d.js
new file mode 100644
index 0000000..416636a
--- /dev/null
+++ a/search/all_d.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['off',['off',['../classhueplusplus_1_1_light.html#a5f4699729652474534d5783c9a27ed94',1,'hueplusplus::Light']]],
+ ['on',['on',['../classhueplusplus_1_1_light.html#aab9db2db84ad55e19d7b46c77807973d',1,'hueplusplus::Light']]],
+ ['operator',['Operator',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35',1,'hueplusplus::Condition']]],
+ ['operator_21_3d',['operator!=',['../structhueplusplus_1_1_hue_saturation.html#acefbc6c45566e9a7536b36d639af0b9c',1,'hueplusplus::HueSaturation::operator!=()'],['../structhueplusplus_1_1_x_y.html#a530a1d70fa5fe01eaad444e37b69ceb8',1,'hueplusplus::XY::operator!=()'],['../structhueplusplus_1_1_x_y_brightness.html#ab0ffec2f467f475c40db465cc685a173',1,'hueplusplus::XYBrightness::operator!=()'],['../structhueplusplus_1_1_r_g_b.html#ab1f826ed16cf47438b772b3e7323eef5',1,'hueplusplus::RGB::operator!=()'],['../classhueplusplus_1_1_light_state.html#a3f20f2fd1ab3b18131fdd41fe9c4490f',1,'hueplusplus::LightState::operator!=()'],['../classhueplusplus_1_1time_1_1_weekdays.html#a54058c3602bf1d5e653c43c699a61614',1,'hueplusplus::time::Weekdays::operator!=()']]],
+ ['operator_3d',['operator=',['../classhueplusplus_1_1_bridge_config.html#a03b3ee409e16d518140277ae87d6ab41',1,'hueplusplus::BridgeConfig::operator=(const BridgeConfig &)=default'],['../classhueplusplus_1_1_bridge_config.html#ada5a954339b5bfc854d231f6ee60a12c',1,'hueplusplus::BridgeConfig::operator=(BridgeConfig &&)=default'],['../classhueplusplus_1_1_hue_command_a_p_i.html#a85cedc2afdbb37e56870f10313afdcac',1,'hueplusplus::HueCommandAPI::operator=(const HueCommandAPI &)=default'],['../classhueplusplus_1_1_hue_command_a_p_i.html#a5731bf7182f381491c3516daf7bdd77a',1,'hueplusplus::HueCommandAPI::operator=(HueCommandAPI &&)=default'],['../classhueplusplus_1_1_resource_list.html#aa75121b18d67faf84ff6b894d0c45b0b',1,'hueplusplus::ResourceList::operator=(const ResourceList &)=delete'],['../classhueplusplus_1_1_resource_list.html#abd327e8fb74cc60ac100bc750af338a3',1,'hueplusplus::ResourceList::operator=(ResourceList &&)=default'],['../classhueplusplus_1_1_searchable_resource_list.html#a525df9955f4395c75def137bb55622d1',1,'hueplusplus::SearchableResourceList::operator=()'],['../classhueplusplus_1_1_createable_resource_list.html#adfba6867594c38e7df0de20cf143ab38',1,'hueplusplus::CreateableResourceList::operator=()'],['../classhueplusplus_1_1_group_resource_list.html#af07ec2f86b579e8e33c14104fffc81fd',1,'hueplusplus::GroupResourceList::operator=()'],['../classhueplusplus_1_1_sensor_list.html#ad4b33da37bfa7b68e8254c2767c18a69',1,'hueplusplus::SensorList::operator=()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#aaa0effc39d6feab7e87af1a5a8186b8e',1,'hueplusplus::time::TimePattern::operator=()']]],
+ ['operator_3d_3d',['operator==',['../structhueplusplus_1_1_hue_saturation.html#a295b9a224ac68beda9e0947d859ed239',1,'hueplusplus::HueSaturation::operator==()'],['../structhueplusplus_1_1_x_y.html#a1b7040da4a539a7c7806a221cdb4b271',1,'hueplusplus::XY::operator==()'],['../structhueplusplus_1_1_x_y_brightness.html#a32e4e923d11f30513c15b3c2f1269beb',1,'hueplusplus::XYBrightness::operator==()'],['../structhueplusplus_1_1_r_g_b.html#a3be869fdba2541480c82c737219c7bb0',1,'hueplusplus::RGB::operator==()'],['../classhueplusplus_1_1_light_state.html#a9a84ff777c8870ae1dde06b75aff7a87',1,'hueplusplus::LightState::operator==()'],['../classhueplusplus_1_1time_1_1_weekdays.html#a2173294b9c0678f1c88d229cc2cedd13',1,'hueplusplus::time::Weekdays::operator==()']]],
+ ['operator_7c',['operator|',['../classhueplusplus_1_1time_1_1_weekdays.html#a03b68221ce483673449cb51052296d70',1,'hueplusplus::time::Weekdays']]]
+];
diff --git b/search/all_e.html a/search/all_e.html
new file mode 100644
index 0000000..9fa42bb
--- /dev/null
+++ a/search/all_e.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_e.js a/search/all_e.js
new file mode 100644
index 0000000..304a121
--- /dev/null
+++ a/search/all_e.js
@@ -0,0 +1,23 @@
+var searchData=
+[
+ ['parse',['parse',['../classhueplusplus_1_1_condition.html#a838c40cffaa7fd37d2874d35fe951f0a',1,'hueplusplus::Condition::parse()'],['../classhueplusplus_1_1_new_device_list.html#a5b529a5a874e4acc4c00d9ad3a34e650',1,'hueplusplus::NewDeviceList::parse()'],['../classhueplusplus_1_1time_1_1_absolute_time.html#ace5da237dfaf5e1b524d378e47c98828',1,'hueplusplus::time::AbsoluteTime::parse()'],['../classhueplusplus_1_1time_1_1_absolute_varied_time.html#a9621c48e0c537df73552162bdaba7b32',1,'hueplusplus::time::AbsoluteVariedTime::parse()'],['../classhueplusplus_1_1time_1_1_weekdays.html#aff9ed8dba46cc9912c43a3dd416670d6',1,'hueplusplus::time::Weekdays::parse()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#a286b91d053b2345a900b0b81e47cfe4c',1,'hueplusplus::time::TimePattern::parse()']]],
+ ['parseduration',['parseDuration',['../namespacehueplusplus_1_1time.html#aee172420a332a222f34f9e9eaf6c5621',1,'hueplusplus::time']]],
+ ['parsemethod',['parseMethod',['../classhueplusplus_1_1_action.html#a51b50bd1b0b8dd3641a42218abb9f24e',1,'hueplusplus::Action']]],
+ ['parsetimestamp',['parseTimestamp',['../namespacehueplusplus_1_1time.html#a84b6a46eb1f4a03ab7740104a8616007',1,'hueplusplus::time']]],
+ ['parseutc',['parseUTC',['../classhueplusplus_1_1time_1_1_absolute_time.html#a96322623cd27d6dad3fb7276475a098d',1,'hueplusplus::time::AbsoluteTime']]],
+ ['parseutctimestamp',['parseUTCTimestamp',['../namespacehueplusplus_1_1time.html#a31275be9b8ff39ee8445787b59ad1235',1,'hueplusplus::time']]],
+ ['patch',['patch',['../structhueplusplus_1_1_version.html#a309a02fdc79b1249314dbd9b5388f220',1,'hueplusplus::Version']]],
+ ['path',['path',['../classhueplusplus_1_1_resource_list.html#ac3490f9e6b165f3a71c13337887a1a88',1,'hueplusplus::ResourceList::path()'],['../classhueplusplus_1_1_state_transaction.html#a3394c75741fe5eb1a2c756747203f34f',1,'hueplusplus::StateTransaction::path()']]],
+ ['port',['port',['../structhueplusplus_1_1_bridge_finder_1_1_bridge_identification.html#aa23f74fb38e93b3a8fa863caf1842206',1,'hueplusplus::BridgeFinder::BridgeIdentification']]],
+ ['post',['post',['../classhueplusplus_1_1_action.html#a2181208d0b6e26bdb84e594af85b1542a42b90196b487c54069097a68fe98ab6f',1,'hueplusplus::Action']]],
+ ['postalertdelay',['postAlertDelay',['../classhueplusplus_1_1_config.html#ad6afd0852f97f874f6ef020405a843de',1,'hueplusplus::Config']]],
+ ['postjson',['POSTJson',['../classhueplusplus_1_1_base_http_handler.html#ad43b42bf599a59fdd89a4195ec891a02',1,'hueplusplus::BaseHttpHandler::POSTJson()'],['../classhueplusplus_1_1_i_http_handler.html#aec5d497cf69fe8e3b799d3522aea920f',1,'hueplusplus::IHttpHandler::POSTJson()']]],
+ ['postrequest',['POSTRequest',['../classhueplusplus_1_1_hue_command_a_p_i.html#a81a50ebaa5c468e2facd9be26d6049c3',1,'hueplusplus::HueCommandAPI::POSTRequest(const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const'],['../classhueplusplus_1_1_hue_command_a_p_i.html#a22e35bff206ce27e0bd648c56d7586fc',1,'hueplusplus::HueCommandAPI::POSTRequest(const std::string &path, const nlohmann::json &request) const']]],
+ ['poststring',['POSTString',['../classhueplusplus_1_1_base_http_handler.html#a896da865ceb520bd9797948395fa203d',1,'hueplusplus::BaseHttpHandler::POSTString()'],['../classhueplusplus_1_1_i_http_handler.html#a0bcb134d05ecadcb696ceb3e5e96829a',1,'hueplusplus::IHttpHandler::POSTString()']]],
+ ['prealertdelay',['preAlertDelay',['../classhueplusplus_1_1_config.html#ae274ac04261c8cbc7b16ccc3e3c2fd2b',1,'hueplusplus::Config']]],
+ ['presslinkbutton',['pressLinkButton',['../classhueplusplus_1_1_bridge_config.html#ad0fb148a2b3bbbc3ccc33841c9b2664c',1,'hueplusplus::BridgeConfig']]],
+ ['put',['put',['../classhueplusplus_1_1_action.html#a2181208d0b6e26bdb84e594af85b1542a8e13ffc9fd9d6a6761231a764bdf106b',1,'hueplusplus::Action']]],
+ ['putjson',['PUTJson',['../classhueplusplus_1_1_base_http_handler.html#a602b5ea73d5788e2bb79a654906e5de0',1,'hueplusplus::BaseHttpHandler::PUTJson()'],['../classhueplusplus_1_1_i_http_handler.html#a9915845c7104e510e2051b79c76c4f32',1,'hueplusplus::IHttpHandler::PUTJson()']]],
+ ['putrequest',['PUTRequest',['../classhueplusplus_1_1_hue_command_a_p_i.html#ae321474c3562a25d5bd04f50fcefe7b0',1,'hueplusplus::HueCommandAPI::PUTRequest(const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const'],['../classhueplusplus_1_1_hue_command_a_p_i.html#acf3029d2454458bd4aa8aa1416e95b0e',1,'hueplusplus::HueCommandAPI::PUTRequest(const std::string &path, const nlohmann::json &request) const']]],
+ ['putstring',['PUTString',['../classhueplusplus_1_1_base_http_handler.html#a72f4a78eea5c4b1c8f23b074ee3648bf',1,'hueplusplus::BaseHttpHandler::PUTString()'],['../classhueplusplus_1_1_i_http_handler.html#a35bbf8cafa81f87cff137896714ffa08',1,'hueplusplus::IHttpHandler::PUTString()']]]
+];
diff --git b/search/all_f.html a/search/all_f.html
new file mode 100644
index 0000000..6ecfc0e
--- /dev/null
+++ a/search/all_f.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/all_f.js a/search/all_f.js
new file mode 100644
index 0000000..6fc4d9b
--- /dev/null
+++ a/search/all_f.js
@@ -0,0 +1,28 @@
+var searchData=
+[
+ ['r',['r',['../structhueplusplus_1_1_r_g_b.html#afc66e05c1083719bd965df87ad2a2eea',1,'hueplusplus::RGB']]],
+ ['readconfigfile',['readConfigFile',['../_username_config_8cpp.html#a121fd3332ab275881e2b29007cf2c228',1,'UsernameConfig.cpp']]],
+ ['recall',['recall',['../classhueplusplus_1_1_scene.html#a98801967894cce8207ba50e0f49bda6f',1,'hueplusplus::Scene']]],
+ ['recurring',['recurring',['../classhueplusplus_1_1time_1_1_time_pattern.html#a70b77c5dfa70dbf3401a171300b0e213',1,'hueplusplus::time::TimePattern::recurring()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#ac9fe1cd7b55c94e3476fa93d0e744340a9c9d00795a205fe4c4d426c5233d30a8',1,'hueplusplus::time::TimePattern::recurring()']]],
+ ['recurringtime',['RecurringTime',['../classhueplusplus_1_1time_1_1_recurring_time.html',1,'hueplusplus::time::RecurringTime'],['../classhueplusplus_1_1time_1_1_recurring_time.html#a5e06f7388dbbe93f618c59f56857ef10',1,'hueplusplus::time::RecurringTime::RecurringTime()']]],
+ ['redcorner',['redCorner',['../structhueplusplus_1_1_color_gamut.html#acf9e80c64c782650c04e34a6b1c6b4e4',1,'hueplusplus::ColorGamut']]],
+ ['refresh',['refresh',['../classhueplusplus_1_1_a_p_i_cache.html#a712df81284602eb43afae322f8d43e7b',1,'hueplusplus::APICache::refresh()'],['../classhueplusplus_1_1_base_device.html#aa6ac28ae3879a41ace1cd6806ca9a2f1',1,'hueplusplus::BaseDevice::refresh()'],['../classhueplusplus_1_1_bridge.html#ab5e6405f4a371b5af6a85a3cd5f0c647',1,'hueplusplus::Bridge::refresh()'],['../classhueplusplus_1_1_bridge_config.html#a659e33308a8225f402edc8e735471f4f',1,'hueplusplus::BridgeConfig::refresh()'],['../classhueplusplus_1_1_group.html#a9acdde574461a8891cb4a5c74d740d8c',1,'hueplusplus::Group::refresh()'],['../classhueplusplus_1_1_resource_list.html#a6fe81cf76931d2bcf9dda56ea63524bd',1,'hueplusplus::ResourceList::refresh()'],['../classhueplusplus_1_1_rule.html#af4cce0dbb758b7f46a642d5b2c089dcd',1,'hueplusplus::Rule::refresh()'],['../classhueplusplus_1_1_scene.html#ad4e730f0fd1c8d726e0c6be3078419c8',1,'hueplusplus::Scene::refresh()'],['../classhueplusplus_1_1_schedule.html#a2e685940a7ba30e006017e560560aefa',1,'hueplusplus::Schedule::refresh()']]],
+ ['remove',['remove',['../classhueplusplus_1_1_resource_list.html#ac65ac738c8cf0eaac35634ccffa455f5',1,'hueplusplus::ResourceList']]],
+ ['removeuser',['removeUser',['../classhueplusplus_1_1_bridge_config.html#acde09d00c7619f8270f5731726d22dfb',1,'hueplusplus::BridgeConfig']]],
+ ['request',['request',['../classhueplusplus_1_1_create_sensor.html#a87769c93bab254272db88ac7ba6aff60',1,'hueplusplus::CreateSensor::request()'],['../classhueplusplus_1_1_state_transaction.html#a10e06d206a1193592c1a6c046aee08f8',1,'hueplusplus::StateTransaction::request()']]],
+ ['requestusername',['requestUsername',['../classhueplusplus_1_1_bridge.html#a2cc2ae33208a20572e6f556233b97692',1,'hueplusplus::Bridge']]],
+ ['requestusernameattemptinterval',['requestUsernameAttemptInterval',['../classhueplusplus_1_1_config.html#ac10813062aafaafc3210b39431a2c8c7',1,'hueplusplus::Config']]],
+ ['requestusernamedelay',['requestUsernameDelay',['../classhueplusplus_1_1_config.html#a0334a14e5ce165a38e5aded325624912',1,'hueplusplus::Config']]],
+ ['resourcelist',['ResourceList',['../classhueplusplus_1_1_resource_list.html',1,'hueplusplus::ResourceList< Resource, IdT >'],['../classhueplusplus_1_1_resource_list.html#a92d644c4440523ba31d36da291ce499a',1,'hueplusplus::ResourceList::ResourceList(std::shared_ptr< APICache > baseCache, const std::string &cacheEntry, std::chrono::steady_clock::duration refreshDuration, bool sharedState=false, const std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)'],['../classhueplusplus_1_1_resource_list.html#a3ad0fc473c4b3ac35210da9f2909e034',1,'hueplusplus::ResourceList::ResourceList(const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)'],['../classhueplusplus_1_1_resource_list.html#a165b892a0100a4ec6b575a2076f6bb8d',1,'hueplusplus::ResourceList::ResourceList(const ResourceList &)=delete'],['../classhueplusplus_1_1_resource_list.html#a035501423175d4dc5d91b677de1a9c95',1,'hueplusplus::ResourceList::ResourceList(ResourceList &&)=default']]],
+ ['resourcelist_2eh',['ResourceList.h',['../_resource_list_8h.html',1,'']]],
+ ['resourcelist_3c_20resource_2c_20int_20_3e',['ResourceList< Resource, int >',['../classhueplusplus_1_1_resource_list.html',1,'hueplusplus']]],
+ ['resourcelist_3c_20sensor_2c_20int_20_3e',['ResourceList< Sensor, int >',['../classhueplusplus_1_1_resource_list.html',1,'hueplusplus']]],
+ ['resourcetype',['ResourceType',['../classhueplusplus_1_1_resource_list.html#a177194d18e9f0f37228a262d6dd6a73c',1,'hueplusplus::ResourceList']]],
+ ['rgb',['RGB',['../structhueplusplus_1_1_r_g_b.html',1,'hueplusplus']]],
+ ['room',['Room',['../classhueplusplus_1_1_create_group.html#a8bc9cdc0c77ba191ec8951047da15c95',1,'hueplusplus::CreateGroup']]],
+ ['rule',['Rule',['../classhueplusplus_1_1_rule.html',1,'hueplusplus::Rule'],['../classhueplusplus_1_1_rule.html#a3a35f45c3e5c188b4921166972df2b3f',1,'hueplusplus::Rule::Rule(int id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_rule.html#a4b775ff498d4155a7e27807a44822dfa',1,'hueplusplus::Rule::Rule(int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)']]],
+ ['rule_2ecpp',['Rule.cpp',['../_rule_8cpp.html',1,'']]],
+ ['rule_2eh',['Rule.h',['../_rule_8h.html',1,'']]],
+ ['rulelist',['RuleList',['../classhueplusplus_1_1_bridge.html#a5f15819509a9e012a03b2a629eebf74b',1,'hueplusplus::Bridge']]],
+ ['rules',['rules',['../classhueplusplus_1_1_bridge.html#aaa2d393fd8498cf6c39a83e8258b062e',1,'hueplusplus::Bridge::rules()'],['../classhueplusplus_1_1_bridge.html#a7b92a77274cb53e7085e6f9135be25ba',1,'hueplusplus::Bridge::rules() const']]]
+];
diff --git b/search/classes_0.html a/search/classes_0.html
new file mode 100644
index 0000000..1c3e406
--- /dev/null
+++ a/search/classes_0.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_0.js a/search/classes_0.js
new file mode 100644
index 0000000..4f9626d
--- /dev/null
+++ a/search/classes_0.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['absolutetime',['AbsoluteTime',['../classhueplusplus_1_1time_1_1_absolute_time.html',1,'hueplusplus::time']]],
+ ['absolutevariedtime',['AbsoluteVariedTime',['../classhueplusplus_1_1time_1_1_absolute_varied_time.html',1,'hueplusplus::time']]],
+ ['action',['Action',['../classhueplusplus_1_1_action.html',1,'hueplusplus']]],
+ ['apicache',['APICache',['../classhueplusplus_1_1_a_p_i_cache.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_1.html a/search/classes_1.html
new file mode 100644
index 0000000..a8e7069
--- /dev/null
+++ a/search/classes_1.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_1.js a/search/classes_1.js
new file mode 100644
index 0000000..84f33e2
--- /dev/null
+++ a/search/classes_1.js
@@ -0,0 +1,11 @@
+var searchData=
+[
+ ['baseclip',['BaseCLIP',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html',1,'hueplusplus::sensors']]],
+ ['basedevice',['BaseDevice',['../classhueplusplus_1_1_base_device.html',1,'hueplusplus']]],
+ ['basehttphandler',['BaseHttpHandler',['../classhueplusplus_1_1_base_http_handler.html',1,'hueplusplus']]],
+ ['bridge',['Bridge',['../classhueplusplus_1_1_bridge.html',1,'hueplusplus']]],
+ ['bridgeconfig',['BridgeConfig',['../classhueplusplus_1_1_bridge_config.html',1,'hueplusplus']]],
+ ['bridgefinder',['BridgeFinder',['../classhueplusplus_1_1_bridge_finder.html',1,'hueplusplus']]],
+ ['bridgeidentification',['BridgeIdentification',['../structhueplusplus_1_1_bridge_finder_1_1_bridge_identification.html',1,'hueplusplus::BridgeFinder']]],
+ ['brightnessstrategy',['BrightnessStrategy',['../classhueplusplus_1_1_brightness_strategy.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_10.html a/search/classes_10.html
new file mode 100644
index 0000000..c1a9355
--- /dev/null
+++ a/search/classes_10.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_10.js a/search/classes_10.js
new file mode 100644
index 0000000..706b593
--- /dev/null
+++ a/search/classes_10.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['weekdays',['Weekdays',['../classhueplusplus_1_1time_1_1_weekdays.html',1,'hueplusplus::time']]],
+ ['whitelisteduser',['WhitelistedUser',['../structhueplusplus_1_1_whitelisted_user.html',1,'hueplusplus']]],
+ ['winhttphandler',['WinHttpHandler',['../classhueplusplus_1_1_win_http_handler.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_11.html a/search/classes_11.html
new file mode 100644
index 0000000..2df8ed3
--- /dev/null
+++ a/search/classes_11.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_11.js a/search/classes_11.js
new file mode 100644
index 0000000..743cdd8
--- /dev/null
+++ a/search/classes_11.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['xy',['XY',['../structhueplusplus_1_1_x_y.html',1,'hueplusplus']]],
+ ['xybrightness',['XYBrightness',['../structhueplusplus_1_1_x_y_brightness.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_12.html a/search/classes_12.html
new file mode 100644
index 0000000..9413245
--- /dev/null
+++ a/search/classes_12.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_12.js a/search/classes_12.js
new file mode 100644
index 0000000..fb1a8b5
--- /dev/null
+++ a/search/classes_12.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['zgpswitch',['ZGPSwitch',['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html',1,'hueplusplus::sensors']]],
+ ['zlllightlevel',['ZLLLightLevel',['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html',1,'hueplusplus::sensors']]],
+ ['zllpresence',['ZLLPresence',['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html',1,'hueplusplus::sensors']]],
+ ['zllswitch',['ZLLSwitch',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html',1,'hueplusplus::sensors']]],
+ ['zlltemperature',['ZLLTemperature',['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html',1,'hueplusplus::sensors']]]
+];
diff --git b/search/classes_2.html a/search/classes_2.html
new file mode 100644
index 0000000..5c09c96
--- /dev/null
+++ a/search/classes_2.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_2.js a/search/classes_2.js
new file mode 100644
index 0000000..b91c7a1
--- /dev/null
+++ a/search/classes_2.js
@@ -0,0 +1,24 @@
+var searchData=
+[
+ ['clipgenericflag',['CLIPGenericFlag',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag.html',1,'hueplusplus::sensors']]],
+ ['clipgenericstatus',['CLIPGenericStatus',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status.html',1,'hueplusplus::sensors']]],
+ ['cliphumidity',['CLIPHumidity',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity.html',1,'hueplusplus::sensors']]],
+ ['cliplightlevel',['CLIPLightLevel',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html',1,'hueplusplus::sensors']]],
+ ['clipopenclose',['CLIPOpenClose',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close.html',1,'hueplusplus::sensors']]],
+ ['clippresence',['CLIPPresence',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_presence.html',1,'hueplusplus::sensors']]],
+ ['clipswitch',['CLIPSwitch',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_switch.html',1,'hueplusplus::sensors']]],
+ ['cliptemperature',['CLIPTemperature',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature.html',1,'hueplusplus::sensors']]],
+ ['colorgamut',['ColorGamut',['../structhueplusplus_1_1_color_gamut.html',1,'hueplusplus']]],
+ ['colorhuestrategy',['ColorHueStrategy',['../classhueplusplus_1_1_color_hue_strategy.html',1,'hueplusplus']]],
+ ['colortemperaturestrategy',['ColorTemperatureStrategy',['../classhueplusplus_1_1_color_temperature_strategy.html',1,'hueplusplus']]],
+ ['condition',['Condition',['../classhueplusplus_1_1_condition.html',1,'hueplusplus']]],
+ ['config',['Config',['../classhueplusplus_1_1_config.html',1,'hueplusplus']]],
+ ['createableresourcelist',['CreateableResourceList',['../classhueplusplus_1_1_createable_resource_list.html',1,'hueplusplus']]],
+ ['createableresourcelist_3c_20resourcelist_3c_20resource_2c_20int_20_3e_2c_20createtype_20_3e',['CreateableResourceList< ResourceList< Resource, int >, CreateType >',['../classhueplusplus_1_1_createable_resource_list.html',1,'hueplusplus']]],
+ ['createableresourcelist_3c_20searchableresourcelist_3c_20sensor_20_3e_2c_20createsensor_20_3e',['CreateableResourceList< SearchableResourceList< Sensor >, CreateSensor >',['../classhueplusplus_1_1_createable_resource_list.html',1,'hueplusplus']]],
+ ['creategroup',['CreateGroup',['../classhueplusplus_1_1_create_group.html',1,'hueplusplus']]],
+ ['createrule',['CreateRule',['../classhueplusplus_1_1_create_rule.html',1,'hueplusplus']]],
+ ['createscene',['CreateScene',['../classhueplusplus_1_1_create_scene.html',1,'hueplusplus']]],
+ ['createschedule',['CreateSchedule',['../classhueplusplus_1_1_create_schedule.html',1,'hueplusplus']]],
+ ['createsensor',['CreateSensor',['../classhueplusplus_1_1_create_sensor.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_3.html a/search/classes_3.html
new file mode 100644
index 0000000..5faaeba
--- /dev/null
+++ a/search/classes_3.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_3.js a/search/classes_3.js
new file mode 100644
index 0000000..8991dd0
--- /dev/null
+++ a/search/classes_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['daylightsensor',['DaylightSensor',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html',1,'hueplusplus::sensors']]]
+];
diff --git b/search/classes_4.html a/search/classes_4.html
new file mode 100644
index 0000000..b3f11bc
--- /dev/null
+++ a/search/classes_4.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_4.js a/search/classes_4.js
new file mode 100644
index 0000000..b37b6dc
--- /dev/null
+++ a/search/classes_4.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['entertainmentmode',['EntertainmentMode',['../classhueplusplus_1_1_entertainment_mode.html',1,'hueplusplus']]],
+ ['extendedcolorhuestrategy',['ExtendedColorHueStrategy',['../classhueplusplus_1_1_extended_color_hue_strategy.html',1,'hueplusplus']]],
+ ['extendedcolortemperaturestrategy',['ExtendedColorTemperatureStrategy',['../classhueplusplus_1_1_extended_color_temperature_strategy.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_5.html a/search/classes_5.html
new file mode 100644
index 0000000..952ace6
--- /dev/null
+++ a/search/classes_5.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_5.js a/search/classes_5.js
new file mode 100644
index 0000000..a7033ee
--- /dev/null
+++ a/search/classes_5.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['fileinfo',['FileInfo',['../structhueplusplus_1_1_file_info.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_6.html a/search/classes_6.html
new file mode 100644
index 0000000..75eef9f
--- /dev/null
+++ a/search/classes_6.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_6.js a/search/classes_6.js
new file mode 100644
index 0000000..ed77b5a
--- /dev/null
+++ a/search/classes_6.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['group',['Group',['../classhueplusplus_1_1_group.html',1,'hueplusplus']]],
+ ['groupresourcelist',['GroupResourceList',['../classhueplusplus_1_1_group_resource_list.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_7.html a/search/classes_7.html
new file mode 100644
index 0000000..745f5f2
--- /dev/null
+++ a/search/classes_7.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_7.js a/search/classes_7.js
new file mode 100644
index 0000000..aaa2a7a
--- /dev/null
+++ a/search/classes_7.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['hueapiresponseexception',['HueAPIResponseException',['../classhueplusplus_1_1_hue_a_p_i_response_exception.html',1,'hueplusplus']]],
+ ['huecommandapi',['HueCommandAPI',['../classhueplusplus_1_1_hue_command_a_p_i.html',1,'hueplusplus']]],
+ ['hueexception',['HueException',['../classhueplusplus_1_1_hue_exception.html',1,'hueplusplus']]],
+ ['huesaturation',['HueSaturation',['../structhueplusplus_1_1_hue_saturation.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_8.html a/search/classes_8.html
new file mode 100644
index 0000000..5a443d9
--- /dev/null
+++ a/search/classes_8.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_8.js a/search/classes_8.js
new file mode 100644
index 0000000..cf220f1
--- /dev/null
+++ a/search/classes_8.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['ihttphandler',['IHttpHandler',['../classhueplusplus_1_1_i_http_handler.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_9.html a/search/classes_9.html
new file mode 100644
index 0000000..9cb55be
--- /dev/null
+++ a/search/classes_9.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_9.js a/search/classes_9.js
new file mode 100644
index 0000000..3dfd895
--- /dev/null
+++ a/search/classes_9.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['light',['Light',['../classhueplusplus_1_1_light.html',1,'hueplusplus']]],
+ ['lightfactory',['LightFactory',['../classhueplusplus_1_1_light_factory.html',1,'hueplusplus']]],
+ ['lightstate',['LightState',['../classhueplusplus_1_1_light_state.html',1,'hueplusplus']]],
+ ['lightstatebuilder',['LightStateBuilder',['../classhueplusplus_1_1_light_state_builder.html',1,'hueplusplus']]],
+ ['linhttphandler',['LinHttpHandler',['../classhueplusplus_1_1_lin_http_handler.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_a.html a/search/classes_a.html
new file mode 100644
index 0000000..54940d7
--- /dev/null
+++ a/search/classes_a.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_a.js a/search/classes_a.js
new file mode 100644
index 0000000..b30b589
--- /dev/null
+++ a/search/classes_a.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['newdevicelist',['NewDeviceList',['../classhueplusplus_1_1_new_device_list.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_b.html a/search/classes_b.html
new file mode 100644
index 0000000..6071ae0
--- /dev/null
+++ a/search/classes_b.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_b.js a/search/classes_b.js
new file mode 100644
index 0000000..ab5324f
--- /dev/null
+++ a/search/classes_b.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['recurringtime',['RecurringTime',['../classhueplusplus_1_1time_1_1_recurring_time.html',1,'hueplusplus::time']]],
+ ['resourcelist',['ResourceList',['../classhueplusplus_1_1_resource_list.html',1,'hueplusplus']]],
+ ['resourcelist_3c_20resource_2c_20int_20_3e',['ResourceList< Resource, int >',['../classhueplusplus_1_1_resource_list.html',1,'hueplusplus']]],
+ ['resourcelist_3c_20sensor_2c_20int_20_3e',['ResourceList< Sensor, int >',['../classhueplusplus_1_1_resource_list.html',1,'hueplusplus']]],
+ ['rgb',['RGB',['../structhueplusplus_1_1_r_g_b.html',1,'hueplusplus']]],
+ ['rule',['Rule',['../classhueplusplus_1_1_rule.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_c.html a/search/classes_c.html
new file mode 100644
index 0000000..6cf1d00
--- /dev/null
+++ a/search/classes_c.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_c.js a/search/classes_c.js
new file mode 100644
index 0000000..993c489
--- /dev/null
+++ a/search/classes_c.js
@@ -0,0 +1,14 @@
+var searchData=
+[
+ ['scene',['Scene',['../classhueplusplus_1_1_scene.html',1,'hueplusplus']]],
+ ['schedule',['Schedule',['../classhueplusplus_1_1_schedule.html',1,'hueplusplus']]],
+ ['searchableresourcelist',['SearchableResourceList',['../classhueplusplus_1_1_searchable_resource_list.html',1,'hueplusplus']]],
+ ['searchableresourcelist_3c_20sensor_20_3e',['SearchableResourceList< Sensor >',['../classhueplusplus_1_1_searchable_resource_list.html',1,'hueplusplus']]],
+ ['sensor',['Sensor',['../classhueplusplus_1_1_sensor.html',1,'hueplusplus']]],
+ ['sensorlist',['SensorList',['../classhueplusplus_1_1_sensor_list.html',1,'hueplusplus']]],
+ ['simplebrightnessstrategy',['SimpleBrightnessStrategy',['../classhueplusplus_1_1_simple_brightness_strategy.html',1,'hueplusplus']]],
+ ['simplecolorhuestrategy',['SimpleColorHueStrategy',['../classhueplusplus_1_1_simple_color_hue_strategy.html',1,'hueplusplus']]],
+ ['simplecolortemperaturestrategy',['SimpleColorTemperatureStrategy',['../classhueplusplus_1_1_simple_color_temperature_strategy.html',1,'hueplusplus']]],
+ ['socketcloser',['SocketCloser',['../classhueplusplus_1_1_socket_closer.html',1,'hueplusplus']]],
+ ['statetransaction',['StateTransaction',['../classhueplusplus_1_1_state_transaction.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_d.html a/search/classes_d.html
new file mode 100644
index 0000000..d4a7ed7
--- /dev/null
+++ a/search/classes_d.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_d.js a/search/classes_d.js
new file mode 100644
index 0000000..e967cfd
--- /dev/null
+++ a/search/classes_d.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['timeinterval',['TimeInterval',['../classhueplusplus_1_1time_1_1_time_interval.html',1,'hueplusplus::time']]],
+ ['timepattern',['TimePattern',['../classhueplusplus_1_1time_1_1_time_pattern.html',1,'hueplusplus::time']]],
+ ['timer',['Timer',['../classhueplusplus_1_1time_1_1_timer.html',1,'hueplusplus::time']]],
+ ['tlscontext',['TLSContext',['../structhueplusplus_1_1_t_l_s_context.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_e.html a/search/classes_e.html
new file mode 100644
index 0000000..9a9f48c
--- /dev/null
+++ a/search/classes_e.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_e.js a/search/classes_e.js
new file mode 100644
index 0000000..432516f
--- /dev/null
+++ a/search/classes_e.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['upnp',['UPnP',['../classhueplusplus_1_1_u_pn_p.html',1,'hueplusplus']]]
+];
diff --git b/search/classes_f.html a/search/classes_f.html
new file mode 100644
index 0000000..a128d60
--- /dev/null
+++ a/search/classes_f.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/classes_f.js a/search/classes_f.js
new file mode 100644
index 0000000..5445fc1
--- /dev/null
+++ a/search/classes_f.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['version',['Version',['../structhueplusplus_1_1_version.html',1,'hueplusplus']]]
+];
diff --git b/search/close.png a/search/close.png
new file mode 100644
index 0000000..9342d3d
--- /dev/null
+++ a/search/close.png
diff --git b/search/defines_0.html a/search/defines_0.html
new file mode 100644
index 0000000..5b25204
--- /dev/null
+++ a/search/defines_0.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/defines_0.js a/search/defines_0.js
new file mode 100644
index 0000000..a20b2de
--- /dev/null
+++ a/search/defines_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['current_5ffile_5finfo',['CURRENT_FILE_INFO',['../_hue_exception_macro_8h.html#ab07b1a21cf9c784dcfdd11f20c043dcb',1,'HueExceptionMacro.h']]]
+];
diff --git b/search/enums_0.html a/search/enums_0.html
new file mode 100644
index 0000000..ee343ac
--- /dev/null
+++ a/search/enums_0.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enums_0.js a/search/enums_0.js
new file mode 100644
index 0000000..d1069d4
--- /dev/null
+++ a/search/enums_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['alert',['Alert',['../namespacehueplusplus.html#aeb1b8dcc03d48ce621a23ce3b2012c1a',1,'hueplusplus']]]
+];
diff --git b/search/enums_1.html a/search/enums_1.html
new file mode 100644
index 0000000..3fd210a
--- /dev/null
+++ a/search/enums_1.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enums_1.js a/search/enums_1.js
new file mode 100644
index 0000000..a43fb2d
--- /dev/null
+++ a/search/enums_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['colortype',['ColorType',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43',1,'hueplusplus']]]
+];
diff --git b/search/enums_2.html a/search/enums_2.html
new file mode 100644
index 0000000..a042e52
--- /dev/null
+++ a/search/enums_2.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enums_2.js a/search/enums_2.js
new file mode 100644
index 0000000..5f958f4
--- /dev/null
+++ a/search/enums_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['method',['Method',['../classhueplusplus_1_1_action.html#a2181208d0b6e26bdb84e594af85b1542',1,'hueplusplus::Action']]]
+];
diff --git b/search/enums_3.html a/search/enums_3.html
new file mode 100644
index 0000000..265e0cb
--- /dev/null
+++ a/search/enums_3.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enums_3.js a/search/enums_3.js
new file mode 100644
index 0000000..ed9996d
--- /dev/null
+++ a/search/enums_3.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['operator',['Operator',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35',1,'hueplusplus::Condition']]]
+];
diff --git b/search/enums_4.html a/search/enums_4.html
new file mode 100644
index 0000000..97ee07f
--- /dev/null
+++ a/search/enums_4.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enums_4.js a/search/enums_4.js
new file mode 100644
index 0000000..799147e
--- /dev/null
+++ a/search/enums_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['type',['Type',['../classhueplusplus_1_1_scene.html#a19cfeb35fc2a882f010310211d057809',1,'hueplusplus::Scene::Type()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#ac9fe1cd7b55c94e3476fa93d0e744340',1,'hueplusplus::time::TimePattern::Type()']]]
+];
diff --git b/search/enumvalues_0.html a/search/enumvalues_0.html
new file mode 100644
index 0000000..9387b6a
--- /dev/null
+++ a/search/enumvalues_0.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enumvalues_0.js a/search/enumvalues_0.js
new file mode 100644
index 0000000..1bd12f7
--- /dev/null
+++ a/search/enumvalues_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['absolute',['absolute',['../classhueplusplus_1_1time_1_1_time_pattern.html#ac9fe1cd7b55c94e3476fa93d0e744340adc4d53aa0d117d8b189b36d161af4e96',1,'hueplusplus::time::TimePattern']]]
+];
diff --git b/search/enumvalues_1.html a/search/enumvalues_1.html
new file mode 100644
index 0000000..f622aba
--- /dev/null
+++ a/search/enumvalues_1.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enumvalues_1.js a/search/enumvalues_1.js
new file mode 100644
index 0000000..b4d9f18
--- /dev/null
+++ a/search/enumvalues_1.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['ddx',['ddx',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35a49d3650727f25f1831b88d97028cf8b4',1,'hueplusplus::Condition']]],
+ ['deletemethod',['deleteMethod',['../classhueplusplus_1_1_action.html#a2181208d0b6e26bdb84e594af85b1542abd269368d92362975c0ab1bb7b461813',1,'hueplusplus::Action']]],
+ ['dx',['dx',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35aacd2b09d39705a84bff035c18c9faea9',1,'hueplusplus::Condition']]]
+];
diff --git b/search/enumvalues_2.html a/search/enumvalues_2.html
new file mode 100644
index 0000000..d499078
--- /dev/null
+++ a/search/enumvalues_2.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enumvalues_2.js a/search/enumvalues_2.js
new file mode 100644
index 0000000..9f98f46
--- /dev/null
+++ a/search/enumvalues_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['eq',['eq',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35adf22f17124884fc51f1ac69d610096ac',1,'hueplusplus::Condition']]]
+];
diff --git b/search/enumvalues_3.html a/search/enumvalues_3.html
new file mode 100644
index 0000000..b4fc3ee
--- /dev/null
+++ a/search/enumvalues_3.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enumvalues_3.js a/search/enumvalues_3.js
new file mode 100644
index 0000000..2b7f974
--- /dev/null
+++ a/search/enumvalues_3.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+ ['gamut_5fa',['GAMUT_A',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43acb12f7ecdf09fc7c16dd11aa9c6fb9ed',1,'hueplusplus']]],
+ ['gamut_5fa_5ftemperature',['GAMUT_A_TEMPERATURE',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43a189c02d10c499277b86e179440e71848',1,'hueplusplus']]],
+ ['gamut_5fb',['GAMUT_B',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43aca225844aaa69efde18ab37ee40e76b4',1,'hueplusplus']]],
+ ['gamut_5fb_5ftemperature',['GAMUT_B_TEMPERATURE',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43acb8141a951a917a3dc3354b079e0b251',1,'hueplusplus']]],
+ ['gamut_5fc',['GAMUT_C',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43af87f15ae56e1182d08c4d7e142007618',1,'hueplusplus']]],
+ ['gamut_5fc_5ftemperature',['GAMUT_C_TEMPERATURE',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43ad1b983724d106f950a4d1eb0ecd2683c',1,'hueplusplus']]],
+ ['gamut_5fother',['GAMUT_OTHER',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43ae100b2c55540df23847244edf46da251',1,'hueplusplus']]],
+ ['gamut_5fother_5ftemperature',['GAMUT_OTHER_TEMPERATURE',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43a48e009dd5be70f354fd266843089718d',1,'hueplusplus']]],
+ ['groupscene',['groupScene',['../classhueplusplus_1_1_scene.html#a19cfeb35fc2a882f010310211d057809ac8ae379e9169a69d06d34ab6ea236c74',1,'hueplusplus::Scene']]],
+ ['gt',['gt',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35a1bfad22f0925978f310a37440bfdff43',1,'hueplusplus::Condition']]]
+];
diff --git b/search/enumvalues_4.html a/search/enumvalues_4.html
new file mode 100644
index 0000000..d6f69ac
--- /dev/null
+++ a/search/enumvalues_4.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enumvalues_4.js a/search/enumvalues_4.js
new file mode 100644
index 0000000..a67173c
--- /dev/null
+++ a/search/enumvalues_4.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['in',['in',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35a13b5bfe96f3e2fe411c9f66f4a582adf',1,'hueplusplus::Condition']]],
+ ['interval',['interval',['../classhueplusplus_1_1time_1_1_time_pattern.html#ac9fe1cd7b55c94e3476fa93d0e744340ad2e16d3f793e62737a6cdf2d54b0d9c1',1,'hueplusplus::time::TimePattern']]]
+];
diff --git b/search/enumvalues_5.html a/search/enumvalues_5.html
new file mode 100644
index 0000000..43a28d1
--- /dev/null
+++ a/search/enumvalues_5.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enumvalues_5.js a/search/enumvalues_5.js
new file mode 100644
index 0000000..00dd568
--- /dev/null
+++ a/search/enumvalues_5.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['lightscene',['lightScene',['../classhueplusplus_1_1_scene.html#a19cfeb35fc2a882f010310211d057809aa99f8e360c50b276a92841e3beb29232',1,'hueplusplus::Scene']]],
+ ['lselect',['lselect',['../namespacehueplusplus.html#aeb1b8dcc03d48ce621a23ce3b2012c1aa365f10ce924756817157a1f37d5ad27b',1,'hueplusplus']]],
+ ['lt',['lt',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35ad91af6958918af87d6a057c1cdf5b225',1,'hueplusplus::Condition']]]
+];
diff --git b/search/enumvalues_6.html a/search/enumvalues_6.html
new file mode 100644
index 0000000..7439ee1
--- /dev/null
+++ a/search/enumvalues_6.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enumvalues_6.js a/search/enumvalues_6.js
new file mode 100644
index 0000000..ebe3d96
--- /dev/null
+++ a/search/enumvalues_6.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['none',['NONE',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43ab50339a10e1de285ac99d4c3990b8693',1,'hueplusplus::NONE()'],['../namespacehueplusplus.html#aeb1b8dcc03d48ce621a23ce3b2012c1aa334c4a4c42fdb79d7ebc3e73b517e6f8',1,'hueplusplus::none()']]],
+ ['notin',['notIn',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35af3b45b74588c59c7ffc26692135ae58c',1,'hueplusplus::Condition']]],
+ ['notstable',['notStable',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35ad0bd4c0424231a1c79762fc43ec24db9',1,'hueplusplus::Condition']]]
+];
diff --git b/search/enumvalues_7.html a/search/enumvalues_7.html
new file mode 100644
index 0000000..ab72ef1
--- /dev/null
+++ a/search/enumvalues_7.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enumvalues_7.js a/search/enumvalues_7.js
new file mode 100644
index 0000000..a2cac13
--- /dev/null
+++ a/search/enumvalues_7.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['post',['post',['../classhueplusplus_1_1_action.html#a2181208d0b6e26bdb84e594af85b1542a42b90196b487c54069097a68fe98ab6f',1,'hueplusplus::Action']]],
+ ['put',['put',['../classhueplusplus_1_1_action.html#a2181208d0b6e26bdb84e594af85b1542a8e13ffc9fd9d6a6761231a764bdf106b',1,'hueplusplus::Action']]]
+];
diff --git b/search/enumvalues_8.html a/search/enumvalues_8.html
new file mode 100644
index 0000000..a0e8f1c
--- /dev/null
+++ a/search/enumvalues_8.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enumvalues_8.js a/search/enumvalues_8.js
new file mode 100644
index 0000000..a33ba2c
--- /dev/null
+++ a/search/enumvalues_8.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['recurring',['recurring',['../classhueplusplus_1_1time_1_1_time_pattern.html#ac9fe1cd7b55c94e3476fa93d0e744340a9c9d00795a205fe4c4d426c5233d30a8',1,'hueplusplus::time::TimePattern']]]
+];
diff --git b/search/enumvalues_9.html a/search/enumvalues_9.html
new file mode 100644
index 0000000..9051459
--- /dev/null
+++ a/search/enumvalues_9.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enumvalues_9.js a/search/enumvalues_9.js
new file mode 100644
index 0000000..df1c7f2
--- /dev/null
+++ a/search/enumvalues_9.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['select',['select',['../namespacehueplusplus.html#aeb1b8dcc03d48ce621a23ce3b2012c1aa99938282f04071859941e18f16efcf42',1,'hueplusplus']]],
+ ['stable',['stable',['../classhueplusplus_1_1_condition.html#a8a66cda007f5cf01934f71c02c03cf35af40faf6384fc85a33d3b05a9d41c012b',1,'hueplusplus::Condition']]]
+];
diff --git b/search/enumvalues_a.html a/search/enumvalues_a.html
new file mode 100644
index 0000000..f10160a
--- /dev/null
+++ a/search/enumvalues_a.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enumvalues_a.js a/search/enumvalues_a.js
new file mode 100644
index 0000000..9c1d9ce
--- /dev/null
+++ a/search/enumvalues_a.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['temperature',['TEMPERATURE',['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43ab976538812ef6e3e5881e245d5fc3c76',1,'hueplusplus']]],
+ ['timer',['timer',['../classhueplusplus_1_1time_1_1_time_pattern.html#ac9fe1cd7b55c94e3476fa93d0e744340a2c127bf32ccb4edf2bf22fea5a00e494',1,'hueplusplus::time::TimePattern']]]
+];
diff --git b/search/enumvalues_b.html a/search/enumvalues_b.html
new file mode 100644
index 0000000..0e2cb48
--- /dev/null
+++ a/search/enumvalues_b.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/enumvalues_b.js a/search/enumvalues_b.js
new file mode 100644
index 0000000..4a8f994
--- /dev/null
+++ a/search/enumvalues_b.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['undefined',['undefined',['../classhueplusplus_1_1time_1_1_time_pattern.html#ac9fe1cd7b55c94e3476fa93d0e744340a5e543256c480ac577d30f76f9120eb74',1,'hueplusplus::time::TimePattern::undefined()'],['../namespacehueplusplus.html#aa4ee261126f0bc8edc07e67bc811dc43a0db45d2a4141101bdfe48e3314cfbca3',1,'hueplusplus::UNDEFINED()']]]
+];
diff --git b/search/files_0.html a/search/files_0.html
new file mode 100644
index 0000000..4f272b8
--- /dev/null
+++ a/search/files_0.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_0.js a/search/files_0.js
new file mode 100644
index 0000000..b34a054
--- /dev/null
+++ a/search/files_0.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['action_2ecpp',['Action.cpp',['../_action_8cpp.html',1,'']]],
+ ['action_2eh',['Action.h',['../_action_8h.html',1,'']]],
+ ['apicache_2ecpp',['APICache.cpp',['../_a_p_i_cache_8cpp.html',1,'']]],
+ ['apicache_2eh',['APICache.h',['../_a_p_i_cache_8h.html',1,'']]]
+];
diff --git b/search/files_1.html a/search/files_1.html
new file mode 100644
index 0000000..dcce422
--- /dev/null
+++ a/search/files_1.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_1.js a/search/files_1.js
new file mode 100644
index 0000000..c903192
--- /dev/null
+++ a/search/files_1.js
@@ -0,0 +1,14 @@
+var searchData=
+[
+ ['basedevice_2ecpp',['BaseDevice.cpp',['../_base_device_8cpp.html',1,'']]],
+ ['basedevice_2eh',['BaseDevice.h',['../_base_device_8h.html',1,'']]],
+ ['basehttphandler_2ecpp',['BaseHttpHandler.cpp',['../_base_http_handler_8cpp.html',1,'']]],
+ ['basehttphandler_2eh',['BaseHttpHandler.h',['../_base_http_handler_8h.html',1,'']]],
+ ['bridge_2ecpp',['Bridge.cpp',['../_bridge_8cpp.html',1,'']]],
+ ['bridge_2eh',['Bridge.h',['../_bridge_8h.html',1,'']]],
+ ['bridgeconfig_2ecpp',['BridgeConfig.cpp',['../_bridge_config_8cpp.html',1,'']]],
+ ['bridgeconfig_2eh',['BridgeConfig.h',['../_bridge_config_8h.html',1,'']]],
+ ['bridgesetup_2ecpp',['BridgeSetup.cpp',['../_bridge_setup_8cpp.html',1,'']]],
+ ['brightnessstrategy_2eh',['BrightnessStrategy.h',['../_brightness_strategy_8h.html',1,'']]],
+ ['build_2emd',['Build.md',['../_build_8md.html',1,'']]]
+];
diff --git b/search/files_2.html a/search/files_2.html
new file mode 100644
index 0000000..d5c6c3b
--- /dev/null
+++ a/search/files_2.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_2.js a/search/files_2.js
new file mode 100644
index 0000000..86ceca3
--- /dev/null
+++ a/search/files_2.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['clipsensors_2ecpp',['CLIPSensors.cpp',['../_c_l_i_p_sensors_8cpp.html',1,'']]],
+ ['clipsensors_2eh',['CLIPSensors.h',['../_c_l_i_p_sensors_8h.html',1,'']]],
+ ['colorhuestrategy_2eh',['ColorHueStrategy.h',['../_color_hue_strategy_8h.html',1,'']]],
+ ['colortemperaturestrategy_2eh',['ColorTemperatureStrategy.h',['../_color_temperature_strategy_8h.html',1,'']]],
+ ['colorunits_2ecpp',['ColorUnits.cpp',['../_color_units_8cpp.html',1,'']]],
+ ['colorunits_2eh',['ColorUnits.h',['../_color_units_8h.html',1,'']]],
+ ['condition_2eh',['Condition.h',['../_condition_8h.html',1,'']]]
+];
diff --git b/search/files_3.html a/search/files_3.html
new file mode 100644
index 0000000..d5a9528
--- /dev/null
+++ a/search/files_3.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_3.js a/search/files_3.js
new file mode 100644
index 0000000..396bb22
--- /dev/null
+++ a/search/files_3.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['entertainmentmode_2ecpp',['EntertainmentMode.cpp',['../_entertainment_mode_8cpp.html',1,'']]],
+ ['entertainmentmode_2eh',['EntertainmentMode.h',['../_entertainment_mode_8h.html',1,'']]],
+ ['extendedcolorhuestrategy_2ecpp',['ExtendedColorHueStrategy.cpp',['../_extended_color_hue_strategy_8cpp.html',1,'']]],
+ ['extendedcolorhuestrategy_2eh',['ExtendedColorHueStrategy.h',['../_extended_color_hue_strategy_8h.html',1,'']]],
+ ['extendedcolortemperaturestrategy_2ecpp',['ExtendedColorTemperatureStrategy.cpp',['../_extended_color_temperature_strategy_8cpp.html',1,'']]],
+ ['extendedcolortemperaturestrategy_2eh',['ExtendedColorTemperatureStrategy.h',['../_extended_color_temperature_strategy_8h.html',1,'']]]
+];
diff --git b/search/files_4.html a/search/files_4.html
new file mode 100644
index 0000000..7b4c42a
--- /dev/null
+++ a/search/files_4.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_4.js a/search/files_4.js
new file mode 100644
index 0000000..06b01ea
--- /dev/null
+++ a/search/files_4.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['getting_5fstarted_2emd',['Getting_Started.md',['../_getting___started_8md.html',1,'']]],
+ ['group_2ecpp',['Group.cpp',['../_group_8cpp.html',1,'']]],
+ ['group_2eh',['Group.h',['../_group_8h.html',1,'']]]
+];
diff --git b/search/files_5.html a/search/files_5.html
new file mode 100644
index 0000000..1f77bb1
--- /dev/null
+++ a/search/files_5.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_5.js a/search/files_5.js
new file mode 100644
index 0000000..d2e54fd
--- /dev/null
+++ a/search/files_5.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['huecommandapi_2ecpp',['HueCommandAPI.cpp',['../_hue_command_a_p_i_8cpp.html',1,'']]],
+ ['huecommandapi_2eh',['HueCommandAPI.h',['../_hue_command_a_p_i_8h.html',1,'']]],
+ ['huedevicetypes_2ecpp',['HueDeviceTypes.cpp',['../_hue_device_types_8cpp.html',1,'']]],
+ ['huedevicetypes_2eh',['HueDeviceTypes.h',['../_hue_device_types_8h.html',1,'']]],
+ ['hueexception_2ecpp',['HueException.cpp',['../_hue_exception_8cpp.html',1,'']]],
+ ['hueexception_2eh',['HueException.h',['../_hue_exception_8h.html',1,'']]],
+ ['hueexceptionmacro_2eh',['HueExceptionMacro.h',['../_hue_exception_macro_8h.html',1,'']]]
+];
diff --git b/search/files_6.html a/search/files_6.html
new file mode 100644
index 0000000..7573254
--- /dev/null
+++ a/search/files_6.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_6.js a/search/files_6.js
new file mode 100644
index 0000000..b715070
--- /dev/null
+++ a/search/files_6.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['ihttphandler_2eh',['IHttpHandler.h',['../_i_http_handler_8h.html',1,'']]]
+];
diff --git b/search/files_7.html a/search/files_7.html
new file mode 100644
index 0000000..214b329
--- /dev/null
+++ a/search/files_7.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_7.js a/search/files_7.js
new file mode 100644
index 0000000..931a783
--- /dev/null
+++ a/search/files_7.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['libconfig_2eh',['LibConfig.h',['../_lib_config_8h.html',1,'']]],
+ ['light_2ecpp',['Light.cpp',['../_light_8cpp.html',1,'']]],
+ ['light_2eh',['Light.h',['../_light_8h.html',1,'']]],
+ ['lightsoff_2ecpp',['LightsOff.cpp',['../_lights_off_8cpp.html',1,'']]],
+ ['linhttphandler_2ecpp',['LinHttpHandler.cpp',['../_lin_http_handler_8cpp.html',1,'']]],
+ ['linhttphandler_2eh',['LinHttpHandler.h',['../_lin_http_handler_8h.html',1,'']]]
+];
diff --git b/search/files_8.html a/search/files_8.html
new file mode 100644
index 0000000..6720c7c
--- /dev/null
+++ a/search/files_8.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_8.js a/search/files_8.js
new file mode 100644
index 0000000..b085c59
--- /dev/null
+++ a/search/files_8.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['mainpage_2emd',['Mainpage.md',['../_mainpage_8md.html',1,'']]],
+ ['modelpictures_2ecpp',['ModelPictures.cpp',['../_model_pictures_8cpp.html',1,'']]],
+ ['modelpictures_2eh',['ModelPictures.h',['../_model_pictures_8h.html',1,'']]]
+];
diff --git b/search/files_9.html a/search/files_9.html
new file mode 100644
index 0000000..fc95877
--- /dev/null
+++ a/search/files_9.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_9.js a/search/files_9.js
new file mode 100644
index 0000000..5e2df08
--- /dev/null
+++ a/search/files_9.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['newdevicelist_2ecpp',['NewDeviceList.cpp',['../_new_device_list_8cpp.html',1,'']]],
+ ['newdevicelist_2eh',['NewDeviceList.h',['../_new_device_list_8h.html',1,'']]]
+];
diff --git b/search/files_a.html a/search/files_a.html
new file mode 100644
index 0000000..ffe3e9d
--- /dev/null
+++ a/search/files_a.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_a.js a/search/files_a.js
new file mode 100644
index 0000000..7fcb85e
--- /dev/null
+++ a/search/files_a.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['resourcelist_2eh',['ResourceList.h',['../_resource_list_8h.html',1,'']]],
+ ['rule_2ecpp',['Rule.cpp',['../_rule_8cpp.html',1,'']]],
+ ['rule_2eh',['Rule.h',['../_rule_8h.html',1,'']]]
+];
diff --git b/search/files_b.html a/search/files_b.html
new file mode 100644
index 0000000..32cd2be
--- /dev/null
+++ a/search/files_b.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_b.js a/search/files_b.js
new file mode 100644
index 0000000..24cf536
--- /dev/null
+++ a/search/files_b.js
@@ -0,0 +1,21 @@
+var searchData=
+[
+ ['scene_2ecpp',['Scene.cpp',['../_scene_8cpp.html',1,'']]],
+ ['scene_2eh',['Scene.h',['../_scene_8h.html',1,'']]],
+ ['schedule_2ecpp',['Schedule.cpp',['../_schedule_8cpp.html',1,'']]],
+ ['schedule_2eh',['Schedule.h',['../_schedule_8h.html',1,'']]],
+ ['sensor_2ecpp',['Sensor.cpp',['../_sensor_8cpp.html',1,'']]],
+ ['sensor_2eh',['Sensor.h',['../_sensor_8h.html',1,'']]],
+ ['sensorlist_2eh',['SensorList.h',['../_sensor_list_8h.html',1,'']]],
+ ['sensors_2emd',['Sensors.md',['../_sensors_8md.html',1,'']]],
+ ['shared_5fstate_2emd',['Shared_State.md',['../_shared___state_8md.html',1,'']]],
+ ['simplebrightnessstrategy_2ecpp',['SimpleBrightnessStrategy.cpp',['../_simple_brightness_strategy_8cpp.html',1,'']]],
+ ['simplebrightnessstrategy_2eh',['SimpleBrightnessStrategy.h',['../_simple_brightness_strategy_8h.html',1,'']]],
+ ['simplecolorhuestrategy_2ecpp',['SimpleColorHueStrategy.cpp',['../_simple_color_hue_strategy_8cpp.html',1,'']]],
+ ['simplecolorhuestrategy_2eh',['SimpleColorHueStrategy.h',['../_simple_color_hue_strategy_8h.html',1,'']]],
+ ['simplecolortemperaturestrategy_2ecpp',['SimpleColorTemperatureStrategy.cpp',['../_simple_color_temperature_strategy_8cpp.html',1,'']]],
+ ['simplecolortemperaturestrategy_2eh',['SimpleColorTemperatureStrategy.h',['../_simple_color_temperature_strategy_8h.html',1,'']]],
+ ['snippets_2ecpp',['Snippets.cpp',['../_snippets_8cpp.html',1,'']]],
+ ['statetransaction_2ecpp',['StateTransaction.cpp',['../_state_transaction_8cpp.html',1,'']]],
+ ['statetransaction_2eh',['StateTransaction.h',['../_state_transaction_8h.html',1,'']]]
+];
diff --git b/search/files_c.html a/search/files_c.html
new file mode 100644
index 0000000..bb83608
--- /dev/null
+++ a/search/files_c.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_c.js a/search/files_c.js
new file mode 100644
index 0000000..7063564
--- /dev/null
+++ a/search/files_c.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['timepattern_2ecpp',['TimePattern.cpp',['../_time_pattern_8cpp.html',1,'']]],
+ ['timepattern_2eh',['TimePattern.h',['../_time_pattern_8h.html',1,'']]],
+ ['transactions_2emd',['Transactions.md',['../_transactions_8md.html',1,'']]]
+];
diff --git b/search/files_d.html a/search/files_d.html
new file mode 100644
index 0000000..38bf2b3
--- /dev/null
+++ a/search/files_d.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_d.js a/search/files_d.js
new file mode 100644
index 0000000..afc8fc7
--- /dev/null
+++ a/search/files_d.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['upnp_2ecpp',['UPnP.cpp',['../_u_pn_p_8cpp.html',1,'']]],
+ ['upnp_2eh',['UPnP.h',['../_u_pn_p_8h.html',1,'']]],
+ ['usernameconfig_2ecpp',['UsernameConfig.cpp',['../_username_config_8cpp.html',1,'']]],
+ ['utils_2ecpp',['Utils.cpp',['../_utils_8cpp.html',1,'']]],
+ ['utils_2eh',['Utils.h',['../_utils_8h.html',1,'']]]
+];
diff --git b/search/files_e.html a/search/files_e.html
new file mode 100644
index 0000000..6f84762
--- /dev/null
+++ a/search/files_e.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_e.js a/search/files_e.js
new file mode 100644
index 0000000..2273ce4
--- /dev/null
+++ a/search/files_e.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['winhttphandler_2ecpp',['WinHttpHandler.cpp',['../_win_http_handler_8cpp.html',1,'']]],
+ ['winhttphandler_2eh',['WinHttpHandler.h',['../_win_http_handler_8h.html',1,'']]]
+];
diff --git b/search/files_f.html a/search/files_f.html
new file mode 100644
index 0000000..7568063
--- /dev/null
+++ a/search/files_f.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/files_f.js a/search/files_f.js
new file mode 100644
index 0000000..b6406a0
--- /dev/null
+++ a/search/files_f.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['zllsensors_2ecpp',['ZLLSensors.cpp',['../_z_l_l_sensors_8cpp.html',1,'']]],
+ ['zllsensors_2eh',['ZLLSensors.h',['../_z_l_l_sensors_8h.html',1,'']]]
+];
diff --git b/search/functions_0.html a/search/functions_0.html
new file mode 100644
index 0000000..4e6d87d
--- /dev/null
+++ a/search/functions_0.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_0.js a/search/functions_0.js
new file mode 100644
index 0000000..055b56b
--- /dev/null
+++ a/search/functions_0.js
@@ -0,0 +1,21 @@
+var searchData=
+[
+ ['absolutetime',['AbsoluteTime',['../classhueplusplus_1_1time_1_1_absolute_time.html#a78ed85e1ea1356be6dbf319385498b30',1,'hueplusplus::time::AbsoluteTime']]],
+ ['absolutevariedtime',['AbsoluteVariedTime',['../classhueplusplus_1_1time_1_1_absolute_varied_time.html#adc658d451620f95d63661194d506442d',1,'hueplusplus::time::AbsoluteVariedTime']]],
+ ['action',['Action',['../classhueplusplus_1_1_action.html#a581153171ecf44ce583e088c9bd6f048',1,'hueplusplus::Action']]],
+ ['addclientkey',['addClientKey',['../classhueplusplus_1_1_bridge_finder.html#ac5f7abe7bc156b73732d8c59db3c9641',1,'hueplusplus::BridgeFinder']]],
+ ['addusername',['addUsername',['../classhueplusplus_1_1_bridge_finder.html#ab1fec93e45160886b712a52e3ac6d073',1,'hueplusplus::BridgeFinder']]],
+ ['alert',['alert',['../classhueplusplus_1_1_light.html#a920b8ddc9d564b3a1126a68fac1722d7',1,'hueplusplus::Light::alert()'],['../classhueplusplus_1_1_state_transaction.html#a96a44ddeae47f62531f874e0b1de7f5d',1,'hueplusplus::StateTransaction::alert()']]],
+ ['alertfromstring',['alertFromString',['../namespacehueplusplus.html#a6da197fef27f8228fa2f4d7b5cda6663',1,'hueplusplus']]],
+ ['alerthuesaturation',['alertHueSaturation',['../classhueplusplus_1_1_color_hue_strategy.html#a08b2a131d17b8b79cd71b446bf86ecda',1,'hueplusplus::ColorHueStrategy::alertHueSaturation()'],['../classhueplusplus_1_1_extended_color_hue_strategy.html#a2c42f0bda14254299f8ecdfbfe4292b7',1,'hueplusplus::ExtendedColorHueStrategy::alertHueSaturation()'],['../classhueplusplus_1_1_light.html#a4a32fef56140dccb003516842fe958f8',1,'hueplusplus::Light::alertHueSaturation()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#afad074b1fb38b460d6e9b3031e5eaae6',1,'hueplusplus::SimpleColorHueStrategy::alertHueSaturation()']]],
+ ['alerttemperature',['alertTemperature',['../classhueplusplus_1_1_color_temperature_strategy.html#ad833f066860b1aa4cb62e4bbe5412db1',1,'hueplusplus::ColorTemperatureStrategy::alertTemperature()'],['../classhueplusplus_1_1_extended_color_temperature_strategy.html#ac04603c779e3606c88f955223b5dad88',1,'hueplusplus::ExtendedColorTemperatureStrategy::alertTemperature()'],['../classhueplusplus_1_1_light.html#ad21d944fb0054b25455338e8bf2fc4d2',1,'hueplusplus::Light::alertTemperature()'],['../classhueplusplus_1_1_simple_color_temperature_strategy.html#aaa28a89fc3314541331ea8ce4c3ea955',1,'hueplusplus::SimpleColorTemperatureStrategy::alertTemperature()']]],
+ ['alerttostring',['alertToString',['../namespacehueplusplus.html#a5cd7662da9c6923e35b22c30e3ac5e90',1,'hueplusplus']]],
+ ['alertxy',['alertXY',['../classhueplusplus_1_1_color_hue_strategy.html#a64d7fdb09457bbed5ab6c440e80a5eb6',1,'hueplusplus::ColorHueStrategy::alertXY()'],['../classhueplusplus_1_1_extended_color_hue_strategy.html#aa7ccb118dd9dda984636ac262c0489f9',1,'hueplusplus::ExtendedColorHueStrategy::alertXY()'],['../classhueplusplus_1_1_light.html#a0ec39bced79c49e31d236210392e6c38',1,'hueplusplus::Light::alertXY()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#a2de0ee6e19d621bdc18b4f837a2c30a7',1,'hueplusplus::SimpleColorHueStrategy::alertXY()']]],
+ ['all',['all',['../classhueplusplus_1_1time_1_1_weekdays.html#a361caaff5f8c4ccd720cb5f885d46076',1,'hueplusplus::time::Weekdays']]],
+ ['apicache',['APICache',['../classhueplusplus_1_1_a_p_i_cache.html#ab4657a168d72e1f2c344ef1f2f44647c',1,'hueplusplus::APICache::APICache(std::shared_ptr< APICache > baseCache, const std::string &subEntry, std::chrono::steady_clock::duration refresh)'],['../classhueplusplus_1_1_a_p_i_cache.html#ae2c4e98ff7510eb216316c927e18a772',1,'hueplusplus::APICache::APICache(const std::string &path, const HueCommandAPI &commands, std::chrono::steady_clock::duration refresh, const nlohmann::json &initial)']]],
+ ['asabsolute',['asAbsolute',['../classhueplusplus_1_1time_1_1_time_pattern.html#ac3a2c447a19e92e1ae975aae503188bc',1,'hueplusplus::time::TimePattern']]],
+ ['asinterval',['asInterval',['../classhueplusplus_1_1time_1_1_time_pattern.html#ab6b93f74e11b0d38dcf2c590332d04fb',1,'hueplusplus::time::TimePattern']]],
+ ['asrecurring',['asRecurring',['../classhueplusplus_1_1time_1_1_time_pattern.html#a7669d4aeb79f8ef0a879fc58d081f53a',1,'hueplusplus::time::TimePattern']]],
+ ['assensortype',['asSensorType',['../classhueplusplus_1_1_sensor.html#a3dd55641f02c9a59f69dd37b87f9d621',1,'hueplusplus::Sensor::asSensorType() const &'],['../classhueplusplus_1_1_sensor.html#a2aaa1a662822dfb1fc6e70b03c565b56',1,'hueplusplus::Sensor::asSensorType() &&']]],
+ ['astimer',['asTimer',['../classhueplusplus_1_1time_1_1_time_pattern.html#afb5fde175206b34ec0800bf37d706c0b',1,'hueplusplus::time::TimePattern']]]
+];
diff --git b/search/functions_1.html a/search/functions_1.html
new file mode 100644
index 0000000..b343e2d
--- /dev/null
+++ a/search/functions_1.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_1.js a/search/functions_1.js
new file mode 100644
index 0000000..4a591df
--- /dev/null
+++ a/search/functions_1.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['baseclip',['BaseCLIP',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a3c40f4b4e9c742f876e51968651eb810',1,'hueplusplus::sensors::BaseCLIP']]],
+ ['basedevice',['BaseDevice',['../classhueplusplus_1_1_base_device.html#a48bf88e758fd7191c599a46751755c97',1,'hueplusplus::BaseDevice::BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_base_device.html#aaa90386c0cea99464dee6bedb2c68254',1,'hueplusplus::BaseDevice::BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)']]],
+ ['bridge',['Bridge',['../classhueplusplus_1_1_bridge.html#a5fa0378ab3552a82d611fba6701bcad6',1,'hueplusplus::Bridge']]],
+ ['bridgeconfig',['BridgeConfig',['../classhueplusplus_1_1_bridge_config.html#a9ea231a17f231f44230f1d99a91be9cd',1,'hueplusplus::BridgeConfig::BridgeConfig(std::shared_ptr< APICache > baseCache, std::chrono::steady_clock::duration refreshDuration)'],['../classhueplusplus_1_1_bridge_config.html#aba7cc6034b4c95f8e2df4e19c53a8dac',1,'hueplusplus::BridgeConfig::BridgeConfig(const BridgeConfig &)=default'],['../classhueplusplus_1_1_bridge_config.html#a0ef3ef7f8f2c0bbd53e713c005466b21',1,'hueplusplus::BridgeConfig::BridgeConfig(BridgeConfig &&)=default']]],
+ ['bridgefinder',['BridgeFinder',['../classhueplusplus_1_1_bridge_finder.html#a84d4cd53894f7a1e9bde97998e59f274',1,'hueplusplus::BridgeFinder']]]
+];
diff --git b/search/functions_10.html a/search/functions_10.html
new file mode 100644
index 0000000..72bc1ea
--- /dev/null
+++ a/search/functions_10.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_10.js a/search/functions_10.js
new file mode 100644
index 0000000..1215f1c
--- /dev/null
+++ a/search/functions_10.js
@@ -0,0 +1,91 @@
+var searchData=
+[
+ ['safegetmember',['safeGetMember',['../namespacehueplusplus_1_1utils.html#ae6268e7923eee8d5300471820c3d8094',1,'hueplusplus::utils']]],
+ ['saturday',['saturday',['../classhueplusplus_1_1time_1_1_weekdays.html#a0f4656f6b83f04d8309b5d97f0b172a3',1,'hueplusplus::time::Weekdays']]],
+ ['saveconfigfile',['saveConfigFile',['../_username_config_8cpp.html#a8a4e95568e5122316762a62049d48ae5',1,'UsernameConfig.cpp']]],
+ ['scene',['Scene',['../classhueplusplus_1_1_scene.html#af36cec2a409c66b8a625f4530bce9a31',1,'hueplusplus::Scene::Scene(const std::string &id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_scene.html#a3d8201ba0c0b528016f4fac9cf2afa4f',1,'hueplusplus::Scene::Scene(const std::string &id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)']]],
+ ['scenes',['scenes',['../classhueplusplus_1_1_bridge.html#a175d390126a454a6f9a04f74e5654bdc',1,'hueplusplus::Bridge::scenes()'],['../classhueplusplus_1_1_bridge.html#af6d36575bf9cfa372bbd4ceac526eb95',1,'hueplusplus::Bridge::scenes() const']]],
+ ['schedule',['Schedule',['../classhueplusplus_1_1_schedule.html#a56ba462e44b0127f60bab94692f587c5',1,'hueplusplus::Schedule::Schedule(int id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_schedule.html#a8c3b49c82f61adb10d75fe62a051092b',1,'hueplusplus::Schedule::Schedule(int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)']]],
+ ['schedules',['schedules',['../classhueplusplus_1_1_bridge.html#afe68f4cac354705974cf1608f2a08420',1,'hueplusplus::Bridge::schedules()'],['../classhueplusplus_1_1_bridge.html#a915ed267f130d35ec3ef215f8c9b69fa',1,'hueplusplus::Bridge::schedules() const']]],
+ ['search',['search',['../classhueplusplus_1_1_searchable_resource_list.html#aa67cf6cc3bde30b1c8a79d98d270ae32',1,'hueplusplus::SearchableResourceList']]],
+ ['searchableresourcelist',['SearchableResourceList',['../classhueplusplus_1_1_searchable_resource_list.html#ab4a2bfed71c55e91dbead4d4e17d50f7',1,'hueplusplus::SearchableResourceList']]],
+ ['send',['send',['../classhueplusplus_1_1_i_http_handler.html#ab48c2539eac3d3af598525a6e8eab507',1,'hueplusplus::IHttpHandler::send()'],['../classhueplusplus_1_1_lin_http_handler.html#a737ed1b4d14b41d24242318d47500765',1,'hueplusplus::LinHttpHandler::send()'],['../classhueplusplus_1_1_win_http_handler.html#a1d3cd49cacaf22081bab27024cfcce33',1,'hueplusplus::WinHttpHandler::send()']]],
+ ['sendalert',['sendAlert',['../classhueplusplus_1_1_sensor.html#a8aca27f51d9dfb19432a0ce53a84ea98',1,'hueplusplus::Sensor::sendAlert()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a65c4b388a66aa817c36d0d10685e92c7',1,'hueplusplus::sensors::ZLLSwitch::sendAlert()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a7372672fc62dd530eaee6aec2be9f95d',1,'hueplusplus::sensors::ZLLPresence::sendAlert()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#a53a1e3297da367c3b356a66f30750afe',1,'hueplusplus::sensors::ZLLTemperature::sendAlert()']]],
+ ['sendgethttpbody',['sendGetHTTPBody',['../classhueplusplus_1_1_base_http_handler.html#ad5f51b25770345641c871f6efbc579aa',1,'hueplusplus::BaseHttpHandler::sendGetHTTPBody()'],['../classhueplusplus_1_1_i_http_handler.html#a84b57f1a3156d86e7a52df9b25fab77e',1,'hueplusplus::IHttpHandler::sendGetHTTPBody()']]],
+ ['sendhttprequest',['sendHTTPRequest',['../classhueplusplus_1_1_base_http_handler.html#a8a10fabfc57e4c60612bc279fae25050',1,'hueplusplus::BaseHttpHandler::sendHTTPRequest()'],['../classhueplusplus_1_1_i_http_handler.html#ac82b60eb8da6a11800e6944fd45a93d8',1,'hueplusplus::IHttpHandler::sendHTTPRequest()']]],
+ ['sendmulticast',['sendMulticast',['../classhueplusplus_1_1_i_http_handler.html#ae4de1ed96e6ecf1e41613366dc6fda32',1,'hueplusplus::IHttpHandler::sendMulticast()'],['../classhueplusplus_1_1_lin_http_handler.html#a29ff04a3ca7ca1051743763b2e30d3c5',1,'hueplusplus::LinHttpHandler::sendMulticast()'],['../classhueplusplus_1_1_win_http_handler.html#aceb94114ec78023a3cd45375205bbde5',1,'hueplusplus::WinHttpHandler::sendMulticast()']]],
+ ['sendputrequest',['sendPutRequest',['../classhueplusplus_1_1_base_device.html#ac8089e8f00d426427ed2fc7f6b817082',1,'hueplusplus::BaseDevice::sendPutRequest()'],['../classhueplusplus_1_1_group.html#a5910d8ce68581f45297e902a21ebc55d',1,'hueplusplus::Group::sendPutRequest()']]],
+ ['sensor',['Sensor',['../classhueplusplus_1_1_sensor.html#a84233dc1a8456935c0173acf3712d522',1,'hueplusplus::Sensor::Sensor(int id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_sensor.html#a5b7676f01394623c55837112c4d43f67',1,'hueplusplus::Sensor::Sensor(int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)']]],
+ ['sensorlist',['SensorList',['../classhueplusplus_1_1_sensor_list.html#a50856b1861e871652de5ce7185e0c5a2',1,'hueplusplus::SensorList']]],
+ ['sensors',['sensors',['../classhueplusplus_1_1_bridge.html#acd15a988fecd561103a06e5a4ec8780b',1,'hueplusplus::Bridge::sensors()'],['../classhueplusplus_1_1_bridge.html#a6944b189b9d8ac0a3fea3391a467e46a',1,'hueplusplus::Bridge::sensors() const']]],
+ ['setactions',['setActions',['../classhueplusplus_1_1_rule.html#a2d52264d66e47e2693ddd9bf4c0a46ad',1,'hueplusplus::Rule']]],
+ ['setappdata',['setAppdata',['../classhueplusplus_1_1_scene.html#a5553b042d66895d8250d5f5784589f21',1,'hueplusplus::Scene::setAppdata()'],['../classhueplusplus_1_1_create_scene.html#aef1f158ecc2f087e4051325bb879d70a',1,'hueplusplus::CreateScene::setAppdata()']]],
+ ['setautodelete',['setAutodelete',['../classhueplusplus_1_1_schedule.html#a6deae5cd422738bb4b3a6732cacbd7db',1,'hueplusplus::Schedule::setAutodelete()'],['../classhueplusplus_1_1_create_schedule.html#ad43e1ae48c343b7cc730871e5493f189',1,'hueplusplus::CreateSchedule::setAutodelete()']]],
+ ['setbatterystate',['setBatteryState',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a2e0bd2461685b0bf42bcbf77e048e07c',1,'hueplusplus::sensors::BaseCLIP::setBatteryState()'],['../classhueplusplus_1_1_sensor.html#a3ead87d4562bd0bc579877d13950bb66',1,'hueplusplus::Sensor::setBatteryState()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#ace362807d48833a215eafec996c32416',1,'hueplusplus::sensors::DaylightSensor::setBatteryState()']]],
+ ['setbrightness',['setBrightness',['../classhueplusplus_1_1_brightness_strategy.html#a2b1aa7994c5fa8cbfc20e59c4bb133ad',1,'hueplusplus::BrightnessStrategy::setBrightness()'],['../classhueplusplus_1_1_group.html#aed3c72903baccbc80e206a2fb8e10594',1,'hueplusplus::Group::setBrightness()'],['../classhueplusplus_1_1_light.html#a103f8c3ab0a6bbf17839a9fd59049ce1',1,'hueplusplus::Light::setBrightness()'],['../classhueplusplus_1_1_light_state_builder.html#abac8875aa18b3b5919ea40ac347d741f',1,'hueplusplus::LightStateBuilder::setBrightness()'],['../classhueplusplus_1_1_simple_brightness_strategy.html#a672760ff447c05b23c932b61fb862a61',1,'hueplusplus::SimpleBrightnessStrategy::setBrightness()'],['../classhueplusplus_1_1_state_transaction.html#a3502aed5c5b47f058133358959c171e5',1,'hueplusplus::StateTransaction::setBrightness()']]],
+ ['setbrightnessstrategy',['setBrightnessStrategy',['../classhueplusplus_1_1_light.html#aed932e5106c7dd16c716514a35554a56',1,'hueplusplus::Light']]],
+ ['setbuttonevent',['setButtonEvent',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_switch.html#a571de95e2e35987bd99ca3cdb4f2cb61',1,'hueplusplus::sensors::CLIPSwitch']]],
+ ['setcolor',['setColor',['../classhueplusplus_1_1_group.html#a1926d36649f120a4a688de6c94feb33e',1,'hueplusplus::Group::setColor(const HueSaturation &hueSat, uint8_t transition=4)'],['../classhueplusplus_1_1_group.html#a2b36c6ddc60844a61f2edfe63da6cf26',1,'hueplusplus::Group::setColor(const XYBrightness &xy, uint8_t transition=4)'],['../classhueplusplus_1_1_state_transaction.html#aedc15504da306e334f4da5218cc5a638',1,'hueplusplus::StateTransaction::setColor(const HueSaturation &hueSat)'],['../classhueplusplus_1_1_state_transaction.html#a8103fa22ea61bca6e70a52a39cdcc499',1,'hueplusplus::StateTransaction::setColor(const XY &xy)'],['../classhueplusplus_1_1_state_transaction.html#a95d83694839ed7efcef42cf1c3649a46',1,'hueplusplus::StateTransaction::setColor(const XYBrightness &xy)']]],
+ ['setcolorhue',['setColorHue',['../classhueplusplus_1_1_color_hue_strategy.html#ab40ebafdc3564751426246501ca9c469',1,'hueplusplus::ColorHueStrategy::setColorHue()'],['../classhueplusplus_1_1_light.html#a0c50bf851bf76150d8e37b9bf0ba47a1',1,'hueplusplus::Light::setColorHue()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#a25dc21b194e13cb6b974c1da53c2c62e',1,'hueplusplus::SimpleColorHueStrategy::setColorHue()'],['../classhueplusplus_1_1_state_transaction.html#a6861e2c1cdbf0e95b14b81869a5eb7de',1,'hueplusplus::StateTransaction::setColorHue()']]],
+ ['setcolorhuesaturation',['setColorHueSaturation',['../classhueplusplus_1_1_color_hue_strategy.html#ae1a17d7f6f2c8f46e60d975521f2ce4d',1,'hueplusplus::ColorHueStrategy::setColorHueSaturation()'],['../classhueplusplus_1_1_light.html#a378ef834d9939ed7c4835e62f506d9b1',1,'hueplusplus::Light::setColorHueSaturation()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#a1ece57b7eb0ba81c3560fb82d578a074',1,'hueplusplus::SimpleColorHueStrategy::setColorHueSaturation()']]],
+ ['setcolorhuestrategy',['setColorHueStrategy',['../classhueplusplus_1_1_light.html#a6b1291f0c5e6e41be11c7908ea1e77db',1,'hueplusplus::Light']]],
+ ['setcolorloop',['setColorLoop',['../classhueplusplus_1_1_color_hue_strategy.html#a0224a4b1fe81fcb6f5574a344f36f3eb',1,'hueplusplus::ColorHueStrategy::setColorLoop()'],['../classhueplusplus_1_1_group.html#a3975e456a1db2b89e35e521069244fce',1,'hueplusplus::Group::setColorLoop()'],['../classhueplusplus_1_1_light.html#ace958475e37b6273da1a47395076156d',1,'hueplusplus::Light::setColorLoop()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#aacd1a680e328464efa8b07ba11c971f1',1,'hueplusplus::SimpleColorHueStrategy::setColorLoop()'],['../classhueplusplus_1_1_state_transaction.html#a61daf0b474ba175cfbd09f849bee90bb',1,'hueplusplus::StateTransaction::setColorLoop()'],['../classhueplusplus_1_1_light_state_builder.html#adb9c7a603559fdb8b4f5999c44539108',1,'hueplusplus::LightStateBuilder::setColorloop()']]],
+ ['setcolorrgb',['setColorRGB',['../classhueplusplus_1_1_entertainment_mode.html#ac2798b76837ce5fd10f43d3859343333',1,'hueplusplus::EntertainmentMode::setColorRGB()'],['../classhueplusplus_1_1_light.html#a45c57a522e5785729fa7f557bf8591e3',1,'hueplusplus::Light::setColorRGB()']]],
+ ['setcolorsaturation',['setColorSaturation',['../classhueplusplus_1_1_color_hue_strategy.html#a8b95a449a9441a8891ca7e786fcef9ef',1,'hueplusplus::ColorHueStrategy::setColorSaturation()'],['../classhueplusplus_1_1_light.html#a0db3f274671a9f2246708a0d3f8b7cf3',1,'hueplusplus::Light::setColorSaturation()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#a936de128e3e29af3abc971ed3bc18c14',1,'hueplusplus::SimpleColorHueStrategy::setColorSaturation()'],['../classhueplusplus_1_1_state_transaction.html#aa436b81cd742568d6230e841826cd044',1,'hueplusplus::StateTransaction::setColorSaturation()']]],
+ ['setcolortemperature',['setColorTemperature',['../classhueplusplus_1_1_color_temperature_strategy.html#a1ad630005a49398348a0f9529a298da9',1,'hueplusplus::ColorTemperatureStrategy::setColorTemperature()'],['../classhueplusplus_1_1_group.html#aae6193c2db9a9d3dfd2f83cf978966c3',1,'hueplusplus::Group::setColorTemperature()'],['../classhueplusplus_1_1_light.html#a5f5b8b411e96493c82f4f392d3efe932',1,'hueplusplus::Light::setColorTemperature()'],['../classhueplusplus_1_1_simple_color_temperature_strategy.html#a3c7d33454cb18062e9e633a410c4cb78',1,'hueplusplus::SimpleColorTemperatureStrategy::setColorTemperature()'],['../classhueplusplus_1_1_state_transaction.html#ab4baed74a081d9c238830a301b93b265',1,'hueplusplus::StateTransaction::setColorTemperature()']]],
+ ['setcolortemperaturestrategy',['setColorTemperatureStrategy',['../classhueplusplus_1_1_light.html#a1427acdc4429be82f9a2071bdcb991b1',1,'hueplusplus::Light']]],
+ ['setcolorxy',['setColorXY',['../classhueplusplus_1_1_color_hue_strategy.html#a8053bde8a19709495b065d3abe869b64',1,'hueplusplus::ColorHueStrategy::setColorXY()'],['../classhueplusplus_1_1_light.html#aa2f35a51520f91875522b944985e757c',1,'hueplusplus::Light::setColorXY()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#a096725ab2ac09f5491b9209dd0c5e094',1,'hueplusplus::SimpleColorHueStrategy::setColorXY()']]],
+ ['setcommand',['setCommand',['../classhueplusplus_1_1_schedule.html#aa187d2ba634332e94b82a3cb5bb23b6d',1,'hueplusplus::Schedule::setCommand()'],['../classhueplusplus_1_1_create_schedule.html#a2a8aca23570656def8c7da063ee9f9ed',1,'hueplusplus::CreateSchedule::setCommand()']]],
+ ['setconditions',['setConditions',['../classhueplusplus_1_1_rule.html#aaa5523e137520cdf30b1bbc0ed191801',1,'hueplusplus::Rule']]],
+ ['setconfig',['setConfig',['../classhueplusplus_1_1_create_sensor.html#ab656e9e73f9f4b740d8f28d53aba0e10',1,'hueplusplus::CreateSensor']]],
+ ['setconfigattribute',['setConfigAttribute',['../classhueplusplus_1_1_sensor.html#a5f9b27c4f29b7827b0d0347a057739dc',1,'hueplusplus::Sensor']]],
+ ['setcoordinates',['setCoordinates',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#ab023d6b14dcd97db7df8dbd33cdd0d10',1,'hueplusplus::sensors::DaylightSensor']]],
+ ['setct',['setCt',['../classhueplusplus_1_1_light_state_builder.html#adb12ffb6286b7ad3e7e1011ab07de5f9',1,'hueplusplus::LightStateBuilder']]],
+ ['setdarkthreshold',['setDarkThreshold',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#aa27cfabbc790918b9ccaea60cf5e0b98',1,'hueplusplus::sensors::CLIPLightLevel::setDarkThreshold()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#aefb5e1a2288a98c30dca97c2d25fee68',1,'hueplusplus::sensors::ZLLLightLevel::setDarkThreshold()']]],
+ ['setdescription',['setDescription',['../classhueplusplus_1_1_schedule.html#aee001282333240612577240be9d99c6e',1,'hueplusplus::Schedule::setDescription()'],['../classhueplusplus_1_1_create_schedule.html#ac4ca666534003d3d0bfcd75c08136ee6',1,'hueplusplus::CreateSchedule::setDescription()']]],
+ ['setenabled',['setEnabled',['../classhueplusplus_1_1_rule.html#afd8050aa039ba405d009e7d286aa8bd7',1,'hueplusplus::Rule::setEnabled()'],['../classhueplusplus_1_1_schedule.html#a61eedcda0ce06a63163451e9c908f125',1,'hueplusplus::Schedule::setEnabled()']]],
+ ['setflag',['setFlag',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag.html#a6aca0af80302c69ce3885b410d2e0d26',1,'hueplusplus::sensors::CLIPGenericFlag']]],
+ ['setgroupid',['setGroupId',['../classhueplusplus_1_1_create_scene.html#aa85aa705484f782e63868191ad311a09',1,'hueplusplus::CreateScene']]],
+ ['sethuesat',['setHueSat',['../classhueplusplus_1_1_light_state_builder.html#a4294689d820c0ed715ee6ea0e2854ce4',1,'hueplusplus::LightStateBuilder']]],
+ ['sethumidity',['setHumidity',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity.html#aa4dc591a9c970f8c1f85354c6ccdcda0',1,'hueplusplus::sensors::CLIPHumidity']]],
+ ['setip',['setIP',['../classhueplusplus_1_1_bridge.html#af94ffa94ef0994756b56fb1fa54cc9c5',1,'hueplusplus::Bridge']]],
+ ['setledindication',['setLEDIndication',['../classhueplusplus_1_1_sensor.html#adfed39d4b1f2f2e17c65cff826aadd70',1,'hueplusplus::Sensor']]],
+ ['setlightids',['setLightIds',['../classhueplusplus_1_1_scene.html#a7254474bb93a029595fecd1822d9a00c',1,'hueplusplus::Scene::setLightIds()'],['../classhueplusplus_1_1_create_scene.html#a4704dbef66bf9393f5f994fe1922b7b6',1,'hueplusplus::CreateScene::setLightIds()']]],
+ ['setlightlevel',['setLightLevel',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#afc5c81756cc6d727399d10259afeb286',1,'hueplusplus::sensors::CLIPLightLevel']]],
+ ['setlights',['setLights',['../classhueplusplus_1_1_group.html#a3a559ea3f638f57a3bd78631c750cbf0',1,'hueplusplus::Group']]],
+ ['setlightstates',['setLightStates',['../classhueplusplus_1_1_scene.html#a128b333fba58f0bdc6f36d40b21aa173',1,'hueplusplus::Scene::setLightStates()'],['../classhueplusplus_1_1_create_scene.html#a17fe3dabf9ddeb6103f9feb3ca23629f',1,'hueplusplus::CreateScene::setLightStates()']]],
+ ['setname',['setName',['../classhueplusplus_1_1_base_device.html#ab7554114eee573ab784c44d53f439028',1,'hueplusplus::BaseDevice::setName()'],['../classhueplusplus_1_1_group.html#a9e9d4d67e5ff409212c13de11c8ebec5',1,'hueplusplus::Group::setName()'],['../classhueplusplus_1_1_rule.html#a03d39528e60cc96e24325cbdf9c3acb1',1,'hueplusplus::Rule::setName()'],['../classhueplusplus_1_1_create_rule.html#ad1900e340916b8574a25fa783854e2b7',1,'hueplusplus::CreateRule::setName()'],['../classhueplusplus_1_1_scene.html#a4be93f8ec12df795828bcdc86505db61',1,'hueplusplus::Scene::setName()'],['../classhueplusplus_1_1_create_scene.html#a385999e7d9b655de3bb937391386b18a',1,'hueplusplus::CreateScene::setName()'],['../classhueplusplus_1_1_schedule.html#a8188b278a735798d8ee2894271e47018',1,'hueplusplus::Schedule::setName()'],['../classhueplusplus_1_1_create_schedule.html#a025b780aa2b1de31e941c6863bbdc26e',1,'hueplusplus::CreateSchedule::setName()']]],
+ ['seton',['setOn',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a0a1c4e5eae1b40b1f9fdb8dff1da7012',1,'hueplusplus::sensors::BaseCLIP::setOn()'],['../classhueplusplus_1_1_group.html#acba209f24f41a55af7fc7669150377a9',1,'hueplusplus::Group::setOn()'],['../classhueplusplus_1_1_light_state_builder.html#a51f8f7df9ea9de50cb1db83ef772e32d',1,'hueplusplus::LightStateBuilder::setOn()'],['../classhueplusplus_1_1_sensor.html#aa42407ca9a4ecb0d1f5854f93dc42f71',1,'hueplusplus::Sensor::setOn()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#ae9b02134c3f0e143609d0a374710668b',1,'hueplusplus::sensors::DaylightSensor::setOn()'],['../classhueplusplus_1_1_state_transaction.html#a1627d0ca2714a6c24e5e1c7b9647bd70',1,'hueplusplus::StateTransaction::setOn()'],['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#aae18648544361a0f641c8e9d6870d66d',1,'hueplusplus::sensors::ZGPSwitch::setOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a00ce19739bcfc5ad2434178d2456ce34',1,'hueplusplus::sensors::ZLLSwitch::setOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#af2f85b61e31a23b8ce314d6c83e69bee',1,'hueplusplus::sensors::ZLLPresence::setOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#ac154bd9941f3bb761eb6bcbc4e6a26a5',1,'hueplusplus::sensors::ZLLTemperature::setOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#ac03f33f062807b70582b5c8917f10d51',1,'hueplusplus::sensors::ZLLLightLevel::setOn()']]],
+ ['setopen',['setOpen',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close.html#a8343f59aca20151d432309fda072b7c2',1,'hueplusplus::sensors::CLIPOpenClose']]],
+ ['setport',['setPort',['../classhueplusplus_1_1_bridge.html#af01f8a5bdc06b28d0cb150ab3d8e30df',1,'hueplusplus::Bridge']]],
+ ['setpresence',['setPresence',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_presence.html#aea01fb18cb6734177050ad448ed9bf26',1,'hueplusplus::sensors::CLIPPresence']]],
+ ['setrecycle',['setRecycle',['../classhueplusplus_1_1_create_scene.html#ac1b62a6f4b7cb48ca5b0ee0971e8f69b',1,'hueplusplus::CreateScene::setRecycle()'],['../classhueplusplus_1_1_create_schedule.html#a9af62c1f944fa1858d0df787e1222b0f',1,'hueplusplus::CreateSchedule::setRecycle()'],['../classhueplusplus_1_1_create_sensor.html#a49636ceb4843436821dec5de9ab26d38',1,'hueplusplus::CreateSensor::setRecycle()']]],
+ ['setrefreshduration',['setRefreshDuration',['../classhueplusplus_1_1_a_p_i_cache.html#a25233da7881b9046555164bcf44b0f85',1,'hueplusplus::APICache::setRefreshDuration()'],['../classhueplusplus_1_1_base_device.html#a5dd630da2c99842700d555788c0b75b1',1,'hueplusplus::BaseDevice::setRefreshDuration()'],['../classhueplusplus_1_1_bridge.html#adc8372a1ca66b86098ae5a841106d89b',1,'hueplusplus::Bridge::setRefreshDuration()'],['../classhueplusplus_1_1_bridge_config.html#a0a28d6c76ab8ee955b9a50455d7c6da7',1,'hueplusplus::BridgeConfig::setRefreshDuration()'],['../classhueplusplus_1_1_group.html#a45a76c0ae84080f4b6c0ca9c261f1774',1,'hueplusplus::Group::setRefreshDuration()'],['../classhueplusplus_1_1_resource_list.html#aa165e446439defcae7d1bf05b4576739',1,'hueplusplus::ResourceList::setRefreshDuration()'],['../classhueplusplus_1_1_rule.html#a5727bf86530b6f841030c65a689ea13a',1,'hueplusplus::Rule::setRefreshDuration()'],['../classhueplusplus_1_1_scene.html#a6c00aa56594a57e19919dbbec0b0c7a7',1,'hueplusplus::Scene::setRefreshDuration()'],['../classhueplusplus_1_1_schedule.html#a009c144f78ac062c93a9bd8a95713a73',1,'hueplusplus::Schedule::setRefreshDuration()']]],
+ ['setroomtype',['setRoomType',['../classhueplusplus_1_1_group.html#af4a2c109ea2f0da10e5054d0c6d0c5e7',1,'hueplusplus::Group']]],
+ ['setscene',['setScene',['../classhueplusplus_1_1_group.html#a9cf05320f7ead132a60b89b6ec7559a4',1,'hueplusplus::Group']]],
+ ['setsensitivity',['setSensitivity',['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a2ded85c65b2c9f2b2f44ae50a48a9b1c',1,'hueplusplus::sensors::ZLLPresence']]],
+ ['setstate',['setState',['../classhueplusplus_1_1_create_sensor.html#aee8180fd743a609d806e9d20aa8e08b5',1,'hueplusplus::CreateSensor']]],
+ ['setstateattribute',['setStateAttribute',['../classhueplusplus_1_1_sensor.html#ab864b9a83a9a47e2f1a277dc021c26f3',1,'hueplusplus::Sensor']]],
+ ['setstatus',['setStatus',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status.html#ab60139861cbe378290572e5f27ebe67d',1,'hueplusplus::sensors::CLIPGenericStatus::setStatus()'],['../classhueplusplus_1_1_create_rule.html#a42bc4ab272d5574d52360c3c17d519dc',1,'hueplusplus::CreateRule::setStatus()'],['../classhueplusplus_1_1_create_schedule.html#acfb438a663a87e944d3c48bba1b0de74',1,'hueplusplus::CreateSchedule::setStatus()']]],
+ ['setsunriseoffset',['setSunriseOffset',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a2836b0b0a761cb2777ad5a0db71fe513',1,'hueplusplus::sensors::DaylightSensor']]],
+ ['setsunsetoffset',['setSunsetOffset',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a32b93d209779418576fb12ef6122941e',1,'hueplusplus::sensors::DaylightSensor']]],
+ ['settemperature',['setTemperature',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature.html#a1489a1cd2a751006c5671897472002e2',1,'hueplusplus::sensors::CLIPTemperature']]],
+ ['setthresholdoffset',['setThresholdOffset',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#a74c8d0991dc7c3a555857ae223637f6e',1,'hueplusplus::sensors::CLIPLightLevel::setThresholdOffset()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a53b91552bec0ff50cd52236400d17754',1,'hueplusplus::sensors::ZLLLightLevel::setThresholdOffset()']]],
+ ['settime',['setTime',['../classhueplusplus_1_1_schedule.html#ac8cad59605fd436390ac0b5dfe76e359',1,'hueplusplus::Schedule::setTime()'],['../classhueplusplus_1_1_create_schedule.html#a231e689d8c9b572e68d6d94799905643',1,'hueplusplus::CreateSchedule::setTime()']]],
+ ['settransition',['setTransition',['../classhueplusplus_1_1_state_transaction.html#a6dbc9388830130f6fc43b70bfd54e21e',1,'hueplusplus::StateTransaction']]],
+ ['settransitiontime',['setTransitionTime',['../classhueplusplus_1_1_light_state_builder.html#a5ec978be73cb1648fd3e5a3ecbe04206',1,'hueplusplus::LightStateBuilder']]],
+ ['seturl',['setURL',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a557d41c2e4e5463ca67e6a45fe09a702',1,'hueplusplus::sensors::BaseCLIP::setURL()'],['../classhueplusplus_1_1_sensor.html#aba37ff1e94e65de6e176e275637fe7f8',1,'hueplusplus::Sensor::setURL()']]],
+ ['setusertest',['setUserTest',['../classhueplusplus_1_1_sensor.html#a53fb1db7e3788c2a91ab357af49f332d',1,'hueplusplus::Sensor']]],
+ ['setxy',['setXY',['../classhueplusplus_1_1_light_state_builder.html#a0a9bfdcbe02ccd9d22bf01042ec7c328',1,'hueplusplus::LightStateBuilder']]],
+ ['snippet1',['snippet1',['../_snippets_8cpp.html#a138eee560865a8e8b11370e992c24366',1,'Snippets.cpp']]],
+ ['snippet2',['snippet2',['../_snippets_8cpp.html#af9f7bb7703b5ac6a6329821d89f0cd93',1,'Snippets.cpp']]],
+ ['snippet3',['snippet3',['../_snippets_8cpp.html#aede0084aa1a30d1211d54171c4b3b4b1',1,'Snippets.cpp']]],
+ ['snippet4',['snippet4',['../_snippets_8cpp.html#a21c5c8eb2c24c4fb1b7fb7d3564ce3f3',1,'Snippets.cpp']]],
+ ['socketcloser',['SocketCloser',['../classhueplusplus_1_1_socket_closer.html#aef79b72fbd95e00f2f64d150d5436505',1,'hueplusplus::SocketCloser']]],
+ ['startstreaming',['startStreaming',['../classhueplusplus_1_1_bridge.html#aa272ef31a6dc4f3cb54b284db6d134bb',1,'hueplusplus::Bridge']]],
+ ['statetransaction',['StateTransaction',['../classhueplusplus_1_1_state_transaction.html#af91883a4732fee40fa8a1d2d1a208ac0',1,'hueplusplus::StateTransaction::StateTransaction(const HueCommandAPI &commands, const std::string &path, nlohmann::json *currentState)'],['../classhueplusplus_1_1_state_transaction.html#a9a63a91504ca2f657670287dbec71af9',1,'hueplusplus::StateTransaction::StateTransaction(const StateTransaction &)=delete'],['../classhueplusplus_1_1_state_transaction.html#a899d31dee01a44959d2acb9f041faa23',1,'hueplusplus::StateTransaction::StateTransaction(StateTransaction &&)=default']]],
+ ['stopalert',['stopAlert',['../classhueplusplus_1_1_state_transaction.html#ad9f58edbbabee2a44e6bab19462cd1a6',1,'hueplusplus::StateTransaction']]],
+ ['stopstreaming',['stopStreaming',['../classhueplusplus_1_1_bridge.html#a6382a095f2c96ee8b321d75aed285fb2',1,'hueplusplus::Bridge']]],
+ ['storecurrentlightstate',['storeCurrentLightState',['../classhueplusplus_1_1_scene.html#a92d8fe4ff4909154d5fcc9ec7aad6fb0',1,'hueplusplus::Scene::storeCurrentLightState()'],['../classhueplusplus_1_1_scene.html#a6eebd57898201cb3cef6d75fdc0bacb3',1,'hueplusplus::Scene::storeCurrentLightState(int transition)']]],
+ ['sunday',['sunday',['../classhueplusplus_1_1time_1_1_weekdays.html#a075710ede0ffd78800f473775a60f192',1,'hueplusplus::time::Weekdays']]]
+];
diff --git b/search/functions_11.html a/search/functions_11.html
new file mode 100644
index 0000000..6948a61
--- /dev/null
+++ a/search/functions_11.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_11.js a/search/functions_11.js
new file mode 100644
index 0000000..f809c52
--- /dev/null
+++ a/search/functions_11.js
@@ -0,0 +1,17 @@
+var searchData=
+[
+ ['thursday',['thursday',['../classhueplusplus_1_1time_1_1_weekdays.html#ad573bef5b1ddc41ecc21ab4bfb3fce4d',1,'hueplusplus::time::Weekdays']]],
+ ['timeinterval',['TimeInterval',['../classhueplusplus_1_1time_1_1_time_interval.html#a3430ee71ca0e7c34dcf35eb2b588d0f7',1,'hueplusplus::time::TimeInterval']]],
+ ['timepattern',['TimePattern',['../classhueplusplus_1_1time_1_1_time_pattern.html#acaf2ac962dd88b632bc7440859e7da24',1,'hueplusplus::time::TimePattern::TimePattern()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#a6e6d751afb24d9daed81cf0a6fa8d0de',1,'hueplusplus::time::TimePattern::TimePattern(const AbsoluteVariedTime &absolute)'],['../classhueplusplus_1_1time_1_1_time_pattern.html#a128fd450b493635093fecde741d34308',1,'hueplusplus::time::TimePattern::TimePattern(const RecurringTime &recurring)'],['../classhueplusplus_1_1time_1_1_time_pattern.html#a74c9b6b200ca0703b0181234e120864d',1,'hueplusplus::time::TimePattern::TimePattern(const TimeInterval &interval)'],['../classhueplusplus_1_1time_1_1_time_pattern.html#a265fcbafd76e28960e7ff0bc03323c7d',1,'hueplusplus::time::TimePattern::TimePattern(const Timer &timer)'],['../classhueplusplus_1_1time_1_1_time_pattern.html#af7b4742c5ea4221675e08f649b8ae652',1,'hueplusplus::time::TimePattern::TimePattern(const TimePattern &other)']]],
+ ['timepointtotimestamp',['timepointToTimestamp',['../namespacehueplusplus_1_1time.html#afd15eb6e086c8242a2e202536fa4c02b',1,'hueplusplus::time']]],
+ ['timer',['Timer',['../classhueplusplus_1_1time_1_1_timer.html#a6951cf6d72bf1c11ed2c940b23bdf55f',1,'hueplusplus::time::Timer::Timer(clock::duration duration, clock::duration variation=std::chrono::seconds(0))'],['../classhueplusplus_1_1time_1_1_timer.html#a2ff3fc9c3d9f32a100b6e398ac5ca7c6',1,'hueplusplus::time::Timer::Timer(clock::duration duration, int numExecutions, clock::duration variation=std::chrono::seconds(0))']]],
+ ['toaction',['toAction',['../classhueplusplus_1_1_state_transaction.html#a44db927471c11bab402e9a295014adff',1,'hueplusplus::StateTransaction']]],
+ ['tohuesaturation',['toHueSaturation',['../structhueplusplus_1_1_r_g_b.html#ae5a76e5318658273c774bbeb009e3bd8',1,'hueplusplus::RGB']]],
+ ['tojson',['toJson',['../classhueplusplus_1_1_action.html#a6de75285262d49b6ffb7edd4051cf6f3',1,'hueplusplus::Action::toJson()'],['../classhueplusplus_1_1_condition.html#a3d1d808aadd6f241f2210ff2a0b90024',1,'hueplusplus::Condition::toJson()'],['../classhueplusplus_1_1_light_state.html#a57f56eaf1ad775339185240091a5a950',1,'hueplusplus::LightState::toJson()']]],
+ ['tostring',['toString',['../classhueplusplus_1_1time_1_1_absolute_time.html#ab2581f035406533868d71e4c234f513d',1,'hueplusplus::time::AbsoluteTime::toString()'],['../classhueplusplus_1_1time_1_1_absolute_varied_time.html#a4b5f5159c7b8e4aabf09e412cd32b996',1,'hueplusplus::time::AbsoluteVariedTime::toString()'],['../classhueplusplus_1_1time_1_1_weekdays.html#a80b15124c7a1fc23a05a455e39ebab49',1,'hueplusplus::time::Weekdays::toString()'],['../classhueplusplus_1_1time_1_1_recurring_time.html#ab67b7999b68c968fcde7f1ef78019eac',1,'hueplusplus::time::RecurringTime::toString()'],['../classhueplusplus_1_1time_1_1_time_interval.html#a6bd0d2964a0fb6351c8d6a5c09837764',1,'hueplusplus::time::TimeInterval::toString()'],['../classhueplusplus_1_1time_1_1_timer.html#aef01fc3280be4f4c28ad6b8324929950',1,'hueplusplus::time::Timer::toString()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#af44ce554965247b8deb9442a6c8bccf4',1,'hueplusplus::time::TimePattern::toString()'],['../structhueplusplus_1_1_file_info.html#a5a3d1e5f060dd5df626003504813f116',1,'hueplusplus::FileInfo::ToString()']]],
+ ['touchlink',['touchLink',['../classhueplusplus_1_1_bridge_config.html#aed8675aff0688cb07fe0963f37e919f8',1,'hueplusplus::BridgeConfig']]],
+ ['toxy',['toXY',['../structhueplusplus_1_1_r_g_b.html#a97181e813bb57e23bf9c5d79229b2410',1,'hueplusplus::RGB::toXY() const'],['../structhueplusplus_1_1_r_g_b.html#a384635c77e3da12fe5c602d1a5bf1338',1,'hueplusplus::RGB::toXY(const ColorGamut &gamut) const']]],
+ ['transaction',['transaction',['../classhueplusplus_1_1_group.html#a0cbbc12721df742db97eb824a9356384',1,'hueplusplus::Group::transaction()'],['../classhueplusplus_1_1_light.html#a37d025adaf1791ac0ba904fa52a5bfb5',1,'hueplusplus::Light::transaction()']]],
+ ['trimrequest',['trimRequest',['../classhueplusplus_1_1_state_transaction.html#ab81a2f672ebb2de424890158e29183f9',1,'hueplusplus::StateTransaction']]],
+ ['tuesday',['tuesday',['../classhueplusplus_1_1time_1_1_weekdays.html#ae4df102f09ca6498a32a20d1636b99ce',1,'hueplusplus::time::Weekdays']]]
+];
diff --git b/search/functions_12.html a/search/functions_12.html
new file mode 100644
index 0000000..3df8489
--- /dev/null
+++ a/search/functions_12.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_12.js a/search/functions_12.js
new file mode 100644
index 0000000..8921934
--- /dev/null
+++ a/search/functions_12.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['unionwith',['unionWith',['../classhueplusplus_1_1time_1_1_weekdays.html#adf2ac7e48f366a4c8137b839a5f3e5c2',1,'hueplusplus::time::Weekdays']]],
+ ['update',['update',['../classhueplusplus_1_1_entertainment_mode.html#a6e1c54f3d0b79329c47967e45885be12',1,'hueplusplus::EntertainmentMode']]]
+];
diff --git b/search/functions_13.html a/search/functions_13.html
new file mode 100644
index 0000000..febf8e0
--- /dev/null
+++ a/search/functions_13.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_13.js a/search/functions_13.js
new file mode 100644
index 0000000..0338d95
--- /dev/null
+++ a/search/functions_13.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['validateputreply',['validatePUTReply',['../namespacehueplusplus_1_1utils.html#abc293509e3c09a90a1324e2f657dcce7',1,'hueplusplus::utils']]],
+ ['validatereplyforlight',['validateReplyForLight',['../namespacehueplusplus_1_1utils.html#a97489af5c31e43274bc4b502293cad33',1,'hueplusplus::utils']]]
+];
diff --git b/search/functions_14.html a/search/functions_14.html
new file mode 100644
index 0000000..4c814f5
--- /dev/null
+++ a/search/functions_14.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_14.js a/search/functions_14.js
new file mode 100644
index 0000000..7a55e63
--- /dev/null
+++ a/search/functions_14.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['wednesday',['wednesday',['../classhueplusplus_1_1time_1_1_weekdays.html#afcb367f7f92a10adba586bc30481d3eb',1,'hueplusplus::time::Weekdays']]],
+ ['weekdays',['Weekdays',['../classhueplusplus_1_1time_1_1_weekdays.html#a0d22dcc32dc6fc11a4dafd33a30a98e5',1,'hueplusplus::time::Weekdays::Weekdays()'],['../classhueplusplus_1_1time_1_1_weekdays.html#aac8e58d0c5d32b27eb2f9590ad116a8b',1,'hueplusplus::time::Weekdays::Weekdays(int num)']]],
+ ['what',['what',['../classhueplusplus_1_1_hue_exception.html#ae65aa461204544aaf3899d5eb974efa2',1,'hueplusplus::HueException']]],
+ ['winhttphandler',['WinHttpHandler',['../classhueplusplus_1_1_win_http_handler.html#a222758a0c48a6ba0ef1a360a70575a8a',1,'hueplusplus::WinHttpHandler']]]
+];
diff --git b/search/functions_15.html a/search/functions_15.html
new file mode 100644
index 0000000..0f002b8
--- /dev/null
+++ a/search/functions_15.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_15.js a/search/functions_15.js
new file mode 100644
index 0000000..2ebd301
--- /dev/null
+++ a/search/functions_15.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['zgpswitch',['ZGPSwitch',['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#ac1a74b62d5772679d0a47593a9892ede',1,'hueplusplus::sensors::ZGPSwitch']]],
+ ['zlllightlevel',['ZLLLightLevel',['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a085f531bcd867a2ec6855d704206b481',1,'hueplusplus::sensors::ZLLLightLevel']]],
+ ['zllpresence',['ZLLPresence',['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a48f688d7e696b1d3e731b715a40c67f7',1,'hueplusplus::sensors::ZLLPresence']]],
+ ['zllswitch',['ZLLSwitch',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a821447c3df43f9c0b6f138d76b5e27bf',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['zlltemperature',['ZLLTemperature',['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#aa5507af0a017affafd47fe31c73660ac',1,'hueplusplus::sensors::ZLLTemperature']]],
+ ['zone',['Zone',['../classhueplusplus_1_1_create_group.html#a5dacad456a494241755b3daeb5a8b390',1,'hueplusplus::CreateGroup']]]
+];
diff --git b/search/functions_16.html a/search/functions_16.html
new file mode 100644
index 0000000..28a5025
--- /dev/null
+++ a/search/functions_16.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_16.js a/search/functions_16.js
new file mode 100644
index 0000000..931f5d9
--- /dev/null
+++ a/search/functions_16.js
@@ -0,0 +1,13 @@
+var searchData=
+[
+ ['_7ebasedevice',['~BaseDevice',['../classhueplusplus_1_1_base_device.html#ab08c354ca3eef24240f98267df4ae01a',1,'hueplusplus::BaseDevice']]],
+ ['_7ebasehttphandler',['~BaseHttpHandler',['../classhueplusplus_1_1_base_http_handler.html#a0e1250a1537f7e7f05cab75af4b9c82f',1,'hueplusplus::BaseHttpHandler']]],
+ ['_7ebrightnessstrategy',['~BrightnessStrategy',['../classhueplusplus_1_1_brightness_strategy.html#a533d29c87d26c662582f2fb52978e80b',1,'hueplusplus::BrightnessStrategy']]],
+ ['_7ecolorhuestrategy',['~ColorHueStrategy',['../classhueplusplus_1_1_color_hue_strategy.html#aeea0be527d16d4b058d09020c1945d8e',1,'hueplusplus::ColorHueStrategy']]],
+ ['_7ecolortemperaturestrategy',['~ColorTemperatureStrategy',['../classhueplusplus_1_1_color_temperature_strategy.html#a03f032e98988ea8a8c19bc7b1b60a163',1,'hueplusplus::ColorTemperatureStrategy']]],
+ ['_7eentertainmentmode',['~EntertainmentMode',['../classhueplusplus_1_1_entertainment_mode.html#ab5168db2ad934d81cc20fd811f157f0e',1,'hueplusplus::EntertainmentMode']]],
+ ['_7eihttphandler',['~IHttpHandler',['../classhueplusplus_1_1_i_http_handler.html#ac98c198e69bc091636799fd8150b9c13',1,'hueplusplus::IHttpHandler']]],
+ ['_7esocketcloser',['~SocketCloser',['../classhueplusplus_1_1_socket_closer.html#a529eb099a9b9f351c9893f971f15ff12',1,'hueplusplus::SocketCloser']]],
+ ['_7etimepattern',['~TimePattern',['../classhueplusplus_1_1time_1_1_time_pattern.html#ae7581b34789db3f29aa2f1b180fdaf76',1,'hueplusplus::time::TimePattern']]],
+ ['_7ewinhttphandler',['~WinHttpHandler',['../classhueplusplus_1_1_win_http_handler.html#a8005b6b984bb82259b5f1149fe0b97cd',1,'hueplusplus::WinHttpHandler']]]
+];
diff --git b/search/functions_2.html a/search/functions_2.html
new file mode 100644
index 0000000..ecce2f3
--- /dev/null
+++ a/search/functions_2.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_2.js a/search/functions_2.js
new file mode 100644
index 0000000..88c7b2f
--- /dev/null
+++ a/search/functions_2.js
@@ -0,0 +1,27 @@
+var searchData=
+[
+ ['clipgenericflag',['CLIPGenericFlag',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag.html#a28793af7c515a3e6d2183a4d909ecb58',1,'hueplusplus::sensors::CLIPGenericFlag']]],
+ ['clipgenericstatus',['CLIPGenericStatus',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status.html#a036e7c9f3719c788b452a6a482ee5e04',1,'hueplusplus::sensors::CLIPGenericStatus']]],
+ ['cliphumidity',['CLIPHumidity',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity.html#a3df53bb217c37479dca97f57cc895f68',1,'hueplusplus::sensors::CLIPHumidity']]],
+ ['cliplightlevel',['CLIPLightLevel',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#affa16120847e34f1418318a3a8d40311',1,'hueplusplus::sensors::CLIPLightLevel']]],
+ ['clipopenclose',['CLIPOpenClose',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close.html#aee9642c3e9c798e51f64f4c277d9500f',1,'hueplusplus::sensors::CLIPOpenClose']]],
+ ['clippresence',['CLIPPresence',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_presence.html#a0b5fc33329ebb044b01ed8e850d63005',1,'hueplusplus::sensors::CLIPPresence']]],
+ ['clipswitch',['CLIPSwitch',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_switch.html#a4e187b387c99563dd35c36b79545aba8',1,'hueplusplus::sensors::CLIPSwitch']]],
+ ['cliptemperature',['CLIPTemperature',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature.html#afb1749e3da120753e9cf0b9a87110bd2',1,'hueplusplus::sensors::CLIPTemperature']]],
+ ['combinedpath',['combinedPath',['../classhueplusplus_1_1_hue_command_a_p_i.html#ad50f6a232f2cc542da4813051f3778f0',1,'hueplusplus::HueCommandAPI']]],
+ ['commit',['commit',['../classhueplusplus_1_1_state_transaction.html#aeb7dae7c01fdffad9e224e5393f83b85',1,'hueplusplus::StateTransaction']]],
+ ['condition',['Condition',['../classhueplusplus_1_1_condition.html#a14c0d2560c50eb6dc36b44bb825d3c82',1,'hueplusplus::Condition']]],
+ ['config',['Config',['../classhueplusplus_1_1_config.html#a8a276a5a07935c1a6c9d7620f500ef73',1,'hueplusplus::Config::Config()'],['../classhueplusplus_1_1_bridge.html#a227a51a24d21bda234a40b8b84058eb3',1,'hueplusplus::Bridge::config()'],['../classhueplusplus_1_1_bridge.html#a7823c82064faf3eb019288cbb9f7f7d3',1,'hueplusplus::Bridge::config() const']]],
+ ['connect',['connect',['../classhueplusplus_1_1_entertainment_mode.html#a007d44d14c5bd7de5fb63a0a82d16e48',1,'hueplusplus::EntertainmentMode']]],
+ ['connecttobridge',['connectToBridge',['../_bridge_setup_8cpp.html#a7b24130ecc565578d8eb32a7c4268253',1,'connectToBridge(): BridgeSetup.cpp'],['../_lights_off_8cpp.html#a7b24130ecc565578d8eb32a7c4268253',1,'connectToBridge(): LightsOff.cpp'],['../_username_config_8cpp.html#a3e03eb0222587bec230cd7e4c7021a48',1,'connectToBridge(const std::string &username, const std::string &macAddress): UsernameConfig.cpp']]],
+ ['construct',['construct',['../classhueplusplus_1_1_resource_list.html#ab98434ae91b0868dcf9cb95dfa168c95',1,'hueplusplus::ResourceList']]],
+ ['contains',['contains',['../structhueplusplus_1_1_color_gamut.html#a286da2551cbd3d1ae5b538567a78dff0',1,'hueplusplus::ColorGamut']]],
+ ['corrected',['corrected',['../structhueplusplus_1_1_color_gamut.html#a9626b384bd9869f0bc855f868cabcce7',1,'hueplusplus::ColorGamut']]],
+ ['create',['create',['../classhueplusplus_1_1_createable_resource_list.html#abf886bbd80f86e00a66c7ad61bd773c9',1,'hueplusplus::CreateableResourceList::create()'],['../classhueplusplus_1_1_light_state_builder.html#a55563029995ce2bbe679cbc6ada3188d',1,'hueplusplus::LightStateBuilder::create()'],['../classhueplusplus_1_1_hue_a_p_i_response_exception.html#a8df7ec2ba910a8a3abc7a3f67d326697',1,'hueplusplus::HueAPIResponseException::Create()']]],
+ ['createableresourcelist',['CreateableResourceList',['../classhueplusplus_1_1_createable_resource_list.html#aeb4f83610cae0670890bf7bb3649e9fb',1,'hueplusplus::CreateableResourceList']]],
+ ['creategroup',['CreateGroup',['../classhueplusplus_1_1_create_group.html#a7bac7ddbadae0b264044a78fbdd09671',1,'hueplusplus::CreateGroup']]],
+ ['createlight',['createLight',['../classhueplusplus_1_1_light_factory.html#a5109ceb53e042dc5b3126fba1e307618',1,'hueplusplus::LightFactory']]],
+ ['createrule',['CreateRule',['../classhueplusplus_1_1_create_rule.html#affe5cdbf3df4b42efb72914a38df3669',1,'hueplusplus::CreateRule']]],
+ ['createsceneaction',['createSceneAction',['../classhueplusplus_1_1_group.html#a3d645f29b34270c4557db3594dc3593a',1,'hueplusplus::Group']]],
+ ['createsensor',['CreateSensor',['../classhueplusplus_1_1_create_sensor.html#a1dc269f6f7cd03faf0ae412f2155fb52',1,'hueplusplus::CreateSensor']]]
+];
diff --git b/search/functions_3.html a/search/functions_3.html
new file mode 100644
index 0000000..15f06ab
--- /dev/null
+++ a/search/functions_3.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_3.js a/search/functions_3.js
new file mode 100644
index 0000000..acd195f
--- /dev/null
+++ a/search/functions_3.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['daylightsensor',['DaylightSensor',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#aac221bfc9ecd336606bc09347cf0d865',1,'hueplusplus::sensors::DaylightSensor']]],
+ ['deletejson',['DELETEJson',['../classhueplusplus_1_1_base_http_handler.html#abf5e5d6c49851f3a10c6b6378b835226',1,'hueplusplus::BaseHttpHandler::DELETEJson()'],['../classhueplusplus_1_1_i_http_handler.html#a5be243abf0f41efbe25e6db52573415b',1,'hueplusplus::IHttpHandler::DELETEJson()']]],
+ ['deleterequest',['DELETERequest',['../classhueplusplus_1_1_hue_command_a_p_i.html#ac7417f064a171a2f8990841f173db722',1,'hueplusplus::HueCommandAPI::DELETERequest(const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const'],['../classhueplusplus_1_1_hue_command_a_p_i.html#aab29d46cffd2f79852a870cfe0b62cb3',1,'hueplusplus::HueCommandAPI::DELETERequest(const std::string &path, const nlohmann::json &request) const']]],
+ ['deletestring',['DELETEString',['../classhueplusplus_1_1_base_http_handler.html#a139cbb13a19d3f12b8242bbe7e18b850',1,'hueplusplus::BaseHttpHandler::DELETEString()'],['../classhueplusplus_1_1_i_http_handler.html#a4b164d1b31ce008845d9b83071ec9784',1,'hueplusplus::IHttpHandler::DELETEString()']]],
+ ['disconnect',['disconnect',['../classhueplusplus_1_1_entertainment_mode.html#a55896dab15a5be5b14f9502d70401820',1,'hueplusplus::EntertainmentMode']]],
+ ['durationto_5fhh_5fmm_5fss',['durationTo_hh_mm_ss',['../namespacehueplusplus_1_1time.html#aeee784c375bcc301727eab3fe8e67d03',1,'hueplusplus::time']]]
+];
diff --git b/search/functions_4.html a/search/functions_4.html
new file mode 100644
index 0000000..8985ff2
--- /dev/null
+++ a/search/functions_4.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_4.js a/search/functions_4.js
new file mode 100644
index 0000000..7b08a71
--- /dev/null
+++ a/search/functions_4.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['entertainment',['Entertainment',['../classhueplusplus_1_1_create_group.html#a4b83c544258d31ec69d7b90515c41af9',1,'hueplusplus::CreateGroup']]],
+ ['entertainmentmode',['EntertainmentMode',['../classhueplusplus_1_1_entertainment_mode.html#a75c6c2abf66975a8eda41e84d619345f',1,'hueplusplus::EntertainmentMode']]],
+ ['exists',['exists',['../classhueplusplus_1_1_resource_list.html#af5e884eefde0a45d53f029a9f30a6ab7',1,'hueplusplus::ResourceList::exists(const IdType &id)'],['../classhueplusplus_1_1_resource_list.html#a8c0219d853d551394020b7b482518070',1,'hueplusplus::ResourceList::exists(const IdType &id) const'],['../classhueplusplus_1_1_group_resource_list.html#ac9fca6bd61117170325efd7c903dc95d',1,'hueplusplus::GroupResourceList::exists()']]]
+];
diff --git b/search/functions_5.html a/search/functions_5.html
new file mode 100644
index 0000000..0314918
--- /dev/null
+++ a/search/functions_5.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_5.js a/search/functions_5.js
new file mode 100644
index 0000000..989459f
--- /dev/null
+++ a/search/functions_5.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['findbridges',['findBridges',['../classhueplusplus_1_1_bridge_finder.html#a86cce17f26187a97547a44fab8c920a1',1,'hueplusplus::BridgeFinder']]],
+ ['floatequals',['floatEquals',['../namespacehueplusplus_1_1utils.html#abd53f5a43053f94209d8195fc4674665',1,'hueplusplus::utils']]],
+ ['friday',['friday',['../classhueplusplus_1_1time_1_1_weekdays.html#a9a1deb5cd9daaa5ba6c85961b1068bc9',1,'hueplusplus::time::Weekdays']]],
+ ['fromxy',['fromXY',['../structhueplusplus_1_1_r_g_b.html#a9093468df3cd85942062efa3ea3f121a',1,'hueplusplus::RGB::fromXY(const XYBrightness &xy)'],['../structhueplusplus_1_1_r_g_b.html#a2e0ae706b310640dd2640c03a0308fe4',1,'hueplusplus::RGB::fromXY(const XYBrightness &xy, const ColorGamut &gamut)']]]
+];
diff --git b/search/functions_6.html a/search/functions_6.html
new file mode 100644
index 0000000..c506123
--- /dev/null
+++ a/search/functions_6.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_6.js a/search/functions_6.js
new file mode 100644
index 0000000..357b33e
--- /dev/null
+++ a/search/functions_6.js
@@ -0,0 +1,122 @@
+var searchData=
+[
+ ['get',['get',['../classhueplusplus_1_1_resource_list.html#a7bcf2ed48e70e9f11a4b6bdc24e0e611',1,'hueplusplus::ResourceList::get()'],['../classhueplusplus_1_1_group_resource_list.html#a06bda9ca6016b48eb6a4a5f86a67c76d',1,'hueplusplus::GroupResourceList::get()']]],
+ ['getactionbrightness',['getActionBrightness',['../classhueplusplus_1_1_group.html#a33472d243016526df7cca8a53a087894',1,'hueplusplus::Group::getActionBrightness()'],['../classhueplusplus_1_1_group.html#a0935ac3407b4242faf32fa74d6b1273a',1,'hueplusplus::Group::getActionBrightness() const']]],
+ ['getactioncolormode',['getActionColorMode',['../classhueplusplus_1_1_group.html#afdfb33e00d24c9b2659e9625300b040f',1,'hueplusplus::Group::getActionColorMode()'],['../classhueplusplus_1_1_group.html#a3cd1ab29daa6c6eda78568b18373a8da',1,'hueplusplus::Group::getActionColorMode() const']]],
+ ['getactioncolortemperature',['getActionColorTemperature',['../classhueplusplus_1_1_group.html#a5faa9eba8b9d932c0d1bb1e4ff6e3d68',1,'hueplusplus::Group::getActionColorTemperature()'],['../classhueplusplus_1_1_group.html#ae158416211315055594e47c47cf02254',1,'hueplusplus::Group::getActionColorTemperature() const']]],
+ ['getactioncolorxy',['getActionColorXY',['../classhueplusplus_1_1_group.html#a2bc1464d7a85a3f3315233c11fbdcc90',1,'hueplusplus::Group::getActionColorXY()'],['../classhueplusplus_1_1_group.html#aac0ffc91d023824abcbfd189f336a969',1,'hueplusplus::Group::getActionColorXY() const']]],
+ ['getactionhuesaturation',['getActionHueSaturation',['../classhueplusplus_1_1_group.html#ae46361ffec4f0103f257d04b582b136a',1,'hueplusplus::Group::getActionHueSaturation()'],['../classhueplusplus_1_1_group.html#a411f3566414105e139e32f91a9c0040b',1,'hueplusplus::Group::getActionHueSaturation() const']]],
+ ['getactionon',['getActionOn',['../classhueplusplus_1_1_group.html#a817792ccaa71be19c9d64415c8415f4d',1,'hueplusplus::Group::getActionOn()'],['../classhueplusplus_1_1_group.html#a0b4189da2f630035f98950174f442123',1,'hueplusplus::Group::getActionOn() const']]],
+ ['getactions',['getActions',['../classhueplusplus_1_1_rule.html#a31e79a56c195fd1d071c3810d58c8306',1,'hueplusplus::Rule']]],
+ ['getaddress',['getAddress',['../classhueplusplus_1_1_action.html#a258c2d4a88d5eed9dc85a2539fbcbd71',1,'hueplusplus::Action::getAddress()'],['../classhueplusplus_1_1_condition.html#a31f46f01e55a3e75b5136e7f4a02bee1',1,'hueplusplus::Condition::getAddress()'],['../classhueplusplus_1_1_hue_a_p_i_response_exception.html#a09d3e179c87c248ad93fc89b15e3a2f4',1,'hueplusplus::HueAPIResponseException::GetAddress()']]],
+ ['getall',['getAll',['../classhueplusplus_1_1_resource_list.html#ad7b3bef47b0c09764377cbad327545df',1,'hueplusplus::ResourceList']]],
+ ['getallbytype',['getAllByType',['../classhueplusplus_1_1_sensor_list.html#a5f6cd913954558252ef97ead28890ec3',1,'hueplusplus::SensorList']]],
+ ['getallon',['getAllOn',['../classhueplusplus_1_1_group.html#a2afaf3ff50700dfa9f86f33da7d26924',1,'hueplusplus::Group::getAllOn()'],['../classhueplusplus_1_1_group.html#a5531d2638f445fc01ee283f37dd3fb9e',1,'hueplusplus::Group::getAllOn() const']]],
+ ['getallusernames',['getAllUsernames',['../classhueplusplus_1_1_bridge_finder.html#abb2235e0866f51c3e81740f14de7b5aa',1,'hueplusplus::BridgeFinder']]],
+ ['getanyon',['getAnyOn',['../classhueplusplus_1_1_group.html#a56c238a0be5ec2c4966bac3a0cf872c5',1,'hueplusplus::Group::getAnyOn()'],['../classhueplusplus_1_1_group.html#aba6ad6c4eaacfd8de07aa19cdc91e6bf',1,'hueplusplus::Group::getAnyOn() const']]],
+ ['getappdata',['getAppdata',['../classhueplusplus_1_1_scene.html#ace8d2afe38bb83b212a38ca3987159cd',1,'hueplusplus::Scene']]],
+ ['getappdataversion',['getAppdataVersion',['../classhueplusplus_1_1_scene.html#a984f199c995a69ccc75aeed33678fe40',1,'hueplusplus::Scene']]],
+ ['getastype',['getAsType',['../classhueplusplus_1_1_sensor_list.html#a3dcafc979eaa60e7b725ae50488be6df',1,'hueplusplus::SensorList']]],
+ ['getautodelete',['getAutodelete',['../classhueplusplus_1_1_schedule.html#ad4a98b010f829287a26cc009838ad4d6',1,'hueplusplus::Schedule']]],
+ ['getbasetime',['getBaseTime',['../classhueplusplus_1_1time_1_1_absolute_time.html#a8db3aa8a4f512313791980dcd78c537e',1,'hueplusplus::time::AbsoluteTime']]],
+ ['getbatterystate',['getBatteryState',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a75dfc889adfac25ac5a4ad980a5c03eb',1,'hueplusplus::sensors::BaseCLIP::getBatteryState()'],['../classhueplusplus_1_1_sensor.html#a4a5e4c75a5b540ff8abc5d8b06037009',1,'hueplusplus::Sensor::getBatteryState()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a763c567bcc73a8e6d5c4dfcbe1191e21',1,'hueplusplus::sensors::DaylightSensor::getBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a17e5a1725ae1d531df52bb0db39f0c32',1,'hueplusplus::sensors::ZLLSwitch::getBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a99bc316363df93b87038faeae9758ffd',1,'hueplusplus::sensors::ZLLPresence::getBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#a850d8e541127288ba9712d72ca1ab8e2',1,'hueplusplus::sensors::ZLLTemperature::getBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a7371f4518a9d6314c02919723d3e2ddf',1,'hueplusplus::sensors::ZLLLightLevel::getBatteryState()']]],
+ ['getbody',['getBody',['../classhueplusplus_1_1_action.html#a25e3761540d73055114b68c931353b72',1,'hueplusplus::Action']]],
+ ['getbridge',['getBridge',['../classhueplusplus_1_1_bridge_finder.html#a9ff121c380ceaceaf5da2b7a772e5c4b',1,'hueplusplus::BridgeFinder']]],
+ ['getbridgeip',['getBridgeIP',['../classhueplusplus_1_1_bridge.html#a2565e0a09e18554859e14d13edd2570a',1,'hueplusplus::Bridge']]],
+ ['getbridgeport',['getBridgePort',['../classhueplusplus_1_1_bridge.html#abbb06fcb89f58935d5f59fced64b3d53',1,'hueplusplus::Bridge']]],
+ ['getbridgerequestdelay',['getBridgeRequestDelay',['../classhueplusplus_1_1_config.html#a56db272f4aa05465887b57832b6bb15c',1,'hueplusplus::Config']]],
+ ['getbrightness',['getBrightness',['../classhueplusplus_1_1_brightness_strategy.html#aff420173a780d5bdcabdf46938bb3cb8',1,'hueplusplus::BrightnessStrategy::getBrightness(Light &light) const =0'],['../classhueplusplus_1_1_brightness_strategy.html#a48832602c53d6921a9c0a7cf0d7789e3',1,'hueplusplus::BrightnessStrategy::getBrightness(const Light &light) const =0'],['../classhueplusplus_1_1_light.html#a9c2acffeb03fe5e4ce90d88c319a3326',1,'hueplusplus::Light::getBrightness() const'],['../classhueplusplus_1_1_light.html#ace8771637e9489f5063c001b5caddac3',1,'hueplusplus::Light::getBrightness()'],['../classhueplusplus_1_1_light_state.html#aa2cca920ce887dc9febe0d40b1804862',1,'hueplusplus::LightState::getBrightness()'],['../classhueplusplus_1_1_simple_brightness_strategy.html#a8e9c818098ffc9501d3f0b3fcc25ae6b',1,'hueplusplus::SimpleBrightnessStrategy::getBrightness(Light &light) const override'],['../classhueplusplus_1_1_simple_brightness_strategy.html#a5b7e947195fc285d15f32a07e1484cd8',1,'hueplusplus::SimpleBrightnessStrategy::getBrightness(const Light &light) const override']]],
+ ['getbuttonevent',['getButtonEvent',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_switch.html#adb91a6490b5ec05640330feb9bc94202',1,'hueplusplus::sensors::CLIPSwitch::getButtonEvent()'],['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#a736c8c1c6896793444a4d54675c9daa9',1,'hueplusplus::sensors::ZGPSwitch::getButtonEvent()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#acb19cd28c93b2a5017535c5d0e97ec3f',1,'hueplusplus::sensors::ZLLSwitch::getButtonEvent()']]],
+ ['getclientkey',['getClientKey',['../classhueplusplus_1_1_bridge.html#a82efe66d4376ffa406d45ac10fbfaf6a',1,'hueplusplus::Bridge']]],
+ ['getcolorgamut',['getColorGamut',['../classhueplusplus_1_1_light.html#aa389d6eebf6a843d76a4dc40504278f1',1,'hueplusplus::Light']]],
+ ['getcolorhuesaturation',['getColorHueSaturation',['../classhueplusplus_1_1_color_hue_strategy.html#a0fb1e28eca3469ddc031d31e06e1e507',1,'hueplusplus::ColorHueStrategy::getColorHueSaturation(Light &light) const =0'],['../classhueplusplus_1_1_color_hue_strategy.html#a2ee78ad5dfc75ecbef7f521718437c5c',1,'hueplusplus::ColorHueStrategy::getColorHueSaturation(const Light &light) const =0'],['../classhueplusplus_1_1_light.html#ad95677b99a9cde2027789bc42c3357a3',1,'hueplusplus::Light::getColorHueSaturation() const'],['../classhueplusplus_1_1_light.html#a964f95119071333b43927b90bfaea91d',1,'hueplusplus::Light::getColorHueSaturation()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#aa1f4a94edc6e4d93380f53985d09770a',1,'hueplusplus::SimpleColorHueStrategy::getColorHueSaturation(Light &light) const override'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#ae083f1201116f57402c8cc1139d0f2d8',1,'hueplusplus::SimpleColorHueStrategy::getColorHueSaturation(const Light &light) const override']]],
+ ['getcolorloop',['getColorloop',['../classhueplusplus_1_1_light_state.html#a9cf8d4814cd5c58689d5f15be1614394',1,'hueplusplus::LightState']]],
+ ['getcolortemperature',['getColorTemperature',['../classhueplusplus_1_1_color_temperature_strategy.html#a652b3099bf4ad23730d8ada66a117c69',1,'hueplusplus::ColorTemperatureStrategy::getColorTemperature(Light &light) const =0'],['../classhueplusplus_1_1_color_temperature_strategy.html#af962d62a442ff1e218fb5482673a0a95',1,'hueplusplus::ColorTemperatureStrategy::getColorTemperature(const Light &light) const =0'],['../classhueplusplus_1_1_light.html#aa594a5ef3f74f4a67b334a51b953cef3',1,'hueplusplus::Light::getColorTemperature() const'],['../classhueplusplus_1_1_light.html#aac4924bb706d4a7548ad8dbb47a6b9cf',1,'hueplusplus::Light::getColorTemperature()'],['../classhueplusplus_1_1_simple_color_temperature_strategy.html#a9e03451c7f6005c351805206f33f2a14',1,'hueplusplus::SimpleColorTemperatureStrategy::getColorTemperature(Light &light) const override'],['../classhueplusplus_1_1_simple_color_temperature_strategy.html#a94ef284d875bd9c8dbae0e9d79ea3b73',1,'hueplusplus::SimpleColorTemperatureStrategy::getColorTemperature(const Light &light) const override']]],
+ ['getcolortype',['getColorType',['../classhueplusplus_1_1_light.html#abfff60ed1b992b11ebff8af37586e2a8',1,'hueplusplus::Light']]],
+ ['getcolorxy',['getColorXY',['../classhueplusplus_1_1_color_hue_strategy.html#a0dcffc8b665b6bc9d41abd05ec785f67',1,'hueplusplus::ColorHueStrategy::getColorXY(Light &light) const =0'],['../classhueplusplus_1_1_color_hue_strategy.html#a53cadaf89f8e577d11fdb6934111801d',1,'hueplusplus::ColorHueStrategy::getColorXY(const Light &light) const =0'],['../classhueplusplus_1_1_light.html#a1ea91616036e3ba59b4590f69d1fc8bd',1,'hueplusplus::Light::getColorXY() const'],['../classhueplusplus_1_1_light.html#a41ea854f1fb0331c7bf8c8595ef9e443',1,'hueplusplus::Light::getColorXY()'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#ad99046addfc831239ffb8ff1335918cc',1,'hueplusplus::SimpleColorHueStrategy::getColorXY(Light &light) const override'],['../classhueplusplus_1_1_simple_color_hue_strategy.html#a2066753c965a67613d50df345a32b4dd',1,'hueplusplus::SimpleColorHueStrategy::getColorXY(const Light &light) const override']]],
+ ['getcommand',['getCommand',['../classhueplusplus_1_1_schedule.html#a22f049cb0c5ba126481250e74615eb33',1,'hueplusplus::Schedule']]],
+ ['getcommandapi',['getCommandAPI',['../classhueplusplus_1_1_a_p_i_cache.html#afbbe9068d0b6e8e3b600091c51123464',1,'hueplusplus::APICache::getCommandAPI()'],['../classhueplusplus_1_1_a_p_i_cache.html#afa68d56e9779ef00d8d7f7e96eb2a370',1,'hueplusplus::APICache::getCommandAPI() const']]],
+ ['getconditions',['getConditions',['../classhueplusplus_1_1_rule.html#a0c3819214da64185770884db5ff84b6a',1,'hueplusplus::Rule']]],
+ ['getconfig',['getConfig',['../classhueplusplus_1_1_sensor.html#aa91a849fbe0971ce5589f08d5b814a6b',1,'hueplusplus::Sensor']]],
+ ['getcreated',['getCreated',['../classhueplusplus_1_1_rule.html#a5e20165123645da1bc06cda330cddbda',1,'hueplusplus::Rule::getCreated()'],['../classhueplusplus_1_1_schedule.html#a914f1463caa28b61f6c5f0ce2b1fba15',1,'hueplusplus::Schedule::getCreated()']]],
+ ['getct',['getCt',['../classhueplusplus_1_1_light_state.html#a453c70559216604c143a70aed55f181f',1,'hueplusplus::LightState']]],
+ ['getdarkthreshold',['getDarkThreshold',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#aae98001eb1eb812cb801dd093d1ca774',1,'hueplusplus::sensors::CLIPLightLevel::getDarkThreshold()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a22dc9ba301c7b820483ef86bf0226ef0',1,'hueplusplus::sensors::ZLLLightLevel::getDarkThreshold()']]],
+ ['getdaytime',['getDaytime',['../classhueplusplus_1_1time_1_1_recurring_time.html#ab709e2ed62f8f4926e3e3639a904b3d8',1,'hueplusplus::time::RecurringTime']]],
+ ['getdescription',['GetDescription',['../classhueplusplus_1_1_hue_a_p_i_response_exception.html#a88e40694e6f6453b43ac669792bd8a3d',1,'hueplusplus::HueAPIResponseException::GetDescription()'],['../classhueplusplus_1_1_schedule.html#ac61b203d8c78f8f221a06ba80489147c',1,'hueplusplus::Schedule::getDescription()']]],
+ ['getdevices',['getDevices',['../classhueplusplus_1_1_u_pn_p.html#a882fae9e6413025dd6479e26cd06d317',1,'hueplusplus::UPnP']]],
+ ['getendtime',['getEndTime',['../classhueplusplus_1_1time_1_1_time_interval.html#a04d6b49d10816228599940bd66c87887',1,'hueplusplus::time::TimeInterval']]],
+ ['geterrornumber',['GetErrorNumber',['../classhueplusplus_1_1_hue_a_p_i_response_exception.html#ad2b4971e74b5c257674c0d3b8836bd94',1,'hueplusplus::HueAPIResponseException']]],
+ ['getexpirytime',['getExpiryTime',['../classhueplusplus_1_1time_1_1_timer.html#a17ba161fff51473bd262fbd3b2692453',1,'hueplusplus::time::Timer']]],
+ ['getfile',['GetFile',['../classhueplusplus_1_1_hue_exception.html#a1c2cd1e98f9b86ca85fd493de62c5c91',1,'hueplusplus::HueException']]],
+ ['getflag',['getFlag',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag.html#aabcdd2283671d5e19d35134fad4fa454',1,'hueplusplus::sensors::CLIPGenericFlag']]],
+ ['getgroupid',['getGroupId',['../classhueplusplus_1_1_scene.html#ae721c70ccd84f8f7e6aabb4e57b22939',1,'hueplusplus::Scene']]],
+ ['gethuesat',['getHueSat',['../classhueplusplus_1_1_light_state.html#aef84d82dcb3aa88e62b7d32fe8a7e833',1,'hueplusplus::LightState']]],
+ ['gethumidity',['getHumidity',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity.html#add8f5e5399ee19f9062a415381e375e6',1,'hueplusplus::sensors::CLIPHumidity']]],
+ ['getid',['getId',['../classhueplusplus_1_1_base_device.html#a21122992819e6155867c02578773d0cd',1,'hueplusplus::BaseDevice::getId()'],['../classhueplusplus_1_1_group.html#a3fd91f063daafd0b8489da895933633d',1,'hueplusplus::Group::getId()'],['../classhueplusplus_1_1_rule.html#a3005015e8d321c726044877ffd7b3a61',1,'hueplusplus::Rule::getId()'],['../classhueplusplus_1_1_scene.html#a1f3bc32a62df0d51bdc3d5c201e2ac59',1,'hueplusplus::Scene::getId()'],['../classhueplusplus_1_1_schedule.html#a37f25f3d1e77f832f464396e000232db',1,'hueplusplus::Schedule::getId()']]],
+ ['getjson',['GETJson',['../classhueplusplus_1_1_base_http_handler.html#a059678ec7136be20fc5e8ca242929fe9',1,'hueplusplus::BaseHttpHandler::GETJson()'],['../classhueplusplus_1_1_i_http_handler.html#a89b23dc67674fb3a0457a4b8e020f010',1,'hueplusplus::IHttpHandler::GETJson()']]],
+ ['getlastalert',['getLastAlert',['../classhueplusplus_1_1_sensor.html#af3ce6ea4f65adc0ba9b1217cfed72330',1,'hueplusplus::Sensor::getLastAlert()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a55de697650c3412715b7e6a29becc76d',1,'hueplusplus::sensors::ZLLSwitch::getLastAlert()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a7bc1a66f6d3b09c4d20ba298581621f7',1,'hueplusplus::sensors::ZLLPresence::getLastAlert()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#a7b6d9d99f4c38ad51455e9ac0f93dc5d',1,'hueplusplus::sensors::ZLLTemperature::getLastAlert()']]],
+ ['getlastscantime',['getLastScanTime',['../classhueplusplus_1_1_new_device_list.html#a2fcd0310f9fddb1bfafdd1f3a2ceeae0',1,'hueplusplus::NewDeviceList']]],
+ ['getlasttriggered',['getLastTriggered',['../classhueplusplus_1_1_rule.html#a970398503a651e03c4c28caed3dccaf3',1,'hueplusplus::Rule']]],
+ ['getlastupdated',['getLastUpdated',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a8797664ff0bd25413917e215c29f472a',1,'hueplusplus::sensors::BaseCLIP::getLastUpdated()'],['../classhueplusplus_1_1_scene.html#a14c2ace3ed090f2c94a5ba99a803f352',1,'hueplusplus::Scene::getLastUpdated()'],['../classhueplusplus_1_1_sensor.html#a8fe3726ee3ac9cb9bf65e9865c6c4697',1,'hueplusplus::Sensor::getLastUpdated()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#aea447a1b44fb58417d5417f1263f590d',1,'hueplusplus::sensors::DaylightSensor::getLastUpdated()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a3776348358cca0de1e455c3d42c26a7c',1,'hueplusplus::sensors::ZLLSwitch::getLastUpdated()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a6b05bae7d8187b1c1147e758c82850c0',1,'hueplusplus::sensors::ZLLPresence::getLastUpdated()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#add799faecf833f78e42be140a4dc7465',1,'hueplusplus::sensors::ZLLTemperature::getLastUpdated()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a46f3c340a200e30a0775957601b64f65',1,'hueplusplus::sensors::ZLLLightLevel::getLastUpdated()']]],
+ ['getledindication',['getLEDIndication',['../classhueplusplus_1_1_sensor.html#a62524f6ef72a95eb6b8f94355297ac1b',1,'hueplusplus::Sensor']]],
+ ['getlightids',['getLightIds',['../classhueplusplus_1_1_group.html#ad8c8fa5b3f2bc2212c400bc1959769dd',1,'hueplusplus::Group::getLightIds()'],['../classhueplusplus_1_1_scene.html#a75952a9751f3af544103e63dd425925b',1,'hueplusplus::Scene::getLightIds()']]],
+ ['getlightlevel',['getLightLevel',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#a7d1b0f5579961e58836e948d2c3a2649',1,'hueplusplus::sensors::CLIPLightLevel::getLightLevel()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#af1895a12011ac724ec4c9bdd9c5a5ec3',1,'hueplusplus::sensors::ZLLLightLevel::getLightLevel()']]],
+ ['getlightstates',['getLightStates',['../classhueplusplus_1_1_scene.html#acb1f90023b1b3c0631b49593d93d011e',1,'hueplusplus::Scene']]],
+ ['getlinkbutton',['getLinkButton',['../classhueplusplus_1_1_bridge_config.html#a3c5fc2fdac564ab69f5e6b805d3ead38',1,'hueplusplus::BridgeConfig']]],
+ ['getluminaireuid',['getLuminaireUId',['../classhueplusplus_1_1_light.html#afb12426562cc4cbdf429f37bdabd0c70',1,'hueplusplus::Light']]],
+ ['getmacaddress',['getMACAddress',['../classhueplusplus_1_1_bridge_config.html#a42b2e8a2dd21352c2bb7acfcee95dd72',1,'hueplusplus::BridgeConfig']]],
+ ['getmanufacturername',['getManufacturername',['../classhueplusplus_1_1_base_device.html#ad6e1af663e4f14afc6293aacdd5130c0',1,'hueplusplus::BaseDevice']]],
+ ['getmaxsensitivity',['getMaxSensitivity',['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#adf5f920b10764d0b4891d002c067c420',1,'hueplusplus::sensors::ZLLPresence']]],
+ ['getmethod',['getMethod',['../classhueplusplus_1_1_action.html#a65f0cf2fb01397e023b1098aae2e8184',1,'hueplusplus::Action']]],
+ ['getmodelid',['getModelId',['../classhueplusplus_1_1_base_device.html#aa7572be90ab966033ad8b9c7e83598ce',1,'hueplusplus::BaseDevice::getModelId()'],['../classhueplusplus_1_1_group.html#a81336c603e9ee8f775cbdef180eb029c',1,'hueplusplus::Group::getModelId()']]],
+ ['getname',['getName',['../classhueplusplus_1_1_base_device.html#a5331ce38f4e6c9def7bafc23112ccd34',1,'hueplusplus::BaseDevice::getName()'],['../classhueplusplus_1_1_base_device.html#a095f4467a072fee3091402e7ed31a6fe',1,'hueplusplus::BaseDevice::getName() const'],['../classhueplusplus_1_1_group.html#aedac57e05d40c976c92d58bd05709ccf',1,'hueplusplus::Group::getName()'],['../classhueplusplus_1_1_rule.html#ae7065c3b7a26447b2b0d1f03c523fe65',1,'hueplusplus::Rule::getName()'],['../classhueplusplus_1_1_scene.html#a82e369e6689b4e361d0373a49d36cff7',1,'hueplusplus::Scene::getName()'],['../classhueplusplus_1_1_schedule.html#a83e78e75d2ddaf8086c596475ea49228',1,'hueplusplus::Schedule::getName()']]],
+ ['getnewdevices',['getNewDevices',['../classhueplusplus_1_1_new_device_list.html#ad56949dee021cd75e28a9f1e82c35f6b',1,'hueplusplus::NewDeviceList::getNewDevices()'],['../classhueplusplus_1_1_searchable_resource_list.html#a07bc6249721ec996a38091ee7c46ef3d',1,'hueplusplus::SearchableResourceList::getNewDevices()']]],
+ ['getnumberofexecutions',['getNumberOfExecutions',['../classhueplusplus_1_1time_1_1_timer.html#a4e02fb2cc4f2624693de2bba35c0bc05',1,'hueplusplus::time::Timer']]],
+ ['getoperator',['getOperator',['../classhueplusplus_1_1_condition.html#a87c67b3fbcbde2310e651b4229fbafaf',1,'hueplusplus::Condition']]],
+ ['getowner',['getOwner',['../classhueplusplus_1_1_rule.html#a2cea5b619dde0edf22b4125fa68cb656',1,'hueplusplus::Rule::getOwner()'],['../classhueplusplus_1_1_scene.html#ad139ad82c78951c742f453a9a804bfd0',1,'hueplusplus::Scene::getOwner()']]],
+ ['getpendingconfig',['getPendingConfig',['../classhueplusplus_1_1_sensor.html#a8580976eb531df99f1d7a5b200503f8b',1,'hueplusplus::Sensor']]],
+ ['getpicture',['getPicture',['../classhueplusplus_1_1_scene.html#a85c99d4aa75aa7a6bb21ada77036d15d',1,'hueplusplus::Scene']]],
+ ['getpictureofmodel',['getPictureOfModel',['../namespacehueplusplus.html#a17eb803a07def3d8db7a4d5dcf3ef9da',1,'hueplusplus']]],
+ ['getpostalertdelay',['getPostAlertDelay',['../classhueplusplus_1_1_config.html#a016707f0361444ab45a0a145c2c51fb7',1,'hueplusplus::Config']]],
+ ['getprealertdelay',['getPreAlertDelay',['../classhueplusplus_1_1_config.html#a40557388d90085e2f7dd0932598168a8',1,'hueplusplus::Config']]],
+ ['getpresence',['getPresence',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_presence.html#a9551a46725b6050981d8b58a03600498',1,'hueplusplus::sensors::CLIPPresence::getPresence()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#aa3301069fd6a9fc2d1084f95a8e27e8f',1,'hueplusplus::sensors::ZLLPresence::getPresence()']]],
+ ['getproductname',['getProductname',['../classhueplusplus_1_1_base_device.html#a53f675db31058c574fbf55baea8bd556',1,'hueplusplus::BaseDevice']]],
+ ['getrandomvariation',['getRandomVariation',['../classhueplusplus_1_1time_1_1_absolute_varied_time.html#a4789cce97d2e3e58dace7b10726f14a2',1,'hueplusplus::time::AbsoluteVariedTime::getRandomVariation()'],['../classhueplusplus_1_1time_1_1_recurring_time.html#aa9148416a97cd408d535e9e76864d8aa',1,'hueplusplus::time::RecurringTime::getRandomVariation()'],['../classhueplusplus_1_1time_1_1_timer.html#ae97cb1b5165452af834acdb6782489e9',1,'hueplusplus::time::Timer::getRandomVariation()']]],
+ ['getrecycle',['getRecycle',['../classhueplusplus_1_1_scene.html#a10909c104f1f640d5accaf83220ad63e',1,'hueplusplus::Scene']]],
+ ['getrefreshduration',['getRefreshDuration',['../classhueplusplus_1_1_a_p_i_cache.html#a0f924bf1a6341b11f68f020472041548',1,'hueplusplus::APICache']]],
+ ['getrequest',['getRequest',['../classhueplusplus_1_1_create_group.html#a7a169bfa485cba4c262777f092a30628',1,'hueplusplus::CreateGroup::getRequest()'],['../classhueplusplus_1_1_create_rule.html#ad43ddc031438ccf1616bc66a8a00c981',1,'hueplusplus::CreateRule::getRequest()'],['../classhueplusplus_1_1_create_scene.html#aaf8c666df758a94bccec523216261c91',1,'hueplusplus::CreateScene::getRequest()'],['../classhueplusplus_1_1_create_schedule.html#a4093684e3990c7d96dba4183d46f8268',1,'hueplusplus::CreateSchedule::getRequest()'],['../classhueplusplus_1_1_create_sensor.html#abaf22b996f90fc71ec29c66dcf360407',1,'hueplusplus::CreateSensor::getRequest()'],['../classhueplusplus_1_1_hue_command_a_p_i.html#a075e958c9cf465c8c955d725a2037b88',1,'hueplusplus::HueCommandAPI::GETRequest(const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const'],['../classhueplusplus_1_1_hue_command_a_p_i.html#a8219a4e49fcea93b07c58ae6f7be7ce6',1,'hueplusplus::HueCommandAPI::GETRequest(const std::string &path, const nlohmann::json &request) const']]],
+ ['getrequestpath',['getRequestPath',['../classhueplusplus_1_1_a_p_i_cache.html#ab7bfbec1c32e236c2878a3368f8767cb',1,'hueplusplus::APICache']]],
+ ['getrequestusernameattemptinterval',['getRequestUsernameAttemptInterval',['../classhueplusplus_1_1_config.html#a0e7ad382e2c3f48153eedb507762793b',1,'hueplusplus::Config']]],
+ ['getrequestusernametimeout',['getRequestUsernameTimeout',['../classhueplusplus_1_1_config.html#ac8ca91d85f22eeab4486e00359742a32',1,'hueplusplus::Config']]],
+ ['getroomtype',['getRoomType',['../classhueplusplus_1_1_group.html#a987a9cc346d7ea454aac54a8430dda99',1,'hueplusplus::Group']]],
+ ['getsensitivity',['getSensitivity',['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#af81b5bcf0c1708c0c14af76cfabee490',1,'hueplusplus::sensors::ZLLPresence']]],
+ ['getstarttime',['getStartTime',['../classhueplusplus_1_1_schedule.html#a5d1d7135589ad46765f91ec2e42a8afe',1,'hueplusplus::Schedule::getStartTime()'],['../classhueplusplus_1_1time_1_1_time_interval.html#ac14de461d3bb28dd72c7943c7a99762a',1,'hueplusplus::time::TimeInterval::getStartTime()']]],
+ ['getstate',['getState',['../classhueplusplus_1_1_sensor.html#ab44dee9934103797382b7cfcc24929d5',1,'hueplusplus::Sensor']]],
+ ['getstateaddress',['getStateAddress',['../classhueplusplus_1_1_sensor.html#a28bcad902b4cb179d76a9420ad1dd06c',1,'hueplusplus::Sensor']]],
+ ['getstatus',['getStatus',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status.html#af4f0887ae799447aac38b0917cdcff13',1,'hueplusplus::sensors::CLIPGenericStatus']]],
+ ['getstring',['GETString',['../classhueplusplus_1_1_base_http_handler.html#a601f2e4dfec195a094e30c2f22263cf9',1,'hueplusplus::BaseHttpHandler::GETString()'],['../classhueplusplus_1_1_i_http_handler.html#a0a1c318af7d333b6bb01c5a65388ba23',1,'hueplusplus::IHttpHandler::GETString()']]],
+ ['getsunriseoffset',['getSunriseOffset',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#aa864ab948571fdd2b656de8ba8ad8035',1,'hueplusplus::sensors::DaylightSensor']]],
+ ['getsunsetoffset',['getSunsetOffset',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a4c3f00c44688cf98916d919a61550318',1,'hueplusplus::sensors::DaylightSensor']]],
+ ['getswversion',['getSwVersion',['../classhueplusplus_1_1_base_device.html#aebc5484b45b833491385a5381e3234bb',1,'hueplusplus::BaseDevice::getSwVersion()'],['../classhueplusplus_1_1_base_device.html#a136cdba60a6781c15c6869ddcc7f2e1a',1,'hueplusplus::BaseDevice::getSwVersion() const']]],
+ ['gettemperature',['getTemperature',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature.html#a75ef781738aa395f40d1c6c7997bd1a3',1,'hueplusplus::sensors::CLIPTemperature::getTemperature()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#ae1f9c67bf41a47c9e212b4d2d553559e',1,'hueplusplus::sensors::ZLLTemperature::getTemperature()']]],
+ ['getthresholdoffset',['getThresholdOffset',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#a30108323ec6b8595484614962903d1f6',1,'hueplusplus::sensors::CLIPLightLevel::getThresholdOffset()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#aba1d662d870a4737edd5533546f6b974',1,'hueplusplus::sensors::ZLLLightLevel::getThresholdOffset()']]],
+ ['gettime',['getTime',['../classhueplusplus_1_1_schedule.html#a9a5c158fd270df157a497cd49b509ce9',1,'hueplusplus::Schedule']]],
+ ['gettimestriggered',['getTimesTriggered',['../classhueplusplus_1_1_rule.html#a46a135ec7d0b1343e26adf961ebb799a',1,'hueplusplus::Rule']]],
+ ['gettimezone',['getTimezone',['../classhueplusplus_1_1_bridge_config.html#a7295488ec79f60c93459487f31ef5e8a',1,'hueplusplus::BridgeConfig']]],
+ ['gettransitiontime',['getTransitionTime',['../classhueplusplus_1_1_light_state.html#a13bd2da93bc05b587890471d9cb2dcb6',1,'hueplusplus::LightState']]],
+ ['gettype',['getType',['../classhueplusplus_1_1_base_device.html#a6741ba9ec72108ca0101d41c0b02c568',1,'hueplusplus::BaseDevice::getType()'],['../classhueplusplus_1_1_group.html#a5325969d0445adee1f5d3430e71d5168',1,'hueplusplus::Group::getType()'],['../classhueplusplus_1_1_scene.html#a12146e32e7be75e8f1e5163d82a5c5e1',1,'hueplusplus::Scene::getType()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#aedf9021b3120527763b58975b44e550d',1,'hueplusplus::time::TimePattern::getType()']]],
+ ['getuid',['getUId',['../classhueplusplus_1_1_base_device.html#a821dc52df6472b2604f56579dac4ac04',1,'hueplusplus::BaseDevice']]],
+ ['getuniqueid',['getUniqueId',['../classhueplusplus_1_1_group.html#a7b8d9c14f767c78d248a6d3dab1e6a6a',1,'hueplusplus::Group']]],
+ ['getupnptimeout',['getUPnPTimeout',['../classhueplusplus_1_1_config.html#a329225f3590cc9d7a382836e756eb82e',1,'hueplusplus::Config']]],
+ ['geturl',['getURL',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a5be77c86615cfc1be4aaabe917b3f37b',1,'hueplusplus::sensors::BaseCLIP::getURL()'],['../classhueplusplus_1_1_sensor.html#a0e8915051ba8a93956aff71dd7b427d4',1,'hueplusplus::Sensor::getURL()']]],
+ ['getusername',['getUsername',['../classhueplusplus_1_1_bridge.html#a810987627e7351afd0d9bfbaab2a8cb8',1,'hueplusplus::Bridge']]],
+ ['getutctime',['getUTCTime',['../classhueplusplus_1_1_bridge_config.html#a698173b368e6365005f1c6c55a8cd150',1,'hueplusplus::BridgeConfig']]],
+ ['getvalue',['getValue',['../classhueplusplus_1_1_a_p_i_cache.html#afeededdbb81e3c668b2b983c3d29ee0d',1,'hueplusplus::APICache::getValue()'],['../classhueplusplus_1_1_a_p_i_cache.html#aa1e0c41745a569f7ef420bd6acd5ecc1',1,'hueplusplus::APICache::getValue() const'],['../classhueplusplus_1_1_condition.html#a5c7b9db9d34eeef8e9e44630c374c8c8',1,'hueplusplus::Condition::getValue()']]],
+ ['getversion',['getVersion',['../classhueplusplus_1_1_scene.html#a5191cd7cb0c3d321e1a90e0717081912',1,'hueplusplus::Scene']]],
+ ['getweekdays',['getWeekdays',['../classhueplusplus_1_1time_1_1_recurring_time.html#acf4155d15e150b4ab842d269e28b3133',1,'hueplusplus::time::RecurringTime::getWeekdays()'],['../classhueplusplus_1_1time_1_1_time_interval.html#a806327dccc8ac6438c3a92c5579749ba',1,'hueplusplus::time::TimeInterval::getWeekdays()']]],
+ ['getwhitelistedusers',['getWhitelistedUsers',['../classhueplusplus_1_1_bridge_config.html#aeb1be2b2a432583bd3e36a7dbe22d036',1,'hueplusplus::BridgeConfig']]],
+ ['getxy',['getXY',['../classhueplusplus_1_1_light_state.html#a7853093fd60ae73ba37c11467e3e2a35',1,'hueplusplus::LightState']]],
+ ['group',['Group',['../classhueplusplus_1_1_group.html#a32be75ce66d601190d41825ebdf1e0f4',1,'hueplusplus::Group::Group(int id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_group.html#a57ba3b0950a70a069867f56d6bdc7cc9',1,'hueplusplus::Group::Group(int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)']]],
+ ['groupresourcelist',['GroupResourceList',['../classhueplusplus_1_1_group_resource_list.html#a9f2e5eb5340eca2e85cf758b92153912',1,'hueplusplus::GroupResourceList']]],
+ ['groups',['groups',['../classhueplusplus_1_1_bridge.html#a86fa3bec3ae4729df0cf6305ce49388c',1,'hueplusplus::Bridge::groups()'],['../classhueplusplus_1_1_bridge.html#a1ebf445f09bf3e1c325939ec19605483',1,'hueplusplus::Bridge::groups() const']]]
+];
diff --git b/search/functions_7.html a/search/functions_7.html
new file mode 100644
index 0000000..83a7b84
--- /dev/null
+++ a/search/functions_7.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_7.js a/search/functions_7.js
new file mode 100644
index 0000000..b1dfe14
--- /dev/null
+++ a/search/functions_7.js
@@ -0,0 +1,23 @@
+var searchData=
+[
+ ['hasalert',['hasAlert',['../classhueplusplus_1_1_sensor.html#a55c517a4ec88dae5f1e13aed2635ca95',1,'hueplusplus::Sensor']]],
+ ['hasbatterystate',['hasBatteryState',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a01ee7a7fbf16866e777f48911eaf5072',1,'hueplusplus::sensors::BaseCLIP::hasBatteryState()'],['../classhueplusplus_1_1_sensor.html#aaa563dc71f6e2606d63917a77dd46d62',1,'hueplusplus::Sensor::hasBatteryState()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#ad67205e1ca2a1042d81e79333f6c75e4',1,'hueplusplus::sensors::DaylightSensor::hasBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a5aabef4adcb2d7b4a840d3b00fd90b54',1,'hueplusplus::sensors::ZLLSwitch::hasBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#af0a4b3ee541538a6c6a956e0ecc79540',1,'hueplusplus::sensors::ZLLPresence::hasBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#a116499ddeff20500f967c7e6948bf542',1,'hueplusplus::sensors::ZLLTemperature::hasBatteryState()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#aca9063b4193a76f2679baf7709e68f16',1,'hueplusplus::sensors::ZLLLightLevel::hasBatteryState()']]],
+ ['hasbrightness',['hasBrightness',['../classhueplusplus_1_1_light_state.html#a4d393f656aa84c821149c5f34a04a1ee',1,'hueplusplus::LightState']]],
+ ['hasbrightnesscontrol',['hasBrightnessControl',['../classhueplusplus_1_1_light.html#af680548b576b57a713018a353d8c8a88',1,'hueplusplus::Light']]],
+ ['hascolorcontrol',['hasColorControl',['../classhueplusplus_1_1_light.html#a661e357c5648ff574634a12b40680a6f',1,'hueplusplus::Light']]],
+ ['hasct',['hasCt',['../classhueplusplus_1_1_light_state.html#a89cc187307fe7bb55211ac4fdfeba966',1,'hueplusplus::LightState']]],
+ ['haseffect',['hasEffect',['../classhueplusplus_1_1_light_state.html#a299ef9228cdda59b3098cf8049553836',1,'hueplusplus::LightState']]],
+ ['hashuesat',['hasHueSat',['../classhueplusplus_1_1_light_state.html#a2e3304728808c1a392e2ddae59b76273',1,'hueplusplus::LightState']]],
+ ['haslastscantime',['hasLastScanTime',['../classhueplusplus_1_1_new_device_list.html#a6af4c9b27eadcf0aec9cc4e7cac0f137',1,'hueplusplus::NewDeviceList']]],
+ ['hasledindication',['hasLEDIndication',['../classhueplusplus_1_1_sensor.html#abf5e1844561ea1c98238dba3ff7d8387',1,'hueplusplus::Sensor']]],
+ ['hason',['hasOn',['../classhueplusplus_1_1_sensor.html#a5853efc3712fe6c9e398c5a5b77c4f25',1,'hueplusplus::Sensor']]],
+ ['hasreachable',['hasReachable',['../classhueplusplus_1_1_sensor.html#ae91fa1d7f27331837eab26db67848513',1,'hueplusplus::Sensor']]],
+ ['hastemperaturecontrol',['hasTemperatureControl',['../classhueplusplus_1_1_light.html#a4b013d5e1cff6bdc02f273d57fc0db22',1,'hueplusplus::Light']]],
+ ['hasurl',['hasURL',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a101a22da4d3e85744ba7b63f6f2941b7',1,'hueplusplus::sensors::BaseCLIP::hasURL()'],['../classhueplusplus_1_1_sensor.html#ac67547e74857fd66bd90b6f6712498db',1,'hueplusplus::Sensor::hasURL()']]],
+ ['hasusertest',['hasUserTest',['../classhueplusplus_1_1_sensor.html#abd9f4d2afc472766c7631b3f278dee7f',1,'hueplusplus::Sensor']]],
+ ['hasxy',['hasXY',['../classhueplusplus_1_1_light_state.html#ae00464d846068a66457ae1fd5c89ad2f',1,'hueplusplus::LightState']]],
+ ['hextobytes',['hexToBytes',['../namespacehueplusplus.html#afc2d402720a601f6e3ee9a8244566cd9',1,'hueplusplus']]],
+ ['hueapiresponseexception',['HueAPIResponseException',['../classhueplusplus_1_1_hue_a_p_i_response_exception.html#a67c014cbd5145f10eecc9ac789e219a7',1,'hueplusplus::HueAPIResponseException']]],
+ ['huecommandapi',['HueCommandAPI',['../classhueplusplus_1_1_hue_command_a_p_i.html#ad6cd1f84660055f622cf730a251fa0ec',1,'hueplusplus::HueCommandAPI::HueCommandAPI(const std::string &ip, int port, const std::string &username, std::shared_ptr< const IHttpHandler > httpHandler)'],['../classhueplusplus_1_1_hue_command_a_p_i.html#adaba8c59285428233804b9ba0b7334ac',1,'hueplusplus::HueCommandAPI::HueCommandAPI(const HueCommandAPI &)=default'],['../classhueplusplus_1_1_hue_command_a_p_i.html#ae6eb2b94cf04dd04ca7623fe864e85b1',1,'hueplusplus::HueCommandAPI::HueCommandAPI(HueCommandAPI &&)=default']]],
+ ['hueexception',['HueException',['../classhueplusplus_1_1_hue_exception.html#ab5560b225c1f36625477c2bffb8a9f1a',1,'hueplusplus::HueException::HueException(FileInfo fileInfo, const std::string &message)'],['../classhueplusplus_1_1_hue_exception.html#a73370d57f033b42c41b5ba55b5db0148',1,'hueplusplus::HueException::HueException(const char *exceptionName, FileInfo fileInfo, const std::string &message)']]]
+];
diff --git b/search/functions_8.html a/search/functions_8.html
new file mode 100644
index 0000000..b55f0e6
--- /dev/null
+++ a/search/functions_8.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_8.js a/search/functions_8.js
new file mode 100644
index 0000000..6d21827
--- /dev/null
+++ a/search/functions_8.js
@@ -0,0 +1,30 @@
+var searchData=
+[
+ ['incrementbrightness',['incrementBrightness',['../classhueplusplus_1_1_state_transaction.html#a0324208d57136c0e35b29c53807f8059',1,'hueplusplus::StateTransaction']]],
+ ['incrementcolortemperature',['incrementColorTemperature',['../classhueplusplus_1_1_state_transaction.html#affb972381ed4dafa89235f469ad571c8',1,'hueplusplus::StateTransaction']]],
+ ['incrementcolorxy',['incrementColorXY',['../classhueplusplus_1_1_state_transaction.html#a6f47a8252ecaf20ce4b2518a517de180',1,'hueplusplus::StateTransaction']]],
+ ['incrementhue',['incrementHue',['../classhueplusplus_1_1_state_transaction.html#abb6a2f2a83e3b29aba7edf9cdb2550c9',1,'hueplusplus::StateTransaction']]],
+ ['incrementsaturation',['incrementSaturation',['../classhueplusplus_1_1_state_transaction.html#a4beaf54b4a61949b8000d1787e54c1e2',1,'hueplusplus::StateTransaction']]],
+ ['instance',['instance',['../classhueplusplus_1_1_config.html#a0e3c55fc7dcaad441c943ff24bf73a3a',1,'hueplusplus::Config']]],
+ ['isall',['isAll',['../classhueplusplus_1_1time_1_1_weekdays.html#a181b64e9c20f6a4f13343dd93124520c',1,'hueplusplus::time::Weekdays']]],
+ ['iscertified',['isCertified',['../classhueplusplus_1_1_sensor.html#a6eca69fe2a532c66d320ef959f595a9a',1,'hueplusplus::Sensor']]],
+ ['isconfigured',['isConfigured',['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a8b56cf19a5f8091a99d17dbe09a3b705',1,'hueplusplus::sensors::DaylightSensor']]],
+ ['isdark',['isDark',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#a55f52fb8ada320895cff47ac4f10062b',1,'hueplusplus::sensors::CLIPLightLevel::isDark()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a689b8ffd4efe3f06ef73f89235f7a851',1,'hueplusplus::sensors::ZLLLightLevel::isDark()']]],
+ ['isdaylight',['isDaylight',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#af3b57fa21c77d30f5f4372892392b439',1,'hueplusplus::sensors::CLIPLightLevel::isDaylight()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a99ac34f3e776c6257c208bd8462c7bb4',1,'hueplusplus::sensors::DaylightSensor::isDaylight()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a29c9c9c350a1b685e939aa56f8487ab2',1,'hueplusplus::sensors::ZLLLightLevel::isDaylight()']]],
+ ['isenabled',['isEnabled',['../classhueplusplus_1_1_rule.html#a8c3b44eb1fce646f3d152b2d92e29762',1,'hueplusplus::Rule::isEnabled()'],['../classhueplusplus_1_1_schedule.html#a950e33a7e7ae0d8e6d02bd19818dca39',1,'hueplusplus::Schedule::isEnabled()']]],
+ ['isfriday',['isFriday',['../classhueplusplus_1_1time_1_1_weekdays.html#aab45c6f89ad1429db2ce22a58990067a',1,'hueplusplus::time::Weekdays']]],
+ ['islocked',['isLocked',['../classhueplusplus_1_1_scene.html#af040ecdf62caef4a510f0a6f091bcbe4',1,'hueplusplus::Scene']]],
+ ['ismonday',['isMonday',['../classhueplusplus_1_1time_1_1_weekdays.html#ad160857774c3a08ae2fbc7e92d96e74c',1,'hueplusplus::time::Weekdays']]],
+ ['isnone',['isNone',['../classhueplusplus_1_1time_1_1_weekdays.html#a3ee14021454e737bf5eeb480703bd655',1,'hueplusplus::time::Weekdays']]],
+ ['ison',['isOn',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#a66f0187e5cf1eb3ca0730ea91e5b2956',1,'hueplusplus::sensors::BaseCLIP::isOn()'],['../classhueplusplus_1_1_light.html#a26172501723aeec5abcf8db5b0dc6986',1,'hueplusplus::Light::isOn()'],['../classhueplusplus_1_1_light.html#a3acfa79ff45065b5a12bf37f42a5f012',1,'hueplusplus::Light::isOn() const'],['../classhueplusplus_1_1_light_state.html#a286e1d30659316eb3c3254d43ca0f5f7',1,'hueplusplus::LightState::isOn()'],['../classhueplusplus_1_1_sensor.html#a4b29e3f514c6af3c219f399c3dac1d42',1,'hueplusplus::Sensor::isOn()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a2f3968caa610ebfef919b2a4e6af3942',1,'hueplusplus::sensors::DaylightSensor::isOn()'],['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#a1ae003bf07c0104f348a6e85cb66ae6a',1,'hueplusplus::sensors::ZGPSwitch::isOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a95100a07a253dc8e3563fbffeed52313',1,'hueplusplus::sensors::ZLLSwitch::isOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a555d51e81531656d84a4c8f8e9ceaf96',1,'hueplusplus::sensors::ZLLPresence::isOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#aede674c71f21e86ffcfa49389744a249',1,'hueplusplus::sensors::ZLLTemperature::isOn()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#ad6db5ff05d1db20cbb47c5bea29de85b',1,'hueplusplus::sensors::ZLLLightLevel::isOn()']]],
+ ['isopen',['isOpen',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close.html#a96a800becb5af696889e55ed483bd9b4',1,'hueplusplus::sensors::CLIPOpenClose']]],
+ ['isprimary',['isPrimary',['../classhueplusplus_1_1_sensor.html#aa91632185b2cf84ac00f67da8e3548d4',1,'hueplusplus::Sensor']]],
+ ['isreachable',['isReachable',['../classhueplusplus_1_1sensors_1_1_base_c_l_i_p.html#afb9656f1a984e76f3fb5305b7722c442',1,'hueplusplus::sensors::BaseCLIP::isReachable()'],['../classhueplusplus_1_1_sensor.html#a9804092c78e462d42311e08d2d37fec4',1,'hueplusplus::Sensor::isReachable()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#ab95541d17dd87123e83c46c1eb2d0ad4',1,'hueplusplus::sensors::ZLLSwitch::isReachable()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a6d2d91b692f505f059fc090b0bc6c925',1,'hueplusplus::sensors::ZLLPresence::isReachable()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#a1e65e041d6051a1e6e51549169fd3e5d',1,'hueplusplus::sensors::ZLLTemperature::isReachable()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#a89b06a6ba8c54acf97bb390612a7906f',1,'hueplusplus::sensors::ZLLLightLevel::isReachable()']]],
+ ['isrecurring',['isRecurring',['../classhueplusplus_1_1time_1_1_timer.html#a9566f3e33d3523506fef646f0cbf2294',1,'hueplusplus::time::Timer']]],
+ ['issaturday',['isSaturday',['../classhueplusplus_1_1time_1_1_weekdays.html#a527b0a4bcedc01615958cf8875275ac1',1,'hueplusplus::time::Weekdays']]],
+ ['isscanactive',['isScanActive',['../classhueplusplus_1_1_new_device_list.html#a80028dc3480f338f88525171daccce53',1,'hueplusplus::NewDeviceList']]],
+ ['issunday',['isSunday',['../classhueplusplus_1_1time_1_1_weekdays.html#acc09516a6fae1e499af41f907732b6e7',1,'hueplusplus::time::Weekdays']]],
+ ['isthursday',['isThursday',['../classhueplusplus_1_1time_1_1_weekdays.html#a74d18299c30809cabc573c3d9bbd926e',1,'hueplusplus::time::Weekdays']]],
+ ['istuesday',['isTuesday',['../classhueplusplus_1_1time_1_1_weekdays.html#a29177f294dda92b59020a1eedceb7f08',1,'hueplusplus::time::Weekdays']]],
+ ['iswednesday',['isWednesday',['../classhueplusplus_1_1time_1_1_weekdays.html#a44cca73c8a6cb7605d35b44e9ba69931',1,'hueplusplus::time::Weekdays']]]
+];
diff --git b/search/functions_9.html a/search/functions_9.html
new file mode 100644
index 0000000..c73f07b
--- /dev/null
+++ a/search/functions_9.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_9.js a/search/functions_9.js
new file mode 100644
index 0000000..2ee00b5
--- /dev/null
+++ a/search/functions_9.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['kelvintomired',['kelvinToMired',['../namespacehueplusplus.html#a0e4f335c82751862f0f39a9e8a11820b',1,'hueplusplus']]]
+];
diff --git b/search/functions_a.html a/search/functions_a.html
new file mode 100644
index 0000000..f10ad63
--- /dev/null
+++ a/search/functions_a.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_a.js a/search/functions_a.js
new file mode 100644
index 0000000..733af66
--- /dev/null
+++ a/search/functions_a.js
@@ -0,0 +1,10 @@
+var searchData=
+[
+ ['light',['Light',['../classhueplusplus_1_1_light.html#a9dc21c546b234045de7ab50128fe17fd',1,'hueplusplus::Light::Light(int id, const HueCommandAPI &commands)'],['../classhueplusplus_1_1_light.html#a3a1a17f076155002399fb6f339e38367',1,'hueplusplus::Light::Light(int id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_light.html#a1d675796a00e29c09c31ee570ad7b114',1,'hueplusplus::Light::Light(int id, const HueCommandAPI &commands, std::shared_ptr< const BrightnessStrategy > brightnessStrategy, std::shared_ptr< const ColorTemperatureStrategy > colorTempStrategy, std::shared_ptr< const ColorHueStrategy > colorHueStrategy, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)']]],
+ ['lightfactory',['LightFactory',['../classhueplusplus_1_1_light_factory.html#ab0e1e524020e036b72ab5f583001bb0c',1,'hueplusplus::LightFactory']]],
+ ['lightgroup',['LightGroup',['../classhueplusplus_1_1_create_group.html#a2da9c9bb8167e2a2e52076984289b415',1,'hueplusplus::CreateGroup']]],
+ ['lights',['lights',['../classhueplusplus_1_1_bridge.html#a7bd607246130312915a3b07116c72301',1,'hueplusplus::Bridge::lights()'],['../classhueplusplus_1_1_bridge.html#aaba8efa389cf91d1199a9edd93b0004e',1,'hueplusplus::Bridge::lights() const']]],
+ ['lightsoff',['lightsOff',['../_lights_off_8cpp.html#acc17f78865cbdcaf3cd8de0b1305cf55',1,'LightsOff.cpp']]],
+ ['lightstate',['LightState',['../classhueplusplus_1_1_light_state.html#aff322b81d7a0c9b55803bb3ed090c3a6',1,'hueplusplus::LightState']]],
+ ['longalert',['longAlert',['../classhueplusplus_1_1_state_transaction.html#a716428813e456b6fad29b552e00807fe',1,'hueplusplus::StateTransaction']]]
+];
diff --git b/search/functions_b.html a/search/functions_b.html
new file mode 100644
index 0000000..172ea1b
--- /dev/null
+++ a/search/functions_b.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_b.js a/search/functions_b.js
new file mode 100644
index 0000000..a6bb2bf
--- /dev/null
+++ a/search/functions_b.js
@@ -0,0 +1,14 @@
+var searchData=
+[
+ ['main',['main',['../_bridge_setup_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): BridgeSetup.cpp'],['../_lights_off_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): LightsOff.cpp'],['../_snippets_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): Snippets.cpp'],['../_username_config_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627',1,'main(int argc, char **argv): UsernameConfig.cpp']]],
+ ['makecondition',['makeCondition',['../namespacehueplusplus_1_1sensors.html#a06dd5755779d2fc8df7108940319f7df',1,'hueplusplus::sensors::makeCondition(const CLIPOpenClose &sensor)'],['../namespacehueplusplus_1_1sensors.html#ae6a92d2761822a7e231fb7b5e0f8132b',1,'hueplusplus::sensors::makeCondition(const CLIPHumidity &sensor)'],['../namespacehueplusplus_1_1sensors.html#abdc9a9a0a7cc5b743468c328a27cbee4',1,'hueplusplus::sensors::makeCondition(const CLIPGenericFlag &sensor)'],['../namespacehueplusplus_1_1sensors.html#ab5a9513f642d7949cb47185a432447a1',1,'hueplusplus::sensors::makeCondition(const CLIPGenericStatus &sensor)'],['../namespacehueplusplus_1_1sensors.html#a8198ee5216d92e28541e8d77640d167a',1,'hueplusplus::sensors::makeCondition(const DaylightSensor &sensor)'],['../namespacehueplusplus_1_1sensors.html#a346d70ad65e2ec757a7ee50e16a5aa0b',1,'hueplusplus::sensors::makeCondition(const ButtonSensor &sensor)'],['../namespacehueplusplus_1_1sensors.html#ab7eac0726430cc92ceaeaa89b2a57655',1,'hueplusplus::sensors::makeCondition(const PresenceSensor &sensor)'],['../namespacehueplusplus_1_1sensors.html#a0172a7e14a1d4eadf0179a1a98692d43',1,'hueplusplus::sensors::makeCondition(const TemperatureSensor &sensor)']]],
+ ['makeconditiondark',['makeConditionDark',['../namespacehueplusplus_1_1sensors.html#ac63acc0784990f042c9da618b2e9453b',1,'hueplusplus::sensors']]],
+ ['makeconditiondaylight',['makeConditionDaylight',['../namespacehueplusplus_1_1sensors.html#afd885c6f0abbfce6efe01a6cc80ec347',1,'hueplusplus::sensors']]],
+ ['makeconditionlastupdate',['makeConditionLastUpdate',['../namespacehueplusplus_1_1sensors.html#aa674bacddb9d714ed65cf3c41306c8f5',1,'hueplusplus::sensors']]],
+ ['makeconditionlightlevel',['makeConditionLightLevel',['../namespacehueplusplus_1_1sensors.html#ab62bfbedf78fbae777fb21459171df1f',1,'hueplusplus::sensors']]],
+ ['maybestoi',['maybeStoi',['../classhueplusplus_1_1_resource_list.html#ab98e351ff57e1674cc5aa25f150a4471',1,'hueplusplus::ResourceList']]],
+ ['maybetostring',['maybeToString',['../classhueplusplus_1_1_resource_list.html#ae26bacb486e03c961d992da82d63fdd6',1,'hueplusplus::ResourceList']]],
+ ['methodtostring',['methodToString',['../classhueplusplus_1_1_action.html#a758c2ebb8875022fffca68c5b6a3c2d5',1,'hueplusplus::Action']]],
+ ['miredtokelvin',['miredToKelvin',['../namespacehueplusplus.html#a6228dfc645d2b2f4280959b462117244',1,'hueplusplus']]],
+ ['monday',['monday',['../classhueplusplus_1_1time_1_1_weekdays.html#a873da59cc5f5406ea7c430d94ca825f1',1,'hueplusplus::time::Weekdays']]]
+];
diff --git b/search/functions_c.html a/search/functions_c.html
new file mode 100644
index 0000000..99492ba
--- /dev/null
+++ a/search/functions_c.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_c.js a/search/functions_c.js
new file mode 100644
index 0000000..a099b19
--- /dev/null
+++ a/search/functions_c.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['newdevicelist',['NewDeviceList',['../classhueplusplus_1_1_new_device_list.html#a6f0d36ffa3691397eb4ccae3711d0c0b',1,'hueplusplus::NewDeviceList']]],
+ ['none',['none',['../classhueplusplus_1_1time_1_1_weekdays.html#ae698598e1d051a6f23cc9e497eb7947c',1,'hueplusplus::time::Weekdays']]],
+ ['normalizemac',['normalizeMac',['../classhueplusplus_1_1_bridge_finder.html#ad9b05c8c5fb48ebe78675c95688ddfef',1,'hueplusplus::BridgeFinder']]]
+];
diff --git b/search/functions_d.html a/search/functions_d.html
new file mode 100644
index 0000000..5be9ecc
--- /dev/null
+++ a/search/functions_d.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_d.js a/search/functions_d.js
new file mode 100644
index 0000000..f96f7d1
--- /dev/null
+++ a/search/functions_d.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['off',['off',['../classhueplusplus_1_1_light.html#a5f4699729652474534d5783c9a27ed94',1,'hueplusplus::Light']]],
+ ['on',['on',['../classhueplusplus_1_1_light.html#aab9db2db84ad55e19d7b46c77807973d',1,'hueplusplus::Light']]],
+ ['operator_21_3d',['operator!=',['../structhueplusplus_1_1_hue_saturation.html#acefbc6c45566e9a7536b36d639af0b9c',1,'hueplusplus::HueSaturation::operator!=()'],['../structhueplusplus_1_1_x_y.html#a530a1d70fa5fe01eaad444e37b69ceb8',1,'hueplusplus::XY::operator!=()'],['../structhueplusplus_1_1_x_y_brightness.html#ab0ffec2f467f475c40db465cc685a173',1,'hueplusplus::XYBrightness::operator!=()'],['../structhueplusplus_1_1_r_g_b.html#ab1f826ed16cf47438b772b3e7323eef5',1,'hueplusplus::RGB::operator!=()'],['../classhueplusplus_1_1_light_state.html#a3f20f2fd1ab3b18131fdd41fe9c4490f',1,'hueplusplus::LightState::operator!=()'],['../classhueplusplus_1_1time_1_1_weekdays.html#a54058c3602bf1d5e653c43c699a61614',1,'hueplusplus::time::Weekdays::operator!=()']]],
+ ['operator_3d',['operator=',['../classhueplusplus_1_1_bridge_config.html#a03b3ee409e16d518140277ae87d6ab41',1,'hueplusplus::BridgeConfig::operator=(const BridgeConfig &)=default'],['../classhueplusplus_1_1_bridge_config.html#ada5a954339b5bfc854d231f6ee60a12c',1,'hueplusplus::BridgeConfig::operator=(BridgeConfig &&)=default'],['../classhueplusplus_1_1_hue_command_a_p_i.html#a85cedc2afdbb37e56870f10313afdcac',1,'hueplusplus::HueCommandAPI::operator=(const HueCommandAPI &)=default'],['../classhueplusplus_1_1_hue_command_a_p_i.html#a5731bf7182f381491c3516daf7bdd77a',1,'hueplusplus::HueCommandAPI::operator=(HueCommandAPI &&)=default'],['../classhueplusplus_1_1_resource_list.html#aa75121b18d67faf84ff6b894d0c45b0b',1,'hueplusplus::ResourceList::operator=(const ResourceList &)=delete'],['../classhueplusplus_1_1_resource_list.html#abd327e8fb74cc60ac100bc750af338a3',1,'hueplusplus::ResourceList::operator=(ResourceList &&)=default'],['../classhueplusplus_1_1_searchable_resource_list.html#a525df9955f4395c75def137bb55622d1',1,'hueplusplus::SearchableResourceList::operator=()'],['../classhueplusplus_1_1_createable_resource_list.html#adfba6867594c38e7df0de20cf143ab38',1,'hueplusplus::CreateableResourceList::operator=()'],['../classhueplusplus_1_1_group_resource_list.html#af07ec2f86b579e8e33c14104fffc81fd',1,'hueplusplus::GroupResourceList::operator=()'],['../classhueplusplus_1_1_sensor_list.html#ad4b33da37bfa7b68e8254c2767c18a69',1,'hueplusplus::SensorList::operator=()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#aaa0effc39d6feab7e87af1a5a8186b8e',1,'hueplusplus::time::TimePattern::operator=()']]],
+ ['operator_3d_3d',['operator==',['../structhueplusplus_1_1_hue_saturation.html#a295b9a224ac68beda9e0947d859ed239',1,'hueplusplus::HueSaturation::operator==()'],['../structhueplusplus_1_1_x_y.html#a1b7040da4a539a7c7806a221cdb4b271',1,'hueplusplus::XY::operator==()'],['../structhueplusplus_1_1_x_y_brightness.html#a32e4e923d11f30513c15b3c2f1269beb',1,'hueplusplus::XYBrightness::operator==()'],['../structhueplusplus_1_1_r_g_b.html#a3be869fdba2541480c82c737219c7bb0',1,'hueplusplus::RGB::operator==()'],['../classhueplusplus_1_1_light_state.html#a9a84ff777c8870ae1dde06b75aff7a87',1,'hueplusplus::LightState::operator==()'],['../classhueplusplus_1_1time_1_1_weekdays.html#a2173294b9c0678f1c88d229cc2cedd13',1,'hueplusplus::time::Weekdays::operator==()']]],
+ ['operator_7c',['operator|',['../classhueplusplus_1_1time_1_1_weekdays.html#a03b68221ce483673449cb51052296d70',1,'hueplusplus::time::Weekdays']]]
+];
diff --git b/search/functions_e.html a/search/functions_e.html
new file mode 100644
index 0000000..e256cb6
--- /dev/null
+++ a/search/functions_e.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_e.js a/search/functions_e.js
new file mode 100644
index 0000000..1880636
--- /dev/null
+++ a/search/functions_e.js
@@ -0,0 +1,16 @@
+var searchData=
+[
+ ['parse',['parse',['../classhueplusplus_1_1_condition.html#a838c40cffaa7fd37d2874d35fe951f0a',1,'hueplusplus::Condition::parse()'],['../classhueplusplus_1_1_new_device_list.html#a5b529a5a874e4acc4c00d9ad3a34e650',1,'hueplusplus::NewDeviceList::parse()'],['../classhueplusplus_1_1time_1_1_absolute_time.html#ace5da237dfaf5e1b524d378e47c98828',1,'hueplusplus::time::AbsoluteTime::parse()'],['../classhueplusplus_1_1time_1_1_absolute_varied_time.html#a9621c48e0c537df73552162bdaba7b32',1,'hueplusplus::time::AbsoluteVariedTime::parse()'],['../classhueplusplus_1_1time_1_1_weekdays.html#aff9ed8dba46cc9912c43a3dd416670d6',1,'hueplusplus::time::Weekdays::parse()'],['../classhueplusplus_1_1time_1_1_time_pattern.html#a286b91d053b2345a900b0b81e47cfe4c',1,'hueplusplus::time::TimePattern::parse()']]],
+ ['parseduration',['parseDuration',['../namespacehueplusplus_1_1time.html#aee172420a332a222f34f9e9eaf6c5621',1,'hueplusplus::time']]],
+ ['parsemethod',['parseMethod',['../classhueplusplus_1_1_action.html#a51b50bd1b0b8dd3641a42218abb9f24e',1,'hueplusplus::Action']]],
+ ['parsetimestamp',['parseTimestamp',['../namespacehueplusplus_1_1time.html#a84b6a46eb1f4a03ab7740104a8616007',1,'hueplusplus::time']]],
+ ['parseutc',['parseUTC',['../classhueplusplus_1_1time_1_1_absolute_time.html#a96322623cd27d6dad3fb7276475a098d',1,'hueplusplus::time::AbsoluteTime']]],
+ ['parseutctimestamp',['parseUTCTimestamp',['../namespacehueplusplus_1_1time.html#a31275be9b8ff39ee8445787b59ad1235',1,'hueplusplus::time']]],
+ ['postjson',['POSTJson',['../classhueplusplus_1_1_base_http_handler.html#ad43b42bf599a59fdd89a4195ec891a02',1,'hueplusplus::BaseHttpHandler::POSTJson()'],['../classhueplusplus_1_1_i_http_handler.html#aec5d497cf69fe8e3b799d3522aea920f',1,'hueplusplus::IHttpHandler::POSTJson()']]],
+ ['postrequest',['POSTRequest',['../classhueplusplus_1_1_hue_command_a_p_i.html#a81a50ebaa5c468e2facd9be26d6049c3',1,'hueplusplus::HueCommandAPI::POSTRequest(const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const'],['../classhueplusplus_1_1_hue_command_a_p_i.html#a22e35bff206ce27e0bd648c56d7586fc',1,'hueplusplus::HueCommandAPI::POSTRequest(const std::string &path, const nlohmann::json &request) const']]],
+ ['poststring',['POSTString',['../classhueplusplus_1_1_base_http_handler.html#a896da865ceb520bd9797948395fa203d',1,'hueplusplus::BaseHttpHandler::POSTString()'],['../classhueplusplus_1_1_i_http_handler.html#a0bcb134d05ecadcb696ceb3e5e96829a',1,'hueplusplus::IHttpHandler::POSTString()']]],
+ ['presslinkbutton',['pressLinkButton',['../classhueplusplus_1_1_bridge_config.html#ad0fb148a2b3bbbc3ccc33841c9b2664c',1,'hueplusplus::BridgeConfig']]],
+ ['putjson',['PUTJson',['../classhueplusplus_1_1_base_http_handler.html#a602b5ea73d5788e2bb79a654906e5de0',1,'hueplusplus::BaseHttpHandler::PUTJson()'],['../classhueplusplus_1_1_i_http_handler.html#a9915845c7104e510e2051b79c76c4f32',1,'hueplusplus::IHttpHandler::PUTJson()']]],
+ ['putrequest',['PUTRequest',['../classhueplusplus_1_1_hue_command_a_p_i.html#ae321474c3562a25d5bd04f50fcefe7b0',1,'hueplusplus::HueCommandAPI::PUTRequest(const std::string &path, const nlohmann::json &request, FileInfo fileInfo) const'],['../classhueplusplus_1_1_hue_command_a_p_i.html#acf3029d2454458bd4aa8aa1416e95b0e',1,'hueplusplus::HueCommandAPI::PUTRequest(const std::string &path, const nlohmann::json &request) const']]],
+ ['putstring',['PUTString',['../classhueplusplus_1_1_base_http_handler.html#a72f4a78eea5c4b1c8f23b074ee3648bf',1,'hueplusplus::BaseHttpHandler::PUTString()'],['../classhueplusplus_1_1_i_http_handler.html#a35bbf8cafa81f87cff137896714ffa08',1,'hueplusplus::IHttpHandler::PUTString()']]]
+];
diff --git b/search/functions_f.html a/search/functions_f.html
new file mode 100644
index 0000000..424126c
--- /dev/null
+++ a/search/functions_f.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/functions_f.js a/search/functions_f.js
new file mode 100644
index 0000000..f44f1f5
--- /dev/null
+++ a/search/functions_f.js
@@ -0,0 +1,14 @@
+var searchData=
+[
+ ['readconfigfile',['readConfigFile',['../_username_config_8cpp.html#a121fd3332ab275881e2b29007cf2c228',1,'UsernameConfig.cpp']]],
+ ['recall',['recall',['../classhueplusplus_1_1_scene.html#a98801967894cce8207ba50e0f49bda6f',1,'hueplusplus::Scene']]],
+ ['recurringtime',['RecurringTime',['../classhueplusplus_1_1time_1_1_recurring_time.html#a5e06f7388dbbe93f618c59f56857ef10',1,'hueplusplus::time::RecurringTime']]],
+ ['refresh',['refresh',['../classhueplusplus_1_1_a_p_i_cache.html#a712df81284602eb43afae322f8d43e7b',1,'hueplusplus::APICache::refresh()'],['../classhueplusplus_1_1_base_device.html#aa6ac28ae3879a41ace1cd6806ca9a2f1',1,'hueplusplus::BaseDevice::refresh()'],['../classhueplusplus_1_1_bridge.html#ab5e6405f4a371b5af6a85a3cd5f0c647',1,'hueplusplus::Bridge::refresh()'],['../classhueplusplus_1_1_bridge_config.html#a659e33308a8225f402edc8e735471f4f',1,'hueplusplus::BridgeConfig::refresh()'],['../classhueplusplus_1_1_group.html#a9acdde574461a8891cb4a5c74d740d8c',1,'hueplusplus::Group::refresh()'],['../classhueplusplus_1_1_resource_list.html#a6fe81cf76931d2bcf9dda56ea63524bd',1,'hueplusplus::ResourceList::refresh()'],['../classhueplusplus_1_1_rule.html#af4cce0dbb758b7f46a642d5b2c089dcd',1,'hueplusplus::Rule::refresh()'],['../classhueplusplus_1_1_scene.html#ad4e730f0fd1c8d726e0c6be3078419c8',1,'hueplusplus::Scene::refresh()'],['../classhueplusplus_1_1_schedule.html#a2e685940a7ba30e006017e560560aefa',1,'hueplusplus::Schedule::refresh()']]],
+ ['remove',['remove',['../classhueplusplus_1_1_resource_list.html#ac65ac738c8cf0eaac35634ccffa455f5',1,'hueplusplus::ResourceList']]],
+ ['removeuser',['removeUser',['../classhueplusplus_1_1_bridge_config.html#acde09d00c7619f8270f5731726d22dfb',1,'hueplusplus::BridgeConfig']]],
+ ['requestusername',['requestUsername',['../classhueplusplus_1_1_bridge.html#a2cc2ae33208a20572e6f556233b97692',1,'hueplusplus::Bridge']]],
+ ['resourcelist',['ResourceList',['../classhueplusplus_1_1_resource_list.html#a92d644c4440523ba31d36da291ce499a',1,'hueplusplus::ResourceList::ResourceList(std::shared_ptr< APICache > baseCache, const std::string &cacheEntry, std::chrono::steady_clock::duration refreshDuration, bool sharedState=false, const std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)'],['../classhueplusplus_1_1_resource_list.html#a3ad0fc473c4b3ac35210da9f2909e034',1,'hueplusplus::ResourceList::ResourceList(const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> &factory=nullptr)'],['../classhueplusplus_1_1_resource_list.html#a165b892a0100a4ec6b575a2076f6bb8d',1,'hueplusplus::ResourceList::ResourceList(const ResourceList &)=delete'],['../classhueplusplus_1_1_resource_list.html#a035501423175d4dc5d91b677de1a9c95',1,'hueplusplus::ResourceList::ResourceList(ResourceList &&)=default']]],
+ ['room',['Room',['../classhueplusplus_1_1_create_group.html#a8bc9cdc0c77ba191ec8951047da15c95',1,'hueplusplus::CreateGroup']]],
+ ['rule',['Rule',['../classhueplusplus_1_1_rule.html#a3a35f45c3e5c188b4921166972df2b3f',1,'hueplusplus::Rule::Rule(int id, const std::shared_ptr< APICache > &baseCache)'],['../classhueplusplus_1_1_rule.html#a4b775ff498d4155a7e27807a44822dfa',1,'hueplusplus::Rule::Rule(int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json ¤tState)']]],
+ ['rules',['rules',['../classhueplusplus_1_1_bridge.html#aaa2d393fd8498cf6c39a83e8258b062e',1,'hueplusplus::Bridge::rules()'],['../classhueplusplus_1_1_bridge.html#a7b92a77274cb53e7085e6f9135be25ba',1,'hueplusplus::Bridge::rules() const']]]
+];
diff --git b/search/mag_sel.png a/search/mag_sel.png
new file mode 100644
index 0000000..81f6040
--- /dev/null
+++ a/search/mag_sel.png
diff --git b/search/namespaces_0.html a/search/namespaces_0.html
new file mode 100644
index 0000000..605ac45
--- /dev/null
+++ a/search/namespaces_0.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/namespaces_0.js a/search/namespaces_0.js
new file mode 100644
index 0000000..4ad637d
--- /dev/null
+++ a/search/namespaces_0.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['gamut',['gamut',['../namespacehueplusplus_1_1gamut.html',1,'hueplusplus']]],
+ ['hueplusplus',['hueplusplus',['../namespacehueplusplus.html',1,'']]],
+ ['sensors',['sensors',['../namespacehueplusplus_1_1sensors.html',1,'hueplusplus']]],
+ ['time',['time',['../namespacehueplusplus_1_1time.html',1,'hueplusplus']]],
+ ['utils',['utils',['../namespacehueplusplus_1_1utils.html',1,'hueplusplus']]]
+];
diff --git b/search/nomatches.html a/search/nomatches.html
new file mode 100644
index 0000000..b1ded27
--- /dev/null
+++ a/search/nomatches.html
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
diff --git b/search/pages_0.html a/search/pages_0.html
new file mode 100644
index 0000000..4955b9e
--- /dev/null
+++ a/search/pages_0.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/pages_0.js a/search/pages_0.js
new file mode 100644
index 0000000..eb84900
--- /dev/null
+++ a/search/pages_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['build_20and_20install',['Build and install',['../build.html',1,'']]]
+];
diff --git b/search/pages_1.html a/search/pages_1.html
new file mode 100644
index 0000000..aedb14e
--- /dev/null
+++ a/search/pages_1.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/pages_1.js a/search/pages_1.js
new file mode 100644
index 0000000..a71e2eb
--- /dev/null
+++ a/search/pages_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['documentation_20for_20the_20hueplusplus_20library',['Documentation for the hueplusplus library',['../index.html',1,'']]]
+];
diff --git b/search/pages_2.html a/search/pages_2.html
new file mode 100644
index 0000000..bd91593
--- /dev/null
+++ a/search/pages_2.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/pages_2.js a/search/pages_2.js
new file mode 100644
index 0000000..f09f735
--- /dev/null
+++ a/search/pages_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['getting_20started',['Getting started',['../getting-started.html',1,'']]]
+];
diff --git b/search/pages_3.html a/search/pages_3.html
new file mode 100644
index 0000000..bc0e37f
--- /dev/null
+++ a/search/pages_3.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/pages_3.js a/search/pages_3.js
new file mode 100644
index 0000000..9a9acf0
--- /dev/null
+++ a/search/pages_3.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['sensors',['Sensors',['../sensors.html',1,'']]],
+ ['shared_20state_20cache',['Shared state cache',['../shared-state.html',1,'']]]
+];
diff --git b/search/pages_4.html a/search/pages_4.html
new file mode 100644
index 0000000..d4c3e8e
--- /dev/null
+++ a/search/pages_4.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/pages_4.js a/search/pages_4.js
new file mode 100644
index 0000000..4dcdee7
--- /dev/null
+++ a/search/pages_4.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['transactions',['Transactions',['../transactions.html',1,'']]]
+];
diff --git b/search/related_0.html a/search/related_0.html
new file mode 100644
index 0000000..1db947b
--- /dev/null
+++ a/search/related_0.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/related_0.js a/search/related_0.js
new file mode 100644
index 0000000..7dc70d1
--- /dev/null
+++ a/search/related_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['bridgefinder',['BridgeFinder',['../classhueplusplus_1_1_bridge.html#a1ffb423a79da8deb2ef13bb2c89b6d78',1,'hueplusplus::Bridge']]]
+];
diff --git b/search/related_1.html a/search/related_1.html
new file mode 100644
index 0000000..413c6d4
--- /dev/null
+++ a/search/related_1.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/related_1.js a/search/related_1.js
new file mode 100644
index 0000000..c10f424
--- /dev/null
+++ a/search/related_1.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['extendedcolorhuestrategy',['ExtendedColorHueStrategy',['../classhueplusplus_1_1_light.html#a9c3ccafa802cdb32c292c49f575148f4',1,'hueplusplus::Light']]],
+ ['extendedcolortemperaturestrategy',['ExtendedColorTemperatureStrategy',['../classhueplusplus_1_1_light.html#a39b9af853936935617664c3f7814d910',1,'hueplusplus::Light']]]
+];
diff --git b/search/related_2.html a/search/related_2.html
new file mode 100644
index 0000000..60d1ede
--- /dev/null
+++ a/search/related_2.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/related_2.js a/search/related_2.js
new file mode 100644
index 0000000..f3e16f9
--- /dev/null
+++ a/search/related_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['lightfactory',['LightFactory',['../classhueplusplus_1_1_light.html#ac8e9c6bbd43e33cbdd138af2f654342d',1,'hueplusplus::Light']]]
+];
diff --git b/search/related_3.html a/search/related_3.html
new file mode 100644
index 0000000..7b0e1d2
--- /dev/null
+++ a/search/related_3.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/related_3.js a/search/related_3.js
new file mode 100644
index 0000000..78cd382
--- /dev/null
+++ a/search/related_3.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['simplebrightnessstrategy',['SimpleBrightnessStrategy',['../classhueplusplus_1_1_light.html#a5babb7ef26b2bbb53c32f8b2378340dd',1,'hueplusplus::Light']]],
+ ['simplecolorhuestrategy',['SimpleColorHueStrategy',['../classhueplusplus_1_1_light.html#a72883e32140a640d19b91e8f778be41f',1,'hueplusplus::Light']]],
+ ['simplecolortemperaturestrategy',['SimpleColorTemperatureStrategy',['../classhueplusplus_1_1_light.html#a3dd11d27e5f374c0e8c88ebf6f24c7a0',1,'hueplusplus::Light']]]
+];
diff --git b/search/search.css a/search/search.css
new file mode 100644
index 0000000..3cf9df9
--- /dev/null
+++ a/search/search.css
@@ -0,0 +1,271 @@
+/*---------------- Search Box */
+
+#FSearchBox {
+ float: left;
+}
+
+#MSearchBox {
+ white-space : nowrap;
+ float: none;
+ margin-top: 8px;
+ right: 0px;
+ width: 170px;
+ height: 24px;
+ z-index: 102;
+}
+
+#MSearchBox .left
+{
+ display:block;
+ position:absolute;
+ left:10px;
+ width:20px;
+ height:19px;
+ background:url('search_l.png') no-repeat;
+ background-position:right;
+}
+
+#MSearchSelect {
+ display:block;
+ position:absolute;
+ width:20px;
+ height:19px;
+}
+
+.left #MSearchSelect {
+ left:4px;
+}
+
+.right #MSearchSelect {
+ right:5px;
+}
+
+#MSearchField {
+ display:block;
+ position:absolute;
+ height:19px;
+ background:url('search_m.png') repeat-x;
+ border:none;
+ width:115px;
+ margin-left:20px;
+ padding-left:4px;
+ color: #909090;
+ outline: none;
+ font: 9pt Arial, Verdana, sans-serif;
+ -webkit-border-radius: 0px;
+}
+
+#FSearchBox #MSearchField {
+ margin-left:15px;
+}
+
+#MSearchBox .right {
+ display:block;
+ position:absolute;
+ right:10px;
+ top:8px;
+ width:20px;
+ height:19px;
+ background:url('search_r.png') no-repeat;
+ background-position:left;
+}
+
+#MSearchClose {
+ display: none;
+ position: absolute;
+ top: 4px;
+ background : none;
+ border: none;
+ margin: 0px 4px 0px 0px;
+ padding: 0px 0px;
+ outline: none;
+}
+
+.left #MSearchClose {
+ left: 6px;
+}
+
+.right #MSearchClose {
+ right: 2px;
+}
+
+.MSearchBoxActive #MSearchField {
+ color: #000000;
+}
+
+/*---------------- Search filter selection */
+
+#MSearchSelectWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #90A5CE;
+ background-color: #F9FAFC;
+ z-index: 10001;
+ padding-top: 4px;
+ padding-bottom: 4px;
+ -moz-border-radius: 4px;
+ -webkit-border-top-left-radius: 4px;
+ -webkit-border-top-right-radius: 4px;
+ -webkit-border-bottom-left-radius: 4px;
+ -webkit-border-bottom-right-radius: 4px;
+ -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
+}
+
+.SelectItem {
+ font: 8pt Arial, Verdana, sans-serif;
+ padding-left: 2px;
+ padding-right: 12px;
+ border: 0px;
+}
+
+span.SelectionMark {
+ margin-right: 4px;
+ font-family: monospace;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem {
+ display: block;
+ outline-style: none;
+ color: #000000;
+ text-decoration: none;
+ padding-left: 6px;
+ padding-right: 12px;
+}
+
+a.SelectItem:focus,
+a.SelectItem:active {
+ color: #000000;
+ outline-style: none;
+ text-decoration: none;
+}
+
+a.SelectItem:hover {
+ color: #FFFFFF;
+ background-color: #3D578C;
+ outline-style: none;
+ text-decoration: none;
+ cursor: pointer;
+ display: block;
+}
+
+/*---------------- Search results window */
+
+iframe#MSearchResults {
+ width: 60ex;
+ height: 15em;
+}
+
+#MSearchResultsWindow {
+ display: none;
+ position: absolute;
+ left: 0; top: 0;
+ border: 1px solid #000;
+ background-color: #EEF1F7;
+ z-index:10000;
+}
+
+/* ----------------------------------- */
+
+
+#SRIndex {
+ clear:both;
+ padding-bottom: 15px;
+}
+
+.SREntry {
+ font-size: 10pt;
+ padding-left: 1ex;
+}
+
+.SRPage .SREntry {
+ font-size: 8pt;
+ padding: 1px 5px;
+}
+
+body.SRPage {
+ margin: 5px 2px;
+}
+
+.SRChildren {
+ padding-left: 3ex; padding-bottom: .5em
+}
+
+.SRPage .SRChildren {
+ display: none;
+}
+
+.SRSymbol {
+ font-weight: bold;
+ color: #425E97;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRScope {
+ display: block;
+ color: #425E97;
+ font-family: Arial, Verdana, sans-serif;
+ text-decoration: none;
+ outline: none;
+}
+
+a.SRSymbol:focus, a.SRSymbol:active,
+a.SRScope:focus, a.SRScope:active {
+ text-decoration: underline;
+}
+
+span.SRScope {
+ padding-left: 4px;
+}
+
+.SRPage .SRStatus {
+ padding: 2px 5px;
+ font-size: 8pt;
+ font-style: italic;
+}
+
+.SRResult {
+ display: none;
+}
+
+DIV.searchresults {
+ margin-left: 10px;
+ margin-right: 10px;
+}
+
+/*---------------- External search page results */
+
+.searchresult {
+ background-color: #F0F3F8;
+}
+
+.pages b {
+ color: white;
+ padding: 5px 5px 3px 5px;
+ background-image: url("../tab_a.png");
+ background-repeat: repeat-x;
+ text-shadow: 0 1px 1px #000000;
+}
+
+.pages {
+ line-height: 17px;
+ margin-left: 4px;
+ text-decoration: none;
+}
+
+.hl {
+ font-weight: bold;
+}
+
+#searchresults {
+ margin-bottom: 20px;
+}
+
+.searchpages {
+ margin-top: 10px;
+}
+
diff --git b/search/search.js a/search/search.js
new file mode 100644
index 0000000..dedce3b
--- /dev/null
+++ a/search/search.js
@@ -0,0 +1,791 @@
+function convertToId(search)
+{
+ var result = '';
+ for (i=0;i do a search
+ {
+ this.Search();
+ }
+ }
+
+ this.OnSearchSelectKey = function(evt)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==40 && this.searchIndex0) // Up
+ {
+ this.searchIndex--;
+ this.OnSelectItem(this.searchIndex);
+ }
+ else if (e.keyCode==13 || e.keyCode==27)
+ {
+ this.OnSelectItem(this.searchIndex);
+ this.CloseSelectionWindow();
+ this.DOMSearchField().focus();
+ }
+ return false;
+ }
+
+ // --------- Actions
+
+ // Closes the results window.
+ this.CloseResultsWindow = function()
+ {
+ this.DOMPopupSearchResultsWindow().style.display = 'none';
+ this.DOMSearchClose().style.display = 'none';
+ this.Activate(false);
+ }
+
+ this.CloseSelectionWindow = function()
+ {
+ this.DOMSearchSelectWindow().style.display = 'none';
+ }
+
+ // Performs a search.
+ this.Search = function()
+ {
+ this.keyTimeout = 0;
+
+ // strip leading whitespace
+ var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
+
+ var code = searchValue.toLowerCase().charCodeAt(0);
+ var idxChar = searchValue.substr(0, 1).toLowerCase();
+ if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
+ {
+ idxChar = searchValue.substr(0, 2);
+ }
+
+ var resultsPage;
+ var resultsPageWithSearch;
+ var hasResultsPage;
+
+ var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
+ if (idx!=-1)
+ {
+ var hexCode=idx.toString(16);
+ resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
+ resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
+ hasResultsPage = true;
+ }
+ else // nothing available for this search term
+ {
+ resultsPage = this.resultsPath + '/nomatches.html';
+ resultsPageWithSearch = resultsPage;
+ hasResultsPage = false;
+ }
+
+ window.frames.MSearchResults.location = resultsPageWithSearch;
+ var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
+
+ if (domPopupSearchResultsWindow.style.display!='block')
+ {
+ var domSearchBox = this.DOMSearchBox();
+ this.DOMSearchClose().style.display = 'inline';
+ if (this.insideFrame)
+ {
+ var domPopupSearchResults = this.DOMPopupSearchResults();
+ domPopupSearchResultsWindow.style.position = 'relative';
+ domPopupSearchResultsWindow.style.display = 'block';
+ var width = document.body.clientWidth - 8; // the -8 is for IE :-(
+ domPopupSearchResultsWindow.style.width = width + 'px';
+ domPopupSearchResults.style.width = width + 'px';
+ }
+ else
+ {
+ var domPopupSearchResults = this.DOMPopupSearchResults();
+ var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
+ var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
+ domPopupSearchResultsWindow.style.display = 'block';
+ left -= domPopupSearchResults.offsetWidth;
+ domPopupSearchResultsWindow.style.top = top + 'px';
+ domPopupSearchResultsWindow.style.left = left + 'px';
+ }
+ }
+
+ this.lastSearchValue = searchValue;
+ this.lastResultsPage = resultsPage;
+ }
+
+ // -------- Activation Functions
+
+ // Activates or deactivates the search panel, resetting things to
+ // their default values if necessary.
+ this.Activate = function(isActive)
+ {
+ if (isActive || // open it
+ this.DOMPopupSearchResultsWindow().style.display == 'block'
+ )
+ {
+ this.DOMSearchBox().className = 'MSearchBoxActive';
+
+ var searchField = this.DOMSearchField();
+
+ if (searchField.value == this.searchLabel) // clear "Search" term upon entry
+ {
+ searchField.value = '';
+ this.searchActive = true;
+ }
+ }
+ else if (!isActive) // directly remove the panel
+ {
+ this.DOMSearchBox().className = 'MSearchBoxInactive';
+ this.DOMSearchField().value = this.searchLabel;
+ this.searchActive = false;
+ this.lastSearchValue = ''
+ this.lastResultsPage = '';
+ }
+ }
+}
+
+// -----------------------------------------------------------------------
+
+// The class that handles everything on the search results page.
+function SearchResults(name)
+{
+ // The number of matches from the last run of .
+ this.lastMatchCount = 0;
+ this.lastKey = 0;
+ this.repeatOn = false;
+
+ // Toggles the visibility of the passed element ID.
+ this.FindChildElement = function(id)
+ {
+ var parentElement = document.getElementById(id);
+ var element = parentElement.firstChild;
+
+ while (element && element!=parentElement)
+ {
+ if (element.nodeName == 'DIV' && element.className == 'SRChildren')
+ {
+ return element;
+ }
+
+ if (element.nodeName == 'DIV' && element.hasChildNodes())
+ {
+ element = element.firstChild;
+ }
+ else if (element.nextSibling)
+ {
+ element = element.nextSibling;
+ }
+ else
+ {
+ do
+ {
+ element = element.parentNode;
+ }
+ while (element && element!=parentElement && !element.nextSibling);
+
+ if (element && element!=parentElement)
+ {
+ element = element.nextSibling;
+ }
+ }
+ }
+ }
+
+ this.Toggle = function(id)
+ {
+ var element = this.FindChildElement(id);
+ if (element)
+ {
+ if (element.style.display == 'block')
+ {
+ element.style.display = 'none';
+ }
+ else
+ {
+ element.style.display = 'block';
+ }
+ }
+ }
+
+ // Searches for the passed string. If there is no parameter,
+ // it takes it from the URL query.
+ //
+ // Always returns true, since other documents may try to call it
+ // and that may or may not be possible.
+ this.Search = function(search)
+ {
+ if (!search) // get search word from URL
+ {
+ search = window.location.search;
+ search = search.substring(1); // Remove the leading '?'
+ search = unescape(search);
+ }
+
+ search = search.replace(/^ +/, ""); // strip leading spaces
+ search = search.replace(/ +$/, ""); // strip trailing spaces
+ search = search.toLowerCase();
+ search = convertToId(search);
+
+ var resultRows = document.getElementsByTagName("div");
+ var matches = 0;
+
+ var i = 0;
+ while (i < resultRows.length)
+ {
+ var row = resultRows.item(i);
+ if (row.className == "SRResult")
+ {
+ var rowMatchName = row.id.toLowerCase();
+ rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
+
+ if (search.length<=rowMatchName.length &&
+ rowMatchName.substr(0, search.length)==search)
+ {
+ row.style.display = 'block';
+ matches++;
+ }
+ else
+ {
+ row.style.display = 'none';
+ }
+ }
+ i++;
+ }
+ document.getElementById("Searching").style.display='none';
+ if (matches == 0) // no results
+ {
+ document.getElementById("NoMatches").style.display='block';
+ }
+ else // at least one result
+ {
+ document.getElementById("NoMatches").style.display='none';
+ }
+ this.lastMatchCount = matches;
+ return true;
+ }
+
+ // return the first item with index index or higher that is visible
+ this.NavNext = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index++;
+ }
+ return focusItem;
+ }
+
+ this.NavPrev = function(index)
+ {
+ var focusItem;
+ while (1)
+ {
+ var focusName = 'Item'+index;
+ focusItem = document.getElementById(focusName);
+ if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
+ {
+ break;
+ }
+ else if (!focusItem) // last element
+ {
+ break;
+ }
+ focusItem=null;
+ index--;
+ }
+ return focusItem;
+ }
+
+ this.ProcessKeys = function(e)
+ {
+ if (e.type == "keydown")
+ {
+ this.repeatOn = false;
+ this.lastKey = e.keyCode;
+ }
+ else if (e.type == "keypress")
+ {
+ if (!this.repeatOn)
+ {
+ if (this.lastKey) this.repeatOn = true;
+ return false; // ignore first keypress after keydown
+ }
+ }
+ else if (e.type == "keyup")
+ {
+ this.lastKey = 0;
+ this.repeatOn = false;
+ }
+ return this.lastKey!=0;
+ }
+
+ this.Nav = function(evt,itemIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ var newIndex = itemIndex-1;
+ var focusItem = this.NavPrev(newIndex);
+ if (focusItem)
+ {
+ var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
+ if (child && child.style.display == 'block') // children visible
+ {
+ var n=0;
+ var tmpElem;
+ while (1) // search for last child
+ {
+ tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
+ if (tmpElem)
+ {
+ focusItem = tmpElem;
+ }
+ else // found it!
+ {
+ break;
+ }
+ n++;
+ }
+ }
+ }
+ if (focusItem)
+ {
+ focusItem.focus();
+ }
+ else // return focus to search field
+ {
+ parent.document.getElementById("MSearchField").focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = itemIndex+1;
+ var focusItem;
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem && elem.style.display == 'block') // children visible
+ {
+ focusItem = document.getElementById('Item'+itemIndex+'_c0');
+ }
+ if (!focusItem) focusItem = this.NavNext(newIndex);
+ if (focusItem) focusItem.focus();
+ }
+ else if (this.lastKey==39) // Right
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'block';
+ }
+ else if (this.lastKey==37) // Left
+ {
+ var item = document.getElementById('Item'+itemIndex);
+ var elem = this.FindChildElement(item.parentNode.parentNode.id);
+ if (elem) elem.style.display = 'none';
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ parent.searchBox.CloseResultsWindow();
+ parent.document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+
+ this.NavChild = function(evt,itemIndex,childIndex)
+ {
+ var e = (evt) ? evt : window.event; // for IE
+ if (e.keyCode==13) return true;
+ if (!this.ProcessKeys(e)) return false;
+
+ if (this.lastKey==38) // Up
+ {
+ if (childIndex>0)
+ {
+ var newIndex = childIndex-1;
+ document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
+ }
+ else // already at first child, jump to parent
+ {
+ document.getElementById('Item'+itemIndex).focus();
+ }
+ }
+ else if (this.lastKey==40) // Down
+ {
+ var newIndex = childIndex+1;
+ var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
+ if (!elem) // last child, jump to parent next parent
+ {
+ elem = this.NavNext(itemIndex+1);
+ }
+ if (elem)
+ {
+ elem.focus();
+ }
+ }
+ else if (this.lastKey==27) // Escape
+ {
+ parent.searchBox.CloseResultsWindow();
+ parent.document.getElementById("MSearchField").focus();
+ }
+ else if (this.lastKey==13) // Enter
+ {
+ return true;
+ }
+ return false;
+ }
+}
+
+function setKeyActions(elem,action)
+{
+ elem.setAttribute('onkeydown',action);
+ elem.setAttribute('onkeypress',action);
+ elem.setAttribute('onkeyup',action);
+}
+
+function setClassAttr(elem,attr)
+{
+ elem.setAttribute('class',attr);
+ elem.setAttribute('className',attr);
+}
+
+function createResults()
+{
+ var results = document.getElementById("SRResults");
+ for (var e=0; e
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/typedefs_0.js a/search/typedefs_0.js
new file mode 100644
index 0000000..9713997
--- /dev/null
+++ a/search/typedefs_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['grouplist',['GroupList',['../classhueplusplus_1_1_bridge.html#a623c4d205571df7fcefcba1367e53128',1,'hueplusplus::Bridge']]]
+];
diff --git b/search/typedefs_1.html a/search/typedefs_1.html
new file mode 100644
index 0000000..b77c533
--- /dev/null
+++ a/search/typedefs_1.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/typedefs_1.js a/search/typedefs_1.js
new file mode 100644
index 0000000..9b61908
--- /dev/null
+++ a/search/typedefs_1.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['idtype',['IdType',['../classhueplusplus_1_1_resource_list.html#ab122d90e1fcfde172b21670c74b33f89',1,'hueplusplus::ResourceList']]]
+];
diff --git b/search/typedefs_2.html a/search/typedefs_2.html
new file mode 100644
index 0000000..076311d
--- /dev/null
+++ a/search/typedefs_2.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/typedefs_2.js a/search/typedefs_2.js
new file mode 100644
index 0000000..3f86cdc
--- /dev/null
+++ a/search/typedefs_2.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['lightlist',['LightList',['../classhueplusplus_1_1_bridge.html#a290adc7b7b4eec346d8ddf4035d9a97b',1,'hueplusplus::Bridge']]]
+];
diff --git b/search/typedefs_3.html a/search/typedefs_3.html
new file mode 100644
index 0000000..a4a727f
--- /dev/null
+++ a/search/typedefs_3.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/typedefs_3.js a/search/typedefs_3.js
new file mode 100644
index 0000000..4ea9415
--- /dev/null
+++ a/search/typedefs_3.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['resourcetype',['ResourceType',['../classhueplusplus_1_1_resource_list.html#a177194d18e9f0f37228a262d6dd6a73c',1,'hueplusplus::ResourceList']]],
+ ['rulelist',['RuleList',['../classhueplusplus_1_1_bridge.html#a5f15819509a9e012a03b2a629eebf74b',1,'hueplusplus::Bridge']]]
+];
diff --git b/search/typedefs_4.html a/search/typedefs_4.html
new file mode 100644
index 0000000..be033cd
--- /dev/null
+++ a/search/typedefs_4.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/typedefs_4.js a/search/typedefs_4.js
new file mode 100644
index 0000000..b2dae0a
--- /dev/null
+++ a/search/typedefs_4.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['scenelist',['SceneList',['../classhueplusplus_1_1_bridge.html#a58df1b54c19725c1a094c7e1fa6623b7',1,'hueplusplus::Bridge']]],
+ ['schedulelist',['ScheduleList',['../classhueplusplus_1_1_bridge.html#a14eafa2b131997ff70aedec2d160a14a',1,'hueplusplus::Bridge']]],
+ ['systemhttphandler',['SystemHttpHandler',['../_bridge_setup_8cpp.html#a60f0bf9d32c9f2c500d20fb8e3e69e08',1,'SystemHttpHandler(): BridgeSetup.cpp'],['../_lights_off_8cpp.html#a60f0bf9d32c9f2c500d20fb8e3e69e08',1,'SystemHttpHandler(): LightsOff.cpp'],['../_username_config_8cpp.html#a60f0bf9d32c9f2c500d20fb8e3e69e08',1,'SystemHttpHandler(): UsernameConfig.cpp']]]
+];
diff --git b/search/variables_0.html a/search/variables_0.html
new file mode 100644
index 0000000..74ce807
--- /dev/null
+++ a/search/variables_0.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_0.js a/search/variables_0.js
new file mode 100644
index 0000000..4536876
--- /dev/null
+++ a/search/variables_0.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['absolute',['absolute',['../classhueplusplus_1_1time_1_1_time_pattern.html#a37bf49241150a0f3195dce4f189bef83',1,'hueplusplus::time::TimePattern']]]
+];
diff --git b/search/variables_1.html a/search/variables_1.html
new file mode 100644
index 0000000..84237b6
--- /dev/null
+++ a/search/variables_1.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_1.js a/search/variables_1.js
new file mode 100644
index 0000000..1cf9612
--- /dev/null
+++ a/search/variables_1.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['b',['b',['../structhueplusplus_1_1_r_g_b.html#a7f0452178ad85616ff065cf56915b6f4',1,'hueplusplus::RGB']]],
+ ['bluecorner',['blueCorner',['../structhueplusplus_1_1_color_gamut.html#a9300f0d4b86be5dfae499f4e4d61c9a8',1,'hueplusplus::ColorGamut']]],
+ ['bridge',['bridge',['../classhueplusplus_1_1_entertainment_mode.html#a3be4ee9ee045fc791e2606c78fbfd3e6',1,'hueplusplus::EntertainmentMode']]],
+ ['bridgerequestdelay',['bridgeRequestDelay',['../classhueplusplus_1_1_config.html#a736688630986956a1e97e62218403ab3',1,'hueplusplus::Config']]],
+ ['brightness',['brightness',['../structhueplusplus_1_1_x_y_brightness.html#a028af75d7418fdccd22d0027f83298cf',1,'hueplusplus::XYBrightness']]],
+ ['brightnessstrategy',['brightnessStrategy',['../classhueplusplus_1_1_light.html#af9948baaf52a9ce2ed0f145368492873',1,'hueplusplus::Light']]]
+];
diff --git b/search/variables_10.html a/search/variables_10.html
new file mode 100644
index 0000000..548ac84
--- /dev/null
+++ a/search/variables_10.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_10.js a/search/variables_10.js
new file mode 100644
index 0000000..a5f44cc
--- /dev/null
+++ a/search/variables_10.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['undefined',['undefined',['../classhueplusplus_1_1time_1_1_time_pattern.html#a98000ee6475f81483529e81be46b4ff3',1,'hueplusplus::time::TimePattern']]],
+ ['upnptimeout',['upnpTimeout',['../classhueplusplus_1_1_config.html#a916ef76044aa30ba8bfd847fee1b3abb',1,'hueplusplus::Config']]],
+ ['username',['username',['../_bridge_setup_8cpp.html#adc05afa9d9bfcc39217447497e598792',1,'username(): BridgeSetup.cpp'],['../_lights_off_8cpp.html#adc05afa9d9bfcc39217447497e598792',1,'username(): LightsOff.cpp']]]
+];
diff --git b/search/variables_11.html a/search/variables_11.html
new file mode 100644
index 0000000..d5be914
--- /dev/null
+++ a/search/variables_11.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_11.js a/search/variables_11.js
new file mode 100644
index 0000000..da095d0
--- /dev/null
+++ a/search/variables_11.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['x',['x',['../structhueplusplus_1_1_x_y.html#a69014a0d04d9edc769a146cac6cad0e1',1,'hueplusplus::XY']]],
+ ['xy',['xy',['../structhueplusplus_1_1_x_y_brightness.html#aa79a3630418657ec6f9bba328b8447a2',1,'hueplusplus::XYBrightness']]]
+];
diff --git b/search/variables_12.html a/search/variables_12.html
new file mode 100644
index 0000000..b62e1ee
--- /dev/null
+++ a/search/variables_12.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_12.js a/search/variables_12.js
new file mode 100644
index 0000000..beaf4c1
--- /dev/null
+++ a/search/variables_12.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['y',['y',['../structhueplusplus_1_1_x_y.html#a1b6133bce8576cdb72921678404c6dd6',1,'hueplusplus::XY']]]
+];
diff --git b/search/variables_2.html a/search/variables_2.html
new file mode 100644
index 0000000..5c9de1a
--- /dev/null
+++ a/search/variables_2.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_2.js a/search/variables_2.js
new file mode 100644
index 0000000..c9d15b7
--- /dev/null
+++ a/search/variables_2.js
@@ -0,0 +1,32 @@
+var searchData=
+[
+ ['c_5fbutton1',['c_button1',['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#a217c7b22366aa74fa4e1be768f69ebfa',1,'hueplusplus::sensors::ZGPSwitch']]],
+ ['c_5fbutton2',['c_button2',['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#a7492028e93635836d736b040eb1d1e87',1,'hueplusplus::sensors::ZGPSwitch']]],
+ ['c_5fbutton3',['c_button3',['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#a8aa09f0d86e1aa9c063a183bc64ee8a8',1,'hueplusplus::sensors::ZGPSwitch']]],
+ ['c_5fbutton4',['c_button4',['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#a7eacb689dd3a8776a407bbc1291f147b',1,'hueplusplus::sensors::ZGPSwitch']]],
+ ['c_5fdown_5fhold',['c_DOWN_HOLD',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a44fddb117658c80827fbd05d435e4185',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fdown_5finitial_5fpress',['c_DOWN_INITIAL_PRESS',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a8849139c887c8dacd3523de9f8d34a9f',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fdown_5flong_5freleased',['c_DOWN_LONG_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a491ec86c68fd081c452d5b6d79713adb',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fdown_5fshort_5freleased',['c_DOWN_SHORT_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a5a9d638c7bd9d353b79b5c0014a42b38',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5foff_5fhold',['c_OFF_HOLD',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#aabbcceb8272767c0d920f0613e44ef94',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5foff_5finitial_5fpress',['c_OFF_INITIAL_PRESS',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a70439424ad414ac2e53ab32e6773b4d5',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5foff_5flong_5freleased',['c_OFF_LONG_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a2370f8da7986098d4cdff3f8d8131a2b',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5foff_5fshort_5freleased',['c_OFF_SHORT_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a19be6bc753b299e117a7be3ac124a610',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fon_5fhold',['c_ON_HOLD',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#ab65183a2b0f922d7206fab65b1dbcc89',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fon_5finitial_5fpress',['c_ON_INITIAL_PRESS',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a5e91e0a6996c64c10ef2126a040dcc31',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fon_5flong_5freleased',['c_ON_LONG_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a4e0c9f0de2f975c9fd3c328b7880be2f',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fon_5fshort_5freleased',['c_ON_SHORT_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a6f0b7376e7d63c3cab9d908606edad79',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5frefreshnever',['c_refreshNever',['../namespacehueplusplus.html#add9e010e3277f7763db4006cc9f46b86',1,'hueplusplus']]],
+ ['c_5fup_5fhold',['c_UP_HOLD',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#abf761d738e37c1f31acd1a8677d236d4',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fup_5finitial_5fpress',['c_UP_INITIAL_PRESS',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#ae44c5a4e35ca3293fed52b03f395d951',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fup_5flong_5freleased',['c_UP_LONG_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a933c7c9837e63060e94ce2fb3f8cdb02',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['c_5fup_5fshort_5freleased',['c_UP_SHORT_RELEASED',['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#a78f1772b70d601c88c06e84cc2b8a437',1,'hueplusplus::sensors::ZLLSwitch']]],
+ ['cacert',['cacert',['../structhueplusplus_1_1_t_l_s_context.html#a0db47cc09f651cf2c1bc8f205f13e23b',1,'hueplusplus::TLSContext']]],
+ ['colorhuestrategy',['colorHueStrategy',['../classhueplusplus_1_1_light.html#a58a030711463559c249e26c85e8847eb',1,'hueplusplus::Light']]],
+ ['colortemperaturestrategy',['colorTemperatureStrategy',['../classhueplusplus_1_1_light.html#ac0c64d4bdaa4a26a3da35dae112101d1',1,'hueplusplus::Light']]],
+ ['colortype',['colorType',['../classhueplusplus_1_1_light.html#a7f504e827b158c81e9ca3c57f158ae3b',1,'hueplusplus::Light']]],
+ ['commands',['commands',['../classhueplusplus_1_1_state_transaction.html#a0d95abef6863f89bae7da4e27dcca952',1,'hueplusplus::StateTransaction']]],
+ ['conf',['conf',['../structhueplusplus_1_1_t_l_s_context.html#abd44e1ca89eeafb306cfd494d8ed50b5',1,'hueplusplus::TLSContext']]],
+ ['created',['created',['../structhueplusplus_1_1_whitelisted_user.html#a215b666e60ec721bb5b8238623479edb',1,'hueplusplus::WhitelistedUser']]],
+ ['ctr_5fdrbg',['ctr_drbg',['../structhueplusplus_1_1_t_l_s_context.html#a2a11da610e1caf3d8967d92746ce5fed',1,'hueplusplus::TLSContext']]]
+];
diff --git b/search/variables_3.html a/search/variables_3.html
new file mode 100644
index 0000000..f95e34c
--- /dev/null
+++ a/search/variables_3.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_3.js a/search/variables_3.js
new file mode 100644
index 0000000..1fe04e8
--- /dev/null
+++ a/search/variables_3.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['entertainment_5fmsg',['entertainment_msg',['../classhueplusplus_1_1_entertainment_mode.html#aad4b9d6b60f5e59f11b1fc7f0f51d590',1,'hueplusplus::EntertainmentMode']]],
+ ['entertainment_5fnum_5flights',['entertainment_num_lights',['../classhueplusplus_1_1_entertainment_mode.html#a5d5578dab3ba8ef2ea1df59e7780f43f',1,'hueplusplus::EntertainmentMode']]],
+ ['entropy',['entropy',['../structhueplusplus_1_1_t_l_s_context.html#a73df19b9d266ff35ca24930e941c80fe',1,'hueplusplus::TLSContext']]]
+];
diff --git b/search/variables_4.html a/search/variables_4.html
new file mode 100644
index 0000000..d7db285
--- /dev/null
+++ a/search/variables_4.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_4.js a/search/variables_4.js
new file mode 100644
index 0000000..994fc84
--- /dev/null
+++ a/search/variables_4.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['factory',['factory',['../classhueplusplus_1_1_resource_list.html#ac5777102379d55049380d777e779f56f',1,'hueplusplus::ResourceList']]],
+ ['filename',['filename',['../structhueplusplus_1_1_file_info.html#a0e70a519d2b615963abf5cb2ff4bca4f',1,'hueplusplus::FileInfo']]],
+ ['func',['func',['../structhueplusplus_1_1_file_info.html#a1da7fcb189d66c18492c4678d452b0fd',1,'hueplusplus::FileInfo']]]
+];
diff --git b/search/variables_5.html a/search/variables_5.html
new file mode 100644
index 0000000..7bbceeb
--- /dev/null
+++ a/search/variables_5.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_5.js a/search/variables_5.js
new file mode 100644
index 0000000..1cce91f
--- /dev/null
+++ a/search/variables_5.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['g',['g',['../structhueplusplus_1_1_r_g_b.html#a33f1e36fbdc5531fd94055729d61624d',1,'hueplusplus::RGB']]],
+ ['gamuta',['gamutA',['../namespacehueplusplus_1_1gamut.html#abd61ca546ae6e3d3bd168c1a42fc4f2f',1,'hueplusplus::gamut']]],
+ ['gamutb',['gamutB',['../namespacehueplusplus_1_1gamut.html#a6da695fd06906173a05d15e77c84b821',1,'hueplusplus::gamut']]],
+ ['gamutc',['gamutC',['../namespacehueplusplus_1_1gamut.html#a3f60620a263cb256bd4c89b958d4e342',1,'hueplusplus::gamut']]],
+ ['greencorner',['greenCorner',['../structhueplusplus_1_1_color_gamut.html#a3d93ca1f02b429cb463ceb214a01437e',1,'hueplusplus::ColorGamut']]],
+ ['group',['group',['../classhueplusplus_1_1_entertainment_mode.html#ace2048a118dae0b946f23746617b6179',1,'hueplusplus::EntertainmentMode']]]
+];
diff --git b/search/variables_6.html a/search/variables_6.html
new file mode 100644
index 0000000..4eb162d
--- /dev/null
+++ a/search/variables_6.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_6.js a/search/variables_6.js
new file mode 100644
index 0000000..acd66f0
--- /dev/null
+++ a/search/variables_6.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['hue',['hue',['../structhueplusplus_1_1_hue_saturation.html#ac98220c26f659277ab4377e712867893',1,'hueplusplus::HueSaturation']]],
+ ['hue_5fentertainment_5fheader_5fsize',['HUE_ENTERTAINMENT_HEADER_SIZE',['../namespacehueplusplus.html#ae5fa3d83e2c7c47592d2bcadf3beda43',1,'hueplusplus']]],
+ ['hue_5fentertainment_5flight_5fsize',['HUE_ENTERTAINMENT_LIGHT_SIZE',['../namespacehueplusplus.html#a124e375b39cce28b852b7510fe031cf6',1,'hueplusplus']]]
+];
diff --git b/search/variables_7.html a/search/variables_7.html
new file mode 100644
index 0000000..0408829
--- /dev/null
+++ a/search/variables_7.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_7.js a/search/variables_7.js
new file mode 100644
index 0000000..5ebe94e
--- /dev/null
+++ a/search/variables_7.js
@@ -0,0 +1,7 @@
+var searchData=
+[
+ ['id',['id',['../classhueplusplus_1_1_base_device.html#aa65a31223cfa2a054c28148c35c8b3cf',1,'hueplusplus::BaseDevice::id()'],['../classhueplusplus_1_1_group.html#a31395d0cf493a03eceebf87e634a93ea',1,'hueplusplus::Group::id()']]],
+ ['infiniteexecutions',['infiniteExecutions',['../classhueplusplus_1_1time_1_1_timer.html#a85065c8ab737430c3345d2d9ce4eff2d',1,'hueplusplus::time::Timer']]],
+ ['interval',['interval',['../classhueplusplus_1_1time_1_1_time_pattern.html#a3ad322f97e3df3d0e3d202c884e2f9b8',1,'hueplusplus::time::TimePattern']]],
+ ['ip',['ip',['../structhueplusplus_1_1_bridge_finder_1_1_bridge_identification.html#a52444a7f3d1c1882e49f9fc745b0c853',1,'hueplusplus::BridgeFinder::BridgeIdentification']]]
+];
diff --git b/search/variables_8.html a/search/variables_8.html
new file mode 100644
index 0000000..d54d096
--- /dev/null
+++ a/search/variables_8.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_8.js a/search/variables_8.js
new file mode 100644
index 0000000..610027f
--- /dev/null
+++ a/search/variables_8.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['key',['key',['../structhueplusplus_1_1_whitelisted_user.html#a3d668d495747fb2bbb0f7890ac93644b',1,'hueplusplus::WhitelistedUser']]]
+];
diff --git b/search/variables_9.html a/search/variables_9.html
new file mode 100644
index 0000000..234dc60
--- /dev/null
+++ a/search/variables_9.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_9.js a/search/variables_9.js
new file mode 100644
index 0000000..294daeb
--- /dev/null
+++ a/search/variables_9.js
@@ -0,0 +1,5 @@
+var searchData=
+[
+ ['lastused',['lastUsed',['../structhueplusplus_1_1_whitelisted_user.html#a1c2ac0a6b6c6a510172176b5e0d78ca0',1,'hueplusplus::WhitelistedUser']]],
+ ['line',['line',['../structhueplusplus_1_1_file_info.html#a0f10116b94c4038f6f0bb8c693c9026e',1,'hueplusplus::FileInfo']]]
+];
diff --git b/search/variables_a.html a/search/variables_a.html
new file mode 100644
index 0000000..0892488
--- /dev/null
+++ a/search/variables_a.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_a.js a/search/variables_a.js
new file mode 100644
index 0000000..5cf455f
--- /dev/null
+++ a/search/variables_a.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['mac',['mac',['../structhueplusplus_1_1_bridge_finder_1_1_bridge_identification.html#a5ed94c4ff4ef2883941517fd2f3de7eb',1,'hueplusplus::BridgeFinder::BridgeIdentification']]],
+ ['macaddress',['macAddress',['../_bridge_setup_8cpp.html#abc2f0412950e5418ab984b2d60d1b984',1,'macAddress(): BridgeSetup.cpp'],['../_lights_off_8cpp.html#abc2f0412950e5418ab984b2d60d1b984',1,'macAddress(): LightsOff.cpp']]],
+ ['major',['major',['../structhueplusplus_1_1_version.html#a86e6ded781d236b64b2763aae6119476',1,'hueplusplus::Version']]],
+ ['maxgamut',['maxGamut',['../namespacehueplusplus_1_1gamut.html#a67fc106cc7ec76c28ccb357404594693',1,'hueplusplus::gamut']]],
+ ['minor',['minor',['../structhueplusplus_1_1_version.html#a53ab47eaccb2eeeb32a227a29f841472',1,'hueplusplus::Version']]]
+];
diff --git b/search/variables_b.html a/search/variables_b.html
new file mode 100644
index 0000000..ea46965
--- /dev/null
+++ a/search/variables_b.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_b.js a/search/variables_b.js
new file mode 100644
index 0000000..e1a2ace
--- /dev/null
+++ a/search/variables_b.js
@@ -0,0 +1,4 @@
+var searchData=
+[
+ ['name',['name',['../structhueplusplus_1_1_whitelisted_user.html#a4ee19d0e64bbe68656cf5d9110f9669e',1,'hueplusplus::WhitelistedUser']]]
+];
diff --git b/search/variables_c.html a/search/variables_c.html
new file mode 100644
index 0000000..94bf1a6
--- /dev/null
+++ a/search/variables_c.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_c.js a/search/variables_c.js
new file mode 100644
index 0000000..2478d6a
--- /dev/null
+++ a/search/variables_c.js
@@ -0,0 +1,8 @@
+var searchData=
+[
+ ['patch',['patch',['../structhueplusplus_1_1_version.html#a309a02fdc79b1249314dbd9b5388f220',1,'hueplusplus::Version']]],
+ ['path',['path',['../classhueplusplus_1_1_resource_list.html#ac3490f9e6b165f3a71c13337887a1a88',1,'hueplusplus::ResourceList::path()'],['../classhueplusplus_1_1_state_transaction.html#a3394c75741fe5eb1a2c756747203f34f',1,'hueplusplus::StateTransaction::path()']]],
+ ['port',['port',['../structhueplusplus_1_1_bridge_finder_1_1_bridge_identification.html#aa23f74fb38e93b3a8fa863caf1842206',1,'hueplusplus::BridgeFinder::BridgeIdentification']]],
+ ['postalertdelay',['postAlertDelay',['../classhueplusplus_1_1_config.html#ad6afd0852f97f874f6ef020405a843de',1,'hueplusplus::Config']]],
+ ['prealertdelay',['preAlertDelay',['../classhueplusplus_1_1_config.html#ae274ac04261c8cbc7b16ccc3e3c2fd2b',1,'hueplusplus::Config']]]
+];
diff --git b/search/variables_d.html a/search/variables_d.html
new file mode 100644
index 0000000..b9381e9
--- /dev/null
+++ a/search/variables_d.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_d.js a/search/variables_d.js
new file mode 100644
index 0000000..db53b72
--- /dev/null
+++ a/search/variables_d.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['r',['r',['../structhueplusplus_1_1_r_g_b.html#afc66e05c1083719bd965df87ad2a2eea',1,'hueplusplus::RGB']]],
+ ['recurring',['recurring',['../classhueplusplus_1_1time_1_1_time_pattern.html#a70b77c5dfa70dbf3401a171300b0e213',1,'hueplusplus::time::TimePattern']]],
+ ['redcorner',['redCorner',['../structhueplusplus_1_1_color_gamut.html#acf9e80c64c782650c04e34a6b1c6b4e4',1,'hueplusplus::ColorGamut']]],
+ ['request',['request',['../classhueplusplus_1_1_create_sensor.html#a87769c93bab254272db88ac7ba6aff60',1,'hueplusplus::CreateSensor::request()'],['../classhueplusplus_1_1_state_transaction.html#a10e06d206a1193592c1a6c046aee08f8',1,'hueplusplus::StateTransaction::request()']]],
+ ['requestusernameattemptinterval',['requestUsernameAttemptInterval',['../classhueplusplus_1_1_config.html#ac10813062aafaafc3210b39431a2c8c7',1,'hueplusplus::Config']]],
+ ['requestusernamedelay',['requestUsernameDelay',['../classhueplusplus_1_1_config.html#a0334a14e5ce165a38e5aded325624912',1,'hueplusplus::Config']]]
+];
diff --git b/search/variables_e.html a/search/variables_e.html
new file mode 100644
index 0000000..375ad70
--- /dev/null
+++ a/search/variables_e.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_e.js a/search/variables_e.js
new file mode 100644
index 0000000..4ddd0a1
--- /dev/null
+++ a/search/variables_e.js
@@ -0,0 +1,9 @@
+var searchData=
+[
+ ['saturation',['saturation',['../structhueplusplus_1_1_hue_saturation.html#a296e1ceda5a9168bf3ab90b5647d0501',1,'hueplusplus::HueSaturation']]],
+ ['server_5ffd',['server_fd',['../structhueplusplus_1_1_t_l_s_context.html#ad28183b835d3cb80e012cb9a67d976dc',1,'hueplusplus::TLSContext']]],
+ ['sharedstate',['sharedState',['../classhueplusplus_1_1_resource_list.html#abc08e43ff0bd00145331db6a39fd1708',1,'hueplusplus::ResourceList']]],
+ ['ssl',['ssl',['../structhueplusplus_1_1_t_l_s_context.html#a1d6795347b4d9db4f5ca251717c6f09b',1,'hueplusplus::TLSContext']]],
+ ['state',['state',['../classhueplusplus_1_1_base_device.html#a526b63fa6eb1c9dc9a7b1926ad0be27a',1,'hueplusplus::BaseDevice::state()'],['../classhueplusplus_1_1_group.html#a2043d08dd6a4d94efd6497e5d3ebe202',1,'hueplusplus::Group::state()'],['../classhueplusplus_1_1_state_transaction.html#a05bc90f9aee8ce0c536f572310384ef0',1,'hueplusplus::StateTransaction::state()']]],
+ ['statecache',['stateCache',['../classhueplusplus_1_1_resource_list.html#abc77b3be3e5e8da4c7b6cfe86637f048',1,'hueplusplus::ResourceList']]]
+];
diff --git b/search/variables_f.html a/search/variables_f.html
new file mode 100644
index 0000000..d371418
--- /dev/null
+++ a/search/variables_f.html
@@ -0,0 +1,26 @@
+
+
+
+
+
+
+
+
+
+
+
Loading...
+
+
+
Searching...
+
No Matches
+
+
+
+
diff --git b/search/variables_f.js a/search/variables_f.js
new file mode 100644
index 0000000..78d5060
--- /dev/null
+++ a/search/variables_f.js
@@ -0,0 +1,6 @@
+var searchData=
+[
+ ['timer',['timer',['../classhueplusplus_1_1time_1_1_time_pattern.html#a8022c582bd776300ca6ccdc9f1353080',1,'hueplusplus::time::TimePattern::timer()'],['../structhueplusplus_1_1_t_l_s_context.html#a510c4a2a72a8fc5a17ffef5993f1562b',1,'hueplusplus::TLSContext::timer()']]],
+ ['tls_5fcontext',['tls_context',['../classhueplusplus_1_1_entertainment_mode.html#ab8b56da7696f258193c42238dade1a18',1,'hueplusplus::EntertainmentMode']]],
+ ['typestr',['typeStr',['../classhueplusplus_1_1sensors_1_1_c_l_i_p_switch.html#a183c261556c24b17ffd83cfc51306ee1',1,'hueplusplus::sensors::CLIPSwitch::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_open_close.html#a434d2f557ededa036c8ffdcc5353a13f',1,'hueplusplus::sensors::CLIPOpenClose::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_presence.html#aa9282323aaeeae75546bf1672670453e',1,'hueplusplus::sensors::CLIPPresence::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_temperature.html#a7b8e1884c63d3cd3ac9a966024be3474',1,'hueplusplus::sensors::CLIPTemperature::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_humidity.html#af54b5892729cf6fc3e96577b2f35a705',1,'hueplusplus::sensors::CLIPHumidity::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_light_level.html#ad80c2976f6bafe8d8e737b7fac0f3914',1,'hueplusplus::sensors::CLIPLightLevel::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_flag.html#ad1b5b51b9c75bc796ec4675d52c9c0fd',1,'hueplusplus::sensors::CLIPGenericFlag::typeStr()'],['../classhueplusplus_1_1sensors_1_1_c_l_i_p_generic_status.html#a91ca3a0bd8d48a8be941bd1d0b991deb',1,'hueplusplus::sensors::CLIPGenericStatus::typeStr()'],['../classhueplusplus_1_1sensors_1_1_daylight_sensor.html#a4bc8c167e6438842b20be9fbc230316e',1,'hueplusplus::sensors::DaylightSensor::typeStr()'],['../classhueplusplus_1_1sensors_1_1_z_g_p_switch.html#aa991714df25bad7e99cc387c500ddf77',1,'hueplusplus::sensors::ZGPSwitch::typeStr()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_switch.html#ab3bdfb9b3704d3102638af059e560455',1,'hueplusplus::sensors::ZLLSwitch::typeStr()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_presence.html#a6caf6add0de65f733abc97258e5a371e',1,'hueplusplus::sensors::ZLLPresence::typeStr()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_temperature.html#ad90946ce2465ee36f59f3b3239759ebf',1,'hueplusplus::sensors::ZLLTemperature::typeStr()'],['../classhueplusplus_1_1sensors_1_1_z_l_l_light_level.html#ae640b2f9c91146a6a11f7387500587d0',1,'hueplusplus::sensors::ZLLLightLevel::typeStr()']]]
+];
diff --git b/sensors.html a/sensors.html
new file mode 100644
index 0000000..14ac5a0
--- /dev/null
+++ a/sensors.html
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+hueplusplus: Sensors
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
The library supports the sensor types listed on the Hue developer documentation. Include hueplusplus/ZLLSensors.h for ZigBee sensors and hueplusplus/CLIPSensors.h for CLIP sensors. Other sensors can be used with the generic Sensor class.
+
In most cases, the type of the sensors is known in advance, such as a switch. The classes in the sensors namespace provide the documented functionality. The type can be specified when accessing the sensor. When it does not match, an exception is thrown.
You can also get all sensors of a specified type by using getAllByType<T>() .
std::vector<hueplusplus::sensors::ZLLSwitch> allSwitches
When the sensor type is not known, use the generic sensor class. In this case, some attributes might not exist, so they have to be checked first. This applies to all attributes that have a hasXXX method.
if (genericSensor.
hasOn ())
{
if (genericSensor.
isOn ())
{
}
}
It is easiest to compare the sensor type to the existing ones (typeStr on the specific sensor classes) and then convert the sensor to that type.
ZLL sensors (defined in ZLLSensors.h ) are physical device sensors which send their data to the bridge using ZigBee. They are added in the same way as lights are, using search() .
+
CLIP sensors (in CLIPSensors.h ) are added using create() with CreateSensor for parameters. In general, which config and state attributes exist is specified when the sensor is created. The values of CLIP sensors can be changed using requests, unlike ZLL sensors. They can also have a URL to query from.
+
The most important use for sensors is in Rules , to trigger changes. Conditions can be created from the specific sensor types using makeCondition() .
+
These functions return a helper class with methods for the possible operators valid for the state.
+
For some sensors, which have multiple possible states, there exist multiple variations of makeCondition.
For generic sensors, the conditions must be created manually using the Condition constructor with a proper address to the sensor state.
+
+
+
+
+
diff --git b/shared-state.html a/shared-state.html
new file mode 100644
index 0000000..cc65678
--- /dev/null
+++ a/shared-state.html
@@ -0,0 +1,102 @@
+
+
+
+
+
+
+
+hueplusplus: Shared state cache
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
There are two ways in which the API state (internally JSON) can be handled:
+Every resource instance holds its own cache of the state (default).
+All instances share the cache of the entire bridge.
+
+
+Different resources are always consistent on the library level. If one part of the code uses the light with id 1 and turns it off, light 1 is also off when using a different variable to access it.
+The number of requests can be reduced, because they can be bundled together on a higher cache level.
+
+
+Different objects are no longer thread safe, you cannot use any parts of the library from multiple threads (without locking).
+Changes are not transparent. For example, a const Light can suddenly change its name, because the name was changed somewhere else in the code.
+
+
Because of these considerations, shared state is disabled by default.
+
Shared state can be configured when the bridge is first constructed, either in getBridge() or in the constructor . Set sharedState to true to keep all resources connected to the bridge cache.
hueplusplus::Bridge bridge(
"192.168.2.102" , 80,
"<username>" , handler,
"" , std::chrono::seconds(10),
true );
When shared cache is used, refreshes use a hierarchichal structure to determine how much should be requested from the bridge. Every level has its own last update time and refresh duration. First, it is checked whether the higher level is up to date and refresh everything if not. Otherwise, only the lowest necessary level is requested from the bridge to be more efficient.
+
isOn() is a non-const method (in this case). That means it will refresh the state if it is outdated. The default refresh time is inherited from bridge.lights(), so it is 30 seconds. After 30 seconds, the state of light and bridge.lights() is outdated. Therefore, the entire list of lights is updated at this point.
+
After more than one minute, the bridge state is considered outdated. This means that isOn() causes an update of the entire bridge.
+
+
+
+
+
diff --git b/splitbar.png a/splitbar.png
new file mode 100644
index 0000000..fe895f2
--- /dev/null
+++ a/splitbar.png
diff --git b/structhueplusplus_1_1_bridge_finder_1_1_bridge_identification-members.html a/structhueplusplus_1_1_bridge_finder_1_1_bridge_identification-members.html
new file mode 100644
index 0000000..15f7772
--- /dev/null
+++ a/structhueplusplus_1_1_bridge_finder_1_1_bridge_identification-members.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::BridgeFinder::BridgeIdentification , including all inherited members.
+
+
+
+
+
diff --git b/structhueplusplus_1_1_bridge_finder_1_1_bridge_identification.html a/structhueplusplus_1_1_bridge_finder_1_1_bridge_identification.html
new file mode 100644
index 0000000..fe6941f
--- /dev/null
+++ a/structhueplusplus_1_1_bridge_finder_1_1_bridge_identification.html
@@ -0,0 +1,139 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::BridgeFinder::BridgeIdentification Struct Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
#include <hueplusplus/Bridge.h >
+
+
+std::string ip
+
+int port = 80
+
+std::string mac
+
+
+
+
+
◆ ip
+
+
+
+
+
+ std::string hueplusplus::BridgeFinder::BridgeIdentification::ip
+
+
+
+
+
+
+
+
◆ mac
+
+
+
+
+
+ std::string hueplusplus::BridgeFinder::BridgeIdentification::mac
+
+
+
+
+
+
+
+
◆ port
+
+
+
+
+
+ int hueplusplus::BridgeFinder::BridgeIdentification::port = 80
+
+
+
+
+
+
+
The documentation for this struct was generated from the following file:
+
+
+
+
+
diff --git b/structhueplusplus_1_1_color_gamut-members.html a/structhueplusplus_1_1_color_gamut-members.html
new file mode 100644
index 0000000..88368fc
--- /dev/null
+++ a/structhueplusplus_1_1_color_gamut-members.html
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::ColorGamut , including all inherited members.
+
+
+
+
+
diff --git b/structhueplusplus_1_1_color_gamut.html a/structhueplusplus_1_1_color_gamut.html
new file mode 100644
index 0000000..7cf09e0
--- /dev/null
+++ a/structhueplusplus_1_1_color_gamut.html
@@ -0,0 +1,218 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::ColorGamut Struct Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Triangle of representable colors in CIE.
+ More...
+
+
#include <hueplusplus/ColorUnits.h >
+
+
+
+
+
+
+
Triangle of representable colors in CIE.
+
Note Red, green and blue corner are oriented counter clockwise.
+
See also https://en.wikipedia.org/wiki/Chromaticity
+
+
+
◆ contains()
+
+
+
+
+
+ bool hueplusplus::ColorGamut::contains
+ (
+ const XY &
+ xy )
+ const
+
+
+
+
+
Check whether xy is representable.
+
+
+
+
+
◆ corrected()
+
+
+
+
+
+ XY hueplusplus::ColorGamut::corrected
+ (
+ const XY &
+ xy )
+ const
+
+
+
+
+
Correct xy to closest representable color.
+
Returns xy if it is in the triangle, otherwise the closest point on the border.
+
+
+
+
+
+
◆ blueCorner
+
+
+
+
+
+ XY hueplusplus::ColorGamut::blueCorner
+
+
+
+
+
Blue corner in the color triangle.
+
+
+
+
+
◆ greenCorner
+
+
+
+
+
+ XY hueplusplus::ColorGamut::greenCorner
+
+
+
+
+
Green corner in the color triangle.
+
+
+
+
+
◆ redCorner
+
+
+
+
+
+ XY hueplusplus::ColorGamut::redCorner
+
+
+
+
+
Red corner in the color triangle.
+
+
+
+
The documentation for this struct was generated from the following files:
+
+
+
+
+
diff --git b/structhueplusplus_1_1_color_gamut__coll__graph.map a/structhueplusplus_1_1_color_gamut__coll__graph.map
new file mode 100644
index 0000000..e68fdb0
--- /dev/null
+++ a/structhueplusplus_1_1_color_gamut__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/structhueplusplus_1_1_color_gamut__coll__graph.md5 a/structhueplusplus_1_1_color_gamut__coll__graph.md5
new file mode 100644
index 0000000..55b8106
--- /dev/null
+++ a/structhueplusplus_1_1_color_gamut__coll__graph.md5
@@ -0,0 +1 @@
+0136c732256e4dbe67260cfa97837e00
\ No newline at end of file
diff --git b/structhueplusplus_1_1_color_gamut__coll__graph.png a/structhueplusplus_1_1_color_gamut__coll__graph.png
new file mode 100644
index 0000000..d5fe327
--- /dev/null
+++ a/structhueplusplus_1_1_color_gamut__coll__graph.png
diff --git b/structhueplusplus_1_1_file_info-members.html a/structhueplusplus_1_1_file_info-members.html
new file mode 100644
index 0000000..994c945
--- /dev/null
+++ a/structhueplusplus_1_1_file_info-members.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::FileInfo , including all inherited members.
+
+
+
+
+
diff --git b/structhueplusplus_1_1_file_info.html a/structhueplusplus_1_1_file_info.html
new file mode 100644
index 0000000..0068009
--- /dev/null
+++ a/structhueplusplus_1_1_file_info.html
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::FileInfo Struct Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Contains information about error location, use CURRENT_FILE_INFO to create.
+ More...
+
+
#include <hueplusplus/HueException.h >
+
+
+std::string ToString () const
+ String representation of func, file and line. More...
+
+
+
+std::string filename
+ Current file name from FILE . Empty if unknown. More...
+
+int line = -1
+ Current line number from LINE . -1 if unknown. More...
+
+std::string func
+ Current function from func . Empty if unknown. More...
+
+
+
+
Contains information about error location, use CURRENT_FILE_INFO to create.
+
+
+
◆ ToString()
+
+
+
+
+
+ std::string hueplusplus::FileInfo::ToString
+ (
+ )
+ const
+
+
+
+
+
String representation of func, file and line.
+
Returns "<func> in <filename>:<line>" or "Unknown file" if unknown.
+
+
+
+
+
+
◆ filename
+
+
+
+
+
+ std::string hueplusplus::FileInfo::filename
+
+
+
+
+
Current file name from FILE . Empty if unknown.
+
+
+
+
+
◆ func
+
+
+
+
+
+ std::string hueplusplus::FileInfo::func
+
+
+
+
+
Current function from func . Empty if unknown.
+
+
+
+
+
◆ line
+
+
+
+
+
+ int hueplusplus::FileInfo::line = -1
+
+
+
+
+
Current line number from LINE . -1 if unknown.
+
+
+
+
The documentation for this struct was generated from the following files:
+
+
+
+
+
diff --git b/structhueplusplus_1_1_hue_saturation-members.html a/structhueplusplus_1_1_hue_saturation-members.html
new file mode 100644
index 0000000..5680c11
--- /dev/null
+++ a/structhueplusplus_1_1_hue_saturation-members.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::HueSaturation , including all inherited members.
+
+
+
+
+
diff --git b/structhueplusplus_1_1_hue_saturation.html a/structhueplusplus_1_1_hue_saturation.html
new file mode 100644
index 0000000..10312ea
--- /dev/null
+++ a/structhueplusplus_1_1_hue_saturation.html
@@ -0,0 +1,197 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::HueSaturation Struct Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Color in hue and saturation.
+ More...
+
+
#include <hueplusplus/ColorUnits.h >
+
+
+
Color in hue and saturation.
+
+
+
◆ operator!=()
+
+
+
+
+
+
+
+
+ bool hueplusplus::HueSaturation::operator!=
+ (
+ const HueSaturation &
+ other )
+ const
+
+
+
+
+inline
+
+
+
+
+
+
+
+
◆ operator==()
+
+
+
+
+
+
+
+
+ bool hueplusplus::HueSaturation::operator==
+ (
+ const HueSaturation &
+ other )
+ const
+
+
+
+
+inline
+
+
+
+
+
+
+
+
+
◆ hue
+
+
+
+
+
+ int hueplusplus::HueSaturation::hue
+
+
+
+
+
Color hue.
+
Ranges from 0 to 65535 (16 bit), where 65535 and 0 are red, 25500 is green and 46920 is blue.
+
+
+
+
+
◆ saturation
+
+
+
+
+
+ int hueplusplus::HueSaturation::saturation
+
+
+
+
+
Color saturation.
+
Ranges from 0 to 254 (8 bit), where 0 is least saturated (white) and 254 is most saturated (vibrant).
+
+
+
+
The documentation for this struct was generated from the following file:
+
+
+
+
+
diff --git b/structhueplusplus_1_1_r_g_b-members.html a/structhueplusplus_1_1_r_g_b-members.html
new file mode 100644
index 0000000..f7dd4c9
--- /dev/null
+++ a/structhueplusplus_1_1_r_g_b-members.html
@@ -0,0 +1,91 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::RGB , including all inherited members.
+
+
+
+
+
diff --git b/structhueplusplus_1_1_r_g_b.html a/structhueplusplus_1_1_r_g_b.html
new file mode 100644
index 0000000..577e3d5
--- /dev/null
+++ a/structhueplusplus_1_1_r_g_b.html
@@ -0,0 +1,363 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::RGB Struct Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Color in RGB .
+ More...
+
+
#include <hueplusplus/ColorUnits.h >
+
+
+uint8_t r
+ Red amount from 0 to 255. More...
+
+uint8_t g
+ Green amount from 0 to 255. More...
+
+uint8_t b
+ Blue amount from 0 to 255. More...
+
+
+
+
+
+
◆ fromXY() [1/2]
+
+
+
+
+
Create from XYBrightness .
+
Performs gamma correction so the light color matches the screen color better.
Note The conversion formula is not exact, it can be off by up to 9 for each channel. This is because the color luminosity is not saved.
+
+
+
+
+
◆ fromXY() [2/2]
+
+
+
+
+
Create from XYBrightness and clip to gamut.
+
A light may have XY set out of its range. Then this function returns the actual color the light shows rather than what it is set to. Performs gamma correction so the light color matches the screen color better.
Note The conversion formula is not exact, it can be off by up to 9 for each channel. This is because the color luminosity is not saved.
+
+
+
+
+
◆ operator!=()
+
+
+
+
+
+
+
+
+ bool hueplusplus::RGB::operator!=
+ (
+ const RGB &
+ other )
+ const
+
+
+
+
+inline
+
+
+
+
+
+
+
+
◆ operator==()
+
+
+
+
+
+
+
+
+ bool hueplusplus::RGB::operator==
+ (
+ const RGB &
+ other )
+ const
+
+
+
+
+inline
+
+
+
+
+
+
+
+
◆ toHueSaturation()
+
+
+
+
+
+ HueSaturation hueplusplus::RGB::toHueSaturation
+ (
+ )
+ const
+
+
+
+
+
Convert to HueSaturation .
+
To get the correct color, set brightness to max(r,g,b).
+
+
+
+
+
◆ toXY() [1/2]
+
+
+
+
+
Convert to XYBrightness without clamping.
+
Performs gamma correction so the light color matches the screen color better.
+
+
+
+
+
◆ toXY() [2/2]
+
+
+
+
+
Convert to XYBrightness and clip to gamut.
+
Performs gamma correction so the light color matches the screen color better.
+
+
+
+
+
+
+
+
+
+
+
+ uint8_t hueplusplus::RGB::b
+
+
+
+
+
Blue amount from 0 to 255.
+
+
+
+
+
+
+
+
+
+
+ uint8_t hueplusplus::RGB::g
+
+
+
+
+
Green amount from 0 to 255.
+
+
+
+
+
+
+
+
+
+
+ uint8_t hueplusplus::RGB::r
+
+
+
+
+
Red amount from 0 to 255.
+
+
+
+
The documentation for this struct was generated from the following files:
+
+
+
+
+
diff --git b/structhueplusplus_1_1_t_l_s_context-members.html a/structhueplusplus_1_1_t_l_s_context-members.html
new file mode 100644
index 0000000..c1df0c8
--- /dev/null
+++ a/structhueplusplus_1_1_t_l_s_context-members.html
@@ -0,0 +1,88 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::TLSContext , including all inherited members.
+
+
+
+
+
diff --git b/structhueplusplus_1_1_t_l_s_context.html a/structhueplusplus_1_1_t_l_s_context.html
new file mode 100644
index 0000000..c4441af
--- /dev/null
+++ a/structhueplusplus_1_1_t_l_s_context.html
@@ -0,0 +1,201 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::TLSContext Struct Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+mbedtls_ssl_context ssl
+
+mbedtls_net_context server_fd
+
+mbedtls_entropy_context entropy
+
+mbedtls_ctr_drbg_context ctr_drbg
+
+mbedtls_ssl_config conf
+
+mbedtls_x509_crt cacert
+
+mbedtls_timing_delay_context timer
+
+
+
+
+
◆ cacert
+
+
+
+
+
+ mbedtls_x509_crt hueplusplus::TLSContext::cacert
+
+
+
+
+
+
+
+
◆ conf
+
+
+
+
+
+ mbedtls_ssl_config hueplusplus::TLSContext::conf
+
+
+
+
+
+
+
+
◆ ctr_drbg
+
+
+
+
+
+ mbedtls_ctr_drbg_context hueplusplus::TLSContext::ctr_drbg
+
+
+
+
+
+
+
+
◆ entropy
+
+
+
+
+
+ mbedtls_entropy_context hueplusplus::TLSContext::entropy
+
+
+
+
+
+
+
+
◆ server_fd
+
+
+
+
+
+ mbedtls_net_context hueplusplus::TLSContext::server_fd
+
+
+
+
+
+
+
+
◆ ssl
+
+
+
+
+
+ mbedtls_ssl_context hueplusplus::TLSContext::ssl
+
+
+
+
+
+
+
+
◆ timer
+
+
+
+
+
+ mbedtls_timing_delay_context hueplusplus::TLSContext::timer
+
+
+
+
+
+
+
The documentation for this struct was generated from the following file:
+
+
+
+
+
diff --git b/structhueplusplus_1_1_version-members.html a/structhueplusplus_1_1_version-members.html
new file mode 100644
index 0000000..d6b6e89
--- /dev/null
+++ a/structhueplusplus_1_1_version-members.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::Version , including all inherited members.
+
+
+
+
+
diff --git b/structhueplusplus_1_1_version.html a/structhueplusplus_1_1_version.html
new file mode 100644
index 0000000..ae7c9f8
--- /dev/null
+++ a/structhueplusplus_1_1_version.html
@@ -0,0 +1,144 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::Version Struct Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
API version consisting of major, minor and patch version.
+ More...
+
+
#include <hueplusplus/BridgeConfig.h >
+
+
+
API version consisting of major, minor and patch version.
+
+
+
◆ major
+
+
+
+
+
+ int hueplusplus::Version::major
+
+
+
+
+
+
+
+
◆ minor
+
+
+
+
+
+ int hueplusplus::Version::minor
+
+
+
+
+
+
+
+
◆ patch
+
+
+
+
+
+ int hueplusplus::Version::patch
+
+
+
+
+
+
+
The documentation for this struct was generated from the following file:
+
+
+
+
+
diff --git b/structhueplusplus_1_1_whitelisted_user-members.html a/structhueplusplus_1_1_whitelisted_user-members.html
new file mode 100644
index 0000000..1e0e0fd
--- /dev/null
+++ a/structhueplusplus_1_1_whitelisted_user-members.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::WhitelistedUser , including all inherited members.
+
+
+
+
+
diff --git b/structhueplusplus_1_1_whitelisted_user.html a/structhueplusplus_1_1_whitelisted_user.html
new file mode 100644
index 0000000..0b92e96
--- /dev/null
+++ a/structhueplusplus_1_1_whitelisted_user.html
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::WhitelistedUser Struct Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
User that is whitelisted for Hue API usage.
+ More...
+
+
#include <hueplusplus/BridgeConfig.h >
+
+
+
+
+
+
+
User that is whitelisted for Hue API usage.
+
+
+
◆ created
+
+
+
+
+
Time the user was created.
+
+
+
+
+
◆ key
+
+
+
+
+
+ std::string hueplusplus::WhitelistedUser::key
+
+
+
+
+
API username of the user.
+
+
+
+
+
◆ lastUsed
+
+
+
+
+
Last time the user was used.
+
+
+
+
+
◆ name
+
+
+
+
+
+ std::string hueplusplus::WhitelistedUser::name
+
+
+
+
+
Name provided on user creation.
+
+
+
+
The documentation for this struct was generated from the following file:
+
+
+
+
+
diff --git b/structhueplusplus_1_1_whitelisted_user__coll__graph.map a/structhueplusplus_1_1_whitelisted_user__coll__graph.map
new file mode 100644
index 0000000..0919844
--- /dev/null
+++ a/structhueplusplus_1_1_whitelisted_user__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/structhueplusplus_1_1_whitelisted_user__coll__graph.md5 a/structhueplusplus_1_1_whitelisted_user__coll__graph.md5
new file mode 100644
index 0000000..db58b24
--- /dev/null
+++ a/structhueplusplus_1_1_whitelisted_user__coll__graph.md5
@@ -0,0 +1 @@
+645113ee3099cedf52ac9c15d9b14002
\ No newline at end of file
diff --git b/structhueplusplus_1_1_whitelisted_user__coll__graph.png a/structhueplusplus_1_1_whitelisted_user__coll__graph.png
new file mode 100644
index 0000000..153ea24
--- /dev/null
+++ a/structhueplusplus_1_1_whitelisted_user__coll__graph.png
diff --git b/structhueplusplus_1_1_x_y-members.html a/structhueplusplus_1_1_x_y-members.html
new file mode 100644
index 0000000..518db71
--- /dev/null
+++ a/structhueplusplus_1_1_x_y-members.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::XY , including all inherited members.
+
+
+
+
+
diff --git b/structhueplusplus_1_1_x_y.html a/structhueplusplus_1_1_x_y.html
new file mode 100644
index 0000000..15e4819
--- /dev/null
+++ a/structhueplusplus_1_1_x_y.html
@@ -0,0 +1,195 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::XY Struct Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Color in CIE x and y coordinates.
+ More...
+
+
#include <hueplusplus/ColorUnits.h >
+
+
+float x
+ x coordinate in CIE, 0 to 1 More...
+
+float y
+ y coordinate in CIE, 0 to 1 More...
+
+
+
+
Color in CIE x and y coordinates.
+
+
+
◆ operator!=()
+
+
+
+
+
+
+
+
+ bool hueplusplus::XY::operator!=
+ (
+ const XY &
+ other )
+ const
+
+
+
+
+inline
+
+
+
+
+
+
+
+
◆ operator==()
+
+
+
+
+
+
+
+
+ bool hueplusplus::XY::operator==
+ (
+ const XY &
+ other )
+ const
+
+
+
+
+inline
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ float hueplusplus::XY::x
+
+
+
+
+
x coordinate in CIE, 0 to 1
+
+
+
+
+
+
+
+
+
+
+ float hueplusplus::XY::y
+
+
+
+
+
y coordinate in CIE, 0 to 1
+
+
+
+
The documentation for this struct was generated from the following file:
+
+
+
+
+
diff --git b/structhueplusplus_1_1_x_y_brightness-members.html a/structhueplusplus_1_1_x_y_brightness-members.html
new file mode 100644
index 0000000..6d3352d
--- /dev/null
+++ a/structhueplusplus_1_1_x_y_brightness-members.html
@@ -0,0 +1,85 @@
+
+
+
+
+
+
+
+hueplusplus: Member List
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
This is the complete list of members for hueplusplus::XYBrightness , including all inherited members.
+
+
+
+
+
diff --git b/structhueplusplus_1_1_x_y_brightness.html a/structhueplusplus_1_1_x_y_brightness.html
new file mode 100644
index 0000000..aa6a2d9
--- /dev/null
+++ a/structhueplusplus_1_1_x_y_brightness.html
@@ -0,0 +1,206 @@
+
+
+
+
+
+
+
+hueplusplus: hueplusplus::XYBrightness Struct Reference
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Color and brightness in CIE.
+ More...
+
+
#include <hueplusplus/ColorUnits.h >
+
+
+
+
+
+
+
Color and brightness in CIE.
+
The brightness is needed to convert back to RGB colors if necessary.
Note brightness is not the actual luminance of the color, but instead the brightness the light is set to.
+
+
+
◆ operator!=()
+
+
+
+
+
+
+
+
+ bool hueplusplus::XYBrightness::operator!=
+ (
+ const XYBrightness &
+ other )
+ const
+
+
+
+
+inline
+
+
+
+
+
+
+
+
◆ operator==()
+
+
+
+
+
+
+
+
+ bool hueplusplus::XYBrightness::operator==
+ (
+ const XYBrightness &
+ other )
+ const
+
+
+
+
+inline
+
+
+
+
+
+
+
+
+
◆ brightness
+
+
+
+
+
+ float hueplusplus::XYBrightness::brightness
+
+
+
+
+
Brightness from 0 to 1.
+
+
+
+
+
◆ xy
+
+
+
+
+
+ XY hueplusplus::XYBrightness::xy
+
+
+
+
+
The documentation for this struct was generated from the following file:
+
+
+
+
+
diff --git b/structhueplusplus_1_1_x_y_brightness__coll__graph.map a/structhueplusplus_1_1_x_y_brightness__coll__graph.map
new file mode 100644
index 0000000..c1b83be
--- /dev/null
+++ a/structhueplusplus_1_1_x_y_brightness__coll__graph.map
@@ -0,0 +1,3 @@
+
+
+
diff --git b/structhueplusplus_1_1_x_y_brightness__coll__graph.md5 a/structhueplusplus_1_1_x_y_brightness__coll__graph.md5
new file mode 100644
index 0000000..eba5088
--- /dev/null
+++ a/structhueplusplus_1_1_x_y_brightness__coll__graph.md5
@@ -0,0 +1 @@
+64040604d32557ce83ea7926b5893efd
\ No newline at end of file
diff --git b/structhueplusplus_1_1_x_y_brightness__coll__graph.png a/structhueplusplus_1_1_x_y_brightness__coll__graph.png
new file mode 100644
index 0000000..8a0c6d7
--- /dev/null
+++ a/structhueplusplus_1_1_x_y_brightness__coll__graph.png
diff --git b/sync_off.png a/sync_off.png
new file mode 100644
index 0000000..3b443fc
--- /dev/null
+++ a/sync_off.png
diff --git b/sync_on.png a/sync_on.png
new file mode 100644
index 0000000..e08320f
--- /dev/null
+++ a/sync_on.png
diff --git b/tab_a.png a/tab_a.png
new file mode 100644
index 0000000..3b725c4
--- /dev/null
+++ a/tab_a.png
diff --git b/tab_b.png a/tab_b.png
new file mode 100644
index 0000000..e2b4a86
--- /dev/null
+++ a/tab_b.png
diff --git b/tab_h.png a/tab_h.png
new file mode 100644
index 0000000..fd5cb70
--- /dev/null
+++ a/tab_h.png
diff --git b/tab_s.png a/tab_s.png
new file mode 100644
index 0000000..ab478c9
--- /dev/null
+++ a/tab_s.png
diff --git b/tabs.css a/tabs.css
new file mode 100644
index 0000000..bbde11e
--- /dev/null
+++ a/tabs.css
@@ -0,0 +1 @@
+.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:transparent}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}}
diff --git b/transactions.html a/transactions.html
new file mode 100644
index 0000000..6f29ff2
--- /dev/null
+++ a/transactions.html
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+hueplusplus: Transactions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ hueplusplus
+ 1.0.0
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Often, you want to change more than one property on a light at the same time, for example brightness and color. This is done using transactions (StateTransaction ).
The request is reduced to only the variables that need to be changed based on the current state. For example, if the light is already on, that part of the transaction is ignored.
+
Important: The transaction has an internal reference to the light state. You must not cause a refresh of the state between creating and committing the transaction (e.g. non-const getters/setters), because that invalidates the reference.
+
Another way to use the transaction is by storing it and building up the calls separately.
In this case, it is especially important that the light and the state of the light MUST NOT invalidate. That means
+the light variable has to live longer than the transaction
+especially no non-const method calls on the light while the transaction is open, or committing other transactions
+
+
In general, this method is easier to screw up and should only be used when really necessary.
+
The same principles of transactions for lights also apply for groups. The main difference is that for groups, there are no checks of the current state. Even if all lights in the group are already on, the request to turn on all lights on the group is still sent.
In a Schedule or Rule , the bridge can set the state of lights and groups. To configure this, a transaction can be saved for later instead of committing it directly.
schedule.setCommand(action);
+
+
+
+