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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
APICache.cpp File Reference
+
+
+
#include "hueplusplus/APICache.h"
+#include "hueplusplus/HueExceptionMacro.h"
+
+ + Include dependency graph for APICache.cpp:
+
+
+ +
+ + + + +

+Namespaces

 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces | +Variables
+
+
APICache.h File Reference
+
+
+
#include <chrono>
+#include <string>
+#include "HueCommandAPI.h"
+
+ + Include dependency graph for APICache.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::APICache
 Caches API GET requests and refreshes regularly. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+ + + + +

+Variables

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...
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
APICache.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_API_CACHE_H
24 #define INCLUDE_API_CACHE_H
25 
26 #include <chrono>
27 #include <string>
28 
29 #include "HueCommandAPI.h"
30 
31 namespace hueplusplus
32 {
34 constexpr std::chrono::steady_clock::duration c_refreshNever = std::chrono::steady_clock::duration::max();
35 
37 class APICache
38 {
39 public:
47  APICache(
48  std::shared_ptr<APICache> baseCache, const std::string& subEntry, std::chrono::steady_clock::duration refresh);
49 
55  APICache(const std::string& path, const HueCommandAPI& commands, std::chrono::steady_clock::duration refresh,
56  const nlohmann::json& initial);
57 
65  void refresh();
66 
72  nlohmann::json& getValue();
75  const nlohmann::json& getValue() const;
76 
84  void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration);
85 
87  std::chrono::steady_clock::duration getRefreshDuration() const;
88 
92  const HueCommandAPI& getCommandAPI() const;
93 
96  std::string getRequestPath() const;
97 
98 private:
99  bool needsRefresh();
100 
101 private:
102  std::shared_ptr<APICache> base;
103  std::string path;
104  HueCommandAPI commands;
105  std::chrono::steady_clock::duration refreshDuration;
106  std::chrono::steady_clock::time_point lastRefresh;
107  nlohmann::json value;
108 };
109 } // namespace hueplusplus
110 
111 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
Action.cpp File Reference
+
+
+
#include <hueplusplus/Action.h>
+#include <hueplusplus/HueExceptionMacro.h>
+
+ + Include dependency graph for Action.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
Action.h File Reference
+
+
+
#include "json/json.hpp"
+
+ + Include dependency graph for Action.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::Action
 Action executed by the bridge, e.g. as a Schedule command. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
Action.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef INCLUDE_HUEPLUSPLUS_ACTION_H
23 #define INCLUDE_HUEPLUSPLUS_ACTION_H
24 
25 #include "json/json.hpp"
26 
27 namespace hueplusplus
28 {
35 class Action
36 {
37 public:
40  explicit Action(const nlohmann::json& json);
41 
43  enum class Method
44  {
45  post,
46  put,
48  };
49 
51  std::string getAddress() const;
53  Method getMethod() const;
55  const nlohmann::json& getBody() const;
56 
58  const nlohmann::json& toJson() const;
59 
60 public:
63  static Method parseMethod(const std::string& s);
66  static std::string methodToString(Method m);
67 
68 private:
69  nlohmann::json json;
70 };
71 } // namespace hueplusplus
72 
73 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
BaseDevice.cpp File Reference
+
+
+
#include "hueplusplus/BaseDevice.h"
+#include <cmath>
+#include <iostream>
+#include <thread>
+#include "hueplusplus/HueExceptionMacro.h"
+#include "hueplusplus/Utils.h"
+#include "json/json.hpp"
+
+ + Include dependency graph for BaseDevice.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
BaseDevice.h File Reference
+
+
+
#include <memory>
+#include "APICache.h"
+#include "json/json.hpp"
+
+ + Include dependency graph for BaseDevice.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::BaseDevice
 Base class for physical devices connected to the bridge (sensor or light). More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
BaseDevice.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_THING_H
24 #define INCLUDE_HUEPLUSPLUS_HUE_THING_H
25 
26 #include <memory>
27 
28 #include "APICache.h"
29 
30 #include "json/json.hpp"
31 
32 namespace hueplusplus
33 {
36 {
37 public:
39  virtual ~BaseDevice() = default;
40 
44  virtual int getId() const;
45 
49  virtual std::string getType() const;
50 
58  virtual std::string getName();
59 
64  virtual std::string getName() const;
65 
69  virtual std::string getModelId() const;
70 
75  virtual std::string getUId() const;
76 
81  virtual std::string getManufacturername() const;
82 
87  virtual std::string getProductname() const;
88 
96  virtual std::string getSwVersion();
97 
102  virtual std::string getSwVersion() const;
103 
111  virtual bool setName(const std::string& name);
112 
120  virtual void refresh(bool force = false);
121 
124  virtual void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration);
125 
126 protected:
130  BaseDevice(int id, const std::shared_ptr<APICache>& baseCache);
138  BaseDevice(int id, const HueCommandAPI& commands, const std::string& path,
139  std::chrono::steady_clock::duration refreshDuration, const nlohmann::json& currentState);
140 
151  virtual nlohmann::json sendPutRequest(const std::string& subPath, const nlohmann::json& request, FileInfo fileInfo);
152 
153 protected:
154  int id;
156 };
157 } // namespace hueplusplus
158 
159 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
BaseHttpHandler.cpp File Reference
+
+
+
#include "hueplusplus/BaseHttpHandler.h"
+#include "hueplusplus/HueExceptionMacro.h"
+
+ + Include dependency graph for BaseHttpHandler.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
BaseHttpHandler.h File Reference
+
+
+
#include <iostream>
+#include <memory>
+#include <string>
+#include <vector>
+#include "IHttpHandler.h"
+#include "json/json.hpp"
+
+ + Include dependency graph for BaseHttpHandler.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::BaseHttpHandler
 Base class for classes that handle http requests and multicast requests. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
BaseHttpHandler.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_BASE_HTTP_HANDLER_H
24 #define INCLUDE_HUEPLUSPLUS_BASE_HTTP_HANDLER_H
25 
26 #include <iostream>
27 #include <memory>
28 #include <string>
29 #include <vector>
30 
31 #include "IHttpHandler.h"
32 
33 #include "json/json.hpp"
34 
35 namespace hueplusplus
36 {
39 {
40 public:
42  virtual ~BaseHttpHandler() = default;
43 
52  std::string sendGetHTTPBody(const std::string& msg, const std::string& adr, int port = 80) const override;
53 
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;
67 
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;
81 
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;
95 
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;
109 
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;
123 
134  nlohmann::json GETJson(
135  const std::string& uri, const nlohmann::json& body, const std::string& adr, int port = 80) const override;
136 
147  nlohmann::json POSTJson(
148  const std::string& uri, const nlohmann::json& body, const std::string& adr, int port = 80) const override;
149 
160  nlohmann::json PUTJson(
161  const std::string& uri, const nlohmann::json& body, const std::string& adr, int port = 80) const override;
162 
173  nlohmann::json DELETEJson(
174  const std::string& uri, const nlohmann::json& body, const std::string& adr, int port = 80) const override;
175 };
176 } // namespace hueplusplus
177 
178 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
Bridge.cpp File Reference
+
+
+
#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"
+
+ + Include dependency graph for Bridge.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
Bridge.h File Reference
+
+
+
#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"
+
+ + Include dependency graph for Bridge.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + + +

+Classes

class  hueplusplus::BridgeFinder
 
struct  hueplusplus::BridgeFinder::BridgeIdentification
 
class  hueplusplus::Bridge
 Bridge class for a bridge. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
Bridge.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_H
24 #define INCLUDE_HUEPLUSPLUS_HUE_H
25 
26 #include <map>
27 #include <memory>
28 #include <string>
29 #include <utility>
30 #include <vector>
31 
32 #include "APICache.h"
33 #include "BridgeConfig.h"
34 #include "BrightnessStrategy.h"
35 #include "ColorHueStrategy.h"
37 #include "Group.h"
38 #include "HueCommandAPI.h"
39 #include "HueDeviceTypes.h"
40 #include "IHttpHandler.h"
41 #include "Light.h"
42 #include "ResourceList.h"
43 #include "Rule.h"
44 #include "Scene.h"
45 #include "Schedule.h"
46 #include "Sensor.h"
47 #include "SensorList.h"
48 #include "Utils.h"
49 
50 #include "json/json.hpp"
51 
53 namespace hueplusplus
54 {
55 // forward declarations
56 class Bridge;
57 
62 {
63 public:
65  {
66  std::string ip;
67  int port = 80;
68  std::string mac;
69  };
70 
71 public:
75  BridgeFinder(std::shared_ptr<const IHttpHandler> handler);
76 
83  std::vector<BridgeIdentification> findBridges() const;
84 
94  Bridge getBridge(const BridgeIdentification& identification, bool sharedState = false);
95 
100  void addUsername(const std::string& mac, const std::string& username);
101 
107  void addClientKey(const std::string& mac, const std::string& clientkey);
108 
114  const std::map<std::string, std::string>& getAllUsernames() const;
115 
118  static std::string normalizeMac(std::string input);
119 
120 private:
126  static std::string parseDescription(const std::string& description);
127 
128  std::map<std::string, std::string> usernames;
129  std::map<std::string, std::string> clientkeys;
131  std::shared_ptr<const IHttpHandler> http_handler;
133 };
134 
138 class Bridge
139 {
140  friend class BridgeFinder;
141 
142 public:
148 
149 public:
160  Bridge(const std::string& ip, const int port, const std::string& username,
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);
163 
173  void refresh();
174 
180  void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration);
181 
185  std::string getBridgeIP() const;
186 
190  bool startStreaming(std::string group_identifier);
191 
195  bool stopStreaming(std::string group_identifier);
196 
200  int getBridgePort() const;
201 
211  std::string requestUsername();
212 
216  std::string getUsername() const;
217 
221  std::string getClientKey() const;
222 
226  void setIP(const std::string& ip);
227 
232  void setPort(const int port);
233 
235  BridgeConfig& config();
238  const BridgeConfig& config() const;
239 
241  LightList& lights();
244  const LightList& lights() const;
245 
247  GroupList& groups();
250  const GroupList& groups() const;
251 
253  ScheduleList& schedules();
256  const ScheduleList& schedules() const;
257 
259  SceneList& scenes();
262  const SceneList& scenes() const;
263 
265  SensorList& sensors();
268  const SensorList& sensors() const;
269 
271  RuleList& rules();
274  const RuleList& rules() const;
275 
276 private:
284  void setHttpHandler(std::shared_ptr<const IHttpHandler> handler);
285 
286 private:
287  std::string ip;
288  std::string username;
290  std::string clientkey;
291  int port;
292 
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;
304  bool sharedState;
305 };
306 } // namespace hueplusplus
307 
308 #endif
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
+ + +
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
+
Definition: Bridge.h:61
+ + + + + +
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
BridgeConfig.cpp File Reference
+
+
+
#include <hueplusplus/BridgeConfig.h>
+#include <hueplusplus/HueExceptionMacro.h>
+
+ + Include dependency graph for BridgeConfig.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
BridgeConfig.h File Reference
+
+
+
#include <string>
+#include <vector>
+#include "APICache.h"
+#include "TimePattern.h"
+
+ + Include dependency graph for BridgeConfig.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + + + + +

+Classes

struct  hueplusplus::Version
 API version consisting of major, minor and patch version. More...
 
struct  hueplusplus::WhitelistedUser
 User that is whitelisted for Hue API usage. More...
 
class  hueplusplus::BridgeConfig
 General bridge configuration properties. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
BridgeConfig.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef INCLUDE_HUEPLUSPLUS_BRIDGE_CONFIG_H
23 #define INCLUDE_HUEPLUSPLUS_BRIDGE_CONFIG_H
24 
25 #include <string>
26 #include <vector>
27 
28 #include "APICache.h"
29 #include "TimePattern.h"
30 
31 namespace hueplusplus
32 {
34 struct Version
35 {
36  int major;
37  int minor;
38  int patch;
39 };
40 
43 {
45  std::string key;
47  std::string name;
52 };
53 
56 {
57 public:
59  BridgeConfig(std::shared_ptr<APICache> baseCache, std::chrono::steady_clock::duration refreshDuration);
60 
68  void refresh(bool force = false);
69 
72  void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration);
73 
76  std::vector<WhitelistedUser> getWhitelistedUsers() const;
83  void removeUser(const std::string& userKey);
84 
89  bool getLinkButton() const;
91  void pressLinkButton();
92 
94  void touchLink();
95 
97  std::string getMACAddress() const;
99  time::AbsoluteTime getUTCTime() const;
102  std::string getTimezone() const;
103 
104 protected:
105  BridgeConfig(const BridgeConfig&) = default;
106  BridgeConfig(BridgeConfig&&) = default;
107  BridgeConfig& operator=(const BridgeConfig&) = default;
108  BridgeConfig& operator=(BridgeConfig&&) = default;
109 
110 private:
111  APICache cache;
112 };
113 } // namespace hueplusplus
114 
115 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Typedefs | +Functions | +Variables
+
+
BridgeSetup.cpp File Reference
+
+
+
#include <algorithm>
+#include <iostream>
+#include <hueplusplus/Bridge.h>
+#include <hueplusplus/LinHttpHandler.h>
+
+ + Include dependency graph for BridgeSetup.cpp:
+
+
+ +
+ + + +

+Typedefs

using SystemHttpHandler = hueplusplus::LinHttpHandler
 
+ + + + + +

+Functions

hue::Bridge connectToBridge ()
 
int main (int argc, char **argv)
 
+ + + + + +

+Variables

const std::string macAddress = ""
 
const std::string username = ""
 
+

Detailed Description

+

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/.

+

Typedef Documentation

+ +

◆ SystemHttpHandler

+ +
+
+ +
+
+

Function Documentation

+ +

◆ connectToBridge()

+ +
+
+ + + + + + + +
hue::Bridge connectToBridge ()
+
+ +
+
+ +

◆ main()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int main (int argc,
char ** argv 
)
+
+ +
+
+

Variable Documentation

+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
BrightnessStrategy.h File Reference
+
+
+
#include <cstdint>
+
+ + Include dependency graph for BrightnessStrategy.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::BrightnessStrategy
 Virtual base class for all BrightnessStrategies. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
BrightnessStrategy.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_BRIGHTNESS_STRATEGY_H
24 #define INCLUDE_HUEPLUSPLUS_BRIGHTNESS_STRATEGY_H
25 
26 #include <cstdint>
27 
28 namespace hueplusplus
29 {
30 class Light;
31 
34 {
35 public:
43  virtual bool setBrightness(unsigned int bri, uint8_t transition, Light& light) const = 0;
49  virtual unsigned int getBrightness(Light& light) const = 0;
55  virtual unsigned int getBrightness(const Light& light) const = 0;
57  virtual ~BrightnessStrategy() = default;
58 };
59 } // namespace hueplusplus
60 
61 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
doc/markdown/Build.md File Reference
+
+
+
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces | +Functions
+
+
CLIPSensors.cpp File Reference
+
+
+
#include "hueplusplus/CLIPSensors.h"
+#include "hueplusplus/HueExceptionMacro.h"
+
+ + Include dependency graph for CLIPSensors.cpp:
+
+
+ +
+ + + + + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
 hueplusplus::sensors
 Classes for specific sensor types.
 
+ + + + + + + + + +

+Functions

detail::ConditionHelper< bool > hueplusplus::sensors::makeCondition (const CLIPOpenClose &sensor)
 
detail::ConditionHelper< int > hueplusplus::sensors::makeCondition (const CLIPHumidity &sensor)
 
detail::ConditionHelper< bool > hueplusplus::sensors::makeCondition (const CLIPGenericFlag &sensor)
 
detail::ConditionHelper< int > hueplusplus::sensors::makeCondition (const CLIPGenericStatus &sensor)
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces | +Functions
+
+
CLIPSensors.h File Reference
+
+
+
#include "Sensor.h"
+
+ + Include dependency graph for CLIPSensors.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  hueplusplus::sensors::BaseCLIP
 Common methods for CLIP sensors. More...
 
class  hueplusplus::sensors::CLIPSwitch
 CLIP sensor for button presses. More...
 
class  hueplusplus::sensors::CLIPOpenClose
 CLIP sensor detecting whether a contact is open or closed. More...
 
class  hueplusplus::sensors::CLIPPresence
 CLIP sensor to detect presence. More...
 
class  hueplusplus::sensors::CLIPTemperature
 CLIP sensor for temperature. More...
 
class  hueplusplus::sensors::CLIPHumidity
 CLIP sensor for humidity. More...
 
class  hueplusplus::sensors::CLIPLightLevel
 CLIP sensor for light level. More...
 
class  hueplusplus::sensors::CLIPGenericFlag
 CLIP sensor for a generic 3rd party sensor. More...
 
class  hueplusplus::sensors::CLIPGenericStatus
 CLIP sensor for a generic 3rd party status. More...
 
+ + + + + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
 hueplusplus::sensors
 Classes for specific sensor types.
 
+ + + + + + + + + +

+Functions

detail::ConditionHelper< bool > hueplusplus::sensors::makeCondition (const CLIPOpenClose &sensor)
 
detail::ConditionHelper< int > hueplusplus::sensors::makeCondition (const CLIPHumidity &sensor)
 
detail::ConditionHelper< bool > hueplusplus::sensors::makeCondition (const CLIPGenericFlag &sensor)
 
detail::ConditionHelper< int > hueplusplus::sensors::makeCondition (const CLIPGenericStatus &sensor)
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
CLIPSensors.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef INCLUDE_HUEPLUSPLUS_CLIP_SENSORS_H
23 #define INCLUDE_HUEPLUSPLUS_CLIP_SENSORS_H
24 
25 #include "Sensor.h"
26 
27 namespace hueplusplus
28 {
29 namespace sensors
30 {
32 class BaseCLIP : public BaseDevice
33 {
34 public:
38  bool isOn() const;
44  void setOn(bool on);
45 
47  bool hasBatteryState() const;
51  int getBatteryState() const;
57  void setBatteryState(int percent);
58 
61  bool isReachable() const;
62 
64  bool hasURL() const;
66  std::string getURL() const;
72  void setURL(const std::string& url);
73 
78 
79 protected:
81  explicit BaseCLIP(Sensor sensor) : BaseDevice(std::move(sensor)) { }
82 };
83 
85 class CLIPSwitch : public BaseCLIP
86 {
87 public:
89  explicit CLIPSwitch(Sensor sensor) : BaseCLIP(std::move(sensor)) { }
90 
92  int getButtonEvent() const;
98  void setButtonEvent(int code);
99 
101  static constexpr const char* typeStr = "CLIPSwitch";
102 };
103 
105 class CLIPOpenClose : public BaseCLIP
106 {
107 public:
109  explicit CLIPOpenClose(Sensor sensor) : BaseCLIP(std::move(sensor)) { }
110 
112  bool isOpen() const;
120  void setOpen(bool open);
121 
123  static constexpr const char* typeStr = "CLIPOpenClose";
124 };
125 
126 detail::ConditionHelper<bool> makeCondition(const CLIPOpenClose& sensor);
127 
129 class CLIPPresence : public BaseCLIP
130 {
131 public:
133  explicit CLIPPresence(Sensor sensor) : BaseCLIP(std::move(sensor)) { }
134 
136  bool getPresence() const;
142  void setPresence(bool presence);
143 
145  static constexpr const char* typeStr = "CLIPPresence";
146 };
147 
149 class CLIPTemperature : public BaseCLIP
150 {
151 public:
153  explicit CLIPTemperature(Sensor sensor) : BaseCLIP(std::move(sensor)) { }
154 
157  int getTemperature() const;
164  void setTemperature(int temperature);
165 
167  static constexpr const char* typeStr = "CLIPTemperature";
168 };
169 
171 class CLIPHumidity : public BaseCLIP
172 {
173 public:
175  explicit CLIPHumidity(Sensor sensor) : BaseCLIP(std::move(sensor)) { }
176 
179  int getHumidity() const;
186  void setHumidity(int humidity);
187 
189  static constexpr const char* typeStr = "CLIPHumidity";
190 };
191 
192 detail::ConditionHelper<int> makeCondition(const CLIPHumidity& sensor);
193 
195 class CLIPLightLevel : public BaseCLIP
196 {
197 public:
199  explicit CLIPLightLevel(Sensor sensor) : BaseCLIP(std::move(sensor)) { }
200 
202  int getDarkThreshold() const;
209  void setDarkThreshold(int threshold);
210 
212  int getThresholdOffset() const;
219  void setThresholdOffset(int offset);
220 
223  int getLightLevel() const;
230  void setLightLevel(int level);
232  bool isDark() const;
236  bool isDaylight() const;
237 
239  static constexpr const char* typeStr = "CLIPLightLevel";
240 };
241 
245 class CLIPGenericFlag : public BaseCLIP
246 {
247 public:
249  explicit CLIPGenericFlag(Sensor sensor) : BaseCLIP(std::move(sensor)) { }
250 
252  bool getFlag() const;
258  void setFlag(bool flag);
259 
261  static constexpr const char* typeStr = "CLIPGenericFlag";
262 };
263 
264 detail::ConditionHelper<bool> makeCondition(const CLIPGenericFlag& sensor);
265 
270 {
271 public:
273  explicit CLIPGenericStatus(Sensor sensor) : BaseCLIP(std::move(sensor)) { }
274 
276  int getStatus() const;
282  void setStatus(int status);
283 
285  static constexpr const char* typeStr = "CLIPGenericStatus";
286 };
287 
288 detail::ConditionHelper<int> makeCondition(const CLIPGenericStatus& sensor);
289 
290 } // namespace sensors
291 } // namespace hueplusplus
292 
293 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
ColorHueStrategy.h File Reference
+
+
+
#include <cstdint>
+#include <memory>
+#include "ColorUnits.h"
+
+ + Include dependency graph for ColorHueStrategy.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::ColorHueStrategy
 Virtual base class for all ColorHueStrategies. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ColorHueStrategy.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef _COLOR_HUE_STRATEGY_H
24 #define _COLOR_HUE_STRATEGY_H
25 
26 #include <cstdint>
27 #include <memory>
28 
29 #include "ColorUnits.h"
30 
31 namespace hueplusplus
32 {
33 class Light;
34 
37 {
38 public:
47  virtual bool setColorHue(uint16_t hue, uint8_t transition, Light& light) const = 0;
56  virtual bool setColorSaturation(uint8_t sat, uint8_t transition, Light& light) const = 0;
64  virtual bool setColorHueSaturation(const HueSaturation& hueSat, uint8_t transition, Light& light) const = 0;
72  virtual bool setColorXY(const XYBrightness& xy, uint8_t transition, Light& light) const = 0;
73 
86  virtual bool setColorLoop(bool on, Light& light) const = 0;
92  virtual bool alertHueSaturation(const HueSaturation& hueSat, Light& light) const = 0;
98  virtual bool alertXY(const XYBrightness& xy, Light& light) const = 0;
104  virtual HueSaturation getColorHueSaturation(Light& light) const = 0;
110  virtual HueSaturation getColorHueSaturation(const Light& light) const = 0;
116  virtual XYBrightness getColorXY(Light& light) const = 0;
122  virtual XYBrightness getColorXY(const Light& light) const = 0;
124  virtual ~ColorHueStrategy() = default;
125 };
126 } // namespace hueplusplus
127 
128 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
ColorTemperatureStrategy.h File Reference
+
+
+
#include <stdint.h>
+
+ + Include dependency graph for ColorTemperatureStrategy.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::ColorTemperatureStrategy
 Virtual base class for all ColorTemperatureStrategies. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ColorTemperatureStrategy.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_COLOR_TEMPERATURE_STRATEGY_H
24 #define INCLUDE_HUEPLUSPLUS_COLOR_TEMPERATURE_STRATEGY_H
25 
26 #include <stdint.h>
27 
28 namespace hueplusplus
29 {
30 class Light;
31 
34 {
35 public:
44  virtual bool setColorTemperature(unsigned int mired, uint8_t transition, Light& light) const = 0;
51  virtual bool alertTemperature(unsigned int mired, Light& light) const = 0;
59  virtual unsigned int getColorTemperature(Light& light) const = 0;
67  virtual unsigned int getColorTemperature(const Light& light) const = 0;
69  virtual ~ColorTemperatureStrategy() = default;
70 };
71 } // namespace hueplusplus
72 
73 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces | +Functions
+
+
ColorUnits.cpp File Reference
+
+
+
#include <algorithm>
+#include <cmath>
+#include <hueplusplus/ColorUnits.h>
+
+ + Include dependency graph for ColorUnits.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+ + + + + + + +

+Functions

unsigned int hueplusplus::kelvinToMired (unsigned int kelvin)
 Const function that converts Kelvin to Mired. More...
 
unsigned int hueplusplus::miredToKelvin (unsigned int mired)
 Const function that converts Mired to Kelvin. More...
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces | +Functions | +Variables
+
+
ColorUnits.h File Reference
+
+
+
#include <cstdint>
+
+ + Include dependency graph for ColorUnits.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + +

+Classes

struct  hueplusplus::HueSaturation
 Color in hue and saturation. More...
 
struct  hueplusplus::XY
 Color in CIE x and y coordinates. More...
 
struct  hueplusplus::XYBrightness
 Color and brightness in CIE. More...
 
struct  hueplusplus::ColorGamut
 Triangle of representable colors in CIE. More...
 
struct  hueplusplus::RGB
 Color in RGB. More...
 
+ + + + + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
 hueplusplus::gamut
 Predefined ColorGamuts for Hue API.
 
+ + + + + + + +

+Functions

unsigned int hueplusplus::kelvinToMired (unsigned int kelvin)
 Const function that converts Kelvin to Mired. More...
 
unsigned int hueplusplus::miredToKelvin (unsigned int mired)
 Const function that converts Mired to Kelvin. More...
 
+ + + + + + + + + + + + + +

+Variables

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...
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ColorUnits.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_UNITS_H
24 #define INCLUDE_HUEPLUSPLUS_UNITS_H
25 
26 #include <cstdint>
27 
28 namespace hueplusplus
29 {
32 {
36  int hue;
41 
42  bool operator==(const HueSaturation& other) const { return hue == other.hue && saturation == other.saturation; }
43  bool operator!=(const HueSaturation& other) const { return !(*this == other); }
44 };
45 
47 struct XY
48 {
50  float x;
52  float y;
53 
54  bool operator==(const XY& other) const { return x == other.x && y == other.y; }
55  bool operator!=(const XY& other) const { return !(*this == other); }
56 };
57 
63 {
65  XY xy;
67  float brightness;
68 
69  bool operator==(const XYBrightness& other) const { return xy == other.xy && brightness == other.brightness; }
70  bool operator!=(const XYBrightness& other) const { return !(*this == other); }
71 };
72 
77 struct ColorGamut
78 {
85 
87  bool contains(const XY& xy) const;
90  XY corrected(const XY& xy) const;
91 };
92 
94 namespace gamut
95 {
97 constexpr ColorGamut gamutA {{0.704f, 0.296f}, {0.2151f, 0.7106f}, {0.138f, 0.08f}};
99 constexpr ColorGamut gamutB {{0.675f, 0.322f}, {0.409f, 0.518f}, {0.167f, 0.04f}};
101 constexpr ColorGamut gamutC {{0.692f, 0.308f}, {0.17f, 0.7f}, {0.153f, 0.048f}};
105 constexpr ColorGamut maxGamut {{1.f, 0.f}, {0.f, 1.f}, {0.f, 0.f}};
106 } // namespace gamut
107 
109 struct RGB
110 {
112  uint8_t r;
114  uint8_t g;
116  uint8_t b;
117 
118  bool operator==(const RGB& other) const { return r == other.r && g == other.g && b == other.b; }
119  bool operator!=(const RGB& other) const { return !(*this == other); }
120 
124  XYBrightness toXY() const;
128  XYBrightness toXY(const ColorGamut& gamut) const;
129 
133  HueSaturation toHueSaturation() const;
134 
140  static RGB fromXY(const XYBrightness& xy);
148  static RGB fromXY(const XYBrightness& xy, const ColorGamut& gamut);
149 };
150 
155 unsigned int kelvinToMired(unsigned int kelvin);
156 
161 unsigned int miredToKelvin(unsigned int mired);
162 } // namespace hueplusplus
163 
164 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
Condition.h File Reference
+
+
+
#include "TimePattern.h"
+#include "json/json.hpp"
+
+ + Include dependency graph for Condition.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::Condition
 Condition for a Rule. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
Condition.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef INCLUDE_HUEPLUSPLUS_CONDITION_H
23 #define INCLUDE_HUEPLUSPLUS_CONDITION_H
24 
25 #include "TimePattern.h"
26 
27 #include "json/json.hpp"
28 
29 namespace hueplusplus
30 {
37 class Condition
38 {
39 public:
41  enum class Operator
42  {
43  eq,
44  gt,
45  lt,
46  dx,
47  ddx,
48  stable,
49  notStable,
50  in,
51  notIn
52  };
53 
54 public:
59  Condition(const std::string& address, Operator op, const std::string& value);
60 
62  std::string getAddress() const;
64  Operator getOperator() const;
66  std::string getValue() const;
67 
70  nlohmann::json toJson() const;
71 
76  static Condition parse(const nlohmann::json& json);
77 
78 private:
79  std::string address;
80  Operator op;
81  std::string value;
82 };
83 
84 namespace detail
85 {
89 template <typename T>
90 class ConditionHelper
91 { };
92 
94 class GeneralConditionHelper
95 {
96 public:
97  explicit GeneralConditionHelper(const std::string& address) : address(address) { }
98 
99  Condition dx() { return Condition(address, Condition::Operator::dx, ""); }
100  Condition ddx() { return Condition(address, Condition::Operator::ddx, ""); }
103  Condition stable(const std::string& value) { return Condition(address, Condition::Operator::dx, value); }
104 
105 protected:
106  std::string address;
107 };
108 
110 template <>
111 class ConditionHelper<int> : public GeneralConditionHelper
112 {
113 public:
114  using GeneralConditionHelper::GeneralConditionHelper;
115 
116  Condition eq(int value) { return create(Condition::Operator::eq, value); }
117  Condition gt(int value) { return create(Condition::Operator::gt, value); }
118  Condition lt(int value) { return create(Condition::Operator::eq, value); }
119 
120  Condition create(Condition::Operator op, int value) { return Condition(address, op, std::to_string(value)); }
121 };
122 
124 template <>
125 class ConditionHelper<bool> : public GeneralConditionHelper
126 {
127 public:
128  using GeneralConditionHelper::GeneralConditionHelper;
129 
130  Condition eq(bool value) { return create(Condition::Operator::eq, value); }
131 
132  Condition create(Condition::Operator op, bool value) { return Condition(address, op, value ? "true" : "false"); }
133 };
134 
136 template <>
137 class ConditionHelper<time::AbsoluteTime> : public GeneralConditionHelper
138 {
139 public:
140  using GeneralConditionHelper::GeneralConditionHelper;
141 
142  Condition in(const time::TimeInterval& interval) { return create(Condition::Operator::in, interval); }
143  Condition notIn(const time::TimeInterval& interval) { return create(Condition::Operator::notIn, interval); }
144 
145  Condition create(Condition::Operator op, const time::AbsoluteTime& value)
146  {
147  return Condition(address, op, value.toString());
148  }
149  Condition create(Condition::Operator op, const time::TimeInterval& interval)
150  {
151  return Condition(address, op, interval.toString());
152  }
153 };
154 
155 template <typename... Ts>
156 struct make_void
157 {
158  typedef void type;
159 };
161 template <typename... Ts>
162 using void_t = typename make_void<Ts...>::type;
163 
164 } // namespace detail
165 
166 } // namespace hueplusplus
167 
168 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces | +Functions | +Variables
+
+
EntertainmentMode.cpp File Reference
+
+
+
#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"
+
+ + Include dependency graph for EntertainmentMode.cpp:
+
+
+ +
+ + + +

+Classes

struct  hueplusplus::TLSContext
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+ + + +

+Functions

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

+Variables

constexpr uint8_t hueplusplus::HUE_ENTERTAINMENT_HEADER_SIZE = 16
 
constexpr uint8_t hueplusplus::HUE_ENTERTAINMENT_LIGHT_SIZE = 9
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
EntertainmentMode.h File Reference
+
+
+
#include "Bridge.h"
+#include "Group.h"
+
+ + Include dependency graph for EntertainmentMode.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::EntertainmentMode
 Class for Hue Entertainment Mode. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
EntertainmentMode.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_ENTERTAINMENT_MODE_H
24 #define INCLUDE_HUEPLUSPLUS_HUE_ENTERTAINMENT_MODE_H
25 
26 #include "Bridge.h"
27 #include "Group.h"
28 
29 namespace hueplusplus
30 {
31 struct TLSContext;
32 
37 {
38 public:
47 
50 
55  bool connect();
56 
61  bool disconnect();
62 
71  bool setColorRGB(uint8_t light_index, uint8_t red, uint8_t green, uint8_t blue);
72 
77  bool update();
78 
79 protected:
82 
83  std::vector<uint8_t> entertainment_msg;
85 
86  std::unique_ptr<TLSContext> tls_context;
87 };
88 } // namespace hueplusplus
89 
90 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
ExtendedColorHueStrategy.cpp File Reference
+
+
+
#include "hueplusplus/ExtendedColorHueStrategy.h"
+#include <cmath>
+#include <iostream>
+#include <thread>
+#include "hueplusplus/LibConfig.h"
+
+ + Include dependency graph for ExtendedColorHueStrategy.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
ExtendedColorHueStrategy.h File Reference
+
+
+
#include "Light.h"
+#include "SimpleColorHueStrategy.h"
+
+ + Include dependency graph for ExtendedColorHueStrategy.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + +

+Classes

class  hueplusplus::ExtendedColorHueStrategy
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ExtendedColorHueStrategy.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_EXTENDED_COLOR_HUE_STRATEGY_H
24 #define INCLUDE_HUEPLUSPLUS_EXTENDED_COLOR_HUE_STRATEGY_H
25 
26 #include "Light.h"
27 #include "SimpleColorHueStrategy.h"
28 
29 namespace hueplusplus
30 {
35 {
36 public:
43  bool alertHueSaturation(const HueSaturation& hueSat, Light& light) const override;
50  bool alertXY(const XYBrightness& xy, Light& light) const override;
51 };
52 } // namespace hueplusplus
53 
54 #endif
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
ExtendedColorTemperatureStrategy.cpp File Reference
+
+
+
#include "hueplusplus/ExtendedColorTemperatureStrategy.h"
+#include <cmath>
+#include <iostream>
+#include <thread>
+#include "hueplusplus/LibConfig.h"
+#include "hueplusplus/HueExceptionMacro.h"
+#include "hueplusplus/Utils.h"
+
+ + Include dependency graph for ExtendedColorTemperatureStrategy.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
ExtendedColorTemperatureStrategy.h File Reference
+
+
+
#include "Light.h"
+#include "SimpleColorTemperatureStrategy.h"
+
+ + Include dependency graph for ExtendedColorTemperatureStrategy.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::ExtendedColorTemperatureStrategy
 Class implementing the functions of ColorTemperatureStrategy. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ExtendedColorTemperatureStrategy.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_EXTENDED_COLOR_TEMPERATURE_STRATEGY_H
24 #define INCLUDE_HUEPLUSPLUS_EXTENDED_COLOR_TEMPERATURE_STRATEGY_H
25 
26 #include "Light.h"
28 
29 namespace hueplusplus
30 {
33 {
34 public:
42  bool alertTemperature(unsigned int mired, Light& light) const override;
43 };
44 } // namespace hueplusplus
45 
46 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
doc/markdown/Getting_Started.md File Reference
+
+
+
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
Group.cpp File Reference
+
+
+
#include "hueplusplus/Group.h"
+#include "hueplusplus/HueExceptionMacro.h"
+
+ + Include dependency graph for Group.cpp:
+
+
+ +
+ + + + +

+Namespaces

 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
Group.h File Reference
+
+
+
#include <string>
+#include <vector>
+#include "APICache.h"
+#include "Action.h"
+#include "HueCommandAPI.h"
+#include "StateTransaction.h"
+#include "json/json.hpp"
+
+ + Include dependency graph for Group.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + +

+Classes

class  hueplusplus::Group
 Class for Groups of lights. More...
 
class  hueplusplus::CreateGroup
 Parameters necessary for creating a new Group. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
Group.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_GROUP_H
24 #define INCLUDE_HUEPLUSPLUS_GROUP_H
25 
26 #include <string>
27 #include <vector>
28 
29 #include "APICache.h"
30 #include "Action.h"
31 #include "HueCommandAPI.h"
32 #include "StateTransaction.h"
33 
34 #include "json/json.hpp"
35 
36 namespace hueplusplus
37 {
41 class Group
42 {
43 public:
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);
54 
62  void refresh(bool force = false);
63 
66  void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration);
67 
70 
72  int getId() const;
73 
75  std::string getName() const;
76 
88  std::string getType() const;
89 
92  std::vector<int> getLightIds() const;
93 
97  void setName(const std::string& name);
104  void setLights(const std::vector<int>& ids);
105 
108  std::string getRoomType() const;
116  void setRoomType(const std::string& type);
117 
120  std::string getModelId() const;
121 
125  std::string getUniqueId() const;
126 
133  bool getAllOn();
134 
138  bool getAllOn() const;
139 
146  bool getAnyOn();
147 
151  bool getAnyOn() const;
152 
158 
165  bool getActionOn();
166 
170  bool getActionOn() const;
171 
178  std::pair<uint16_t, uint8_t> getActionHueSaturation();
179 
183  std::pair<uint16_t, uint8_t> getActionHueSaturation() const;
184 
191  unsigned int getActionBrightness();
192 
196  unsigned int getActionBrightness() const;
197 
204  unsigned int getActionColorTemperature();
205 
209  unsigned int getActionColorTemperature() const;
210 
217  std::pair<float, float> getActionColorXY();
218 
222  std::pair<float, float> getActionColorXY() const;
223 
231  std::string getActionColorMode();
232 
237  std::string getActionColorMode() const;
238 
240 
243 
252 
255  void setOn(bool on, uint8_t transition = 4);
258  void setBrightness(uint8_t brightness, uint8_t transition = 4);
261  void setColor(const HueSaturation& hueSat, uint8_t transition = 4);
264  void setColor(const XYBrightness& xy, uint8_t transition = 4);
267  void setColorTemperature(unsigned int mired, uint8_t transition = 4);
270  void setColorLoop(bool on, uint8_t transition = 4);
271 
276  void setScene(const std::string& scene);
277 
283  Action createSceneAction(const std::string& scene) const;
284 
286 
287 protected:
298  nlohmann::json sendPutRequest(const std::string& subPath, const nlohmann::json& request, FileInfo fileInfo);
299 
300 protected:
301  int id;
303 };
304 
311 {
312 public:
318  static CreateGroup LightGroup(const std::vector<int>& lights, const std::string& name = "");
326  static CreateGroup Room(
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 = "");
335 
341  static CreateGroup Zone(const std::vector<int>& lights, const std::string& name = "");
342 
345  nlohmann::json getRequest() const;
346 
347 protected:
353  CreateGroup(
354  const std::vector<int>& lights, const std::string& name, const std::string& type, const std::string& roomType);
355 
356 private:
357  std::vector<int> lights;
358  std::string name;
359  std::string type;
360  std::string roomType;
361 };
362 } // namespace hueplusplus
363 
364 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
HueCommandAPI.cpp File Reference
+
+
+
#include "hueplusplus/HueCommandAPI.h"
+#include <thread>
+#include "hueplusplus/LibConfig.h"
+#include "hueplusplus/HueExceptionMacro.h"
+
+ + Include dependency graph for HueCommandAPI.cpp:
+
+
+ +
+ + + + +

+Namespaces

 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
HueCommandAPI.h File Reference
+
+
+
#include <atomic>
+#include <chrono>
+#include <mutex>
+#include "HueException.h"
+#include "IHttpHandler.h"
+
+ + Include dependency graph for HueCommandAPI.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + +

+Classes

class  hueplusplus::HueCommandAPI
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
HueCommandAPI.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_HUECOMMANDAPI_H
24 #define INCLUDE_HUEPLUSPLUS_HUECOMMANDAPI_H
25 
26 #include <atomic>
27 #include <chrono>
28 #include <mutex>
29 
30 #include "HueException.h"
31 #include "IHttpHandler.h"
32 
33 namespace hueplusplus
34 {
38 {
39 public:
47  const std::string& ip, int port, const std::string& username, std::shared_ptr<const IHttpHandler> httpHandler);
48 
51  HueCommandAPI(const HueCommandAPI&) = default;
54  HueCommandAPI(HueCommandAPI&&) = default;
55 
58  HueCommandAPI& operator=(const HueCommandAPI&) = default;
62 
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;
76 
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;
91 
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;
106 
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;
121 
124  std::string combinedPath(const std::string& path) const;
125 private:
126  struct TimeoutData
127  {
128  std::chrono::steady_clock::time_point timeout;
129  std::mutex mutex;
130  };
131 
135  nlohmann::json HandleError(FileInfo fileInfo, const nlohmann::json& response) const;
136 
137 private:
138  std::string ip;
139  int port;
140  std::string username;
141  std::shared_ptr<const IHttpHandler> httpHandler;
142  std::shared_ptr<TimeoutData> timeout;
143 };
144 } // namespace hueplusplus
145 
146 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
HueDeviceTypes.cpp File Reference
+
+
+
#include "hueplusplus/HueDeviceTypes.h"
+#include <set>
+#include "hueplusplus/ExtendedColorHueStrategy.h"
+#include "hueplusplus/ExtendedColorTemperatureStrategy.h"
+#include "hueplusplus/HueExceptionMacro.h"
+#include "hueplusplus/SimpleBrightnessStrategy.h"
+#include "hueplusplus/SimpleColorHueStrategy.h"
+#include "hueplusplus/SimpleColorTemperatureStrategy.h"
+#include "hueplusplus/Utils.h"
+
+ + Include dependency graph for HueDeviceTypes.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
HueDeviceTypes.h File Reference
+
+
+
#include <memory>
+#include <string>
+#include "Light.h"
+
+ + Include dependency graph for HueDeviceTypes.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + +

+Classes

class  hueplusplus::LightFactory
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
HueDeviceTypes.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_HUEDEVICETYPES_H
24 #define INCLUDE_HUEPLUSPLUS_HUEDEVICETYPES_H
25 
26 #include <memory>
27 #include <string>
28 
29 #include "Light.h"
30 
31 namespace hueplusplus
32 {
34 {
35 public:
39  LightFactory(const HueCommandAPI& commands, std::chrono::steady_clock::duration refreshDuration);
40 
50  Light createLight(const nlohmann::json& lightState, int id, const std::shared_ptr<APICache>& baseCache = {});
51 
52 private:
59  ColorType getColorType(const nlohmann::json& lightState, bool hasCt) const;
60 
61 private:
62  HueCommandAPI commands;
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;
69 };
70 } // namespace hueplusplus
71 
72 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
HueException.cpp File Reference
+
+
+
#include "hueplusplus/HueException.h"
+
+ + Include dependency graph for HueException.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
HueException.h File Reference
+
+
+
#include <exception>
+#include <string>
+#include "json/json.hpp"
+
+ + Include dependency graph for HueException.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + + + + +

+Classes

struct  hueplusplus::FileInfo
 Contains information about error location, use CURRENT_FILE_INFO to create. More...
 
class  hueplusplus::HueException
 Exception class with file information. Base class of all custom exception classes. More...
 
class  hueplusplus::HueAPIResponseException
 Exception caused by a Hue API "error" response with additional information. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
HueException.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_EXCEPTION_H
24 #define INCLUDE_HUEPLUSPLUS_HUE_EXCEPTION_H
25 
26 #include <exception>
27 #include <string>
28 
29 #include "json/json.hpp"
30 
31 namespace hueplusplus
32 {
34 struct FileInfo
35 {
37  std::string filename;
39  int line = -1;
41  std::string func;
42 
45  std::string ToString() const;
46 };
47 
49 class HueException : public std::exception
50 {
51 public:
56  HueException(FileInfo fileInfo, const std::string& message);
57 
60  const char* what() const noexcept override;
61 
63  const FileInfo& GetFile() const noexcept;
64 
65 protected:
73  HueException(const char* exceptionName, FileInfo fileInfo, const std::string& message);
74 
75 private:
76  std::string whatMessage;
77  FileInfo fileInfo;
78 };
79 
84 {
85 public:
92  HueAPIResponseException(FileInfo fileInfo, int error, std::string address, std::string description);
93 
97  int GetErrorNumber() const noexcept;
99  const std::string& GetAddress() const noexcept;
101  const std::string& GetDescription() const noexcept;
102 
108  static HueAPIResponseException Create(FileInfo fileInfo, const nlohmann::json& response);
109 
110 private:
112  static std::string GetMessage(int error, const std::string& addr, const std::string& description);
113 
114 private:
115  int error;
116  std::string address;
117  std::string description;
118 };
119 } // namespace hueplusplus
120 
121 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Macros
+
+
HueExceptionMacro.h File Reference
+
+
+
#include "HueException.h"
+
+ + Include dependency graph for HueExceptionMacro.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Macros

#define CURRENT_FILE_INFO   (::hueplusplus::FileInfo{__FILE__, __LINE__, __func__})
 Creates the FileInfo for the current line. More...
 
+

Macro Definition Documentation

+ +

◆ CURRENT_FILE_INFO

+ +
+
+ + + + +
#define CURRENT_FILE_INFO   (::hueplusplus::FileInfo{__FILE__, __LINE__, __func__})
+
+ +

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
HueExceptionMacro.h
+
+
+Go to the documentation of this file.
1 
23 #include "HueException.h"
24 
27 #ifndef CURRENT_FILE_INFO
28 #define CURRENT_FILE_INFO (::hueplusplus::FileInfo{__FILE__, __LINE__, __func__})
29 #endif
+
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
IHttpHandler.h File Reference
+
+
+
#include <chrono>
+#include <iostream>
+#include <memory>
+#include <string>
+#include <vector>
+#include "json/json.hpp"
+
+ + Include dependency graph for IHttpHandler.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::IHttpHandler
 Abstract class for classes that handle http requests and multicast requests. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
IHttpHandler.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_IHTTPHANDLER_H
24 #define INCLUDE_HUEPLUSPLUS_IHTTPHANDLER_H
25 
26 #include <chrono>
27 #include <iostream>
28 #include <memory>
29 #include <string>
30 #include <vector>
31 
32 #include "json/json.hpp"
33 
34 namespace hueplusplus
35 {
38 {
39 public:
41  virtual ~IHttpHandler() = default;
42 
50  virtual std::string send(const std::string& msg, const std::string& adr, int port = 80) const = 0;
51 
60  virtual std::string sendGetHTTPBody(const std::string& msg, const std::string& adr, int port = 80) const = 0;
61 
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;
75 
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;
89 
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;
103 
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;
117 
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;
131 
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;
145 
156  virtual nlohmann::json GETJson(
157  const std::string& uri, const nlohmann::json& body, const std::string& adr, int port = 80) const = 0;
158 
169  virtual nlohmann::json POSTJson(
170  const std::string& uri, const nlohmann::json& body, const std::string& adr, int port = 80) const = 0;
171 
182  virtual nlohmann::json PUTJson(
183  const std::string& uri, const nlohmann::json& body, const std::string& adr, int port = 80) const = 0;
184 
195  virtual nlohmann::json DELETEJson(
196  const std::string& uri, const nlohmann::json& body, const std::string& adr, int port = 80) const = 0;
197 };
198 } // namespace hueplusplus
199 
200 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
LibConfig.h File Reference
+
+
+
#include <chrono>
+
+ + Include dependency graph for LibConfig.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::Config
 Configurable delays. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
LibConfig.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_CONFIG_H
24 #define INCLUDE_HUEPLUSPLUS_HUE_CONFIG_H
25 
26 #include <chrono>
27 
28 namespace hueplusplus
29 {
33 class Config
34 {
35 private:
36  using duration = std::chrono::steady_clock::duration;
37 
38 public:
40  duration getPreAlertDelay() const { return preAlertDelay; }
42  duration getPostAlertDelay() const { return postAlertDelay; }
43 
45  duration getUPnPTimeout() const { return upnpTimeout; }
46 
48  duration getBridgeRequestDelay() const { return bridgeRequestDelay; }
49 
51  duration getRequestUsernameTimeout() const { return requestUsernameDelay; }
52 
55 
57  static Config& instance()
58  {
59  static Config c;
60  return c;
61  }
62 protected:
63  Config() = default;
64 
65 protected:
66  duration preAlertDelay = std::chrono::milliseconds(120);
67  duration postAlertDelay = std::chrono::milliseconds(1600);
68  duration upnpTimeout = std::chrono::seconds(5);
69  duration bridgeRequestDelay = std::chrono::milliseconds(100);
70  duration requestUsernameDelay = std::chrono::seconds(35);
71  duration requestUsernameAttemptInterval = std::chrono::seconds(1);
72 };
73 } // namespace hueplusplus
74 
75 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
Light.cpp File Reference
+
+
+
#include <cmath>
+#include <iostream>
+#include <thread>
+#include "hueplusplus/HueExceptionMacro.h"
+#include "hueplusplus/Light.h"
+#include "hueplusplus/Utils.h"
+#include "json/json.hpp"
+
+ + Include dependency graph for Light.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces | +Enumerations
+
+
Light.h File Reference
+
+
+
#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"
+
+ + Include dependency graph for Light.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::Light
 Class for Hue Light fixtures. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+ + + + +

+Enumerations

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...
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
Light.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_LIGHT_H
24 #define INCLUDE_HUEPLUSPLUS_HUE_LIGHT_H
25 
26 #include <memory>
27 
28 #include "APICache.h"
29 #include "BaseDevice.h"
30 #include "BrightnessStrategy.h"
31 #include "ColorHueStrategy.h"
33 #include "HueCommandAPI.h"
34 #include "StateTransaction.h"
35 
36 #include "json/json.hpp"
37 
38 namespace hueplusplus
39 {
40 
42 enum class ColorType
43 {
44  UNDEFINED,
45  NONE,
46  GAMUT_A,
47  GAMUT_B,
48  GAMUT_C,
49  TEMPERATURE,
53  GAMUT_OTHER,
55 };
56 
60 class Light : public BaseDevice
61 {
62  friend class LightFactory;
64  friend class SimpleColorHueStrategy;
68 
69 public:
72 
77  virtual std::string getLuminaireUId() const;
78 
82  virtual ColorType getColorType() const;
83 
86  ColorGamut getColorGamut() const;
87 
91 
100  virtual bool on(uint8_t transition = 4);
101 
110  virtual bool off(uint8_t transition = 4);
111 
119  virtual bool isOn();
120 
125  virtual bool isOn() const;
126 
131  virtual bool hasBrightnessControl() const { return brightnessStrategy != nullptr; };
132 
138  virtual bool hasTemperatureControl() const { return colorTemperatureStrategy != nullptr; };
139 
144  virtual bool hasColorControl() const { return colorHueStrategy != nullptr; };
145 
158  virtual bool setBrightness(unsigned int bri, uint8_t transition = 4)
159  {
160  if (brightnessStrategy)
161  {
162  return brightnessStrategy->setBrightness(bri, transition, *this);
163  }
164  return false;
165  };
166 
173  virtual unsigned int getBrightness() const
174  {
175  if (brightnessStrategy)
176  {
177  return brightnessStrategy->getBrightness(*this);
178  }
179  return 0;
180  };
181 
192  virtual unsigned int getBrightness()
193  {
194  if (brightnessStrategy)
195  {
196  return brightnessStrategy->getBrightness(*this);
197  }
198  return 0;
199  };
200 
213  virtual bool setColorTemperature(unsigned int mired, uint8_t transition = 4)
214  {
215  if (colorTemperatureStrategy)
216  {
217  return colorTemperatureStrategy->setColorTemperature(mired, transition, *this);
218  }
219  return false;
220  };
221 
231  virtual unsigned int getColorTemperature() const
232  {
233  if (colorTemperatureStrategy)
234  {
235  return colorTemperatureStrategy->getColorTemperature(*this);
236  }
237  return 0;
238  };
239 
252  virtual unsigned int getColorTemperature()
253  {
254  if (colorTemperatureStrategy)
255  {
256  return colorTemperatureStrategy->getColorTemperature(*this);
257  }
258  return 0;
259  };
260 
273  virtual bool setColorHue(uint16_t hue, uint8_t transition = 4)
274  {
275  if (colorHueStrategy)
276  {
277  return colorHueStrategy->setColorHue(hue, transition, *this);
278  }
279  return false;
280  };
281 
294  virtual bool setColorSaturation(uint8_t sat, uint8_t transition = 4)
295  {
296  if (colorHueStrategy)
297  {
298  return colorHueStrategy->setColorSaturation(sat, transition, *this);
299  }
300  return false;
301  };
302 
315  virtual bool setColorHueSaturation(const HueSaturation& hueSat, uint8_t transition = 4)
316  {
317  if (colorHueStrategy)
318  {
319  return colorHueStrategy->setColorHueSaturation(hueSat, transition, *this);
320  }
321  return false;
322  };
323 
336  {
337  if (colorHueStrategy)
338  {
339  return colorHueStrategy->getColorHueSaturation(*this);
340  }
341  return {};
342  };
343 
356  {
357  if (colorHueStrategy)
358  {
359  return colorHueStrategy->getColorHueSaturation(*this);
360  }
361  return {};
362  };
363 
375  virtual bool setColorXY(const XYBrightness& xy, uint8_t transition = 4)
376  {
377  if (colorHueStrategy)
378  {
379  return colorHueStrategy->setColorXY(xy, transition, *this);
380  }
381  return false;
382  };
383 
390  virtual XYBrightness getColorXY() const
391  {
392  if (colorHueStrategy)
393  {
394  return colorHueStrategy->getColorXY(*this);
395  }
396  return {};
397  };
398 
410  {
411  if (colorHueStrategy)
412  {
413  return colorHueStrategy->getColorXY(*this);
414  }
415  return {};
416  }
417 
431  virtual bool setColorRGB(const RGB& rgb, uint8_t transition = 4)
432  {
433  if (colorHueStrategy)
434  {
435  return colorHueStrategy->setColorXY(rgb.toXY(getColorGamut()), transition, *this);
436  }
437  return false;
438  }
439 
448  virtual bool alert();
449 
461  virtual bool alertTemperature(unsigned int mired)
462  {
463  if (colorTemperatureStrategy)
464  {
465  return colorTemperatureStrategy->alertTemperature(mired, *this);
466  }
467  return false;
468  }
469 
481  virtual bool alertHueSaturation(const HueSaturation& hueSat)
482  {
483  if (colorHueStrategy)
484  {
485  return colorHueStrategy->alertHueSaturation(hueSat, *this);
486  }
487  return false;
488  }
489 
501  virtual bool alertXY(const XYBrightness& xy)
502  {
503  if (colorHueStrategy)
504  {
505  return colorHueStrategy->alertXY(xy, *this);
506  }
507  return false;
508  }
509 
525  virtual bool setColorLoop(bool on)
526  {
527  if (colorHueStrategy)
528  {
529  return colorHueStrategy->setColorLoop(on, *this);
530  }
531  return false;
532  }
533 
542  virtual StateTransaction transaction();
543 
545 
546 protected:
553  Light(int id, const HueCommandAPI& commands);
554 
561  Light(int id, const std::shared_ptr<APICache>& baseCache);
562 
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);
582 
588  virtual void setBrightnessStrategy(std::shared_ptr<const BrightnessStrategy> strat)
589  {
590  brightnessStrategy = std::move(strat);
591  };
592 
598  virtual void setColorTemperatureStrategy(std::shared_ptr<const ColorTemperatureStrategy> strat)
599  {
600  colorTemperatureStrategy = std::move(strat);
601  };
602 
607  virtual void setColorHueStrategy(std::shared_ptr<const ColorHueStrategy> strat)
608  {
609  colorHueStrategy = std::move(strat);
610  };
611 
612 protected:
614 
615  std::shared_ptr<const BrightnessStrategy>
617  std::shared_ptr<const ColorTemperatureStrategy>
619  std::shared_ptr<const ColorHueStrategy>
621 };
622 } // namespace hueplusplus
623 
624 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Typedefs | +Functions | +Variables
+
+
LightsOff.cpp File Reference
+
+
+
#include <thread>
+#include <hueplusplus/Bridge.h>
+#include <hueplusplus/LinHttpHandler.h>
+
+ + Include dependency graph for LightsOff.cpp:
+
+
+ +
+ + + +

+Typedefs

using SystemHttpHandler = hueplusplus::LinHttpHandler
 
+ + + + + + + +

+Functions

hue::Bridge connectToBridge ()
 
void lightsOff (hue::Bridge &hue)
 
int main (int argc, char **argv)
 
+ + + + + +

+Variables

const std::string macAddress = ""
 
const std::string username = ""
 
+

Detailed Description

+

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/.

+

Typedef Documentation

+ +

◆ SystemHttpHandler

+ +
+
+ +
+
+

Function Documentation

+ +

◆ connectToBridge()

+ +
+
+ + + + + + + +
hue::Bridge connectToBridge ()
+
+ +
+
+ +

◆ lightsOff()

+ +
+
+ + + + + + + + +
void lightsOff (hue::Bridgehue)
+
+ +
+
+ +

◆ main()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int main (int argc,
char ** argv 
)
+
+ +
+
+

Variable Documentation

+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
LinHttpHandler.cpp File Reference
+
+
+
#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>
+
+ + Include dependency graph for LinHttpHandler.cpp:
+
+
+ +
+ + + +

+Classes

class  hueplusplus::SocketCloser
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
LinHttpHandler.h File Reference
+
+
+
#include <string>
+#include <vector>
+#include "BaseHttpHandler.h"
+#include "json/json.hpp"
+
+ + Include dependency graph for LinHttpHandler.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::LinHttpHandler
 Class to handle http requests and multicast requests on linux systems. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
LinHttpHandler.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_LINHTTPHANDLER_H
24 #define INCLUDE_HUEPLUSPLUS_LINHTTPHANDLER_H
25 
26 #include <string>
27 #include <vector>
28 
29 #include "BaseHttpHandler.h"
30 
31 #include "json/json.hpp"
32 
33 namespace hueplusplus
34 {
37 {
38 public:
47  virtual std::string send(const std::string& msg, const std::string& adr, int port = 80) const override;
48 
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;
60 };
61 } // namespace hueplusplus
62 
63 #endif
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
doc/markdown/Mainpage.md File Reference
+
+
+
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces | +Functions
+
+
ModelPictures.cpp File Reference
+
+
+
#include <hueplusplus/ModelPictures.h>
+
+ + Include dependency graph for ModelPictures.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+ + + + +

+Functions

std::string hueplusplus::getPictureOfModel (const std::string &modelId)
 Get the picture name of a given model id. More...
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces | +Functions
+
+
ModelPictures.h File Reference
+
+
+
#include <string>
+
+ + Include dependency graph for ModelPictures.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+ + + + +

+Functions

std::string hueplusplus::getPictureOfModel (const std::string &modelId)
 Get the picture name of a given model id. More...
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ModelPictures.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef INCLUDE_HUEPLUSPLUS_MODEL_PICTURES_H
23 #define INCLUDE_HUEPLUSPLUS_MODEL_PICTURES_H
24 
25 #include <string>
26 
27 namespace hueplusplus
28 {
36  std::string getPictureOfModel(const std::string& modelId);
37 }
38 
39 
40 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
NewDeviceList.cpp File Reference
+
+
+
#include <hueplusplus/NewDeviceList.h>
+
+ + Include dependency graph for NewDeviceList.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
NewDeviceList.h File Reference
+
+
+
#include <map>
+#include <string>
+#include "TimePattern.h"
+#include "json/json.hpp"
+
+ + Include dependency graph for NewDeviceList.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::NewDeviceList
 List of new devices found during the last scan. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
NewDeviceList.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef INCLUDE_HUEPLUSPLUS_NEW_DEVICE_LIST_H
23 #define INCLUDE_HUEPLUSPLUS_NEW_DEVICE_LIST_H
24 
25 #include <map>
26 #include <string>
27 
28 #include "TimePattern.h"
29 
30 #include "json/json.hpp"
31 
32 namespace hueplusplus
33 {
36 {
37 public:
39  NewDeviceList(const std::string& lastScan, const std::map<int, std::string>& devices);
40 
42  const std::map<int, std::string>& getNewDevices() const;
43 
48  bool hasLastScanTime() const;
52  bool isScanActive();
57 
61  static NewDeviceList parse(const nlohmann::json& json);
62 
63 private:
64  std::string lastScan;
65  std::map<int, std::string> devices;
66 };
67 } // namespace hueplusplus
68 
69 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
ResourceList.h File Reference
+
+
+
#include <functional>
+#include <map>
+#include <string>
+#include <vector>
+#include "APICache.h"
+#include "HueException.h"
+#include "NewDeviceList.h"
+#include "Utils.h"
+
+ + Include dependency graph for ResourceList.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Classes

class  hueplusplus::ResourceList< Resource, IdT >
 Handles a list of a certain API resource. More...
 
class  hueplusplus::SearchableResourceList< Resource >
 Handles a ResourceList of physical devices which can be searched for. More...
 
class  hueplusplus::CreateableResourceList< BaseResourceList, CreateType >
 Handles a ResourceList where Resources can be added by the user. More...
 
class  hueplusplus::GroupResourceList< Resource, CreateType >
 Handles a group list with the special group 0. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ResourceList.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef INCLUDE_HUEPLUSPLUS_RESOURCE_LIST_H
23 #define INCLUDE_HUEPLUSPLUS_RESOURCE_LIST_H
24 
25 #include <functional>
26 #include <map>
27 #include <string>
28 #include <vector>
29 
30 #include "APICache.h"
31 #include "HueException.h"
32 #include "NewDeviceList.h"
33 #include "Utils.h"
34 
35 namespace hueplusplus
36 {
45 template <typename Resource, typename IdT>
47 {
48 public:
49  using ResourceType = Resource;
50  using IdType = IdT;
51  static_assert(std::is_integral<IdType>::value || std::is_same<std::string, IdType>::value,
52  "IdType must be integral or string");
53 
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
64  = nullptr)
65  : stateCache(std::make_shared<APICache>(baseCache, cacheEntry, refreshDuration)),
67  path(stateCache->getRequestPath() + '/'),
69  { }
76  ResourceList(const HueCommandAPI& commands, const std::string& path,
77  std::chrono::steady_clock::duration refreshDuration,
78  const std::function<Resource(IdType, const nlohmann::json&, const std::shared_ptr<APICache>&)>& factory
79  = nullptr)
80  : stateCache(std::make_shared<APICache>(path, commands, refreshDuration, nullptr)),
82  path(path + '/'),
83  sharedState(false)
84  { }
85 
87  ResourceList(const ResourceList&) = delete;
89  ResourceList& operator=(const ResourceList&) = delete;
90 
92  void refresh() { stateCache->refresh(); }
93 
96  void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)
97  {
98  stateCache->setRefreshDuration(refreshDuration);
99  }
100 
107  std::vector<Resource> getAll()
108  {
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)
113  {
114  result.emplace_back(construct(maybeStoi(it.key()), it.value()));
115  }
116  return result;
117  }
118 
126  Resource get(const IdType& id)
127  {
128  const nlohmann::json& state = stateCache->getValue();
129  std::string key = maybeToString(id);
130  if (!state.count(key))
131  {
132  throw HueException(FileInfo {__FILE__, __LINE__, __func__}, "Resource id is not valid");
133  }
134  return construct(id, state[key]);
135  }
136 
144  bool exists(const IdType& id) { return stateCache->getValue().count(maybeToString(id)) != 0; }
145 
151  bool exists(const IdType& id) const { return stateCache->getValue().count(maybeToString(id)) != 0; }
152 
162  bool remove(const IdType& id)
163  {
164  std::string requestPath = path + maybeToString(id);
165  nlohmann::json result = stateCache->getCommandAPI().DELETERequest(
166  requestPath, nlohmann::json::object(), FileInfo {__FILE__, __LINE__, __func__});
167  bool success = utils::safeGetMember(result, 0, "success") == requestPath + " deleted";
168  return success;
169  }
170 
171 protected:
173  static IdType maybeStoi(const std::string& key) { return maybeStoi(key, std::is_integral<IdType> {}); }
174 
176  static std::string maybeToString(const IdType& id) { return maybeToString(id, std::is_integral<IdType> {}); }
177 
180  Resource construct(const IdType& id, const nlohmann::json& state)
181  {
182  return construct(id, state,
183  std::is_constructible<Resource, IdType, HueCommandAPI, std::chrono::steady_clock::duration,
184  const nlohmann::json&> {});
185  }
186 
188  ResourceList(ResourceList&&) = default;
190  ResourceList& operator=(ResourceList&&) = default;
191 
192 private:
193  // Resource is constructible
194  Resource construct(const IdType& id, const nlohmann::json& state, std::true_type)
195  {
196  if (factory)
197  {
198  return factory(id, state, sharedState ? stateCache : std::shared_ptr<APICache>());
199  }
200  else
201  {
202  if (sharedState)
203  {
204  return Resource(id, stateCache);
205  }
206  else
207  {
208  return Resource(id, stateCache->getCommandAPI(), stateCache->getRefreshDuration(), state);
209  }
210  }
211  }
212  // Resource is not constructible
213  Resource construct(const IdType& id, const nlohmann::json& state, std::false_type)
214  {
215  if (!factory)
216  {
217  throw HueException(FileInfo {__FILE__, __LINE__, __func__},
218  "Resource is not constructable with default parameters, but no factory given");
219  }
220  return factory(id, state, sharedState ? stateCache : std::shared_ptr<APICache>());
221  }
222 
223 private:
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; }
226  static std::string maybeToString(IdType id, std::true_type) { return std::to_string(id); }
227  static std::string maybeToString(const IdType& id, std::false_type) { return id; }
228 
229 protected:
230  std::shared_ptr<APICache> stateCache;
231  std::function<Resource(IdType, const nlohmann::json&, const std::shared_ptr<APICache>&)> factory;
232  std::string path;
234 };
235 
238 template <typename Resource>
239 class SearchableResourceList : public ResourceList<Resource, int>
240 {
241 public:
243 
248  void search(const std::vector<std::string>& deviceIds = {})
249  {
250  std::string requestPath = this->path;
251  // Remove trailing slash
252  requestPath.pop_back();
253  if (deviceIds.empty())
254  {
255  this->stateCache->getCommandAPI().POSTRequest(
256  requestPath, nlohmann::json::object(), FileInfo {__FILE__, __LINE__, __func__});
257  }
258  else
259  {
260  this->stateCache->getCommandAPI().POSTRequest(
261  requestPath, nlohmann::json {{"deviceid", deviceIds}}, FileInfo {__FILE__, __LINE__, __func__});
262  }
263  }
264 
267  {
268  nlohmann::json response = this->stateCache->getCommandAPI().GETRequest(
269  this->path + "new", nlohmann::json::object(), FileInfo {__FILE__, __LINE__, __func__});
270  return NewDeviceList::parse(response);
271  }
272 
273 protected:
278 };
279 
284 template <typename BaseResourceList, typename CreateType>
285 class CreateableResourceList : public BaseResourceList
286 {
287 public:
288  using BaseResourceList::BaseResourceList;
289 
298  typename BaseResourceList::IdType create(const CreateType& params)
299  {
300  std::string requestPath = this->path;
301  // Remove slash
302  requestPath.pop_back();
303  nlohmann::json response = this->stateCache->getCommandAPI().POSTRequest(
304  requestPath, params.getRequest(), FileInfo {__FILE__, __LINE__, __func__});
305  nlohmann::json id = utils::safeGetMember(response, 0, "success", "id");
306  if (id.is_string())
307  {
308  std::string idStr = id.get<std::string>();
309  if (idStr.find(this->path) == 0)
310  {
311  idStr.erase(0, this->path.size());
312  }
313  this->stateCache->refresh();
314  return this->maybeStoi(idStr);
315  }
316  return typename BaseResourceList::IdType {};
317  }
318 
319 protected:
324 };
325 
330 template <typename Resource, typename CreateType>
331 class GroupResourceList : public CreateableResourceList<ResourceList<Resource, int>, CreateType>
332 {
334 
335 public:
336  using Base::Base;
339  Resource get(const int& id)
340  {
341  const nlohmann::json& state = this->stateCache->getValue();
342  std::string key = this->maybeToString(id);
343  if (!state.count(key) && id != 0)
344  {
345  throw HueException(FileInfo {__FILE__, __LINE__, __func__}, "Resource id is not valid");
346  }
347  return this->construct(id, id == 0 ? nlohmann::json {nullptr} : state[key]);
348  }
351  bool exists(int id) const { return id == 0 || Base::exists(id); }
352 
353 protected:
358 };
359 } // namespace hueplusplus
360 
361 #endif
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 &params)
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
Rule.cpp File Reference
+
+
+
#include <hueplusplus/HueExceptionMacro.h>
+#include <hueplusplus/Rule.h>
+
+ + Include dependency graph for Rule.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
Rule.h File Reference
+
+
+
#include <string>
+#include "APICache.h"
+#include "Action.h"
+#include "Condition.h"
+#include "HueCommandAPI.h"
+#include "TimePattern.h"
+
+ + Include dependency graph for Rule.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + +

+Classes

class  hueplusplus::Rule
 Rule stored in the bridge. More...
 
class  hueplusplus::CreateRule
 Parameters for creating a new Rule. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
Rule.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef INCLUDE_HUEPLUSPLUS_RULE_H
23 #define INCLUDE_HUEPLUSPLUS_RULE_H
24 
25 #include <string>
26 
27 #include "APICache.h"
28 #include "Action.h"
29 #include "Condition.h"
30 #include "HueCommandAPI.h"
31 #include "TimePattern.h"
32 
33 namespace hueplusplus
34 {
35 
42 class Rule
43 {
44 public:
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);
55 
63  void refresh(bool force = false);
64 
67  void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration);
68 
70  int getId() const;
71 
75  std::string getName() const;
76 
84  void setName(const std::string& name);
85 
88 
91 
93  int getTimesTriggered() const;
94 
96  bool isEnabled() const;
103  void setEnabled(bool enabled);
104 
106  std::string getOwner() const;
107 
112  std::vector<Condition> getConditions() const;
116  std::vector<Action> getActions() const;
117 
124  void setConditions(const std::vector<Condition>& conditions);
128  void setActions(const std::vector<Action>& actions);
129 
130 private:
140  nlohmann::json sendPutRequest(const nlohmann::json& request, FileInfo fileInfo);
141 
142 private:
143  int id;
144  APICache state;
145 };
146 
151 {
152 public:
156  CreateRule(const std::vector<Condition>& conditions, const std::vector<Action>& actions);
159  CreateRule& setName(const std::string& name);
160 
163  CreateRule& setStatus(bool enabled);
164 
167  nlohmann::json getRequest() const;
168 
169 private:
170  nlohmann::json request;
171 };
172 
173 } // namespace hueplusplus
174 
175 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
Scene.cpp File Reference
+
+
+
#include <hueplusplus/HueExceptionMacro.h>
+#include <hueplusplus/Scene.h>
+
+ + Include dependency graph for Scene.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
Scene.h File Reference
+
+
+
#include <map>
+#include <string>
+#include <vector>
+#include <json/json.hpp>
+#include "APICache.h"
+#include "ColorUnits.h"
+#include "TimePattern.h"
+
+ + Include dependency graph for Scene.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + + + + + + + +

+Classes

class  hueplusplus::LightState
 Immutable state of a light. More...
 
class  hueplusplus::LightStateBuilder
 Builder to create LightState. More...
 
class  hueplusplus::Scene
 Scene stored in the bridge. More...
 
class  hueplusplus::CreateScene
 Parameters for creating a new Scene. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
Scene.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef INCLUDE_HUEPLUSPLUS_SCENE_H
23 #define INCLUDE_HUEPLUSPLUS_SCENE_H
24 
25 #include <map>
26 #include <string>
27 #include <vector>
28 
29 #include <json/json.hpp>
30 
31 #include "APICache.h"
32 #include "ColorUnits.h"
33 #include "TimePattern.h"
34 
35 namespace hueplusplus
36 {
39 {
40 public:
43  explicit LightState(const nlohmann::json& state);
44 
46  bool isOn() const;
47 
49  bool hasBrightness() const;
52  int getBrightness() const;
53 
55  bool hasHueSat() const;
58  HueSaturation getHueSat() const;
59 
61  bool hasXY() const;
64  XYBrightness getXY() const;
65 
67  bool hasCt() const;
70  int getCt() const;
71 
73  bool hasEffect() const;
76  bool getColorloop() const;
77 
80  int getTransitionTime() const;
81 
83  nlohmann::json toJson() const;
84 
86  bool operator==(const LightState& other) const;
88  bool operator!=(const LightState& other) const;
89 
90 private:
91  nlohmann::json state;
92 };
93 
96 {
97 public:
98  LightStateBuilder& setOn(bool on);
99  LightStateBuilder& setBrightness(int brightness);
100  LightStateBuilder& setHueSat(const HueSaturation& hueSat);
101  LightStateBuilder& setXY(const XY& xy);
102  LightStateBuilder& setCt(int mired);
103  LightStateBuilder& setColorloop(bool enabled);
104  LightStateBuilder& setTransitionTime(int time);
105 
106  LightState create();
107 
108 private:
109  nlohmann::json state;
110 };
111 
115 class Scene
116 {
117 public:
119  enum class Type
120  {
121  lightScene,
122  groupScene
123  };
124 
125 public:
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);
136 
144  void refresh(bool force = false);
145 
148  void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration);
149 
151  std::string getId() const;
155  std::string getName() const;
163  void setName(const std::string& name);
167  Type getType() const;
168 
171  int getGroupId() const;
172 
176  std::vector<int> getLightIds() const;
185  void setLightIds(const std::vector<int>& ids);
186 
188  std::string getOwner() const;
190  bool getRecycle() const;
192  bool isLocked() const;
193 
195  std::string getAppdata() const;
197  int getAppdataVersion() const;
205  void setAppdata(const std::string& data, int version);
206 
210  std::string getPicture() const;
212  time::AbsoluteTime getLastUpdated() const;
216  int getVersion() const;
217 
220  std::map<int, LightState> getLightStates() const;
228  void setLightStates(const std::map<int, LightState>& states);
229 
235  void storeCurrentLightState();
242  void storeCurrentLightState(int transition);
243 
249  void recall();
250 
251 private:
257  void sendPutRequest(const std::string& path, const nlohmann::json& request, FileInfo fileInfo);
258 
259 private:
260  std::string id;
261  APICache state;
262 };
263 
268 {
269 public:
272  CreateScene& setName(const std::string& name);
278  CreateScene& setGroupId(int id);
282  CreateScene& setLightIds(const std::vector<int>& ids);
286  CreateScene& setRecycle(bool recycle);
289  CreateScene& setAppdata(const std::string& data, int version);
294  CreateScene& setLightStates(const std::map<int, LightState>& states);
295 
298  nlohmann::json getRequest() const;
299 
300 private:
301  nlohmann::json request;
302 };
303 } // namespace hueplusplus
304 
305 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
Schedule.cpp File Reference
+
+
+
#include <hueplusplus/HueExceptionMacro.h>
+#include <hueplusplus/Schedule.h>
+
+ + Include dependency graph for Schedule.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
Schedule.h File Reference
+
+
+
#include "APICache.h"
+#include "Action.h"
+#include "TimePattern.h"
+
+ + Include dependency graph for Schedule.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + +

+Classes

class  hueplusplus::Schedule
 Schedule stored in the bridge. More...
 
class  hueplusplus::CreateSchedule
 Parameters for creating a new Schedule. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
Schedule.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef INCLUDE_HUEPLUSPLUS_SCHEDULE_H
23 #define INCLUDE_HUEPLUSPLUS_SCHEDULE_H
24 
25 #include "APICache.h"
26 #include "Action.h"
27 #include "TimePattern.h"
28 
29 namespace hueplusplus
30 {
34 class Schedule
35 {
36 public:
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);
47 
53  void refresh();
54 
57  void setRefreshDuration(std::chrono::steady_clock::duration refreshDuration);
58 
60  int getId() const;
61 
65  std::string getName() const;
67  std::string getDescription() const;
69  Action getCommand() const;
72  time::TimePattern getTime() const;
74  bool isEnabled() const;
79  bool getAutodelete() const;
87 
95  void setName(const std::string& name);
102  void setDescription(const std::string& description);
109  void setCommand(const Action& command);
116  void setTime(const time::TimePattern& timePattern);
125  void setEnabled(bool enabled);
132  void setAutodelete(bool autodelete);
133 
134 private:
140  void sendPutRequest(const nlohmann::json& request, FileInfo fileInfo);
141 
142 private:
143  int id;
144  APICache state;
145 };
146 
151 {
152 public:
155  CreateSchedule& setName(const std::string& name);
158  CreateSchedule& setDescription(const std::string& description);
161  CreateSchedule& setCommand(const Action& command);
167  CreateSchedule& setStatus(bool enabled);
170  CreateSchedule& setAutodelete(bool autodelete);
174  CreateSchedule& setRecycle(bool recycle);
175 
178  nlohmann::json getRequest() const;
179 
180 private:
181  nlohmann::json request;
182 };
183 
184 } // namespace hueplusplus
185 
186 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces | +Functions
+
+
Sensor.cpp File Reference
+
+
+
#include "hueplusplus/Sensor.h"
+#include "hueplusplus/HueExceptionMacro.h"
+#include "hueplusplus/Utils.h"
+#include "json/json.hpp"
+
+ + Include dependency graph for Sensor.cpp:
+
+
+ +
+ + + + + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
 hueplusplus::sensors
 Classes for specific sensor types.
 
+ + + + + + + + + +

+Functions

std::string hueplusplus::alertToString (Alert alert)
 Convert alert to string form. More...
 
Alert hueplusplus::alertFromString (const std::string &s)
 Convert string to Alert enum. More...
 
detail::ConditionHelper< bool > hueplusplus::sensors::makeCondition (const DaylightSensor &sensor)
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces | +Enumerations | +Functions
+
+
Sensor.h File Reference
+
+
+
#include <memory>
+#include "BaseDevice.h"
+#include "Condition.h"
+#include "HueCommandAPI.h"
+#include "TimePattern.h"
+#include "json/json.hpp"
+
+ + Include dependency graph for Sensor.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + + + + +

+Classes

class  hueplusplus::Sensor
 Class for generic or unknown sensor types. More...
 
class  hueplusplus::CreateSensor
 Parameters for creating a new Sensor. More...
 
class  hueplusplus::sensors::DaylightSensor
 Daylight sensor to detect sunrise and sunset. More...
 
+ + + + + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
 hueplusplus::sensors
 Classes for specific sensor types.
 
+ + + + +

+Enumerations

enum  hueplusplus::Alert { hueplusplus::Alert::none, +hueplusplus::Alert::select, +hueplusplus::Alert::lselect + }
 Specifies light alert modes. More...
 
+ + + + + + + + + + + + + + + + + + + + + +

+Functions

std::string hueplusplus::alertToString (Alert alert)
 Convert alert to string form. More...
 
Alert hueplusplus::alertFromString (const std::string &s)
 Convert string to Alert enum. More...
 
detail::ConditionHelper< bool > hueplusplus::sensors::makeCondition (const DaylightSensor &sensor)
 
template<typename SensorT , detail::void_t< decltype(std::declval< const SensorT >().getLastUpdated())> * = nullptr>
detail::ConditionHelper< time::AbsoluteTime > hueplusplus::sensors::makeConditionLastUpdate (const SensorT &sensor)
 
template<typename ButtonSensor , detail::void_t< decltype(std::declval< const ButtonSensor >().getButtonEvent())> * = nullptr>
detail::ConditionHelper< int > hueplusplus::sensors::makeCondition (const ButtonSensor &sensor)
 
template<typename PresenceSensor , detail::void_t< decltype(std::declval< const PresenceSensor >().getPresence())> * = nullptr>
detail::ConditionHelper< bool > hueplusplus::sensors::makeCondition (const PresenceSensor &sensor)
 
template<typename TemperatureSensor , detail::void_t< decltype(std::declval< const TemperatureSensor >().getPresence())> * = nullptr>
detail::ConditionHelper< int > hueplusplus::sensors::makeCondition (const TemperatureSensor &sensor)
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
Sensor.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_HUE_SENSOR_H
24 #define INCLUDE_HUEPLUSPLUS_HUE_SENSOR_H
25 
26 #include <memory>
27 
28 #include "BaseDevice.h"
29 #include "Condition.h"
30 #include "HueCommandAPI.h"
31 #include "TimePattern.h"
32 
33 #include "json/json.hpp"
34 
35 namespace hueplusplus
36 {
38 enum class Alert
39 {
40  none,
41  select,
42  lselect
43 };
44 
48 std::string alertToString(Alert alert);
49 
53 Alert alertFromString(const std::string& s);
54 
59 class Sensor : public BaseDevice
60 {
61 public:
65  Sensor(int id, const std::shared_ptr<APICache>& baseCache);
66 
72  Sensor(int id, const HueCommandAPI& commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json& currentState);
73 
76 
78  bool hasOn() const;
83  bool isOn() const;
89  void setOn(bool on);
90 
92  bool hasBatteryState() const;
96  int getBatteryState() const;
102  void setBatteryState(int percent);
103 
105  bool hasAlert() const;
109  Alert getLastAlert() const;
115  void sendAlert(Alert type);
116 
118  bool hasReachable() const;
121  bool isReachable() const;
122 
124  bool hasUserTest() const;
133  void setUserTest(bool enabled);
134 
136  bool hasURL() const;
140  std::string getURL() const;
146  void setURL(const std::string& url);
147 
153  std::vector<std::string> getPendingConfig() const;
154 
156  bool hasLEDIndication() const;
159  bool getLEDIndication() const;
165  void setLEDIndication(bool on);
166 
169  nlohmann::json getConfig() const;
175  void setConfigAttribute(const std::string& key, const nlohmann::json& value);
176 
178 
182  time::AbsoluteTime getLastUpdated() const;
183 
185  nlohmann::json getState() const;
191  void setStateAttribute(const std::string& key, const nlohmann::json& value);
192 
196  std::string getStateAddress(const std::string& key) const;
197 
199  bool isCertified() const;
204  bool isPrimary() const;
205 
209  template <typename T>
210  T asSensorType() const&
211  {
212  if (getType() != T::typeStr)
213  {
214  throw HueException(FileInfo {__FILE__, __LINE__, __func__}, "Sensor type does not match: " + getType());
215  }
216  return T(*this);
217  }
223  template <typename T>
225  {
226  if (getType() != T::typeStr)
227  {
228  throw HueException(FileInfo {__FILE__, __LINE__, __func__}, "Sensor type does not match: " + getType());
229  }
230  return T(std::move(*this));
231  }
232 };
233 
238 {
239 public:
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);
250 
254  CreateSensor& setState(const nlohmann::json& state);
258  CreateSensor& setConfig(const nlohmann::json& config);
261  CreateSensor& setRecycle(bool recycle);
262 
265  nlohmann::json getRequest() const;
266 
267 protected:
268  nlohmann::json request;
269 };
270 
274 namespace sensors
275 {
280 {
281 public:
283  explicit DaylightSensor(Sensor sensor) : BaseDevice(std::move(sensor)) { }
284 
288  bool isOn() const;
289 
295  void setOn(bool on);
296 
298  bool hasBatteryState() const;
302  int getBatteryState() const;
308  void setBatteryState(int percent);
309 
318  void setCoordinates(const std::string& latitude, const std::string& longitude);
322  bool isConfigured() const;
323 
327  int getSunriseOffset() const;
334  void setSunriseOffset(int minutes);
335 
339  int getSunsetOffset() const;
346  void setSunsetOffset(int minutes);
347 
349  bool isDaylight() const;
350 
354  time::AbsoluteTime getLastUpdated() const;
355 
357  static constexpr const char* typeStr = "Daylight";
358 };
359 
360 detail::ConditionHelper<bool> makeCondition(const DaylightSensor& sensor);
361 
362 template <typename SensorT, detail::void_t<decltype(std::declval<const SensorT>().getLastUpdated())>* = nullptr>
363 detail::ConditionHelper<time::AbsoluteTime> makeConditionLastUpdate(const SensorT& sensor)
364 {
365  return detail::ConditionHelper<time::AbsoluteTime>(
366  "/sensors/" + std::to_string(sensor.getId()) + "/state/lastupdated");
367 }
368 
369 template <typename ButtonSensor, detail::void_t<decltype(std::declval<const ButtonSensor>().getButtonEvent())>* = nullptr>
370 detail::ConditionHelper<int> makeCondition(const ButtonSensor& sensor)
371 {
372  return detail::ConditionHelper<int>(
373  "/sensors/" + std::to_string(sensor.getId()) + "/state/buttonevent");
374 }
375 
376 template <typename PresenceSensor, detail::void_t<decltype(std::declval<const PresenceSensor>().getPresence())>* = nullptr>
377 detail::ConditionHelper<bool> makeCondition(const PresenceSensor& sensor)
378 {
379  return detail::ConditionHelper<bool>(
380  "/sensors/" + std::to_string(sensor.getId()) + "/state/presence");
381 }
382 
383 template <typename TemperatureSensor, detail::void_t<decltype(std::declval<const TemperatureSensor>().getPresence())>* = nullptr>
384 detail::ConditionHelper<int> makeCondition(const TemperatureSensor& sensor)
385 {
386  return detail::ConditionHelper<int>(
387  "/sensors/" + std::to_string(sensor.getId()) + "/state/temperature");
388 }
389 
390 } // namespace sensors
391 
392 } // namespace hueplusplus
393 
394 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
SensorList.h File Reference
+
+
+
#include "ResourceList.h"
+#include "Sensor.h"
+
+ + Include dependency graph for SensorList.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::SensorList
 Handles a list of Sensors with type specific getters. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
SensorList.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef INCLUDE_HUEPLUSPLUS_SENSOR_LIST_H
23 #define INCLUDE_HUEPLUSPLUS_SENSOR_LIST_H
24 
25 #include "ResourceList.h"
26 #include "Sensor.h"
27 
28 namespace hueplusplus
29 {
33 class SensorList : public CreateableResourceList<SearchableResourceList<Sensor>, CreateSensor>
34 {
35 public:
37 
46  template <typename T>
47  T getAsType(int id)
48  {
49  return get(id).asSensorType<T>();
50  }
58  template <typename T>
59  std::vector<T> getAllByType()
60  {
61  nlohmann::json state = this->stateCache->getValue();
62  std::vector<T> result;
63  for (auto it = state.begin(); it != state.end(); ++it)
64  {
65  // Only parse the sensors with the correct type
66  if (it->value("type", "") == T::typeStr)
67  {
68  result.push_back(get(maybeStoi(it.key())).asSensorType<T>());
69  }
70  }
71  return result;
72  }
73 
74 protected:
76  SensorList(SensorList&&) = default;
78  SensorList& operator=(SensorList&&) = default;
79 };
80 } // namespace hueplusplus
81 
82 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
doc/markdown/Sensors.md File Reference
+
+
+
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
doc/markdown/Shared_State.md File Reference
+
+
+
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
SimpleBrightnessStrategy.cpp File Reference
+
+
+
#include "hueplusplus/SimpleBrightnessStrategy.h"
+#include <cmath>
+#include <iostream>
+#include <thread>
+#include "hueplusplus/HueExceptionMacro.h"
+#include "hueplusplus/Utils.h"
+
+ + Include dependency graph for SimpleBrightnessStrategy.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
SimpleBrightnessStrategy.h File Reference
+
+
+
#include "BrightnessStrategy.h"
+#include "Light.h"
+
+ + Include dependency graph for SimpleBrightnessStrategy.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::SimpleBrightnessStrategy
 Class implementing the functions of BrightnessStrategy. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
SimpleBrightnessStrategy.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_SIMPLE_BRIGHTNESS_STRATEGY_H
24 #define INCLUDE_HUEPLUSPLUS_SIMPLE_BRIGHTNESS_STRATEGY_H
25 
26 #include "BrightnessStrategy.h"
27 #include "Light.h"
28 
29 namespace hueplusplus
30 {
33 {
34 public:
42  bool setBrightness(unsigned int bri, uint8_t transition, Light& light) const override;
48  unsigned int getBrightness(Light& light) const override;
54  unsigned int getBrightness(const Light& light) const override;
55 };
56 } // namespace hueplusplus
57 
58 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
SimpleColorHueStrategy.cpp File Reference
+
+
+
#include "hueplusplus/SimpleColorHueStrategy.h"
+#include <cmath>
+#include <iostream>
+#include <thread>
+#include "hueplusplus/LibConfig.h"
+#include "hueplusplus/HueExceptionMacro.h"
+#include "hueplusplus/Utils.h"
+
+ + Include dependency graph for SimpleColorHueStrategy.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
SimpleColorHueStrategy.h File Reference
+
+
+
#include "ColorHueStrategy.h"
+#include "Light.h"
+
+ + Include dependency graph for SimpleColorHueStrategy.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + +

+Classes

class  hueplusplus::SimpleColorHueStrategy
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
SimpleColorHueStrategy.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_SIMPLE_COLOR_HUE_STRATEGY_H
24 #define INCLUDE_HUEPLUSPLUS_SIMPLE_COLOR_HUE_STRATEGY_H
25 
26 #include "ColorHueStrategy.h"
27 #include "Light.h"
28 
29 namespace hueplusplus
30 {
35 {
36 public:
45  bool setColorHue(uint16_t hue, uint8_t transition, Light& light) const override;
54  bool setColorSaturation(uint8_t sat, uint8_t transition, Light& light) const override;
62  bool setColorHueSaturation(const HueSaturation& hueSat, uint8_t transition, Light& light) const override;
70  bool setColorXY(const XYBrightness& xy, uint8_t transition, Light& light) const override;
71 
83  bool setColorLoop(bool on, Light& light) const override;
90  bool alertHueSaturation(const HueSaturation& hueSat, Light& light) const override;
95  bool alertXY(const XYBrightness& xy, Light& light) const override;
103  HueSaturation getColorHueSaturation(Light& light) const override;
111  HueSaturation getColorHueSaturation(const Light& light) const override;
117  XYBrightness getColorXY(Light& light) const override;
123  XYBrightness getColorXY(const Light& light) const override;
124 };
125 } // namespace hueplusplus
126 
127 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
SimpleColorTemperatureStrategy.cpp File Reference
+
+
+
#include "hueplusplus/SimpleColorTemperatureStrategy.h"
+#include <cmath>
+#include <iostream>
+#include <thread>
+#include "hueplusplus/LibConfig.h"
+#include "hueplusplus/HueExceptionMacro.h"
+#include "hueplusplus/Utils.h"
+
+ + Include dependency graph for SimpleColorTemperatureStrategy.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
SimpleColorTemperatureStrategy.h File Reference
+
+
+
#include "ColorTemperatureStrategy.h"
+#include "Light.h"
+
+ + Include dependency graph for SimpleColorTemperatureStrategy.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::SimpleColorTemperatureStrategy
 Class implementing the functions of ColorTemperatureStrategy. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
SimpleColorTemperatureStrategy.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_SIMPLE_COLOR_TEMPERATURE_STRATEGY_H
24 #define INCLUDE_HUEPLUSPLUS_SIMPLE_COLOR_TEMPERATURE_STRATEGY_H
25 
27 #include "Light.h"
28 
29 namespace hueplusplus
30 {
33 {
34 public:
43  bool setColorTemperature(unsigned int mired, uint8_t transition, Light& light) const override;
51  bool alertTemperature(unsigned int mired, Light& light) const override;
58  unsigned int getColorTemperature(Light& light) const override;
65  unsigned int getColorTemperature(const Light& light) const override;
66 };
67 } // namespace hueplusplus
68 
69 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Functions
+
+
Snippets.cpp File Reference
+
+
+ +

Contains code snippets used in the documentation, performs no useful functions. +More...

+
#include <hueplusplus/Bridge.h>
+#include <hueplusplus/CLIPSensors.h>
+#include <hueplusplus/ZLLSensors.h>
+#include <hueplusplus/LinHttpHandler.h>
+
+ + Include dependency graph for Snippets.cpp:
+
+
+ +
+ + + + + + + + + + + +

+Functions

void snippet1 ()
 
void snippet2 ()
 
void snippet3 ()
 
void snippet4 ()
 
int main (int argc, char **argv)
 
+

Detailed Description

+

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/.

+

Function Documentation

+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
StateTransaction.cpp File Reference
+
+
+
#include "hueplusplus/StateTransaction.h"
+#include <set>
+#include "hueplusplus/HueExceptionMacro.h"
+#include "hueplusplus/Utils.h"
+
+ + Include dependency graph for StateTransaction.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
StateTransaction.h File Reference
+
+
+
#include <string>
+#include "Action.h"
+#include "ColorUnits.h"
+#include "HueCommandAPI.h"
+#include "json/json.hpp"
+
+ + Include dependency graph for StateTransaction.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::StateTransaction
 Transaction class which can be used for either light or group state. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
StateTransaction.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_STATE_TRANSACTION_H
24 #define INCLUDE_HUEPLUSPLUS_STATE_TRANSACTION_H
25 
26 #include <string>
27 
28 #include "Action.h"
29 #include "ColorUnits.h"
30 #include "HueCommandAPI.h"
31 
32 #include "json/json.hpp"
33 
34 namespace hueplusplus
35 {
62 {
63 public:
69  StateTransaction(const HueCommandAPI& commands, const std::string& path, nlohmann::json* currentState);
70 
72  StateTransaction(const StateTransaction&) = delete;
74 
86  bool commit(bool trimRequest = true);
87 
90  Action toAction();
91 
95  StateTransaction& setOn(bool on);
102  StateTransaction& setBrightness(uint8_t brightness);
108  StateTransaction& setColorHue(uint16_t hue);
114  StateTransaction& setColorSaturation(uint8_t saturation);
120  StateTransaction& setColor(const HueSaturation& hueSat);
121 
127  StateTransaction& setColor(const XY& xy);
139  StateTransaction& setColorTemperature(unsigned int mired);
145  StateTransaction& setColorLoop(bool on);
150  StateTransaction& incrementBrightness(int increment);
155  StateTransaction& incrementSaturation(int increment);
160  StateTransaction& incrementHue(int increment);
171  StateTransaction& incrementColorXY(float xInc, float yInc);
177  StateTransaction& setTransition(uint16_t transition);
189 
190 protected:
192  void trimRequest();
193 
194 protected:
196  std::string path;
197  nlohmann::json* state;
198  nlohmann::json request;
199 };
200 
201 } // namespace hueplusplus
202 
203 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces | +Functions
+
+
TimePattern.cpp File Reference
+
+
+
#include <cstdlib>
+#include <ctime>
+#include <hueplusplus/HueExceptionMacro.h>
+#include <hueplusplus/TimePattern.h>
+
+ + Include dependency graph for TimePattern.cpp:
+
+
+ +
+ + + + + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
 hueplusplus::time
 Namespace for time/date related classes and functions.
 
+ + + + + + + + + + + + + + + + +

+Functions

std::string hueplusplus::time::timepointToTimestamp (std::chrono::system_clock::time_point time)
 Converts a time_point to a timestamp string. More...
 
std::chrono::system_clock::time_point hueplusplus::time::parseTimestamp (const std::string &timestamp)
 Converts a timestamp to a time_point. More...
 
std::chrono::system_clock::time_point hueplusplus::time::parseUTCTimestamp (const std::string &timestamp)
 Converts an UTC timestamp to a time_point. More...
 
std::string hueplusplus::time::durationTo_hh_mm_ss (std::chrono::system_clock::duration duration)
 Converts duration to a time string. More...
 
std::chrono::system_clock::duration hueplusplus::time::parseDuration (const std::string &hourMinSec)
 Converts time string to a duration. More...
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces | +Functions
+
+
TimePattern.h File Reference
+
+
+
#include <chrono>
+#include <string>
+#include <cstddef>
+
+ + Include dependency graph for TimePattern.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  hueplusplus::time::AbsoluteTime
 One-time, absolute time point. More...
 
class  hueplusplus::time::AbsoluteVariedTime
 
class  hueplusplus::time::Weekdays
 Any number of days of the week. More...
 
class  hueplusplus::time::RecurringTime
 Time repeated weekly to daily, with possible random variation. More...
 
class  hueplusplus::time::TimeInterval
 Time interval repeated daily to weekly. More...
 
class  hueplusplus::time::Timer
 Timer that is started and triggers after specified delay. More...
 
class  hueplusplus::time::TimePattern
 Holds different time representations. More...
 
+ + + + + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
 hueplusplus::time
 Namespace for time/date related classes and functions.
 
+ + + + + + + + + + + + + + + + +

+Functions

std::string hueplusplus::time::timepointToTimestamp (std::chrono::system_clock::time_point time)
 Converts a time_point to a timestamp string. More...
 
std::chrono::system_clock::time_point hueplusplus::time::parseTimestamp (const std::string &timestamp)
 Converts a timestamp to a time_point. More...
 
std::chrono::system_clock::time_point hueplusplus::time::parseUTCTimestamp (const std::string &timestamp)
 Converts an UTC timestamp to a time_point. More...
 
std::string hueplusplus::time::durationTo_hh_mm_ss (std::chrono::system_clock::duration duration)
 Converts duration to a time string. More...
 
std::chrono::system_clock::duration hueplusplus::time::parseDuration (const std::string &hourMinSec)
 Converts time string to a duration. More...
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
TimePattern.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef INCLUDE_HUEPLUSPLUS_TIME_PATTERN
23 #define INCLUDE_HUEPLUSPLUS_TIME_PATTERN
24 
25 #include <chrono>
26 #include <string>
27 #include <cstddef>
28 
29 namespace hueplusplus
30 {
32 namespace time
33 {
41 std::string timepointToTimestamp(std::chrono::system_clock::time_point time);
42 
49 std::chrono::system_clock::time_point parseTimestamp(const std::string& timestamp);
50 
57 std::chrono::system_clock::time_point parseUTCTimestamp(const std::string& timestamp);
58 
63 std::string durationTo_hh_mm_ss(std::chrono::system_clock::duration duration);
64 
69 std::chrono::system_clock::duration parseDuration(const std::string& hourMinSec);
70 
73 {
74  using clock = std::chrono::system_clock;
75 
76 public:
79  explicit AbsoluteTime(clock::time_point baseTime);
80 
84  clock::time_point getBaseTime() const;
85 
89  std::string toString() const;
90 
94  static AbsoluteTime parse(const std::string& s);
95 
99  static AbsoluteTime parseUTC(const std::string& s);
100 
101 private:
102  clock::time_point base;
103 };
109 {
110  using clock = std::chrono::system_clock;
111 
112 public:
117  explicit AbsoluteVariedTime(clock::time_point baseTime, clock::duration variation = std::chrono::seconds(0));
118 
122  clock::duration getRandomVariation() const;
123 
130  std::string toString() const;
131 
135  static AbsoluteVariedTime parse(const std::string& s);
136 
137 private:
138  clock::duration variation;
139 };
140 
144 class Weekdays
145 {
146 public:
148  Weekdays() : bitmask(0) { }
151  explicit Weekdays(int num) : bitmask(1 << num) { }
152 
154  bool isNone() const;
156  bool isAll() const;
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;
171 
175  Weekdays unionWith(Weekdays other) const;
178  Weekdays operator|(Weekdays other) const { return unionWith(other); }
179 
182  std::string toString() const;
183 
185  static Weekdays none();
187  static Weekdays all();
189  static Weekdays monday();
191  static Weekdays tuesday();
193  static Weekdays wednesday();
195  static Weekdays thursday();
197  static Weekdays friday();
199  static Weekdays saturday();
201  static Weekdays sunday();
202 
206  static Weekdays parse(const std::string& s);
207 
209  bool operator==(const Weekdays& other) const { return bitmask == other.bitmask; }
211  bool operator!=(const Weekdays& other) const { return bitmask != other.bitmask; }
212 
213 private:
214  int bitmask;
215 };
216 
222 {
223  using clock = std::chrono::system_clock;
224 
225 public:
231  explicit RecurringTime(clock::duration daytime, Weekdays days, clock::duration variation = std::chrono::seconds(0));
232 
234  clock::duration getDaytime() const;
238  clock::duration getRandomVariation() const;
240  Weekdays getWeekdays() const;
241 
248  std::string toString() const;
249 
250 private:
251  clock::duration time;
252  clock::duration variation;
253  Weekdays days;
254 };
255 
261 {
262  using clock = std::chrono::system_clock;
263 
264 public:
269  TimeInterval(clock::duration start, clock::duration end, Weekdays days = Weekdays::all());
270 
272  clock::duration getStartTime() const;
274  clock::duration getEndTime() const;
276  Weekdays getWeekdays() const;
277 
284  std::string toString() const;
285 
286 private:
287  clock::duration start;
288  clock::duration end;
289  Weekdays days;
290 };
291 
296 class Timer
297 {
298  using clock = std::chrono::system_clock;
299 
300 public:
301  // \brief Used to represent infinite repetitions
302  static constexpr int infiniteExecutions = 0;
303 
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));
313 
315  bool isRecurring() const;
316 
319  int getNumberOfExecutions() const;
321  clock::duration getExpiryTime() const;
325  clock::duration getRandomVariation() const;
326 
339  std::string toString() const;
340 
341 private:
342  clock::duration expires;
343  clock::duration variation;
344  int numExecutions;
345 };
346 
352 {
353 public:
355  enum class Type
356  {
357  undefined,
358  absolute,
359  recurring,
360  interval,
361  timer
362  };
363 
365  TimePattern();
367  ~TimePattern();
369  explicit TimePattern(const AbsoluteVariedTime& absolute);
371  explicit TimePattern(const RecurringTime& recurring);
373  explicit TimePattern(const TimeInterval& interval);
375  explicit TimePattern(const Timer& timer);
376 
378  TimePattern(const TimePattern& other);
379 
381  TimePattern& operator=(const TimePattern& other);
382 
386  Type getType() const;
387 
390  AbsoluteVariedTime asAbsolute() const;
391 
394  RecurringTime asRecurring() const;
395 
398  TimeInterval asInterval() const;
399 
402  Timer asTimer() const;
403 
407  std::string toString() const;
408 
416  static TimePattern parse(const std::string& s);
417 
418 private:
420  void destroy();
421 
422 private:
423  Type type;
424  union
425  {
426  std::nullptr_t undefined;
431  };
432 };
433 } // namespace time
434 } // namespace hueplusplus
435 
436 #endif
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 &timestamp)
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 &timestamp)
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
doc/markdown/Transactions.md File Reference
+
+
+
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
UPnP.cpp File Reference
+
+
+
#include "hueplusplus/UPnP.h"
+#include <algorithm>
+#include <iostream>
+#include "hueplusplus/LibConfig.h"
+
+ + Include dependency graph for UPnP.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
UPnP.h File Reference
+
+
+
#include <memory>
+#include <string>
+#include <vector>
+#include "IHttpHandler.h"
+
+ + Include dependency graph for UPnP.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::UPnP
 Class that looks for UPnP devices using an m-search package. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
UPnP.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_UPNP_H
24 #define INCLUDE_HUEPLUSPLUS_UPNP_H
25 
26 #include <memory>
27 #include <string>
28 #include <vector>
29 
30 #include "IHttpHandler.h"
31 
32 namespace hueplusplus
33 {
35 class UPnP
36 {
37 public:
45  std::vector<std::pair<std::string, std::string>> getDevices(std::shared_ptr<const IHttpHandler> handler);
46 };
47 } // namespace hueplusplus
48 
49 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Typedefs | +Functions
+
+
UsernameConfig.cpp File Reference
+
+
+
#include <algorithm>
+#include <fstream>
+#include <iomanip>
+#include <iostream>
+#include <hueplusplus/Bridge.h>
+#include <hueplusplus/LinHttpHandler.h>
+
+ + Include dependency graph for UsernameConfig.cpp:
+
+
+ +
+ + + +

+Typedefs

using SystemHttpHandler = hueplusplus::LinHttpHandler
 
+ + + + + + + + + +

+Functions

nlohmann::json readConfigFile (const std::string &filename)
 
void saveConfigFile (const std::string &filename, const nlohmann::json &config)
 
hue::Bridge connectToBridge (const std::string &username, const std::string &macAddress)
 
int main (int argc, char **argv)
 
+

Detailed Description

+

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/.

+

Typedef Documentation

+ +

◆ SystemHttpHandler

+ +
+
+ +
+
+

Function Documentation

+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces | +Functions
+
+
Utils.cpp File Reference
+
+
+
#include "hueplusplus/Utils.h"
+#include <iostream>
+
+ + Include dependency graph for Utils.cpp:
+
+
+ +
+ + + + + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
 hueplusplus::utils
 Utility functions used in multiple places.
 
+ + + + + + +

+Functions

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. More...
 
bool hueplusplus::utils::validateReplyForLight (const nlohmann::json &request, const nlohmann::json &reply, int lightId)
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces | +Functions
+
+
Utils.h File Reference
+
+
+
#include "json/json.hpp"
+
+ + Include dependency graph for Utils.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
 hueplusplus::utils
 Utility functions used in multiple places.
 
+ + + + + + + + + + + + + +

+Functions

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. More...
 
bool hueplusplus::utils::validateReplyForLight (const nlohmann::json &request, const nlohmann::json &reply, int lightId)
 
bool hueplusplus::utils::floatEquals (float lhs, float rhs)
 Checks equality to 4 decimal places. More...
 
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. More...
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
Utils.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_UTILS_H
24 #define INCLUDE_HUEPLUSPLUS_UTILS_H
25 
26 #include "json/json.hpp"
27 
28 namespace hueplusplus
29 {
31 namespace utils
32 {
33 namespace detail
34 {
35 // Forward declaration
36 template <typename KeyT, typename... Paths>
37 nlohmann::json safeGetMemberHelper(const nlohmann::json& json, std::size_t index, Paths&&... otherPaths);
38 
39 inline nlohmann::json safeGetMemberHelper(const nlohmann::json& json)
40 {
41  return json;
42 }
43 
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)
47 {
48  auto memberIt = json.find(std::forward<KeyT>(key));
49  if (memberIt == json.end())
50  {
51  return nullptr;
52  }
53  return safeGetMemberHelper(*memberIt, std::forward<Paths>(otherPaths)...);
54 }
55 
56 // Needs to be after the other safeGetMemberHelper, otherwise another forward declaration is needed
57 template <typename... Paths>
58 nlohmann::json safeGetMemberHelper(const nlohmann::json& json, std::size_t index, Paths&&... otherPaths)
59 {
60  if (!json.is_array() || json.size() <= index)
61  {
62  return nullptr;
63  }
64  return safeGetMemberHelper(json[index], std::forward<Paths>(otherPaths)...);
65 }
66 } // namespace detail
67 
74 bool validatePUTReply(const std::string& path, const nlohmann::json& request, const nlohmann::json& reply);
75 
76 bool validateReplyForLight(const nlohmann::json& request, const nlohmann::json& reply, int lightId);
77 
81 inline bool floatEquals(float lhs, float rhs)
82 {
83  return std::abs(lhs - rhs) <= 1E-4f;
84 }
85 
91 template <typename... Paths>
92 nlohmann::json safeGetMember(const nlohmann::json& json, Paths&&... paths)
93 {
94  return detail::safeGetMemberHelper(json, std::forward<Paths>(paths)...);
95 }
96 
97 } // namespace utils
98 
99 namespace detail
100 {
106 template <typename T>
107 class MakeCopyable : public T
108 {
109 public:
110  // Make copy constructor and assignment operator public
111  using T::T;
112  using T::operator=;
113 };
114 } // namespace detail
115 } // namespace hueplusplus
116 
117 #endif
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces
+
+
WinHttpHandler.cpp File Reference
+
+
+
#include "hueplusplus/WinHttpHandler.h"
+#include <chrono>
+#include <iostream>
+#include <memory>
+#include <system_error>
+#include <stdio.h>
+#include <ws2tcpip.h>
+
+ + Include dependency graph for WinHttpHandler.cpp:
+
+
+ +
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces
+
+
WinHttpHandler.h File Reference
+
+
+
#include <string>
+#include <vector>
+#include <winsock2.h>
+#include "BaseHttpHandler.h"
+
+ + Include dependency graph for WinHttpHandler.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + +

+Classes

class  hueplusplus::WinHttpHandler
 Class to handle http requests and multicast requests on windows systems. More...
 
+ + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
WinHttpHandler.h
+
+
+Go to the documentation of this file.
1 
23 #ifndef INCLUDE_HUEPLUSPLUS_WINHTTPHANDLER_H
24 #define INCLUDE_HUEPLUSPLUS_WINHTTPHANDLER_H
25 
26 #include <string>
27 #include <vector>
28 
29 #include <winsock2.h>
30 
31 #include "BaseHttpHandler.h"
32 
33 namespace hueplusplus
34 {
37 {
38 public:
41 
44 
53  std::string send(const std::string& msg, const std::string& adr, int port = 80) const override;
54 
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;
66 
67 private:
68  WSADATA wsaData;
69 };
70 } // namespace hueplusplus
71 
72 #endif
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Namespaces | +Functions
+
+
ZLLSensors.cpp File Reference
+
+
+
#include "hueplusplus/ZLLSensors.h"
+#include "hueplusplus/HueExceptionMacro.h"
+
+ + Include dependency graph for ZLLSensors.cpp:
+
+
+ +
+ + + + + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
 hueplusplus::sensors
 Classes for specific sensor types.
 
+ + + + + + + +

+Functions

detail::ConditionHelper< bool > hueplusplus::sensors::makeConditionDark (const ZLLLightLevel &sensor)
 
detail::ConditionHelper< bool > hueplusplus::sensors::makeConditionDaylight (const ZLLLightLevel &sensor)
 
detail::ConditionHelper< int > hueplusplus::sensors::makeConditionLightLevel (const ZLLLightLevel &sensor)
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Namespaces | +Functions
+
+
ZLLSensors.h File Reference
+
+
+
#include "Sensor.h"
+
+ + Include dependency graph for ZLLSensors.h:
+
+
+ +
+ + This graph shows which files directly or indirectly include this file:
+
+
+ +
+

Go to the source code of this file.

+ + + + + + + + + + + + + + + + + +

+Classes

class  hueplusplus::sensors::ZGPSwitch
 ZigBee Green Power sensor for button presses. More...
 
class  hueplusplus::sensors::ZLLSwitch
 ZigBee sensor reporting button presses. More...
 
class  hueplusplus::sensors::ZLLPresence
 Sensor detecting presence in the vicinity. More...
 
class  hueplusplus::sensors::ZLLTemperature
 ZigBee temperature sensor. More...
 
class  hueplusplus::sensors::ZLLLightLevel
 ZigBee sensor detecting ambient light level. More...
 
+ + + + + + + +

+Namespaces

 hueplusplus
 Namespace for the hueplusplus library.
 
 hueplusplus::sensors
 Classes for specific sensor types.
 
+ + + + + + + +

+Functions

detail::ConditionHelper< bool > hueplusplus::sensors::makeConditionDark (const ZLLLightLevel &sensor)
 
detail::ConditionHelper< bool > hueplusplus::sensors::makeConditionDaylight (const ZLLLightLevel &sensor)
 
detail::ConditionHelper< int > hueplusplus::sensors::makeConditionLightLevel (const ZLLLightLevel &sensor)
 
+

Detailed Description

+

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
ZLLSensors.h
+
+
+Go to the documentation of this file.
1 
22 #ifndef INCLUDE_HUEPLUSPLUS_ZLL_SENSORS_H
23 #define INCLUDE_HUEPLUSPLUS_ZLL_SENSORS_H
24 
25 #include "Sensor.h"
26 
27 namespace hueplusplus
28 {
29 namespace sensors
30 {
32 class ZGPSwitch : public BaseDevice
33 {
34 public:
36  explicit ZGPSwitch(Sensor sensor) : BaseDevice(std::move(sensor)) { }
37 
41  bool isOn() const;
47  void setOn(bool on);
48 
52  int getButtonEvent() const;
53 
55  static constexpr int c_button1 = 34;
57  static constexpr int c_button2 = 16;
59  static constexpr int c_button3 = 17;
61  static constexpr int c_button4 = 18;
62 
64  static constexpr const char* typeStr = "ZGPSwitch";
65 };
66 
68 class ZLLSwitch : public BaseDevice
69 {
70 public:
72  explicit ZLLSwitch(Sensor sensor) : BaseDevice(std::move(sensor)) { }
73 
77  bool isOn() const;
83  void setOn(bool on);
84 
86  bool hasBatteryState() const;
89  int getBatteryState() const;
90 
93  Alert getLastAlert() const;
99  void sendAlert(Alert type);
100 
102  bool isReachable() const;
103 
107  int getButtonEvent() const;
108 
112  time::AbsoluteTime getLastUpdated() const;
113 
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;
146 
148  static constexpr const char* typeStr = "ZLLSwitch";
149 };
150 
152 class ZLLPresence : public BaseDevice
153 {
154 public:
156  explicit ZLLPresence(Sensor sensor) : BaseDevice(std::move(sensor)) { }
157 
161  bool isOn() const;
167  void setOn(bool on);
168 
170  bool hasBatteryState() const;
173  int getBatteryState() const;
174 
177  Alert getLastAlert() const;
183  void sendAlert(Alert type);
184 
186  bool isReachable() const;
187 
189  int getSensitivity() const;
191  int getMaxSensitivity() const;
194  void setSensitivity(int sensitivity);
195 
197  bool getPresence() const;
198 
202  time::AbsoluteTime getLastUpdated() const;
203 
205  static constexpr const char* typeStr = "ZLLPresence";
206 };
207 
210 {
211 public:
213  explicit ZLLTemperature(Sensor sensor) : BaseDevice(std::move(sensor)) { }
214 
218  bool isOn() const;
224  void setOn(bool on);
225 
227  bool hasBatteryState() const;
230  int getBatteryState() const;
231 
234  Alert getLastAlert() const;
240  void sendAlert(Alert type);
241 
243  bool isReachable() const;
244 
247  int getTemperature() const;
248 
252  time::AbsoluteTime getLastUpdated() const;
253 
255  static constexpr const char* typeStr = "ZLLTemperature";
256 };
257 
259 class ZLLLightLevel : public BaseDevice
260 {
261 public:
263  explicit ZLLLightLevel(Sensor sensor) : BaseDevice(std::move(sensor)) { }
264 
268  bool isOn() const;
274  void setOn(bool on);
275 
277  bool hasBatteryState() const;
280  int getBatteryState() const;
281 
283  bool isReachable() const;
284 
286  int getDarkThreshold() const;
293  void setDarkThreshold(int threshold);
295  int getThresholdOffset() const;
302  void setThresholdOffset(int offset);
303 
306  int getLightLevel() const;
308  bool isDark() const;
312  bool isDaylight() const;
313 
317  time::AbsoluteTime getLastUpdated() const;
318 
320  static constexpr const char* typeStr = "ZLLLightLevel";
321 };
322 
323 detail::ConditionHelper<bool> makeConditionDark(const ZLLLightLevel& sensor);
324 detail::ConditionHelper<bool> makeConditionDaylight(const ZLLLightLevel& sensor);
325 detail::ConditionHelper<int> makeConditionLightLevel(const ZLLLightLevel& sensor);
326 } // namespace sensors
327 } // namespace hueplusplus
328 
329 #endif
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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class List
+
+
+
Here are the classes, structs, unions and interfaces with brief descriptions:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 NhueplusplusNamespace for the hueplusplus library
 NsensorsClasses for specific sensor types
 CBaseCLIPCommon methods for CLIP sensors
 CCLIPGenericFlagCLIP sensor for a generic 3rd party sensor
 CCLIPGenericStatusCLIP sensor for a generic 3rd party status
 CCLIPHumidityCLIP sensor for humidity
 CCLIPLightLevelCLIP sensor for light level
 CCLIPOpenCloseCLIP sensor detecting whether a contact is open or closed
 CCLIPPresenceCLIP sensor to detect presence
 CCLIPSwitchCLIP sensor for button presses
 CCLIPTemperatureCLIP sensor for temperature
 CDaylightSensorDaylight sensor to detect sunrise and sunset
 CZGPSwitchZigBee Green Power sensor for button presses
 CZLLLightLevelZigBee sensor detecting ambient light level
 CZLLPresenceSensor detecting presence in the vicinity
 CZLLSwitchZigBee sensor reporting button presses
 CZLLTemperatureZigBee temperature sensor
 NtimeNamespace for time/date related classes and functions
 CAbsoluteTimeOne-time, absolute time point
 CAbsoluteVariedTime
 CRecurringTimeTime repeated weekly to daily, with possible random variation
 CTimeIntervalTime interval repeated daily to weekly
 CTimePatternHolds different time representations
 CTimerTimer that is started and triggers after specified delay
 CWeekdaysAny number of days of the week
 CActionAction executed by the bridge, e.g. as a Schedule command
 CAPICacheCaches API GET requests and refreshes regularly
 CBaseDeviceBase class for physical devices connected to the bridge (sensor or light)
 CBaseHttpHandlerBase class for classes that handle http requests and multicast requests
 CBridgeBridge class for a bridge
 CBridgeConfigGeneral bridge configuration properties
 CBridgeFinder
 CBridgeIdentification
 CBrightnessStrategyVirtual base class for all BrightnessStrategies
 CColorGamutTriangle of representable colors in CIE
 CColorHueStrategyVirtual base class for all ColorHueStrategies
 CColorTemperatureStrategyVirtual base class for all ColorTemperatureStrategies
 CConditionCondition for a Rule
 CConfigConfigurable delays
 CCreateableResourceListHandles a ResourceList where Resources can be added by the user
 CCreateGroupParameters necessary for creating a new Group
 CCreateRuleParameters for creating a new Rule
 CCreateSceneParameters for creating a new Scene
 CCreateScheduleParameters for creating a new Schedule
 CCreateSensorParameters for creating a new Sensor
 CEntertainmentModeClass for Hue Entertainment Mode
 CExtendedColorHueStrategy
 CExtendedColorTemperatureStrategyClass implementing the functions of ColorTemperatureStrategy
 CFileInfoContains information about error location, use CURRENT_FILE_INFO to create
 CGroupClass for Groups of lights
 CGroupResourceListHandles a group list with the special group 0
 CHueAPIResponseExceptionException caused by a Hue API "error" response with additional information
 CHueCommandAPI
 CHueExceptionException class with file information. Base class of all custom exception classes
 CHueSaturationColor in hue and saturation
 CIHttpHandlerAbstract class for classes that handle http requests and multicast requests
 CLightClass for Hue Light fixtures
 CLightFactory
 CLightStateImmutable state of a light
 CLightStateBuilderBuilder to create LightState
 CLinHttpHandlerClass to handle http requests and multicast requests on linux systems
 CNewDeviceListList of new devices found during the last scan
 CResourceListHandles a list of a certain API resource
 CRGBColor in RGB
 CRuleRule stored in the bridge
 CSceneScene stored in the bridge
 CScheduleSchedule stored in the bridge
 CSearchableResourceListHandles a ResourceList of physical devices which can be searched for
 CSensorClass for generic or unknown sensor types
 CSensorListHandles a list of Sensors with type specific getters
 CSimpleBrightnessStrategyClass implementing the functions of BrightnessStrategy
 CSimpleColorHueStrategy
 CSimpleColorTemperatureStrategyClass implementing the functions of ColorTemperatureStrategy
 CSocketCloser
 CStateTransactionTransaction class which can be used for either light or group state
 CTLSContext
 CUPnPClass that looks for UPnP devices using an m-search package
 CVersionAPI version consisting of major, minor and patch version
 CWhitelistedUserUser that is whitelisted for Hue API usage
 CWinHttpHandlerClass to handle http requests and multicast requests on windows systems
 CXYColor in CIE x and y coordinates
 CXYBrightnessColor and brightness in CIE
+
+
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
Build and install
+
+
+

Table of Contents

+ +
+

+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

make coveragetest

+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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Index
+
+
+
a | b | c | d | e | f | g | h | i | l | n | r | s | t | u | v | w | x | z
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  a  
+
CLIPSwitch (hueplusplus::sensors)   
  g  
+
ResourceList (hueplusplus)   
  v  
+
CLIPTemperature (hueplusplus::sensors)   RGB (hueplusplus)   
AbsoluteTime (hueplusplus::time)   ColorGamut (hueplusplus)   Group (hueplusplus)   Rule (hueplusplus)   Version (hueplusplus)   
AbsoluteVariedTime (hueplusplus::time)   ColorHueStrategy (hueplusplus)   GroupResourceList (hueplusplus)   
  s  
+
  w  
+
Action (hueplusplus)   ColorTemperatureStrategy (hueplusplus)   
  h  
+
APICache (hueplusplus)   Condition (hueplusplus)   Scene (hueplusplus)   Weekdays (hueplusplus::time)   
  b  
+
Config (hueplusplus)   HueAPIResponseException (hueplusplus)   Schedule (hueplusplus)   WhitelistedUser (hueplusplus)   
CreateableResourceList (hueplusplus)   HueCommandAPI (hueplusplus)   SearchableResourceList (hueplusplus)   WinHttpHandler (hueplusplus)   
BaseCLIP (hueplusplus::sensors)   CreateGroup (hueplusplus)   HueException (hueplusplus)   Sensor (hueplusplus)   
  x  
+
BaseDevice (hueplusplus)   CreateRule (hueplusplus)   HueSaturation (hueplusplus)   SensorList (hueplusplus)   
BaseHttpHandler (hueplusplus)   CreateScene (hueplusplus)   
  i  
+
SimpleBrightnessStrategy (hueplusplus)   XY (hueplusplus)   
Bridge (hueplusplus)   CreateSchedule (hueplusplus)   SimpleColorHueStrategy (hueplusplus)   XYBrightness (hueplusplus)   
BridgeConfig (hueplusplus)   CreateSensor (hueplusplus)   IHttpHandler (hueplusplus)   SimpleColorTemperatureStrategy (hueplusplus)   
  z  
+
BridgeFinder (hueplusplus)   
  d  
+
  l  
+
SocketCloser (hueplusplus)   
BridgeFinder::BridgeIdentification (hueplusplus)   StateTransaction (hueplusplus)   ZGPSwitch (hueplusplus::sensors)   
BrightnessStrategy (hueplusplus)   DaylightSensor (hueplusplus::sensors)   Light (hueplusplus)   
  t  
+
ZLLLightLevel (hueplusplus::sensors)   
  c  
+
  e  
+
LightFactory (hueplusplus)   ZLLPresence (hueplusplus::sensors)   
LightState (hueplusplus)   TimeInterval (hueplusplus::time)   ZLLSwitch (hueplusplus::sensors)   
CLIPGenericFlag (hueplusplus::sensors)   EntertainmentMode (hueplusplus)   LightStateBuilder (hueplusplus)   TimePattern (hueplusplus::time)   ZLLTemperature (hueplusplus::sensors)   
CLIPGenericStatus (hueplusplus::sensors)   ExtendedColorHueStrategy (hueplusplus)   LinHttpHandler (hueplusplus)   Timer (hueplusplus::time)   
CLIPHumidity (hueplusplus::sensors)   ExtendedColorTemperatureStrategy (hueplusplus)   
  n  
+
TLSContext (hueplusplus)   
CLIPLightLevel (hueplusplus::sensors)   
  f  
+
  u  
+
CLIPOpenClose (hueplusplus::sensors)   NewDeviceList (hueplusplus)   
CLIPPresence (hueplusplus::sensors)   FileInfo (hueplusplus)   
  r  
+
UPnP (hueplusplus)   
RecurringTime (hueplusplus::time)   
+
a | b | c | d | e | f | g | h | i | l | n | r | s | t | u | v | w | x | z
+
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::APICache Member List
+
+
+ +

This is the complete list of members for hueplusplus::APICache, including all inherited members.

+ + + + + + + + + + + +
APICache(std::shared_ptr< APICache > baseCache, const std::string &subEntry, std::chrono::steady_clock::duration refresh)hueplusplus::APICache
APICache(const std::string &path, const HueCommandAPI &commands, std::chrono::steady_clock::duration refresh, const nlohmann::json &initial)hueplusplus::APICache
getCommandAPI()hueplusplus::APICache
getCommandAPI() consthueplusplus::APICache
getRefreshDuration() consthueplusplus::APICache
getRequestPath() consthueplusplus::APICache
getValue()hueplusplus::APICache
getValue() consthueplusplus::APICache
refresh()hueplusplus::APICache
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::APICache
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::APICache Class Reference
+
+
+ +

Caches API GET requests and refreshes regularly. + More...

+ +

#include <hueplusplus/APICache.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 APICache (std::shared_ptr< APICache > baseCache, const std::string &subEntry, std::chrono::steady_clock::duration refresh)
 Constructs APICache which forwards to a base cache. More...
 
 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. More...
 
void refresh ()
 Refresh cache now. More...
 
nlohmann::json & getValue ()
 Get cached value, refresh if necessary. More...
 
const nlohmann::json & getValue () const
 Get cached value, does not refresh. More...
 
void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
 Set duration after which the cache is refreshed. More...
 
std::chrono::steady_clock::duration getRefreshDuration () const
 Get duration between refreshes. More...
 
HueCommandAPIgetCommandAPI ()
 Get HueCommandAPI used for requests. More...
 
const HueCommandAPIgetCommandAPI () const
 Get HueCommandAPI used for requests. More...
 
std::string getRequestPath () const
 Get path the cache is refreshed from. More...
 
+

Detailed Description

+

Caches API GET requests and refreshes regularly.

+

Constructor & Destructor Documentation

+ +

◆ APICache() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::APICache::APICache (std::shared_ptr< APICachebaseCache,
const std::string & subEntry,
std::chrono::steady_clock::duration refresh 
)
+
+ +

Constructs APICache which forwards to a base cache.

+
Parameters
+ + + + +
baseCacheBase cache providing a parent state, must not be nullptr
subEntryKey of the child to use in the base cache
refreshInterval 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 HueCommandAPIcommands,
std::chrono::steady_clock::duration refresh,
const nlohmann::json & initial 
)
+
+ +

Constructs APICache with an own internal json cache.

+
Parameters
+ + + + + +
pathURL appended after username, may be empty.
commandsHueCommandAPI for making API requests.
refreshInterval between cache refreshing. May be 0 to always refresh.
initialInitial value, may be null. If present, assumes the value is up to date.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getCommandAPI() [1/2]

+ +
+
+ + + + + + + +
HueCommandAPI & hueplusplus::APICache::getCommandAPI ()
+
+ +

Get HueCommandAPI used for requests.

+ +
+
+ +

◆ getCommandAPI() [2/2]

+ +
+
+ + + + + + + +
const HueCommandAPI & hueplusplus::APICache::getCommandAPI () const
+
+ +

Get HueCommandAPI used for requests.

+ +
+
+ +

◆ getRefreshDuration()

+ +
+
+ + + + + + + +
std::chrono::steady_clock::duration hueplusplus::APICache::getRefreshDuration () const
+
+ +

Get duration between refreshes.

+ +
+
+ +

◆ getRequestPath()

+ +
+
+ + + + + + + +
std::string hueplusplus::APICache::getRequestPath () const
+
+ +

Get path the cache is refreshed from.

+
Returns
Request path as passed to HueCommandAPI::GETRequest
+ +
+
+ +

◆ getValue() [1/2]

+ +
+
+ + + + + + + +
nlohmann::json & hueplusplus::APICache::getValue ()
+
+ +

Get cached value, refresh if necessary.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ getValue() [2/2]

+ +
+
+ + + + + + + +
const nlohmann::json & hueplusplus::APICache::getValue () const
+
+ +

Get cached value, does not refresh.

+
Exceptions
+ + +
HueExceptionwhen no previous request was cached
+
+
+ +
+
+ +

◆ refresh()

+ +
+
+ + + + + + + +
void hueplusplus::APICache::refresh ()
+
+ +

Refresh cache now.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+ + +
refreshDurationInterval 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::Action Member List
+
+
+ +

This is the complete list of members for hueplusplus::Action, including all inherited members.

+ + + + + + + + + +
Action(const nlohmann::json &json)hueplusplus::Actionexplicit
getAddress() consthueplusplus::Action
getBody() consthueplusplus::Action
getMethod() consthueplusplus::Action
Method enum namehueplusplus::Action
methodToString(Method m)hueplusplus::Actionstatic
parseMethod(const std::string &s)hueplusplus::Actionstatic
toJson() consthueplusplus::Action
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +Static Public Member Functions | +List of all members
+
+
hueplusplus::Action Class Reference
+
+
+ +

Action executed by the bridge, e.g. as a Schedule command. + More...

+ +

#include <hueplusplus/Action.h>

+ + + + + +

+Public Types

enum  Method { Method::post, +Method::put, +Method::deleteMethod + }
 Method used for the command. More...
 
+ + + + + + + + + + + + + + + + +

+Public Member Functions

 Action (const nlohmann::json &json)
 Create Action from json. More...
 
std::string getAddress () const
 Get address the request is made to. More...
 
Method getMethod () const
 Get request method. More...
 
const nlohmann::json & getBody () const
 Get request body. More...
 
const nlohmann::json & toJson () const
 Get json object of command. More...
 
+ + + + + + + +

+Static Public Member Functions

static Method parseMethod (const std::string &s)
 Parse Method from string. More...
 
static std::string methodToString (Method m)
 Get string from Method. More...
 
+

Detailed Description

+

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().

+

Member Enumeration Documentation

+ +

◆ Method

+ +
+
+ + + + + +
+ + + + +
enum hueplusplus::Action::Method
+
+strong
+
+ +

Method used for the command.

+ + + + +
Enumerator
post 

POST request.

+
put 

PUT request.

+
deleteMethod 

DELETE request.

+
+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Action()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::Action::Action (const nlohmann::json & json)
+
+explicit
+
+ +

Create Action from json.

+
Parameters
+ + +
jsonJSON object with address, method and body
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getAddress()

+ +
+
+ + + + + + + +
std::string hueplusplus::Action::getAddress () const
+
+ +

Get address the request is made to.

+ +
+
+ +

◆ getBody()

+ +
+
+ + + + + + + +
const nlohmann::json & hueplusplus::Action::getBody () const
+
+ +

Get request body.

+ +
+
+ +

◆ getMethod()

+ +
+
+ + + + + + + +
Action::Method hueplusplus::Action::getMethod () const
+
+ +

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
+ + +
sPOST, PUT or DELETE
+
+
+ +
+
+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::BaseDevice Member List
+
+
+ +

This is the complete list of members for hueplusplus::BaseDevice, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
getId() consthueplusplus::BaseDevicevirtual
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
idhueplusplus::BaseDeviceprotected
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
statehueplusplus::BaseDeviceprotected
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +Protected Attributes | +List of all members
+
+
hueplusplus::BaseDevice Class Reference
+
+
+ +

Base class for physical devices connected to the bridge (sensor or light). + More...

+ +

#include <hueplusplus/BaseDevice.h>

+
+ + Inheritance diagram for hueplusplus::BaseDevice:
+
+
+ +
+ + Collaboration diagram for hueplusplus::BaseDevice:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

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...
 
+ + + + + + + + + + +

+Protected Member Functions

 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 &currentState)
 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...
 
+ + + + + + + +

+Protected Attributes

int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

Base class for physical devices connected to the bridge (sensor or light).

+

Constructor & Destructor Documentation

+ +

◆ ~BaseDevice()

+ +
+
+ + + + + +
+ + + + + + + +
virtual hueplusplus::BaseDevice::~BaseDevice ()
+
+virtualdefault
+
+ +

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
+ + + +
idInteger that specifies the id of this device
baseCacheCache of the ResourceList containing this device (must not be null).
+
+
+ +
+
+ +

◆ BaseDevice() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::BaseDevice::BaseDevice (int id,
const HueCommandAPIcommands,
const std::string & path,
std::chrono::steady_clock::duration refreshDuration,
const nlohmann::json & currentState 
)
+
+protected
+
+ +

Protected ctor that is used by subclasses.

+
Parameters
+ + + + + + +
idInteger that specifies the id of this device
commandsHueCommandAPI for communication with the bridge
pathBase path for the resource type, ending with a '/'. Example: "/lights/"
refreshDurationTime between refreshing the cached state.
currentStateCurrent state of the device, may be null.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+ + +
forcetrue 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ sendPutRequest()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
nlohmann::json hueplusplus::BaseDevice::sendPutRequest (const std::string & subPath,
const nlohmann::json & request,
FileInfo fileInfo 
)
+
+protectedvirtual
+
+ +

Utility function to send a put request to the device.

+
Parameters
+ + + + +
subPathA path that is appended to the uri, note it should always start with a slash ("/")
requestA nlohmann::json aka the request to send
fileInfoFileInfo from calling function for exception details.
+
+
+
Returns
The parsed reply
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+ + +
refreshDurationThe new minimum duration between refreshes. May be 0 or c_refreshNever.
+
+
+ +
+
+

Member Data Documentation

+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::BaseHttpHandler Member List
+
+
+ +

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::BaseHttpHandlervirtual
DELETEString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
GETJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
GETString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
POSTJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
POSTString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
PUTJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
PUTString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
send(const std::string &msg, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandlerpure virtual
sendGetHTTPBody(const std::string &msg, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
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::BaseHttpHandlervirtual
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::IHttpHandlerpure virtual
~BaseHttpHandler()=defaulthueplusplus::BaseHttpHandlervirtual
~IHttpHandler()=defaulthueplusplus::IHttpHandlervirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::BaseHttpHandler Class Reference
+
+
+ +

Base class for classes that handle http requests and multicast requests. + More...

+ +

#include <hueplusplus/BaseHttpHandler.h>

+
+ + Inheritance diagram for hueplusplus::BaseHttpHandler:
+
+
+ +
+ + Collaboration diagram for hueplusplus::BaseHttpHandler:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

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...
 
+

Detailed Description

+

Base class for classes that handle http requests and multicast requests.

+

Constructor & Destructor Documentation

+ +

◆ ~BaseHttpHandler()

+ +
+
+ + + + + +
+ + + + + + + +
virtual hueplusplus::BaseHttpHandler::~BaseHttpHandler ()
+
+virtualdefault
+
+ +

Virtual dtor.

+ +
+
+

Member Function Documentation

+ +

◆ DELETEJson()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
nlohmann::json hueplusplus::BaseHttpHandler::DELETEJson (const std::string & uri,
const nlohmann::json & body,
const std::string & adr,
int port = 80 
) const
+
+overridevirtual
+
+ +

Send a HTTP DELETE request to the specified host and return the body of the response parsed as JSON.

+
Parameters
+ + + + + +
uriUniform Resource Identifier in the request
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional port the request is sent to, default is 80
+
+
+
Returns
Parsed body of the response of the host
+
Exceptions
+ + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
nlohmann::json::parse_errorwhen 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
+
+overridevirtual
+
+ +

Send a HTTP DELETE request to the specified host and return the body of the response.

+
Parameters
+ + + + + + +
uriUniform Resource Identifier in the request
contentTypeMIME type of the body data e.g. "text/html", "application/json", ...
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional 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_errorwhen system or socket operations fail
HueExceptionwhen 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
+
+overridevirtual
+
+ +

Send a HTTP GET request to the specified host and return the body of the response parsed as JSON.

+
Parameters
+ + + + + +
uriUniform Resource Identifier in the request
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional port the request is sent to, default is 80
+
+
+
Returns
Parsed body of the response of the host
+
Exceptions
+ + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
nlohmann::json::parse_errorwhen 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
+
+overridevirtual
+
+ +

Send a HTTP GET request to the specified host and return the body of the response.

+
Parameters
+ + + + + + +
uriUniform Resource Identifier in the request
contentTypeMIME type of the body data e.g. "text/html", "application/json", ...
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional 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_errorwhen system or socket operations fail
HueExceptionwhen 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
+
+overridevirtual
+
+ +

Send a HTTP POST request to the specified host and return the body of the response parsed as JSON.

+
Parameters
+ + + + + +
uriUniform Resource Identifier in the request
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional port the request is sent to, default is 80
+
+
+
Returns
Parsed body of the response of the host
+
Exceptions
+ + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
nlohmann::json::parse_errorwhen 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
+
+overridevirtual
+
+ +

Send a HTTP POST request to the specified host and return the body of the response.

+
Parameters
+ + + + + + +
uriUniform Resource Identifier in the request
contentTypeMIME type of the body data e.g. "text/html", "application/json", ...
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional 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_errorwhen system or socket operations fail
HueExceptionwhen 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
+
+overridevirtual
+
+ +

Send a HTTP PUT request to the specified host and return the body of the response parsed as JSON.

+
Parameters
+ + + + + +
uriUniform Resource Identifier in the request
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional port the request is sent to, default is 80
+
+
+
Returns
Parsed body of the response of the host
+
Exceptions
+ + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
nlohmann::json::parse_errorwhen 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
+
+overridevirtual
+
+ +

Send a HTTP PUT request to the specified host and return the body of the response.

+
Parameters
+ + + + + + +
uriUniform Resource Identifier in the request
contentTypeMIME type of the body data e.g. "text/html", "application/json", ...
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional 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_errorwhen system or socket operations fail
HueExceptionwhen 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
+
+overridevirtual
+
+ +

Send a message to a specified host and return the body of the response.

+
Parameters
+ + + + +
msgThe message that should sent to the specified address
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional port the request is sent to, default is 80
+
+
+
Returns
The body of the response of the host as a string
+
Exceptions
+ + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen 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
+
+overridevirtual
+
+ +

Send a HTTP request with the given method to the specified host and return the body of the response.

+
Parameters
+ + + + + + + +
methodHTTP method type e.g. GET, HEAD, POST, PUT, DELETE, ...
uriUniform Resource Identifier in the request
contentTypeMIME type of the body data e.g. "text/html", "application/json", ...
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional port the request is sent to, default is 80
+
+
+
Returns
Body of the response of the host
+
Exceptions
+ + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::Bridge Member List
+
+
+ +

This is the complete list of members for hueplusplus::Bridge, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
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)hueplusplus::Bridge
BridgeFinder classhueplusplus::Bridgefriend
config()hueplusplus::Bridge
config() consthueplusplus::Bridge
getBridgeIP() consthueplusplus::Bridge
getBridgePort() consthueplusplus::Bridge
getClientKey() consthueplusplus::Bridge
getUsername() consthueplusplus::Bridge
GroupList typedefhueplusplus::Bridge
groups()hueplusplus::Bridge
groups() consthueplusplus::Bridge
LightList typedefhueplusplus::Bridge
lights()hueplusplus::Bridge
lights() consthueplusplus::Bridge
refresh()hueplusplus::Bridge
requestUsername()hueplusplus::Bridge
RuleList typedefhueplusplus::Bridge
rules()hueplusplus::Bridge
rules() consthueplusplus::Bridge
SceneList typedefhueplusplus::Bridge
scenes()hueplusplus::Bridge
scenes() consthueplusplus::Bridge
ScheduleList typedefhueplusplus::Bridge
schedules()hueplusplus::Bridge
schedules() consthueplusplus::Bridge
sensors()hueplusplus::Bridge
sensors() consthueplusplus::Bridge
setIP(const std::string &ip)hueplusplus::Bridge
setPort(const int port)hueplusplus::Bridge
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::Bridge
startStreaming(std::string group_identifier)hueplusplus::Bridge
stopStreaming(std::string group_identifier)hueplusplus::Bridge
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +Friends | +List of all members
+
+
hueplusplus::Bridge Class Reference
+
+
+ +

Bridge class for a bridge. + More...

+ +

#include <hueplusplus/Bridge.h>

+ + + + + + + + + + + + +

+Public Types

using LightList = SearchableResourceList< Light >
 
using GroupList = GroupResourceList< Group, CreateGroup >
 
using ScheduleList = CreateableResourceList< ResourceList< Schedule, int >, CreateSchedule >
 
using SceneList = CreateableResourceList< ResourceList< Scene, std::string >, CreateScene >
 
using RuleList = CreateableResourceList< ResourceList< Rule, int >, CreateRule >
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 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. More...
 
void refresh ()
 Refreshes the bridge state. More...
 
void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
 Sets refresh interval for the whole bridge state. More...
 
std::string getBridgeIP () const
 Function to get the ip address of the hue bridge. More...
 
bool startStreaming (std::string group_identifier)
 Function to set stream mode to active for entertainment mode. More...
 
bool stopStreaming (std::string group_identifier)
 Function to set stream mode to active for entertainment mode. More...
 
int getBridgePort () const
 Function to get the port of the hue bridge. More...
 
std::string requestUsername ()
 Send a username request to the Hue bridge. More...
 
std::string getUsername () const
 Function that returns the username. More...
 
std::string getClientKey () const
 Function that returns the client key. More...
 
void setIP (const std::string &ip)
 Function to set the ip address of this class representing a bridge. More...
 
void setPort (const int port)
 Function to set the port of this class representing a bridge. More...
 
BridgeConfigconfig ()
 Provides access to the configuration of the bridge. More...
 
const BridgeConfigconfig () const
 Provides access to the configuration of the bridge. More...
 
LightListlights ()
 Provides access to the Lights on the bridge. More...
 
const LightListlights () const
 Provides access to the Lights on the bridge. More...
 
GroupListgroups ()
 Provides access to the Groups on the bridge. More...
 
const GroupListgroups () const
 Provides access to the Groups on the bridge. More...
 
ScheduleListschedules ()
 Provides access to the Schedules on the bridge. More...
 
const ScheduleListschedules () const
 Provides access to the Schedules on the bridge. More...
 
SceneListscenes ()
 Provides access to the Scenes on the bridge. More...
 
const SceneListscenes () const
 Provides access to the Scenes on the bridge. More...
 
SensorListsensors ()
 Provides access to the Sensors on the bridge. More...
 
const SensorListsensors () const
 Provides access to the Sensors on the bridge. More...
 
RuleListrules ()
 Provides access to the Rules on the bridge. More...
 
const RuleListrules () const
 Provides access to the Rules on the bridge. More...
 
+ + + +

+Friends

class BridgeFinder
 
+

Detailed Description

+

Bridge class for a bridge.

+

This is the main class used to interact with the Hue bridge.

+

Member Typedef Documentation

+ +

◆ GroupList

+ +
+
+ +
+
+ +

◆ LightList

+ +
+
+ +
+
+ +

◆ RuleList

+ +
+
+ +
+
+ +

◆ SceneList

+ +
+
+ +
+
+ +

◆ ScheduleList

+ +
+
+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Bridge()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::Bridge::Bridge (const std::string & ip,
const int port,
const std::string & username,
std::shared_ptr< const IHttpHandlerhandler,
const std::string & clientkey = "",
std::chrono::steady_clock::duration refreshDuration = std::chrono::seconds(10),
bool sharedState = false 
)
+
+ +

Constructor of Bridge class.

+
Parameters
+ + + + + + + + +
ipIP address in dotted decimal notation like "192.168.2.1"
portPort of the hue bridge
usernameString that specifies the username that is used to control the bridge. Can be left empty and acquired in requestUsername.
handlerHttpHandler for communication with the bridge
clientkeyOptional client key for streaming
refreshDurationTime between refreshing the cached state.
sharedStateUses a single, shared cache for all objects on the bridge.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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]

+ +
+
+ + + + + + + +
Bridge::GroupList & hueplusplus::Bridge::groups ()
+
+ +

Provides access to the Groups on the bridge.

+ +
+
+ +

◆ groups() [2/2]

+ +
+
+ + + + + + + +
const Bridge::GroupList & hueplusplus::Bridge::groups () const
+
+ +

Provides access to the Groups on the bridge.

+
Note
Does not refresh state.
+ +
+
+ +

◆ lights() [1/2]

+ +
+
+ + + + + + + +
Bridge::LightList & hueplusplus::Bridge::lights ()
+
+ +

Provides access to the Lights on the bridge.

+ +
+
+ +

◆ lights() [2/2]

+ +
+
+ + + + + + + +
const Bridge::LightList & hueplusplus::Bridge::lights () const
+
+ +

Provides access to the Lights 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error except link button not pressed.
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ rules() [1/2]

+ +
+
+ + + + + + + +
Bridge::RuleList & hueplusplus::Bridge::rules ()
+
+ +

Provides access to the Rules on the bridge.

+ +
+
+ +

◆ rules() [2/2]

+ +
+
+ + + + + + + +
const Bridge::RuleList & hueplusplus::Bridge::rules () const
+
+ +

Provides access to the Rules on the bridge.

+
Note
Does not refresh state.
+ +
+
+ +

◆ scenes() [1/2]

+ +
+
+ + + + + + + +
Bridge::SceneList & hueplusplus::Bridge::scenes ()
+
+ +

Provides access to the Scenes on the bridge.

+ +
+
+ +

◆ scenes() [2/2]

+ +
+
+ + + + + + + +
const Bridge::SceneList & hueplusplus::Bridge::scenes () const
+
+ +

Provides access to the Scenes on the bridge.

+
Note
Does not refresh state.
+ +
+
+ +

◆ schedules() [1/2]

+ +
+
+ + + + + + + +
Bridge::ScheduleList & hueplusplus::Bridge::schedules ()
+
+ +

Provides access to the Schedules on the bridge.

+ +
+
+ +

◆ schedules() [2/2]

+ +
+
+ + + + + + + +
const Bridge::ScheduleList & hueplusplus::Bridge::schedules () const
+
+ +

Provides access to the Schedules on the bridge.

+
Note
Does not refresh state.
+ +
+
+ +

◆ sensors() [1/2]

+ +
+
+ + + + + + + +
hueplusplus::SensorList & hueplusplus::Bridge::sensors ()
+
+ +

Provides access to the Sensors on the bridge.

+ +
+
+ +

◆ sensors() [2/2]

+ +
+
+ + + + + + + +
const hueplusplus::SensorList & hueplusplus::Bridge::sensors () const
+
+ +

Provides access to the Sensors 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
+ + +
ipString 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
+ + +
portInteger 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
+ + +
refreshDurationThe 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
+ +
+
+

Friends And Related Function Documentation

+ +

◆ BridgeFinder

+ +
+
+ + + + + +
+ + + + +
friend class BridgeFinder
+
+friend
+
+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::BridgeConfig Member List
+
+
+ +

This is the complete list of members for hueplusplus::BridgeConfig, including all inherited members.

+ + + + + + + + + + + + + + + + +
BridgeConfig(std::shared_ptr< APICache > baseCache, std::chrono::steady_clock::duration refreshDuration)hueplusplus::BridgeConfig
BridgeConfig(const BridgeConfig &)=defaulthueplusplus::BridgeConfigprotected
BridgeConfig(BridgeConfig &&)=defaulthueplusplus::BridgeConfigprotected
getLinkButton() consthueplusplus::BridgeConfig
getMACAddress() consthueplusplus::BridgeConfig
getTimezone() consthueplusplus::BridgeConfig
getUTCTime() consthueplusplus::BridgeConfig
getWhitelistedUsers() consthueplusplus::BridgeConfig
operator=(const BridgeConfig &)=defaulthueplusplus::BridgeConfigprotected
operator=(BridgeConfig &&)=defaulthueplusplus::BridgeConfigprotected
pressLinkButton()hueplusplus::BridgeConfig
refresh(bool force=false)hueplusplus::BridgeConfig
removeUser(const std::string &userKey)hueplusplus::BridgeConfig
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BridgeConfig
touchLink()hueplusplus::BridgeConfig
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +List of all members
+
+
hueplusplus::BridgeConfig Class Reference
+
+
+ +

General bridge configuration properties. + More...

+ +

#include <hueplusplus/BridgeConfig.h>

+
+ + Inheritance diagram for hueplusplus::BridgeConfig:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 BridgeConfig (std::shared_ptr< APICache > baseCache, std::chrono::steady_clock::duration refreshDuration)
 Construct BridgeConfig. More...
 
void refresh (bool force=false)
 Refreshes internal cached state. More...
 
void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
 Sets custom refresh interval for the config. More...
 
std::vector< WhitelistedUsergetWhitelistedUsers () const
 Get the list of whitelisted users. More...
 
void removeUser (const std::string &userKey)
 Remove user from the whitelist. More...
 
bool getLinkButton () const
 Get link button state. More...
 
void pressLinkButton ()
 Set the link button state to pressed. More...
 
void touchLink ()
 Add the closest lamp to the network. More...
 
std::string getMACAddress () const
 Get bridge MAC address. More...
 
time::AbsoluteTime getUTCTime () const
 Get current (of last refresh) UTC time of the bridge. More...
 
std::string getTimezone () const
 Get configured timezone for the bridge. More...
 
+ + + + + + + + + +

+Protected Member Functions

 BridgeConfig (const BridgeConfig &)=default
 
 BridgeConfig (BridgeConfig &&)=default
 
BridgeConfigoperator= (const BridgeConfig &)=default
 
BridgeConfigoperator= (BridgeConfig &&)=default
 
+

Detailed Description

+

General bridge configuration properties.

+

Constructor & Destructor Documentation

+ +

◆ BridgeConfig() [1/3]

+ +
+
+ + + + + + + + + + + + + + + + + + +
hueplusplus::BridgeConfig::BridgeConfig (std::shared_ptr< APICachebaseCache,
std::chrono::steady_clock::duration refreshDuration 
)
+
+ +

Construct BridgeConfig.

+ +
+
+ +

◆ BridgeConfig() [2/3]

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::BridgeConfig::BridgeConfig (const BridgeConfig)
+
+protecteddefault
+
+ +
+
+ +

◆ BridgeConfig() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::BridgeConfig::BridgeConfig (BridgeConfig && )
+
+protecteddefault
+
+ +
+
+

Member Function Documentation

+ +

◆ 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()

+ +
+
+ + + + + + + +
time::AbsoluteTime hueplusplus::BridgeConfig::getUTCTime () const
+
+ +

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]

+ +
+
+ + + + + +
+ + + + + + + + +
BridgeConfig& hueplusplus::BridgeConfig::operator= (const BridgeConfig)
+
+protecteddefault
+
+ +
+
+ +

◆ operator=() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
BridgeConfig& hueplusplus::BridgeConfig::operator= (BridgeConfig && )
+
+protecteddefault
+
+ +
+
+ +

◆ 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
+ + +
forcetrue 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ removeUser()

+ +
+
+ + + + + + + + +
void hueplusplus::BridgeConfig::removeUser (const std::string & userKey)
+
+ +

Remove user from the whitelist.

+
Parameters
+ + +
userKeyThe API username of the user to remove
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setRefreshDuration()

+ +
+
+ + + + + + + + +
void hueplusplus::BridgeConfig::setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+
+ +

Sets custom refresh interval for the config.

+
Parameters
+ + +
refreshDurationThe 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::BridgeFinder Member List
+
+
+ +

This is the complete list of members for hueplusplus::BridgeFinder, including all inherited members.

+ + + + + + + + +
addClientKey(const std::string &mac, const std::string &clientkey)hueplusplus::BridgeFinder
addUsername(const std::string &mac, const std::string &username)hueplusplus::BridgeFinder
BridgeFinder(std::shared_ptr< const IHttpHandler > handler)hueplusplus::BridgeFinder
findBridges() consthueplusplus::BridgeFinder
getAllUsernames() consthueplusplus::BridgeFinder
getBridge(const BridgeIdentification &identification, bool sharedState=false)hueplusplus::BridgeFinder
normalizeMac(std::string input)hueplusplus::BridgeFinderstatic
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Public Member Functions | +Static Public Member Functions | +List of all members
+
+
hueplusplus::BridgeFinder Class Reference
+
+
+ +

#include <hueplusplus/Bridge.h>

+ + + + +

+Classes

struct  BridgeIdentification
 
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 BridgeFinder (std::shared_ptr< const IHttpHandler > handler)
 Constructor of BridgeFinder class. More...
 
std::vector< BridgeIdentificationfindBridges () const
 Finds all bridges in the network and returns them. More...
 
Bridge getBridge (const BridgeIdentification &identification, bool sharedState=false)
 Gets a Hue bridge based on its identification. More...
 
void addUsername (const std::string &mac, const std::string &username)
 Function that adds a username to the usernames map. More...
 
void addClientKey (const std::string &mac, const std::string &clientkey)
 Function that adds a client key to the clientkeys map. More...
 
const std::map< std::string, std::string > & getAllUsernames () const
 Function that returns a map of mac addresses and usernames. More...
 
+ + + + +

+Static Public Member Functions

static std::string normalizeMac (std::string input)
 Normalizes mac address to plain hex number. More...
 
+

Detailed Description

+

Class to find all Hue bridges on the network and create usernames for them.

+

Constructor & Destructor Documentation

+ +

◆ BridgeFinder()

+ +
+
+ + + + + + + + +
hueplusplus::BridgeFinder::BridgeFinder (std::shared_ptr< const IHttpHandlerhandler)
+
+ +

Constructor of BridgeFinder class.

+
Parameters
+ + +
handlerHttpHandler of type IHttpHandler for communication with the bridge
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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
+ + + +
macMAC address of Hue bridge
clientkeyClient 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
+ + + +
macMAC address of Hue bridge
usernameUsername that is used to control the Hue bridge
+
+
+ +
+
+ +

◆ findBridges()

+ +
+
+ + + + + + + +
std::vector< BridgeFinder::BridgeIdentification > hueplusplus::BridgeFinder::findBridges () const
+
+ +

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_errorwhen system or socket operations fail
HueExceptionwhen 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 BridgeIdentificationidentification,
bool sharedState = false 
)
+
+ +

Gets a Hue bridge based on its identification.

+
Parameters
+ + + +
identificationBridgeIdentification that specifies a bridge
sharedStateUses a single, shared cache for all objects on the bridge.
+
+
+
Returns
Bridge class object
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body or username could not be requested
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::BrightnessStrategy Member List
+
+
+ +

This is the complete list of members for hueplusplus::BrightnessStrategy, including all inherited members.

+ + + + + +
getBrightness(Light &light) const =0hueplusplus::BrightnessStrategypure virtual
getBrightness(const Light &light) const =0hueplusplus::BrightnessStrategypure virtual
setBrightness(unsigned int bri, uint8_t transition, Light &light) const =0hueplusplus::BrightnessStrategypure virtual
~BrightnessStrategy()=defaulthueplusplus::BrightnessStrategyvirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::BrightnessStrategy Class Referenceabstract
+
+
+ +

Virtual base class for all BrightnessStrategies. + More...

+ +

#include <hueplusplus/BrightnessStrategy.h>

+
+ + Inheritance diagram for hueplusplus::BrightnessStrategy:
+
+
+ + + + + + + + + + + + + + + +

+Public Member Functions

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...
 
+

Detailed Description

+

Virtual base class for all BrightnessStrategies.

+

Constructor & Destructor Documentation

+ +

◆ ~BrightnessStrategy()

+ +
+
+ + + + + +
+ + + + + + + +
virtual hueplusplus::BrightnessStrategy::~BrightnessStrategy ()
+
+virtualdefault
+
+ +

Virtual dtor.

+ +
+
+

Member Function Documentation

+ +

◆ getBrightness() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
virtual unsigned int hueplusplus::BrightnessStrategy::getBrightness (Lightlight) const
+
+pure virtual
+
+ +

Virtual function that returns the current brightnessof the light.

+

Should update the lights state by calling refreshState()

Parameters
+ + +
lightA reference of the light
+
+
+
Returns
Unsigned int representing the brightness
+ +

Implemented in hueplusplus::SimpleBrightnessStrategy.

+ +
+
+ +

◆ getBrightness() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
virtual unsigned int hueplusplus::BrightnessStrategy::getBrightness (const Lightlight) const
+
+pure virtual
+
+ +

Virtual function that returns the current brightness of the light.

+
Note
This should not update the lights state
+
Parameters
+ + +
lightA 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,
Lightlight 
) const
+
+pure virtual
+
+ +

Virtual function for changing a lights brightness with a specified transition.

+
Parameters
+ + + + +
briThe brightness raning from 0 = off to 255 = fully lit
transitionThe time it takes to fade to the new brightness in multiples of 100ms, 4 = 400ms and should be seen as the default
lightA 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::ColorHueStrategy Member List
+
+
+ +

This is the complete list of members for hueplusplus::ColorHueStrategy, including all inherited members.

+ + + + + + + + + + + + + +
alertHueSaturation(const HueSaturation &hueSat, Light &light) const =0hueplusplus::ColorHueStrategypure virtual
alertXY(const XYBrightness &xy, Light &light) const =0hueplusplus::ColorHueStrategypure virtual
getColorHueSaturation(Light &light) const =0hueplusplus::ColorHueStrategypure virtual
getColorHueSaturation(const Light &light) const =0hueplusplus::ColorHueStrategypure virtual
getColorXY(Light &light) const =0hueplusplus::ColorHueStrategypure virtual
getColorXY(const Light &light) const =0hueplusplus::ColorHueStrategypure virtual
setColorHue(uint16_t hue, uint8_t transition, Light &light) const =0hueplusplus::ColorHueStrategypure virtual
setColorHueSaturation(const HueSaturation &hueSat, uint8_t transition, Light &light) const =0hueplusplus::ColorHueStrategypure virtual
setColorLoop(bool on, Light &light) const =0hueplusplus::ColorHueStrategypure virtual
setColorSaturation(uint8_t sat, uint8_t transition, Light &light) const =0hueplusplus::ColorHueStrategypure virtual
setColorXY(const XYBrightness &xy, uint8_t transition, Light &light) const =0hueplusplus::ColorHueStrategypure virtual
~ColorHueStrategy()=defaulthueplusplus::ColorHueStrategyvirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::ColorHueStrategy Class Referenceabstract
+
+
+ +

Virtual base class for all ColorHueStrategies. + More...

+ +

#include <hueplusplus/ColorHueStrategy.h>

+
+ + Inheritance diagram for hueplusplus::ColorHueStrategy:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

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...
 
+

Detailed Description

+

Virtual base class for all ColorHueStrategies.

+

Constructor & Destructor Documentation

+ +

◆ ~ColorHueStrategy()

+ +
+
+ + + + + +
+ + + + + + + +
virtual hueplusplus::ColorHueStrategy::~ColorHueStrategy ()
+
+virtualdefault
+
+ +

Virtual dtor.

+ +
+
+

Member Function Documentation

+ +

◆ alertHueSaturation()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::ColorHueStrategy::alertHueSaturation (const HueSaturationhueSat,
Lightlight 
) const
+
+pure virtual
+
+ +

Virtual function that lets the light perform one breath cycle in the specified color.

+
Parameters
+ + + +
hueSatThe color in hue and saturation
lightA reference of the light
+
+
+ +

Implemented in hueplusplus::SimpleColorHueStrategy, and hueplusplus::ExtendedColorHueStrategy.

+ +
+
+ +

◆ alertXY()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::ColorHueStrategy::alertXY (const XYBrightnessxy,
Lightlight 
) const
+
+pure virtual
+
+ +

Virtual function that lets the light perform one breath cycle in the specified color.

+
Parameters
+ + + +
xyThe color in XY and brightness
lightA reference of the light
+
+
+ +

Implemented in hueplusplus::SimpleColorHueStrategy, and hueplusplus::ExtendedColorHueStrategy.

+ +
+
+ +

◆ getColorHueSaturation() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
virtual HueSaturation hueplusplus::ColorHueStrategy::getColorHueSaturation (Lightlight) 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
+ + +
lightA reference of the light
+
+
+ +

Implemented in hueplusplus::SimpleColorHueStrategy.

+ +
+
+ +

◆ getColorHueSaturation() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
virtual HueSaturation hueplusplus::ColorHueStrategy::getColorHueSaturation (const Lightlight) 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
+ + +
lightA const reference of the light
+
+
+ +

Implemented in hueplusplus::SimpleColorHueStrategy.

+ +
+
+ +

◆ getColorXY() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
virtual XYBrightness hueplusplus::ColorHueStrategy::getColorXY (Lightlight) const
+
+pure virtual
+
+ +

Virtual function that returns the current color of the light as xy.

+

Should update the lights state by calling refreshState()

Parameters
+ + +
lightA reference of the light
+
+
+
Returns
XY and brightness of current color
+ +

Implemented in hueplusplus::SimpleColorHueStrategy.

+ +
+
+ +

◆ getColorXY() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
virtual XYBrightness hueplusplus::ColorHueStrategy::getColorXY (const Lightlight) const
+
+pure virtual
+
+ +

Virtual function that returns the current color of the light as xy.

+
Note
This should not update the lights state
+
Parameters
+ + +
lightA 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,
Lightlight 
) 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
+ + + + +
hueThe hue of the color
transitionThe time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
lightA reference of the light
+
+
+ +

Implemented in hueplusplus::SimpleColorHueStrategy.

+ +
+
+ +

◆ setColorHueSaturation()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::ColorHueStrategy::setColorHueSaturation (const HueSaturationhueSat,
uint8_t transition,
Lightlight 
) const
+
+pure virtual
+
+ +

Virtual function for changing a lights color in hue and saturation format with a specified transition.

+
Parameters
+ + + + +
hueSatColor in hue and satuation.
transitionThe time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
lightA reference of the light
+
+
+ +

Implemented in hueplusplus::SimpleColorHueStrategy.

+ +
+
+ +

◆ setColorLoop()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::ColorHueStrategy::setColorLoop (bool on,
Lightlight 
) 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
+ + + +
onBoolean to turn this feature on or off, true/1 for on and false/0 for off
lightA reference of the light
+
+
+ +

Implemented in hueplusplus::SimpleColorHueStrategy.

+ +
+
+ +

◆ setColorSaturation()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::ColorHueStrategy::setColorSaturation (uint8_t sat,
uint8_t transition,
Lightlight 
) 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
+ + + + +
satThe saturation of the color
transitionThe time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
lightA reference of the light
+
+
+ +

Implemented in hueplusplus::SimpleColorHueStrategy.

+ +
+
+ +

◆ setColorXY()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::ColorHueStrategy::setColorXY (const XYBrightnessxy,
uint8_t transition,
Lightlight 
) const
+
+pure virtual
+
+ +

Virtual function for changing a lights color in CIE format with a specified transition.

+
Parameters
+ + + + +
xyThe color in XY and brightness
transitionThe time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
lightA 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::ColorTemperatureStrategy Member List
+
+
+ +

This is the complete list of members for hueplusplus::ColorTemperatureStrategy, including all inherited members.

+ + + + + + +
alertTemperature(unsigned int mired, Light &light) const =0hueplusplus::ColorTemperatureStrategypure virtual
getColorTemperature(Light &light) const =0hueplusplus::ColorTemperatureStrategypure virtual
getColorTemperature(const Light &light) const =0hueplusplus::ColorTemperatureStrategypure virtual
setColorTemperature(unsigned int mired, uint8_t transition, Light &light) const =0hueplusplus::ColorTemperatureStrategypure virtual
~ColorTemperatureStrategy()=defaulthueplusplus::ColorTemperatureStrategyvirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::ColorTemperatureStrategy Class Referenceabstract
+
+
+ +

Virtual base class for all ColorTemperatureStrategies. + More...

+ +

#include <hueplusplus/ColorTemperatureStrategy.h>

+
+ + Inheritance diagram for hueplusplus::ColorTemperatureStrategy:
+
+
+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

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. More...
 
virtual bool alertTemperature (unsigned int mired, Light &light) const =0
 Virtual function that lets the light perform one breath cycle in the specified color. More...
 
virtual unsigned int getColorTemperature (Light &light) const =0
 Virtual function that returns the current color temperature of the light. More...
 
virtual unsigned int getColorTemperature (const Light &light) const =0
 Virtual function that returns the current color temperature of the light. More...
 
virtual ~ColorTemperatureStrategy ()=default
 Virtual dtor. More...
 
+

Detailed Description

+

Virtual base class for all ColorTemperatureStrategies.

+

Constructor & Destructor Documentation

+ +

◆ ~ColorTemperatureStrategy()

+ +
+
+ + + + + +
+ + + + + + + +
virtual hueplusplus::ColorTemperatureStrategy::~ColorTemperatureStrategy ()
+
+virtualdefault
+
+ +

Virtual dtor.

+ +
+
+

Member Function Documentation

+ +

◆ alertTemperature()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::ColorTemperatureStrategy::alertTemperature (unsigned int mired,
Lightlight 
) const
+
+pure virtual
+
+ +

Virtual function that lets the light perform one breath cycle in the specified color.

+

The color temperature in mired ranges from 153 to 500 whereas 153 is cold and 500 is warm.

Parameters
+ + + +
miredThe color temperature in mired
lightA reference of the light
+
+
+ +

Implemented in hueplusplus::SimpleColorTemperatureStrategy, and hueplusplus::ExtendedColorTemperatureStrategy.

+ +
+
+ +

◆ getColorTemperature() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
virtual unsigned int hueplusplus::ColorTemperatureStrategy::getColorTemperature (Lightlight) 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
+ + +
lightA 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 Lightlight) 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
+ + +
lightA 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,
Lightlight 
) 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
+ + + + +
miredThe color temperature in mired
transitionThe time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
lightA 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::Condition Member List
+
+
+ +

This is the complete list of members for hueplusplus::Condition, including all inherited members.

+ + + + + + + + +
Condition(const std::string &address, Operator op, const std::string &value)hueplusplus::Condition
getAddress() consthueplusplus::Condition
getOperator() consthueplusplus::Condition
getValue() consthueplusplus::Condition
Operator enum namehueplusplus::Condition
parse(const nlohmann::json &json)hueplusplus::Conditionstatic
toJson() consthueplusplus::Condition
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +Static Public Member Functions | +List of all members
+
+
hueplusplus::Condition Class Reference
+
+
+ +

Condition for a Rule. + More...

+ +

#include <hueplusplus/Condition.h>

+ + + + + +

+Public Types

enum  Operator {
+  Operator::eq, +Operator::gt, +Operator::lt, +Operator::dx, +
+  Operator::ddx, +Operator::stable, +Operator::notStable, +Operator::in, +
+  Operator::notIn +
+ }
 Specifies which operation is used to check the condition. More...
 
+ + + + + + + + + + + + + + + + +

+Public Member Functions

 Condition (const std::string &address, Operator op, const std::string &value)
 Create a condition from any address on the bridge. More...
 
std::string getAddress () const
 Get address on the bridge. More...
 
Operator getOperator () const
 Get used operator. More...
 
std::string getValue () const
 Get value the attribute is checked against. More...
 
nlohmann::json toJson () const
 Create the json form of the condition. More...
 
+ + + + +

+Static Public Member Functions

static Condition parse (const nlohmann::json &json)
 Parse condition from json value. More...
 
+

Detailed Description

+

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.

+

Member Enumeration Documentation

+ +

◆ Operator

+ +
+
+ + + + + +
+ + + + +
enum hueplusplus::Condition::Operator
+
+strong
+
+ +

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)

+
+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Condition()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::Condition::Condition (const std::string & address,
Operator op,
const std::string & value 
)
+
+ +

Create a condition from any address on the bridge.

+
Parameters
+ + + + +
addressPath to an attribute of the bridge
opOperator used for comparison.
valueString representation of the value to check against. Empty for some operators.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getAddress()

+ +
+
+ + + + + + + +
std::string hueplusplus::Condition::getAddress () const
+
+ +

Get address on the bridge.

+ +
+
+ +

◆ getOperator()

+ +
+
+ + + + + + + +
Condition::Operator hueplusplus::Condition::getOperator () const
+
+ +

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
+ + +
jsonJson object with address, operator and value
+
+
+
Returns
The parsed condition with the same values
+
Exceptions
+ + +
HueExceptionwhen the operator is unknown.
+
+
+ +
+
+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::Config Member List
+
+
+ +

This is the complete list of members for hueplusplus::Config, including all inherited members.

+ + + + + + + + + + + + + + + +
bridgeRequestDelayhueplusplus::Configprotected
Config()=defaulthueplusplus::Configprotected
getBridgeRequestDelay() consthueplusplus::Configinline
getPostAlertDelay() consthueplusplus::Configinline
getPreAlertDelay() consthueplusplus::Configinline
getRequestUsernameAttemptInterval() consthueplusplus::Configinline
getRequestUsernameTimeout() consthueplusplus::Configinline
getUPnPTimeout() consthueplusplus::Configinline
instance()hueplusplus::Configinlinestatic
postAlertDelayhueplusplus::Configprotected
preAlertDelayhueplusplus::Configprotected
requestUsernameAttemptIntervalhueplusplus::Configprotected
requestUsernameDelayhueplusplus::Configprotected
upnpTimeouthueplusplus::Configprotected
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Member Functions | +Protected Member Functions | +Protected Attributes | +List of all members
+
+
hueplusplus::Config Class Reference
+
+
+ +

Configurable delays. + More...

+ +

#include <hueplusplus/LibConfig.h>

+ + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

duration getPreAlertDelay () const
 Delay for advanced alerts before the actual alert. More...
 
duration getPostAlertDelay () const
 Delay for advanced alerts after the actual alert. More...
 
duration getUPnPTimeout () const
 Timeout for UPnP multicast request. More...
 
duration getBridgeRequestDelay () const
 Delay between bridge requests. More...
 
duration getRequestUsernameTimeout () const
 Timeout for Bridge::requestUsername, waits until link button was pressed. More...
 
duration getRequestUsernameAttemptInterval () const
 Interval in which username requests are attempted. More...
 
+ + + + +

+Static Public Member Functions

static Configinstance ()
 Get config instance. More...
 
+ + + +

+Protected Member Functions

 Config ()=default
 
+ + + + + + + + + + + + + +

+Protected Attributes

duration preAlertDelay = std::chrono::milliseconds(120)
 
duration postAlertDelay = std::chrono::milliseconds(1600)
 
duration upnpTimeout = std::chrono::seconds(5)
 
duration bridgeRequestDelay = std::chrono::milliseconds(100)
 
duration requestUsernameDelay = std::chrono::seconds(35)
 
duration requestUsernameAttemptInterval = std::chrono::seconds(1)
 
+

Detailed Description

+

Configurable delays.

+

Used to set all delays to zero when running tests.

+

Constructor & Destructor Documentation

+ +

◆ Config()

+ +
+
+ + + + + +
+ + + + + + + +
hueplusplus::Config::Config ()
+
+protecteddefault
+
+ +
+
+

Member Function Documentation

+ +

◆ 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
+
+ +

Timeout for Bridge::requestUsername, waits until link button was pressed.

+ +
+
+ +

◆ getUPnPTimeout()

+ +
+
+ + + + + +
+ + + + + + + +
duration hueplusplus::Config::getUPnPTimeout () const
+
+inline
+
+ +

Timeout for UPnP multicast request.

+ +
+
+ +

◆ instance()

+ +
+
+ + + + + +
+ + + + + + + +
static Config& hueplusplus::Config::instance ()
+
+inlinestatic
+
+ +

Get config instance.

+ +
+
+

Member Data Documentation

+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::CreateGroup Member List
+
+
+ +

This is the complete list of members for hueplusplus::CreateGroup, including all inherited members.

+ + + + + + + +
CreateGroup(const std::vector< int > &lights, const std::string &name, const std::string &type, const std::string &roomType)hueplusplus::CreateGroupprotected
Entertainment(const std::vector< int > &lights, const std::string &name="")hueplusplus::CreateGroupstatic
getRequest() consthueplusplus::CreateGroup
LightGroup(const std::vector< int > &lights, const std::string &name="")hueplusplus::CreateGroupstatic
Room(const std::vector< int > &lights, const std::string &name="", const std::string &roomType="")hueplusplus::CreateGroupstatic
Zone(const std::vector< int > &lights, const std::string &name="")hueplusplus::CreateGroupstatic
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Member Functions | +Protected Member Functions | +List of all members
+
+
hueplusplus::CreateGroup Class Reference
+
+
+ +

Parameters necessary for creating a new Group. + More...

+ +

#include <hueplusplus/Group.h>

+ + + + + +

+Public Member Functions

nlohmann::json getRequest () const
 Get request to create the group. More...
 
+ + + + + + + + + + + + + +

+Static Public Member Functions

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...
 
+ + + + +

+Protected Member Functions

 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...
 
+

Detailed Description

+

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.
+

Constructor & Destructor Documentation

+ +

◆ 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
+ + + + + +
lightsList of light ids for the group.
nameName of the group, empty for default name.
typeType of the group, empty for default type.
roomTypeRoom class if type is room, empty for default class or if type is not room.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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
+ + + +
lightsList of light ids, may be empty.
nameName 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
+ + + +
lightsList of light ids, must not be empty.
nameName 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
+ + + + +
lightsList of light ids, may be empty.
nameName of the room, optional.
roomTypeClass 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
+ + + +
lightsList of light ids, may be empty.
nameName 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::CreateRule Member List
+
+
+ +

This is the complete list of members for hueplusplus::CreateRule, including all inherited members.

+ + + + + +
CreateRule(const std::vector< Condition > &conditions, const std::vector< Action > &actions)hueplusplus::CreateRule
getRequest() consthueplusplus::CreateRule
setName(const std::string &name)hueplusplus::CreateRule
setStatus(bool enabled)hueplusplus::CreateRule
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::CreateRule Class Reference
+
+
+ +

Parameters for creating a new Rule. + More...

+ +

#include <hueplusplus/Rule.h>

+ + + + + + + + + + + + + + +

+Public Member Functions

 CreateRule (const std::vector< Condition > &conditions, const std::vector< Action > &actions)
 Construct with necessary parameters. More...
 
CreateRulesetName (const std::string &name)
 Set name. More...
 
CreateRulesetStatus (bool enabled)
 Set status. More...
 
nlohmann::json getRequest () const
 Get request to create the rule. More...
 
+

Detailed Description

+

Parameters for creating a new Rule.

+

Can be used like a builder object with chained calls.

+

Constructor & Destructor Documentation

+ +

◆ CreateRule()

+ +
+
+ + + + + + + + + + + + + + + + + + +
hueplusplus::CreateRule::CreateRule (const std::vector< Condition > & conditions,
const std::vector< Action > & actions 
)
+
+ +

Construct with necessary parameters.

+
Parameters
+ + + +
conditionsConditions for the rule. Must not be empty
actionsActions for the rule. Must not be empty
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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)
+
+ +

Set name.

+
See also
Rule::setName
+ +
+
+ +

◆ setStatus()

+ +
+
+ + + + + + + + +
CreateRule & hueplusplus::CreateRule::setStatus (bool enabled)
+
+ +

Set status.

+
See also
Rule::setEnabled
+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::CreateScene Member List
+
+
+ +

This is the complete list of members for hueplusplus::CreateScene, including all inherited members.

+ + + + + + + + +
getRequest() consthueplusplus::CreateScene
setAppdata(const std::string &data, int version)hueplusplus::CreateScene
setGroupId(int id)hueplusplus::CreateScene
setLightIds(const std::vector< int > &ids)hueplusplus::CreateScene
setLightStates(const std::map< int, LightState > &states)hueplusplus::CreateScene
setName(const std::string &name)hueplusplus::CreateScene
setRecycle(bool recycle)hueplusplus::CreateScene
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::CreateScene Class Reference
+
+
+ +

Parameters for creating a new Scene. + More...

+ +

#include <hueplusplus/Scene.h>

+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

CreateScenesetName (const std::string &name)
 Set name. More...
 
CreateScenesetGroupId (int id)
 Set group id, making the scene a GroupScene. More...
 
CreateScenesetLightIds (const std::vector< int > &ids)
 Set light ids, making the scene a LightScene. More...
 
CreateScenesetRecycle (bool recycle)
 Set whether the scene can be automatically deleted. More...
 
CreateScenesetAppdata (const std::string &data, int version)
 Set app specific data. More...
 
CreateScenesetLightStates (const std::map< int, LightState > &states)
 Set light states of the scene. More...
 
nlohmann::json getRequest () const
 Get request to create the scene. More...
 
+

Detailed Description

+

Parameters for creating a new Scene.

+

Can be used like a builder object with chained calls.

+

Member Function Documentation

+ +

◆ 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 
)
+
+ +

Set app specific data.

+
See also
Scene::setAppdata
+ +
+
+ +

◆ setGroupId()

+ +
+
+ + + + + + + + +
CreateScene & hueplusplus::CreateScene::setGroupId (int id)
+
+ +

Set group id, making the scene a GroupScene.

+
Parameters
+ + +
idGroup id for the scene, not 0
+
+
+

The group id cannot be changed after the scene was created.

Exceptions
+ + +
HueExceptionwhen used after setLightIds
+
+
+ +
+
+ +

◆ setLightIds()

+ +
+
+ + + + + + + + +
CreateScene & hueplusplus::CreateScene::setLightIds (const std::vector< int > & ids)
+
+ +

Set light ids, making the scene a LightScene.

+
Parameters
+ + +
idsIds of lights in the scene
+
+
+
Exceptions
+ + +
HueExceptionwhen used after setGroupId
+
+
+ +
+
+ +

◆ 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)
+
+ +

Set name.

+
See also
Scene::setName
+ +
+
+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::CreateSchedule Member List
+
+
+ +

This is the complete list of members for hueplusplus::CreateSchedule, including all inherited members.

+ + + + + + + + + +
getRequest() consthueplusplus::CreateSchedule
setAutodelete(bool autodelete)hueplusplus::CreateSchedule
setCommand(const Action &command)hueplusplus::CreateSchedule
setDescription(const std::string &description)hueplusplus::CreateSchedule
setName(const std::string &name)hueplusplus::CreateSchedule
setRecycle(bool recycle)hueplusplus::CreateSchedule
setStatus(bool enabled)hueplusplus::CreateSchedule
setTime(const time::TimePattern &time)hueplusplus::CreateSchedule
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::CreateSchedule Class Reference
+
+
+ +

Parameters for creating a new Schedule. + More...

+ +

#include <hueplusplus/Schedule.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

CreateSchedulesetName (const std::string &name)
 Set name. More...
 
CreateSchedulesetDescription (const std::string &description)
 Set description. More...
 
CreateSchedulesetCommand (const Action &command)
 Set command. More...
 
CreateSchedulesetTime (const time::TimePattern &time)
 Set time. More...
 
CreateSchedulesetStatus (bool enabled)
 Set status. More...
 
CreateSchedulesetAutodelete (bool autodelete)
 Set autodelete. More...
 
CreateSchedulesetRecycle (bool recycle)
 Set recycle. More...
 
nlohmann::json getRequest () const
 Get request to create the schedule. More...
 
+

Detailed Description

+

Parameters for creating a new Schedule.

+

Can be used like a builder object with chained calls.

+

Member Function Documentation

+ +

◆ 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)
+
+ +

Set autodelete.

+
See also
Schedule::setAutodelete
+ +
+
+ +

◆ setCommand()

+ +
+
+ + + + + + + + +
CreateSchedule & hueplusplus::CreateSchedule::setCommand (const Actioncommand)
+
+ +

Set command.

+
See also
Schedule::setCommand
+ +
+
+ +

◆ setDescription()

+ +
+
+ + + + + + + + +
CreateSchedule & hueplusplus::CreateSchedule::setDescription (const std::string & description)
+
+ +

Set description.

+
See also
Schedule::setDescription
+ +
+
+ +

◆ setName()

+ +
+
+ + + + + + + + +
CreateSchedule & hueplusplus::CreateSchedule::setName (const std::string & name)
+
+ +

Set name.

+
See also
Schedule::setName
+ +
+
+ +

◆ 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)
+
+ +

Set status.

+
See also
Schedule::setEnabled
+ +
+
+ +

◆ setTime()

+ +
+
+ + + + + + + + +
CreateSchedule & hueplusplus::CreateSchedule::setTime (const time::TimePatterntime)
+
+ +

Set time.

+
See also
Schedule::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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::CreateSensor Member List
+
+
+ +

This is the complete list of members for hueplusplus::CreateSensor, including all inherited members.

+ + + + + + + +
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)hueplusplus::CreateSensor
getRequest() consthueplusplus::CreateSensor
requesthueplusplus::CreateSensorprotected
setConfig(const nlohmann::json &config)hueplusplus::CreateSensor
setRecycle(bool recycle)hueplusplus::CreateSensor
setState(const nlohmann::json &state)hueplusplus::CreateSensor
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Attributes | +List of all members
+
+
hueplusplus::CreateSensor Class Reference
+
+
+ +

Parameters for creating a new Sensor. + More...

+ +

#include <hueplusplus/Sensor.h>

+ + + + + + + + + + + + + + + + + +

+Public Member Functions

 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...
 
CreateSensorsetState (const nlohmann::json &state)
 Set state object. More...
 
CreateSensorsetConfig (const nlohmann::json &config)
 Set config object. More...
 
CreateSensorsetRecycle (bool recycle)
 Enable recycling, delete automatically when not referenced. More...
 
nlohmann::json getRequest () const
 Get request to create the sensor. More...
 
+ + + +

+Protected Attributes

nlohmann::json request
 
+

Detailed Description

+

Parameters for creating a new Sensor.

+

Can be used like a builder object with chained calls.

+

Constructor & Destructor Documentation

+ +

◆ 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
+ + + + + + + +
nameHuman readable name
modelidModel id of the sensor
swversionSoftware version, may be empty
typeSensor type name (see types in Sensors)
uniqueidGlobally unique ID (MAC address of the device, extended with a unique endpoint id)
manufacturernameName of the device manufacturer
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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
+ + +
configSensor 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
+ + +
stateSensor state, contents depend on the type.
+
+
+
Returns
this object for chaining calls
+ +
+
+

Member Data Documentation

+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::CreateableResourceList< BaseResourceList, CreateType > Member List
+
+
+ +

This is the complete list of members for hueplusplus::CreateableResourceList< BaseResourceList, CreateType >, including all inherited members.

+ + + + +
create(const CreateType &params)hueplusplus::CreateableResourceList< BaseResourceList, CreateType >inline
CreateableResourceList(CreateableResourceList &&)=defaulthueplusplus::CreateableResourceList< BaseResourceList, CreateType >protected
operator=(CreateableResourceList &&)=defaulthueplusplus::CreateableResourceList< BaseResourceList, CreateType >protected
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +List of all members
+
+
hueplusplus::CreateableResourceList< BaseResourceList, CreateType > Class Template Reference
+
+
+ +

Handles a ResourceList where Resources can be added by the user. + More...

+ +

#include <hueplusplus/ResourceList.h>

+
+ + Inheritance diagram for hueplusplus::CreateableResourceList< BaseResourceList, CreateType >:
+
+
+ +
+ + Collaboration diagram for hueplusplus::CreateableResourceList< BaseResourceList, CreateType >:
+
+
+ + + + + + +

+Public Member Functions

BaseResourceList::IdType create (const CreateType &params)
 Create a new resource. More...
 
+ + + + + + + +

+Protected Member Functions

 CreateableResourceList (CreateableResourceList &&)=default
 Protected defaulted move constructor. More...
 
CreateableResourceListoperator= (CreateableResourceList &&)=default
 Protected defaulted move assignment. More...
 
+

Detailed Description

+

template<typename BaseResourceList, typename CreateType>
+class hueplusplus::CreateableResourceList< BaseResourceList, CreateType >

+ +

Handles a ResourceList where Resources can be added by the user.

+
Template Parameters
+ + + +
BaseResourceListBase resource list type (ResourceList or SearchableResourceList).
CreateTypeType that provides parameters for creation. Must have a const getRequest() function returning the JSON for the POST request.
+
+
+

Constructor & Destructor Documentation

+ +

◆ CreateableResourceList()

+ +
+
+
+template<typename BaseResourceList, typename CreateType>
+ + + + + +
+ + + + + + + + +
hueplusplus::CreateableResourceList< BaseResourceList, CreateType >::CreateableResourceList (CreateableResourceList< BaseResourceList, CreateType > && )
+
+protecteddefault
+
+ +

Protected defaulted move constructor.

+ +
+
+

Member Function Documentation

+ +

◆ create()

+ +
+
+
+template<typename BaseResourceList, typename CreateType>
+ + + + + +
+ + + + + + + + +
BaseResourceList::IdType hueplusplus::CreateableResourceList< BaseResourceList, CreateType >::create (const CreateType & params)
+
+inline
+
+ +

Create a new resource.

+
Parameters
+ + +
paramsParameters for the new resource
+
+
+
Returns
The id of the created resource or 0/an empty string if failed.
+
Exceptions
+ + + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contains no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
std::invalid_argumentwhen IdType is int and std::stoi fails
+
+
+ +
+
+ +

◆ operator=()

+ +
+
+
+template<typename BaseResourceList, typename CreateType>
+ + + + + +
+ + + + + + + + +
CreateableResourceList& hueplusplus::CreateableResourceList< BaseResourceList, CreateType >::operator= (CreateableResourceList< BaseResourceList, CreateType > && )
+
+protecteddefault
+
+ +

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::EntertainmentMode Member List
+
+
+ +

This is the complete list of members for hueplusplus::EntertainmentMode, including all inherited members.

+ + + + + + + + + + + + +
bridgehueplusplus::EntertainmentModeprotected
connect()hueplusplus::EntertainmentMode
disconnect()hueplusplus::EntertainmentMode
entertainment_msghueplusplus::EntertainmentModeprotected
entertainment_num_lightshueplusplus::EntertainmentModeprotected
EntertainmentMode(Bridge &b, Group &g)hueplusplus::EntertainmentMode
grouphueplusplus::EntertainmentModeprotected
setColorRGB(uint8_t light_index, uint8_t red, uint8_t green, uint8_t blue)hueplusplus::EntertainmentMode
tls_contexthueplusplus::EntertainmentModeprotected
update()hueplusplus::EntertainmentMode
~EntertainmentMode()hueplusplus::EntertainmentMode
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Attributes | +List of all members
+
+
hueplusplus::EntertainmentMode Class Reference
+
+
+ +

Class for Hue Entertainment Mode. + More...

+ +

#include <hueplusplus/EntertainmentMode.h>

+
+ + Collaboration diagram for hueplusplus::EntertainmentMode:
+
+
+ + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 EntertainmentMode (Bridge &b, Group &g)
 Constructor. More...
 
 ~EntertainmentMode ()
 Destroy the Entertainment Mode object. More...
 
bool connect ()
 Connect and start streaming. More...
 
bool disconnect ()
 Disconnect and stop streaming. More...
 
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. More...
 
bool update ()
 Update all set colors by setColorRGB. More...
 
+ + + + + + + + + + + + + + + + +

+Protected Attributes

Bridgebridge
 Associated bridge. More...
 
Groupgroup
 Associated group. More...
 
std::vector< uint8_t > entertainment_msg
 buffer containing the entertainment mode packet data More...
 
uint8_t entertainment_num_lights
 number of lights in entertainment mode group More...
 
std::unique_ptr< TLSContexttls_context
 tls context More...
 
+

Detailed Description

+

Class for Hue Entertainment Mode.

+

Provides methods to initialize and control Entertainment groups.

+

Constructor & Destructor Documentation

+ +

◆ EntertainmentMode()

+ +
+
+ + + + + + + + + + + + + + + + + + +
hueplusplus::EntertainmentMode::EntertainmentMode (Bridgeb,
Groupg 
)
+
+ +

Constructor.

+
Parameters
+ + + +
bBridge reference
gGroup 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.

+ +
+
+

Member Function Documentation

+ +

◆ 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_indexLight index inside the group
redRed color value (0-255)
greenGreen color value (0-255)
blueBlue 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
+ +
+
+

Member Data Documentation

+ +

◆ 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
+
+ +

Associated group.

+ +
+
+ +

◆ tls_context

+ +
+
+ + + + + +
+ + + + +
std::unique_ptr<TLSContext> hueplusplus::EntertainmentMode::tls_context
+
+protected
+
+ +

tls context

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::ExtendedColorHueStrategy Member List
+
+
+ +

This is the complete list of members for hueplusplus::ExtendedColorHueStrategy, including all inherited members.

+ + + + + + + + + + + + + +
alertHueSaturation(const HueSaturation &hueSat, Light &light) const overridehueplusplus::ExtendedColorHueStrategyvirtual
alertXY(const XYBrightness &xy, Light &light) const overridehueplusplus::ExtendedColorHueStrategyvirtual
getColorHueSaturation(Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
getColorHueSaturation(const Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
getColorXY(Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
getColorXY(const Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
setColorHue(uint16_t hue, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
setColorHueSaturation(const HueSaturation &hueSat, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
setColorLoop(bool on, Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
setColorSaturation(uint8_t sat, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
setColorXY(const XYBrightness &xy, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
~ColorHueStrategy()=defaulthueplusplus::ColorHueStrategyvirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::ExtendedColorHueStrategy Class Reference
+
+
+ +

#include <hueplusplus/ExtendedColorHueStrategy.h>

+
+ + Inheritance diagram for hueplusplus::ExtendedColorHueStrategy:
+
+
+ +
+ + Collaboration diagram for hueplusplus::ExtendedColorHueStrategy:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

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...
 
- Public Member Functions inherited from hueplusplus::SimpleColorHueStrategy
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...
 
- Public Member Functions inherited from hueplusplus::ColorHueStrategy
virtual ~ColorHueStrategy ()=default
 Virtual dtor. More...
 
+

Detailed Description

+

Class extending the implementation of SimpleColorHueStrategy

+

To be used for lights that have both color and color temperature.

+

Member Function Documentation

+ +

◆ alertHueSaturation()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool hueplusplus::ExtendedColorHueStrategy::alertHueSaturation (const HueSaturationhueSat,
Lightlight 
) const
+
+overridevirtual
+
+ +

Function that lets the light perform one breath cycle in the specified color.

+
Parameters
+ + + +
hueSatThe color in hue and saturation
lightA reference of the light
+
+
+

Blocks for the time a Light::alert() needs

+ +

Implements hueplusplus::ColorHueStrategy.

+ +
+
+ +

◆ alertXY()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool hueplusplus::ExtendedColorHueStrategy::alertXY (const XYBrightnessxy,
Lightlight 
) const
+
+overridevirtual
+
+ +

Function that lets the light perform one breath cycle in the specified color.

+
Parameters
+ + + +
xyThe color in XY and brightness
lightA 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::ExtendedColorTemperatureStrategy Member List
+
+
+ +

This is the complete list of members for hueplusplus::ExtendedColorTemperatureStrategy, including all inherited members.

+ + + + + + +
alertTemperature(unsigned int mired, Light &light) const overridehueplusplus::ExtendedColorTemperatureStrategyvirtual
getColorTemperature(Light &light) const overridehueplusplus::SimpleColorTemperatureStrategyvirtual
getColorTemperature(const Light &light) const overridehueplusplus::SimpleColorTemperatureStrategyvirtual
setColorTemperature(unsigned int mired, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorTemperatureStrategyvirtual
~ColorTemperatureStrategy()=defaulthueplusplus::ColorTemperatureStrategyvirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::ExtendedColorTemperatureStrategy Class Reference
+
+
+ +

Class implementing the functions of ColorTemperatureStrategy. + More...

+ +

#include <hueplusplus/ExtendedColorTemperatureStrategy.h>

+
+ + Inheritance diagram for hueplusplus::ExtendedColorTemperatureStrategy:
+
+
+ +
+ + Collaboration diagram for hueplusplus::ExtendedColorTemperatureStrategy:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

bool alertTemperature (unsigned int mired, Light &light) const override
 Function that lets the light perform one breath cycle in the specified color. More...
 
- Public Member Functions inherited from hueplusplus::SimpleColorTemperatureStrategy
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. More...
 
bool alertTemperature (unsigned int mired, Light &light) const override
 Function that lets the light perform one breath cycle in the specified color. More...
 
unsigned int getColorTemperature (Light &light) const override
 Function that returns the current color temperature of the light. More...
 
unsigned int getColorTemperature (const Light &light) const override
 Function that returns the current color temperature of the light. More...
 
- Public Member Functions inherited from hueplusplus::ColorTemperatureStrategy
virtual ~ColorTemperatureStrategy ()=default
 Virtual dtor. More...
 
+

Detailed Description

+

Class implementing the functions of ColorTemperatureStrategy.

+

Member Function Documentation

+ +

◆ alertTemperature()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool hueplusplus::ExtendedColorTemperatureStrategy::alertTemperature (unsigned int mired,
Lightlight 
) const
+
+overridevirtual
+
+ +

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
+ + + +
miredThe color temperature in mired
lightA 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::Group Member List
+
+
+ +

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 &currentState)hueplusplus::Group
idhueplusplus::Groupprotected
refresh(bool force=false)hueplusplus::Group
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::Groupprotected
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
statehueplusplus::Groupprotected
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +Protected Attributes | +List of all members
+
+
hueplusplus::Group Class Reference
+
+
+ +

Class for Groups of lights. + More...

+ +

#include <hueplusplus/Group.h>

+
+ + Collaboration diagram for hueplusplus::Group:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 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 &currentState)
 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...
 
General information
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...
 
Query Action

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...
 
Change lights
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...
 
+ + + + +

+Protected Member Functions

nlohmann::json sendPutRequest (const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)
 Utility function to send a put request to the group. More...
 
+ + + + + +

+Protected Attributes

int id
 
APICache state
 
+

Detailed Description

+

Class for Groups of lights.

+

Provides methods to control groups.

+

Constructor & Destructor Documentation

+ +

◆ Group() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
hueplusplus::Group::Group (int id,
const std::shared_ptr< APICache > & baseCache 
)
+
+ +

Creates group with shared cache.

+
Parameters
+ + + +
idGroup id in the bridge
baseCacheCache of the group list.
+
+
+ +
+
+ +

◆ Group() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::Group::Group (int id,
const HueCommandAPIcommands,
std::chrono::steady_clock::duration refreshDuration,
const nlohmann::json & currentState 
)
+
+ +

Creates group with id.

+
Parameters
+ + + + + +
idGroup id in the bridge
commandsHueCommandAPI for requests
refreshDurationTime between refreshing the cached state.
currentStateThe current state, may be null.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ createSceneAction()

+ +
+
+ + + + + + + + +
Action hueplusplus::Group::createSceneAction (const std::string & scene) const
+
+ +

Get Action to set scene.

+
Parameters
+ + +
sceneScene name
+
+
+
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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+
+ +

Get the group id.

+ +
+
+ +

◆ 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
+ + +
forcetrue 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+ + + + +
requestThe request to send
subPathA path that is appended to the uri, note it should always start with a slash ("/")
fileInfoFileInfo from calling function for exception details.
+
+
+
Returns
The parsed reply
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setBrightness()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void hueplusplus::Group::setBrightness (uint8_t brightness,
uint8_t transition = 4 
)
+
+ +

Convenience function to set brightness.

+
See also
StateTransaction::setBrightness
+ +
+
+ +

◆ setColor() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void hueplusplus::Group::setColor (const HueSaturationhueSat,
uint8_t transition = 4 
)
+
+ +

Convenience function to set hue and saturation.

+
See also
StateTransaction::setColor(const HueSaturation&)
+ +
+
+ +

◆ setColor() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
void hueplusplus::Group::setColor (const XYBrightnessxy,
uint8_t transition = 4 
)
+
+ +

Convenience function to set color xy.

+
See also
StateTransaction::setColor(const XYBrightness&)
+ +
+
+ +

◆ setColorLoop()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void hueplusplus::Group::setColorLoop (bool on,
uint8_t transition = 4 
)
+
+ +

Convenience function to set color loop.

+
See also
StateTransaction::setColorLoop
+ +
+
+ +

◆ setColorTemperature()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void hueplusplus::Group::setColorTemperature (unsigned int mired,
uint8_t transition = 4 
)
+
+ +

Convenience function to set color temperature.

+
See also
StateTransaction::setColorTemperature
+ +
+
+ +

◆ setLights()

+ +
+
+ + + + + + + + +
void hueplusplus::Group::setLights (const std::vector< int > & ids)
+
+ +

Set group lights.

+
Parameters
+ + +
idsNew light ids. May or may not be empty depending on type.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setName()

+ +
+
+ + + + + + + + +
void hueplusplus::Group::setName (const std::string & name)
+
+ +

Set group name.

+
Parameters
+ + +
nameNew 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 
)
+
+ +

Convenience function to turn lights on.

+
See also
StateTransaction::setOn
+ +
+
+ +

◆ setRefreshDuration()

+ +
+
+ + + + + + + + +
void hueplusplus::Group::setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+
+ +

Sets custom refresh interval for this group.

+
Parameters
+ + +
refreshDurationThe 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
+ + +
typeNew room class, case sensitive. Only specific values are allowed.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+ + +
sceneScene name.
+
+
+ +
+
+ +

◆ transaction()

+ +
+
+ + + + + + + +
StateTransaction hueplusplus::Group::transaction ()
+
+ +

Create a transaction for this group.

+

The transaction can be used to change more than one value in one request.

+

Example usage:

+
+
+

Member Data Documentation

+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::GroupResourceList< Resource, CreateType > Member List
+
+
+ +

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 >inlineprotected
create(const CreateType &params)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
factoryhueplusplus::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 >inlineprotectedstatic
maybeToString(const IdType &id)hueplusplus::ResourceList< Resource, int >inlineprotectedstatic
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
pathhueplusplus::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
sharedStatehueplusplus::ResourceList< Resource, int >protected
stateCachehueplusplus::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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +List of all members
+
+
hueplusplus::GroupResourceList< Resource, CreateType > Class Template Reference
+
+
+ +

Handles a group list with the special group 0. + More...

+ +

#include <hueplusplus/ResourceList.h>

+
+ + Inheritance diagram for hueplusplus::GroupResourceList< Resource, CreateType >:
+
+
+ +
+ + Collaboration diagram for hueplusplus::GroupResourceList< Resource, CreateType >:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

Resource get (const int &id)
 Get group, specially handles group 0. More...
 
bool exists (int id) const
 Get group, specially handles group 0. More...
 
- Public Member Functions inherited from hueplusplus::CreateableResourceList< ResourceList< Resource, int >, CreateType >
ResourceList< Resource, int > ::IdType create (const CreateType &params)
 Create a new resource. More...
 
- Public Member Functions inherited from hueplusplus::ResourceList< Resource, int >
 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...
 
ResourceListoperator= (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...
 
+ + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

 GroupResourceList (GroupResourceList &&)=default
 Protected defaulted move constructor. More...
 
GroupResourceListoperator= (GroupResourceList &&)=default
 Protected defaulted move assignment. More...
 
- Protected Member Functions inherited from hueplusplus::CreateableResourceList< ResourceList< Resource, int >, CreateType >
 CreateableResourceList (CreateableResourceList &&)=default
 Protected defaulted move constructor. More...
 
CreateableResourceListoperator= (CreateableResourceList &&)=default
 Protected defaulted move assignment. More...
 
- Protected Member Functions inherited from hueplusplus::ResourceList< Resource, int >
 ResourceList (ResourceList &&)=default
 Protected defaulted move constructor. More...
 
ResourceListoperator= (ResourceList &&)=default
 Protected defaulted move assignment. More...
 
Resource construct (const IdType &id, const nlohmann::json &state)
 Constructs resource using factory or constructor, if available. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from hueplusplus::ResourceList< Resource, int >
using ResourceType = Resource
 
using IdType = int
 
- Static Protected Member Functions inherited from hueplusplus::ResourceList< Resource, int >
static IdType maybeStoi (const std::string &key)
 Calls std::stoi if IdType is int. More...
 
static std::string maybeToString (const IdType &id)
 Calls std::to_string if IdType is int. More...
 
- Protected Attributes inherited from hueplusplus::ResourceList< Resource, int >
std::shared_ptr< APICachestateCache
 
std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> factory
 
std::string path
 
bool sharedState
 
+

Detailed Description

+

template<typename Resource, typename CreateType>
+class hueplusplus::GroupResourceList< Resource, CreateType >

+ +

Handles a group list with the special group 0.

+
Template Parameters
+ + + +
ResourceResource type that is in the list
CreateTypeType that provides parameters for creation. Must have a const getRequest() function returning the JSON for the POST request.
+
+
+

Constructor & Destructor Documentation

+ +

◆ GroupResourceList()

+ +
+
+
+template<typename Resource , typename CreateType >
+ + + + + +
+ + + + + + + + +
hueplusplus::GroupResourceList< Resource, CreateType >::GroupResourceList (GroupResourceList< Resource, CreateType > && )
+
+protecteddefault
+
+ +

Protected defaulted move constructor.

+ +
+
+

Member Function Documentation

+ +

◆ exists()

+ +
+
+
+template<typename Resource , typename CreateType >
+ + + + + +
+ + + + + + + + +
bool hueplusplus::GroupResourceList< Resource, CreateType >::exists (int id) const
+
+inline
+
+ +

Get group, specially handles group 0.

+
See also
ResourceList::exists
+ +
+
+ +

◆ get()

+ +
+
+
+template<typename Resource , typename CreateType >
+ + + + + +
+ + + + + + + + +
Resource hueplusplus::GroupResourceList< Resource, CreateType >::get (const int & id)
+
+inline
+
+ +

Get group, specially handles group 0.

+
See also
ResourceList::get
+ +
+
+ +

◆ operator=()

+ +
+
+
+template<typename Resource , typename CreateType >
+ + + + + +
+ + + + + + + + +
GroupResourceList& hueplusplus::GroupResourceList< Resource, CreateType >::operator= (GroupResourceList< Resource, CreateType > && )
+
+protecteddefault
+
+ +

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::HueAPIResponseException Member List
+
+
+ +

This is the complete list of members for hueplusplus::HueAPIResponseException, including all inherited members.

+ + + + + + + + + + +
Create(FileInfo fileInfo, const nlohmann::json &response)hueplusplus::HueAPIResponseExceptionstatic
GetAddress() const noexcepthueplusplus::HueAPIResponseException
GetDescription() const noexcepthueplusplus::HueAPIResponseException
GetErrorNumber() const noexcepthueplusplus::HueAPIResponseException
GetFile() const noexcepthueplusplus::HueException
HueAPIResponseException(FileInfo fileInfo, int error, std::string address, std::string description)hueplusplus::HueAPIResponseException
HueException(FileInfo fileInfo, const std::string &message)hueplusplus::HueException
HueException(const char *exceptionName, FileInfo fileInfo, const std::string &message)hueplusplus::HueExceptionprotected
what() const noexcept overridehueplusplus::HueException
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Member Functions | +List of all members
+
+
hueplusplus::HueAPIResponseException Class Reference
+
+
+ +

Exception caused by a Hue API "error" response with additional information. + More...

+ +

#include <hueplusplus/HueException.h>

+
+ + Inheritance diagram for hueplusplus::HueAPIResponseException:
+
+
+ +
+ + Collaboration diagram for hueplusplus::HueAPIResponseException:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 HueAPIResponseException (FileInfo fileInfo, int error, std::string address, std::string description)
 Create exception with info from Hue API error. More...
 
int GetErrorNumber () const noexcept
 Error number from Hue API error response. More...
 
const std::string & GetAddress () const noexcept
 Address the API call tried to access. More...
 
const std::string & GetDescription () const noexcept
 Error description. More...
 
- Public Member Functions inherited from hueplusplus::HueException
 HueException (FileInfo fileInfo, const std::string &message)
 Creates HueException with information about the error and source. More...
 
const char * what () const noexcept override
 What message of the exception. More...
 
const FileInfoGetFile () const noexcept
 Filename and line where the exception was thrown or caused by. More...
 
+ + + + +

+Static Public Member Functions

static HueAPIResponseException Create (FileInfo fileInfo, const nlohmann::json &response)
 Creates exception from API response. More...
 
+ + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::HueException
 HueException (const char *exceptionName, FileInfo fileInfo, const std::string &message)
 Creates HueException with child class name. More...
 
+

Detailed Description

+

Exception caused by a Hue API "error" response with additional information.

+

Refer to Hue developer documentation for more detail on specific error codes.

+

Constructor & Destructor Documentation

+ +

◆ HueAPIResponseException()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::HueAPIResponseException::HueAPIResponseException (FileInfo fileInfo,
int error,
std::string address,
std::string description 
)
+
+ +

Create exception with info from Hue API error.

+
Parameters
+ + + + + +
fileInfoSource of the error. Must not always be the throw location, can also be a calling function which matches the cause better.
errorHue API error code from error response.
addressURI the API call referred to from error response.
descriptionError description from response.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ Create()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
HueAPIResponseException hueplusplus::HueAPIResponseException::Create (FileInfo fileInfo,
const nlohmann::json & response 
)
+
+static
+
+ +

Creates exception from API response.

+
Parameters
+ + + +
fileInfoLocation of the cause
responseHue 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::HueCommandAPI Member List
+
+
+ +

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Classes | +Public Member Functions | +List of all members
+
+
hueplusplus::HueCommandAPI Class Reference
+
+
+ +

#include <hueplusplus/HueCommandAPI.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 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...
 
HueCommandAPIoperator= (const HueCommandAPI &)=default
 Copy assign from other HueCommandAPI. More...
 
HueCommandAPIoperator= (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...
 
+

Detailed Description

+

Handles communication to the bridge via IHttpHandler and enforces a timeout between each request

+

Constructor & Destructor Documentation

+ +

◆ HueCommandAPI() [1/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::HueCommandAPI::HueCommandAPI (const std::string & ip,
int port,
const std::string & username,
std::shared_ptr< const IHttpHandlerhttpHandler 
)
+
+ +

Construct from ip, username and HttpHandler.

+
Parameters
+ + + + + +
ipip address of the Hue bridge in dotted decimal notation like "192.168.2.1"
portof the hue bridge
usernameusername that is used to control the bridge
httpHandlerHttpHandler 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
+ +
+
+

Member Function Documentation

+ +

◆ 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
+ + + + +
pathAPI request path (appended after /api/{username})
requestRequest to the api, may be empty
fileInfoFile information for thrown exceptions.
+
+
+
Returns
The return value of the underlying IHttpHandler::DELETEJson call
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contains no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+ + + + +
pathAPI request path (appended after /api/{username})
requestRequest to the api, may be empty
fileInfoFile information for thrown exceptions.
+
+
+
Returns
The return value of the underlying IHttpHandler::GETJson call
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contains no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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]

+ +
+
+ + + + + +
+ + + + + + + + +
HueCommandAPI& hueplusplus::HueCommandAPI::operator= (const HueCommandAPI)
+
+default
+
+ +

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]

+ +
+
+ + + + + +
+ + + + + + + + +
HueCommandAPI& hueplusplus::HueCommandAPI::operator= (HueCommandAPI && )
+
+default
+
+ +

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
+ + + + +
pathAPI request path (appended after /api/{username})
requestRequest to the api, may be empty
fileInfoFile information for thrown exceptions.
+
+
+
Returns
The return value of the underlying IHttpHandler::POSTJson call
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contains no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+ + + + +
pathAPI request path (appended after /api/{username})
requestRequest to the api, may be empty
fileInfoFile information for thrown exceptions.
+
+
+
Returns
The return value of the underlying IHttpHandler::PUTJson call
+
Exceptions
+ + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contains no body
HueAPIResponseExceptionwhen response contains an error
+
+
+ +
+
+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::HueException Member List
+
+
+ +

This is the complete list of members for hueplusplus::HueException, including all inherited members.

+ + + + + +
GetFile() const noexcepthueplusplus::HueException
HueException(FileInfo fileInfo, const std::string &message)hueplusplus::HueException
HueException(const char *exceptionName, FileInfo fileInfo, const std::string &message)hueplusplus::HueExceptionprotected
what() const noexcept overridehueplusplus::HueException
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +List of all members
+
+
hueplusplus::HueException Class Reference
+
+
+ +

Exception class with file information. Base class of all custom exception classes. + More...

+ +

#include <hueplusplus/HueException.h>

+
+ + Inheritance diagram for hueplusplus::HueException:
+
+
+ +
+ + Collaboration diagram for hueplusplus::HueException:
+
+
+ + + + + + + + + + + + +

+Public Member Functions

 HueException (FileInfo fileInfo, const std::string &message)
 Creates HueException with information about the error and source. More...
 
const char * what () const noexcept override
 What message of the exception. More...
 
const FileInfoGetFile () const noexcept
 Filename and line where the exception was thrown or caused by. More...
 
+ + + + +

+Protected Member Functions

 HueException (const char *exceptionName, FileInfo fileInfo, const std::string &message)
 Creates HueException with child class name. More...
 
+

Detailed Description

+

Exception class with file information. Base class of all custom exception classes.

+

Constructor & Destructor Documentation

+ +

◆ HueException() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
hueplusplus::HueException::HueException (FileInfo fileInfo,
const std::string & message 
)
+
+ +

Creates HueException with information about the error and source.

+
Parameters
+ + + +
fileInfoSource of the error. Must not always be the throw location, can also be a calling function which matches the cause better.
messageHuman 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
+ + + + +
exceptionNameclass name of the subclass
fileInfoSource of the error. Must not always be the throw location, can also be a calling function which matches the cause better.
messageHuman readable error message
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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
+
+overridenoexcept
+
+ +

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::IHttpHandler Member List
+
+
+ +

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::IHttpHandlerpure virtual
DELETEString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandlerpure virtual
GETJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandlerpure virtual
GETString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandlerpure virtual
POSTJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandlerpure virtual
POSTString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandlerpure virtual
PUTJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandlerpure virtual
PUTString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandlerpure virtual
send(const std::string &msg, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandlerpure virtual
sendGetHTTPBody(const std::string &msg, const std::string &adr, int port=80) const =0hueplusplus::IHttpHandlerpure 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::IHttpHandlerpure 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::IHttpHandlerpure virtual
~IHttpHandler()=defaulthueplusplus::IHttpHandlervirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::IHttpHandler Class Referenceabstract
+
+
+ +

Abstract class for classes that handle http requests and multicast requests. + More...

+ +

#include <hueplusplus/IHttpHandler.h>

+
+ + Inheritance diagram for hueplusplus::IHttpHandler:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

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...
 
+

Detailed Description

+

Abstract class for classes that handle http requests and multicast requests.

+

Constructor & Destructor Documentation

+ +

◆ ~IHttpHandler()

+ +
+
+ + + + + +
+ + + + + + + +
virtual hueplusplus::IHttpHandler::~IHttpHandler ()
+
+virtualdefault
+
+ +

Virtual dtor.

+ +
+
+

Member Function Documentation

+ +

◆ 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
+ + + + + +
uriUniform Resource Identifier in the request
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional port the request is sent to, default is 80
+
+
+
Returns
Parsed body of the response of the host
+
Exceptions
+ + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
nlohmann::json::parse_errorwhen 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
+ + + + + + +
uriUniform Resource Identifier in the request
contentTypeMIME type of the body data e.g. "text/html", "application/json", ...
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional 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_errorwhen system or socket operations fail
HueExceptionwhen 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
+ + + + + +
uriUniform Resource Identifier in the request
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional port the request is sent to, default is 80
+
+
+
Returns
Parsed body of the response of the host
+
Exceptions
+ + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
nlohmann::json::parse_errorwhen 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
+ + + + + + +
uriUniform Resource Identifier in the request
contentTypeMIME type of the body data e.g. "text/html", "application/json", ...
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional 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_errorwhen system or socket operations fail
HueExceptionwhen 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
+ + + + + +
uriUniform Resource Identifier in the request
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional port the request is sent to, default is 80
+
+
+
Returns
Parsed body of the response of the host
+
Exceptions
+ + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
nlohmann::json::parse_errorwhen 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
+ + + + + + +
uriUniform Resource Identifier in the request
contentTypeMIME type of the body data e.g. "text/html", "application/json", ...
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional 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_errorwhen system or socket operations fail
HueExceptionwhen 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
+ + + + + +
uriUniform Resource Identifier in the request
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional port the request is sent to, default is 80
+
+
+
Returns
Parsed body of the response of the host
+
Exceptions
+ + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
nlohmann::json::parse_errorwhen 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
+ + + + + + +
uriUniform Resource Identifier in the request
contentTypeMIME type of the body data e.g. "text/html", "application/json", ...
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional 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_errorwhen system or socket operations fail
HueExceptionwhen 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
+ + + + +
msgThe message that should be sent to the specified address
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional port the request is sent to, default is 80
+
+
+
Returns
The response of the host as a string
+
Exceptions
+ + +
std::system_errorwhen 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
+ + + + +
msgThe message that should sent to the specified address
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional port the request is sent to, default is 80
+
+
+
Returns
The body of the response of the host as a string
+
Exceptions
+ + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen 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
+ + + + + + + +
methodHTTP method type e.g. GET, HEAD, POST, PUT, DELETE, ...
uriUniform Resource Identifier in the request
contentTypeMIME type of the body data e.g. "text/html", "application/json", ...
bodyRequest body, may be empty
adrIp or hostname in dotted decimal notation like "192.168.2.1"
portOptional port the request is sent to, default is 80
+
+
+
Returns
Body of the response of the host
+
Exceptions
+ + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen 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
+ + + + + +
msgThe message that should sent to the specified multicast address
adrOptional ip or hostname in dotted decimal notation, default is "239.255.255.250"
portOptional port the request is sent to, default is 1900
timeoutOptional 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_errorwhen 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::Light Member List
+
+
+ +

This is the complete list of members for hueplusplus::Light, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
alert()hueplusplus::Lightvirtual
alertHueSaturation(const HueSaturation &hueSat)hueplusplus::Lightinlinevirtual
alertTemperature(unsigned int mired)hueplusplus::Lightinlinevirtual
alertXY(const XYBrightness &xy)hueplusplus::Lightinlinevirtual
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
brightnessStrategyhueplusplus::Lightprotected
colorHueStrategyhueplusplus::Lightprotected
colorTemperatureStrategyhueplusplus::Lightprotected
colorTypehueplusplus::Lightprotected
ExtendedColorHueStrategy classhueplusplus::Lightfriend
ExtendedColorTemperatureStrategy classhueplusplus::Lightfriend
getBrightness() consthueplusplus::Lightinlinevirtual
getBrightness()hueplusplus::Lightinlinevirtual
getColorGamut() consthueplusplus::Light
getColorHueSaturation() consthueplusplus::Lightinlinevirtual
getColorHueSaturation()hueplusplus::Lightinlinevirtual
getColorTemperature() consthueplusplus::Lightinlinevirtual
getColorTemperature()hueplusplus::Lightinlinevirtual
getColorType() consthueplusplus::Lightvirtual
getColorXY() consthueplusplus::Lightinlinevirtual
getColorXY()hueplusplus::Lightinlinevirtual
getId() consthueplusplus::BaseDevicevirtual
getLuminaireUId() consthueplusplus::Lightvirtual
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
hasBrightnessControl() consthueplusplus::Lightinlinevirtual
hasColorControl() consthueplusplus::Lightinlinevirtual
hasTemperatureControl() consthueplusplus::Lightinlinevirtual
idhueplusplus::BaseDeviceprotected
isOn()hueplusplus::Lightvirtual
isOn() consthueplusplus::Lightvirtual
Light(int id, const HueCommandAPI &commands)hueplusplus::Lightprotected
Light(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::Lightprotected
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)hueplusplus::Lightprotected
LightFactory classhueplusplus::Lightfriend
off(uint8_t transition=4)hueplusplus::Lightvirtual
on(uint8_t transition=4)hueplusplus::Lightvirtual
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setBrightness(unsigned int bri, uint8_t transition=4)hueplusplus::Lightinlinevirtual
setBrightnessStrategy(std::shared_ptr< const BrightnessStrategy > strat)hueplusplus::Lightinlineprotectedvirtual
setColorHue(uint16_t hue, uint8_t transition=4)hueplusplus::Lightinlinevirtual
setColorHueSaturation(const HueSaturation &hueSat, uint8_t transition=4)hueplusplus::Lightinlinevirtual
setColorHueStrategy(std::shared_ptr< const ColorHueStrategy > strat)hueplusplus::Lightinlineprotectedvirtual
setColorLoop(bool on)hueplusplus::Lightinlinevirtual
setColorRGB(const RGB &rgb, uint8_t transition=4)hueplusplus::Lightinlinevirtual
setColorSaturation(uint8_t sat, uint8_t transition=4)hueplusplus::Lightinlinevirtual
setColorTemperature(unsigned int mired, uint8_t transition=4)hueplusplus::Lightinlinevirtual
setColorTemperatureStrategy(std::shared_ptr< const ColorTemperatureStrategy > strat)hueplusplus::Lightinlineprotectedvirtual
setColorXY(const XYBrightness &xy, uint8_t transition=4)hueplusplus::Lightinlinevirtual
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
SimpleBrightnessStrategy classhueplusplus::Lightfriend
SimpleColorHueStrategy classhueplusplus::Lightfriend
SimpleColorTemperatureStrategy classhueplusplus::Lightfriend
statehueplusplus::BaseDeviceprotected
transaction()hueplusplus::Lightvirtual
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Protected Member Functions | +Protected Attributes | +Friends | +List of all members
+
+
hueplusplus::Light Class Reference
+
+
+ +

Class for Hue Light fixtures. + More...

+ +

#include <hueplusplus/Light.h>

+
+ + Inheritance diagram for hueplusplus::Light:
+
+
+ +
+ + Collaboration diagram for hueplusplus::Light:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

General information
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...
 
Light state
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...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

 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 &currentState)
 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...
 
- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
+ + + + + + + + + + + + + + + + + + + + +

+Protected Attributes

ColorType colorType
 holds the ColorType of the light More...
 
std::shared_ptr< const BrightnessStrategybrightnessStrategy
 holds a reference to the strategy that handles brightness commands More...
 
std::shared_ptr< const ColorTemperatureStrategycolorTemperatureStrategy
 holds a reference to the strategy that handles colortemperature commands More...
 
std::shared_ptr< const ColorHueStrategycolorHueStrategy
 holds a reference to the strategy that handles all color commands More...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+ + + + + + + + + + + + + +

+Friends

class LightFactory
 
class SimpleBrightnessStrategy
 
class SimpleColorHueStrategy
 
class ExtendedColorHueStrategy
 
class SimpleColorTemperatureStrategy
 
class ExtendedColorTemperatureStrategy
 
+

Detailed Description

+

Class for Hue Light fixtures.

+

Provides methods to query and control lights.

+

Constructor & Destructor Documentation

+ +

◆ Light() [1/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
hueplusplus::Light::Light (int id,
const HueCommandAPIcommands 
)
+
+protected
+
+ +

Protected ctor that is used by LightFactory.

+
Parameters
+ + + +
idInteger that specifies the id of this light
commandsHueCommandAPI 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
+ + + +
idInteger that specifies the id of this light
baseCacheCache of the light list (must not be null).
+
+
+

leaves strategies unset

+ +
+
+ +

◆ Light() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::Light::Light (int id,
const HueCommandAPIcommands,
std::shared_ptr< const BrightnessStrategybrightnessStrategy,
std::shared_ptr< const ColorTemperatureStrategycolorTempStrategy,
std::shared_ptr< const ColorHueStrategycolorHueStrategy,
std::chrono::steady_clock::duration refreshDuration,
const nlohmann::json & currentState 
)
+
+protected
+
+ +

Protected ctor that is used by LightFactory, also sets strategies.

+
Parameters
+ + + + + + + + +
idInteger that specifies the id of this light
commandsHueCommandAPI for communication with the bridge
brightnessStrategyStrategy for brightness. May be nullptr.
colorTempStrategyStrategy for color temperature. May be nullptr.
colorHueStrategyStrategy for color hue/saturation. May be nullptr.
refreshDurationTime between refreshing the cached state. Can be 0 to always refresh, or steady_clock::duration::max() to never refresh.
currentStateThe current light state, may be null.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ alertHueSaturation()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool hueplusplus::Light::alertHueSaturation (const HueSaturationhueSat)
+
+inlinevirtual
+
+ +

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
+ + +
hueSatColor in hue and saturation
+
+
+
Returns
Bool that is true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ alertTemperature()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool hueplusplus::Light::alertTemperature (unsigned int mired)
+
+inlinevirtual
+
+ +

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
+ + +
miredColor temperature in mired
+
+
+
Returns
Bool that is true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ alertXY()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool hueplusplus::Light::alertXY (const XYBrightnessxy)
+
+inlinevirtual
+
+ +

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
+ + +
xyThe x,y coordinates in CIE and brightness
+
+
+
Returns
Bool that is true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ getBrightness() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
virtual unsigned int hueplusplus::Light::getBrightness () const
+
+inlinevirtual
+
+ +

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 ()
+
+inlinevirtual
+
+ +

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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+
+inlinevirtual
+
+ +

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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ getColorHueSaturation() [2/2]

+ +
+
+ + + + + +
+ + + + + + + +
virtual HueSaturation hueplusplus::Light::getColorHueSaturation ()
+
+inlinevirtual
+
+ +

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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ getColorTemperature() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
virtual unsigned int hueplusplus::Light::getColorTemperature () const
+
+inlinevirtual
+
+ +

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 ()
+
+inlinevirtual
+
+ +

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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+
+inlinevirtual
+
+ +

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 ()
+
+inlinevirtual
+
+ +

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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+
+inlinevirtual
+
+ +

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
+
+inlinevirtual
+
+ +

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
+
+inlinevirtual
+
+ +

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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+ + +
transitionOptional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
Returns
Bool that is true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ on()

+ +
+
+ + + + + +
+ + + + + + + + +
bool hueplusplus::Light::on (uint8_t transition = 4)
+
+virtual
+
+ +

Function that turns the light on.

+
Parameters
+ + +
transitionOptional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
Returns
true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setBrightness()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::Light::setBrightness (unsigned int bri,
uint8_t transition = 4 
)
+
+inlinevirtual
+
+ +

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
+ + + +
briUnsigned int that specifies the brightness
transitionOptional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
Returns
Bool that is true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setBrightnessStrategy()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void hueplusplus::Light::setBrightnessStrategy (std::shared_ptr< const BrightnessStrategystrat)
+
+inlineprotectedvirtual
+
+ +

Protected function that sets the brightness strategy.

+

The strategy defines how specific commands that deal with brightness control are executed

Parameters
+ + +
strata strategy of type BrightnessStrategy
+
+
+ +
+
+ +

◆ setColorHue()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::Light::setColorHue (uint16_t hue,
uint8_t transition = 4 
)
+
+inlinevirtual
+
+ +

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
+ + + +
hueuint16_t that specifies the hue
transitionOptional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
Returns
Bool that is true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setColorHueSaturation()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::Light::setColorHueSaturation (const HueSaturationhueSat,
uint8_t transition = 4 
)
+
+inlinevirtual
+
+ +

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
+ + + +
hueSatColor in hue and satuation.
transitionOptional parameter to set the transition from current state to new, standard is 4 = 400ms.
+
+
+
Returns
Bool that is true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setColorHueStrategy()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void hueplusplus::Light::setColorHueStrategy (std::shared_ptr< const ColorHueStrategystrat)
+
+inlineprotectedvirtual
+
+ +

Protected function that sets the colorHue strategy.

+

The strategy defines how specific commands that deal with color control are executed

Parameters
+ + +
strata strategy of type ColorHueStrategy
+
+
+ +
+
+ +

◆ setColorLoop()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual bool hueplusplus::Light::setColorLoop (bool on)
+
+inlinevirtual
+
+ +

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
+ + +
onbool that enables this feature when true and disables it when false
+
+
+
Returns
Bool that is true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setColorRGB()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::Light::setColorRGB (const RGBrgb,
uint8_t transition = 4 
)
+
+inlinevirtual
+
+ +

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
+ + + +
rgbRGB color that will be mapped to the available color space
transitionOptional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
Returns
Bool that is true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setColorSaturation()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::Light::setColorSaturation (uint8_t sat,
uint8_t transition = 4 
)
+
+inlinevirtual
+
+ +

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
+ + + +
satuint8_t that specifies the saturation
transitionOptional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
Returns
Bool that is true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setColorTemperature()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::Light::setColorTemperature (unsigned int mired,
uint8_t transition = 4 
)
+
+inlinevirtual
+
+ +

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
+ + + +
miredUnsigned int that specifies the color temperature in Mired
transitionOptional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
Returns
Bool that is true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setColorTemperatureStrategy()

+ +
+
+ + + + + +
+ + + + + + + + +
virtual void hueplusplus::Light::setColorTemperatureStrategy (std::shared_ptr< const ColorTemperatureStrategystrat)
+
+inlineprotectedvirtual
+
+ +

Protected function that sets the colorTemperature strategy.

+

The strategy defines how specific commands that deal with colortemperature control are executed

Parameters
+ + +
strata strategy of type ColorTemperatureStrategy
+
+
+ +
+
+ +

◆ setColorXY()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
virtual bool hueplusplus::Light::setColorXY (const XYBrightnessxy,
uint8_t transition = 4 
)
+
+inlinevirtual
+
+ +

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
+ + + +
xyThe color in XY and brightness
transitionOptional parameter to set the transition from current state to new, standard is 4 = 400ms
+
+
+
Returns
Bool that is true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ transaction()

+ +
+
+ + + + + +
+ + + + + + + +
StateTransaction hueplusplus::Light::transaction ()
+
+virtual
+
+ +

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:

+
+
+

Friends And Related Function Documentation

+ +

◆ ExtendedColorHueStrategy

+ +
+
+ + + + + +
+ + + + +
friend class ExtendedColorHueStrategy
+
+friend
+
+ +
+
+ +

◆ ExtendedColorTemperatureStrategy

+ +
+
+ + + + + +
+ + + + +
friend class ExtendedColorTemperatureStrategy
+
+friend
+
+ +
+
+ +

◆ LightFactory

+ +
+
+ + + + + +
+ + + + +
friend class LightFactory
+
+friend
+
+ +
+
+ +

◆ SimpleBrightnessStrategy

+ +
+
+ + + + + +
+ + + + +
friend class SimpleBrightnessStrategy
+
+friend
+
+ +
+
+ +

◆ SimpleColorHueStrategy

+ +
+
+ + + + + +
+ + + + +
friend class SimpleColorHueStrategy
+
+friend
+
+ +
+
+ +

◆ SimpleColorTemperatureStrategy

+ +
+
+ + + + + +
+ + + + +
friend class SimpleColorTemperatureStrategy
+
+friend
+
+ +
+
+

Member Data Documentation

+ +

◆ brightnessStrategy

+ +
+
+ + + + + +
+ + + + +
std::shared_ptr<const BrightnessStrategy> hueplusplus::Light::brightnessStrategy
+
+protected
+
+ +

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

+ +
+
+ + + + + +
+ + + + +
std::shared_ptr<const ColorTemperatureStrategy> hueplusplus::Light::colorTemperatureStrategy
+
+protected
+
+ +

holds a reference to the strategy that handles colortemperature commands

+ +
+
+ +

◆ colorType

+ +
+
+ + + + + +
+ + + + +
ColorType hueplusplus::Light::colorType
+
+protected
+
+ +

holds the ColorType of the light

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::LightFactory Member List
+
+
+ +

This is the complete list of members for hueplusplus::LightFactory, including all inherited members.

+ + + +
createLight(const nlohmann::json &lightState, int id, const std::shared_ptr< APICache > &baseCache={})hueplusplus::LightFactory
LightFactory(const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration)hueplusplus::LightFactory
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::LightFactory Class Reference
+
+
+ +

#include <hueplusplus/HueDeviceTypes.h>

+ + + + + + + + +

+Public Member Functions

 LightFactory (const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration)
 Create a factory for Lights. More...
 
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. More...
 
+

Constructor & Destructor Documentation

+ +

◆ LightFactory()

+ +
+
+ + + + + + + + + + + + + + + + + + +
hueplusplus::LightFactory::LightFactory (const HueCommandAPIcommands,
std::chrono::steady_clock::duration refreshDuration 
)
+
+ +

Create a factory for Lights.

+
Parameters
+ + + +
commandsHueCommandAPI for communication with the bridge
refreshDurationTime between refreshing the cached light state.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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
+ + + + +
lightStateLight JSON as returned from the bridge (not only the "state" part of it).
idLight id.
baseCacheOptional shared cache for the light.
+
+
+
Returns
Light with matching id, strategies and ColorType.
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen light type is unknown
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::LightState Member List
+
+
+ +

This is the complete list of members for hueplusplus::LightState, including all inherited members.

+ + + + + + + + + + + + + + + + + +
getBrightness() consthueplusplus::LightState
getColorloop() consthueplusplus::LightState
getCt() consthueplusplus::LightState
getHueSat() consthueplusplus::LightState
getTransitionTime() consthueplusplus::LightState
getXY() consthueplusplus::LightState
hasBrightness() consthueplusplus::LightState
hasCt() consthueplusplus::LightState
hasEffect() consthueplusplus::LightState
hasHueSat() consthueplusplus::LightState
hasXY() consthueplusplus::LightState
isOn() consthueplusplus::LightState
LightState(const nlohmann::json &state)hueplusplus::LightStateexplicit
operator!=(const LightState &other) consthueplusplus::LightState
operator==(const LightState &other) consthueplusplus::LightState
toJson() consthueplusplus::LightState
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::LightState Class Reference
+
+
+ +

Immutable state of a light. + More...

+ +

#include <hueplusplus/Scene.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 LightState (const nlohmann::json &state)
 Create LightState from json. More...
 
bool isOn () const
 Get whether the light is on. More...
 
bool hasBrightness () const
 Get whether a brightness is stored. More...
 
int getBrightness () const
 Get brightness of the light. More...
 
bool hasHueSat () const
 Get whether hue and saturation is stored. More...
 
HueSaturation getHueSat () const
 Get hue and saturation of the light. More...
 
bool hasXY () const
 Get whether xy color is stored. More...
 
XYBrightness getXY () const
 Get xy color of the light. More...
 
bool hasCt () const
 Get whether color temperature is stored. More...
 
int getCt () const
 Get color temperature of the light. More...
 
bool hasEffect () const
 Get whether effect is stored. More...
 
bool getColorloop () const
 Get whether colorloop effect is active. More...
 
int getTransitionTime () const
 Get transition time to this light state. More...
 
nlohmann::json toJson () const
 Convert to json representation. More...
 
bool operator== (const LightState &other) const
 Equality comparison. More...
 
bool operator!= (const LightState &other) const
 Inequality comparison. More...
 
+

Detailed Description

+

Immutable state of a light.

+

Constructor & Destructor Documentation

+ +

◆ LightState()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::LightState::LightState (const nlohmann::json & state)
+
+explicit
+
+ +

Create LightState from json.

+
Note
Use LightStateBuilder for easier creation.
+ +
+
+

Member Function Documentation

+ +

◆ 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 LightStateother) const
+
+ +

Inequality comparison.

+ +
+
+ +

◆ operator==()

+ +
+
+ + + + + + + + +
bool hueplusplus::LightState::operator== (const LightStateother) 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::LightStateBuilder Member List
+
+
+ +

This is the complete list of members for hueplusplus::LightStateBuilder, including all inherited members.

+ + + + + + + + + +
create()hueplusplus::LightStateBuilder
setBrightness(int brightness)hueplusplus::LightStateBuilder
setColorloop(bool enabled)hueplusplus::LightStateBuilder
setCt(int mired)hueplusplus::LightStateBuilder
setHueSat(const HueSaturation &hueSat)hueplusplus::LightStateBuilder
setOn(bool on)hueplusplus::LightStateBuilder
setTransitionTime(int time)hueplusplus::LightStateBuilder
setXY(const XY &xy)hueplusplus::LightStateBuilder
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::LightStateBuilder Class Reference
+
+
+ +

Builder to create LightState. + More...

+ +

#include <hueplusplus/Scene.h>

+ + + + + + + + + + + + + + + + + + +

+Public Member Functions

LightStateBuildersetOn (bool on)
 
LightStateBuildersetBrightness (int brightness)
 
LightStateBuildersetHueSat (const HueSaturation &hueSat)
 
LightStateBuildersetXY (const XY &xy)
 
LightStateBuildersetCt (int mired)
 
LightStateBuildersetColorloop (bool enabled)
 
LightStateBuildersetTransitionTime (int time)
 
LightState create ()
 
+

Detailed Description

+

Builder to create LightState.

+

Member Function Documentation

+ +

◆ 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()

+ +
+
+ + + + + + + + +
LightStateBuilder & hueplusplus::LightStateBuilder::setHueSat (const HueSaturationhueSat)
+
+ +
+
+ +

◆ setOn()

+ +
+
+ + + + + + + + +
LightStateBuilder & hueplusplus::LightStateBuilder::setOn (bool on)
+
+ +
+
+ +

◆ setTransitionTime()

+ +
+
+ + + + + + + + +
LightStateBuilder & hueplusplus::LightStateBuilder::setTransitionTime (int time)
+
+ +
+
+ +

◆ setXY()

+ +
+
+ + + + + + + + +
LightStateBuilder & hueplusplus::LightStateBuilder::setXY (const XYxy)
+
+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::LinHttpHandler Member List
+
+
+ +

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::BaseHttpHandlervirtual
DELETEString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
GETJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
GETString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
POSTJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
POSTString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
PUTJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
PUTString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
send(const std::string &msg, const std::string &adr, int port=80) const overridehueplusplus::LinHttpHandlervirtual
sendGetHTTPBody(const std::string &msg, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
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::BaseHttpHandlervirtual
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::LinHttpHandlervirtual
~BaseHttpHandler()=defaulthueplusplus::BaseHttpHandlervirtual
~IHttpHandler()=defaulthueplusplus::IHttpHandlervirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::LinHttpHandler Class Reference
+
+
+ +

Class to handle http requests and multicast requests on linux systems. + More...

+ +

#include <hueplusplus/LinHttpHandler.h>

+
+ + Inheritance diagram for hueplusplus::LinHttpHandler:
+
+
+ +
+ + Collaboration diagram for hueplusplus::LinHttpHandler:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

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...
 
+

Detailed Description

+

Class to handle http requests and multicast requests on linux systems.

+

Member Function Documentation

+ +

◆ send()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::string hueplusplus::LinHttpHandler::send (const std::string & msg,
const std::string & adr,
int port = 80 
) const
+
+overridevirtual
+
+ +

Function that sends a given message to the specified host and returns the response.

+
Parameters
+ + + + +
msgString that contains the message that is sent to the specified address
adrString that contains an ip or hostname in dotted decimal notation like "192.168.2.1"
portOptional 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
+
+overridevirtual
+
+ +

Function that sends a multicast request with the specified message.

+
Parameters
+ + + + + +
msgString that contains the request that is sent to the specified address
adrOptional String that contains an ip or hostname in dotted decimal notation, default is "239.255.255.250"
portOptional integer that specifies the port to which the request is sent. Default is 1900
timeoutOptional 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::NewDeviceList Member List
+
+
+ +

This is the complete list of members for hueplusplus::NewDeviceList, including all inherited members.

+ + + + + + + +
getLastScanTime() consthueplusplus::NewDeviceList
getNewDevices() consthueplusplus::NewDeviceList
hasLastScanTime() consthueplusplus::NewDeviceList
isScanActive()hueplusplus::NewDeviceList
NewDeviceList(const std::string &lastScan, const std::map< int, std::string > &devices)hueplusplus::NewDeviceList
parse(const nlohmann::json &json)hueplusplus::NewDeviceListstatic
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Member Functions | +List of all members
+
+
hueplusplus::NewDeviceList Class Reference
+
+
+ +

List of new devices found during the last scan. + More...

+ +

#include <hueplusplus/NewDeviceList.h>

+ + + + + + + + + + + + + + + + + +

+Public Member Functions

 NewDeviceList (const std::string &lastScan, const std::map< int, std::string > &devices)
 Construct from data. More...
 
const std::map< int, std::string > & getNewDevices () const
 Get a map of id and name of new devices. More...
 
bool hasLastScanTime () const
 Get whether a last scan time is available. More...
 
bool isScanActive ()
 Get whether scan is currently active. More...
 
time::AbsoluteTime getLastScanTime () const
 Get time when last scan was completed. More...
 
+ + + + +

+Static Public Member Functions

static NewDeviceList parse (const nlohmann::json &json)
 Parse from json response. More...
 
+

Detailed Description

+

List of new devices found during the last scan.

+

Constructor & Destructor Documentation

+ +

◆ NewDeviceList()

+ +
+
+ + + + + + + + + + + + + + + + + + +
hueplusplus::NewDeviceList::NewDeviceList (const std::string & lastScan,
const std::map< int, std::string > & devices 
)
+
+ +

Construct from data.

+ +
+
+

Member Function Documentation

+ +

◆ getLastScanTime()

+ +
+
+ + + + + + + +
time::AbsoluteTime hueplusplus::NewDeviceList::getLastScanTime () const
+
+ +

Get time when last scan was completed.

+
Exceptions
+ + +
HueExceptionwhen 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_argumentwhen json is invalid.
nlohmann::json::exceptionwhen 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::ResourceList< Resource, IdT > Member List
+
+
+ +

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 >inlineprotected
exists(const IdType &id)hueplusplus::ResourceList< Resource, IdT >inline
exists(const IdType &id) consthueplusplus::ResourceList< Resource, IdT >inline
factoryhueplusplus::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 >inlineprotectedstatic
maybeToString(const IdType &id)hueplusplus::ResourceList< Resource, IdT >inlineprotectedstatic
operator=(const ResourceList &)=deletehueplusplus::ResourceList< Resource, IdT >
operator=(ResourceList &&)=defaulthueplusplus::ResourceList< Resource, IdT >protected
pathhueplusplus::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
sharedStatehueplusplus::ResourceList< Resource, IdT >protected
stateCachehueplusplus::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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +Protected Member Functions | +Static Protected Member Functions | +Protected Attributes | +List of all members
+
+
hueplusplus::ResourceList< Resource, IdT > Class Template Reference
+
+
+ +

Handles a list of a certain API resource. + More...

+ +

#include <hueplusplus/ResourceList.h>

+ + + + + + +

+Public Types

using ResourceType = Resource
 
using IdType = IdT
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 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...
 
ResourceListoperator= (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...
 
+ + + + + + + + + + +

+Protected Member Functions

Resource construct (const IdType &id, const nlohmann::json &state)
 Constructs resource using factory or constructor, if available. More...
 
 ResourceList (ResourceList &&)=default
 Protected defaulted move constructor. More...
 
ResourceListoperator= (ResourceList &&)=default
 Protected defaulted move assignment. More...
 
+ + + + + + + +

+Static Protected Member Functions

static IdType maybeStoi (const std::string &key)
 Calls std::stoi if IdType is int. More...
 
static std::string maybeToString (const IdType &id)
 Calls std::to_string if IdType is int. More...
 
+ + + + + + + + + +

+Protected Attributes

std::shared_ptr< APICachestateCache
 
std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> factory
 
std::string path
 
bool sharedState
 
+

Detailed Description

+

template<typename Resource, typename IdT>
+class hueplusplus::ResourceList< Resource, IdT >

+ +

Handles a list of a certain API resource.

+
Template Parameters
+ + + +
ResourceResource type that is in the list
IdTType 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.

+

Member Typedef Documentation

+ +

◆ IdType

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + +
using hueplusplus::ResourceList< Resource, IdT >::IdType = IdT
+
+ +
+
+ +

◆ ResourceType

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + +
using hueplusplus::ResourceList< Resource, IdT >::ResourceType = Resource
+
+ +
+
+

Constructor & Destructor Documentation

+ +

◆ ResourceList() [1/4]

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::ResourceList< Resource, IdT >::ResourceList (std::shared_ptr< APICachebaseCache,
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
+ + + + + + +
baseCacheBase cache which holds the parent state, not nullptr
cacheEntryEntry name of the list state in the base cache
refreshDurationInterval between refreshing the cache
sharedStateWhether created resources should share the same base cache.
factoryOptional 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 HueCommandAPIcommands,
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
+ + + + + +
commandsHueCommandAPI for requests
pathPath of the resource list
refreshDurationInterval between refreshing the cache
factoryOptional factory function to create Resources. Necessary if Resource is not constructible as described above.
+
+
+ +
+
+ +

◆ ResourceList() [3/4]

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + + +
hueplusplus::ResourceList< Resource, IdT >::ResourceList (const ResourceList< Resource, IdT > & )
+
+delete
+
+ +

Deleted copy constructor.

+ +
+
+ +

◆ ResourceList() [4/4]

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + + +
hueplusplus::ResourceList< Resource, IdT >::ResourceList (ResourceList< Resource, IdT > && )
+
+protecteddefault
+
+ +

Protected defaulted move constructor.

+ +
+
+

Member Function Documentation

+ +

◆ construct()

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
Resource hueplusplus::ResourceList< Resource, IdT >::construct (const IdTypeid,
const nlohmann::json & state 
)
+
+inlineprotected
+
+ +

Constructs resource using factory or constructor, if available.

+
Exceptions
+ + +
HueExceptionwhen factory is nullptr and Resource cannot be constructed as specified above.
+
+
+ +
+
+ +

◆ exists() [1/2]

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + + +
bool hueplusplus::ResourceList< Resource, IdT >::exists (const IdTypeid)
+
+inline
+
+ +

Checks whether resource with id exists.

+
Parameters
+ + +
idIdentifier of the resource to check
+
+
+
Returns
true when the resource with given id exists
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contains no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ exists() [2/2]

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + + +
bool hueplusplus::ResourceList< Resource, IdT >::exists (const IdTypeid) const
+
+inline
+
+ +

Checks whether resource with id exists.

+
Parameters
+ + +
idIdentifier of the resource to check
+
+
+
Returns
true when the resource with given id exists
+
Note
This will not update the cache
+
Exceptions
+ + +
HueExceptionwhen the cache is empty
+
+
+ +
+
+ +

◆ get()

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + + +
Resource hueplusplus::ResourceList< Resource, IdT >::get (const IdTypeid)
+
+inline
+
+ +

Get resource specified by id.

+
Parameters
+ + +
idIdentifier of the resource
+
+
+
Returns
The resource matching the id
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen id does not exist
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ getAll()

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + +
std::vector<Resource> hueplusplus::ResourceList< Resource, IdT >::getAll ()
+
+inline
+
+ +

Get all resources that exist.

+
Returns
A vector of references to every Resource
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contains no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ maybeStoi()

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + + +
static IdType hueplusplus::ResourceList< Resource, IdT >::maybeStoi (const std::string & key)
+
+inlinestaticprotected
+
+ +

Calls std::stoi if IdType is int.

+ +
+
+ +

◆ maybeToString()

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + + +
static std::string hueplusplus::ResourceList< Resource, IdT >::maybeToString (const IdTypeid)
+
+inlinestaticprotected
+
+ +

Calls std::to_string if IdType is int.

+ +
+
+ +

◆ operator=() [1/2]

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + + +
ResourceList& hueplusplus::ResourceList< Resource, IdT >::operator= (const ResourceList< Resource, IdT > & )
+
+delete
+
+ +

Deleted copy assignment.

+ +
+
+ +

◆ operator=() [2/2]

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + + +
ResourceList& hueplusplus::ResourceList< Resource, IdT >::operator= (ResourceList< Resource, IdT > && )
+
+protecteddefault
+
+ +

Protected defaulted move assignment.

+ +
+
+ +

◆ refresh()

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + +
void hueplusplus::ResourceList< Resource, IdT >::refresh ()
+
+inline
+
+ +

Refreshes internal state now.

+ +
+
+ +

◆ remove()

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + + + + + +
bool hueplusplus::ResourceList< Resource, IdT >::remove (const IdTypeid)
+
+inline
+
+ +

Removes the resource.

+
Parameters
+ + +
idIdentifier of the resource to remove
+
+
+
Returns
true on success
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contains no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+ + +
refreshDurationThe new minimum duration between refreshes. May be 0 or c_refreshNever.
+
+
+ +
+
+

Member Data Documentation

+ +

◆ factory

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + +
std::function<Resource(IdType, const nlohmann::json&, const std::shared_ptr<APICache>&)> hueplusplus::ResourceList< Resource, IdT >::factory
+
+protected
+
+ +
+
+ +

◆ path

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + +
std::string hueplusplus::ResourceList< Resource, IdT >::path
+
+protected
+
+ +
+
+ +

◆ sharedState

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + +
bool hueplusplus::ResourceList< Resource, IdT >::sharedState
+
+protected
+
+ +
+
+ +

◆ stateCache

+ +
+
+
+template<typename Resource, typename IdT>
+ + + + + +
+ + + + +
std::shared_ptr<APICache> hueplusplus::ResourceList< Resource, IdT >::stateCache
+
+protected
+
+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::Rule Member List
+
+
+ +

This is the complete list of members for hueplusplus::Rule, including all inherited members.

+ + + + + + + + + + + + + + + + + + +
getActions() consthueplusplus::Rule
getConditions() consthueplusplus::Rule
getCreated() consthueplusplus::Rule
getId() consthueplusplus::Rule
getLastTriggered() consthueplusplus::Rule
getName() consthueplusplus::Rule
getOwner() consthueplusplus::Rule
getTimesTriggered() consthueplusplus::Rule
isEnabled() consthueplusplus::Rule
refresh(bool force=false)hueplusplus::Rule
Rule(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::Rule
Rule(int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::Rule
setActions(const std::vector< Action > &actions)hueplusplus::Rule
setConditions(const std::vector< Condition > &conditions)hueplusplus::Rule
setEnabled(bool enabled)hueplusplus::Rule
setName(const std::string &name)hueplusplus::Rule
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::Rule
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::Rule Class Reference
+
+
+ +

Rule stored in the bridge. + More...

+ +

#include <hueplusplus/Rule.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Rule (int id, const std::shared_ptr< APICache > &baseCache)
 Creates rule with shared cache. More...
 
 Rule (int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Creates rule 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 rule. More...
 
int getId () const
 Get rule identifier. More...
 
std::string getName () const
 Get rule name. More...
 
void setName (const std::string &name)
 Set rule name. More...
 
time::AbsoluteTime getCreated () const
 Get created time. More...
 
time::AbsoluteTime getLastTriggered () const
 Get time the rule was last triggered. More...
 
int getTimesTriggered () const
 Get the number of times the rule was triggered. More...
 
bool isEnabled () const
 Get whether rule is enabled or disabled. More...
 
void setEnabled (bool enabled)
 Enable or disable rule. More...
 
std::string getOwner () const
 Get user that created or last changed the rule. More...
 
std::vector< ConditiongetConditions () const
 Get the conditions that have to be met. More...
 
std::vector< ActiongetActions () const
 Get the actions that are executed. More...
 
void setConditions (const std::vector< Condition > &conditions)
 Set conditions for the rule. More...
 
void setActions (const std::vector< Action > &actions)
 Set actions for the rule. More...
 
+

Detailed Description

+

Rule stored in the bridge.

+

Rules are used to automatically trigger Actions 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.

+

Constructor & Destructor Documentation

+ +

◆ Rule() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
hueplusplus::Rule::Rule (int id,
const std::shared_ptr< APICache > & baseCache 
)
+
+ +

Creates rule with shared cache.

+
Parameters
+ + + +
idRule id in the bridge
baseCacheCache of the rule list.
+
+
+ +
+
+ +

◆ Rule() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::Rule::Rule (int id,
const HueCommandAPIcommands,
std::chrono::steady_clock::duration refreshDuration,
const nlohmann::json & currentState 
)
+
+ +

Creates rule with id.

+
Parameters
+ + + + + +
idRule id in the bridge
commandsHueCommandAPI for requests
refreshDurationTime between refreshing the cached state.
currentStateThe current state, may be null.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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()

+ +
+
+ + + + + + + +
time::AbsoluteTime hueplusplus::Rule::getCreated () const
+
+ +

Get created time.

+ +
+
+ +

◆ getId()

+ +
+
+ + + + + + + +
int hueplusplus::Rule::getId () const
+
+ +

Get rule identifier.

+ +
+
+ +

◆ getLastTriggered()

+ +
+
+ + + + + + + +
time::AbsoluteTime hueplusplus::Rule::getLastTriggered () const
+
+ +

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
+ + +
forcetrue 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setActions()

+ +
+
+ + + + + + + + +
void hueplusplus::Rule::setActions (const std::vector< Action > & actions)
+
+ +

Set actions for the rule.

+
Parameters
+ + +
actionsThe 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
+ + +
conditionsAll conditions that need to be fulfilled. Must not be empty.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setEnabled()

+ +
+
+ + + + + + + + +
void hueplusplus::Rule::setEnabled (bool enabled)
+
+ +

Enable or disable rule.

+
Parameters
+ + +
enabledwhether the rule is triggered.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setName()

+ +
+
+ + + + + + + + +
void hueplusplus::Rule::setName (const std::string & name)
+
+ +

Set rule name.

+
Parameters
+ + +
nameNew name for the rule. Must be unique for all rules, otherwise a number is added.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setRefreshDuration()

+ +
+
+ + + + + + + + +
void hueplusplus::Rule::setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+
+ +

Sets custom refresh interval for this rule.

+
Parameters
+ + +
refreshDurationThe 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::Scene Member List
+
+
+ +

This is the complete list of members for hueplusplus::Scene, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
getAppdata() consthueplusplus::Scene
getAppdataVersion() consthueplusplus::Scene
getGroupId() consthueplusplus::Scene
getId() consthueplusplus::Scene
getLastUpdated() consthueplusplus::Scene
getLightIds() consthueplusplus::Scene
getLightStates() consthueplusplus::Scene
getName() consthueplusplus::Scene
getOwner() consthueplusplus::Scene
getPicture() consthueplusplus::Scene
getRecycle() consthueplusplus::Scene
getType() consthueplusplus::Scene
getVersion() consthueplusplus::Scene
isLocked() consthueplusplus::Scene
recall()hueplusplus::Scene
refresh(bool force=false)hueplusplus::Scene
Scene(const std::string &id, const std::shared_ptr< APICache > &baseCache)hueplusplus::Scene
Scene(const std::string &id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::Scene
setAppdata(const std::string &data, int version)hueplusplus::Scene
setLightIds(const std::vector< int > &ids)hueplusplus::Scene
setLightStates(const std::map< int, LightState > &states)hueplusplus::Scene
setName(const std::string &name)hueplusplus::Scene
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::Scene
storeCurrentLightState()hueplusplus::Scene
storeCurrentLightState(int transition)hueplusplus::Scene
Type enum namehueplusplus::Scene
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +List of all members
+
+
hueplusplus::Scene Class Reference
+
+
+ +

Scene stored in the bridge. + More...

+ +

#include <hueplusplus/Scene.h>

+ + + + + +

+Public Types

enum  Type { Type::lightScene, +Type::groupScene + }
 Type of the scen. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Scene (const std::string &id, const std::shared_ptr< APICache > &baseCache)
 Creates scene with shared cache. More...
 
 Scene (const std::string &id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Construct existing Scene. 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...
 
std::string getId () const
 Get scene identifier. More...
 
std::string getName () const
 Get scene name. More...
 
void setName (const std::string &name)
 Set scene name. More...
 
Type getType () const
 Get scene type. More...
 
int getGroupId () const
 Get group id for a GroupScene. More...
 
std::vector< int > getLightIds () const
 Get light ids. More...
 
void setLightIds (const std::vector< int > &ids)
 Set light ids for LightScene. More...
 
std::string getOwner () const
 Get user that created or last changed the scene. More...
 
bool getRecycle () const
 Get whether the scene can be automatically deleted. More...
 
bool isLocked () const
 Get whether scene is locked by a rule or schedule. More...
 
std::string getAppdata () const
 Get app specific data. More...
 
int getAppdataVersion () const
 Get version of app specific data. More...
 
void setAppdata (const std::string &data, int version)
 Set app specific data. More...
 
std::string getPicture () const
 Get picture, reserved for future use. More...
 
time::AbsoluteTime getLastUpdated () const
 Get time the scene was created/updated. More...
 
int getVersion () const
 Get version of the scene. More...
 
std::map< int, LightStategetLightStates () const
 Get stored states of the lights. More...
 
void setLightStates (const std::map< int, LightState > &states)
 Set light states. More...
 
void storeCurrentLightState ()
 Store current light state of every light in the scene. More...
 
void storeCurrentLightState (int transition)
 Store current light state and update transition time. More...
 
void recall ()
 Recall scene, putting every light in the stored state. More...
 
+

Detailed Description

+

Scene stored in the bridge.

+

Scenes bundle the state of multiple lights so it can be recalled later.

+

Member Enumeration Documentation

+ +

◆ Type

+ +
+
+ + + + + +
+ + + + +
enum hueplusplus::Scene::Type
+
+strong
+
+ +

Type of the scen.

+ + + +
Enumerator
lightScene 

The scene affects specific lights.

+
groupScene 

The scene affects all light of a specific group.

+
+ +
+
+

Constructor & Destructor Documentation

+ +

◆ Scene() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
hueplusplus::Scene::Scene (const std::string & id,
const std::shared_ptr< APICache > & baseCache 
)
+
+ +

Creates scene with shared cache.

+
Parameters
+ + + +
idScene id in the bridge
baseCacheCache of the scene list.
+
+
+ +
+
+ +

◆ Scene() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::Scene::Scene (const std::string & id,
const HueCommandAPIcommands,
std::chrono::steady_clock::duration refreshDuration,
const nlohmann::json & currentState 
)
+
+ +

Construct existing Scene.

+
Parameters
+ + + + + +
idScene id
commandsHueCommandAPI for requests
refreshDurationTime between refreshing the cached state
currentStateThe current state, may be null.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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()

+ +
+
+ + + + + + + +
time::AbsoluteTime hueplusplus::Scene::getLastUpdated () const
+
+ +

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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ refresh()

+ +
+
+ + + + + + + + +
void hueplusplus::Scene::refresh (bool force = false)
+
+ +

Refreshes internal cached state.

+
Parameters
+ + +
forcetrue 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setAppdata()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void hueplusplus::Scene::setAppdata (const std::string & data,
int version 
)
+
+ +

Set app specific data.

+
Parameters
+ + + +
dataCustom data in any format, max length 16.
versionVersion of the data
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setLightIds()

+ +
+
+ + + + + + + + +
void hueplusplus::Scene::setLightIds (const std::vector< int > & ids)
+
+ +

Set light ids for LightScene.

+
Parameters
+ + +
idsNew light ids
+
+
+

Light ids cannot be changed on GroupScene. Change the lights in the group instead.

Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setLightStates()

+ +
+
+ + + + + + + + +
void hueplusplus::Scene::setLightStates (const std::map< int, LightState > & states)
+
+ +

Set light states.

+
Parameters
+ + +
statesNew states for each light in the scene. Should contain exactly the lights in the scene. Additional states might cause an error.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setName()

+ +
+
+ + + + + + + + +
void hueplusplus::Scene::setName (const std::string & name)
+
+ +

Set scene name.

+
Parameters
+ + +
nameNew name for the scene. Must be unique for all schedules, otherwise a number is added.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setRefreshDuration()

+ +
+
+ + + + + + + + +
void hueplusplus::Scene::setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+
+ +

Sets custom refresh interval for this group.

+
Parameters
+ + +
refreshDurationThe 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ storeCurrentLightState() [2/2]

+ +
+
+ + + + + + + + +
void hueplusplus::Scene::storeCurrentLightState (int transition)
+
+ +

Store current light state and update transition time.

+
Parameters
+ + +
transitionThe updated transition time to this scene
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::Schedule Member List
+
+
+ +

This is the complete list of members for hueplusplus::Schedule, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + +
getAutodelete() consthueplusplus::Schedule
getCommand() consthueplusplus::Schedule
getCreated() consthueplusplus::Schedule
getDescription() consthueplusplus::Schedule
getId() consthueplusplus::Schedule
getName() consthueplusplus::Schedule
getStartTime() consthueplusplus::Schedule
getTime() consthueplusplus::Schedule
isEnabled() consthueplusplus::Schedule
refresh()hueplusplus::Schedule
Schedule(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::Schedule
Schedule(int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::Schedule
setAutodelete(bool autodelete)hueplusplus::Schedule
setCommand(const Action &command)hueplusplus::Schedule
setDescription(const std::string &description)hueplusplus::Schedule
setEnabled(bool enabled)hueplusplus::Schedule
setName(const std::string &name)hueplusplus::Schedule
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::Schedule
setTime(const time::TimePattern &timePattern)hueplusplus::Schedule
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::Schedule Class Reference
+
+
+ +

Schedule stored in the bridge. + More...

+ +

#include <hueplusplus/Schedule.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Schedule (int id, const std::shared_ptr< APICache > &baseCache)
 Creates schedule with shared cache. More...
 
 Schedule (int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Construct Schedule that exists in the bridge. More...
 
void refresh ()
 Refreshes internal cached state. More...
 
void setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
 Sets custom refresh interval for this schedule. More...
 
int getId () const
 Get schedule identifier. More...
 
std::string getName () const
 Get schedule name. More...
 
std::string getDescription () const
 Get schedule description. More...
 
Action getCommand () const
 Get schedule command. More...
 
time::TimePattern getTime () const
 Get time when the event(s) will occur. More...
 
bool isEnabled () const
 Check whether schedule is enabled or disabled. More...
 
bool getAutodelete () const
 Get autodelete. More...
 
time::AbsoluteTime getCreated () const
 Get created time. More...
 
time::AbsoluteTime getStartTime () const
 Get start time for timers. More...
 
void setName (const std::string &name)
 Set schedule name. More...
 
void setDescription (const std::string &description)
 Set schedule description. More...
 
void setCommand (const Action &command)
 Set schedule command. More...
 
void setTime (const time::TimePattern &timePattern)
 Set new time when the event will occur. More...
 
void setEnabled (bool enabled)
 Enable or disable schedule. More...
 
void setAutodelete (bool autodelete)
 Set autodelete. More...
 
+

Detailed Description

+

Schedule stored in the bridge.

+

A schedule can be created by the user to trigger actions at specific times.

+

Constructor & Destructor Documentation

+ +

◆ Schedule() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
hueplusplus::Schedule::Schedule (int id,
const std::shared_ptr< APICache > & baseCache 
)
+
+ +

Creates schedule with shared cache.

+
Parameters
+ + + +
idSchedule id in the bridge
baseCacheCache of the schedule list.
+
+
+ +
+
+ +

◆ Schedule() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::Schedule::Schedule (int id,
const HueCommandAPIcommands,
std::chrono::steady_clock::duration refreshDuration,
const nlohmann::json & currentState 
)
+
+ +

Construct Schedule that exists in the bridge.

+
Parameters
+ + + + + +
idSchedule ID
commandsHueCommandAPI for requests
refreshDurationTime between refreshing the cached state
currentStateThe current state, may be null.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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()

+ +
+
+ + + + + + + +
time::AbsoluteTime hueplusplus::Schedule::getCreated () const
+
+ +

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()

+ +
+
+ + + + + + + +
time::AbsoluteTime hueplusplus::Schedule::getStartTime () const
+
+ +

Get start time for timers.

+
Returns
AbsoluteTime without variation when the timer was started.
+
Exceptions
+ + +
nlohmann::json::out_of_rangewhen the schedule does not have a start time
+
+
+ +
+
+ +

◆ getTime()

+ +
+
+ + + + + + + +
time::TimePattern hueplusplus::Schedule::getTime () const
+
+ +

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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setAutodelete()

+ +
+
+ + + + + + + + +
void hueplusplus::Schedule::setAutodelete (bool autodelete)
+
+ +

Set autodelete.

+
Parameters
+ + +
autodeleteWhether to delete the schedule after it expires
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setCommand()

+ +
+
+ + + + + + + + +
void hueplusplus::Schedule::setCommand (const Actioncommand)
+
+ +

Set schedule command.

+
Parameters
+ + +
commandNew action that is executed when the time event occurs.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setDescription()

+ +
+
+ + + + + + + + +
void hueplusplus::Schedule::setDescription (const std::string & description)
+
+ +

Set schedule description.

+
Parameters
+ + +
descriptionNew description, may be empty. Max size is 64.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setEnabled()

+ +
+
+ + + + + + + + +
void hueplusplus::Schedule::setEnabled (bool enabled)
+
+ +

Enable or disable schedule.

+
Parameters
+ + +
enabledtrue to enable, false to disable.
+
+
+

Can be used to reset a timer by setting to disabled and enabled again.

Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setName()

+ +
+
+ + + + + + + + +
void hueplusplus::Schedule::setName (const std::string & name)
+
+ +

Set schedule name.

+
Parameters
+ + +
nameNew name for the schedule. Max size is 32. Must be unique for all schedules, otherwise a number is added.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setRefreshDuration()

+ +
+
+ + + + + + + + +
void hueplusplus::Schedule::setRefreshDuration (std::chrono::steady_clock::duration refreshDuration)
+
+ +

Sets custom refresh interval for this schedule.

+
Parameters
+ + +
refreshDurationThe new minimum duration between refreshes. May be 0 or c_refreshNever.
+
+
+ +
+
+ +

◆ setTime()

+ +
+
+ + + + + + + + +
void hueplusplus::Schedule::setTime (const time::TimePatterntimePattern)
+
+ +

Set new time when the event will occur.

+
Parameters
+ + +
timePatternAny possible value of TimePattern
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::SearchableResourceList< Resource > Member List
+
+
+ +

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 >inlineprotected
exists(const IdType &id)hueplusplus::ResourceList< Resource, int >inline
exists(const IdType &id) consthueplusplus::ResourceList< Resource, int >inline
factoryhueplusplus::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 >inlineprotectedstatic
maybeToString(const IdType &id)hueplusplus::ResourceList< Resource, int >inlineprotectedstatic
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
pathhueplusplus::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
sharedStatehueplusplus::ResourceList< Resource, int >protected
stateCachehueplusplus::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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +List of all members
+
+
hueplusplus::SearchableResourceList< Resource > Class Template Reference
+
+
+ +

Handles a ResourceList of physical devices which can be searched for. + More...

+ +

#include <hueplusplus/ResourceList.h>

+
+ + Inheritance diagram for hueplusplus::SearchableResourceList< Resource >:
+
+
+ +
+ + Collaboration diagram for hueplusplus::SearchableResourceList< Resource >:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

void search (const std::vector< std::string > &deviceIds={})
 Start search for new devices. More...
 
NewDeviceList getNewDevices () const
 Get devices found in last search. More...
 
- Public Member Functions inherited from hueplusplus::ResourceList< Resource, int >
 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...
 
ResourceListoperator= (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...
 
+ + + + + + + + + + + + + + + + + +

+Protected Member Functions

 SearchableResourceList (SearchableResourceList &&)=default
 Protected defaulted move constructor. More...
 
SearchableResourceListoperator= (SearchableResourceList &&)=default
 Protected defaulted move assignment. More...
 
- Protected Member Functions inherited from hueplusplus::ResourceList< Resource, int >
 ResourceList (ResourceList &&)=default
 Protected defaulted move constructor. More...
 
ResourceListoperator= (ResourceList &&)=default
 Protected defaulted move assignment. More...
 
Resource construct (const IdType &id, const nlohmann::json &state)
 Constructs resource using factory or constructor, if available. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from hueplusplus::ResourceList< Resource, int >
using ResourceType = Resource
 
using IdType = int
 
- Static Protected Member Functions inherited from hueplusplus::ResourceList< Resource, int >
static IdType maybeStoi (const std::string &key)
 Calls std::stoi if IdType is int. More...
 
static std::string maybeToString (const IdType &id)
 Calls std::to_string if IdType is int. More...
 
- Protected Attributes inherited from hueplusplus::ResourceList< Resource, int >
std::shared_ptr< APICachestateCache
 
std::function< Resource(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> factory
 
std::string path
 
bool sharedState
 
+

Detailed Description

+

template<typename Resource>
+class hueplusplus::SearchableResourceList< Resource >

+ +

Handles a ResourceList of physical devices which can be searched for.

+
Template Parameters
+ + +
ResourceResource type that is in the list
+
+
+

Constructor & Destructor Documentation

+ +

◆ SearchableResourceList()

+ +
+
+
+template<typename Resource>
+ + + + + +
+ + + + + + + + +
hueplusplus::SearchableResourceList< Resource >::SearchableResourceList (SearchableResourceList< Resource > && )
+
+protecteddefault
+
+ +

Protected defaulted move constructor.

+ +
+
+

Member Function Documentation

+ +

◆ getNewDevices()

+ +
+
+
+template<typename Resource>
+ + + + + +
+ + + + + + + +
NewDeviceList hueplusplus::SearchableResourceList< Resource >::getNewDevices () const
+
+inline
+
+ +

Get devices found in last search.

+ +
+
+ +

◆ operator=()

+ +
+
+
+template<typename Resource>
+ + + + + +
+ + + + + + + + +
SearchableResourceList& hueplusplus::SearchableResourceList< Resource >::operator= (SearchableResourceList< Resource > && )
+
+protecteddefault
+
+ +

Protected defaulted move assignment.

+ +
+
+ +

◆ search()

+ +
+
+
+template<typename Resource>
+ + + + + +
+ + + + + + + + +
void hueplusplus::SearchableResourceList< Resource >::search (const std::vector< std::string > & deviceIds = {})
+
+inline
+
+ +

Start search for new devices.

+
Parameters
+ + +
deviceIdsSerial 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::Sensor Member List
+
+
+ +

This is the complete list of members for hueplusplus::Sensor, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
asSensorType() const &hueplusplus::Sensorinline
asSensorType() &&hueplusplus::Sensorinline
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
getBatteryState() consthueplusplus::Sensor
getConfig() consthueplusplus::Sensor
getId() consthueplusplus::BaseDevicevirtual
getLastAlert() consthueplusplus::Sensor
getLastUpdated() consthueplusplus::Sensor
getLEDIndication() consthueplusplus::Sensor
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getPendingConfig() consthueplusplus::Sensor
getProductname() consthueplusplus::BaseDevicevirtual
getState() consthueplusplus::Sensor
getStateAddress(const std::string &key) consthueplusplus::Sensor
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
getURL() consthueplusplus::Sensor
hasAlert() consthueplusplus::Sensor
hasBatteryState() consthueplusplus::Sensor
hasLEDIndication() consthueplusplus::Sensor
hasOn() consthueplusplus::Sensor
hasReachable() consthueplusplus::Sensor
hasURL() consthueplusplus::Sensor
hasUserTest() consthueplusplus::Sensor
idhueplusplus::BaseDeviceprotected
isCertified() consthueplusplus::Sensor
isOn() consthueplusplus::Sensor
isPrimary() consthueplusplus::Sensor
isReachable() consthueplusplus::Sensor
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendAlert(Alert type)hueplusplus::Sensor
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
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 &currentState)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::BaseDevicevirtual
setOn(bool on)hueplusplus::Sensor
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
setStateAttribute(const std::string &key, const nlohmann::json &value)hueplusplus::Sensor
setURL(const std::string &url)hueplusplus::Sensor
setUserTest(bool enabled)hueplusplus::Sensor
statehueplusplus::BaseDeviceprotected
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::Sensor Class Reference
+
+
+ +

Class for generic or unknown sensor types. + More...

+ +

#include <hueplusplus/Sensor.h>

+
+ + Inheritance diagram for hueplusplus::Sensor:
+
+
+ +
+ + Collaboration diagram for hueplusplus::Sensor:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Sensor (int id, const std::shared_ptr< APICache > &baseCache)
 Construct Sensor with shared cache. More...
 
 Sensor (int id, const HueCommandAPI &commands, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Construct Sensor. More...
 
time::AbsoluteTime getLastUpdated () const
 Get time of last status update. More...
 
nlohmann::json getState () const
 Get state object. More...
 
void setStateAttribute (const std::string &key, const nlohmann::json &value)
 Set part of the sensor state. More...
 
std::string getStateAddress (const std::string &key) const
 Get address of the given state attribute, used for conditions. More...
 
bool isCertified () const
 Check if the sensor is Hue certified. More...
 
bool isPrimary () const
 Check if the sensor is primary sensor of the device. More...
 
template<typename T >
asSensorType () const &
 Convert sensor to a specific type. More...
 
template<typename T >
asSensorType () &&
 Convert sensor to a specific type. More...
 
Config attributes
bool hasOn () const
 Check whether the sensor has an on attribute. More...
 
bool isOn () const
 check whether the sensor is turned on More...
 
void setOn (bool on)
 Turn sensor on or off. 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 hasAlert () const
 Check whether the sensor has alerts. More...
 
Alert getLastAlert () const
 Get last sent alert. More...
 
void sendAlert (Alert type)
 Send alert. More...
 
bool hasReachable () const
 Check whether the sensor has reachable validation. More...
 
bool isReachable () const
 Get whether sensor is reachable. More...
 
bool hasUserTest () const
 Check whether the sensor has a user test mode. More...
 
void setUserTest (bool enabled)
 Enable or disable user test mode. 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...
 
std::vector< std::string > getPendingConfig () const
 Get pending config entries, if they exist. More...
 
bool hasLEDIndication () const
 Check whether the sensor has an LED indicator. More...
 
bool getLEDIndication () const
 Get whether the indicator LED is on. More...
 
void setLEDIndication (bool on)
 Turn LED indicator on or off. More...
 
nlohmann::json getConfig () const
 Get entire config object. More...
 
void setConfigAttribute (const std::string &key, const nlohmann::json &value)
 Set attribute in the sensor config. More...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

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.

+

Constructor & Destructor Documentation

+ +

◆ Sensor() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
hueplusplus::Sensor::Sensor (int id,
const std::shared_ptr< APICache > & baseCache 
)
+
+ +

Construct Sensor with shared cache.

+
Parameters
+ + + +
idInteger that specifies the id of this sensor
baseCacheCache of the SensorList.
+
+
+ +
+
+ +

◆ Sensor() [2/2]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::Sensor::Sensor (int id,
const HueCommandAPIcommands,
std::chrono::steady_clock::duration refreshDuration,
const nlohmann::json & currentState 
)
+
+ +

Construct Sensor.

+
Parameters
+ + + + + +
idInteger that specifies the id of this sensor
commandsHueCommandAPI for communication with the bridge
refreshDurationTime between refreshing the cached state.
currentStateThe current state, may be null.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ asSensorType() [1/2]

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
T hueplusplus::Sensor::asSensorType () const &
+
+inline
+
+ +

Convert sensor to a specific type.

+
Template Parameters
+ + +
TSensor type to convert to (from Sensors)
+
+
+
Exceptions
+ + +
HueExceptionwhen 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
+ + +
TSensor type to convert to (from Sensors)
+
+
+
Exceptions
+ + +
HueExceptionwhen 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_rangewhen 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_rangewhen sensor has no alert.
+
+
+ +
+
+ +

◆ getLastUpdated()

+ +
+
+ + + + + + + +
time::AbsoluteTime hueplusplus::Sensor::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.
+ +
+
+ +

◆ getLEDIndication()

+ +
+
+ + + + + + + +
bool hueplusplus::Sensor::getLEDIndication () const
+
+ +

Get whether the indicator LED is on.

+
Exceptions
+ + +
nlohmann::json::out_of_rangewhen 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
+
+ +

Get state object.

+ +
+
+ +

◆ getStateAddress()

+ +
+
+ + + + + + + + +
std::string hueplusplus::Sensor::getStateAddress (const std::string & key) const
+
+ +

Get address of the given state attribute, used for conditions.

+
Parameters
+ + +
keyKey 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_rangewhen 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_rangewhen sensor has no reachable validation
+
+
+ +
+
+ +

◆ sendAlert()

+ +
+
+ + + + + + + + +
void hueplusplus::Sensor::sendAlert (Alert type)
+
+ +

Send alert.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setBatteryState()

+ +
+
+ + + + + + + + +
void hueplusplus::Sensor::setBatteryState (int percent)
+
+ +

Set battery state.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+ + + +
keyKey of the config attribute
valueAny 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setOn()

+ +
+
+ + + + + + + + +
void hueplusplus::Sensor::setOn (bool on)
+
+ +

Turn sensor on or off.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+ + + +
keyKey in the state object
valueNew 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::SensorList Member List
+
+
+ +

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 >inlineprotected
create(const CreateSensor &params)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
factoryhueplusplus::ResourceList< Sensor, int >protected
get(const IdType &id)hueplusplus::ResourceList< Sensor, int >inline
getAll()hueplusplus::ResourceList< Sensor, int >inline
getAllByType()hueplusplus::SensorListinline
getAsType(int id)hueplusplus::SensorListinline
getNewDevices() consthueplusplus::SearchableResourceList< Sensor >inline
IdType typedefhueplusplus::ResourceList< Sensor, int >
maybeStoi(const std::string &key)hueplusplus::ResourceList< Sensor, int >inlineprotectedstatic
maybeToString(const IdType &id)hueplusplus::ResourceList< Sensor, int >inlineprotectedstatic
operator=(SensorList &&)=defaulthueplusplus::SensorListprotected
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
pathhueplusplus::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::SensorListprotected
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::ResourceList< Sensor, int >inline
sharedStatehueplusplus::ResourceList< Sensor, int >protected
stateCachehueplusplus::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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +List of all members
+
+
hueplusplus::SensorList Class Reference
+
+
+ +

Handles a list of Sensors with type specific getters. + More...

+ +

#include <hueplusplus/SensorList.h>

+
+ + Inheritance diagram for hueplusplus::SensorList:
+
+
+ +
+ + Collaboration diagram for hueplusplus::SensorList:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

template<typename 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...
 
- Public Member Functions inherited from hueplusplus::CreateableResourceList< SearchableResourceList< Sensor >, CreateSensor >
SearchableResourceList< Sensor > ::IdType create (const CreateSensor &params)
 Create a new resource. More...
 
- Public Member Functions inherited from hueplusplus::SearchableResourceList< Sensor >
void search (const std::vector< std::string > &deviceIds={})
 Start search for new devices. More...
 
NewDeviceList getNewDevices () const
 Get devices found in last search. More...
 
- Public Member Functions inherited from hueplusplus::ResourceList< Sensor, int >
 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...
 
ResourceListoperator= (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< SensorgetAll ()
 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...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

 SensorList (SensorList &&)=default
 Protected defaulted move constructor. More...
 
SensorListoperator= (SensorList &&)=default
 Protected defaulted move assignment. More...
 
- Protected Member Functions inherited from hueplusplus::CreateableResourceList< SearchableResourceList< Sensor >, CreateSensor >
 CreateableResourceList (CreateableResourceList &&)=default
 Protected defaulted move constructor. More...
 
CreateableResourceListoperator= (CreateableResourceList &&)=default
 Protected defaulted move assignment. More...
 
- Protected Member Functions inherited from hueplusplus::SearchableResourceList< Sensor >
 SearchableResourceList (SearchableResourceList &&)=default
 Protected defaulted move constructor. More...
 
SearchableResourceListoperator= (SearchableResourceList &&)=default
 Protected defaulted move assignment. More...
 
- Protected Member Functions inherited from hueplusplus::ResourceList< Sensor, int >
 ResourceList (ResourceList &&)=default
 Protected defaulted move constructor. More...
 
ResourceListoperator= (ResourceList &&)=default
 Protected defaulted move assignment. More...
 
Sensor construct (const IdType &id, const nlohmann::json &state)
 Constructs resource using factory or constructor, if available. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Public Types inherited from hueplusplus::ResourceList< Sensor, int >
using ResourceType = Sensor
 
using IdType = int
 
- Static Protected Member Functions inherited from hueplusplus::ResourceList< Sensor, int >
static IdType maybeStoi (const std::string &key)
 Calls std::stoi if IdType is int. More...
 
static std::string maybeToString (const IdType &id)
 Calls std::to_string if IdType is int. More...
 
- Protected Attributes inherited from hueplusplus::ResourceList< Sensor, int >
std::shared_ptr< APICachestateCache
 
std::function< Sensor(IdType, const nlohmann::json &, const std::shared_ptr< APICache > &)> factory
 
std::string path
 
bool sharedState
 
+

Detailed Description

+

Handles a list of Sensors with type specific getters.

+

Allows to directly get the requested sensor type or all sensors of a given type.

+

Constructor & Destructor Documentation

+ +

◆ SensorList()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::SensorList::SensorList (SensorList && )
+
+protecteddefault
+
+ +

Protected defaulted move constructor.

+ +
+
+

Member Function Documentation

+ +

◆ getAllByType()

+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + +
std::vector<T> hueplusplus::SensorList::getAllByType ()
+
+inline
+
+ +

Get all sensors of type T.

+
Template Parameters
+ + +
TSensor type to get (from Sensors)
+
+
+
Returns
All sensors matching the type
+
Exceptions
+ + + + + +
HueExceptionwhen response contains no body
std::system_errorwhen system or socket operations fail
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+ + +
idSensor id
+
+
+
Template Parameters
+ + +
TSensor type to convert to (from Sensors)
+
+
+
Returns
The sensor matching the id and type
+
Exceptions
+ + + + + +
HueExceptionwhen id does not exist or type does not match
std::system_errorwhen system or socket operations fail
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + +
+ + + + + + + + +
SensorList& hueplusplus::SensorList::operator= (SensorList && )
+
+protecteddefault
+
+ +

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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::SimpleBrightnessStrategy Member List
+
+
+ +

This is the complete list of members for hueplusplus::SimpleBrightnessStrategy, including all inherited members.

+ + + + + +
getBrightness(Light &light) const overridehueplusplus::SimpleBrightnessStrategyvirtual
getBrightness(const Light &light) const overridehueplusplus::SimpleBrightnessStrategyvirtual
setBrightness(unsigned int bri, uint8_t transition, Light &light) const overridehueplusplus::SimpleBrightnessStrategyvirtual
~BrightnessStrategy()=defaulthueplusplus::BrightnessStrategyvirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::SimpleBrightnessStrategy Class Reference
+
+
+ +

Class implementing the functions of BrightnessStrategy. + More...

+ +

#include <hueplusplus/SimpleBrightnessStrategy.h>

+
+ + Inheritance diagram for hueplusplus::SimpleBrightnessStrategy:
+
+
+ +
+ + Collaboration diagram for hueplusplus::SimpleBrightnessStrategy:
+
+
+ + + + + + + + + + + + + + + + +

+Public Member Functions

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...
 
- Public Member Functions inherited from hueplusplus::BrightnessStrategy
virtual ~BrightnessStrategy ()=default
 Virtual dtor. More...
 
+

Detailed Description

+

Class implementing the functions of BrightnessStrategy.

+

Member Function Documentation

+ +

◆ getBrightness() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int hueplusplus::SimpleBrightnessStrategy::getBrightness (Lightlight) const
+
+overridevirtual
+
+ +

Function that returns the current brightness of the light.

+

Updates the lights state by calling refreshState()

Parameters
+ + +
lightA reference of the light
+
+
+
Returns
Unsigned int representing the brightness
+ +

Implements hueplusplus::BrightnessStrategy.

+ +
+
+ +

◆ getBrightness() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int hueplusplus::SimpleBrightnessStrategy::getBrightness (const Lightlight) const
+
+overridevirtual
+
+ +

Function that returns the current brightness of the light.

+
Note
This does not update the lights state
+
Parameters
+ + +
lightA 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,
Lightlight 
) const
+
+overridevirtual
+
+ +

Function for changing a lights brightness with a specified transition.

+
Parameters
+ + + + +
briThe brightness raning from 0 = off to 255 = fully lit
transitionThe time it takes to fade to the new brightness in multiples of 100ms, 4 = 400ms and should be seen as the default
lightA 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::SimpleColorHueStrategy Member List
+
+
+ +

This is the complete list of members for hueplusplus::SimpleColorHueStrategy, including all inherited members.

+ + + + + + + + + + + + + +
alertHueSaturation(const HueSaturation &hueSat, Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
alertXY(const XYBrightness &xy, Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
getColorHueSaturation(Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
getColorHueSaturation(const Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
getColorXY(Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
getColorXY(const Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
setColorHue(uint16_t hue, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
setColorHueSaturation(const HueSaturation &hueSat, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
setColorLoop(bool on, Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
setColorSaturation(uint8_t sat, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
setColorXY(const XYBrightness &xy, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorHueStrategyvirtual
~ColorHueStrategy()=defaulthueplusplus::ColorHueStrategyvirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::SimpleColorHueStrategy Class Reference
+
+
+ +

#include <hueplusplus/SimpleColorHueStrategy.h>

+
+ + Inheritance diagram for hueplusplus::SimpleColorHueStrategy:
+
+
+ +
+ + Collaboration diagram for hueplusplus::SimpleColorHueStrategy:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

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...
 
- Public Member Functions inherited from hueplusplus::ColorHueStrategy
virtual ~ColorHueStrategy ()=default
 Virtual dtor. More...
 
+

Detailed Description

+

Class implementing the functions of ColorHueStrategy

+

To be used for lights that have only color and no color temperature.

+

Member Function Documentation

+ +

◆ alertHueSaturation()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool hueplusplus::SimpleColorHueStrategy::alertHueSaturation (const HueSaturationhueSat,
Lightlight 
) const
+
+overridevirtual
+
+ +

Function that lets the light perform one breath cycle in the specified color.

+
Parameters
+ + + +
hueSatThe color in hue and saturation
lightA reference of the light
+
+
+

Blocks for the time a Light::alert() needs

+ +

Implements hueplusplus::ColorHueStrategy.

+ +
+
+ +

◆ alertXY()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool hueplusplus::SimpleColorHueStrategy::alertXY (const XYBrightnessxy,
Lightlight 
) const
+
+overridevirtual
+
+ +

Function that lets the light perform one breath cycle in the specified color.

+
Parameters
+ + + +
xyThe color in XY and brightness
lightA reference of the light
+
+
+ +

Implements hueplusplus::ColorHueStrategy.

+ +
+
+ +

◆ getColorHueSaturation() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
HueSaturation hueplusplus::SimpleColorHueStrategy::getColorHueSaturation (Lightlight) const
+
+overridevirtual
+
+ +

Function that returns the current color of the light as hue and saturation.

+

Updates the lights state by calling refreshState()

Parameters
+ + +
lightA 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 Lightlight) const
+
+overridevirtual
+
+ +

Function that returns the current color of the light as hue and saturation.

+
Note
This does not update the lights state
+
Parameters
+ + +
lightA 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 (Lightlight) const
+
+overridevirtual
+
+ +

Function that returns the current color of the light as xy.

+

Updates the lights state by calling refreshState()

Parameters
+ + +
lightA reference of the light
+
+
+
Returns
XY and brightness of current color
+ +

Implements hueplusplus::ColorHueStrategy.

+ +
+
+ +

◆ getColorXY() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
XYBrightness hueplusplus::SimpleColorHueStrategy::getColorXY (const Lightlight) const
+
+overridevirtual
+
+ +

Function that returns the current color of the light as xy.

+
Note
This does not update the lights state
+
Parameters
+ + +
lightA 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,
Lightlight 
) const
+
+overridevirtual
+
+ +

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
+ + + + +
hueThe hue of the color
transitionThe time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
lightA reference of the light
+
+
+ +

Implements hueplusplus::ColorHueStrategy.

+ +
+
+ +

◆ setColorHueSaturation()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool hueplusplus::SimpleColorHueStrategy::setColorHueSaturation (const HueSaturationhueSat,
uint8_t transition,
Lightlight 
) const
+
+overridevirtual
+
+ +

Function for changing a lights color in hue and saturation format with a specified transition.

+
Parameters
+ + + + +
hueSatColor in hue and satuation.
transitionThe time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
lightA reference of the light
+
+
+ +

Implements hueplusplus::ColorHueStrategy.

+ +
+
+ +

◆ setColorLoop()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool hueplusplus::SimpleColorHueStrategy::setColorLoop (bool on,
Lightlight 
) const
+
+overridevirtual
+
+ +

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
+ + + +
onBoolean to turn this feature on or off, true/1 for on and false/0 for off
lightA reference of the light
+
+
+ +

Implements hueplusplus::ColorHueStrategy.

+ +
+
+ +

◆ setColorSaturation()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool hueplusplus::SimpleColorHueStrategy::setColorSaturation (uint8_t sat,
uint8_t transition,
Lightlight 
) const
+
+overridevirtual
+
+ +

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
+ + + + +
satThe saturation of the color
transitionThe time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
lightA reference of the light
+
+
+ +

Implements hueplusplus::ColorHueStrategy.

+ +
+
+ +

◆ setColorXY()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
bool hueplusplus::SimpleColorHueStrategy::setColorXY (const XYBrightnessxy,
uint8_t transition,
Lightlight 
) const
+
+overridevirtual
+
+ +

Function for changing a lights color in CIE format with a specified transition.

+
Parameters
+ + + + +
xyThe color in XY and brightness
transitionThe time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
lightA 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::SimpleColorTemperatureStrategy Member List
+
+
+ +

This is the complete list of members for hueplusplus::SimpleColorTemperatureStrategy, including all inherited members.

+ + + + + + +
alertTemperature(unsigned int mired, Light &light) const overridehueplusplus::SimpleColorTemperatureStrategyvirtual
getColorTemperature(Light &light) const overridehueplusplus::SimpleColorTemperatureStrategyvirtual
getColorTemperature(const Light &light) const overridehueplusplus::SimpleColorTemperatureStrategyvirtual
setColorTemperature(unsigned int mired, uint8_t transition, Light &light) const overridehueplusplus::SimpleColorTemperatureStrategyvirtual
~ColorTemperatureStrategy()=defaulthueplusplus::ColorTemperatureStrategyvirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::SimpleColorTemperatureStrategy Class Reference
+
+
+ +

Class implementing the functions of ColorTemperatureStrategy. + More...

+ +

#include <hueplusplus/SimpleColorTemperatureStrategy.h>

+
+ + Inheritance diagram for hueplusplus::SimpleColorTemperatureStrategy:
+
+
+ +
+ + Collaboration diagram for hueplusplus::SimpleColorTemperatureStrategy:
+
+
+ + + + + + + + + + + + + + + + + + + +

+Public Member Functions

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. More...
 
bool alertTemperature (unsigned int mired, Light &light) const override
 Function that lets the light perform one breath cycle in the specified color. More...
 
unsigned int getColorTemperature (Light &light) const override
 Function that returns the current color temperature of the light. More...
 
unsigned int getColorTemperature (const Light &light) const override
 Function that returns the current color temperature of the light. More...
 
- Public Member Functions inherited from hueplusplus::ColorTemperatureStrategy
virtual ~ColorTemperatureStrategy ()=default
 Virtual dtor. More...
 
+

Detailed Description

+

Class implementing the functions of ColorTemperatureStrategy.

+

Member Function Documentation

+ +

◆ alertTemperature()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
bool hueplusplus::SimpleColorTemperatureStrategy::alertTemperature (unsigned int mired,
Lightlight 
) const
+
+overridevirtual
+
+ +

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
+ + + +
miredThe color temperature in mired
lightA reference of the light
+
+
+ +

Implements hueplusplus::ColorTemperatureStrategy.

+ +
+
+ +

◆ getColorTemperature() [1/2]

+ +
+
+ + + + + +
+ + + + + + + + +
unsigned int hueplusplus::SimpleColorTemperatureStrategy::getColorTemperature (Lightlight) const
+
+overridevirtual
+
+ +

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
+ + +
lightA 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 Lightlight) const
+
+overridevirtual
+
+ +

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
+ + +
lightA 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,
Lightlight 
) const
+
+overridevirtual
+
+ +

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
+ + + + +
miredThe color temperature in mired
transitionThe time it takes to fade to the new color in multiples of 100ms, 4 = 400ms and should be seen as the default
lightA 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::SocketCloser Member List
+
+
+ +

This is the complete list of members for hueplusplus::SocketCloser, including all inherited members.

+ + + +
SocketCloser(int sockFd)hueplusplus::SocketCloserinlineexplicit
~SocketCloser()hueplusplus::SocketCloserinline
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::SocketCloser Class Reference
+
+
+ + + + + + +

+Public Member Functions

 SocketCloser (int sockFd)
 
 ~SocketCloser ()
 
+

Constructor & Destructor Documentation

+ +

◆ SocketCloser()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::SocketCloser::SocketCloser (int sockFd)
+
+inlineexplicit
+
+ +
+
+ +

◆ ~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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::StateTransaction Member List
+
+
+ +

This is the complete list of members for hueplusplus::StateTransaction, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
alert()hueplusplus::StateTransaction
commandshueplusplus::StateTransactionprotected
commit(bool trimRequest=true)hueplusplus::StateTransaction
incrementBrightness(int increment)hueplusplus::StateTransaction
incrementColorTemperature(int increment)hueplusplus::StateTransaction
incrementColorXY(float xInc, float yInc)hueplusplus::StateTransaction
incrementHue(int increment)hueplusplus::StateTransaction
incrementSaturation(int increment)hueplusplus::StateTransaction
longAlert()hueplusplus::StateTransaction
pathhueplusplus::StateTransactionprotected
requesthueplusplus::StateTransactionprotected
setBrightness(uint8_t brightness)hueplusplus::StateTransaction
setColor(const HueSaturation &hueSat)hueplusplus::StateTransaction
setColor(const XY &xy)hueplusplus::StateTransaction
setColor(const XYBrightness &xy)hueplusplus::StateTransaction
setColorHue(uint16_t hue)hueplusplus::StateTransaction
setColorLoop(bool on)hueplusplus::StateTransaction
setColorSaturation(uint8_t saturation)hueplusplus::StateTransaction
setColorTemperature(unsigned int mired)hueplusplus::StateTransaction
setOn(bool on)hueplusplus::StateTransaction
setTransition(uint16_t transition)hueplusplus::StateTransaction
statehueplusplus::StateTransactionprotected
StateTransaction(const HueCommandAPI &commands, const std::string &path, nlohmann::json *currentState)hueplusplus::StateTransaction
StateTransaction(const StateTransaction &)=deletehueplusplus::StateTransaction
StateTransaction(StateTransaction &&)=defaulthueplusplus::StateTransaction
stopAlert()hueplusplus::StateTransaction
toAction()hueplusplus::StateTransaction
trimRequest()hueplusplus::StateTransactionprotected
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +Protected Attributes | +List of all members
+
+
hueplusplus::StateTransaction Class Reference
+
+
+ +

Transaction class which can be used for either light or group state. + More...

+ +

#include <hueplusplus/StateTransaction.h>

+
+ + Collaboration diagram for hueplusplus::StateTransaction:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 StateTransaction (const HueCommandAPI &commands, const std::string &path, nlohmann::json *currentState)
 Creates a StateTransaction to a group or light state. More...
 
 StateTransaction (const StateTransaction &)=delete
 Deleted copy constructor, do not store StateTransaction in a variable. More...
 
 StateTransaction (StateTransaction &&)=default
 
bool commit (bool trimRequest=true)
 Commit transaction and make request. More...
 
Action toAction ()
 Create an Action from the transaction. More...
 
StateTransactionsetOn (bool on)
 Turn light on or off. More...
 
StateTransactionsetBrightness (uint8_t brightness)
 Set light brightness. More...
 
StateTransactionsetColorHue (uint16_t hue)
 Set light hue. More...
 
StateTransactionsetColorSaturation (uint8_t saturation)
 Set light saturation. More...
 
StateTransactionsetColor (const HueSaturation &hueSat)
 Set light color in hue and saturation. More...
 
StateTransactionsetColor (const XY &xy)
 Set light color in xy space (without brightness). More...
 
StateTransactionsetColor (const XYBrightness &xy)
 Set light color and brightness in xy space. More...
 
StateTransactionsetColorTemperature (unsigned int mired)
 Set light color temperature. More...
 
StateTransactionsetColorLoop (bool on)
 Enables or disables color loop. More...
 
StateTransactionincrementBrightness (int increment)
 Increment/Decrement brightness. More...
 
StateTransactionincrementSaturation (int increment)
 Increment/Decrement saturaction. More...
 
StateTransactionincrementHue (int increment)
 Increment/Decrement hue. More...
 
StateTransactionincrementColorTemperature (int increment)
 Increment/Decrement color temperature. More...
 
StateTransactionincrementColorXY (float xInc, float yInc)
 Increment/Decrement color xy. More...
 
StateTransactionsetTransition (uint16_t transition)
 Set transition time for the request. More...
 
StateTransactionalert ()
 Trigger an alert. More...
 
StateTransactionlongAlert ()
 Trigger a long alert (15s). More...
 
StateTransactionstopAlert ()
 Stop an ongoing long alert. More...
 
+ + + + +

+Protected Member Functions

void trimRequest ()
 Remove parts from request that are already set in state. More...
 
+ + + + + + + + + +

+Protected Attributes

const HueCommandAPIcommands
 
std::string path
 
nlohmann::json * state
 
nlohmann::json request
 
+

Detailed Description

+

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.

if(shouldTurnOn)
t.setOn(true);
t.commit();

In this case, it is especially important that the light and the state of the light MUST NOT invalidate. That means

+

In general, this method is easier to screw up and should only be used when really necessary.

+

Constructor & Destructor Documentation

+ +

◆ StateTransaction() [1/3]

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::StateTransaction::StateTransaction (const HueCommandAPIcommands,
const std::string & path,
nlohmann::json * currentState 
)
+
+ +

Creates a StateTransaction to a group or light state.

+
Parameters
+ + + + +
commandsHueCommandAPI for making requests
pathPath to which the final PUT request is made (without username)
currentStateOptional, 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
+
+ +

Deleted copy constructor, do not store StateTransaction in a variable.

+ +
+
+ +

◆ StateTransaction() [3/3]

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::StateTransaction::StateTransaction (StateTransaction && )
+
+default
+
+ +
+
+

Member Function Documentation

+ +

◆ alert()

+ +
+
+ + + + + + + +
StateTransaction & hueplusplus::StateTransaction::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
+ + +
trimRequestOptional. 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_errorwhen system or socket operations fail
HueExceptionwhen response contains no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ incrementBrightness()

+ +
+
+ + + + + + + + +
StateTransaction & hueplusplus::StateTransaction::incrementBrightness (int increment)
+
+ +

Increment/Decrement brightness.

+
Parameters
+ + +
incrementBrightness 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
+ + +
incrementColor 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
+ + + +
xIncx color coordinate change from -0.5 to 0.5.
yIncy 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
+ + +
incrementHue 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
+ + +
incrementSaturation 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()

+ +
+
+ + + + + + + +
StateTransaction & hueplusplus::StateTransaction::longAlert ()
+
+ +

Trigger a long alert (15s).

+
Returns
This transaction for chaining calls
+ +
+
+ +

◆ setBrightness()

+ +
+
+ + + + + + + + +
StateTransaction & hueplusplus::StateTransaction::setBrightness (uint8_t brightness)
+
+ +

Set light brightness.

+
Parameters
+ + +
brightnessBrightness 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]

+ +
+
+ + + + + + + + +
StateTransaction & hueplusplus::StateTransaction::setColor (const HueSaturationhueSat)
+
+ +

Set light color in hue and saturation.

+
Parameters
+ + +
hueSatColor 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 XYxy)
+
+ +

Set light color in xy space (without brightness).

+
Parameters
+ + +
xyx 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]

+ +
+
+ + + + + + + + +
StateTransaction & hueplusplus::StateTransaction::setColor (const XYBrightnessxy)
+
+ +

Set light color and brightness in xy space.

+
Parameters
+ + +
xyx,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
+ + +
hueColor 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
+ + +
ontrue 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
+ + +
saturationColor 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
+ + +
miredColor 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
+ + +
ontrue 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
+ + +
transitionTransition 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()

+ +
+
+ + + + + + + +
StateTransaction & hueplusplus::StateTransaction::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.

+ +
+
+

Member Data Documentation

+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::UPnP Member List
+
+
+ +

This is the complete list of members for hueplusplus::UPnP, including all inherited members.

+ + +
getDevices(std::shared_ptr< const IHttpHandler > handler)hueplusplus::UPnP
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::UPnP Class Reference
+
+
+ +

Class that looks for UPnP devices using an m-search package. + More...

+ +

#include <hueplusplus/UPnP.h>

+ + + + + +

+Public Member Functions

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...
 
+

Detailed Description

+

Class that looks for UPnP devices using an m-search package.

+

Member Function Documentation

+ +

◆ getDevices()

+ +
+
+ + + + + + + + +
std::vector< std::pair< std::string, std::string > > hueplusplus::UPnP::getDevices (std::shared_ptr< const IHttpHandlerhandler)
+
+ +

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
+ + +
handlerHttpHandler for communication
+
+
+
Returns
A vector containing pairs of address and name of all found devices
+
Exceptions
+ + +
std::system_errorwhen 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::WinHttpHandler Member List
+
+
+ +

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::BaseHttpHandlervirtual
DELETEString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
GETJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
GETString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
POSTJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
POSTString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
PUTJson(const std::string &uri, const nlohmann::json &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
PUTString(const std::string &uri, const std::string &contentType, const std::string &body, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
send(const std::string &msg, const std::string &adr, int port=80) const overridehueplusplus::WinHttpHandlervirtual
sendGetHTTPBody(const std::string &msg, const std::string &adr, int port=80) const overridehueplusplus::BaseHttpHandlervirtual
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::BaseHttpHandlervirtual
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::WinHttpHandlervirtual
WinHttpHandler()hueplusplus::WinHttpHandler
~BaseHttpHandler()=defaulthueplusplus::BaseHttpHandlervirtual
~IHttpHandler()=defaulthueplusplus::IHttpHandlervirtual
~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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::WinHttpHandler Class Reference
+
+
+ +

Class to handle http requests and multicast requests on windows systems. + More...

+ +

#include <hueplusplus/WinHttpHandler.h>

+
+ + Inheritance diagram for hueplusplus::WinHttpHandler:
+
+
+ +
+ + Collaboration diagram for hueplusplus::WinHttpHandler:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 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...
 
+

Detailed Description

+

Class to handle http requests and multicast requests on windows systems.

+

Constructor & Destructor Documentation

+ +

◆ WinHttpHandler()

+ +
+
+ + + + + + + +
hueplusplus::WinHttpHandler::WinHttpHandler ()
+
+ +

Ctor needed for initializing wsaData.

+ +
+
+ +

◆ ~WinHttpHandler()

+ +
+
+ + + + + + + +
hueplusplus::WinHttpHandler::~WinHttpHandler ()
+
+ +

Dtor needed for wsaData cleanup.

+ +
+
+

Member Function Documentation

+ +

◆ send()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
std::string hueplusplus::WinHttpHandler::send (const std::string & msg,
const std::string & adr,
int port = 80 
) const
+
+overridevirtual
+
+ +

Function that sends a given message to the specified host and returns the response.

+
Parameters
+ + + + +
msgString that contains the message that is sent to the specified address
adrString that contains an ip or hostname in dotted decimal notation like "192.168.2.1"
portOptional 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
+
+overridevirtual
+
+ +

Function that sends a multicast request with the specified message.

+
Parameters
+ + + + + +
msgString that contains the request that is sent to the specified address
adrOptional String that contains an ip or hostname in dotted decimal notation, default is "239.255.255.250"
portOptional integer that specifies the port to which the request is sent. Default is 1900
timeoutOptional 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::BaseCLIP Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::BaseCLIP, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseCLIP(Sensor sensor)hueplusplus::sensors::BaseCLIPinlineexplicitprotected
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
getBatteryState() consthueplusplus::sensors::BaseCLIP
getId() consthueplusplus::BaseDevicevirtual
getLastUpdated() consthueplusplus::sensors::BaseCLIP
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
getURL() consthueplusplus::sensors::BaseCLIP
hasBatteryState() consthueplusplus::sensors::BaseCLIP
hasURL() consthueplusplus::sensors::BaseCLIP
idhueplusplus::BaseDeviceprotected
isOn() consthueplusplus::sensors::BaseCLIP
isReachable() consthueplusplus::sensors::BaseCLIP
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setBatteryState(int percent)hueplusplus::sensors::BaseCLIP
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::BaseCLIP
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
setURL(const std::string &url)hueplusplus::sensors::BaseCLIP
statehueplusplus::BaseDeviceprotected
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Protected Member Functions | +List of all members
+
+
hueplusplus::sensors::BaseCLIP Class Reference
+
+
+ +

Common methods for CLIP sensors. + More...

+ +

#include <hueplusplus/CLIPSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::BaseCLIP:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::BaseCLIP:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

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...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + + + + + + + + + + + +

+Protected Member Functions

 BaseCLIP (Sensor sensor)
 Protected constructor to be used by subclasses. More...
 
- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
+ + + + + + + + +

+Additional Inherited Members

- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

Common methods for CLIP sensors.

+

Constructor & Destructor Documentation

+ +

◆ BaseCLIP()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::BaseCLIP::BaseCLIP (Sensor sensor)
+
+inlineexplicitprotected
+
+ +

Protected constructor to be used by subclasses.

+ +
+
+

Member Function Documentation

+ +

◆ getBatteryState()

+ +
+
+ + + + + + + +
int hueplusplus::sensors::BaseCLIP::getBatteryState () const
+
+ +

Get battery state.

+
Returns
Battery state in percent
+
Exceptions
+ + +
nlohmann::json::out_of_rangewhen sensor has no battery state.
+
+
+ +
+
+ +

◆ getLastUpdated()

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

◆ getURL()

+ +
+
+ + + + + + + +
std::string hueplusplus::sensors::BaseCLIP::getURL () const
+
+ +

Get sensor URL.

+ +
+
+ +

◆ 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setOn()

+ +
+
+ + + + + + + + +
void hueplusplus::sensors::BaseCLIP::setOn (bool on)
+
+ +

Enable or disable sensor.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setURL()

+ +
+
+ + + + + + + + +
void hueplusplus::sensors::BaseCLIP::setURL (const std::string & url)
+
+ +

Set sensor URL.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::CLIPGenericFlag Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::CLIPGenericFlag, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseCLIP(Sensor sensor)hueplusplus::sensors::BaseCLIPinlineexplicitprotected
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
CLIPGenericFlag(Sensor sensor)hueplusplus::sensors::CLIPGenericFlaginlineexplicit
getBatteryState() consthueplusplus::sensors::BaseCLIP
getFlag() consthueplusplus::sensors::CLIPGenericFlag
getId() consthueplusplus::BaseDevicevirtual
getLastUpdated() consthueplusplus::sensors::BaseCLIP
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
getURL() consthueplusplus::sensors::BaseCLIP
hasBatteryState() consthueplusplus::sensors::BaseCLIP
hasURL() consthueplusplus::sensors::BaseCLIP
idhueplusplus::BaseDeviceprotected
isOn() consthueplusplus::sensors::BaseCLIP
isReachable() consthueplusplus::sensors::BaseCLIP
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setBatteryState(int percent)hueplusplus::sensors::BaseCLIP
setFlag(bool flag)hueplusplus::sensors::CLIPGenericFlag
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::BaseCLIP
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
setURL(const std::string &url)hueplusplus::sensors::BaseCLIP
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::CLIPGenericFlagstatic
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::CLIPGenericFlag Class Reference
+
+
+ +

CLIP sensor for a generic 3rd party sensor. + More...

+ +

#include <hueplusplus/CLIPSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::CLIPGenericFlag:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::CLIPGenericFlag:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CLIPGenericFlag (Sensor sensor)
 Construct from generic sensor. More...
 
bool getFlag () const
 Get boolean flag. More...
 
void setFlag (bool flag)
 Set flag. More...
 
- Public Member Functions inherited from hueplusplus::sensors::BaseCLIP
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...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + +

+Static Public Attributes

static constexpr const char * typeStr = "CLIPGenericFlag"
 CLIPGenericFlag sensor type name. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::sensors::BaseCLIP
 BaseCLIP (Sensor sensor)
 Protected constructor to be used by subclasses. More...
 
- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

CLIP sensor for a generic 3rd party sensor.

+

Can be created by POST.

+

Constructor & Destructor Documentation

+ +

◆ CLIPGenericFlag()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::CLIPGenericFlag::CLIPGenericFlag (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ getFlag()

+ +
+
+ + + + + + + +
bool hueplusplus::sensors::CLIPGenericFlag::getFlag () const
+
+ +

Get boolean flag.

+ +
+
+ +

◆ setFlag()

+ +
+
+ + + + + + + + +
void hueplusplus::sensors::CLIPGenericFlag::setFlag (bool flag)
+
+ +

Set flag.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Data Documentation

+ +

◆ typeStr

+ +
+
+ + + + + +
+ + + + +
constexpr const char * hueplusplus::sensors::CLIPGenericFlag::typeStr = "CLIPGenericFlag"
+
+static
+
+ +

CLIPGenericFlag sensor type name.

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::CLIPGenericStatus Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::CLIPGenericStatus, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseCLIP(Sensor sensor)hueplusplus::sensors::BaseCLIPinlineexplicitprotected
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
CLIPGenericStatus(Sensor sensor)hueplusplus::sensors::CLIPGenericStatusinlineexplicit
getBatteryState() consthueplusplus::sensors::BaseCLIP
getId() consthueplusplus::BaseDevicevirtual
getLastUpdated() consthueplusplus::sensors::BaseCLIP
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getStatus() consthueplusplus::sensors::CLIPGenericStatus
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
getURL() consthueplusplus::sensors::BaseCLIP
hasBatteryState() consthueplusplus::sensors::BaseCLIP
hasURL() consthueplusplus::sensors::BaseCLIP
idhueplusplus::BaseDeviceprotected
isOn() consthueplusplus::sensors::BaseCLIP
isReachable() consthueplusplus::sensors::BaseCLIP
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setBatteryState(int percent)hueplusplus::sensors::BaseCLIP
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::BaseCLIP
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
setStatus(int status)hueplusplus::sensors::CLIPGenericStatus
setURL(const std::string &url)hueplusplus::sensors::BaseCLIP
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::CLIPGenericStatusstatic
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::CLIPGenericStatus Class Reference
+
+
+ +

CLIP sensor for a generic 3rd party status. + More...

+ +

#include <hueplusplus/CLIPSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::CLIPGenericStatus:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::CLIPGenericStatus:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CLIPGenericStatus (Sensor sensor)
 Construct from generic sensor. More...
 
int getStatus () const
 Get sensor status. More...
 
void setStatus (int status)
 Set sensor status. More...
 
- Public Member Functions inherited from hueplusplus::sensors::BaseCLIP
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...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + +

+Static Public Attributes

static constexpr const char * typeStr = "CLIPGenericStatus"
 CLIPGenericStatus sensor type name. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::sensors::BaseCLIP
 BaseCLIP (Sensor sensor)
 Protected constructor to be used by subclasses. More...
 
- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

CLIP sensor for a generic 3rd party status.

+

Can be created by POST.

+

Constructor & Destructor Documentation

+ +

◆ CLIPGenericStatus()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::CLIPGenericStatus::CLIPGenericStatus (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ getStatus()

+ +
+
+ + + + + + + +
int hueplusplus::sensors::CLIPGenericStatus::getStatus () const
+
+ +

Get sensor status.

+ +
+
+ +

◆ setStatus()

+ +
+
+ + + + + + + + +
void hueplusplus::sensors::CLIPGenericStatus::setStatus (int status)
+
+ +

Set sensor status.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Data Documentation

+ +

◆ typeStr

+ +
+
+ + + + + +
+ + + + +
constexpr const char * hueplusplus::sensors::CLIPGenericStatus::typeStr = "CLIPGenericStatus"
+
+static
+
+ +

CLIPGenericStatus sensor type name.

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::CLIPHumidity Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::CLIPHumidity, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseCLIP(Sensor sensor)hueplusplus::sensors::BaseCLIPinlineexplicitprotected
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
CLIPHumidity(Sensor sensor)hueplusplus::sensors::CLIPHumidityinlineexplicit
getBatteryState() consthueplusplus::sensors::BaseCLIP
getHumidity() consthueplusplus::sensors::CLIPHumidity
getId() consthueplusplus::BaseDevicevirtual
getLastUpdated() consthueplusplus::sensors::BaseCLIP
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
getURL() consthueplusplus::sensors::BaseCLIP
hasBatteryState() consthueplusplus::sensors::BaseCLIP
hasURL() consthueplusplus::sensors::BaseCLIP
idhueplusplus::BaseDeviceprotected
isOn() consthueplusplus::sensors::BaseCLIP
isReachable() consthueplusplus::sensors::BaseCLIP
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setBatteryState(int percent)hueplusplus::sensors::BaseCLIP
setHumidity(int humidity)hueplusplus::sensors::CLIPHumidity
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::BaseCLIP
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
setURL(const std::string &url)hueplusplus::sensors::BaseCLIP
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::CLIPHumiditystatic
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::CLIPHumidity Class Reference
+
+
+ +

CLIP sensor for humidity. + More...

+ +

#include <hueplusplus/CLIPSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::CLIPHumidity:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::CLIPHumidity:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CLIPHumidity (Sensor sensor)
 Construct from generic sensor. More...
 
int getHumidity () const
 Get measured humidity. More...
 
void setHumidity (int humidity)
 Set humidity. More...
 
- Public Member Functions inherited from hueplusplus::sensors::BaseCLIP
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...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + +

+Static Public Attributes

static constexpr const char * typeStr = "CLIPHumidity"
 CLIPHumidity sensor type name. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::sensors::BaseCLIP
 BaseCLIP (Sensor sensor)
 Protected constructor to be used by subclasses. More...
 
- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

CLIP sensor for humidity.

+

Constructor & Destructor Documentation

+ +

◆ CLIPHumidity()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::CLIPHumidity::CLIPHumidity (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ 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
+ + +
humidityHumidity in 0.01% steps
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Data Documentation

+ +

◆ typeStr

+ +
+
+ + + + + +
+ + + + +
constexpr const char * hueplusplus::sensors::CLIPHumidity::typeStr = "CLIPHumidity"
+
+static
+
+ +

CLIPHumidity sensor type name.

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::CLIPLightLevel Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::CLIPLightLevel, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseCLIP(Sensor sensor)hueplusplus::sensors::BaseCLIPinlineexplicitprotected
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
CLIPLightLevel(Sensor sensor)hueplusplus::sensors::CLIPLightLevelinlineexplicit
getBatteryState() consthueplusplus::sensors::BaseCLIP
getDarkThreshold() consthueplusplus::sensors::CLIPLightLevel
getId() consthueplusplus::BaseDevicevirtual
getLastUpdated() consthueplusplus::sensors::BaseCLIP
getLightLevel() consthueplusplus::sensors::CLIPLightLevel
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getThresholdOffset() consthueplusplus::sensors::CLIPLightLevel
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
getURL() consthueplusplus::sensors::BaseCLIP
hasBatteryState() consthueplusplus::sensors::BaseCLIP
hasURL() consthueplusplus::sensors::BaseCLIP
idhueplusplus::BaseDeviceprotected
isDark() consthueplusplus::sensors::CLIPLightLevel
isDaylight() consthueplusplus::sensors::CLIPLightLevel
isOn() consthueplusplus::sensors::BaseCLIP
isReachable() consthueplusplus::sensors::BaseCLIP
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setBatteryState(int percent)hueplusplus::sensors::BaseCLIP
setDarkThreshold(int threshold)hueplusplus::sensors::CLIPLightLevel
setLightLevel(int level)hueplusplus::sensors::CLIPLightLevel
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::BaseCLIP
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
setThresholdOffset(int offset)hueplusplus::sensors::CLIPLightLevel
setURL(const std::string &url)hueplusplus::sensors::BaseCLIP
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::CLIPLightLevelstatic
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::CLIPLightLevel Class Reference
+
+
+ +

CLIP sensor for light level. + More...

+ +

#include <hueplusplus/CLIPSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::CLIPLightLevel:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::CLIPLightLevel:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CLIPLightLevel (Sensor sensor)
 Construct from generic sensor. More...
 
int getDarkThreshold () const
 Get threshold to detect darkness. More...
 
void setDarkThreshold (int threshold)
 Set threshold to detect darkness. More...
 
int getThresholdOffset () const
 Get offset over dark threshold to detect daylight. More...
 
void setThresholdOffset (int offset)
 Set offset to detect daylight. More...
 
int getLightLevel () const
 Get measured light level. More...
 
void setLightLevel (int level)
 Set measured light level. More...
 
bool isDark () const
 Check whether light level is below dark threshold. More...
 
bool isDaylight () const
 Check whether light level is above light threshold. More...
 
- Public Member Functions inherited from hueplusplus::sensors::BaseCLIP
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...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + +

+Static Public Attributes

static constexpr const char * typeStr = "CLIPLightLevel"
 CLIPLightLevel sensor type name. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::sensors::BaseCLIP
 BaseCLIP (Sensor sensor)
 Protected constructor to be used by subclasses. More...
 
- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

CLIP sensor for light level.

+

Constructor & Destructor Documentation

+ +

◆ CLIPLightLevel()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::CLIPLightLevel::CLIPLightLevel (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ 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
+ + +
thresholdLight level as reported by getLightLevel
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setLightLevel()

+ +
+
+ + + + + + + + +
void hueplusplus::sensors::CLIPLightLevel::setLightLevel (int level)
+
+ +

Set measured light level.

+
Parameters
+ + +
levelLight level in 10000*log10(lux)+1
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setThresholdOffset()

+ +
+
+ + + + + + + + +
void hueplusplus::sensors::CLIPLightLevel::setThresholdOffset (int offset)
+
+ +

Set offset to detect daylight.

+
Parameters
+ + +
offsetOffset to dark threshold to detect daylight. Must be greater than 1.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Data Documentation

+ +

◆ typeStr

+ +
+
+ + + + + +
+ + + + +
constexpr const char * hueplusplus::sensors::CLIPLightLevel::typeStr = "CLIPLightLevel"
+
+static
+
+ +

CLIPLightLevel sensor type name.

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::CLIPOpenClose Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::CLIPOpenClose, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseCLIP(Sensor sensor)hueplusplus::sensors::BaseCLIPinlineexplicitprotected
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
CLIPOpenClose(Sensor sensor)hueplusplus::sensors::CLIPOpenCloseinlineexplicit
getBatteryState() consthueplusplus::sensors::BaseCLIP
getId() consthueplusplus::BaseDevicevirtual
getLastUpdated() consthueplusplus::sensors::BaseCLIP
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
getURL() consthueplusplus::sensors::BaseCLIP
hasBatteryState() consthueplusplus::sensors::BaseCLIP
hasURL() consthueplusplus::sensors::BaseCLIP
idhueplusplus::BaseDeviceprotected
isOn() consthueplusplus::sensors::BaseCLIP
isOpen() consthueplusplus::sensors::CLIPOpenClose
isReachable() consthueplusplus::sensors::BaseCLIP
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setBatteryState(int percent)hueplusplus::sensors::BaseCLIP
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::BaseCLIP
setOpen(bool open)hueplusplus::sensors::CLIPOpenClose
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
setURL(const std::string &url)hueplusplus::sensors::BaseCLIP
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::CLIPOpenClosestatic
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::CLIPOpenClose Class Reference
+
+
+ +

CLIP sensor detecting whether a contact is open or closed. + More...

+ +

#include <hueplusplus/CLIPSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::CLIPOpenClose:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::CLIPOpenClose:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CLIPOpenClose (Sensor sensor)
 Construct from generic sensor. More...
 
bool isOpen () const
 Check whether the switch is open. More...
 
void setOpen (bool open)
 Set switch state. More...
 
- Public Member Functions inherited from hueplusplus::sensors::BaseCLIP
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...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + +

+Static Public Attributes

static constexpr const char * typeStr = "CLIPOpenClose"
 CLIPOpenClose sensor type name. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::sensors::BaseCLIP
 BaseCLIP (Sensor sensor)
 Protected constructor to be used by subclasses. More...
 
- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

CLIP sensor detecting whether a contact is open or closed.

+

Constructor & Destructor Documentation

+ +

◆ CLIPOpenClose()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::CLIPOpenClose::CLIPOpenClose (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Data Documentation

+ +

◆ typeStr

+ +
+
+ + + + + +
+ + + + +
constexpr const char * hueplusplus::sensors::CLIPOpenClose::typeStr = "CLIPOpenClose"
+
+static
+
+ +

CLIPOpenClose sensor type name.

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::CLIPPresence Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::CLIPPresence, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseCLIP(Sensor sensor)hueplusplus::sensors::BaseCLIPinlineexplicitprotected
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
CLIPPresence(Sensor sensor)hueplusplus::sensors::CLIPPresenceinlineexplicit
getBatteryState() consthueplusplus::sensors::BaseCLIP
getId() consthueplusplus::BaseDevicevirtual
getLastUpdated() consthueplusplus::sensors::BaseCLIP
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getPresence() consthueplusplus::sensors::CLIPPresence
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
getURL() consthueplusplus::sensors::BaseCLIP
hasBatteryState() consthueplusplus::sensors::BaseCLIP
hasURL() consthueplusplus::sensors::BaseCLIP
idhueplusplus::BaseDeviceprotected
isOn() consthueplusplus::sensors::BaseCLIP
isReachable() consthueplusplus::sensors::BaseCLIP
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setBatteryState(int percent)hueplusplus::sensors::BaseCLIP
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::BaseCLIP
setPresence(bool presence)hueplusplus::sensors::CLIPPresence
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
setURL(const std::string &url)hueplusplus::sensors::BaseCLIP
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::CLIPPresencestatic
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::CLIPPresence Class Reference
+
+
+ +

CLIP sensor to detect presence. + More...

+ +

#include <hueplusplus/CLIPSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::CLIPPresence:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::CLIPPresence:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CLIPPresence (Sensor sensor)
 Construct from generic sensor. More...
 
bool getPresence () const
 Check whether presence was detected. More...
 
void setPresence (bool presence)
 Set presence state. More...
 
- Public Member Functions inherited from hueplusplus::sensors::BaseCLIP
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...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + +

+Static Public Attributes

static constexpr const char * typeStr = "CLIPPresence"
 CLIPPresence sensor type name. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::sensors::BaseCLIP
 BaseCLIP (Sensor sensor)
 Protected constructor to be used by subclasses. More...
 
- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

CLIP sensor to detect presence.

+

Constructor & Destructor Documentation

+ +

◆ CLIPPresence()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::CLIPPresence::CLIPPresence (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Data Documentation

+ +

◆ typeStr

+ +
+
+ + + + + +
+ + + + +
constexpr const char * hueplusplus::sensors::CLIPPresence::typeStr = "CLIPPresence"
+
+static
+
+ +

CLIPPresence sensor type name.

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::CLIPSwitch Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::CLIPSwitch, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseCLIP(Sensor sensor)hueplusplus::sensors::BaseCLIPinlineexplicitprotected
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
CLIPSwitch(Sensor sensor)hueplusplus::sensors::CLIPSwitchinlineexplicit
getBatteryState() consthueplusplus::sensors::BaseCLIP
getButtonEvent() consthueplusplus::sensors::CLIPSwitch
getId() consthueplusplus::BaseDevicevirtual
getLastUpdated() consthueplusplus::sensors::BaseCLIP
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
getURL() consthueplusplus::sensors::BaseCLIP
hasBatteryState() consthueplusplus::sensors::BaseCLIP
hasURL() consthueplusplus::sensors::BaseCLIP
idhueplusplus::BaseDeviceprotected
isOn() consthueplusplus::sensors::BaseCLIP
isReachable() consthueplusplus::sensors::BaseCLIP
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setBatteryState(int percent)hueplusplus::sensors::BaseCLIP
setButtonEvent(int code)hueplusplus::sensors::CLIPSwitch
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::BaseCLIP
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
setURL(const std::string &url)hueplusplus::sensors::BaseCLIP
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::CLIPSwitchstatic
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::CLIPSwitch Class Reference
+
+
+ +

CLIP sensor for button presses. + More...

+ +

#include <hueplusplus/CLIPSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::CLIPSwitch:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::CLIPSwitch:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CLIPSwitch (Sensor sensor)
 Construct from generic sensor. More...
 
int getButtonEvent () const
 Get the code of the last switch event. More...
 
void setButtonEvent (int code)
 Set the button event code. More...
 
- Public Member Functions inherited from hueplusplus::sensors::BaseCLIP
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...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + +

+Static Public Attributes

static constexpr const char * typeStr = "CLIPSwitch"
 CLIPSwitch sensor type name. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::sensors::BaseCLIP
 BaseCLIP (Sensor sensor)
 Protected constructor to be used by subclasses. More...
 
- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

CLIP sensor for button presses.

+

Constructor & Destructor Documentation

+ +

◆ CLIPSwitch()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::CLIPSwitch::CLIPSwitch (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Data Documentation

+ +

◆ typeStr

+ +
+
+ + + + + +
+ + + + +
constexpr const char * hueplusplus::sensors::CLIPSwitch::typeStr = "CLIPSwitch"
+
+static
+
+ +

CLIPSwitch sensor type name.

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::CLIPTemperature Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::CLIPTemperature, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseCLIP(Sensor sensor)hueplusplus::sensors::BaseCLIPinlineexplicitprotected
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
CLIPTemperature(Sensor sensor)hueplusplus::sensors::CLIPTemperatureinlineexplicit
getBatteryState() consthueplusplus::sensors::BaseCLIP
getId() consthueplusplus::BaseDevicevirtual
getLastUpdated() consthueplusplus::sensors::BaseCLIP
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getTemperature() consthueplusplus::sensors::CLIPTemperature
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
getURL() consthueplusplus::sensors::BaseCLIP
hasBatteryState() consthueplusplus::sensors::BaseCLIP
hasURL() consthueplusplus::sensors::BaseCLIP
idhueplusplus::BaseDeviceprotected
isOn() consthueplusplus::sensors::BaseCLIP
isReachable() consthueplusplus::sensors::BaseCLIP
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setBatteryState(int percent)hueplusplus::sensors::BaseCLIP
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::BaseCLIP
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
setTemperature(int temperature)hueplusplus::sensors::CLIPTemperature
setURL(const std::string &url)hueplusplus::sensors::BaseCLIP
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::CLIPTemperaturestatic
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::CLIPTemperature Class Reference
+
+
+ +

CLIP sensor for temperature. + More...

+ +

#include <hueplusplus/CLIPSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::CLIPTemperature:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::CLIPTemperature:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 CLIPTemperature (Sensor sensor)
 Construct from generic sensor. More...
 
int getTemperature () const
 Get measured temperature. More...
 
void setTemperature (int temperature)
 Set temperature. More...
 
- Public Member Functions inherited from hueplusplus::sensors::BaseCLIP
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...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + +

+Static Public Attributes

static constexpr const char * typeStr = "CLIPTemperature"
 CLIPTemperature sensor type name. More...
 
+ + + + + + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::sensors::BaseCLIP
 BaseCLIP (Sensor sensor)
 Protected constructor to be used by subclasses. More...
 
- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

CLIP sensor for temperature.

+

Constructor & Destructor Documentation

+ +

◆ CLIPTemperature()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::CLIPTemperature::CLIPTemperature (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ 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
+ + +
temperatureTemperature in 0.01 degreese Celsius.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Data Documentation

+ +

◆ typeStr

+ +
+
+ + + + + +
+ + + + +
constexpr const char * hueplusplus::sensors::CLIPTemperature::typeStr = "CLIPTemperature"
+
+static
+
+ +

CLIPTemperature sensor type name.

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::DaylightSensor Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::DaylightSensor, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
DaylightSensor(Sensor sensor)hueplusplus::sensors::DaylightSensorinlineexplicit
getBatteryState() consthueplusplus::sensors::DaylightSensor
getId() consthueplusplus::BaseDevicevirtual
getLastUpdated() consthueplusplus::sensors::DaylightSensor
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSunriseOffset() consthueplusplus::sensors::DaylightSensor
getSunsetOffset() consthueplusplus::sensors::DaylightSensor
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
hasBatteryState() consthueplusplus::sensors::DaylightSensor
idhueplusplus::BaseDeviceprotected
isConfigured() consthueplusplus::sensors::DaylightSensor
isDaylight() consthueplusplus::sensors::DaylightSensor
isOn() consthueplusplus::sensors::DaylightSensor
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setBatteryState(int percent)hueplusplus::sensors::DaylightSensor
setCoordinates(const std::string &latitude, const std::string &longitude)hueplusplus::sensors::DaylightSensor
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::DaylightSensor
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
setSunriseOffset(int minutes)hueplusplus::sensors::DaylightSensor
setSunsetOffset(int minutes)hueplusplus::sensors::DaylightSensor
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::DaylightSensorstatic
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::DaylightSensor Class Reference
+
+
+ +

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

+ +

#include <hueplusplus/Sensor.h>

+
+ + Inheritance diagram for hueplusplus::sensors::DaylightSensor:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::DaylightSensor:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 DaylightSensor (Sensor sensor)
 Construct from generic sensor. More...
 
bool isOn () const
 Check if the 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...
 
void setCoordinates (const std::string &latitude, const std::string &longitude)
 Set GPS coordinates for the calculation. More...
 
bool isConfigured () const
 Check whether coordinates are configured. More...
 
int getSunriseOffset () const
 Get time offset in minutes to sunrise. More...
 
void setSunriseOffset (int minutes)
 Set sunrise offset time. More...
 
int getSunsetOffset () const
 Get time offset in minutes to sunset. More...
 
void setSunsetOffset (int minutes)
 Set sunset offset time. More...
 
bool isDaylight () const
 Check whether it is daylight or not. More...
 
time::AbsoluteTime getLastUpdated () const
 Get time of last status update. More...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + +

+Static Public Attributes

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

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

Daylight sensor to detect sunrise and sunset.

+

Every bridge has a daylight sensor always available.

+

Constructor & Destructor Documentation

+ +

◆ DaylightSensor()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::DaylightSensor::DaylightSensor (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ getBatteryState()

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

Get battery state.

+
Returns
Battery state in percent
+
Exceptions
+ + +
nlohmann::json::out_of_rangewhen 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen 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
+ + + +
latitudeDecimal 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)
longitudeLongitude coordinate (same format as latitude), ending with W or E
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setOn()

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

Enable or disable sensor.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setSunriseOffset()

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

Set sunrise offset time.

+
Parameters
+ + +
minutesMinutes from -120 to 120
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setSunsetOffset()

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

Set sunset offset time.

+
Parameters
+ + +
minutesMinutes from -120 to 120
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Data Documentation

+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::ZGPSwitch Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::ZGPSwitch, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
c_button1hueplusplus::sensors::ZGPSwitchstatic
c_button2hueplusplus::sensors::ZGPSwitchstatic
c_button3hueplusplus::sensors::ZGPSwitchstatic
c_button4hueplusplus::sensors::ZGPSwitchstatic
getButtonEvent() consthueplusplus::sensors::ZGPSwitch
getId() consthueplusplus::BaseDevicevirtual
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
idhueplusplus::BaseDeviceprotected
isOn() consthueplusplus::sensors::ZGPSwitch
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::ZGPSwitch
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::ZGPSwitchstatic
ZGPSwitch(Sensor sensor)hueplusplus::sensors::ZGPSwitchinlineexplicit
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::ZGPSwitch Class Reference
+
+
+ +

ZigBee Green Power sensor for button presses. + More...

+ +

#include <hueplusplus/ZLLSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::ZGPSwitch:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::ZGPSwitch:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 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...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + + + + + + + + + + + + + +

+Static Public Attributes

static constexpr int c_button1 = 34
 Code for tap button 1. More...
 
static constexpr int c_button2 = 16
 Code for tap button 2. More...
 
static constexpr int c_button3 = 17
 Code for tap button 3. More...
 
static constexpr int c_button4 = 18
 Code for tap button 4. More...
 
static constexpr const char * typeStr = "ZGPSwitch"
 ZGPSwitch sensor type name. More...
 
+ + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

ZigBee Green Power sensor for button presses.

+

Constructor & Destructor Documentation

+ +

◆ ZGPSwitch()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::ZGPSwitch::ZGPSwitch (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Data Documentation

+ +

◆ 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
+
+ +

ZGPSwitch sensor type name.

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::ZLLLightLevel Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::ZLLLightLevel, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
getBatteryState() consthueplusplus::sensors::ZLLLightLevel
getDarkThreshold() consthueplusplus::sensors::ZLLLightLevel
getId() consthueplusplus::BaseDevicevirtual
getLastUpdated() consthueplusplus::sensors::ZLLLightLevel
getLightLevel() consthueplusplus::sensors::ZLLLightLevel
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getThresholdOffset() consthueplusplus::sensors::ZLLLightLevel
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
hasBatteryState() consthueplusplus::sensors::ZLLLightLevel
idhueplusplus::BaseDeviceprotected
isDark() consthueplusplus::sensors::ZLLLightLevel
isDaylight() consthueplusplus::sensors::ZLLLightLevel
isOn() consthueplusplus::sensors::ZLLLightLevel
isReachable() consthueplusplus::sensors::ZLLLightLevel
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setDarkThreshold(int threshold)hueplusplus::sensors::ZLLLightLevel
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::ZLLLightLevel
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
setThresholdOffset(int offset)hueplusplus::sensors::ZLLLightLevel
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::ZLLLightLevelstatic
ZLLLightLevel(Sensor sensor)hueplusplus::sensors::ZLLLightLevelinlineexplicit
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::ZLLLightLevel Class Reference
+
+
+ +

ZigBee sensor detecting ambient light level. + More...

+ +

#include <hueplusplus/ZLLSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::ZLLLightLevel:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::ZLLLightLevel:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ZLLLightLevel (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...
 
bool hasBatteryState () const
 Check whether the sensor has a battery state. More...
 
int getBatteryState () const
 Get battery state. More...
 
bool isReachable () const
 Check whether the sensor is reachable. More...
 
int getDarkThreshold () const
 Get threshold to detect darkness. More...
 
void setDarkThreshold (int threshold)
 Set threshold to detect darkness. More...
 
int getThresholdOffset () const
 Get offset over dark threshold to detect daylight. More...
 
void setThresholdOffset (int offset)
 Set offset to detect daylight. More...
 
int getLightLevel () const
 Get measured light level. More...
 
bool isDark () const
 Check whether light level is below dark threshold. More...
 
bool isDaylight () const
 Check whether light level is above light threshold. More...
 
time::AbsoluteTime getLastUpdated () const
 Get time of last status update. More...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + +

+Static Public Attributes

static constexpr const char * typeStr = "ZLLLightLevel"
 ZLLLightLevel sensor type name. More...
 
+ + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

ZigBee sensor detecting ambient light level.

+

Constructor & Destructor Documentation

+ +

◆ ZLLLightLevel()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::ZLLLightLevel::ZLLLightLevel (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ getBatteryState()

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

Get battery state.

+
Returns
Battery state in percent
+ +
+
+ +

◆ getDarkThreshold()

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

Get threshold to detect darkness.

+ +
+
+ +

◆ getLastUpdated()

+ +
+
+ + + + + + + +
time::AbsoluteTime hueplusplus::sensors::ZLLLightLevel::getLastUpdated () const
+
+ +

Get time of last status update.

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

◆ getLightLevel()

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

Get measured light level.

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

◆ getThresholdOffset()

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

Get offset over dark threshold to detect daylight.

+ +
+
+ +

◆ hasBatteryState()

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

Check whether the sensor has a battery state.

+ +
+
+ +

◆ isDark()

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

Check whether light level is below dark threshold.

+ +
+
+ +

◆ isDaylight()

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

Check whether light level is above light threshold.

+

Light threshold is dark threshold + offset

+ +
+
+ +

◆ isOn()

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

Check if sensor is on.

+

Sensors which are off do not change their status

+ +
+
+ +

◆ isReachable()

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

Check whether the sensor is reachable.

+ +
+
+ +

◆ setDarkThreshold()

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

Set threshold to detect darkness.

+
Parameters
+ + +
thresholdLight level as reported by getLightLevel
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setOn()

+ +
+
+ + + + + + + + +
void hueplusplus::sensors::ZLLLightLevel::setOn (bool on)
+
+ +

Enable or disable sensor.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setThresholdOffset()

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

Set offset to detect daylight.

+
Parameters
+ + +
offsetOffset to dark threshold to detect daylight. Must be greater than 1.
+
+
+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Data Documentation

+ +

◆ typeStr

+ +
+
+ + + + + +
+ + + + +
constexpr const char * hueplusplus::sensors::ZLLLightLevel::typeStr = "ZLLLightLevel"
+
+static
+
+ +

ZLLLightLevel sensor type name.

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::ZLLPresence Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::ZLLPresence, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
getBatteryState() consthueplusplus::sensors::ZLLPresence
getId() consthueplusplus::BaseDevicevirtual
getLastAlert() consthueplusplus::sensors::ZLLPresence
getLastUpdated() consthueplusplus::sensors::ZLLPresence
getManufacturername() consthueplusplus::BaseDevicevirtual
getMaxSensitivity() consthueplusplus::sensors::ZLLPresence
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getPresence() consthueplusplus::sensors::ZLLPresence
getProductname() consthueplusplus::BaseDevicevirtual
getSensitivity() consthueplusplus::sensors::ZLLPresence
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
hasBatteryState() consthueplusplus::sensors::ZLLPresence
idhueplusplus::BaseDeviceprotected
isOn() consthueplusplus::sensors::ZLLPresence
isReachable() consthueplusplus::sensors::ZLLPresence
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendAlert(Alert type)hueplusplus::sensors::ZLLPresence
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::ZLLPresence
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
setSensitivity(int sensitivity)hueplusplus::sensors::ZLLPresence
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::ZLLPresencestatic
ZLLPresence(Sensor sensor)hueplusplus::sensors::ZLLPresenceinlineexplicit
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::ZLLPresence Class Reference
+
+
+ +

Sensor detecting presence in the vicinity. + More...

+ +

#include <hueplusplus/ZLLSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::ZLLPresence:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::ZLLPresence:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ZLLPresence (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...
 
bool hasBatteryState () const
 Check whether the sensor has a battery state. More...
 
int getBatteryState () const
 Get battery state. More...
 
Alert getLastAlert () const
 Get last sent alert. More...
 
void sendAlert (Alert type)
 Send alert. More...
 
bool isReachable () const
 Check whether the sensor is reachable. More...
 
int getSensitivity () const
 Get sensor sensitivity. More...
 
int getMaxSensitivity () const
 Get maximum sensitivity. More...
 
void setSensitivity (int sensitivity)
 Set sensor sensitivity. More...
 
bool getPresence () const
 Get presence status. More...
 
time::AbsoluteTime getLastUpdated () const
 Get time of last status update. More...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + +

+Static Public Attributes

static constexpr const char * typeStr = "ZLLPresence"
 ZLLPresence sensor type name. More...
 
+ + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

Sensor detecting presence in the vicinity.

+

Constructor & Destructor Documentation

+ +

◆ ZLLPresence()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::ZLLPresence::ZLLPresence (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setOn()

+ +
+
+ + + + + + + + +
void hueplusplus::sensors::ZLLPresence::setOn (bool on)
+
+ +

Enable or disable sensor.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setSensitivity()

+ +
+
+ + + + + + + + +
void hueplusplus::sensors::ZLLPresence::setSensitivity (int sensitivity)
+
+ +

Set sensor sensitivity.

+
Parameters
+ + +
sensitivitySensitivity from 0 to max sensitivity (inclusive)
+
+
+ +
+
+

Member Data Documentation

+ +

◆ typeStr

+ +
+
+ + + + + +
+ + + + +
constexpr const char * hueplusplus::sensors::ZLLPresence::typeStr = "ZLLPresence"
+
+static
+
+ +

ZLLPresence sensor type name.

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::ZLLSwitch Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::ZLLSwitch, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
c_DOWN_HOLDhueplusplus::sensors::ZLLSwitchstatic
c_DOWN_INITIAL_PRESShueplusplus::sensors::ZLLSwitchstatic
c_DOWN_LONG_RELEASEDhueplusplus::sensors::ZLLSwitchstatic
c_DOWN_SHORT_RELEASEDhueplusplus::sensors::ZLLSwitchstatic
c_OFF_HOLDhueplusplus::sensors::ZLLSwitchstatic
c_OFF_INITIAL_PRESShueplusplus::sensors::ZLLSwitchstatic
c_OFF_LONG_RELEASEDhueplusplus::sensors::ZLLSwitchstatic
c_OFF_SHORT_RELEASEDhueplusplus::sensors::ZLLSwitchstatic
c_ON_HOLDhueplusplus::sensors::ZLLSwitchstatic
c_ON_INITIAL_PRESShueplusplus::sensors::ZLLSwitchstatic
c_ON_LONG_RELEASEDhueplusplus::sensors::ZLLSwitchstatic
c_ON_SHORT_RELEASEDhueplusplus::sensors::ZLLSwitchstatic
c_UP_HOLDhueplusplus::sensors::ZLLSwitchstatic
c_UP_INITIAL_PRESShueplusplus::sensors::ZLLSwitchstatic
c_UP_LONG_RELEASEDhueplusplus::sensors::ZLLSwitchstatic
c_UP_SHORT_RELEASEDhueplusplus::sensors::ZLLSwitchstatic
getBatteryState() consthueplusplus::sensors::ZLLSwitch
getButtonEvent() consthueplusplus::sensors::ZLLSwitch
getId() consthueplusplus::BaseDevicevirtual
getLastAlert() consthueplusplus::sensors::ZLLSwitch
getLastUpdated() consthueplusplus::sensors::ZLLSwitch
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
hasBatteryState() consthueplusplus::sensors::ZLLSwitch
idhueplusplus::BaseDeviceprotected
isOn() consthueplusplus::sensors::ZLLSwitch
isReachable() consthueplusplus::sensors::ZLLSwitch
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendAlert(Alert type)hueplusplus::sensors::ZLLSwitch
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::ZLLSwitch
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::ZLLSwitchstatic
ZLLSwitch(Sensor sensor)hueplusplus::sensors::ZLLSwitchinlineexplicit
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::ZLLSwitch Class Reference
+
+
+ +

ZigBee sensor reporting button presses. + More...

+ +

#include <hueplusplus/ZLLSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::ZLLSwitch:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::ZLLSwitch:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ZLLSwitch (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...
 
bool hasBatteryState () const
 Check whether the sensor has a battery state. More...
 
int getBatteryState () const
 Get battery state. More...
 
Alert getLastAlert () const
 Get last sent alert. More...
 
void sendAlert (Alert type)
 Send alert. More...
 
bool isReachable () const
 Check whether the sensor is reachable. More...
 
int getButtonEvent () const
 Get the code of the last switch event. More...
 
time::AbsoluteTime getLastUpdated () const
 Get time of last status update. More...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Attributes

static constexpr int c_ON_INITIAL_PRESS = 1000
 Button 1 (ON) pressed. More...
 
static constexpr int c_ON_HOLD = 1001
 Button 1 (ON) held. More...
 
static constexpr int c_ON_SHORT_RELEASED = 1002
 Button 1 (ON) released short press. More...
 
static constexpr int c_ON_LONG_RELEASED = 1003
 Button 1 (ON) released long press. More...
 
static constexpr int c_UP_INITIAL_PRESS = 2000
 Button 2 (DIM UP) pressed. More...
 
static constexpr int c_UP_HOLD = 2001
 Button 2 (DIM UP) held. More...
 
static constexpr int c_UP_SHORT_RELEASED = 2002
 Button 2 (DIM UP) released short press. More...
 
static constexpr int c_UP_LONG_RELEASED = 2003
 Button 2 (DIM UP) released long press. More...
 
static constexpr int c_DOWN_INITIAL_PRESS = 3000
 Button 3 (DIM DOWN) pressed. More...
 
static constexpr int c_DOWN_HOLD = 3001
 Button 3 (DIM DOWN) held. More...
 
static constexpr int c_DOWN_SHORT_RELEASED = 3002
 Button 3 (DIM DOWN) released short press. More...
 
static constexpr int c_DOWN_LONG_RELEASED = 3003
 Button 3 (DIM DOWN) released long press. More...
 
static constexpr int c_OFF_INITIAL_PRESS = 4000
 Button 4 (OFF) pressed. More...
 
static constexpr int c_OFF_HOLD = 4001
 Button 4 (OFF) held. More...
 
static constexpr int c_OFF_SHORT_RELEASED = 4002
 Button 4 (OFF) released short press. More...
 
static constexpr int c_OFF_LONG_RELEASED = 4003
 Button 4 (OFF) released long press. More...
 
static constexpr const char * typeStr = "ZLLSwitch"
 ZLLSwitch sensor type name. More...
 
+ + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

ZigBee sensor reporting button presses.

+

Constructor & Destructor Documentation

+ +

◆ ZLLSwitch()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::ZLLSwitch::ZLLSwitch (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setOn()

+ +
+
+ + + + + + + + +
void hueplusplus::sensors::ZLLSwitch::setOn (bool on)
+
+ +

Enable or disable sensor.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Data Documentation

+ +

◆ 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
+
+ +

ZLLSwitch sensor type name.

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::sensors::ZLLTemperature Member List
+
+
+ +

This is the complete list of members for hueplusplus::sensors::ZLLTemperature, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
BaseDevice(int id, const std::shared_ptr< APICache > &baseCache)hueplusplus::BaseDeviceprotected
BaseDevice(int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)hueplusplus::BaseDeviceprotected
getBatteryState() consthueplusplus::sensors::ZLLTemperature
getId() consthueplusplus::BaseDevicevirtual
getLastAlert() consthueplusplus::sensors::ZLLTemperature
getLastUpdated() consthueplusplus::sensors::ZLLTemperature
getManufacturername() consthueplusplus::BaseDevicevirtual
getModelId() consthueplusplus::BaseDevicevirtual
getName()hueplusplus::BaseDevicevirtual
getName() consthueplusplus::BaseDevicevirtual
getProductname() consthueplusplus::BaseDevicevirtual
getSwVersion()hueplusplus::BaseDevicevirtual
getSwVersion() consthueplusplus::BaseDevicevirtual
getTemperature() consthueplusplus::sensors::ZLLTemperature
getType() consthueplusplus::BaseDevicevirtual
getUId() consthueplusplus::BaseDevicevirtual
hasBatteryState() consthueplusplus::sensors::ZLLTemperature
idhueplusplus::BaseDeviceprotected
isOn() consthueplusplus::sensors::ZLLTemperature
isReachable() consthueplusplus::sensors::ZLLTemperature
refresh(bool force=false)hueplusplus::BaseDevicevirtual
sendAlert(Alert type)hueplusplus::sensors::ZLLTemperature
sendPutRequest(const std::string &subPath, const nlohmann::json &request, FileInfo fileInfo)hueplusplus::BaseDeviceprotectedvirtual
setName(const std::string &name)hueplusplus::BaseDevicevirtual
setOn(bool on)hueplusplus::sensors::ZLLTemperature
setRefreshDuration(std::chrono::steady_clock::duration refreshDuration)hueplusplus::BaseDevicevirtual
statehueplusplus::BaseDeviceprotected
typeStrhueplusplus::sensors::ZLLTemperaturestatic
ZLLTemperature(Sensor sensor)hueplusplus::sensors::ZLLTemperatureinlineexplicit
~BaseDevice()=defaulthueplusplus::BaseDevicevirtual
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::sensors::ZLLTemperature Class Reference
+
+
+ +

ZigBee temperature sensor. + More...

+ +

#include <hueplusplus/ZLLSensors.h>

+
+ + Inheritance diagram for hueplusplus::sensors::ZLLTemperature:
+
+
+ +
+ + Collaboration diagram for hueplusplus::sensors::ZLLTemperature:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 ZLLTemperature (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...
 
bool hasBatteryState () const
 Check whether the sensor has a battery state. More...
 
int getBatteryState () const
 Get battery state. More...
 
Alert getLastAlert () const
 Get last sent alert. More...
 
void sendAlert (Alert type)
 Send alert. More...
 
bool isReachable () const
 Check whether the sensor is reachable. More...
 
int getTemperature () const
 Get recorded temperature. More...
 
time::AbsoluteTime getLastUpdated () const
 Get time of last status update. More...
 
- Public Member Functions inherited from hueplusplus::BaseDevice
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...
 
+ + + + +

+Static Public Attributes

static constexpr const char * typeStr = "ZLLTemperature"
 ZLLTemperature sensor type name. More...
 
+ + + + + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from hueplusplus::BaseDevice
 BaseDevice (int id, const std::shared_ptr< APICache > &baseCache)
 Protected ctor that is used by subclasses, construct with shared cache. More...
 
 BaseDevice (int id, const HueCommandAPI &commands, const std::string &path, std::chrono::steady_clock::duration refreshDuration, const nlohmann::json &currentState)
 Protected ctor that is used by subclasses. 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...
 
- Protected Attributes inherited from hueplusplus::BaseDevice
int id
 holds the id of the device More...
 
APICache state
 holds the current state of the device More...
 
+

Detailed Description

+

ZigBee temperature sensor.

+

Constructor & Destructor Documentation

+ +

◆ ZLLTemperature()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::sensors::ZLLTemperature::ZLLTemperature (Sensor sensor)
+
+inlineexplicit
+
+ +

Construct from generic sensor.

+ +
+
+

Member Function Documentation

+ +

◆ 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_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+ +

◆ setOn()

+ +
+
+ + + + + + + + +
void hueplusplus::sensors::ZLLTemperature::setOn (bool on)
+
+ +

Enable or disable sensor.

+
Exceptions
+ + + + + +
std::system_errorwhen system or socket operations fail
HueExceptionwhen response contained no body
HueAPIResponseExceptionwhen response contains an error
nlohmann::json::parse_errorwhen response could not be parsed
+
+
+ +
+
+

Member Data Documentation

+ +

◆ typeStr

+ +
+
+ + + + + +
+ + + + +
constexpr const char * hueplusplus::sensors::ZLLTemperature::typeStr = "ZLLTemperature"
+
+static
+
+ +

ZLLTemperature sensor type name.

+ +
+
+
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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::time::AbsoluteTime Member List
+
+
+ +

This is the complete list of members for hueplusplus::time::AbsoluteTime, including all inherited members.

+ + + + + + +
AbsoluteTime(clock::time_point baseTime)hueplusplus::time::AbsoluteTimeexplicit
getBaseTime() consthueplusplus::time::AbsoluteTime
parse(const std::string &s)hueplusplus::time::AbsoluteTimestatic
parseUTC(const std::string &s)hueplusplus::time::AbsoluteTimestatic
toString() consthueplusplus::time::AbsoluteTime
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Member Functions | +List of all members
+
+
hueplusplus::time::AbsoluteTime Class Reference
+
+
+ +

One-time, absolute time point. + More...

+ +

#include <hueplusplus/TimePattern.h>

+
+ + Inheritance diagram for hueplusplus::time::AbsoluteTime:
+
+
+ + + + + + + + + + + + +

+Public Member Functions

 AbsoluteTime (clock::time_point baseTime)
 Create absolute time point. More...
 
clock::time_point getBaseTime () const
 Get base time point. More...
 
std::string toString () const
 Get formatted string as expected by Hue API. More...
 
+ + + + + + + +

+Static Public Member Functions

static AbsoluteTime parse (const std::string &s)
 Parse AbsoluteTime from formatted string in local timezone. More...
 
static AbsoluteTime parseUTC (const std::string &s)
 Parse AbsoluteTime from formatted UTC string. More...
 
+

Detailed Description

+

One-time, absolute time point.

+

Constructor & Destructor Documentation

+ +

◆ AbsoluteTime()

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::time::AbsoluteTime::AbsoluteTime (clock::time_point baseTime)
+
+explicit
+
+ +

Create absolute time point.

+
Parameters
+ + +
baseTimeAbsolute time point
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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
+ + +
sTimestamp 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
+ + +
sTimestamp 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-DDThh: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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::time::AbsoluteVariedTime Member List
+
+
+ +

This is the complete list of members for hueplusplus::time::AbsoluteVariedTime, including all inherited members.

+ + + + + + + + +
AbsoluteTime(clock::time_point baseTime)hueplusplus::time::AbsoluteTimeexplicit
AbsoluteVariedTime(clock::time_point baseTime, clock::duration variation=std::chrono::seconds(0))hueplusplus::time::AbsoluteVariedTimeexplicit
getBaseTime() consthueplusplus::time::AbsoluteTime
getRandomVariation() consthueplusplus::time::AbsoluteVariedTime
parse(const std::string &s)hueplusplus::time::AbsoluteVariedTimestatic
parseUTC(const std::string &s)hueplusplus::time::AbsoluteTimestatic
toString() consthueplusplus::time::AbsoluteVariedTime
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Member Functions | +List of all members
+
+
hueplusplus::time::AbsoluteVariedTime Class Reference
+
+
+ +

#include <hueplusplus/TimePattern.h>

+
+ + Inheritance diagram for hueplusplus::time::AbsoluteVariedTime:
+
+
+ +
+ + Collaboration diagram for hueplusplus::time::AbsoluteVariedTime:
+
+
+ + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 AbsoluteVariedTime (clock::time_point baseTime, clock::duration variation=std::chrono::seconds(0))
 Create absolute time point. More...
 
clock::duration getRandomVariation () const
 Get random variation or zero. More...
 
std::string toString () const
 Get formatted string as expected by Hue API. More...
 
- Public Member Functions inherited from hueplusplus::time::AbsoluteTime
 AbsoluteTime (clock::time_point baseTime)
 Create absolute time point. More...
 
clock::time_point getBaseTime () const
 Get base time point. More...
 
std::string toString () const
 Get formatted string as expected by Hue API. More...
 
+ + + + + + + + + + + +

+Static Public Member Functions

static AbsoluteVariedTime parse (const std::string &s)
 Parse AbsoluteTime from formatted string in local timezone. More...
 
- Static Public Member Functions inherited from hueplusplus::time::AbsoluteTime
static AbsoluteTime parse (const std::string &s)
 Parse AbsoluteTime from formatted string in local timezone. More...
 
static AbsoluteTime parseUTC (const std::string &s)
 Parse AbsoluteTime from formatted UTC string. More...
 
+

Detailed Description

+

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.

+

Constructor & Destructor Documentation

+ +

◆ AbsoluteVariedTime()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
hueplusplus::time::AbsoluteVariedTime::AbsoluteVariedTime (clock::time_point baseTime,
clock::duration variation = std::chrono::seconds(0) 
)
+
+explicit
+
+ +

Create absolute time point.

+
Parameters
+ + + +
baseTimeAbsolute time point
variationRandom variation, optional. When not zero, the time is randomly chosen between baseTime - variation and baseTime + variation
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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
+ + +
sTimestamp 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-DDThh:mm:ss
+
+when there is variation: Timestamp in the format YYYY-MM-DDThh:mm:ssAhh: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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::time::RecurringTime Member List
+
+
+ +

This is the complete list of members for hueplusplus::time::RecurringTime, including all inherited members.

+ + + + + + +
getDaytime() consthueplusplus::time::RecurringTime
getRandomVariation() consthueplusplus::time::RecurringTime
getWeekdays() consthueplusplus::time::RecurringTime
RecurringTime(clock::duration daytime, Weekdays days, clock::duration variation=std::chrono::seconds(0))hueplusplus::time::RecurringTimeexplicit
toString() consthueplusplus::time::RecurringTime
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::time::RecurringTime Class Reference
+
+
+ +

Time repeated weekly to daily, with possible random variation. + More...

+ +

#include <hueplusplus/TimePattern.h>

+ + + + + + + + + + + + + + + + + +

+Public Member Functions

 RecurringTime (clock::duration daytime, Weekdays days, clock::duration variation=std::chrono::seconds(0))
 Create recurring time. More...
 
clock::duration getDaytime () const
 Get time of day. More...
 
clock::duration getRandomVariation () const
 Get random variation. More...
 
Weekdays getWeekdays () const
 Get days on which the repetition will happen. More...
 
std::string toString () const
 Get formatted string as expected by Hue API. More...
 
+

Detailed Description

+

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.

+

Constructor & Destructor Documentation

+ +

◆ RecurringTime()

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::time::RecurringTime::RecurringTime (clock::duration daytime,
Weekdays days,
clock::duration variation = std::chrono::seconds(0) 
)
+
+explicit
+
+ +

Create recurring time.

+
Parameters
+ + + + +
daytimeTime of day, duration from the start of the day.
daysDays to repeat on, should not be Weekdays::none()
variationRandom variation, optional. Must be less than 12 hours. When not zero, the time is randomly chosen between daytime - variation and daytime + variation
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getDaytime()

+ +
+
+ + + + + + + +
system_clock::duration hueplusplus::time::RecurringTime::getDaytime () const
+
+ +

Get time of day.

+ +
+
+ +

◆ 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: Wbbb/Thh:mm:ss
+
+with variation: Wbbb/Thh:mm:ssAhh: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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::time::TimeInterval Member List
+
+
+ +

This is the complete list of members for hueplusplus::time::TimeInterval, including all inherited members.

+ + + + + + +
getEndTime() consthueplusplus::time::TimeInterval
getStartTime() consthueplusplus::time::TimeInterval
getWeekdays() consthueplusplus::time::TimeInterval
TimeInterval(clock::duration start, clock::duration end, Weekdays days=Weekdays::all())hueplusplus::time::TimeInterval
toString() consthueplusplus::time::TimeInterval
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +List of all members
+
+
hueplusplus::time::TimeInterval Class Reference
+
+
+ +

Time interval repeated daily to weekly. + More...

+ +

#include <hueplusplus/TimePattern.h>

+ + + + + + + + + + + + + + + + + +

+Public Member Functions

 TimeInterval (clock::duration start, clock::duration end, Weekdays days=Weekdays::all())
 Create time interval. More...
 
clock::duration getStartTime () const
 Get start time of the interval. More...
 
clock::duration getEndTime () const
 Get end time of the interval. More...
 
Weekdays getWeekdays () const
 Get active days. More...
 
std::string toString () const
 Get formatted string as expected by Hue API. More...
 
+

Detailed Description

+

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.

+

Constructor & Destructor Documentation

+ +

◆ TimeInterval()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
hueplusplus::time::TimeInterval::TimeInterval (clock::duration start,
clock::duration end,
Weekdays days = Weekdays::all() 
)
+
+ +

Create time interval.

+
Parameters
+ + + + +
startStart time, duration from the start of the day
endEnd time, duration from the start of the day
daysActive days, optional. Defaults to daily repetition.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ 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
+
+ +

Get active days.

+ +
+
+ +

◆ toString()

+ +
+
+ + + + + + + +
std::string hueplusplus::time::TimeInterval::toString () const
+
+ +

Get formatted string as expected by Hue API.

+
Returns
with daily repetition: Thh:mm:ss/Thh:mm:ss, with start time first and end time second.
+
+with repetition that is not daily: Wbbb/Thh:mm:ss/Thh: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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::time::TimePattern Member List
+
+
+ +

This is the complete list of members for hueplusplus::time::TimePattern, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + +
absolutehueplusplus::time::TimePattern
asAbsolute() consthueplusplus::time::TimePattern
asInterval() consthueplusplus::time::TimePattern
asRecurring() consthueplusplus::time::TimePattern
asTimer() consthueplusplus::time::TimePattern
getType() consthueplusplus::time::TimePattern
intervalhueplusplus::time::TimePattern
operator=(const TimePattern &other)hueplusplus::time::TimePattern
parse(const std::string &s)hueplusplus::time::TimePatternstatic
recurringhueplusplus::time::TimePattern
TimePattern()hueplusplus::time::TimePattern
TimePattern(const AbsoluteVariedTime &absolute)hueplusplus::time::TimePatternexplicit
TimePattern(const RecurringTime &recurring)hueplusplus::time::TimePatternexplicit
TimePattern(const TimeInterval &interval)hueplusplus::time::TimePatternexplicit
TimePattern(const Timer &timer)hueplusplus::time::TimePatternexplicit
TimePattern(const TimePattern &other)hueplusplus::time::TimePattern
timerhueplusplus::time::TimePattern
toString() consthueplusplus::time::TimePattern
Type enum namehueplusplus::time::TimePattern
undefinedhueplusplus::time::TimePattern
~TimePattern()hueplusplus::time::TimePattern
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Types | +Public Member Functions | +Static Public Member Functions | +List of all members
+
+
hueplusplus::time::TimePattern Class Reference
+
+
+ +

Holds different time representations. + More...

+ +

#include <hueplusplus/TimePattern.h>

+
+ + Collaboration diagram for hueplusplus::time::TimePattern:
+
+
+ + + + + + +

+Public Types

enum  Type {
+  Type::undefined, +Type::absolute, +Type::recurring, +Type::interval, +
+  Type::timer +
+ }
 Currently active type. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 TimePattern ()
 Create empty TimePattern. More...
 
 ~TimePattern ()
 Destructor for union. More...
 
 TimePattern (const AbsoluteVariedTime &absolute)
 Create TimePattern from AbsoluteVariedTime. More...
 
 TimePattern (const RecurringTime &recurring)
 Create TimePattern from RecurringTime. More...
 
 TimePattern (const TimeInterval &interval)
 Create TimePattern from TimeInterval. More...
 
 TimePattern (const Timer &timer)
 Create TimePattern from Timer. More...
 
 TimePattern (const TimePattern &other)
 Copy constructor for union. More...
 
TimePatternoperator= (const TimePattern &other)
 Copy assignment for union. More...
 
Type getType () const
 Get currently active type. More...
 
AbsoluteVariedTime asAbsolute () const
 Get contained absolute time. More...
 
RecurringTime asRecurring () const
 Get contained recurring time. More...
 
TimeInterval asInterval () const
 Get contained time interval. More...
 
Timer asTimer () const
 Get contained timer. More...
 
std::string toString () const
 Get formatted string of the contained value as expected by Hue API. More...
 
+ + + + +

+Static Public Member Functions

static TimePattern parse (const std::string &s)
 Parses TimePattern from formatted string as returned by Hue API. More...
 
+

Detailed Description

+

Holds different time representations.

+

Holds either AbsoluteTime, RecurringTime, TimeInterval, Timer or an undefined state. TimePattern is used to specify the occurrance of Schedules.

+

Member Enumeration Documentation

+ +

◆ Type

+ +
+
+ + + + + +
+ + + + +
enum hueplusplus::time::TimePattern::Type
+
+strong
+
+ +

Currently active type.

+ + + + + + +
Enumerator
undefined 

No active type.

+
absolute 

Active type is AbsoluteVariedTime.

+
recurring 

Active type is RecurringTime.

+
interval 

Active type is TimeInterval.

+
timer 

Active type is Timer.

+
+ +
+
+

Constructor & Destructor Documentation

+ +

◆ TimePattern() [1/6]

+ +
+
+ + + + + + + +
hueplusplus::time::TimePattern::TimePattern ()
+
+ +

Create empty TimePattern.

+ +
+
+ +

◆ ~TimePattern()

+ +
+
+ + + + + + + +
hueplusplus::time::TimePattern::~TimePattern ()
+
+ +

Destructor for union.

+ +
+
+ +

◆ TimePattern() [2/6]

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::time::TimePattern::TimePattern (const AbsoluteVariedTimeabsolute)
+
+explicit
+
+ +

Create TimePattern from AbsoluteVariedTime.

+ +
+
+ +

◆ TimePattern() [3/6]

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::time::TimePattern::TimePattern (const RecurringTimerecurring)
+
+explicit
+
+ +

Create TimePattern from RecurringTime.

+ +
+
+ +

◆ TimePattern() [4/6]

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::time::TimePattern::TimePattern (const TimeIntervalinterval)
+
+explicit
+
+ +

Create TimePattern from TimeInterval.

+ +
+
+ +

◆ TimePattern() [5/6]

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::time::TimePattern::TimePattern (const Timertimer)
+
+explicit
+
+ +

Create TimePattern from Timer.

+ +
+
+ +

◆ TimePattern() [6/6]

+ +
+
+ + + + + + + + +
hueplusplus::time::TimePattern::TimePattern (const TimePatternother)
+
+ +

Copy constructor for union.

+ +
+
+

Member Function Documentation

+ +

◆ asAbsolute()

+ +
+
+ + + + + + + +
AbsoluteVariedTime hueplusplus::time::TimePattern::asAbsolute () const
+
+ +

Get contained absolute time.

+
Precondition
getType() == Type::absolute
+ +
+
+ +

◆ asInterval()

+ +
+
+ + + + + + + +
TimeInterval hueplusplus::time::TimePattern::asInterval () const
+
+ +

Get contained time interval.

+
Precondition
getType() == Type::interval
+ +
+
+ +

◆ asRecurring()

+ +
+
+ + + + + + + +
RecurringTime hueplusplus::time::TimePattern::asRecurring () const
+
+ +

Get contained recurring time.

+
Precondition
getType() == Type::recurring
+ +
+
+ +

◆ asTimer()

+ +
+
+ + + + + + + +
Timer hueplusplus::time::TimePattern::asTimer () const
+
+ +

Get contained timer.

+
Precondition
getType() == Type::timer
+ +
+
+ +

◆ getType()

+ +
+
+ + + + + + + +
TimePattern::Type hueplusplus::time::TimePattern::getType () const
+
+ +

Get currently active type.

+
Note
Only the currently active type may be accessed, anything else is undefined behavior.
+ +
+
+ +

◆ operator=()

+ +
+
+ + + + + + + + +
TimePattern & hueplusplus::time::TimePattern::operator= (const TimePatternother)
+
+ +

Copy assignment for union.

+ +
+
+ +

◆ parse()

+ +
+
+ + + + + +
+ + + + + + + + +
TimePattern hueplusplus::time::TimePattern::parse (const std::string & s)
+
+static
+
+ +

Parses TimePattern from formatted string as returned by Hue API.

+
Parameters
+ + +
sEmpty string, "none", or in one of the formats the contained types return in their toString() method.
+
+
+
Returns
TimePattern with the matching type that is given in s
+
See also
AbsoluteTime::toString, RecurringTime::toString, TimeInterval::toString, Timer::toString
+
Exceptions
+ + + +
HueExceptionwhen the format does not match or a parsing error occurs
std::invalid_argumentwhen an integer conversion fails
+
+
+ +
+
+ +

◆ toString()

+ +
+
+ + + + + + + +
std::string hueplusplus::time::TimePattern::toString () const
+
+ +

Get formatted string of the contained value as expected by Hue API.

+
Returns
Empty string when type is undefined, otherwise toString() of the active type.
+
See also
AbsoluteTime::toString, RecurringTime::toString, TimeInterval::toString, Timer::toString
+ +
+
+

Member Data Documentation

+ +

◆ absolute

+ +
+
+ + + + +
AbsoluteVariedTime hueplusplus::time::TimePattern::absolute
+
+ +
+
+ +

◆ interval

+ +
+
+ + + + +
TimeInterval hueplusplus::time::TimePattern::interval
+
+ +
+
+ +

◆ recurring

+ +
+
+ + + + +
RecurringTime hueplusplus::time::TimePattern::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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::time::Timer Member List
+
+
+ +

This is the complete list of members for hueplusplus::time::Timer, including all inherited members.

+ + + + + + + + + +
getExpiryTime() consthueplusplus::time::Timer
getNumberOfExecutions() consthueplusplus::time::Timer
getRandomVariation() consthueplusplus::time::Timer
infiniteExecutionshueplusplus::time::Timerstatic
isRecurring() consthueplusplus::time::Timer
Timer(clock::duration duration, clock::duration variation=std::chrono::seconds(0))hueplusplus::time::Timer
Timer(clock::duration duration, int numExecutions, clock::duration variation=std::chrono::seconds(0))hueplusplus::time::Timer
toString() consthueplusplus::time::Timer
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Attributes | +List of all members
+
+
hueplusplus::time::Timer Class Reference
+
+
+ +

Timer that is started and triggers after specified delay. + More...

+ +

#include <hueplusplus/TimePattern.h>

+ + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 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...
 
+ + + +

+Static Public Attributes

static constexpr int infiniteExecutions = 0
 
+

Detailed Description

+

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.

+

Constructor & Destructor Documentation

+ +

◆ Timer() [1/2]

+ +
+
+ + + + + + + + + + + + + + + + + + +
hueplusplus::time::Timer::Timer (clock::duration duration,
clock::duration variation = std::chrono::seconds(0) 
)
+
+ +

Create one-off timer.

+
Parameters
+ + + +
durationExpiry time of the timer, max 24 hours.
variationRandom 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
+ + + + +
durationExpiry time of the timer, max 24 hours.
numExecutionsNumber of executions, 1 or higher, or infiniteExecutions to always repeat.
variationRandom variation of expiry time, optional.
+
+
+ +
+
+

Member Function Documentation

+ +

◆ getExpiryTime()

+ +
+
+ + + + + + + +
system_clock::duration hueplusplus::time::Timer::getExpiryTime () const
+
+ +

Get expiry time.

+ +
+
+ +

◆ getNumberOfExecutions()

+ +
+
+ + + + + + + +
int hueplusplus::time::Timer::getNumberOfExecutions () const
+
+ +

Get number of executions.

+
Returns
Number of executions, or infiniteExecutions
+ +
+
+ +

◆ 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: PThh:mm:ss
+
+one-off timer with variation: PThh:mm:ssAhh:mm:ss, with expiry time first and variation second.
+
+recurring timer: R/PThh:mm:ss
+
+recurring timer with n repetitions: Rnn/PThh:mm:ss
+
+recurring timer with random variation: Rnn/PThh:mm:ssAhh:mm:ss
+
+infinite recurring timer with random variation: R/PThh:mm:ssAhh:mm:ss
+ +
+
+

Member Data Documentation

+ +

◆ 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus::time::Weekdays Member List
+
+
+ +

This is the complete list of members for hueplusplus::time::Weekdays, including all inherited members.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
all()hueplusplus::time::Weekdaysstatic
friday()hueplusplus::time::Weekdaysstatic
isAll() consthueplusplus::time::Weekdays
isFriday() consthueplusplus::time::Weekdays
isMonday() consthueplusplus::time::Weekdays
isNone() consthueplusplus::time::Weekdays
isSaturday() consthueplusplus::time::Weekdays
isSunday() consthueplusplus::time::Weekdays
isThursday() consthueplusplus::time::Weekdays
isTuesday() consthueplusplus::time::Weekdays
isWednesday() consthueplusplus::time::Weekdays
monday()hueplusplus::time::Weekdaysstatic
none()hueplusplus::time::Weekdaysstatic
operator!=(const Weekdays &other) consthueplusplus::time::Weekdaysinline
operator==(const Weekdays &other) consthueplusplus::time::Weekdaysinline
operator|(Weekdays other) consthueplusplus::time::Weekdaysinline
parse(const std::string &s)hueplusplus::time::Weekdaysstatic
saturday()hueplusplus::time::Weekdaysstatic
sunday()hueplusplus::time::Weekdaysstatic
thursday()hueplusplus::time::Weekdaysstatic
toString() consthueplusplus::time::Weekdays
tuesday()hueplusplus::time::Weekdaysstatic
unionWith(Weekdays other) consthueplusplus::time::Weekdays
wednesday()hueplusplus::time::Weekdaysstatic
Weekdays()hueplusplus::time::Weekdaysinline
Weekdays(int num)hueplusplus::time::Weekdaysinlineexplicit
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+Public Member Functions | +Static Public Member Functions | +List of all members
+
+
hueplusplus::time::Weekdays Class Reference
+
+
+ +

Any number of days of the week. + More...

+ +

#include <hueplusplus/TimePattern.h>

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

 Weekdays ()
 Create with no days. More...
 
 Weekdays (int num)
 Create with the day num. More...
 
bool isNone () const
 Check if no days are set. More...
 
bool isAll () const
 Check if all days are set. More...
 
bool isMonday () const
 Check if Monday is contained. More...
 
bool isTuesday () const
 Check if Tuesday is contained. More...
 
bool isWednesday () const
 Check if Wednesday is contained. More...
 
bool isThursday () const
 Check if Thursday is contained. More...
 
bool isFriday () const
 Check if Friday is contained. More...
 
bool isSaturday () const
 Check if Saturday is contained. More...
 
bool isSunday () const
 Check if Sunday is contained. More...
 
Weekdays unionWith (Weekdays other) const
 Create set union with other Weekdays. More...
 
Weekdays operator| (Weekdays other) const
 Create set union with other Weekdays. More...
 
std::string toString () const
 Create a formatted, numeric string. More...
 
bool operator== (const Weekdays &other) const
 Check whether all days are equal. More...
 
bool operator!= (const Weekdays &other) const
 Check whether not all days are equal. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Static Public Member Functions

static Weekdays none ()
 Creates an empty Weekdays. More...
 
static Weekdays all ()
 Creates set of all days. More...
 
static Weekdays monday ()
 Creates Monday. More...
 
static Weekdays tuesday ()
 Creates Tuesday. More...
 
static Weekdays wednesday ()
 Creates Wednesday. More...
 
static Weekdays thursday ()
 Creates Thursday. More...
 
static Weekdays friday ()
 Creates Friday. More...
 
static Weekdays saturday ()
 Creates Saturday. More...
 
static Weekdays sunday ()
 Creates Sunday. More...
 
static Weekdays parse (const std::string &s)
 Parse from three digit code. More...
 
+

Detailed Description

+

Any number of days of the week.

+

Can be used to represent weekly repetitions only on certain days.

+

Constructor & Destructor Documentation

+ +

◆ Weekdays() [1/2]

+ +
+
+ + + + + +
+ + + + + + + +
hueplusplus::time::Weekdays::Weekdays ()
+
+inline
+
+ +

Create with no days.

+ +
+
+ +

◆ Weekdays() [2/2]

+ +
+
+ + + + + +
+ + + + + + + + +
hueplusplus::time::Weekdays::Weekdays (int num)
+
+inlineexplicit
+
+ +

Create with the day num.

+
Parameters
+ + +
numDay of the week, from monday (0) to sunday (6)
+
+
+ +
+
+

Member Function Documentation

+ +

◆ all()

+ +
+
+ + + + + +
+ + + + + + + +
Weekdays hueplusplus::time::Weekdays::all ()
+
+static
+
+ +

Creates set of all days.

+ +
+
+ +

◆ friday()

+ +
+
+ + + + + +
+ + + + + + + +
Weekdays hueplusplus::time::Weekdays::friday ()
+
+static
+
+ +

Creates Friday.

+ +
+
+ +

◆ 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
+
+ +

Creates Monday.

+ +
+
+ +

◆ none()

+ +
+
+ + + + + +
+ + + + + + + +
Weekdays hueplusplus::time::Weekdays::none ()
+
+static
+
+ +

Creates an empty Weekdays.

+ +
+
+ +

◆ operator!=()

+ +
+
+ + + + + +
+ + + + + + + + +
bool hueplusplus::time::Weekdays::operator!= (const Weekdaysother) const
+
+inline
+
+ +

Check whether not all days are equal.

+ +
+
+ +

◆ operator==()

+ +
+
+ + + + + +
+ + + + + + + + +
bool hueplusplus::time::Weekdays::operator== (const Weekdaysother) const
+
+inline
+
+ +

Check whether all days are equal.

+ +
+
+ +

◆ operator|()

+ +
+
+ + + + + +
+ + + + + + + + +
Weekdays hueplusplus::time::Weekdays::operator| (Weekdays other) const
+
+inline
+
+ +

Create set union with other Weekdays.

+
See also
unionWith
+ +
+
+ +

◆ parse()

+ +
+
+ + + + + +
+ + + + + + + + +
Weekdays hueplusplus::time::Weekdays::parse (const std::string & s)
+
+static
+
+ +

Parse from three digit code.

+
Parameters
+ + +
sBitmask of days as a string
+
+
+
Returns
Parsed set of weekdays
+ +
+
+ +

◆ saturday()

+ +
+
+ + + + + +
+ + + + + + + +
Weekdays hueplusplus::time::Weekdays::saturday ()
+
+static
+
+ +

Creates Saturday.

+ +
+
+ +

◆ sunday()

+ +
+
+ + + + + +
+ + + + + + + +
Weekdays hueplusplus::time::Weekdays::sunday ()
+
+static
+
+ +

Creates Sunday.

+ +
+
+ +

◆ thursday()

+ +
+
+ + + + + +
+ + + + + + + +
Weekdays hueplusplus::time::Weekdays::thursday ()
+
+static
+
+ +

Creates Thursday.

+ +
+
+ +

◆ 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
+
+ +

Creates Tuesday.

+ +
+
+ +

◆ unionWith()

+ +
+
+ + + + + + + + +
Weekdays hueplusplus::time::Weekdays::unionWith (Weekdays other) const
+
+ +

Create set union with other Weekdays.

+
Parameters
+ + +
otherSecond 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

File in examplesIncludes file in include
BridgeSetup.cpphueplusplus / Bridge.h
BridgeSetup.cpphueplusplus / LinHttpHandler.h
LightsOff.cpphueplusplus / Bridge.h
LightsOff.cpphueplusplus / LinHttpHandler.h
Snippets.cpphueplusplus / Bridge.h
Snippets.cpphueplusplus / CLIPSensors.h
Snippets.cpphueplusplus / LinHttpHandler.h
Snippets.cpphueplusplus / ZLLSensors.h
UsernameConfig.cpphueplusplus / Bridge.h
UsernameConfig.cpphueplusplus / LinHttpHandler.h
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+

src → include Relation

File in srcIncludes file in include
Action.cpphueplusplus / Action.h
Action.cpphueplusplus / HueExceptionMacro.h
APICache.cpphueplusplus / APICache.h
APICache.cpphueplusplus / HueExceptionMacro.h
BaseDevice.cpphueplusplus / BaseDevice.h
BaseDevice.cpphueplusplus / HueExceptionMacro.h
BaseDevice.cpphueplusplus / Utils.h
BaseHttpHandler.cpphueplusplus / BaseHttpHandler.h
BaseHttpHandler.cpphueplusplus / HueExceptionMacro.h
Bridge.cpphueplusplus / Bridge.h
Bridge.cpphueplusplus / HueExceptionMacro.h
Bridge.cpphueplusplus / LibConfig.h
Bridge.cpphueplusplus / UPnP.h
Bridge.cpphueplusplus / Utils.h
BridgeConfig.cpphueplusplus / BridgeConfig.h
BridgeConfig.cpphueplusplus / HueExceptionMacro.h
CLIPSensors.cpphueplusplus / CLIPSensors.h
CLIPSensors.cpphueplusplus / HueExceptionMacro.h
ColorUnits.cpphueplusplus / ColorUnits.h
EntertainmentMode.cpphueplusplus / EntertainmentMode.h
ExtendedColorHueStrategy.cpphueplusplus / ExtendedColorHueStrategy.h
ExtendedColorHueStrategy.cpphueplusplus / LibConfig.h
ExtendedColorTemperatureStrategy.cpphueplusplus / ExtendedColorTemperatureStrategy.h
ExtendedColorTemperatureStrategy.cpphueplusplus / HueExceptionMacro.h
ExtendedColorTemperatureStrategy.cpphueplusplus / LibConfig.h
ExtendedColorTemperatureStrategy.cpphueplusplus / Utils.h
Group.cpphueplusplus / Group.h
Group.cpphueplusplus / HueExceptionMacro.h
HueCommandAPI.cpphueplusplus / HueCommandAPI.h
HueCommandAPI.cpphueplusplus / HueExceptionMacro.h
HueCommandAPI.cpphueplusplus / LibConfig.h
HueDeviceTypes.cpphueplusplus / ExtendedColorHueStrategy.h
HueDeviceTypes.cpphueplusplus / ExtendedColorTemperatureStrategy.h
HueDeviceTypes.cpphueplusplus / HueDeviceTypes.h
HueDeviceTypes.cpphueplusplus / HueExceptionMacro.h
HueDeviceTypes.cpphueplusplus / SimpleBrightnessStrategy.h
HueDeviceTypes.cpphueplusplus / SimpleColorHueStrategy.h
HueDeviceTypes.cpphueplusplus / SimpleColorTemperatureStrategy.h
HueDeviceTypes.cpphueplusplus / Utils.h
HueException.cpphueplusplus / HueException.h
Light.cpphueplusplus / HueExceptionMacro.h
Light.cpphueplusplus / Light.h
Light.cpphueplusplus / Utils.h
LinHttpHandler.cpphueplusplus / LinHttpHandler.h
ModelPictures.cpphueplusplus / ModelPictures.h
NewDeviceList.cpphueplusplus / NewDeviceList.h
Rule.cpphueplusplus / HueExceptionMacro.h
Rule.cpphueplusplus / Rule.h
Scene.cpphueplusplus / HueExceptionMacro.h
Scene.cpphueplusplus / Scene.h
Schedule.cpphueplusplus / HueExceptionMacro.h
Schedule.cpphueplusplus / Schedule.h
Sensor.cpphueplusplus / HueExceptionMacro.h
Sensor.cpphueplusplus / Sensor.h
Sensor.cpphueplusplus / Utils.h
SimpleBrightnessStrategy.cpphueplusplus / HueExceptionMacro.h
SimpleBrightnessStrategy.cpphueplusplus / SimpleBrightnessStrategy.h
SimpleBrightnessStrategy.cpphueplusplus / Utils.h
SimpleColorHueStrategy.cpphueplusplus / HueExceptionMacro.h
SimpleColorHueStrategy.cpphueplusplus / LibConfig.h
SimpleColorHueStrategy.cpphueplusplus / SimpleColorHueStrategy.h
SimpleColorHueStrategy.cpphueplusplus / Utils.h
SimpleColorTemperatureStrategy.cpphueplusplus / HueExceptionMacro.h
SimpleColorTemperatureStrategy.cpphueplusplus / LibConfig.h
SimpleColorTemperatureStrategy.cpphueplusplus / SimpleColorTemperatureStrategy.h
SimpleColorTemperatureStrategy.cpphueplusplus / Utils.h
StateTransaction.cpphueplusplus / HueExceptionMacro.h
StateTransaction.cpphueplusplus / StateTransaction.h
StateTransaction.cpphueplusplus / Utils.h
TimePattern.cpphueplusplus / HueExceptionMacro.h
TimePattern.cpphueplusplus / TimePattern.h
UPnP.cpphueplusplus / LibConfig.h
UPnP.cpphueplusplus / UPnP.h
Utils.cpphueplusplus / Utils.h
WinHttpHandler.cpphueplusplus / WinHttpHandler.h
ZLLSensors.cpphueplusplus / HueExceptionMacro.h
ZLLSensors.cpphueplusplus / ZLLSensors.h
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
src Directory Reference
+
+
+
+ + Directory dependency graph for src:
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  Action.cpp
 
file  APICache.cpp
 
file  BaseDevice.cpp
 
file  BaseHttpHandler.cpp
 
file  Bridge.cpp
 
file  BridgeConfig.cpp
 
file  CLIPSensors.cpp
 
file  ColorUnits.cpp
 
file  EntertainmentMode.cpp
 
file  ExtendedColorHueStrategy.cpp
 
file  ExtendedColorTemperatureStrategy.cpp
 
file  Group.cpp
 
file  HueCommandAPI.cpp
 
file  HueDeviceTypes.cpp
 
file  HueException.cpp
 
file  Light.cpp
 
file  LinHttpHandler.cpp
 
file  ModelPictures.cpp
 
file  NewDeviceList.cpp
 
file  Rule.cpp
 
file  Scene.cpp
 
file  Schedule.cpp
 
file  Sensor.cpp
 
file  SimpleBrightnessStrategy.cpp
 
file  SimpleColorHueStrategy.cpp
 
file  SimpleColorTemperatureStrategy.cpp
 
file  StateTransaction.cpp
 
file  TimePattern.cpp
 
file  UPnP.cpp
 
file  Utils.cpp
 
file  WinHttpHandler.cpp
 
file  ZLLSensors.cpp
 
+
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
examples Directory Reference
+
+
+
+ + Directory dependency graph for examples:
+
+
+ + + + + + + + + + + + +

+Files

file  BridgeSetup.cpp
 
file  LightsOff.cpp
 
file  Snippets.cpp
 Contains code snippets used in the documentation, performs no useful functions.
 
file  UsernameConfig.cpp
 
+
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
include Directory Reference
+
+
+ + + + +

+Directories

directory  hueplusplus
 
+
+ + + + 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
hueplusplus Directory Reference
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Files

file  Action.h [code]
 
file  APICache.h [code]
 
file  BaseDevice.h [code]
 
file  BaseHttpHandler.h [code]
 
file  Bridge.h [code]
 
file  BridgeConfig.h [code]
 
file  BrightnessStrategy.h [code]
 
file  CLIPSensors.h [code]
 
file  ColorHueStrategy.h [code]
 
file  ColorTemperatureStrategy.h [code]
 
file  ColorUnits.h [code]
 
file  Condition.h [code]
 
file  EntertainmentMode.h [code]
 
file  ExtendedColorHueStrategy.h [code]
 
file  ExtendedColorTemperatureStrategy.h [code]
 
file  Group.h [code]
 
file  HueCommandAPI.h [code]
 
file  HueDeviceTypes.h [code]
 
file  HueException.h [code]
 
file  HueExceptionMacro.h [code]
 
file  IHttpHandler.h [code]
 
file  LibConfig.h [code]
 
file  Light.h [code]
 
file  LinHttpHandler.h [code]
 
file  ModelPictures.h [code]
 
file  NewDeviceList.h [code]
 
file  ResourceList.h [code]
 
file  Rule.h [code]
 
file  Scene.h [code]
 
file  Schedule.h [code]
 
file  Sensor.h [code]
 
file  SensorList.h [code]
 
file  SimpleBrightnessStrategy.h [code]
 
file  SimpleColorHueStrategy.h [code]
 
file  SimpleColorTemperatureStrategy.h [code]
 
file  StateTransaction.h [code]
 
file  TimePattern.h [code]
 
file  UPnP.h [code]
 
file  Utils.h [code]
 
file  WinHttpHandler.h [code]
 
file  ZLLSensors.h [code]
 
+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Examples
+
+
+
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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all files with brief descriptions:
+
[detail level 123]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
  examples
 BridgeSetup.cpp
 LightsOff.cpp
 Snippets.cppContains code snippets used in the documentation, performs no useful functions
 UsernameConfig.cpp
  include
  hueplusplus
 Action.h
 APICache.h
 BaseDevice.h
 BaseHttpHandler.h
 Bridge.h
 BridgeConfig.h
 BrightnessStrategy.h
 CLIPSensors.h
 ColorHueStrategy.h
 ColorTemperatureStrategy.h
 ColorUnits.h
 Condition.h
 EntertainmentMode.h
 ExtendedColorHueStrategy.h
 ExtendedColorTemperatureStrategy.h
 Group.h
 HueCommandAPI.h
 HueDeviceTypes.h
 HueException.h
 HueExceptionMacro.h
 IHttpHandler.h
 LibConfig.h
 Light.h
 LinHttpHandler.h
 ModelPictures.h
 NewDeviceList.h
 ResourceList.h
 Rule.h
 Scene.h
 Schedule.h
 Sensor.h
 SensorList.h
 SimpleBrightnessStrategy.h
 SimpleColorHueStrategy.h
 SimpleColorTemperatureStrategy.h
 StateTransaction.h
 TimePattern.h
 UPnP.h
 Utils.h
 WinHttpHandler.h
 ZLLSensors.h
  src
 Action.cpp
 APICache.cpp
 BaseDevice.cpp
 BaseHttpHandler.cpp
 Bridge.cpp
 BridgeConfig.cpp
 CLIPSensors.cpp
 ColorUnits.cpp
 EntertainmentMode.cpp
 ExtendedColorHueStrategy.cpp
 ExtendedColorTemperatureStrategy.cpp
 Group.cpp
 HueCommandAPI.cpp
 HueDeviceTypes.cpp
 HueException.cpp
 Light.cpp
 LinHttpHandler.cpp
 ModelPictures.cpp
 NewDeviceList.cpp
 Rule.cpp
 Scene.cpp
 Schedule.cpp
 Sensor.cpp
 SimpleBrightnessStrategy.cpp
 SimpleColorHueStrategy.cpp
 SimpleColorTemperatureStrategy.cpp
 StateTransaction.cpp
 TimePattern.cpp
 UPnP.cpp
 Utils.cpp
 WinHttpHandler.cpp
 ZLLSensors.cpp
+
+
+ + + + 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 -

+
+ + + + 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 -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- b -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- c -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- d -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- e -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- f -

+
+ + + + 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 -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- h -

+
+ + + + 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 -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- l -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- m -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- n -

+
+ + + + 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 -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- p -

+
+ + + + 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 -

+
+ + + + 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 -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- t -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- u -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- w -

+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- z -

+
+ + + + 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 -

+
+ + + + 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 -

+
+ + + + 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 -

+
+ + + + 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 -

+
+ + + + 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 -

+
+ + + + 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 -

+
+ + + + 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 -

+
+ + + + 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 -

+ + +

- 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 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+
+
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.

// For windows use std::make_shared<hueplusplus::WinHttpHandler>();
auto handler = std::make_shared<hueplusplus::LinHttpHandler>();
hueplusplus::BridgeFinder finder(handler);
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.

hueplusplus::Bridge bridge = finder.getBridge(bridges[0]);

If you on the other hand already have a username you can add your bridge like so

finder.addUsername(bridges[0].mac, "<username>");
hueplusplus::Bridge bridge = finder.getBridge(bridges[0]);

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

// For windows use std::make_shared<hueplusplus::WinHttpHandler>();
auto handler = std::make_shared<hueplusplus::LinHttpHandler>();
hueplusplus::Bridge bridge("192.168.2.102", 80, "<username>", handler);

At this point you may want to decide whether to use a shared state cache model or keep the default settings.

+
hueplusplus::Light light = bridge.lights().get(1);
light.on();
light.off();

Use transactions to change multiple properties at once.

+
hueplusplus::Group group = bridge.groups().get(1);
group.setOn(true);
+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Graph Legend
+
+
+

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:

+ +

The arrows have the following meaning:

+ +
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+
+

Go to the graphical class hierarchy

+This inheritance list is sorted roughly, but not completely, alphabetically:
+
[detail level 1234]
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
 Chueplusplus::time::AbsoluteTimeOne-time, absolute time point
 Chueplusplus::time::AbsoluteVariedTime
 Chueplusplus::ActionAction executed by the bridge, e.g. as a Schedule command
 Chueplusplus::APICacheCaches API GET requests and refreshes regularly
 Chueplusplus::BaseDeviceBase class for physical devices connected to the bridge (sensor or light)
 Chueplusplus::LightClass for Hue Light fixtures
 Chueplusplus::SensorClass for generic or unknown sensor types
 Chueplusplus::sensors::BaseCLIPCommon methods for CLIP sensors
 Chueplusplus::sensors::CLIPGenericFlagCLIP sensor for a generic 3rd party sensor
 Chueplusplus::sensors::CLIPGenericStatusCLIP sensor for a generic 3rd party status
 Chueplusplus::sensors::CLIPHumidityCLIP sensor for humidity
 Chueplusplus::sensors::CLIPLightLevelCLIP sensor for light level
 Chueplusplus::sensors::CLIPOpenCloseCLIP sensor detecting whether a contact is open or closed
 Chueplusplus::sensors::CLIPPresenceCLIP sensor to detect presence
 Chueplusplus::sensors::CLIPSwitchCLIP sensor for button presses
 Chueplusplus::sensors::CLIPTemperatureCLIP sensor for temperature
 Chueplusplus::sensors::DaylightSensorDaylight sensor to detect sunrise and sunset
 Chueplusplus::sensors::ZGPSwitchZigBee Green Power sensor for button presses
 Chueplusplus::sensors::ZLLLightLevelZigBee sensor detecting ambient light level
 Chueplusplus::sensors::ZLLPresenceSensor detecting presence in the vicinity
 Chueplusplus::sensors::ZLLSwitchZigBee sensor reporting button presses
 Chueplusplus::sensors::ZLLTemperatureZigBee temperature sensor
 Chueplusplus::BridgeBridge class for a bridge
 Chueplusplus::BridgeConfigGeneral bridge configuration properties
 Chueplusplus::BridgeFinder
 Chueplusplus::BridgeFinder::BridgeIdentification
 Chueplusplus::BrightnessStrategyVirtual base class for all BrightnessStrategies
 Chueplusplus::SimpleBrightnessStrategyClass implementing the functions of BrightnessStrategy
 Chueplusplus::ColorGamutTriangle of representable colors in CIE
 Chueplusplus::ColorHueStrategyVirtual base class for all ColorHueStrategies
 Chueplusplus::SimpleColorHueStrategy
 Chueplusplus::ExtendedColorHueStrategy
 Chueplusplus::ColorTemperatureStrategyVirtual base class for all ColorTemperatureStrategies
 Chueplusplus::SimpleColorTemperatureStrategyClass implementing the functions of ColorTemperatureStrategy
 Chueplusplus::ExtendedColorTemperatureStrategyClass implementing the functions of ColorTemperatureStrategy
 Chueplusplus::ConditionCondition for a Rule
 Chueplusplus::ConfigConfigurable delays
 Chueplusplus::CreateGroupParameters necessary for creating a new Group
 Chueplusplus::CreateRuleParameters for creating a new Rule
 Chueplusplus::CreateSceneParameters for creating a new Scene
 Chueplusplus::CreateScheduleParameters for creating a new Schedule
 Chueplusplus::CreateSensorParameters for creating a new Sensor
 Chueplusplus::EntertainmentModeClass for Hue Entertainment Mode
 Cexception
 Chueplusplus::HueExceptionException class with file information. Base class of all custom exception classes
 Chueplusplus::HueAPIResponseExceptionException caused by a Hue API "error" response with additional information
 Chueplusplus::FileInfoContains information about error location, use CURRENT_FILE_INFO to create
 Chueplusplus::GroupClass for Groups of lights
 Chueplusplus::HueCommandAPI
 Chueplusplus::HueSaturationColor in hue and saturation
 Chueplusplus::IHttpHandlerAbstract class for classes that handle http requests and multicast requests
 Chueplusplus::BaseHttpHandlerBase class for classes that handle http requests and multicast requests
 Chueplusplus::LinHttpHandlerClass to handle http requests and multicast requests on linux systems
 Chueplusplus::WinHttpHandlerClass to handle http requests and multicast requests on windows systems
 Chueplusplus::LightFactory
 Chueplusplus::LightStateImmutable state of a light
 Chueplusplus::LightStateBuilderBuilder to create LightState
 Chueplusplus::NewDeviceListList of new devices found during the last scan
 Chueplusplus::time::RecurringTimeTime repeated weekly to daily, with possible random variation
 Chueplusplus::ResourceList< Resource, IdT >Handles a list of a certain API resource
 Chueplusplus::ResourceList< Resource, int >
 Chueplusplus::CreateableResourceList< ResourceList< Resource, int >, CreateType >
 Chueplusplus::GroupResourceList< Resource, CreateType >Handles a group list with the special group 0
 Chueplusplus::SearchableResourceList< Resource >Handles a ResourceList of physical devices which can be searched for
 Chueplusplus::ResourceList< Sensor, int >
 Chueplusplus::SearchableResourceList< Sensor >
 Chueplusplus::CreateableResourceList< SearchableResourceList< Sensor >, CreateSensor >
 Chueplusplus::SensorListHandles a list of Sensors with type specific getters
 Chueplusplus::RGBColor in RGB
 Chueplusplus::RuleRule stored in the bridge
 Chueplusplus::SceneScene stored in the bridge
 Chueplusplus::ScheduleSchedule stored in the bridge
 Chueplusplus::SocketCloser
 Chueplusplus::StateTransactionTransaction class which can be used for either light or group state
 Chueplusplus::time::TimeIntervalTime interval repeated daily to weekly
 Chueplusplus::time::TimePatternHolds different time representations
 Chueplusplus::time::TimerTimer that is started and triggers after specified delay
 Chueplusplus::TLSContext
 Chueplusplus::UPnPClass that looks for UPnP devices using an m-search package
 Chueplusplus::VersionAPI version consisting of major, minor and patch version
 Chueplusplus::time::WeekdaysAny number of days of the week
 Chueplusplus::WhitelistedUserUser that is whitelisted for Hue API usage
 Chueplusplus::XYColor in CIE x and y coordinates
 Chueplusplus::XYBrightnessColor and brightness in CIE
 CBaseResourceList
 Chueplusplus::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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Documentation for the hueplusplus library
+
+
+ +

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.

// For windows use std::make_shared<hueplusplus::WinHttpHandler>();
auto handler = std::make_shared<hueplusplus::LinHttpHandler>();
hueplusplus::BridgeFinder finder(handler);
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.

hueplusplus::Bridge bridge = finder.getBridge(bridges[0]);

If you on the other hand already have a username you can add your bridge like so

finder.addUsername(bridges[0].mac, "<username>");
hueplusplus::Bridge bridge = finder.getBridge(bridges[0]);

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

// For windows use std::make_shared<hueplusplus::WinHttpHandler>();
auto handler = std::make_shared<hueplusplus::LinHttpHandler>();
hueplusplus::Bridge bridge("192.168.2.102", 80, "<username>", handler);

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.

hueplusplus::Light light1 = bridge.lights().get(1);

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.

light1.on();
light1.setBrightness(120);
light1.alertHueSaturation({25500, 254});
light1.setColorLoop(true);
light1.setColorRGB({255, 128, 0});
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.

make
make -j4

If you want to install the library use

make install

To remove it

make uninstall

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

make coveragetest
+
+ + + + 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 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Class Hierarchy
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + + + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + +
+ + + +
+ + + + + +
+ + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + +
+ + + +
+ + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + + + +
+ + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+
+ + + + 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(;bv
a";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="
t
";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;bT0){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>");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>");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=$(' + + +
+
+
lineno
+
+
+

} 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 +
    +
    + + + + + + + + + +
    +
    + + +
    + +
    + + +
    + +
    +
    hueplusplus Namespace Reference
    +
    +
    + +

    Namespace for the hueplusplus library. +More...

    + + + + + + + + + + + + + + +

    +Namespaces

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

    +Classes

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

    +Enumerations

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

    +Functions

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

    +Variables

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

    Detailed Description

    +

    Namespace for the hueplusplus library.

    +

    Enumeration Type Documentation

    + +

    ◆ Alert

    + +
    +
    + + + + + +
    + + + + +
    enum hueplusplus::Alert
    +
    +strong
    +
    + +

    Specifies light alert modes.

    + + + + +
    Enumerator
    none 

    No alert.

    +
    select 

    Select alert (breathe cycle)

    +
    lselect 

    Long select alert (15s breathe)

    +
    + +
    +
    + +

    ◆ ColorType

    + +
    +
    + + + + + +
    + + + + +
    enum hueplusplus::ColorType
    +
    +strong
    +
    + +

    enum that specifies the color type of all HueLights

    + + + + + + + + + + + + +
    Enumerator
    UNDEFINED 

    ColorType for this light is unknown or undefined.

    +
    NONE 

    light has no specific ColorType

    +
    GAMUT_A 

    light uses Gamut A

    +
    GAMUT_B 

    light uses Gamut B

    +
    GAMUT_C 

    light uses Gamut C

    +
    TEMPERATURE 

    light has color temperature control

    +
    GAMUT_A_TEMPERATURE 

    light uses Gamut A and has color temperature control

    +
    GAMUT_B_TEMPERATURE 

    light uses Gamut B and has color temperature control

    +
    GAMUT_C_TEMPERATURE 

    light uses Gamut C and has color temperature control

    +
    GAMUT_OTHER 

    light uses capabilities to specify a different gamut

    +
    GAMUT_OTHER_TEMPERATURE 

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

    +
    + +
    +
    +

    Function Documentation

    + +

    ◆ alertFromString()

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

    Convert string to Alert enum.

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

    ◆ alertToString()

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

    Convert alert to string form.

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

    ◆ getPictureOfModel()

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

    Get the picture name of a given model id.

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

    ◆ hexToBytes()

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

    ◆ kelvinToMired()

    + +
    +
    + + + + + + + + +
    unsigned int hueplusplus::kelvinToMired (unsigned int kelvin)
    +
    + +

    Const function that converts Kelvin to Mired.

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

    ◆ miredToKelvin()

    + +
    +
    + + + + + + + + +
    unsigned int hueplusplus::miredToKelvin (unsigned int mired)
    +
    + +

    Const function that converts Mired to Kelvin.

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

    Variable Documentation

    + +

    ◆ c_refreshNever

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

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

    + +
    +
    + +

    ◆ HUE_ENTERTAINMENT_HEADER_SIZE

    + +
    +
    + + + + +
    constexpr uint8_t hueplusplus::HUE_ENTERTAINMENT_HEADER_SIZE = 16
    +
    + +
    +
    + +

    ◆ HUE_ENTERTAINMENT_LIGHT_SIZE

    + +
    +
    + + + + +
    constexpr uint8_t hueplusplus::HUE_ENTERTAINMENT_LIGHT_SIZE = 9
    +
    + +
    +
    +
    + + + + 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hueplusplus::gamut Namespace Reference
    +
    +
    + +

    Predefined ColorGamuts for Hue API. +More...

    + + + + + + + + + + + + + + +

    +Variables

    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...
     
    +

    Detailed Description

    +

    Predefined ColorGamuts for Hue API.

    +

    Variable Documentation

    + +

    ◆ 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hueplusplus::sensors Namespace Reference
    +
    +
    + +

    Classes for specific sensor types. +More...

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Classes

    class  BaseCLIP
     Common methods for CLIP sensors. More...
     
    class  CLIPGenericFlag
     CLIP sensor for a generic 3rd party sensor. More...
     
    class  CLIPGenericStatus
     CLIP sensor for a generic 3rd party status. More...
     
    class  CLIPHumidity
     CLIP sensor for humidity. More...
     
    class  CLIPLightLevel
     CLIP sensor for light level. More...
     
    class  CLIPOpenClose
     CLIP sensor detecting whether a contact is open or closed. More...
     
    class  CLIPPresence
     CLIP sensor to detect presence. More...
     
    class  CLIPSwitch
     CLIP sensor for button presses. More...
     
    class  CLIPTemperature
     CLIP sensor for temperature. More...
     
    class  DaylightSensor
     Daylight sensor to detect sunrise and sunset. More...
     
    class  ZGPSwitch
     ZigBee Green Power sensor for button presses. More...
     
    class  ZLLLightLevel
     ZigBee sensor detecting ambient light level. More...
     
    class  ZLLPresence
     Sensor detecting presence in the vicinity. More...
     
    class  ZLLSwitch
     ZigBee sensor reporting button presses. More...
     
    class  ZLLTemperature
     ZigBee temperature sensor. More...
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Functions

    detail::ConditionHelper< bool > makeCondition (const CLIPOpenClose &sensor)
     
    detail::ConditionHelper< int > makeCondition (const CLIPHumidity &sensor)
     
    detail::ConditionHelper< bool > makeCondition (const CLIPGenericFlag &sensor)
     
    detail::ConditionHelper< int > makeCondition (const CLIPGenericStatus &sensor)
     
    detail::ConditionHelper< bool > makeCondition (const DaylightSensor &sensor)
     
    template<typename SensorT , detail::void_t< decltype(std::declval< const SensorT >().getLastUpdated())> * = nullptr>
    detail::ConditionHelper< time::AbsoluteTimemakeConditionLastUpdate (const SensorT &sensor)
     
    template<typename ButtonSensor , detail::void_t< decltype(std::declval< const ButtonSensor >().getButtonEvent())> * = nullptr>
    detail::ConditionHelper< int > makeCondition (const ButtonSensor &sensor)
     
    template<typename PresenceSensor , detail::void_t< decltype(std::declval< const PresenceSensor >().getPresence())> * = nullptr>
    detail::ConditionHelper< bool > makeCondition (const PresenceSensor &sensor)
     
    template<typename TemperatureSensor , detail::void_t< decltype(std::declval< const TemperatureSensor >().getPresence())> * = nullptr>
    detail::ConditionHelper< int > makeCondition (const TemperatureSensor &sensor)
     
    detail::ConditionHelper< bool > makeConditionDark (const ZLLLightLevel &sensor)
     
    detail::ConditionHelper< bool > makeConditionDaylight (const ZLLLightLevel &sensor)
     
    detail::ConditionHelper< int > makeConditionLightLevel (const ZLLLightLevel &sensor)
     
    +

    Detailed Description

    +

    Classes for specific sensor types.

    +

    Classes should have a typeStr member with the type name.

    +

    Function Documentation

    + +

    ◆ makeCondition() [1/8]

    + +
    +
    + + + + + + + + +
    detail::ConditionHelper< bool > hueplusplus::sensors::makeCondition (const CLIPOpenClosesensor)
    +
    + +
    +
    + +

    ◆ makeCondition() [2/8]

    + +
    +
    + + + + + + + + +
    detail::ConditionHelper< int > hueplusplus::sensors::makeCondition (const CLIPHumiditysensor)
    +
    + +
    +
    + +

    ◆ makeCondition() [3/8]

    + +
    +
    + + + + + + + + +
    detail::ConditionHelper< bool > hueplusplus::sensors::makeCondition (const CLIPGenericFlagsensor)
    +
    + +
    +
    + +

    ◆ makeCondition() [4/8]

    + +
    +
    + + + + + + + + +
    detail::ConditionHelper< int > hueplusplus::sensors::makeCondition (const CLIPGenericStatussensor)
    +
    + +
    +
    + +

    ◆ makeCondition() [5/8]

    + +
    +
    + + + + + + + + +
    detail::ConditionHelper< bool > hueplusplus::sensors::makeCondition (const DaylightSensorsensor)
    +
    + +
    +
    + +

    ◆ 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 ZLLLightLevelsensor)
    +
    + +
    +
    + +

    ◆ makeConditionDaylight()

    + +
    +
    + + + + + + + + +
    detail::ConditionHelper< bool > hueplusplus::sensors::makeConditionDaylight (const ZLLLightLevelsensor)
    +
    + +
    +
    + +

    ◆ 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 ZLLLightLevelsensor)
    +
    + +
    +
    +
    + + + + 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hueplusplus::time Namespace Reference
    +
    +
    + +

    Namespace for time/date related classes and functions. +More...

    + + + + + + + + + + + + + + + + + + + + + + +

    +Classes

    class  AbsoluteTime
     One-time, absolute time point. More...
     
    class  AbsoluteVariedTime
     
    class  RecurringTime
     Time repeated weekly to daily, with possible random variation. More...
     
    class  TimeInterval
     Time interval repeated daily to weekly. More...
     
    class  TimePattern
     Holds different time representations. More...
     
    class  Timer
     Timer that is started and triggers after specified delay. More...
     
    class  Weekdays
     Any number of days of the week. More...
     
    + + + + + + + + + + + + + + + + +

    +Functions

    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 &timestamp)
     Converts a timestamp to a time_point. More...
     
    std::chrono::system_clock::time_point parseUTCTimestamp (const std::string &timestamp)
     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...
     
    +

    Detailed Description

    +

    Namespace for time/date related classes and functions.

    +

    Function Documentation

    + +

    ◆ 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
    + + +
    durationDuration or time of day to format. Must be less than 24 hours
    +
    +
    +
    Returns
    Duration string in the format hh:mm:ss
    +
    Exceptions
    + + +
    HueExceptionwhen duration longer than 24 hours.
    +
    +
    + +
    +
    + +

    ◆ parseDuration()

    + +
    +
    + + + + + + + + +
    system_clock::duration hueplusplus::time::parseDuration (const std::string & hourMinSec)
    +
    + +

    Converts time string to a duration.

    +
    Parameters
    + + +
    hourMinSecTime/duration in the format hh:mm:ss
    +
    +
    +
    Returns
    Duration (hours, minutes and seconds) from the string
    +
    Exceptions
    + + +
    std::invalid_argumentwhen integer conversion fails
    +
    +
    + +
    +
    + +

    ◆ parseTimestamp()

    + +
    +
    + + + + + + + + +
    system_clock::time_point hueplusplus::time::parseTimestamp (const std::string & timestamp)
    +
    + +

    Converts a timestamp to a time_point.

    +
    Parameters
    + + +
    timestampTimestamp from the local time zone in the format YYYY-MM-DDThh:mm:ss
    +
    +
    +
    Returns
    time_point of the local system clock
    +
    Exceptions
    + + + +
    std::invalid_argumentwhen integer conversion fails
    HueExceptionwhen 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
    + + +
    timestampUTC Timestamp the format YYYY-MM-DDThh:mm:ss
    +
    +
    +
    Returns
    time_point of the local system clock
    +
    Exceptions
    + + + +
    std::invalid_argumentwhen integer conversion fails
    HueExceptionwhen 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
    + + +
    timeTime to convert
    +
    +
    +
    Returns
    Date and time in the format YYYY-MM-DDThh:mm:ss.
    +

    Returns the time in the local time zone.

    Exceptions
    + + +
    HueExceptionwhen time could not be converted
    +
    +
    + +
    +
    +
    + + + + 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hueplusplus::utils Namespace Reference
    +
    +
    + +

    Utility functions used in multiple places. +More...

    + + + + + + + + + + + + + + +

    +Functions

    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...
     
    +

    Detailed Description

    +

    Utility functions used in multiple places.

    +

    Function Documentation

    + +

    ◆ 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
    + + + +
    jsonThe base json value
    pathsAny 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
    + + + + +
    pathThe path the PUT request was made to
    requestThe request that was sent initially
    replyThe 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 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Namespace List
    +
    +
    +
    Here is a list of all namespaces with brief descriptions:
    +
    [detail level 12]
    + + + + + +
     NhueplusplusNamespace for the hueplusplus library
     NgamutPredefined ColorGamuts for Hue API
     NsensorsClasses for specific sensor types
     NtimeNamespace for time/date related classes and functions
     NutilsUtility 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 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Related Pages
    +
    +
    +
    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 &currentState)']]], + ['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 &currentState)']]], + ['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 &currentState)']]], + ['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 &currentState)']]], + ['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 &currentState)'],['../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 &currentState)']]], + ['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 &currentState)']]], + ['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 &currentState)']]], + ['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 &currentState)']]], + ['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 &currentState)']]], + ['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 &currentState)']]], + ['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 &currentState)']]], + ['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 &currentState)']]], + ['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 &currentState)']]], + ['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 @@ + + + + + + + +
    +
    No Matches
    +
    + + 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    +
    +
    Sensors
    +
    +
    + +

    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.

    hueplusplus::Sensor genericSensor = bridge.sensors().get(1);
    if (genericSensor.hasOn())
    {
    // Now can check whether it is on
    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.

    hueplusplus::Sensor genericSensor = bridge.sensors().get(1);
    {
    // ...
    }

    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.

    // ZLLSwitch conditions operate on `buttonEvent`, use makeConditionLastUpdate()
    // to trigger on the last update time.
    // Some examples:
    hueplusplus::Condition buttonChanged = makeCondition(switchSensor).dx();
    hueplusplus::time::TimeInterval interval(std::chrono::hours(12), std::chrono::hours(13));
    hueplusplus::Condition updatedAtNoon = makeConditionLastUpdate(switchSensor).in(interval);

    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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    +
    +
    Shared state cache
    +
    +
    + +

    There are two ways in which the API state (internally JSON) can be handled:

      +
    1. Every resource instance holds its own cache of the state (default).
    2. +
    3. All instances share the cache of the entire bridge.
    4. +
    +
      +
    • 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 = finder.getBridge(bridges[0], true);
    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.

    +
    bridge.setRefreshDuration(std::chrono::minutes(1));
    bridge.lights().setRefreshDuration(std::chrono::seconds(30));
    hueplusplus::Light light = bridge.lights().get(1);
    // ... wait some time
    bool on = light.isOn();

    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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    hueplusplus::BridgeFinder::BridgeIdentification Member List
    +
    + + + + + 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hueplusplus::BridgeFinder::BridgeIdentification Struct Reference
    +
    +
    + +

    #include <hueplusplus/Bridge.h>

    + + + + + + + + +

    +Public Attributes

    std::string ip
     
    int port = 80
     
    std::string mac
     
    +

    Member Data Documentation

    + +

    ◆ 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    hueplusplus::ColorGamut Member List
    +
    +
    + +

    This is the complete list of members for hueplusplus::ColorGamut, including all inherited members.

    + + + + + + +
    blueCornerhueplusplus::ColorGamut
    contains(const XY &xy) consthueplusplus::ColorGamut
    corrected(const XY &xy) consthueplusplus::ColorGamut
    greenCornerhueplusplus::ColorGamut
    redCornerhueplusplus::ColorGamut
    + + + + 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hueplusplus::ColorGamut Struct Reference
    +
    +
    + +

    Triangle of representable colors in CIE. + More...

    + +

    #include <hueplusplus/ColorUnits.h>

    +
    + + Collaboration diagram for hueplusplus::ColorGamut:
    +
    +
    + + + + + + + + + +

    +Public Member Functions

    bool contains (const XY &xy) const
     Check whether xy is representable. More...
     
    XY corrected (const XY &xy) const
     Correct xy to closest representable color. More...
     
    + + + + + + + + + + +

    +Public Attributes

    XY redCorner
     Red corner in the color triangle. More...
     
    XY greenCorner
     Green corner in the color triangle. More...
     
    XY blueCorner
     Blue corner in the color triangle. More...
     
    +

    Detailed Description

    +

    Triangle of representable colors in CIE.

    +
    Note
    Red, green and blue corner are oriented counter clockwise.
    +
    See also
    https://en.wikipedia.org/wiki/Chromaticity
    +

    Member Function Documentation

    + +

    ◆ contains()

    + +
    +
    + + + + + + + + +
    bool hueplusplus::ColorGamut::contains (const XYxy) const
    +
    + +

    Check whether xy is representable.

    + +
    +
    + +

    ◆ corrected()

    + +
    +
    + + + + + + + + +
    XY hueplusplus::ColorGamut::corrected (const XYxy) const
    +
    + +

    Correct xy to closest representable color.

    +
    Returns
    xy if it is in the triangle, otherwise the closest point on the border.
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    hueplusplus::FileInfo Member List
    +
    +
    + +

    This is the complete list of members for hueplusplus::FileInfo, including all inherited members.

    + + + + + +
    filenamehueplusplus::FileInfo
    funchueplusplus::FileInfo
    linehueplusplus::FileInfo
    ToString() consthueplusplus::FileInfo
    + + + + 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hueplusplus::FileInfo Struct Reference
    +
    +
    + +

    Contains information about error location, use CURRENT_FILE_INFO to create. + More...

    + +

    #include <hueplusplus/HueException.h>

    + + + + + +

    +Public Member Functions

    std::string ToString () const
     String representation of func, file and line. More...
     
    + + + + + + + + + + +

    +Public Attributes

    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...
     
    +

    Detailed Description

    +

    Contains information about error location, use CURRENT_FILE_INFO to create.

    +

    Member Function Documentation

    + +

    ◆ ToString()

    + +
    +
    + + + + + + + +
    std::string hueplusplus::FileInfo::ToString () const
    +
    + +

    String representation of func, file and line.

    +
    Returns
    "<func> in <filename>:<line>" or "Unknown file" if unknown.
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    hueplusplus::HueSaturation Member List
    +
    +
    + +

    This is the complete list of members for hueplusplus::HueSaturation, including all inherited members.

    + + + + + +
    huehueplusplus::HueSaturation
    operator!=(const HueSaturation &other) consthueplusplus::HueSaturationinline
    operator==(const HueSaturation &other) consthueplusplus::HueSaturationinline
    saturationhueplusplus::HueSaturation
    + + + + 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hueplusplus::HueSaturation Struct Reference
    +
    +
    + +

    Color in hue and saturation. + More...

    + +

    #include <hueplusplus/ColorUnits.h>

    + + + + + + +

    +Public Member Functions

    bool operator== (const HueSaturation &other) const
     
    bool operator!= (const HueSaturation &other) const
     
    + + + + + + + +

    +Public Attributes

    int hue
     Color hue. More...
     
    int saturation
     Color saturation. More...
     
    +

    Detailed Description

    +

    Color in hue and saturation.

    +

    Member Function Documentation

    + +

    ◆ operator!=()

    + +
    +
    + + + + + +
    + + + + + + + + +
    bool hueplusplus::HueSaturation::operator!= (const HueSaturationother) const
    +
    +inline
    +
    + +
    +
    + +

    ◆ operator==()

    + +
    +
    + + + + + +
    + + + + + + + + +
    bool hueplusplus::HueSaturation::operator== (const HueSaturationother) const
    +
    +inline
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    hueplusplus::RGB Member List
    +
    +
    + +

    This is the complete list of members for hueplusplus::RGB, including all inherited members.

    + + + + + + + + + + + +
    bhueplusplus::RGB
    fromXY(const XYBrightness &xy)hueplusplus::RGBstatic
    fromXY(const XYBrightness &xy, const ColorGamut &gamut)hueplusplus::RGBstatic
    ghueplusplus::RGB
    operator!=(const RGB &other) consthueplusplus::RGBinline
    operator==(const RGB &other) consthueplusplus::RGBinline
    rhueplusplus::RGB
    toHueSaturation() consthueplusplus::RGB
    toXY() consthueplusplus::RGB
    toXY(const ColorGamut &gamut) consthueplusplus::RGB
    + + + + 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>

    + + + + + + + + + + + + + + + +

    +Public Member Functions

    bool operator== (const RGB &other) const
     
    bool operator!= (const RGB &other) const
     
    XYBrightness toXY () const
     Convert to XYBrightness without clamping. More...
     
    XYBrightness toXY (const ColorGamut &gamut) const
     Convert to XYBrightness and clip to gamut. More...
     
    HueSaturation toHueSaturation () const
     Convert to HueSaturation. More...
     
    + + + + + + + +

    +Static Public Member Functions

    static RGB fromXY (const XYBrightness &xy)
     Create from XYBrightness. More...
     
    static RGB fromXY (const XYBrightness &xy, const ColorGamut &gamut)
     Create from XYBrightness and clip to gamut. More...
     
    + + + + + + + + + + +

    +Public Attributes

    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...
     
    +

    Detailed Description

    +

    Color in RGB.

    +

    Member Function Documentation

    + +

    ◆ fromXY() [1/2]

    + +
    +
    + + + + + +
    + + + + + + + + +
    RGB hueplusplus::RGB::fromXY (const XYBrightnessxy)
    +
    +static
    +
    + +

    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]

    + +
    +
    + + + + + +
    + + + + + + + + + + + + + + + + + + +
    RGB hueplusplus::RGB::fromXY (const XYBrightnessxy,
    const ColorGamutgamut 
    )
    +
    +static
    +
    + +

    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 RGBother) const
    +
    +inline
    +
    + +
    +
    + +

    ◆ operator==()

    + +
    +
    + + + + + +
    + + + + + + + + +
    bool hueplusplus::RGB::operator== (const RGBother) 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]

    + +
    +
    + + + + + + + +
    XYBrightness hueplusplus::RGB::toXY () const
    +
    + +

    Convert to XYBrightness without clamping.

    +

    Performs gamma correction so the light color matches the screen color better.

    + +
    +
    + +

    ◆ toXY() [2/2]

    + +
    +
    + + + + + + + + +
    XYBrightness hueplusplus::RGB::toXY (const ColorGamutgamut) const
    +
    + +

    Convert to XYBrightness and clip to gamut.

    +

    Performs gamma correction so the light color matches the screen color better.

    + +
    +
    +

    Member Data Documentation

    + +

    ◆ b

    + +
    +
    + + + + +
    uint8_t hueplusplus::RGB::b
    +
    + +

    Blue amount from 0 to 255.

    + +
    +
    + +

    ◆ g

    + +
    +
    + + + + +
    uint8_t hueplusplus::RGB::g
    +
    + +

    Green amount from 0 to 255.

    + +
    +
    + +

    ◆ r

    + +
    +
    + + + + +
    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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    hueplusplus::TLSContext Member List
    +
    + + + + + 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hueplusplus::TLSContext Struct Reference
    +
    +
    + + + + + + + + + + + + + + + + +

    +Public Attributes

    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
     
    +

    Member Data Documentation

    + +

    ◆ 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    hueplusplus::Version Member List
    +
    +
    + +

    This is the complete list of members for hueplusplus::Version, including all inherited members.

    + + + + +
    majorhueplusplus::Version
    minorhueplusplus::Version
    patchhueplusplus::Version
    + + + + 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hueplusplus::Version Struct Reference
    +
    +
    + +

    API version consisting of major, minor and patch version. + More...

    + +

    #include <hueplusplus/BridgeConfig.h>

    + + + + + + + + +

    +Public Attributes

    int major
     
    int minor
     
    int patch
     
    +

    Detailed Description

    +

    API version consisting of major, minor and patch version.

    +

    Member Data Documentation

    + +

    ◆ 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    hueplusplus::WhitelistedUser Member List
    +
    + + + + + 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hueplusplus::WhitelistedUser Struct Reference
    +
    +
    + +

    User that is whitelisted for Hue API usage. + More...

    + +

    #include <hueplusplus/BridgeConfig.h>

    +
    + + Collaboration diagram for hueplusplus::WhitelistedUser:
    +
    +
    + + + + + + + + + + + + + + + +

    +Public Attributes

    std::string key
     API username of the user. More...
     
    std::string name
     Name provided on user creation. More...
     
    time::AbsoluteTime lastUsed
     Last time the user was used. More...
     
    time::AbsoluteTime created
     Time the user was created. More...
     
    +

    Detailed Description

    +

    User that is whitelisted for Hue API usage.

    +

    Member Data Documentation

    + +

    ◆ created

    + +
    +
    + + + + +
    time::AbsoluteTime hueplusplus::WhitelistedUser::created
    +
    + +

    Time the user was created.

    + +
    +
    + +

    ◆ key

    + +
    +
    + + + + +
    std::string hueplusplus::WhitelistedUser::key
    +
    + +

    API username of the user.

    + +
    +
    + +

    ◆ lastUsed

    + +
    +
    + + + + +
    time::AbsoluteTime hueplusplus::WhitelistedUser::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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    hueplusplus::XY Member List
    +
    +
    + +

    This is the complete list of members for hueplusplus::XY, including all inherited members.

    + + + + + +
    operator!=(const XY &other) consthueplusplus::XYinline
    operator==(const XY &other) consthueplusplus::XYinline
    xhueplusplus::XY
    yhueplusplus::XY
    + + + + 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hueplusplus::XY Struct Reference
    +
    +
    + +

    Color in CIE x and y coordinates. + More...

    + +

    #include <hueplusplus/ColorUnits.h>

    + + + + + + +

    +Public Member Functions

    bool operator== (const XY &other) const
     
    bool operator!= (const XY &other) const
     
    + + + + + + + +

    +Public Attributes

    float x
     x coordinate in CIE, 0 to 1 More...
     
    float y
     y coordinate in CIE, 0 to 1 More...
     
    +

    Detailed Description

    +

    Color in CIE x and y coordinates.

    +

    Member Function Documentation

    + +

    ◆ operator!=()

    + +
    +
    + + + + + +
    + + + + + + + + +
    bool hueplusplus::XY::operator!= (const XYother) const
    +
    +inline
    +
    + +
    +
    + +

    ◆ operator==()

    + +
    +
    + + + + + +
    + + + + + + + + +
    bool hueplusplus::XY::operator== (const XYother) const
    +
    +inline
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ x

    + +
    +
    + + + + +
    float hueplusplus::XY::x
    +
    + +

    x coordinate in CIE, 0 to 1

    + +
    +
    + +

    ◆ y

    + +
    +
    + + + + +
    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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    +
    +
    hueplusplus::XYBrightness Member List
    +
    +
    + +

    This is the complete list of members for hueplusplus::XYBrightness, including all inherited members.

    + + + + + +
    brightnesshueplusplus::XYBrightness
    operator!=(const XYBrightness &other) consthueplusplus::XYBrightnessinline
    operator==(const XYBrightness &other) consthueplusplus::XYBrightnessinline
    xyhueplusplus::XYBrightness
    + + + + 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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + + +
    +
    + +
    +
    hueplusplus::XYBrightness Struct Reference
    +
    +
    + +

    Color and brightness in CIE. + More...

    + +

    #include <hueplusplus/ColorUnits.h>

    +
    + + Collaboration diagram for hueplusplus::XYBrightness:
    +
    +
    + + + + + + + +

    +Public Member Functions

    bool operator== (const XYBrightness &other) const
     
    bool operator!= (const XYBrightness &other) const
     
    + + + + + + + +

    +Public Attributes

    XY xy
     XY color. More...
     
    float brightness
     Brightness from 0 to 1. More...
     
    +

    Detailed Description

    +

    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.
    +

    Member Function Documentation

    + +

    ◆ operator!=()

    + +
    +
    + + + + + +
    + + + + + + + + +
    bool hueplusplus::XYBrightness::operator!= (const XYBrightnessother) const
    +
    +inline
    +
    + +
    +
    + +

    ◆ operator==()

    + +
    +
    + + + + + +
    + + + + + + + + +
    bool hueplusplus::XYBrightness::operator== (const XYBrightnessother) const
    +
    +inline
    +
    + +
    +
    +

    Member Data Documentation

    + +

    ◆ brightness

    + +
    +
    + + + + +
    float hueplusplus::XYBrightness::brightness
    +
    + +

    Brightness from 0 to 1.

    + +
    +
    + +

    ◆ xy

    + +
    +
    + + + + +
    XY hueplusplus::XYBrightness::xy
    +
    + +

    XY color.

    + +
    +
    +
    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 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    +
    +
    Transactions
    +
    +
    + +

    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.

    if (shouldTurnOn)
    t.setOn(true);
    t.commit();

    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.

    group.transaction().setOn(true).setBrightness(64).commit();

    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);
    + + + +